Elektroda.pl
Elektroda.pl
X

Wyszukiwarki naszych partnerów

Wyszukaj w ofercie 200 tys. produktów TME
Proszę, dodaj wyjątek elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Diodowy termometr wysokotemperaturowy

vidmo91 03 Paź 2017 19:03 2766 13
  • Prosty termometr do pracy wykorzystuje tylko jedną diodę 1n4148, oraz rezystor.
    Potrzebowałem termometru do temperatur >200 °C. Popularne 18DS20 działają do 125 °C, w lokalnym elektronicznym nie mieli termistorów, a ja jestem niecierpliwy, termopary potrzebują drogiego wzmacniacza. Same problemy... Po przejrzeniu zasobów Internetu w temacie pomiaru temperatury okazało się, że napięcie progowe złącza krzemowego p-n jest liniowo zależne od jego temperatury. Co za tym idzie pomiar napięcie progowego diody pozwala na określenie jej temperatury.
    Wybór padł na 1n4148 ponieważ są szklane (dzięki czemu odporne na wysokie temperatury), tanie i mam ich mnóstwo w szufladzie. Ich nota katalogowa zawiera wykres opisujący zależność napięcia progowego od temperatury i prądu płynącego przez diodę:
    Diodowy termometr wysokotemperaturowy

    Dioda została podłączona do Arduino Pro mini tak jak na poniższym schemacie:
    Diodowy termometr wysokotemperaturowy

    Arduino mierzy napięcie progowe diody.
    Pro mini jest tak naprawdę ATmegą328P gotową do pracy z kwarcem 16MHz. Podłączone są wszystkie kondensatory odsprzęgające, dodany regulator 5V, cena z wysyłką z Chin jest porównywalna do ceny gołej ATmegi PDIP, a nic nie trzeba już kombinować. Same plusy :) Polecam też Chińskie Nano z zamontowaną przejściówką USB-UART.
    Zastosowałem rezystor 10k, dlatego dla zasilania 5V przez diodę płynie prąd około 0,5mA. Można wykorzystać rezystory o większym oporze, nie polecam mniejszych, bo dioda może zacząć się grzać.
    Zmierzone napięcie to jeszcze nie temperatura, tę trzeba jeszcze obliczyć. Żeby to zrobić termometr trzeba skalibrować. W tym celu trzeba skorzystać z innego termometr. Ja wykorzystałem termoparę multimetru. Żeby połączyć termicznie oba czujniki spiąłem je krokodylkiem tak jak na poniższym zdjęciu.
    Diodowy termometr wysokotemperaturowy

    Następnie korzystając z prostego kodu napisanego w Arduino zmierzyłem napięcia progowe diody dla kilku temperatur. Można posłużyć się jakimś urządzeniem grzewczym. Temperatura musi być stabilna tj. wskazania obu czujników przez przynajmniej kilkanaście sekund stałe. Całość wprowadziłem do Excela i zza pomocą funkcji REGLINP obliczyłem współczynniki a i b funkcji liniowej f(x)=ax+b w dwóch wersjach A i B: dla 4 temperatur i dla dwóch skrajnych. W celu weryfikacji obliczyłem temperatury korzystając z obliczonych funkcji: błędy to +-2 °C.




    Okienko Excela wyglądało następująco:
    Diodowy termometr wysokotemperaturowy

    Współczynniki wprowadziłem do kodu Arduino tak powstał wysokotemperaturowy termometr diodowy. Termometr jest bardzo szybki, dorównuje szybkością termoparze z miernika. Dokładność zależy do dokładności kalibracji.
    Poniższe zdjęcie przedstawia gotowy układ testowy. Podłączone przewody łączom układ z programatorem i przejściówką USB-UART.
    Diodowy termometr wysokotemperaturowy

    Kod pisałem w Arduino, ponieważ jest to proste urządzenie i nie potrzebowałem nic więcej. Docelową aplikację współpracującą z dwoma diodowymi termometrami i SSRami do kontroli grzałek i silnika napiszę już w prawdziwym C. poniższy kod jest banalnie prosty, wykorzystuje tylko jedną bardziej zaawansowaną rzecz: konfiguruje ADC do pracy z wewnętrznym napięciem referencyjnym 1,1V w celu wykonywania dokładniejszych pomiarów (według wykresu z noty napięcie nie wzrasta powyżej 1V nawet dla -30 st.C i 100mA). Kod ten jest minimum wystarczającym do kalibracji i wykorzystania termometru. Pewnie pokuszę się jeszcze o oversampling, ale w tej konfiguracji termometr działa stabilnie i dokładnie.
    No i wreszcie wrzucam kod:

    Kod: c
    Zaloguj się, aby zobaczyć kod

    Generuje on takie wyniki:
    Code:

    Voltage A1 = 669 mV    Temp A1 = 22.37 C
    Voltage A1 = 669 mV    Temp A1 = 22.37 C
    Voltage A1 = 669 mV    Temp A1 = 22.37 C

    Mam nadzieję, że komuś przyda się taki szybki termometr. Jeśli będzie dobrze skalibrowany, to będzie dość dokładny. Dokładność mojego nie jest duża (+-2 °C), ponieważ dysponowałem tylko miernikiem z dokładnością do 1 °C, a kalibrację przeprowadzałem szybko, ale dla mnie jest wystarczająca.


    Fajne!
  • #2 03 Paź 2017 19:43
    R-MIK
    Poziom 37  

    vidmo91 napisał:
    Można wykorzystać większe, nie polecam mniejszych, bo dioda może zacząć się grzać.

    Zdaje sie na odwrót.

  • #3 03 Paź 2017 19:45
    Freddy
    Poziom 43  

    vidmo91 napisał:
    Wybór padł na 1n4148 ponieważ są szklane
    vidmo91 napisał:
    Potrzebowałem termometru do temperatur >200 °C

    Ciekawostka - maksymalna temperatura przechowywania to 200°C, a pracy to 125°C według DS.

  • #4 03 Paź 2017 20:34
    vidmo91
    Poziom 9  

    R-MIK napisał:
    vidmo91 napisał:
    Można wykorzystać większe, nie polecam mniejszych, bo dioda może zacząć się grzać.

    Zdaje sie na odwrót.

    Nie, ponieważ chcemy mniejszy prąd, a I=U/R, czyli zwiększając R zmniejszamy I.
    edit: Jeśli chodziło o napięcie, to już ujednoznaczniłem.

    Freddy napisał:
    vidmo91 napisał:
    Wybór padł na 1n4148 ponieważ są szklane
    vidmo91 napisał:
    Potrzebowałem termometru do temperatur >200 °C

    Ciekawostka - maksymalna temperatura przechowywania to 200°C, a pracy to 125°C według DS.


    Nie mam pojęcia od kogo mam diody, ale zdania są podzielone :-? :
    Producent: Temp. pracy / przechowywania
    Fairchild: 175°C / 200°C
    Diodes inc.: 175°C / 175°C
    NXP: 200°C / 200°C

  • #5 03 Paź 2017 20:57
    R-MIK
    Poziom 37  

    vidmo91 napisał:
    R-MIK napisał:
    vidmo91 napisał:
    Można wykorzystać większe, nie polecam mniejszych, bo dioda może zacząć się grzać.

    Zdaje sie na odwrót.

    Nie, ponieważ chcemy mniejszy prąd, a I=U/R, czyli zwiększając R zmniejszamy I.
    edit: Jeśli chodziło o napięcie, to już ujednoznaczniłem.

    Ja myślałem o prądzie :-)

    Kiedyś robiłem termometr na 1N4007 w sprzężeniu zwrotnym wzmacniacza operacyjnego. Dawał on napięcie 10mv/stopień. Teraz można zrobić to prościej. Jak chcesz zwiększyć rozdzielczość to daj wzmacniacz operacyjny i odejmij 600mV. Użyteczny zakres pomiarowy bedzie 0..1,1V a nie jak teraz 0,6..1,1V czyli prawie dwa razy większy. Nie nadaje sie do tego tryb różnicowy (nie każdy AVR go ma). Owszem, podając na jedno z wyprowadzeń 600mV, na drugie z dzielnika z dioda jak teraz zakres zostanie rozciągnięty ale najstarszy bit ADC jest wtedy przeznaczony na znak, więc zysk znika.

  • #6 03 Paź 2017 23:24
    vidmo91
    Poziom 9  

    R-MIK napisał:
    vidmo91 napisał:
    R-MIK napisał:
    vidmo91 napisał:
    Można wykorzystać większe, nie polecam mniejszych, bo dioda może zacząć się grzać.

    Zdaje sie na odwrót.

    Nie, ponieważ chcemy mniejszy prąd, a I=U/R, czyli zwiększając R zmniejszamy I.
    edit: Jeśli chodziło o napięcie, to już ujednoznaczniłem.

    Ja myślałem o prądzie :-)

    Kiedyś robiłem termometr na 1N4007 w sprzężeniu zwrotnym wzmacniacza operacyjnego. Dawał on napięcie 10mv/stopień. Teraz można zrobić to prościej. Jak chcesz zwiększyć rozdzielczość to daj wzmacniacz operacyjny i odejmij 600mV. Użyteczny zakres pomiarowy bedzie 0..1,1V a nie jak teraz 0,6..1,1V czyli prawie dwa razy większy. Nie nadaje sie do tego tryb różnicowy (nie każdy AVR go ma). Owszem, podając na jedno z wyprowadzeń 600mV, na drugie z dzielnika z dioda jak teraz zakres zostanie rozciągnięty ale najstarszy bit ADC jest wtedy przeznaczony na znak, więc zysk znika.


    Wiem, że można lepiej (zawsze można :D ), ale moim celem było najprościej i do 200 °C. Kalibracja za pomocą multimetru i tak nie pozwoliłaby na większą dokładność, więc większa rozdzielczość niewiele pomoże.
    Termometr, tak jak pisałem ma być częścią przerobionego laminatora do produkcji PCB. Do tego celu został stworzony i spełnia swoje zadanie wystarczająco. Gdybym potrzebował pomiarów precyzyjnych wykorzystałbym termoparę albo PT100.
    Można nawet jeszcze prościej, ale za to na 2 piny: wykorzystując wewnętrzny rezystor 10k pullup, ale jakiś nie przemawia do mnie to rozwiązanie.

  • #7 03 Paź 2017 23:27
    R-MIK
    Poziom 37  

    vidmo91 napisał:
    wykorzystując wewnętrzny rezystor 10k pullup, ale jakiś nie przemawia do mnie to rozwiązanie.

    Zdaje sie ok 40k.

  • #8 03 Paź 2017 23:30
    vidmo91
    Poziom 9  

    R-MIK napisał:
    vidmo91 napisał:
    wykorzystując wewnętrzny rezystor 10k pullup, ale jakiś nie przemawia do mnie to rozwiązanie.

    Zdaje sie ok 40k.

    Datasheet twierdzi, że 20k-50k, a byłem przekonany, że 10k... :oops:

  • #9 04 Paź 2017 07:57
    Freddy
    Poziom 43  

    vidmo91 napisał:
    Nie mam pojęcia od kogo mam diody, ale zdania są podzielone :
    Producent: Temp. pracy / przechowywania
    Fairchild: 175°C / 200°C
    Diodes inc.: 175°C / 175°C
    NXP: 200°C / 200°C
    To co podajesz, to są Absolute Maximum Rating a nie warunki normalnej pracy. No ale skoro twierdzisz, że jest inaczej i wiesz lepiej ...

    NXP od 10 lat nie produkuje już, to samo Diodes Inc. Wprowadzili nowe 1N4148W z zakresem temperatur -65 ÷ 150 °C.

    Fairchild już nie istnieje firma, teraz to jest On Semiconductor. :)

    Takie termometry buduje się na zakresy -30 do 100°C.
    Dioda musi być zamontowana hermetycznie w jakimś "etui".
    ---------------------------------------------------------------------
    Tego typu termometry robi się raczej umieszczając diodę w sprzężeniu OpAmp.
    Diodowy termometr wysokotemperaturowy

  • #10 05 Paź 2017 08:57
    andrzejlisek
    Poziom 28  

    vidmo91 napisał:
    Nie mam pojęcia od kogo mam diody, ale zdania są podzielone :-? :
    Producent: Temp. pracy / przechowywania
    Fairchild: 175°C / 200°C
    Diodes inc.: 175°C / 175°C
    NXP: 200°C / 200°C


    Z pierwszego postu rozumiem, że potrzebujesz mierzyć temperaturę powyżej 200 stopni, czyli np. temperaturę w piekarniku. Jaka jest górna granica temperatur, które chcesz mierzyć?

    Jak widać, producenci różnie podają, ale żaden nie podaje temperatury powyżej 200 stopni.

  • #11 05 Paź 2017 09:53
    jarek_lnx
    Poziom 43  

    Małe sprostowanie

    vidmo91 napisał:
    termopary potrzebują drogiego wzmacniacza.

    Albo taniego wzmacniacza i równie taniego potencjometru do wyzerowania offsetu.

    vidmo91 napisał:
    Po przejrzeniu zasobów Internetu w temacie pomiaru temperatury okazało się, że napięcie progowe złącza krzemowego p-n jest liniowo zależne od jego temperatury.
    Przy szerokim zakresie mierzonych temperatur widoczna jest znacząca nieliniowość (sprawdź w trzech punktach - początek koniec i środek zakresu), rozwiązania wymagające liniowości opierają się na innej zasadzie - np. pomiarze rezystancji dynamicznej diody.

  • #12 05 Paź 2017 10:13
    R-MIK
    Poziom 37  

    jarek_lnx napisał:
    Małe sprostowanie
    vidmo91 napisał:
    termopary potrzebują drogiego wzmacniacza.

    Albo taniego wzmacniacza i równie taniego potencjometru do wyzerowania offsetu.

    I termometru to kompensacji "zimnego końca".

    Co do drogi. Taki np Moduł z AMX6675 + termopara do 400 stopni kosztuje 27zł, na "Aledrogo" 24zł, u Chińczyka jeszcze mniej.

  • #13 09 Paź 2017 00:00
    vidmo91
    Poziom 9  

    andrzejlisek napisał:
    Z pierwszego postu rozumiem, że potrzebujesz mierzyć temperaturę powyżej 200 stopni, czyli np. temperaturę w piekarniku. Jaka jest górna granica temperatur, które chcesz mierzyć?
    Jak widać, producenci różnie podają, ale żaden nie podaje temperatury powyżej 200 stopni.

    Laminatory do termotransferu podobno grzeje się do około 180°C więc uznałem, że 200°C to granica. Standardowo chcę pracować z folią fotopolimerową, która ładnie nanosiła się w normalnej temperaturze pracy laminatora 125-150°C.

    R-MIK napisał:

    Co do drogi. Taki np Moduł z AMX6675 + termopara do 400 stopni kosztuje 27zł, na "Aledrogo" 24zł, u Chińczyka jeszcze mniej.

    Za 24zł to ja mam całe sterowanie do laminatora: Arduino, 2 SSRy, zasilacz i jeszcze piwo do tego, bo zasilacz to stara ładowarka do Nokii :) Więc chyba mogę uważać, że to drogo, skoro przewyższa koszt całego projektu...
    Niezłym pomysłem są też termistory NTC przeznaczone do drukarek 3D (za 1-2zł), które dają możliwość pomiar do 300°C, ale o datasheetach w tej cenie można zapomnieć... Analogiczne Epcos kosztują mniej więcej 15-30zł, co dalej uważam za dużo.

    Jeszcze raz powtarzam projekt jest hobbistyczny, więc jeśli coś pójdzie nie tak, to najwyżej będę miał więcej zabawy.
    W laminatorze będzie wyłącznik termiczny zabezpieczający ustrojstwo przed spaleniem, więc awaria termometra mi nie straszna.
    Różnice temperatur +-2°C w stosunku do rzeczywistych to zadowalający mnie wynik.

  • #14 09 Paź 2017 08:17
    jarek_lnx
    Poziom 43  

    Jest jeszcze czujnik KTY-84 ma zakres do 300°C obudowę ma taką samą jak dioda i kosztuje kilka zł, jest to krzemowy termistor.

    A co do termopary - zdarzało mi się zrobić z materiałów które były pod ręką - drut oporowy z konstantanu i miedziany to termopara typu T, drut stalowy i miedziany - nie produkują takich ale dało sie skalibrować, zdarzało się też użyć przewodu kompensacyjnego do termopary typu K jako czujnika, więc jeśli jest potrzeba, a wymagania nie są wygórowane, to zawsze da sie coś wymyślić z tego co pod ręką,

 Szukaj w ofercie
Zamknij 
Wyszukaj w ofercie 200 tys. produktów TME