Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 11 lip 2025, o 20:32


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 6 ] 
Autor Wiadomość
PostNapisane: 31 sty 2015, o 17:20 
Offline
Użytkownik

Dołączył(a): 27 sty 2014
Posty: 73
Pomógł: 0

Witam,

Mam zaprojektowany pilot opart na RFM12B i Atmega8A jak dotychczas był zasilany z zasilacza teraz chciałbym przejść do zasilania bateryjnego czy może ktoś zna jakieś strony opisujący tryby uśpienia jak się za to zabrać. Chciałbym uzyskać efekt taki, że jak pilot nie jest używany to procesor i RFM12B ma wejść w tryb uśpienia a jak wcisnę przycisk to ma się wzbudzić i wykonać polecenie. Czy jest to możliwe?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 31 sty 2015, o 22:12 
Offline
Uzytkownik zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 16 lip 2012
Posty: 2088
Lokalizacja: Leżajsk / Kraków
Pomógł: 411

Wszystko jest w specyfikacji procesora i na stronie avr-libc
Podrzucam kod:
Składnia: [ Pobierz ] [ Ukryj ] [ Zaznacz wszystko ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Generalnie ATMEGA8A jest dosyć uboga pod względem wybudzania z trybu power down. Tylko przerwanie zewnętrzne (INT0 lub INT1) i tylko niskim poziomem jest w stanie obudzić procesor (jest jeszcze przerwanie od modułu TWI, ale tu się nie nada).

Pokaż swój schemat jak już masz, a jak nie masz to zwróć uwagę na dołączenie klawiatury tak, aby wykorzystać INT0 i/lub INT1 oraz rozłączać zasilanie modułu. Dużo zależy od tego ile masz klawiszy. Korzystanie z innych trybów oszczędzania energii jest oczywiście możliwe, ale power down jest najoszczędniejszy. Pobór prądu dla Atmegi8A wynosi 0,5 uA (nowsza Atmega88PA 0,1 uA)

_________________
Dragonus Cracovus: Biomagia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 lut 2015, o 19:03 
Offline
Użytkownik

Dołączył(a): 27 sty 2014
Posty: 73
Pomógł: 0

Witam

Powracam do tematu zmieniłem na Atmega88 i zastosowałem kod Krausera ale nadal mam problem widać że mikrokontroler wchodzi w stan Power Down ale nie mogę go wybudzić switch mam podłączony do INT1 po jego wciśnięciu cały czas się zachowuje jak by był w trybie Power Down poniżej kod:
Składnia: [ Pobierz ] [ Ukryj ] [ Zaznacz wszystko ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Gdzie robię błąd?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 lut 2015, o 22:48 
Offline
Uzytkownik zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 16 lip 2012
Posty: 2088
Lokalizacja: Leżajsk / Kraków
Pomógł: 411

Podciągnij wejście z funkcją INT1 do plusa.

_________________
Dragonus Cracovus: Biomagia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lut 2015, o 19:27 
Offline
Użytkownik

Dołączył(a): 27 sty 2014
Posty: 73
Pomógł: 0

Hej,
dzięki Krauser za podpowiedź :), wcześniej trochę nie ten kod wysłałem gdyż jeszcze z ustawieniami na Atmega8a (nie to skopiowałem co trzeba) poniżej wklejam kod na którym aktualnie próbuję zrozumieć jak prawidłowo ustawić tryb Power Down:
Składnia: [ Pobierz ] [ Ukryj ] [ Zaznacz wszystko ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Nie wiem czy dobrym tropem idę ale próbuje sprawdzić na początku to tak że po uruchomieniu układu dioda normalnie miga 1000 ms, gdy wcisnę micro switch KEY_PIN_CLOSE to mikrokontroler powinien wchodzić w tryb Power Down (dioda przestaje migać), natomiast po podłączeniu PD3 (INT1) do masy przewodem na stykówce powinien się wybudzić i dioda ponownie powinna migać. I tak to działa mi jak załączę układ do zasilania i za pierwszym razem wcisnę KEY_PIN_CLOSE. Niestety ponowne wciśnięcie micro switch-a KEY_PIN_CLOSE nie daje żadnej reakcji i dioda nadal miga zamiast wejście układu w tryb Power Down. Nadal się uczę i szukam rozwiązania, czy może widzi ktoś gdzie robię błąd?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lut 2015, o 20:50 
Offline
Uzytkownik zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 16 lip 2012
Posty: 2088
Lokalizacja: Leżajsk / Kraków
Pomógł: 411

Dariusz Brzózka napisał(a):
Niestety ponowne wciśnięcie micro switch-a KEY_PIN_CLOSE nie daje żadnej reakcji i dioda nadal miga zamiast wejście układu w tryb Power Down.

Zgodnie z programem musisz poczekać około 500 sekund, aby zmienna key_lock2 zwiększyła się do 255 i przekręciła na 0. Dopiero wtedy warunek !key_lock2 będzie spełniony.
Możesz zastąpić _delay_ms sprawdzaniem licznika timera programowego albo zamiast key_lock2++ zerować tą zmienną.

_________________
Dragonus Cracovus: Biomagia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 6 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 7 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO