Skocz do zawartości

Zakłócenia w odczycie informacji z termometru LM35


dawis96

Pomocna odpowiedź

Cześć, Zrobiłem prosty układ w którym przekaźnik steruje wiatraczkiem według odczytów z termometru. Przy termometrze cyfrowym dht11 wszystko działa dobrze, ale wskazania z termometru LM35 pokazują jakieś zakłócenia, gdy wiatrak się wyłącza, nagle temperatura szybuje w górę.Dodam jeszcze ze zasilanie to 12 voltowy zasilacz, plus kabel usb aby mozna odczytywać wyniki. Wentylator jest podłączony do wyjścia vin a termometr i przekaźnik do 5v. Czy ktoś mi powie dlaczego występuje taki problem i jak mogę temu zaradzić? Z góry dzięki! Pozdrawiam

image.thumb.png.4b81d8764e1ff073322fc6316639bc3a.pngimage.thumb.png.9bc9ba22cc104bc7a766fdc24be1d412.png

Edytowano przez dawis96
Link do komentarza
Share on other sites

Gość es2

Poczytaj jak umieszczać kod programu na forum. Dobrze że nie dałeś fotografii ekranu co jest plaga na Elektrodzie.

Pokaż schemat. Moja szklana kula jest zepsuta.

Poczytaj o uśrednianiu wyników pomiaru z wejścia analogowego, bo zakładasz, że zakłócenia nie istnieją.

Link do komentarza
Share on other sites

Uśrednianie pomaga gdy błędy są losowo, ale równomiernie rozłożone wokół wartości oczekiwanej. W tym wyapdku widać wyraźny trend skorelowany ze stanem przekaźnika i to tutaj szukałbym przyczyny. Czujnik DHT jest cyfrowy - oddaje wynik za pomocą stanów 0/1 a całe przetwarzanie odbywa się u niego  w środku. LM35 oddaje napięcie które mierzysz ADC - czyli problem jest w pomiarach analogowych. Idąc wstecz Twoje wyniki oznaczają napięcie ok 200mV gdy jest OK i jakieś 600mV gdy przekaźnik puszcza. O te 400mV przesuwa się to co widzi ADC przy zmianie wysterowania przekaźnika. Po pierwsze zmierz woltomierzem napięcie bezpośrednio na samych nóżkach LM35: na jego pinie GND i VOUT. Potem zrób podobny pomiar na wejściu analogowym procesora: ustaw multimetr na zakres 2V i podepnij się między pin GND procesora a pin wejściowy sygnału z LM35. Potem zmierz jeszcze dla pewności Vcc procesora, bo ono wyznacza odniesienie przetwornika ADC - to też musi być stabilne a w tym przypadku musiałoby maleć, by wyniki rosły. Masz zatem trzy miejsca pomiarowe i dwa pomiary w każdym: raz z przekaźnikiem włączonym a raz z wyłączonym Czekamy  w takim razie na 6 liczb.

Link do komentarza
Share on other sites

(edytowany)

Zmierzyłem w sumie cztery miejsca ponieważ, na początku się pomyliłem, ale widać na nim jakieś zmiany więc dołączam go do wyników. Przekaźnik działa w trybie NC. Teraz gdy wentylator wyłączył się odczyt temperatury skakał do około 40 stopni.

image.thumb.png.5db03c1ba9982fc2eb03a2eac9be496c.png

Edit: dodaje schemat.

image.thumb.png.06c860c8f57c8558aec24c9bd436e801.png

Edytowano przez dawis96
Schemat
Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Schemat był taki: 

image.thumb.png.cc5cd02dd1acc49da5b29d7d1c34015e.png

Gdy podłączyłem czujnik do innej masy wszystko działa idealnie:

image.thumb.png.4e536a42164700efac5edaa6d120275f.png

Dziękuję bardzo za pomoc! Nie wiedziałem, że powinny mieć inna masę. Mam jeszcze jedno pytanie, chcę zrobić układ z 3 rożnymi czujnikami i 3 przekaźnikami. Czy jeśli 3 czujniki dam do jednej masy będzie to działać dobrze?

Link do komentarza
Share on other sites

Masa to potencjał odniesienia - względem swojego pinu GND czujnik wysyła sygnał, a względem swojego pinu GND przetwornik procesora mierzy napięcie. Musisz zapewnić by między tymi dwoma punktami nie powstawały jakieś napięcia na kablach. Ponieważ każdy kabelek to jakaś rezystancja, to  po prostu nie możesz przez kable masy która jest odniesieniem dla sygnałów analogowych puszczać prądu. Owszem, zwykle musisz przez ten przewód zasilać sam czujnik: prąd wypływa z Arduino kablem Vcc, płynie do czujnika, tam go zasila i wraca kablem GND z powrotem do Arduino - zawsze płynie w zamkniętych oczkach, ale to jest prąd rzędu 100uA. Takie coś nawet na przewodzie o rezystancji 1 Om powoduje błąd 100uV czyli 0.01 stopnia. Natomiast jeśli przez ten sam kabel przepuścisz 100mA to masz już 100mV czyli 10 stopni "z powietrza" dodawane lub odejmowane (w zależności od kierunku tego prądu) do tego co wysłał czujnik 😞 

Tak więc same czujniki są OK, możesz podłączyć je wszystkie razem do wspólnego kabla albo - jeśli są daleko od siebie - możesz każdemu dać osobną trójkę przewodów, ale wszystkie muszą schodzić do płytki Arduino i być zapięte bezpośrednio do Vcc, AIN i GND procesora.

  • Lubię! 1
Link do komentarza
Share on other sites

Jak już rozdzielać masy to lepiej do czujników używać tej przy Vref (Aref) i wtedy tej używać tylko do analoga, niektóre płytki są nawet tak specjalne robione, że mają masę analogową. I jak oczekujesz lepszych pomiarów to zastosuj wewnętrzne źródło odniesienia - analogReference(internal). Napięcie analogowe jest wtedy mierzone względem 1.1V (trzeba sprawdzić, każda płytka może mieć delikatnie różne) zamiast 4,8-5,2 Vcc (a Uno uruchomi się i przy 4V), także trzeba sobie dobrać dzielnik napięcia tak by maksymalne podawane na pin analogowy nie przekraczało 1.1V.

  • Lubię! 1
Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.