logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Wybór czujnika do termometru na ATmega16: DS1820 czy LM35?

Konradoa 30 Maj 2007 20:02 3827 10
  • #1 3937073
    Konradoa
    Poziom 12  
    Posty: 97
    Pomógł: 4
    Ocena: 3
    Witam

    Mam do zrobienia projekt trzypunktowego termometru na ATmege16. Niby sprawa prosta tylko założenie jest takie że czujniki są dołączane w różnej ilości (tzn. albo 1, albo 2, albo 3) w zależności od potrzeb użytkownika. I tu się zaczynają schodki. W takim przypadku DSy muszę podłączyć pod 3 różne porty bo wtedy nie trzeba ich identyfikować, ale przeglądałem forum i zauważyłem że są z tym problemy.
    Dlatego zastanawiam się nad zastosowaniem jakiegoś analogowego czujnika (np. LM35, lub jakiś termistor). ATmega ma przetwornik A/C więc łatwo byłoby coś takiego zrobić. Ciekawy jestem czy już ktoś próbował czegoś takiego i czy nie było problemów z powtarzalnością pomiarów w przypadku gdy kabel do czujnika ma około 1,5m. Z moich doświadczeń z LM35 w aplikacjach analogowych wiem że problemy sprawia kabel dłuższy niż 30cm, więc przypuszczam że przy 1,5m może być wesoło.
  • #2 3937128
    JollyRoger
    Poziom 21  
    Posty: 538
    Pomógł: 21
    Ocena: 30
    Witam, sam robiłem kiedyś podobny projekt, co prawda w bascomie. Dwa czujniki były połączone do innych portów i wszystko działało. Przy wykorzystaniu czujników DS odpada całe kalibrowanie i problemy z przetwornikami A/C.
  • #3 3937589
    cyberdar
    Poziom 31  
    Posty: 1465
    Pomógł: 161
    Ocena: 73
    Witam

    Co do tej kalibracji to jakoś trudno mi się zgodzić. Robiłem ostatnio termometr w oparciu o DSa1820, a że miałem dwa to je zacząłem sprawdzać i okazało się, że różnica między jednym a drugim wynosi prawie 3°C !!!. Nie pozostało nic innego jak załatwić problem programowo. Jak do tej pory takich cyrków z LMami nie miałem. Prawdą jest, że o wiele łatwiej zrealizować termometr szczególnie w zakresie ujemnych temperatur biorąc jednak pod uwagę takie sytuacje może się okazać, że jednak lepiej użyć wspomianych LMów. W dodatku różnie bywa z długością kabli. Osobiście nie sprawdzałem tego czujnika na długich kablach ale opinie na forum bywają bardzo różne. W dodatku cena LMów jest też niższa. Wybór jednak należy do Ciebie.

    --
    pozdrawiam
  • #4 3937907
    JollyRoger
    Poziom 21  
    Posty: 538
    Pomógł: 21
    Ocena: 30
    cyberdar napisał:
    Witam

    Co do tej kalibracji to jakoś trudno mi się zgodzić. Robiłem ostatnio termometr w oparciu o DSa1820, a że miałem dwa to je zacząłem sprawdzać i okazało się, że różnica między jednym a drugim wynosi prawie 3°C !!!. Nie pozostało nic innego jak załatwić problem programowo. Jak do tej pory takich cyrków z LMami nie miałem. Prawdą jest, że o wiele łatwiej zrealizować termometr szczególnie w zakresie ujemnych temperatur biorąc jednak pod uwagę takie sytuacje może się okazać, że jednak lepiej użyć wspomianych LMów. W dodatku różnie bywa z długością kabli. Osobiście nie sprawdzałem tego czujnika na długich kablach ale opinie na forum bywają bardzo różne. W dodatku cena LMów jest też niższa. Wybór jednak należy do Ciebie.

    --
    pozdrawiam

    Może jeden z czujników był uszkodzony? U mnie na 3 zakupione dwa pokazywały taką samą temperaturę, a trzeci o kilka stopni wyższą. Ciekawi mnie jakich czujników używa się w tych tanich termometrach z rynku, mają bardzo dużą podziałkę (do 0.1•C) i zakres ujemnych temperatur.
  • #5 3938094
    Konradoa
    Poziom 12  
    Posty: 97
    Pomógł: 4
    Ocena: 3
    Problemów z takim rozrzutem temperatury nie miałem w DSach nigdy. Mój problem jest taki że czujniki nie mogą być identyfikowane jakimkolwiek numerem. Muszę chyba sam sprawdzić jak jest z długością kabla do LM35.
  • #6 3938456
    Ch.M.
    Poziom 27  
    Posty: 1009
    Pomógł: 62
    Ocena: 15
    Witaj
    Robie właśnie projekt, który też (m.innymi) mierzy temperature, w 4 punktach i zamierzam użyc LM35 oraz wbudowanych ADC ATMegi.
    Problem jest w tym, że czujinki znajduja się daleko od kontrolera: 3-15m. Na szczęście dynamika pomiarów nie będzie zbyt wielka: 0-35st.C więc zamierzam z tego faktu skorzystać i przy każdym LM35 postawię OPAMP ze wzmocnieniem 10x co załatwi sprawę długich połączeń - aprzynajmniej mam taką nadzieję! Jeśli zakłócenia będą zbyt duże to zmienie sposób transmisji z napięciowego na prądowy, ale myślę że nie trzeba będzie, bo nawykłem do wykonywania wielu pomiarów i uśredniania wyników (256pomiarów/czujnik)
    Mam nadzieje, że ktoś jeszcze się podzieli własnymi spostrzeżeniami
    Pozdrawiam
  • #7 3938629
    Konradoa
    Poziom 12  
    Posty: 97
    Pomógł: 4
    Ocena: 3
    No jestem bardzo ciekawy jak to będzie działało i mam nadzieję że bardzo dobrze. W sumie te DSy nie są takie złe i jak się kupi hurtem to wychodzi 4zł/sztukę to jest tyle co jeden LM w detalu.
    Przeglądałem plikacje LMa i kilka sposobów podłączenia jest. Spróbuje bez wzmacniacza z ekranowanym kablem albo parami i okaże się czy to zadziała. W sumie kabel o długości do 3m w otoczeniu, w którym nie będzie żadnych innych instalacji może nie będzie zakłócał.
  • #8 3944295
    kedzi1
    Poziom 18  
    Posty: 297
    Pomógł: 18
    Ocena: 9
    Jeżeli w grę wchodzą duże odległości czujnika od układu to DSy są niezastąpione. Co do dokładności to chyba zależy od źródła DSów. Te z allegro nie są za dokładne, może to jakieś podróbki? Ja mam kilka z sampli i są idealne, ze sklepu też ok, a kolega kupił na allegro i były rozrzuty.
    A tak na marginesie to DS18B20 bedzie (wierząc nocie aplikacyjnej) dokładniejszy od LMa na ADC atmegi które nie robią szału (na dzień dobry odpada najmłodszy bit wyniku konwersji ze względu na dokładność).
  • #9 3945260
    alnus
    Poziom 28  
    Posty: 1198
    Pomógł: 91
    Ocena: 66
    na parę setek DS18B20 NIGDY nie trafiłem na źle skalibrowany, ale kupuję je albo w Artronicu, albo w JMelektronik/Seguro. nie ma też najmniejszych problemów z podłączeniem na osobnych portach, bez identyfikacji numeru. przynajmniej w Bascomie. jeśli juz koniecznie LM, to osobiście zastanawiałbym się nad małym przetwornikiem A/C i transmisją cyfrową z każdego czujnika. jakiś Tiny15 przy każdym czujniku załatwiłby sprawę. tyle, że pojawią sie wtedy nowe problemy...
  • #10 3951297
    Ch.M.
    Poziom 27  
    Posty: 1009
    Pomógł: 62
    Ocena: 15
    Ad alnus dokładnie, szczególnie, że niektóre starsze procki kiepsko sie sprawuja w komunikjacji. Moze lepiej by było zrobic konwerter u/f. Jeden port=jeden czujnik temperatury (zupełnie jak przy ADC). Jak przetestuje mój pomiar to podziele się doświadczeniami

    Konradoa, wciąż chcę uzyć procesora do konwersji U/f
    W koncu to dział poświecony ukontrolerom :)
    Pozdrawiam
  • #11 3951304
    Konradoa
    Poziom 12  
    Posty: 97
    Pomógł: 4
    Ocena: 3
    W projektach w robocie były przetworniki U/F przy pomiarze temperatury i ciśnienia. Zdaje się że były to AD7741 i AD7742, aplikacja za duża do nich nie była ale trzeba było chyba montować rezystory precyzyjne i kwarc. A to jest znowu kolejny koszt budowy.

    Dodano po 3 [minuty]:

    I jeszcze pamiętam że były tam jakieś problemy z zenerką. Nie widzę teraz tamtego schematu ale przy pomiarze napięcie odniesienia było bardzo niestabilne. Trochę pomogła ekranowana obudowa ale mała zmiana temperatury tak dawała w kość zenerce że to praktycznie wykluczało nazywanie tego pomiarem tylko raczej wskaźnikiem.

Podsumowanie tematu

✨ Dyskusja dotyczy wyboru czujnika temperatury do projektu termometru trzypunktowego opartego na mikrokontrolerze ATmega16, z możliwością podłączenia od 1 do 3 czujników. Rozważane są czujniki cyfrowe DS18B20 oraz analogowe LM35 lub termistory. Czujniki DS18B20 eliminują konieczność kalibracji i problemów z przetwornikiem A/C, jednak pojawiają się problemy z rozrzutem pomiarów między egzemplarzami (do 3°C) oraz koniecznością podłączania ich do różnych portów, jeśli nie stosuje się identyfikacji numerów. W przypadku LM35 problemem jest wpływ długości kabla (powyżej 30 cm) na dokładność pomiaru, co może wymagać zastosowania wzmacniaczy operacyjnych (np. z wzmocnieniem 10x) lub ekranowanych kabli. Przy dłuższych odległościach (3-15 m) stosuje się również uśrednianie wielu pomiarów w celu poprawy stabilności. Wskazano, że DS18B20 są bardziej odporne na zakłócenia na długich kablach i oferują większą dokładność niż standardowy ADC w ATmedze16, choć ich jakość zależy od źródła zakupu (oryginalne vs. podróbki). Alternatywnie proponowano zastosowanie lokalnych przetworników A/C (np. Tiny15) przy każdym czujniku i transmisję cyfrową lub konwersję napięcia na częstotliwość (U/f) z wykorzystaniem układów AD7741/AD7742, jednak wiąże się to z dodatkowymi kosztami i komplikacjami, takimi jak stabilność napięcia odniesienia. Ostateczny wybór zależy od wymagań dotyczących dokładności, kosztów i warunków instalacji.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA