pomiar temp. na uP

Jun 07, 2004 9 Replies

Witam!! Realizuje pomiar temperatury na uP. Przez czyjnik KTY-10 laduje kondensator i mierze czas ladowania sie kondensatora. Zastanawiam sie jak najlepiej zrealizowac przeliczanie czasu ladowania na temperature.(wynik pomiaru mam w



16 bitowym liczniku) Chce uzyskac dokladnosc pomiaru 0.1'C, i ewentualnie jak sie zabrac za linearyzacje bo ten czyjnik nie do konca jest liniowy. Chodzi mi g³ównie o pomysly na wykonanie programu (algorytm). A moze gdzies w sieci jest jakis opis? Za wszelkie informacje dziekuje. Pozdrawiam Artur

U¿ytkownik "Artur" snipped-for-privacy@interia.pl napisa³ w wiadomo¶ci news:ca15gi$qs0$ snipped-for-privacy@atlantis.news.tpi.pl...

[...]

W jaki sposób? Tolerancja czujnika 1%.

W AVRach masz komparator, ktory mozesz wykorzystac do tego celu. Na jeden pin podajesz Uref, na drugi kondensator+czujnik, po przekroczeniu okreslonego napiecia na kondensatorze przelacza sie komparator i generuje przerwanie, w ktorym odczytujesz wartosc licznika, nastepnie rozladowywujesz kondziola, zerujesz licznik i cykl sie powtarza. IMHO to najprostsze i programowo najbardziej efektywne rozwiazanie. A moze zastanow sie nad wykorzystaniem innego czujnika? Np. z firmy Sensirion SHT 75/71 maja wymagana dokladnosc, a wyjscie masz cyfrowe, gotowe do podlaczenia do procka. Ew. standardowy ds1820, z tym, ze dla uzyskania dokladnosci lepszej niz 0,5 stopnia trzeba troche pokombinowac.

Po kalibracji i jeśli nie przegnie z prądem płynącym przez czujnik - do zrobienia. Tylko będzie miał kłopot z kondensatorem na tyle stabilnym, żeby kalibracja się utrzymała...

U¿ytkownik "JarekC" snipped-for-privacy@alpha.net.pl> napisa³ w wiadomo¶ci news:ca179e$u6q$1@213.241.113.186...

no tak chodzilo mi o rozdzielczosc nie dokladnosc

U¿ytkownik "T.M.F." snipped-for-privacy@nospam.mp.pl> napisa³ w wiadomo¶ci news: snipped-for-privacy@www.wizzard.one.pl...

ten etap wlasnie zrealizowalem co prawda nie na komparatorze, wynik pomiaru mam juz w dwoch rejestrach. Ale chodzi mi o konwersje zawartosci licznika na wartosc temperatury. Nasuwa mi sie taki pomysl: zliczyc impulsy w temp 0'C pozniej w 100'C, roznice podzielic przez 100 i wyjdzie mi przyrost impulsow na 1'C. ale nie wiem czy ide w dobrym kierunku. Moze sie to inaczej da zrobic?

patrzylem na ten czujnik troszeczke drozszy od KTY a i tak chce zastosowac cos bardzo prostego no i przy okazji mniej zawodnego. Z ds1820 mialem sytuacje ze sie zawiaszal a pozniej grzal. Pomagalo mu wtedy resetowanie. Byc moze przyczyna byly zaklocenia z sieci zasilajacej. W kazdym razie KTY nie bedzie mi takich zeczy wyprawial.

Odpada, pomiar jest zbyt nieliniowy, tym bardziej, ze napiecie na kondensatorze narasta mocno nieliniowo. W praktyce musialbys pomierzyc w paru punktach i aproksymowac wielomianem. Dlatego na analogowym czujniku+uC nie warto. Zobacz ew. LM(1)35 - jest liniowy i moze ci przypasuje.

Hmm, dziwne. Troche sie dallasami bawilem i nigdy nie mialem takich klopotow. Nie resetowal sie jak mu dales reset pulse? Poza tym zasilaj go z parasite power to na 100% grzal sie nie bedzie, chociaz ja go zasilam z +5V i tez nie mam z tym problemow. SHT tez moge ci polecic, mam 3 takie i z zadnym najmniejszych klopotow.

Je¿eli kondensator jest ³adowany bezpo¶rednio przez ten czujnik to sprawa nie jest taka prosta. £adowanie bêdzie przebiega³o zgodnie z krzyw± ³adowania kondensatora w obwodzie RC (gdyby¶ ³adowa³ kondensator przez ¼ród³o pr±dowe którego pr±d by³by ustalany przez ten czujnik to przynajmniej upro¶ci³o by ci krzyw± ³adowania kondensatora do zale¿no¶ci liniowej), zale¿no¶æ rezystancji tego czujnika te¿ nie zale¿y liniowo od temperatury (jak chcia³es przyj±æ w rozwa¿aniach) - w pdf tego czujnika jest podany wzór na t± zale¿no¶æ.

Pozdrawiam Darek

U¿ytkownik "Predator" snipped-for-privacy@op.pl napisa³ w wiadomo¶ci news:ca1dum$j32$ snipped-for-privacy@news.onet.pl...

[ciach]

Czyli mamy nieliniowy przetwornik

formatting link
(tu mo¿na sobie zobaczyæ charakterystykê R(T) w arkuszu). Jak sobie mo¿esz zobaczyæ, to rezystancja jest obliczna w oparciu o funkcjê prostok±tn± R =

1982*(1+0,00799*(T-25)+0,0000195**(T-25)^2). Dodatkowo musisz uwzglêdniæ nieliniowe/ ³adowanie kondensatora Upom=Uodn (1-exp^(-1/RC)), gdzie Upom to napiêcie, które mierzysz, Uodn to napiêcie pod³±czone do czujnika, R to rezystancja czujnika dla danej temperatury, a C pojemno¶æ kondensatora. Uffff.... :-)

Tymczasem Jarek

Czasem warto. Oczywiscie wymaga kalibracji i aproksymacji - ale przeciez mamy procka, to go uzywajmy. Jesli zakres niewielki to i roboty nie bedzie duzo.

Ale to nie jest metoda na 0.1K. Tu bym sugerowal Pt100 i ICL 7109 - choc z tego co bardziej doswiadczeni koledzy pisali to zasadniczo o _dokladnosci_ 0.1K mozna sobie pomarzyc - same czujniki maja gorsza klase ..

J.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required