Strona 1 z 1

Tania alternatywa dla LM35

: niedziela 03 gru 2017, 02:06
autor: Antystatyczny
Jakiś czas temu natrafiłem przypadkiem na poradnik obsługi analogowego czujnika temperatury o symbolu fabrycznym LM35. Zaciekawiony tematyką postanowiłem nabyć taki czujnik i jakież było moje zdziwienie, gdy zobaczyłem jego cenę. Pomyślałem jednak, że w ramach testu kupię taki czujnik, a potem poszukam czegoś tańszego o podobnej konstrukcji i parametrach.
LM35 okazał się całkiem sympatycznym wyrobem, ale nie spodobał mi się sposób pomiaru temperatur ujemnych oraz cena (o czym już wspomniałem). Po niedługich poszukiwaniach natrafiłem na czujniki firmy Microchip o symbolu MCP9700A. W zasadzie jest to grupa czterech różnych czujników, a wybrałem MCP9700A, bo jest najbardziej zbliżony do LM35.

Pora zerknąć na kilka podstawowych parametrów obu czujników:

Zgrubne_porównanie_czujników.PNG


Pomijając szerszy zakres napięcia tolerowany przez LM35 oraz niższe zapotrzebowanie na prąd w przypadku MCP9700A, reszta parametrów jest podobna. Przy okazji wspomnę, że oba czujniki posiadają identyczny rozkład wyprowadzeń w obudowach TO-92, a więc nie trzeba przerabiać
druku (przynajmniej teoretycznie).

Podłączenie czujników LM35 i MCP9700.

LM35_single_ended_output.png


MCP9700A_single_ended_output.png


W przypadku pomiaru temperatur dodatnich wystarczy podłączyć do czujników zasilanie, a następnie zmierzyć napięcie na ich wyjściach. Korzystając z MCP9700 należy odjąć od wyniku napięcie obecne przy temperaturze 0°C, które wynosi 400mV lub 500mV, zależnie od wybranego typu czujnika MCP (patrz dokumentacja).

Podłączenie czujników LM35 i MCP9700. Pomiar temperatur dodatnich i ujemnych.

LM35_differential_out.png


Pomiar temperatury ujemnej przy pomocy czujnika LM35 nie jest już tak banalny, a i podłączenie czujnika uległo pewnemu skomplikowaniu. Zastosowałem dwie diody, by podnieść napięcie od strony masy czujnika, a rezystor R1 umożliwia czujnikowi ustalenie napięcia wyjściowego na poziomie poniżej potencjału masy czujnika. Napięcie odkładające się na diodach D1 i D2 należy odjąć od napięcia zmierzonego na wyjściu układu.

MCP9700A_single_ended_output__.png


Tymczasem aplikacja MCP9700A wygląda...tak samo! No proszę, nie trzeba niczego przerabiać, dorabiać i komplikować, by można było mierzyć temperatury ujemne. Wspaniale!
Nie dość, że sam czujnik jest wielokrotnie tańszy, to jego podłączenie nie wymaga żadnych dodatkowych elementów. Wszystko załatwia struktura wewnętrzna MCP9700. Na wyjściu mamy 400mV lub 500mV przy temperaturze 0ºC, a więc na skali napięciowej mamy dość miejsca, by mierzyć również ujemną temperaturę. Oczywiście to napięcie należy uwzględnić w obliczeniach – zupełnie tak samo jak w przypadku wykorzystania LM35.

Podsumowując, warto zastanowić się nad zakupem MCP9700A zamiast LM35, bo można uprościć układ, obniżyć koszty oraz zaoszczędzić czas przeznaczany na projektowanie. Nie trzeba korzystać z pomiarów różnicowych, nie trzeba zużywać dwóch pinów mikrokontrolera do dwupunktowego pomiaru napięcia, zużycie prądu się zmniejszy, a program uprości. Bym zapomniał, MCP9700A można z powodzeniem używać w układach zasilanych napięciem 3,3V, podczas gdy LM35 będzie wymagał osobnego zasilania, czyli minimum 4V.

Re: Tania alternatywa dla LM35

: niedziela 03 gru 2017, 03:47
autor: Antystatyczny
Stworzenie termometru z wykorzystaniem MCP9700A nie nastręcza żadnych problemów. Aby uzyskać przyjemniejszy dla oka efekt, można umieścić w programie prościutkie nadpróbkowanie, które umożliwia zwiększenie dokładności pomiaru napięcia będącego na wyjściu czujnika MCP9700A. Oprócz nadpróbkowania warto zastosować uśrednianie SMA (Simple Moving Average), które, w przeciwieństwie do buforowania wyników, nie wprowadza opóźnienia w prezentacji wyników oraz umożliwia regulację "rozleniwienia" wskazań termometru.

Stworzyłem na szybko "kawałek" termometru, by każdy mógł przeprowadzić własne testy nie tracąc czasu na podstawowy kod obsługi. Do takiego układu:

Ukryta zawartość
To forum wymaga zarejestrowania i zalogowania się, aby zobaczyć ukrytą zawartość.


Dopisałem kawałek kodu:

Ukryta zawartość
To forum wymaga zarejestrowania i zalogowania się, aby zobaczyć ukrytą zawartość.


Termometr wyświetla temperaturę z dokładnością 0.01°C (o ile każdy dopasuje sobie wartość ADC_VREF do wartości faktycznej). Życzę miłej zabawy! :)

Do pobrania:

Ukryta zawartość
To forum wymaga zarejestrowania i zalogowania się, aby zobaczyć ukrytą zawartość.

Re: Tania alternatywa dla LM35

: niedziela 03 gru 2017, 16:10
autor: tasza
Ciekawe porównanie i wskazówka cenna aby się zainteresować MCP9700, ja przynajmniej tej kostki nie znałam, muszę tę zaległość nadrobić; może nie tyle cena układu tu kluczowa, co obsługa ujemnych temperatur bez dodatkowych elementów dzięki temu sztucznemu zeru, to jest po prostu wygodne; ja jednak odrobinę stanę w obronie LM35, bo nie zawsze tylko numeryczne parametry są ważne, układzik LM35 w metalowej obudowie TO-52 wygląda oryginalnie i intrygująco na tle innych plastików, według mnie przynajmniej jest po prostu ładny...no ale każdy patrzy inaczej.

Re: Tania alternatywa dla LM35

: niedziela 03 gru 2017, 19:29
autor: Antystatyczny
tasza pisze:układzik LM35 w metalowej obudowie TO-52 wygląda oryginalnie i intrygująco na tle innych plastików


Masz rację, ale ten metal nie powoduje, że zakres pomiarowy czujnika wzrasta. Może wytrzymuje obecność oparów jakichś substancji, bo przecież z jakiegoś powodu jest metalowy.

Re: Tania alternatywa dla LM35

: poniedziałek 04 gru 2017, 20:10
autor: piotrek
Antystatyczny pisze:Masz rację, ale ten metal nie powoduje, że zakres pomiarowy czujnika wzrasta. Może wytrzymuje obecność oparów jakichś substancji, bo przecież z jakiegoś powodu jest metalowy.


Metal lepiej przewodzi ciepło, co przekłada się na dokładność pomiarów. Taką metalową obudowę można przylutować do źródła ciepła co znakomicie zmniejszy rezystancję termiczną układu.

Re: Tania alternatywa dla LM35

: poniedziałek 04 gru 2017, 20:47
autor: Antystatyczny
piotrek pisze:aką metalową obudowę można przylutować do źródła ciepła

O ile czujnik wytrzyma taką operację, a sama obudowa kwalifikuje się do lutowania. Tak czy siak jest to jakieś wyjaśnienie.

Re: Tania alternatywa dla LM35

: poniedziałek 04 gru 2017, 21:18
autor: SuperGość
Informacje z DS http://www.ti.com/lit/ds/symlink/lm35.pdf rozdział 10 wyjaśniają tą kwestię.
Ale generalnie podzielam zdanie taszy, że one poza innymi walorami są po prostu ładniejsze - tyle że to obudowa TO-46 raczej niż TO-52 (te są wyższe) ale to szczegół jest :)

Re: Tania alternatywa dla LM35

: poniedziałek 04 gru 2017, 21:22
autor: Antystatyczny
No proszę, to przeoczyłem. A zatem Piotrek idealnie opisał zastosowanie tego typu obudowy :) Zanotowałem (w głowie).