PICAXE a termistor
PICAXE a termistor
Zdravím, před nějakou dobou jsme trochu experimentovali s připojením termistoru k PICAXE (08M2 a 20M2). Použili jsme zapojení podle obrázku:
Na obrázku je porovnání vypočítané hodnoty na převodníku ADC s naměřenou (použili jsme readadc10) v zapojení s rezistorem 10K: Jak je vidět, kolem teploty 30°C se převodník najednou "zbláznil" a začal vracet divné hodnoty...
Pokorně jsme se vrátili k zapojení podle manuálu (rezistor R = 100K) a výsledek je zde: S nárůstem teploty se odpor termistoru zmenšuje - při vyšších teplotách měření vycházelo v obou případech velmi přesně, je mi jasné, že souvislost s odchylkou měření je třeba hledat ve vstupním odporu ADC převodníku procesoru...
Máte někdo podobné zkušenosti, nebo dokážete tento podivný jev vysvětlit lépe a detailněji?
Vím, že manuál (III. díl) udává toto zapojení s rezistorem 100K, ale vycházel jsem z jednoduché úvahy: Termistor má při 25°C odpor 10K, takže použití rezistoru 10K povede k "pěknému" napětí 2,5 V na vstupu procesoru...Na obrázku je porovnání vypočítané hodnoty na převodníku ADC s naměřenou (použili jsme readadc10) v zapojení s rezistorem 10K: Jak je vidět, kolem teploty 30°C se převodník najednou "zbláznil" a začal vracet divné hodnoty...
Pokorně jsme se vrátili k zapojení podle manuálu (rezistor R = 100K) a výsledek je zde: S nárůstem teploty se odpor termistoru zmenšuje - při vyšších teplotách měření vycházelo v obou případech velmi přesně, je mi jasné, že souvislost s odchylkou měření je třeba hledat ve vstupním odporu ADC převodníku procesoru...
Máte někdo podobné zkušenosti, nebo dokážete tento podivný jev vysvětlit lépe a detailněji?
-
- Příspěvky: 85
- Registrován: 02 úno 2014, 02:12
Re: PICAXE a termistor
Ahoj. U PIC16F677 (=20M2) v datasheetu píšou, že impedance u AD vstupu má být maximálně 10k... Tak třeba proto?
Další věc, která mě k tomuhle napadá je ohřátí termistoru procházejícím proudem. Ale ten proud i při 10k odporu není až tak velký a chyba by se asi objevovala spíš ve vysokých teplotách...
Další věc, která mě k tomuhle napadá je ohřátí termistoru procházejícím proudem. Ale ten proud i při 10k odporu není až tak velký a chyba by se asi objevovala spíš ve vysokých teplotách...
Re: PICAXE a termistor
No to je právě ten problém.
Chyba nastala při použití rezistoru 10K (pevný rezistor - viz schéma). Pokud jsme jej nahradili 100K bylo vše OK.
Chyba nastala při použití rezistoru 10K (pevný rezistor - viz schéma). Pokud jsme jej nahradili 100K bylo vše OK.
-
- Příspěvky: 96
- Registrován: 24 úno 2013, 15:43
- Bydliště: Frydek - Mistek
- Kontaktovat uživatele:
Re: PICAXE a termistor
Zkuste nám povědět o něco více o softwarovém zpracování dat
Třeba - používáte termistor typu NTC - Negative temperature change - tedy s teplotou klesá odpor - máte jej připojený mezi vstup ADC a +5V - tedy s teplotou by na děliči mělo RŮST napětí a přesto vaše grafy teoretické i prakticky změřené ukazují opak
V každém případě - budiž vám pochvala za to, že máte teoreticky spočtený průběh už předem a že to neděláte jako někteří jiní - stylem "MNĚ to nefunguje a VY mi řekněte proč "
Třeba - používáte termistor typu NTC - Negative temperature change - tedy s teplotou klesá odpor - máte jej připojený mezi vstup ADC a +5V - tedy s teplotou by na děliči mělo RŮST napětí a přesto vaše grafy teoretické i prakticky změřené ukazují opak
V každém případě - budiž vám pochvala za to, že máte teoreticky spočtený průběh už předem a že to neděláte jako někteří jiní - stylem "MNĚ to nefunguje a VY mi řekněte proč "
"The best computer language is a solder" - "Nejlepší programovací jazyk je pájka" - Bob Pease
http://petr-kubac.blog.cz/
http://petr-kubac.blog.cz/
-
- Příspěvky: 96
- Registrován: 24 úno 2013, 15:43
- Bydliště: Frydek - Mistek
- Kontaktovat uživatele:
Re: PICAXE a termistor
I já hlava děravá ;-)))
Teď jsem se podíval na osu X, kterou máte značenou obráceně - tedy hluboká omluva za předchozí příspěvek
Jediné, co mě napadá, je hypotéza že při použítí 10K odporu je proud termistorem už nezanedbatelně veliký a termistor zahřívá ?
Vnitřní odpor AD převodníku - je sice docela nízký (u AVR třeba jenom 1K) ale má výrazný kapacitní charakter - tedy - nabije se vzorkovací kondenzátor (uvnitř procesoru) a pak už další proud neteče - to by odpovídalo vaší zkušenosti, že problémy nastaly změnou externího odporu
Můžete udělat pokus tak že termistor dáte spolehlive do chladu (ponořit do vody , zamrazit do kostky ledu) a pak to zkusíte s 10K odporem ?
I když možná nejjednodušší bude celou věc ignorovat a zapojit to podle doporučení výrobce.
Teď jsem se podíval na osu X, kterou máte značenou obráceně - tedy hluboká omluva za předchozí příspěvek
Jediné, co mě napadá, je hypotéza že při použítí 10K odporu je proud termistorem už nezanedbatelně veliký a termistor zahřívá ?
Vnitřní odpor AD převodníku - je sice docela nízký (u AVR třeba jenom 1K) ale má výrazný kapacitní charakter - tedy - nabije se vzorkovací kondenzátor (uvnitř procesoru) a pak už další proud neteče - to by odpovídalo vaší zkušenosti, že problémy nastaly změnou externího odporu
Můžete udělat pokus tak že termistor dáte spolehlive do chladu (ponořit do vody , zamrazit do kostky ledu) a pak to zkusíte s 10K odporem ?
I když možná nejjednodušší bude celou věc ignorovat a zapojit to podle doporučení výrobce.
"The best computer language is a solder" - "Nejlepší programovací jazyk je pájka" - Bob Pease
http://petr-kubac.blog.cz/
http://petr-kubac.blog.cz/
-
- Příspěvky: 85
- Registrován: 02 úno 2014, 02:12
Re: PICAXE a termistor
Pokud už bych dělal takovýhle pokusy, tak nejjednodušší by bylo zapojit místo termistoru odporovou dekádu a uvidí se hned s jak velkým pulldown odporem to bude ještě spolehlivě pracovat...
P.S. Pro fajnšmekry se tam může rovnou zapojit druhá dekáda místo toho pulldownu
P.S. Pro fajnšmekry se tam může rovnou zapojit druhá dekáda místo toho pulldownu
-
- Příspěvky: 96
- Registrován: 24 úno 2013, 15:43
- Bydliště: Frydek - Mistek
- Kontaktovat uživatele:
Re: PICAXE a termistor
Pokud by příčinou bylo opravdu ohřívání termistoru "měřícím proudem" pak dekáda místo termistoru - neukáže nic - jelikož její tepelný koeficient je nepatrný a PTC - na rozdíl od termistoru.
"The best computer language is a solder" - "Nejlepší programovací jazyk je pájka" - Bob Pease
http://petr-kubac.blog.cz/
http://petr-kubac.blog.cz/
Re: PICAXE a termistor
Petr-kubac, děkuji moc za komentáře - jsem častým návštěvníkem na Vašem blogu - takže nemám problém považovat Vaše připomínky za vysoce relevantní...
Charakteristiku termistoru jsme v obou případech měřili sestavou podle obrázku: Troufnu si říct, že ohřev termistoru proudem je nepravděpodobný - termistor byl přilepený páskou na teploměr. Do nádoby jsme nalili horkou vodu (z rychlovarné konvice, proto je první hodnota 85 °C) a teplotu jsme odčítali postupně jak se ochlazovala - později jsme přidávali led).
K softwaru: ADC jsme četli příkazem readadc10, data ukládali do proměnné, za sekundu proběhlo 5 měření, program spočítal průměr a vynásobil jej deseti (pro pozdější navýšení přesnosti).
Proto jsou hodnoty w1 větší než 1023 jako u "normálního" čtení příkazem readadc10.
Později program linearizoval průběh v intervalu 5 °C a vypočítal teplotu... To ale není důležité - problém nastal na úrovni převodníku.
Je to v pohodě, použili jsme odpor 100K, jen mi vadí, že s 10K rezistorem, to dělá psí kusy a já si nejsem jistý proč...
Proměřili jsme 3 různě koupené termistory (šarži jsem opravdu nekontroloval) a 2x PICAXE08M2 a 1xPICAXE20M2.
Charakteristiku termistoru jsme v obou případech měřili sestavou podle obrázku: Troufnu si říct, že ohřev termistoru proudem je nepravděpodobný - termistor byl přilepený páskou na teploměr. Do nádoby jsme nalili horkou vodu (z rychlovarné konvice, proto je první hodnota 85 °C) a teplotu jsme odčítali postupně jak se ochlazovala - později jsme přidávali led).
K softwaru: ADC jsme četli příkazem readadc10, data ukládali do proměnné, za sekundu proběhlo 5 měření, program spočítal průměr a vynásobil jej deseti (pro pozdější navýšení přesnosti).
Proto jsou hodnoty w1 větší než 1023 jako u "normálního" čtení příkazem readadc10.
Později program linearizoval průběh v intervalu 5 °C a vypočítal teplotu... To ale není důležité - problém nastal na úrovni převodníku.
Je to v pohodě, použili jsme odpor 100K, jen mi vadí, že s 10K rezistorem, to dělá psí kusy a já si nejsem jistý proč...
Proměřili jsme 3 různě koupené termistory (šarži jsem opravdu nekontroloval) a 2x PICAXE08M2 a 1xPICAXE20M2.
Re: PICAXE a termistor
Doplním: Jak termistor, tak odpor byly ponořeny ve vodě (pochopitelně zatavené v plastu)...
Re: PICAXE a termistor
Nemám s PICAXE žádné zkušenosti, ale nemohl by být problém v nějakém přetečení u toho výpočtu (nevím jak tam funguje aritmetika). Doporučuji nejprve zkouknout nezpracovaná data (přímo z převodníku).