SENSOR NC i NO - problem

Awatar użytkownika
Espablo
Posty: 1754
Rejestracja: śr cze 29, 2016 5:04 pm
Lokalizacja: Oświęcim
Kontakt:

Zauważyłem jedną rzecz. Mianowicie jak wejścia sensor jest ustawione NO wszystko jest OK. Problem zaczyna się jak ustawię NC, wejście mam zwarte i zresetuję ESP. Układ zaczyna pokazywać dobre wskazania dopiero jak zmienię stan styków. Wiem, że wykrywane jest to w przerwaniu ale stan początkowy jest jak dla NO.
Każde urządzenie elektryczne działa o wiele lepiej jeśli podłączysz je do prądu. :? :roll:
Awatar użytkownika
pzygmunt
Posty: 18281
Rejestracja: wt sty 19, 2016 9:26 am
Lokalizacja: Paczków
Kontakt:

Nie mam dostępu do waszych źródeł. Wrzućcie gdzieś na githuba to zerknę. Przy rejestracji urządzenia trzeba przekazywać początkowy stan.
Seba5120
Posty: 318
Rejestracja: pn paź 31, 2016 1:33 pm

Espablo pisze: śr mar 01, 2017 10:42 am Zauważyłem jedną rzecz. Mianowicie jak wejścia sensor jest ustawione NO wszystko jest OK. Problem zaczyna się jak ustawię NC, wejście mam zwarte i zresetuję ESP. Układ zaczyna pokazywać dobre wskazania dopiero jak zmienię stan styków. Wiem, że wykrywane jest to w przerwaniu ale stan początkowy jest jak dla NO.
Potwierdzam, u mnie tak samo. Pokazuje dobry stan po restarcie, dopiero jak coś załącze :)
Awatar użytkownika
pzygmunt
Posty: 18281
Rejestracja: wt sty 19, 2016 9:26 am
Lokalizacja: Paczków
Kontakt:

Jak już pisałem przy rejestracji urządzenia trzeba przekazać aktualną wartość.
Przykład:
https://github.com/SUPLA/supla-core/blo ... dule.c#L79
Awatar użytkownika
Espablo
Posty: 1754
Rejestracja: śr cze 29, 2016 5:04 pm
Lokalizacja: Oświęcim
Kontakt:

pzygmunt pisze: śr mar 01, 2017 4:57 pm Jak już pisałem przy rejestracji urządzenia trzeba przekazać aktualną wartość.
Przykład:
https://github.com/SUPLA/supla-core/blo ... dule.c#L79
Czyli trzeba to zrobić np. w ten sposób.

Kod: Zaznacz cały

srd->channels[2].value[0] = gpio__input_get(B_SENSOR_PORT1);
natomiast ja mam wejścia sensor z flagą INPUT_FLAG_PULLUP to musiałem to zrobić w ten sposób:

Kod: Zaznacz cały

srd->channels[2].value[0] = !(gpio__input_get(B_SENSOR_PORT1));
Teraz działa tak, jak należy. Dzięki
Każde urządzenie elektryczne działa o wiele lepiej jeśli podłączysz je do prądu. :? :roll:
Zybi
Posty: 1511
Rejestracja: ndz cze 26, 2016 4:24 pm

Espablo pisze: pt mar 03, 2017 12:07 pm ...
Teraz działa tak, jak należy. Dzięki
A testowałeś przypadek, gdy mamy stan aktywny na czujniku w momencie resetu?
Np. zwarcie do masy przy fladze pull-up - czy masz zmianę stanu po zdjęciu zwarcia?
U mnie są tylko dobre wskazania na samym starcie, ale zmiany stanu, gdy zdejmę zwarcie nie ma i to zarówno przy NO jak i NC.
Awatar użytkownika
Espablo
Posty: 1754
Rejestracja: śr cze 29, 2016 5:04 pm
Lokalizacja: Oświęcim
Kontakt:

Potestowałem teraz trochę i muszę powiedzieć, że na GPIO16 działa to bezbłędnie. Natomiast wejście sensor na GPIO4 nadal ma problemy. Tzn początkowe wskazania są prawidłowe i nie ma znaczenia czy przed resetem i w trakcie uruchamiania się modułu mam zwarte czy też rozwarte do masy. Wskazania są zawsze odpowiednie w danym przypadku. Problem jest natomiast przy zwartym wejściu do masy i uruchomieniu. Pierwsza zmiana stanu nie powoduje reakcji dopiero następna powoduje zmianę
Każde urządzenie elektryczne działa o wiele lepiej jeśli podłączysz je do prądu. :? :roll:
kris.gie
Posty: 361
Rejestracja: czw kwie 28, 2016 4:24 pm
Lokalizacja: Katowice

Czy da się jakoś rozwiązać problem niewłaściwego pokazywania stanu wejść? Soft InCan na płytce Espablo, wejścia NO, po resecie obydwa pokazują że są otwarte.
Seba5120
Posty: 318
Rejestracja: pn paź 31, 2016 1:33 pm

Sławek sobie z tym poradził.
Testowałem jego soft i jest okej.
Sprawdza po włączeniu stan wejścia.
Awatar użytkownika
slawek
Posty: 2465
Rejestracja: pn mar 14, 2016 11:48 pm
Lokalizacja: Biała Podlaska

Jeszcze nie do końca... ale jest światełko w tunelu ;)
TEORIA jest wtedy gdy wszystko wiemy i nic nie działa
PRAKTYKA jest wtedy gdy wszystko działa a my nie wiemy dlaczego
My łączymy teorię z praktyką czyli nic nie działa i nikt nie wie dlaczego
ODPOWIEDZ

Wróć do „Pomoc”