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



Teraz jest 7 lut 2025, o 23:14


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 24 ] 
Autor Wiadomość
PostNapisane: 5 lut 2014, o 09:11 
Offline
Użytkownik

Dołączył(a): 17 mar 2013
Posty: 143
Lokalizacja: Bydgoszcz
Pomógł: 2

Witam. Chciałbym zbudować sobie czujnik na bramie garażowej, który przy jej otwarciu będzie budził Atmegę przez INT0. Posiadam kontaktron, który gdy mamy przyłożony magnes to ma zwarty obwód a gdy odsuniemy magnes to obwód jest rozwarty. Problem polega na tym, że umiem wybudzić Atmegę zboczem opadającym czyli po zwarciu do masy. Tu niestety jest sytuacja odwrotna bo zwarcie jest cały czas gdy brama jest zamknięta a przerywa się gdy się otworzy. Czy jakimś prostym sposobem można obudzić Atmegę przez INT0 gdy zdarzeniem będzie rozwarcie obwodu ?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 lut 2014, o 09:35 
Offline
Użytkownik

Dołączył(a): 19 gru 2012
Posty: 712
Lokalizacja: Opole
Pomógł: 23

Jeśli to Atmega8 to strona 67 Datesheet'a :P

Obrazek



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 lut 2014, o 09:38 
Offline
Użytkownik

Dołączył(a): 14 maja 2012
Posty: 518
Pomógł: 6

t__d napisał(a):
Problem polega na tym, że umiem wybudzić Atmegę zboczem opadającym
no to musisz budzić zboczem rosnącym
tu są przykłady dla atmegi88 w górę
https://sites.google.com/site/qeewiki/b ... -atmega328



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 lut 2014, o 09:50 
Offline
Użytkownik

Dołączył(a): 16 maja 2012
Posty: 349
Lokalizacja: Legnica
Zbananowany użytkownik

Pomógł: 23

Nie napisałeś jaka ATmega ale zerknąłem do DS'a megi8A i tam jest napisane, że INT0/INT1 może być wyzwalane zboczem opadającym, zboczem narastającym lub stanem niskim
Kod:
The external interrupts can be triggered by a falling or rising edge or a low level. This is set up as indicated in the
specification for the MCU Control Register – MCUCR. Whenthe external interrupt is enabled and is configured as
level triggered, the interrupt will trigger as long as the pin is held low.

W innym miejscu jest tabelka 10-1 z jakich trybów uśpienia wyprowadzają jakie zdarzenia. Z niej wynika, że poza Idle z pozostałych trybów wybudzić może INT0/INT1 tylko w trybie level. Łącząc te dwie rzeczy mi wychodzi, że nie da się wybudzić z głębszych stanów uśpienia ani zboczem narastającym ani wysokim stanem.
Oczywiście mogę się mylić co może być skutkiem niezrozumienia zapisów w DS'ie, bo przecież jest jeszcze tryb przerwania
Any logical change on INT0 generates an interrupt request. i w zasadzie on powinie dać możliwość wygenerowania przerwania przy zmianie stanu z niskiego na wysoki. Formalnie jest to tryb asynchroniczny więc nadaje się do wybudzania, ale ja tego nigdy nie sprawdzałem a w kontekście powyższego chyba nie zadziała.

_________________
sig off ;(



Ostatnio edytowano 5 lut 2014, o 10:08 przez perlon, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 lut 2014, o 10:07 
Offline
Użytkownik

Dołączył(a): 14 maja 2012
Posty: 518
Pomógł: 6

perlon napisał(a):
że nie da się wybudzić z głębszych stanów uśpienia ani zboczem narastającym ani wysokim stanem.

racja, z power down można budzić poziomem co powinno wystarczyć w tym przypadku



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 lut 2014, o 10:16 
Offline
Użytkownik

Dołączył(a): 16 maja 2012
Posty: 349
Lokalizacja: Legnica
Zbananowany użytkownik

Pomógł: 23

Wszędzie gdzie się nie spojrzy budzenie jest stanem niskim. Nie widziałem rozwiązań, gdzie jest budzenie zmianą stanu. W twoim przypadku może sprawę rozwiąże bramka odwracająca.

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 lut 2014, o 13:44 
Offline
Użytkownik

Dołączył(a): 17 mar 2013
Posty: 143
Lokalizacja: Bydgoszcz
Pomógł: 2

A czy zamiast bramki może być tranzystor ?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 lut 2014, o 13:58 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 29 lis 2012
Posty: 88
Pomógł: 2

bramki to tak naprawdę tranzystory w środku, więc można

http://en.wikipedia.org/wiki/Inverter_%28logic_gate%29

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 lut 2014, o 14:31 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 29 sty 2012
Posty: 777
Lokalizacja: Karpicko k. Wolsztyna
Pomógł: 197

Możesz zastosować inwerter na tranzystorze npn

Obrazek



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 lut 2014, o 17:02 
Offline
Użytkownik

Dołączył(a): 17 mar 2013
Posty: 143
Lokalizacja: Bydgoszcz
Pomógł: 2

Dziękuje bardzo. Takie rozwiązanie z tranzystorem jest dla mnie idealne :-)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 lut 2014, o 20:31 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 paź 2013
Posty: 1967
Lokalizacja: Lipsko
Pomógł: 125

Tylko oczywiście zdajesz sobie sprawę, że o dodatkowe 0,5mA wzrośnie Ci pobierany prąd ;) ...

_________________
http://www.sylwekkuna.com



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 lut 2014, o 20:46 
Offline
Użytkownik

Dołączył(a): 14 maja 2012
Posty: 518
Pomógł: 6

nic nie wiemy jak to kolega chce wszystko zasilać, to podstawowa sprawa, trzeba podawać konkretniej jakie są założenia, a my nawet procesora nie znamy, może tryb IDLE jest wystarczający



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 lut 2014, o 19:26 
Offline
Użytkownik

Dołączył(a): 17 mar 2013
Posty: 143
Lokalizacja: Bydgoszcz
Pomógł: 2

SylwekK napisał(a):
Tylko oczywiście zdajesz sobie sprawę, że o dodatkowe 0,5mA wzrośnie Ci pobierany prąd ;) ...


A nie da się tego jakoś zminimalizować ? Po to usypiam atmegę aby zmniejszyć pobór prądu. Może bardziej będzie się opłacać użyć innego trybu uśpienia atmegi i nie kombinować.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 lut 2014, o 19:36 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 paź 2013
Posty: 1967
Lokalizacja: Lipsko
Pomógł: 125

A tak naprawdę to potrzebne Ci to uśpienie? Zasilasz bramę z baterii czy to rodzaj alarmu?

_________________
http://www.sylwekkuna.com



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 lut 2014, o 19:55 
Offline
Użytkownik

Dołączył(a): 17 mar 2013
Posty: 143
Lokalizacja: Bydgoszcz
Pomógł: 2

Myślałem o zasilaniu z baterii bo prąd zawsze mogą wyłączyć. Byłby to rodzaj alarmu (dodatkowo srawdzacz zamkniecia bramy bo czasami mi sie przypadkowo otworzy) więc musi działać cały czas. Ale może zrobię zasilacz + akumulatorek. Tylko od bramy do gniazdka mam bardzo daleko :(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 lut 2014, o 20:01 
Offline
Użytkownik

Dołączył(a): 16 maja 2012
Posty: 349
Lokalizacja: Legnica
Zbananowany użytkownik

Pomógł: 23

Jeżeli zastosować słabsze podciąganie ( większy rezystor podciągający bazę do Vcc ) to można zejść poniżej 0,5mA. Gdyby wprowadzić tranzystor w stan nasycenia to przez złącze CE popłynie prąd I=Vcc/R=5V/10KOhm=0,5mA. Hfe=100 daje prąd bazy 5uA ( z grubsza licząc ) Więc można chyba spokojnie dać na bazie rezystor 100k i już prąd mamy nie 500uA tylko 50uA dla kontraktrona zwartego do masy a tranzystor i tak się nasyci. Tu chyba jest pole do eksperymentów.

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 lut 2014, o 12:10 
Offline
Użytkownik

Dołączył(a): 17 mar 2013
Posty: 143
Lokalizacja: Bydgoszcz
Pomógł: 2

Zbudowałem układ testowy na płytce stykowej. Użyłem tranzystora BC547B i 2 rezystorów najpierw po 510 K a później po 1M. W obu przypadkach Atmega budzi się bez problemu :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 lip 2014, o 18:54 
Offline
Użytkownik

Dołączył(a): 17 mar 2013
Posty: 143
Lokalizacja: Bydgoszcz
Pomógł: 2

Przepraszam jeżeli moje pytanie jest głupie ale mam problem z drganiem styków. Oczywiście mogę go wyeliminować programowo tak jak to robi Mirek z przyciskami ale słyszałem też, że pomaga wstawienie do takiego układu kondensatora 100nF. Tylko za bardzo nie wiem czy to prawda i w którym miejscu go wstawić :(

Obrazek



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 lip 2014, o 19:06 
Offline
Moderator zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 18 lip 2012
Posty: 3212
Lokalizacja: Kraków - obok FAB5 ATMEL'a
Pomógł: 91

Pomaga. Ja bym dał z R3 do masy.

_________________
http://www.jaglarz.info



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 lip 2014, o 19:20 
Offline
Użytkownik

Dołączył(a): 17 mar 2013
Posty: 143
Lokalizacja: Bydgoszcz
Pomógł: 2

Jaglarz napisał(a):
Pomaga. Ja bym dał z R3 do masy.


W taki sposób ?

Obrazek

A czy szybkie rozładowanie kondensatora przy zwarciu do GND nie spowoduje powstania szpilki ? Czy można tak uszkodzić tranzystor ?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 lip 2014, o 15:51 
Offline
Użytkownik

Dołączył(a): 17 mar 2013
Posty: 143
Lokalizacja: Bydgoszcz
Pomógł: 2

Czy jak dodam rezystor przed przełącznikiem to coś to pomoże na szybkie wyładowanie kondensatora ?

Obrazek



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 lip 2014, o 16:31 
Offline
Użytkownik

Dołączył(a): 22 sty 2014
Posty: 1806
Zbananowany użytkownik

Pomógł: 168

Najszybciej rozładujesz kondebsator zwierajac go po prostu do masy, tylko pamiętaj ze wtedy powstaje szpilka prądu o sporej amplitudzie, wiec zeby nie uszkodzic kontaktronu (przy 100nF raczej ciężko ale przy wiekszych pojemnosciach styki moga się zespawac) rozladuj ten kondek przez tranzystor jakiś :-) albo przez rezystor z tym ze musisz pamiętać że rozładowanie kondensatora przez rezystor trwa okolo 5*R*C



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 lip 2014, o 17:05 
Offline
Użytkownik

Dołączył(a): 17 mar 2013
Posty: 143
Lokalizacja: Bydgoszcz
Pomógł: 2

Nefarious19 napisał(a):
rozladuj ten kondek przez tranzystor jakiś :-) albo przez rezystor z tym ze musisz pamiętać że rozładowanie kondensatora przez rezystor trwa okolo 5*R*C


Czy tak jak podłączyłem rezystor za kondensatorem to wystarczy ?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 lip 2014, o 17:17 
Offline
Użytkownik

Dołączył(a): 22 sty 2014
Posty: 1806
Zbananowany użytkownik

Pomógł: 168

t__d napisał(a):
Czy tak jak podłączyłem rezystor za kondensatorem to wystarczy ?


Tak, daj tam jakiś niewielki rezystorek, około kilkadziesiąt Ohmów powinno być ok


Autor postu otrzymał pochwałę


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: 24 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 2 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