który zaczerpnąłem z tego postu
Niestety u mnie integracja “szaleje”. Nie przestaje liczyć, choć impulsy nie pojawiają się. Nagrałem filmik z tego szaleństwa.
Sprawdzałem omomierzem czy przypadkiem z czujnikiem jest wszystko w porządku i na bank jest. W momencie gdy czujnik jest zwarty, rezystancja jest na poziomie kilku omów. Gdy nie jest, jest nieskończona, więc błędy hardware’owe wykluczam.
Czujnik przepinałem do innej płytki i również “szalał”.
Gdzie jest pies pogrzebany?
Pewnie długie przewody.
Dorzuć prawdziwy pullup do zasilania MCU (a nie wbudowany w MCU) oraz zewrzyj to wejście GPIO kondensatorem do masy.
Wystarczy wtedy
pin:
[…]
mode:
input: true
czyli tryb wejścia bez włączonego wewnętrznego pullupu
źródło obrazka, przy okazji kalkulator filtra drgań styków http://protological.com/debounce-calaculator/
jako rezystor sugeruję 1K (1 kiloom) jako kondensator coś rzędu 100nF-kilka uF (nie wierzę w 400ms drgań styków), z kalkulatora wyjdzie absurdalnie duża pojemność kondensatora dla 400ms.
Jutro przetestuję.
A jeszcze jedna sprawa o której nie wspomnialem. Na tym samym esp mam sterowanie oświetleniem na zewnątrz. Wydaje mi się że ten czujnik od gazu “sieje” i oświetlenie włącza się i wyłącza losowo. Możliwe to?
Licznik podłączyłem 9 września ok. 18.00. Na wykresie widać, że światło włączyło się ok północy. Ok. 12.00, 10 września odłączyłem licznik, który ponownie wpiąłem ok. 16.00 tego samego dnia.
Poniżej jeszcze ciekawsze wykresy - konsumpcji gazu:
czyli, jakby w nocy działał dobrze.
P.S. Masz jakiegoś Patronite’a albo buycoffee.to ? Bez Ciebie bym się męczył do końca świata, a Ty od razu sypnąłeś pomysłem. Chętnie bym Ci tą kawę “postawił”, a i pewnie inny, którym pomogłeś, również by coś sypnęli.
Może warto przeanalizować jakie urządzenie elektryczne (mogące wytwarzać zakłócenia) pracowało w pobliżu w tych godzinach, kiedy masz te radykalne i systematyczne wzrosty (patrząc na godziny pracy jest to dość intrygujące od około 5 rano do około 7 rano oraz koło 19 - 21 ale tu w sumie nie wiadomo od kiedy, bo to początek wykresu).
Tak długi kabel działa jak antena i może zbierać zakłócenia rzutujące na pracę MCU.
Druga i trzecia potencjalna teoria na źródło zakłóceń, to upływności - problemy z izolacją (tu by też mogło pasować inne urządzenie elektryczne włączane w danych godzinach), ewentualnie połączenie różnych mas.
To nie jest odpowiedź, wcześniej nie miałeś “anteny” w postaci 20m kabla, może równolegle z nim są położone inne kable z których pochodzą zakłócenia? - no nie jesteś zbyt wylewny w opisie konstrukcji… swoją drogą przyczyn może być więcej (kabel antenowy nie jest najszczęśliwszym rozwiązaniem, w dodatku przyczyną mogą być upływności).
Do zdiagnozowania problemu by się przydał choćby najprostszy oscyloskop…
1 kiloom nie jest bardzo mocnym pullupem (popłynie tam przez kontaktron prąd 3.3mA), ale nie chciałem przeginać - nie stanowi dużego problemu użycie 100om, ale zależy jaki masz tam stabilizator 3.3V (wtedy prąd w obwodzie kontaktronu zrobi się istotny, bo sięgnie 33mA przy przeciętnym poborze prądu przez całe ESP na poziomie zapewne koło 80mA).
Jakkolwiek montaż MCU blisko czujnika stykowego jest zawsze optymalnym rozwiązaniem - możesz wykorzystać ten koncentryk do zasilania ESP i się podpiąć z MCU bliżej źródła sygnału (choć rozwiązanie bateryjne z czujnikiem Zigbee jest moim zdaniem świetnym pomysłem).
Bo nie ma o czym pisać. ESP siedzi w rozdzielni. Od rozdzielni lecą wspomniane kable zakończone impulsatorem. Równolegle do tych kabli nie lecą żadne inne w których jest napięcie.
Niestety nie mam skąd wziąć ale wychodzi na to, że spędzę przy tym długie godziny zamiast…
pójść tą drogą, Przy okazji zrobię sobie powiadomienie do skrzynki na listy.
Jeśli przygotujesz puszkę pod ewentualne przyszłe rozwiązanie Zigbee, to możesz ESP tam wrzucić - będzie dostatecznie blisko kontaktronu (tak, wiem masz jakieś inne funkcje, więc to by musiała być oddzielna płytka), wtedy koncetrykiem (czy wręcz tym kundlem koncentryk + coś jeszcze) podasz zasilanie.
Dla płytki ESP z wbudowanym stabilizatorem sugeruję podać nieco wyższe napięcie niż 5V (powiedzmy coś w zakresie 6V-9V by rezystancja przewodów nie miała istotnego znaczenia dla jakości zasilania, tu oczywiście też warto dorzucić kondensator elektrolityczny o znacznej pojemności i takim dopuszczalnym napięciu pracy by go nie pokonało to nieco wyższe napięcie - wersja na 16V jest doskonałym wyborem w tej kwestii).
Pomijając te kwestie, to wszelką elektronikę montowaną nawet w “hermetycznych” puszkach należy zabezpieczyć przed wilgocią - najlepiej przez impregnację dedykowanym lakierem (więc połączenia powinny być lutowane, oczywiście gniazd nie zalakierowujemy ).
W warunkach zimowych kondensacja jest właściwie pewna, w zasadzie w celach diagnostycznych warto wrzucić jakiś czujnik temperatury (może też wilgotności) by badać środowisko w puszce.
Na koniec zaktualizuję status.
Obok koncentryka leżała (leży) skrętka żelowana. Trochę mi było jej szkoda do tego licznika, ale stwierdziłem, że spróbuję. Przepiąłem ją wprost na miejsce koncentryka. Został kundel ale licznik działa. Liczy, nie wariuje, nie włącza światła. Jest… git.