Mereni teploty pomoci PIC a napajeni

jiri@bezstarosti.cz jiri@bezstarosti.cz
Středa Červenec 21 17:48:14 CEST 2004


>	Uvazuju ze bych pouzil LM35 (prevodnik teploty na napeti) a pripojil
>ho k A/D nejakeho PICe (DS1821 je sice hezky, ale dost drahy, termistor je
>zase nelinearni a musel bych kazdy kalibrovat). Trochu me desi, ze LM35 ma
>rozliseni 10mV/st.C a tu teplotu je potreba merit s presnosti minimalne 1
>st.C, lepe jeste presneji, bude vubec ten A/D prevodnik v PIC takhle
>citlivy?

Lze zakoupit LM285Z-2.5 v GME za 11.52 bez DPH - je to 2.5V reference, ale
jsou i jine.

Mame 10b rozliseni na 2.5V a tedy reference/rozliseni=2.44mV na hodnotu. PIC
se pouzije napriklad PIC12F675, kteryzto ma ADC 10b a pro dosazeni platneho
10b rozliseni potrebuje referenci minimalne 2.5V. Nema ovsem seriak, nicmene
tady se bude vylozene flakat, takze bude stacit napsat soft-seriak. No a k
tomu PICu se privaze prevodnik na RS485 a mozna nejaky s co nejmensi
spotrebou, aby take co nejmene topil. Takze mame teplotni cidlo s RS485, nic
nachylneho na ruseni nikam daleko netahame, dame pozor na to co by mohlo
topit (rozmisteni) a zeneme to radeji do co nejmensi spotreby, aby to
neovlivnovalo samotny senzor, vsude dobre filtrujeme napajeni a vice do toho
asi davat nebudeme.

Jmenovany PIC umi ADC prevod behem spanku, takze se da uspat a tak se
neovlivni negativne mereni. Je to tak, ze kdyz se zvoli k taktovani
prevodniku interni RC oscilator, po nahozeni prevodu vycka PIC s prevodem
jeste jednu instrukci a tudiz muzeme hned za spusteni prevodu dat SLEEP
instrukci a PIC se pak vzbudi az po prevodu. Pokud system funguje stylem
dotaz odpoved, PIC nemusi delat nic jineho, nez cekat na dotaz, pak provest
ADC prevod v rezimu spanku (a behem teto doby by mohl byt klid i na RS485,
pokud je to dotaz-odpoved) a pak vyslat co nameril, pripadne to jeste pred
tim prepocitat, pokud je to potreba.

V kazdem pripade si vezmete ze vseho co pouzijete maximalni mozne katalogove
odchylky, kolik to cele muze ujet, aby nahle nebyla presnost uplne jinde nez
se pozadovalo - to ale jiste vite, tak jen na doplneni. Pouzitim teplotniho
senzoru rovnou s digitalni komunikaci byste se ledascemu vyhnul, ale jak to
udelate, to uz je na Vas, takze to dale nerozebiram a kazde reseni muze mit
neco do sebe - prikladem zbaveni se velkeho mnozstvi skladovych zasob, coz
muze byt klidne i samotny duvod vzniku nejakeho vyrobku :))))).

Co se tyce napajeni, rozvedl bych spise napeti vyssi, treba 12V a
stabilizoval si u kazde casti systemu roztahaneho po dome napeti zvlast. Tak
mate roztahanych jakychsi "spinavych" 12V a ciste jako reference atp. si
stejne musite vsude vyrobit na miste.

Jinak specialne pozor u PICu s internim oscilatorem, kde je velice vhodne
pouzit na napajeni filtracni kodan (je jasne, ze tam patri, o tom zadna),
protoze jinak umi bezet na jine nez jmenovite frekvenci interniho oscilatoru
(proste to ujede) a nejaka maximalni odchylka taktovani +/-2% pro teploty 0
az 85C je razem fuc :).

Pokud Vam budou chybet piny, snadno dostupny (a laciny) je i PIC16F676,
ktery ma jen vice pinu, jinak je to totez a pokud se nechcete zabyvat soft
seriakem, pouzijte jakykoli PIC s ADC a seriakem. Uvedl jsem ty nejlacinejsi
PIC, ktere by mohly pri trose snahy uz vyhovet :).

--
Jiri Bezstarosti



Další informace o konferenci Hw-list