Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

[ATmega16][c]Termometr -20/+1100*C czujnik typu K

ma3-4ysz 19 Sep 2008 17:38 4139 13
  • #1
    ma3-4ysz
    Level 24  
    Witam!
    Potrzebuję wykonać termometr w zakresie temperatur od -20 do +1100*C wykorzystujący termoelektryczny czujnik temperatury (termoparę) typu K (NiCr-NiAl) bazując na µP ATmega16. Interesuje mnie aby tor pomiarowy nie wprowadzał większego błędu, niż +/-0,5*C.
    Problem dla mnie w tym projekcie stanowi strona sprzętowa a w szczególności połączenie czujnika termoelektrycznego z procesorem.
    Jak podejść do sprawy?
    Czy kondycjonować sygnał z termopary (na dole jest podana charakterystyka http://www.sensor.limatherm.pl/index.html?id=45665&location=f&msg=1&lang_id=PL czyli od ok -1 do ok 45mV) jakimś wzmacniaczem i podać na przetwornik + dorobić termometr w miejscu przyłączenia przewodu kompensacyjnego i zrobić kompensację?
    Czy zastosować specjalizowany układ zawierający kompensację, przetwornik? Jeśli tak to jaki układ, bo nie znalazłem, takiego, który obsługuje taki zakres temperatur?
    Jakoś to się chyba da, bo z LUMEL'a, APAR'a czy LIMATHERM to jakoś robią.
    Tylko jak?
  • #2
    Dr_DEAD
    Level 28  
    ma3-4ysz wrote:
    Witam!
    Potrzebuję wykonać termometr w zakresie temperatur od -20 do +1100*C wykorzystujący termoelektryczny czujnik temperatury (termoparę) typu K (NiCr-NiAl) bazując na µP ATmega16. Interesuje mnie aby tor pomiarowy nie wprowadzał większego błędu, niż +/-0,5*C.

    Trochę za mało wymagań dotyczących błędów podałeś. +/-0.5stC można uzyskać na bylejakim wzmacniaczu z dużą impedancją wejściową i przetwornikiem ADC 10-12-sto bitowym. Problem pojawia się dopiero gdy to +/-0.5stC ma być uzyskane długoterminowo i przy różnych temperaturach otoczenia.
  • #3
    Freddy
    Level 43  
    Możesz zastosować AD7715 jest to 16-Bit, Sigma-Delta ADC specjalizowany do czujników temperatury, lub lepiej
    MAX6675 - Cold-Junction-Compensated K-Thermocouple to-Digital Converter (0°C to +1024°C) z tym, że ten jest tylko 12bitowy.
  • #4
    ma3-4ysz
    Level 24  
    Quote:
    +/-0.5stC można uzyskać na bylejakim wzmacniaczu z dużą impedancją wejściową i przetwornikiem ADC 10-12-sto bitowym. Problem pojawia się dopiero gdy to +/-0.5stC ma być uzyskane długoterminowo i przy różnych temperaturach otoczenia

    I wszystko się zgadza. Budując samemu taki układ na wzmacniaczu trzeba przewidzieć filtrację sygnału, pewnie cyfrową jak i analogową no i wykonać kompensację temperatury wolnych końców - czyli uwzględnić zmiany napięcia termoelektrycznego w miejscu przyłączenia przewodu kompensacyjnego do układu. Taką kompensację trzeba zrobić przynajmniej w zakresie -20 / +40*C. Skoro temperatura wolnych końców może się zmieniać w takim zakresie to znaczy że pozostałe elementy toru powinny trzymać parametry w tym zakresie temperatur.
    Dokładność którą podałem raczej orientacyjnie niż rygorystycznie. Błąd przy pomiarze temperatur w pobliżu zera jest istotny ale przy górnej granicy czy to będzie 1000 czy 999,5*C to już nie taka różnica przecież.
    Najważniejsze, żeby tor wejściowy trzymał parametry i reagował na wielkość mierzoną a nie na śmieci. Pomijam już tu samą kompensację wolnych końców czyli drugi "termometr w termometrze", który w przedziale -20/+40*C idzie zrobić dość dokładny. Jeżeli tor będzie się sprawował możliwie dobrze to i przetwornik 12 bitowy wystarczy.
    Mnie przedewszystkim chodzi o ujemne temperatury, czyli na upartego zawężając górny zakres do powiedzmy 900*C (-20/+900*C) to i 10 bitowy przetwornik przy rozdzielczości 1*C mógłby wystarczyć.
    Wszystkie te problemy rozwiązują dedykowane układy, oprócz pomiaru temp. poniżej zera, np. MAX6675.

    Jeszcze takie pytanie czy kojarzy ktoś jakikolwiek układ dedykowany do termopary K obsługujący węższy zakres temp np-20/+40*C lub obsługujący tylko ujemny zakres?
  • Helpful post
    #5
    Freddy
    Level 43  
    A dyć napisałem AD7715, lub wersja 3 przetworniki AD7707.
    [ATmega16][c]Termometr -20/+1100*C czujnik typu K

    Jest też np. AC1226 Wejdź na stronę analog.com i w Search wpisz thermocouple i dostaniesz sporo odpowiedzi.
  • #6
    ma3-4ysz
    Level 24  
    Poprostu szukałem uparcie układu dedykowanego mając na myśli przetwornik A/D+kompensacja razem i nie mogłem nic znaleźć co by obsługiwało szeroki zakres i to z ujemnymi temperaturami.

    Przeszukując bardziej ogólnie znalazłem przetworniki A/A z wyjściem napięciowym (10mV/1*C).
    Chodzi mi o AD595 pracuje w zakresie wejściowym -55/+125*C i na wyjściu ma 10mV/*C.
    W nocie katalogowej http://www.analog.com/static/imported-files/data_sheets/AD594_595.pdf
    pisze o rozszerzeniu zakresu w innej konfiguracji układu
    Quote:
    Increasing the positive supply from 5 V to 15 V extends
    the output voltage range well beyond the 750°C
    temperature limit recommended for type J thermocouples
    (AD594) and the 1250°C for type K thermocouples (AD595).

    Muszę to sobie "przemyśleć w kąciku", no i gdzie by to kupić tego AD595 i spróbować dać mu zajęcie.
  • #7
    Freddy
    Level 43  
    A na przykład w TME
  • #8
    Dr_DEAD
    Level 28  
    ma3-4ysz wrote:

    Przeszukując bardziej ogólnie znalazłem przetworniki A/A z wyjściem napięciowym (10mV/1*C).
    Chodzi mi o AD595 pracuje w zakresie wejściowym -55/+125*C i na wyjściu ma 10mV/*C.
    W nocie katalogowej http://www.analog.com/static/imported-files/data_sheets/AD594_595.pdf
    pisze o rozszerzeniu zakresu w innej konfiguracji układu
    Quote:
    Increasing the positive supply from 5 V to 15 V extends
    the output voltage range well beyond the 750°C
    temperature limit recommended for type J thermocouples
    (AD594) and the 1250°C for type K thermocouples (AD595).


    Hmmm a zastanawiałeś się nad linearyzacją charaktrystyki termopary?? bo jeżeli rozpatrujemy zakres do 1000stC to z tego co pamiętam nie możemy już uznać jej za liniową. A to pociąga za sobą konieczność użycia uC, a jeżeli już mamy uC z wbudowanym 12-bit ADC to dodał bym tylko wzmacniacz pomiarowy i już mamy komplet.
  • #9
    ma3-4ysz
    Level 24  
    Quote:
    Hmmm a zastanawiałeś się nad linearyzacją charaktrystyki termopary?? bo jeżeli rozpatrujemy zakres do 1000stC to z tego co pamiętam nie możemy już uznać jej za liniową

    Po pierwsze zakładam, że producent układu dedykowanego takiego jak AD595, pisząc, że ma na wyjściu 10mV/*C przemyślał te sprawę i linearyzacji robić nie trzba, zresztą nie szukałem tego w nocie jeszcze. Po drugie linearyzacja to pikuś w porównaniu z innymi problemami.
    Quote:
    A to pociąga za sobą konieczność użycia uC

    Owszem, ale użyję go z założenia, inne przyczyny o tym decydują.
    Quote:
    a jeżeli już mamy uC z wbudowanym 12-bit ADC to dodał bym tylko wzmacniacz pomiarowy i już mamy komplet.

    No właśnie nie takie całkiem proste, jak by się wydawało na pierwszy rzut oka. A propo takie podejście rozważałem już od pierwszego postu i nadal rozważam.
  • #10
    Dr_DEAD
    Level 28  
    ma3-4ysz wrote:

    Po pierwsze zakładam, że producent układu dedykowanego takiego jak AD595, pisząc, że ma na wyjściu 10mV/*C przemyślał te sprawę i linearyzacji robić nie trzba...

    Zgadzam się, jeżeli interesuje Cie dokładność rzędu +/-10stC w zakresie -20-1000stC
    ma3-4ysz wrote:

    No właśnie nie takie całkiem proste, jak by się wydawało na pierwszy rzut oka.

    Czujnik temp. zimnych końców, kalibracja przyciskami, linearyzacja wielomianem,......
  • #11
    Freddy
    Level 43  
    Jeślibyś przeczytał dokumentacje układu, to znalazłbyś odpowiedź.

    Because a thermocouple output voltage is nonlinear with respect
    to temperature, and the AD594/AD595 linearly amplifies the compensated signal, the following transfer functions should be
    used to determine the actual output voltages:
    AD594 output = (Type J Voltage + 16 mV) ´ 193.4
    AD595 output = (Type K Voltage + 11 mV) ´ 247.3 or conversely:
    Type J voltage = (AD594 output/193.4) – 16 mV
    Type K voltage = (AD595 output/247.3) – 11 mV
  • #12
    ma3-4ysz
    Level 24  
    Quote:
    Jeślibyś przeczytał dokumentacje układu, to znalazłbyś odpowiedź.

    Dzięki. Przecież pisałem, że
    Quote:
    ...zresztą nie szukałem tego w nocie jeszcze

    Linearyzacja to kwestia programu i nad nią się zasadniczo nie roztrząsam. Głównie chodzi mi o stronę sprzętową, a ta wydaje się być rozwiązana.
    Pozdrawiam
  • #13
    Pijopic
    Level 17  
    Jesli chodzi o kwestie sprzetowe to doskonalym rozwiazaniem dla tak szerokiego zakresu temperatur jest czujnik typu PT100 ktory ma specjalnie dla niego opracowane uklady linearyzacji, niestety gorny zakres to z tego co pamietam tylko 850 stopni, ale dolny -200...
  • #14
    ma3-4ysz
    Level 24  
    Czujnik będzie pracował w dość nieprzyjaznych warunkach i będzie często wymieniany. Spoina będzie robiona poprzez spawanie dwóch drutów o średnicy 3mm NiAl z NiCr . Jeżeli ma się dostęp do takich drutów i możliwości pospawania to powstaje dość toporny (duża stała czasowa ale proces nie jest zbyt szybki i styka) prosty, odporny i tani czujnik. Te czynniki zadecydowały o typie czujnika.

    Tak pozatym to miałem w rękach miernik temperatury z czujnikiem K o dość niskim dolnym zakresie. Chłodziliśmy browara gaśnicą śniegową (ktoś ją wcześniej użył i była rozplombowana, przeznaczona do napełnienia) i mierzyłem jaka jest temperatura CO2 przy dyszy. Pokazało -97*C około.