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

Arduino + czujnik temperatury PT1000

pangawel 03 Aug 2009 16:44 25909 8
  • #1
    pangawel
    Level 10  
    Witam,
    wlasnie zaczynam przygode z arduino. Zaopatrzylem sie w plytke ARDUINO MEGA z uC AtMega 1280 i przyszedl czas na "rozkmine" wejsc analogowych. Mam do dyspozycji dwupinowy czujnik PT1000.
    Zalozeniem jest wykonanie termometru, ktory z dokladnoscia do ok 0,5 stopnia C pokazywalby temperature w zakresie -20 do 100 stopni C.
    Myslalem,ze zrealizuje to poprzez najprostszy dzielnik napiecia, czyli w uklad wpinam pt1000, dodatkowy opornik o stalym oporze, podpinam zasilanie 5V i badam zmiane napiecia na pt1000. Znalazlem tabele opornosci dla pt1000 i okazalo sie, ze raczej nie bedzie to takie proste.
    A przynajmniej wykracza to poza moje umiejetnosci.
    Na stronie http://www.danielandrade.net/2008/07/05/temperature-sensor-arduino/ przedstawiony jest sposob podpiecia czujnika LM35. Co jednak nie rozwiazuje mojego problemu.
    Jednak jesli ktos probowal juz sil z pt1000(jak wyglada problem kompensacji, przy dlugosci kabla do pt1000 2m), bylbym wdzieczny za jakies naprowadzenie.
    pozdrawiam pangawel


    [Przypominam, że na forum stosujemy polską czcionkę oraz przyjęte zasady pisowni. Proszę poprawić post. Mariusz Ch.]
    Do you have a problem with Arduino? Ask question. Visit our forum Arduino.
  • #2
    Czybyszew
    Level 20  
    Charakterystyka PT1000 jest praktycznie liniowa więc możesz sobie ją opisać wzorem, dzięki czemu otrzymasz funkcję T=f(Rpt) gdzie Rpt to rezystancja czujnika. Równanie takie dla pierwszego lepszego PT1000 jaki znalazłem na necie wygląda tak T[°C]=(Rpt[Ω] - 1000)/3,9.
    Do pomiaru rezystancji możesz użyć następującego układu.
    Arduino + czujnik temperatury PT1000
    Jednak wymaga to bardzo stabilnego napięcia Uz i rezystora R o dobrej tolerancji.
    Napięcie Ur mierzysz z przetwornika A/C mikrokontrolera.
    Dalej w uC musisz zawrzeć algorytm na obliczanie Rpt i T =f(Rpt).
    Dokładność pomiaru można zwiększyć wykorzystując dwa wejścia A/C i mierzyć jednocześnie napięcie na rezystorze wzorcowym R i napięcie na Pt1000.
    Wtedy Rpt = (Upt / Ur) *R.
    P.S
    Kompensacją kabla 2m nie zawracaj sobie głowy - nie ma potrzeby.
  • #3
    Stary1952
    Level 32  
    Witam .
    Czujniki PT1000 to czujniki o szerokim zastosowaniu , cechują się dużą dokładnością .
    http://pl.heating.danfoss.com/PCMPDF/VD57U349_PT1000.pdf
    Dodam jeszcze , że tak należy dobrać wartość Uz i R aby prąd płynący przez układ pomiarowy nie przekraczał 1mA . Większy prąd może sfałszować pomiar , występuje wtedy tz. zjawisko podgrzewania PT1000 . :|
    Pozdrawiam .
  • #4
    pangawel
    Level 10  
    Serdeczne dzieki za odpowiedz i za fakt, ze mozna na Was liczyc.

    Majac na uwadze co napisal Stary1952 o pradzie nieprzekraczajacym wartosci 1mA, wybralem opornik R o wartosci 4kΩ, zwazywszy na fakt, iz napiecie Uz=5V.
    Czujnik PT1000 zgodnie z tabela ma opornosc w zakresie -40 do +100 stopni C odp 842,47Ω oraz 1385Ω.
    W Arduino przetwornik A/C jest 8-bitowy, czyli napieciom 0-5V odpowiadaja jednostki 0-1023. Moim celem byloby uzyskac napiecie w okolicach 0V dla temp -40stopni C oraz w okolicach 5V dla +100 stopni C.
    Poki co po dobraniu rezystora R=4kΩ, zmiana napiecia Ur,ktore mozna wyliczyc to dla -40 stopni 4,13V, zas dla 100 stopni 3,71V. Co daje zakres jakies 0,42V, czyli 86 jednostek.
    Zatem z teoretycznej dokladnosci 0,14stopnia/jednostke otrzymuje 1,63stopnia/na jednostke.
    Wiem, ze jestem laikiem,ale czy moje myslenie calkowicie odbiega od prawdy, czy jest jakas szansa na zwiekszenie dokladnosci?! Czy moj tok postepowania jest prawidlowy?
    Ze wzgledu na kilka elementow ktore dodatkowo chcialbym podpiac pod wejscia analogowe nie bardzo moge skorzystac z propozycji Kolegi Czybyszew'a z pomiarem spadku napiecia jednoczesnie na Rpt oraz R.
    Z gory serdeczne dzieki za jakakolwiek rade.



    P.S.Przy okazji prosba do Admina- znam zasady pisowni zawarte w regulaminie i szanuje je, ale obecnie w ramach nauki jezyka mam zainstalowany niepolski system. Wkrotce postaram sie poprawic to co napisalem,ale prosze jeszcze o chwilowa wyrozumialosc.
  • #5
    Stary1952
    Level 32  
    pangawel wrote:

    Czujnik PT1000 zgodnie z tabela ma opornosc w zakresie -40 do +100 stopni C odp 842,47Ω oraz 1385Ω.
    W Arduino przetwornik A/C jest 8-bitowy, czyli napieciom 0-5V odpowiadaja jednostki 0-1023. Moim celem byloby uzyskac napiecie w okolicach 0V dla temp -40stopni C oraz w okolicach 5V dla +100 stopni C.
    Poki co po dobraniu rezystora R=4kΩ, zmiana napiecia Ur,ktore mozna wyliczyc to dla -40 stopni 4,13V, zas dla 100 stopni 3,71V. Co daje zakres jakies 0,42V, czyli 86 jednostek.

    Witam .
    Rozważ możliwość zastosowania w swoim projekcie układu mostka pomiarowego i wzmacniacza operacyjnego ?. :idea:
    Pozdrawiam .
  • #6
    pangawel
    Level 10  
    Stary1952 wrote:

    Witam .
    Rozważ możliwość zastosowania w swoim projekcie układu mostka pomiarowego i wzmacniacza operacyjnego ?. :idea:
    Pozdrawiam .


    Witam,
    jak Kolega zasugerowal sprobowalem zbudowac mostek Wheatstone'a. Nie ukrywam, ze to dla mnie nowosc <wstydzi>. W galaz czujnika temperatury Rpt wpialem amperomierz. Mialo to na celu takie dobranie pozostalych opornikow, aby prad plynacy przez PT1000 byl nie wiekszy niz 1mA. Uklad zbudowalem w programie electronics workbench.
    Probowalem roznych kombinacji, przy stosunku opornosci R3/R4 poczawszy od 0,01;0,1;1;10;100 (tak jak mowia o tym na wikipedii=).
    Z podanego ponizej wzoru obliczylem Rx (rownowaga mostka). Z uwagi na moja niewiedze( nie wiedzialem w ktorym miejscu mierzyc spadek napiecia) wpialem woltomierze, nie tylko w miejsca pokazane na rysnku,ale rowniez badalem spadek napiecia na pozostalych rezystorach.
    Moje wyniki byly raczej niezadowalajace.Tzn osiagnalem co prawda nieznaczna poprawe,ale nie taka jakiej sie spodziewalem. Wynika to pewnie z faktu i przy doborze rezystancji raczej strzelalem wartosci, zamiast je wyznaczyc z jakiegos wzoru.
    Arduino + czujnik temperatury PT1000
    Odnosnie wzmacniacza operacyjnego. Czy zaciski mialbym wpiac tak jak na rysunku ponizej?
    Arduino + czujnik temperatury PT1000

    Dziekuje serdecznie za jakakolwiek podpowiedz. Bardzo zalezy mi na doprowadzeniu tego do konca. Postaram sie wlozyc w to wiecej serca=)
  • #7
    pangawel
    Level 10  
    Witam,
    temat może odrobinę odświeżany, ale dla mnie nadal aktualny, ponieważ z braku czasu i umiejętności nie został zakończony powodzeniem.
    Domyślam się, że biorący udział w dyskusji po moim ostatnim poście załamali ręce nad poziomem mojej wiedzy, ale to właśnie do Was mam prośbę.
    Miałem chwilę, aby znaleźć gotowca. Niestety większość układów linearyzujących czujniki platynowe działa albo w wąskim zakresie,albo daje na wyjściu za duże napięcie. Mnie granicza 0-5V.
    Znalazłem coś takiego. Bardzo proszę o opinie, czy da sie to "ustrojstwo" wykorzystać.
    Arduino + czujnik temperatury PT1000

    Plan jest taki aby w zakresie -20 do 100 stopni C badać temperaturę czujnikiem pt1000 oraz czujnikiem pt100.
    Co myślicie nad układem XTR105 od Texas Instrument, albo układem LT1001?

    Z góry serdecznie dziękuję za wszelkie odpowiedzi.
  • #9
    lotnygaz
    Level 12  
    http://www.maxim-ic.com/app_notes/index.mvp/id/3450

    Narys 9 górny WO pracuje jako źródło prądowe , dolny WO -pracuje jako wzmacniacz różnicowy- wzmacnia sygnał z PT100.

    Czujnik podłącza się 2, 3 lub 4 przewodami. Przy podłączeniu 4 przewodowym uzyskujemy kompensacje rezystancji przewodów zasilających, ponieważ druga para służy tylko do doprowadzenie sygnału napięcia.

    ps. warto czytać książki a nie tylko opierać sie na internecie