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



Teraz jest 22 gru 2024, o 19:09


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 7 ] 
Autor Wiadomość
PostNapisane: 19 gru 2016, o 21:15 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 sty 2015
Posty: 41
Lokalizacja: Gorzów Wlkp.
Pomógł: 0

Witam.
Napisałem sobie prosty programik na atmegę który steruje przekaźnikiem załączającym lampkę nocną. Dodatkowo chciałem dodać załączanie przerwaniem tej lampki ale z innego MC (Arduino).

Do atmegi dopisałem załączanie przekaźnika po zwarciu INT0 do GND i na krótko zwierając działa prawidłowo więc przyjmuje, że tutaj nie popełniłem błędu.

Na arduino prosty kodzik ustawiający na pinie stan niski na czas 100ms. Połączyłem masę oraz ten pin do INT0 atmegi i nie chce mi to działać. Czy coś pominąłem? Czy nie można tak wyzwalać przerwań?

Składnia: [ Pobierz ] [ Ukryj ]
język cpp
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Składnia: [ Pobierz ] [ Ukryj ]
język cpp
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 gru 2016, o 21:48 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 sty 2013
Posty: 1760
Pomógł: 196

Witam
Regss napisał(a):
...i nie chce mi to działać.

A jak się to niechciejstwo objawia - milczy, klapie ?

Pozdr.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 20 gru 2016, o 10:54 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 29 maja 2013
Posty: 432
Lokalizacja: Gostyń / Poznań
Pomógł: 25

a pokaż jeszcze to power lamp jak wyglada, i zobacz czy jak dasz na stale stan niski na tym pinie drugiej atmegi a nie impuls to czy wtedy zadziala...

_________________
Podpis...



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 20 gru 2016, o 11:13 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 sty 2015
Posty: 41
Lokalizacja: Gorzów Wlkp.
Pomógł: 0

Składnia: [ Pobierz ] [ Ukryj ]
język cpp
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Prosta funkcja zmieniająca tylko stan pinu który kontroluje przekaźnik. Delay jest po to aby nie dokonać przypadkiem szybkich przełączeń.

Zrobiłem kolejny test. Masy połączone, jak przewód od przerwania INT0 zwieram do VCC w Arduino to dopiero jak puszczę przerwanie zadziała (wyzwalanie zboczem opadającym?).

Kolejny test na pinie arduino z diodą LED. Bez podłączonego przewodu od INT0 z atmegi po wysłaniu na Serial stringa dioda która cały czas świeci prawidłowo gaśnie na 100ms. Dziwny jest fakt, że po podłączeniu INT0 do tego portu i pozostawieniu kontrolnego LED'a od razu przygasa i ledwo się pali?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 20 gru 2016, o 16:46 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 01 lis 2015
Posty: 1448
Lokalizacja: okolice Warszawa
Pomógł: 149

witam,
Regss napisał(a):
Połączyłem masę oraz ten pin do INT0 atmegi i nie chce mi to działać.
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

nie znam się na arduino,
ale czy - skoro korzystasz z obsługi przerwań
to czy nie powinieneś włączyć globalnego zezwolenia "sei();" ?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 20 gru 2016, o 19:08 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 sty 2013
Posty: 1760
Pomógł: 196

Witam
Regss napisał(a):
...to dopiero jak puszczę przerwanie zadziała (wyzwalanie zboczem opadającym?)

Obrazek
...no to wrzuć na translator.
Regss napisał(a):
Bez podłączonego przewodu od INT0 z atmegi po wysłaniu na Serial stringa dioda która cały czas świeci prawidłowo gaśnie na 100ms. Dziwny jest fakt, że po podłączeniu INT0 do tego portu i pozostawieniu kontrolnego LED'a od razu przygasa i ledwo się pali?

...dość obrazowo ;)
Jedno jest pewne - przygaszanie nie jest prawidłowym ( z wyjątkiem PWM'a) zjawiskiem.
Z pierwszego postu wynikało że wszystko osobno działa więc proponuję raz jeszcze to zweryfikować.
Napięcia zasilania są takie same?

Pozdr.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 25 gru 2016, o 21:30 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 sty 2015
Posty: 41
Lokalizacja: Gorzów Wlkp.
Pomógł: 0

Wróciłem do tego po kilku dniach przerwy i okazało się, że w bibliotece UART miałem na porcie PD2 (INT0) definicje dla RS485. Pomogło zakomentowanie ich.



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

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 0 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:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO