SENSOR NC i NO - problem

User avatar
Espablo
Posts: 1460
Joined: Wed Jun 29, 2016 5:04 pm
Location: Oświęcim
Contact:

Wed 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.
Każde urządzenie elektryczne działa o wiele lepiej jeśli podłączysz je do prądu. :? :roll:
https://github.com/Espablo
User avatar
pzygmunt
Posts: 7077
Joined: Tue Jan 19, 2016 9:26 am
Location: Paczków
Contact:

Wed Mar 01, 2017 10:53 am

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
Posts: 307
Joined: Mon Oct 31, 2016 1:33 pm

Wed Mar 01, 2017 4:40 pm

Espablo wrote:
Wed 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 :)
User avatar
pzygmunt
Posts: 7077
Joined: Tue Jan 19, 2016 9:26 am
Location: Paczków
Contact:

Wed 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
User avatar
Espablo
Posts: 1460
Joined: Wed Jun 29, 2016 5:04 pm
Location: Oświęcim
Contact:

Fri Mar 03, 2017 12:07 pm

pzygmunt wrote:
Wed 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.

Code: Select all

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:

Code: Select all

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:
https://github.com/Espablo
Zybi
Posts: 1389
Joined: Sun Jun 26, 2016 4:24 pm

Fri Mar 03, 2017 9:29 pm

Espablo wrote:
Fri 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.
User avatar
Espablo
Posts: 1460
Joined: Wed Jun 29, 2016 5:04 pm
Location: Oświęcim
Contact:

Fri Mar 03, 2017 11:21 pm

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:
https://github.com/Espablo
kris.gie
Posts: 149
Joined: Thu Apr 28, 2016 4:24 pm
Location: Katowice

Sun Apr 09, 2017 8:14 am

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
Posts: 307
Joined: Mon Oct 31, 2016 1:33 pm

Sun Apr 09, 2017 8:20 am

Sławek sobie z tym poradził.
Testowałem jego soft i jest okej.
Sprawdza po włączeniu stan wejścia.
User avatar
slawek
Posts: 2216
Joined: Mon Mar 14, 2016 11:48 pm
Location: Biała Podlaska

Sun Apr 09, 2017 8:35 am

Jeszcze nie do końca... ale jest światełko w tunelu ;)
Gdy wszystkie możliwe sposoby zawiodą - pozostaje przeczytać instrukcję...
Post Reply