Witam serdecznie,
założenie mojego projektu jest takie aby atmega zamieniała działanie 15 zwykłych przekaźników na przekaźniki bistabilne. Impuls sterujący ma przełączać wyjście, klasyczny 'toggle switch'. Układ posiada 15 wejść oraz odpowiadające im 15 wyjść. Wyjścia mikrokontrolera sterują układy ULN2003, a te przekaźniki interfejsowe 24VDC. Wejścia natomiast to przyciski dzwonkowe podłączone skrętką, impuls przycisku zwiera wejście do masy.
Jest to część systemu automatyki domowej do sterowania oświetleniem.
Problem polega na tym że przy testowaniu kilku podłączonych przycisków układ ogólnie działa prawidłowo ale czasem zdarzało się że jeden przycisk załączył dodatkowo inne wyjścia. Nie było w tym żadnej zauważalnej regularności i działo się stosunkowo rzadko (na ok 30 min testów zdażyło się może ze dwa razy)
Ponadto, po odłączeniu zasilania (rozwieram masę układu) i ponownym włączeniu pierwsze kilka wyjść załącza się losowo w różnych konfiguracjach a czasem pozostają prawidłowo zerami.
Prosiłbym o sprawdzenie załączonego programu bo na razie to nie wiem czy to problem software czy bardziej hardware.
język cpp
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Zaznaczam też że jest to na razie prowizoryczny układ dla uruchomienia samego oświetlenia dlatego wykorzystałem prawie wszystkie linie linie I/O jeden do jeden gdy to się sprawdzi to projekt będzie rozwijany dalej i przyciski podłączę jakoś bardziej elegancko jako matrycę czy przez multiplekser.