Witaj. Na początek uporządkuj sprawy dot. trybu usypiania, ponieważ wykonujesz niepotrzebnie w pętli głównej część czynności w tym zakresie. Poza tym skoro już używasz nagłówka sleep.h, to używaj go w pełni, a nie osobno ustawiasz np. [syntax=c]MCUCR |=(1<<SE)|(1<<SM1);[/syntax] Zobacz przykład funkcji main tutaj: [syntax=c]int main(void)...
Witam! Usypiam procesor Atmega8 poleceniem POWERDOWN w BascomAVR. Jak go obudzić przerwaniem zew. INT0 lub INT1? Nie wychodzi mi to. Pozdrawiam.
Co to jest L i jakiego jest typu bo w kodzie nie jest to zdefiniowane. Na mojej skromnej stronie 100% i sprawdzony wielokrotnie kod do usypiania procesora i wybudzania jednym przyciskiem. [url=http://bart-projects.cba.pl/rozne.h...
Weź pod uwagę, że w trakcie wchodzenia w usypianie wykonywana jest jeszcze kolejna instrukcja, w twoim przypadku cli(). Jak się domyślasz cli w połączeniu z sleep tworzy śmiertelną pułapkę z której procesor może wybudzić tylko reset. Swoją drogą, piszesz o oszczędności energii, a używasz staruszka procesora, który bierze energii kilka razy więcej niż...
Może lepszym rozwiązaniem byłoby normalne zasilenie układu i usypianie go za pomocą timera. INT0 podciągnięte rezystorem do VCC a wybudzanie zboczem opadającym branym przez diody z przycisków. Czyli np. komenda Powerdown i wybudzenie sygnałem na wejściu INT0 ?
Ale po co ci ta informacja? W moim projekcie zależy mi na oszczędzaniu energii gdzie się tylko da, dlatego też piszę własną obsługę TWI (100kHz) na przerwaniach (patrz inny mój temat). W trakcie komunikacji po TWI właśnie Atmega będzie usypiana w IDLE mode ponieważ POWER DOWN lub SAVE będzie zbyt długo wstawał. To chyba dobre rozwiązanie?
Poradzilem sobie z tym stanem wysokim zerując TCCR1A. Zaczne od tego, że programje pilot 6 przyciskowy z usypianiem, wybudzaniem i przełączaniem miedzy podprogramami - zapalniem Led-ów. Ma 4 przyciski do wysyłania kodów i 2 do przełączania podprogramów. Do tych czterech przycisków podpięte są diody które podają też niski stan na INT0. Wyjscie OC1a podpięte...
Mam projekt transmisji radiowej i jeden ze scenariuszy dotyczy wysłania bajtu informacji po czym usypia procesor i po jakimś czasie (np 1 minucie) budzi się i ponownie wysyła bajt danych. Korzystam z modułów RFM12 oraz RFM01 i RFM02. Procesor to atmega8 a fabryczny kwarc (zamontowany na płytkach) to 7,3728MHz(dla RFM12) oraz 11.0592MHz dla RFM 01 i...
3 paluszki + LDO to nawet mi odpowiada. Używam atmega8A z tego co wiadomo nie należy ona do najoszczędniejszych. Będę usypiał mikro-kontroler i wybudzał przerwaniem zewnętrznym (przyciskiem) praca tego pilota to około 10 min na tydzień. tmf może poleciłbyś jakąś bardziej oszczędną atmegę ? Na razie miałem do czynienia tylko z 8A.
Witam po chwilowej przerwie. Korzystam z usypiania, bo przy wylaczonej stacyjce tez sie cos dzieje :) Mam jeszcze pytanie do Dr_DEAD.... Czy jezeli wykorzystuje intX do wybudzania procka, to czy moge uzywac tego wejscia normalnie w kodzie? Bo chcialbym jeszcze w kodzie sprawdzac czy stacyjkla jest wlaczona, i jezeli jest to ma cos robic, a jezeli to...
Tak byłoby najlepiej ale układ już polutowany i muszę się ograniczyc do czasowego usypiania na sztywno np. tak: czeka 10s na dane przychodzace z IR jesli nic nie ma to idzie spac na 20s i tak w kółko. Jak zrealizować takie odmierzanie czasu skoro kiedy jest w trybie power-down timery nie działają?
Jak dla mnie to przede wszystkim zamiast deley() wykorzystać jakiś zew. zegar RTC usypiać procka i wybudzać przerwaniem z RTC Nie trzeba używać zewnętrznego RTC - wystarczy podłączyć kwarc i użyć przerwania z wewnętrznego timera. Nie wiem, jak w przypadku Arduino, ale zastosowany w nim mikrokontroler to chyba ATmega8, więc jest taka możliwość (o ile...
Ale WD nie służy do usypiania i wybudzania procesora! To, że w nowszych AVR dodano mu różne dziwne funkcjonalności to nie znaczy, że inaczej się nie da. Wybudzić procesor może np. przerwanie timera po dowolnym czasie - warunek, że timer w danym trybie uśpienia ciągle działa. Więc i na M8 da się to zrobić. Natomiast pisząc o M8, że to prehistoria nie...
Marek_Skalski To co napisałeś wydaje się sensowne, ale niestety problem występuje nadal gdy nawet wyświetlacza nie ma w obwodzie. Wlaczylem uklad bez wyświetlacza, przerwałem zasilanie, a nastepnie wpiąłem wyświetlacz I ponownie uruchomiłem układ. Wyświetlacz niestety nie pokazał znianę pamięci eeprom. Już brakuje mi pomysłów. Spróbowałem na innym...
Jeżeli oszczędzanie baterii tak niewielkiej jak CR2032 i około 300 obrotów/min, to upierać się będę, że najlepszym rozwiązaniem jest kontaktron na wejściu procesora zwierający do masy. Oczywiście Ty decydujesz. Co do schematu, który przedstawiłeś nie wypowiadam się bo moim skromnym zdaniem jest zbędny. Jeśli chodzi o hallotrony to gdzieś kiedyś widziałem...
Witam Już dłuższy czas męczę się z banalnym jak mi się wydawało zagadnieniem wybudzania procesora z PowerDown. Wybudzanie chciałem zrealizować na wejsciu INT0. Samo wyzwalanie przerwania działa podczas pracy, gorzej w momencie kiedy ustawię PowerDown. Przerwanie juz się nie wykonuje. Poniżej fragment kodu [syntax=basic4gl] $regfile = "m8def.dat" $crystal...
Pozmieniałem i już działa, moje niedopatrzenie. Po co ten komentarz na końcu? Edit: zumek Nie chodzi o to że nie znam sie na żartach, przestałem w pewnym momencie korzystać z elektrody ponieważ zaczeły się robić takie akcje, że jak ktoś miał mniejszą wiedze z tematu to tylko po nim jechali i być może dlatego taka moja reakcja ;) Program działa tak jak...
Witam serdecznie, Doczytałem ostatnio to czego nie doczytałem wcześniej, temat mi się znacznie bardziej rozjaśnił. Potrzebuję aby ktoś lepszy potwierdził co ustaliłem: Do budowy zegara użyję: Timer2 AtMega8 taktowany asynchronicznie z oscylatora wewnętrznego (low freq. osc.) stabilizowanego zewnętrznym kwarcem 32,768kHz podłączanym pod piny TOSC1 i...
Drogi autorze umieszczając swoją konstrukcje powinieneś się liczyć z jej opinią. Masz swoje argumenty czemu Mega8, a nie inaczej, jednakże powinieneś również posłuchać rad innych. Cena ceną, ale układ mniejszy z pewnością by bardziej cieszył. Co do samego projektu, to nie rozumiem jednej rzeczy. Układ jest załączany po stacyjce by nie rozładowywał akumulatora....
Podsumujmy: 1. Pull-up masz włączony prawidłowo, 2. Przerwania globalne oraz przerwania z INT0, także prawidłowo. 3. Proponuję, abyś zdecydował się, czy sam ustawiasz bity rejestrów odpowiedzialnych za usypianie, albo korzystał ze zdefiniowanych makr. Aktualnie w Twoim kodzie ustawiasz dwa razy flagę SE - raz samodzielnie, drugi raz w wykorzystując...
Witam Zastanawiam się nad budową układu służącego do włączania i wyłączania "odbiornika" za pomocą pilota. Transmisja pomiędzy pilotem i sterownikiem musi być zakodowana, tak aby nikt nie skopiował kodu i nie miał dostępu do włączania i wyłączania urządzenia. Odległość transmisji może być np. do 10 metrów. Pilot jak i sterownik zasilany baterią. Wpadłem...
A co do usypiania - to stosuj jak najczęściej, nawet pracując na zasilaniu innym niż bateryjne - to dobry nawyk który ułatwi Ci pisanie kodu, gdy oszczędzanie będzie niezbędne. Generalnie - wykonaj, co masz i idź spać :) W Twoim przypadku zakłócenia elektryczne z licznika mogą przenosić się na procesor - tutaj możesz szukać przyczyny wieszania się...
Jeśli procesor obsługuje multipleksowanie wyświetlania i inne bzdety to nie nie ma czegoś takiego jak "szybciej wykona program" bo i tak musi pozostać w stanie działającym. Gdzie mierzysz te 1,4mA? Już za stabilizatorem czy przed? Daj jakiś schemat bo wróżka Jadwiga bez tego nic więcej nie powie. Zaraz się okaże że włożyłeś gdzieś dzielnik R do pomiaru...
Witam. Dopiero zaczynam naukę z AVR i ogólnie z programowaniem. Korzystam z książki P. Borkowski 'AVR & ARM7 Programowanie uC dla każdego' i zatrzymała mnie pewna sprawa dotycząca uśpienia wywoływanego przyciskiem. Program wygląda mniej więcej tak: -dwie diody migają naprzemiennie -po naciśnięciu przycisku na PD0 ukłąd wchodzi w stan uśpienia -po...
Tak jak kolega wyżej napisał. Po uśpieniu procesor już nic nie robi i nie wykonuje żadnych rozkazów. Są jednak zdarzenia opisane we wspomnianej tabelce (Table 14) które ten procesor mogą wybudzić. W Twoim przypadku po prostu nastąpiło takie zdarzenie - przerwanie od zegara T2, które nastąpiło ułamek sekundy po tym jak procesor uśpiłeś i go wybudziło...
Uczę się programowania ATMegi8 z książki Pawła Borkowskiego: "AVR8 i ARM7. Programowanie mikrokontrolerów dla każdego." . Moje ćwiczenie wygląda następująco: W celu maksymalnego oszczędzania energii w telefonach komórkowych po kilkunastu sekundach bezczynności następuje automatyczne przejście w tryb zmniejszonego poboru energii. Ten fakt zaobserwowaliśmy...
http://obrazki.elektroda.pl/9531378400_1... Witam. Chciałem zaprezentować wykonany przeze mnie sterownik rolet okiennych wewnętrznych. Inspiracją do wykonania projektu było urządzenie zaprezentowane już jakiś czas temu: Założenia Głównym celem mojego projektu było automatyczne zasłonięcie okna po włączeniu światła w pomieszczeniu (po...
Może tak. Funkcja usypiająca: [syntax=c]void usypianie() { EICRA |= (0 << ISC00) | (0 << ISC01); //Przestawienie przerwania Int0 na aktywację stanem niskim (żeby móc wybudzić) sei(); power_all_disable(); //wyłącza zasilanie TWI, Timer0-2, SPI, USART0, ADC cbi(PORTB,2); set_sleep_mode(SLEEP_MODE_PWR_DOWN); sleep_mode(); }[/syntax] Mam nadzieję,...
Sprawdzając stan tego pinu w przerwaniu, niestety z wykorzystaniem timera. Tylko po co skoro Pin Change jest dostępny w każdym trybie uśpienia a timer praktycznie w żadnym. :arrow: seradam, uruchamiasz przerwanie od Pin Change - poprzez wpis do PCICR =&B00000111 usypiasz układ i czekasz na zgłoszenie przerwania od PCIFR.
Nie musze czytać tego dokumentu bo u mnie chodzi o usypianie power save a jezeli w artykule jest opis UARTA to juz mnie nie interesuje w tej sprawie gdyz procesor sa sie wybudzic za pomoca UARTA jedynie przy uspieniu do IDLE .I może to jest kość niezgody? Ja nie podważam dokumentu ATMELA tylko go czytam ze zrozumieniem, i to co wywnioskowałem nie jest...
A nad modułem BLE zamiast tego HC06 kolega myślał ? Przy zasilaniu bateryjnym to kierunek w którym by trzeba iść. Dostępność gotowych modułów bezproblemowa, ceny także normalne. Taki klucz przestanie być fajny, gdy rozładuje się bateria lub trzeba ją będzie wymieniać co 2 tygodnie... Pomyśl jeszcze nad zastosowaniem czujnika wstrząsów ( dostępne choćby...
Mam w swoich kilku programach na ATmegach wprowadzone bloki zatrzymujące (przed pomiarem) i wznawiające (po pomiarze) przerwania. Przerwania to raczej nie mają wpływu na wynik pomiaru. Nie bardziej niż kod wykonywany poza przerwaniem. Więc nie wiem po co to. No chyba, że chodzi Ci o usypianie procka na czas pomiaru z wyłączeniem przerwań by zapobiec...
Witaj. Pytanie: Co wybudza mikrokontroler ze snu? Odpowiedź: Przerwanie. Jeżeli uśpienie mikrokontrolera realizujesz w funkcji przerwania przy wyłączonych globalnych przerwaniach (po wejściu w funkcję przerwania są automatycznie wyłączane), to mikrokontroler się nie zbudzi, bo ma zablokowane przerwania. Musiałbyś w takim przypadku przed uśpieniem włączyć...
Zmień w ogóle koncepcję na prawidłową: - połączone końcówki microswitchy nie do masy tylko do INT0, - po starcie programu porty microswitchy jako wyjścia ze stanem 0 a INT0 jako wejście podciaganiem, potem usypiamy procek i czekamy na przerwanie INT0 wyzwolone stanem niskim - LOW LEVEL, - po wejściu do przerwania port INT0 jako wyjście ze stanem 0 a...
atom1477 no bardzo prawdopodobne bo podłączyłem inną atmege zasilając tylko VCC i na AVCC było właśnie około 4,4V. W układzie z rolet, przy takim samym zasilaniu na AVCC jest 0V. Tylko w jaki sposób to się uszkodziło? Kupiłem nową atmege ze sklepu, wszystko ostrożnie podłączałem. A może dlatego że lutowałem atmege bez podstawki... chociaż wątpię. A...
Inaczej projektuje się zegar dla zasilania z baterii, a zupełnie inaczej dla zasilania z zasilacza. Jeżeli mikrokontroler ma być zasilany z baterii, to projekt musi drastycznie zminimalizować zużycie energii. Aby to zrobić należy zmniejszyć radykalnie napięcie zasilania i zmniejszyć częstotliwość zegara F_CPU. Należy także usypiać mikrokontroler ......
Witam! Chcę wykonać zegar na ATmega8L lub 16L (takie mam u siebie). Raczej będe wybierał ATmege16L bo ma możliwość debuggowania przez jtag (który posiadam). Do atmegi chcę podłączyć DS1337, jako RTC. Będzie miał on podłączony kwarc 32kHz. Atmega będzie prawdopodobnie działać na kwarcu wewnętrznym 1Mhz. Chyba więcej nie będzie potrzeba do transmisji...
Nie tak łatwo jest przejść na ciemną stronę mocy ;) Atmeg8 jest nieśmiertelna, a w razie zasłabnięcia reset zawsze ją ożywi. Bez obaw. Co do uśpienia, to nie mam pojęcia jak to wygląda w bascom'ie (ja znam tylko asm i trochę C), ale na ogół trzeba ustawić odpowiedni bit (zezwolić na uśpienie) i wykonać instrukcję "sleep". Jeżeli wykryjesz stan wysoki...
Winna byłą funkcjia zamieniająca bcd na dec. PCF rozpracowany. Lecz jest i następny problem. Kombinuję już we wszystkie strony i brakuje mi pomysłów. Próbuję wprowadzić atmegę w tryb power-down. Procek się usypia, po wybudzeniu (przerwanie stanem niskim) wykonuje raz pętlę while(1), a następnie łapie zwiechę... [syntax=c] ISR(INT1_vect){ } int main(void)...
http://obrazki.elektroda.pl/9824916400_1... Witam, Korzystając z ostatnich wolnych dni przed studiami chciałbym zaprezentować moją ostatnią konstrukcję. Jest to mały przenośny barometr. Konstrukcja powstała na potrzeby osoby wrażliwej na zmiany ciśnienia oraz spełnia jej wymagania tzn. mały rozmiar( 20x40x9mm) oraz co się z tym wiąże...
http://obrazki.elektroda.pl/7355213900_1... Witam, Przedstawiam kolejną wersję zegarka naściennego. Zegarek wyświetla czas w formacie GG.MM, oraz temperaturę w zakresie -9...99°C. Użyte zostały wyświetlacze 7-segmentowe Led o wysokości znaku 56mm. Takie dość duże żeby było z daleka widać która godzina ;) Wyświetlacze mają regulowaną...
atmega8 wybudzanie usypianie atmega8 usypianie procesora
scart kabel radio japonii pilot sencor
55pus płyta pompa ciepła monoblok panasonic
Mikrofalówka EDEKA Zuhause AG820AWB - Parametry i Obsługa Jak zdemontować gumę z piły Hilti WSR 1200-PE?