digitális hőmérő javítás/kalibrálás

 ( render_elek | 2018. november 4., vasárnap - 19:36 )

Sziasztok,

van egy noname időjárás állomásom . Az idő, légnyomás, páratartalom valamint a külső hőmérséklet és külső páratartalom kijelzése pontos, de a belső hőmérséklet +3 C-ot téved. Tudom, hogy filléres cucc, de hobbi projektként szeretném megjavítani úgy, hogy nem vagyok szaki, csak érdeklődő.
Megnéztem az e-bay-en a szenzort, de a készülékben ilyet nem találtam.
Úgy gondolom, hogy az a kis modul, amibe a 2 fekete kábel megy az a DCF (a ferritantennából következtetve) azt a másik zöld kis panelt légnyomásmérőnek saccolom, amiból a piros antenna jön ki, az meg talán a 433 MHz-es vevő a kültérihez. A mellette vévő poti lehet a kalibráló, de a hőmérséklethez vagy a vevőhöz vagy esetleg valami máshoz??
Azon kívül csak ellenállást és kondit látok, és a túloldalon smd kapcsolókat.

Ha valakinek lenne ideje, energiája és türelme elmagyarázni, hogyan lássak neki, kérem írja le gondolatait :)

Köszönöm!

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

Hat az a gond, hogy lehet, hogy nem fogod megtalalni azt a termisztort, mert resze a microcontrollernek vagy ASIC cuccnak ami a boardon van. :(

Az is lehet, hogy ez SMD formaban van rajta.

Tok jo, hogy tanulni akarsz, de igy se rajz semmi nelkul eleg nehez ugy ez...

A masik oldalarol nincs kep?

Henger: én inkább diódának nézem (bár azzal is lehet hőmérsékletet mérni).
Most jutott eszembe: a nyomásmérő szenzorokban szokott lenni hőmérő, mivel a nyomásmérés eléggé hőfokfüggő, ezt kompenzálják a hőmérséklettől függő értékkel. Lehet, hogy ezt a beépített hőmérőt (már ha van) használják fel a belső hőmérséklet alapjaként.
Próbáld a tapogatós módszerrel megtalálni a szenzort (amit a másik hozzászólásomban írtam).

+1 A tapogatos modszer az mashol is bevalt :)

Tapogattam, de az nem hozott eredményt, nem úgy, mint a hajszárító.
30 másodpercenként mér.
Sajnos az a jobb oldali zöld modul lesz a hunyó.
Találtam hasonlót, de az 4 pines.
Akkor felejtős a projekt?

Ha 30 másodpercenként mér, akkor nem tapogatni kell, hanem fél percig tapasztani.

7 pin jobban tetszene?
https://www.adafruit.com/product/2652

Tanulásképpen leolvashatnád a chipek feliratait.

Ha a jobboldali zöld modulon azt érted, amin kettő darab 8 lábú smd ic van, akkor javaslom mérjél újra! Mellette van az a hengeres valami, aminek a közepén látszik egy IC. Próbálj úgy mérni még egyet, hogy egyszer a zöld panelt, egyszer meg a kerek alkatrészt melegíted (tegyél a kettő közé egy vastagabb papírlapot, akkor tudod külön melegíteni őket). Gyanús, hogy a kerek alkatrész lesz a mérőeszköz. A zöld panelen levő ic-k típusát próbáld meg leolvasni, vagy inkább készíts egy közeli képet, amin olvasható a felirat!

Ennél jobb képet most nem tudtam produkálni. Le van öntve valami csillogós trutyival, csak oldalvilágításból és csak az egyiket bírtam azonosítani:

nxp 7555ID csak a többi szám nem azonos:
4z 05
nG833

De ez nem is számít, mert a külön melegítés eredménye, hogy tényleg az a kis henger(-ben lévő alkatrész) reagál a hőre.

Viszont, ahogy sza2king kulturáltan jelezte, ez már meghaladja a képességeimet.
Egyelőre félre kell tennem. Újrakezdem, ha végeztem ezzel :D

Köszönöm mindenkinek (a trollkölyköket kivéve) az értékes hozzászólásokat!!!

A kerek alkatrész a nyomásmérő szenzor, így gyakorlatilag nincs esélyed, hogy korrigáld a mért értéket. A szenzor ennyit nem tévedhetne. A másik IC a típusa alapján nem a hőmérséklet méréshez való.

A hőmérséklet méréssel kapcsolatban még egy dolog jutott eszembe: nagyon fontos, hogy hol és hogyan van elhelyezve a készülék, főleg a referencia hőmérőhöz képest. Elképzelhető, hogy a készülék környezete valami miatt melegebb, mint a távolabbi környezet (pl. működő monitor felett van egy polcon, vagy a számítógép ventilátora által keltett légáramban van), ez meghamisítja a mérést. Javaslom ellenőrizd a pontosságot például úgy, hogy az asztalra lerakod egymás mellé az időjárás állomást és a referencia hőmérőt, és ha beállt a hőegyensúly (ne legyen huzat, napsütés, stb.), akkor hasonlíts.
Mellesleg referencia hőmérőnek egy pontosabb (hiteles) hőmérőt illene használni.

Mások is írták korábban, hogy esetleg a saját hő viszi el a mérést. Ez elemes készüléknél nem valószínű (hamar megenné az elemeket), de könnyen ki lehet mutatni: úgy tedd be az elemeket, hogy az egyik ne érintkezzen (pl. egy papírlap az elem meg az érintkező közé), de a legjobb az lenne, ha egy kapcsolóra 20-30 cm vezetékkel kihoznád a táp megszakítást. Várd meg, míg beáll a hőegyensúly (mondjuk fél óra), mindezt valami állandó hőmérsékletű helyen (nap ne süssön be/rá, stb.). Ezek után kapcsold be, lehetőleg úgy, hogy pár másodpercnél tovább ne legyen a kezedben a cucc, mert félreviszi a mérést - ezért jobb a kapcsoló.
Ha az első egy-két mérés és a későbbi mérések között különbség van, akkor a saját hő rontja el a pontosságot, ha ugyanazt méri, akkor a saját hő nem okoz (számottevő) hibát.

Sok sikert kívánok a kísérletezéshez!

"A szenzor ennyit nem tévedhetne."
Akkor mi lehet a baj?
Az eszköz a nappali egy falán van, fűtőtest a másik falon, északi fekvés miatt a napfény likvidálva, hőtermelő készülék azon a falon (és a közelben) nincs, klíma most nem megy, hogy keverné a levegőt.

Egy kicsit tévedtem, nem 5 éves, van már vagy 10.
Amikor először kicsomagoltam és beletettem az elemeket (kültéribe és a beltéribe) már akkor láttam a különbséget. (Akkor kellett volna a garit érvényesíteni...)
A hagyományos folyadékos hőmérő a kültéri eredményét igazolta.
Akkor a legolcsóbb 4000 Ft-t volt, a pc-hez köthető felső kategóriás (gondolom koponyeg/idokep észlelőknek) 40.000 volt, ezt 20-ért vettem.

Az igaz, hogy az elemek közel vannak az érzékelőhöz, de nincs túlfogyaszás, ami hőt termelne ~2 évente van elemcsere.

Ilyenem van, ezen nincs 4,5 V
Gondolom a 6 sok, a 4 kevés. Esetleg a 6-hoz sorbakötni egy ellenállást?!

"Esetleg a 6-hoz sorbakötni egy ellenállást" - esetleg elektronika alapjai témakörben elmélyedni előbb.

Nem akarlak elkeseríteni, de az eszköz ránézésre nem biztos, hogy tartalmaz olyan komponenst, amivel kalibrálható, illetve amivel temagad tudod jusztírozni a mérőáramkör paramétereit, hogy az eltérés a teljes mérési tartományban a jelenleginél alacsonyabblegyen.

Hiányzik némi számolgatás (meg mérni is kéne hozzá...), illetve ha tényleg ragaszkodsz az ellenállásos mókához, akkor még legalább egy alkatrészre szükséged lesz (házi feladat: mi ez az alkatrész?), de azt sem úszod meg előzetes mérés és számolgatás nélkül, ha jól akarod csinálni, és tényleg tanulni szeretnél.

Nagyon könnyen lehet, hogy a szenzorod nem közelíthető egy a hőmérséklettel összefüggő ellenállással - lehet akár teljesen digitális, ami valamilyen protokollal kommunikál a mikrokontrollerrel. Ezt egy-két ellenállással csak elrontani tudod.

A 6V-os fix tápból ötöt csinálni gondolta így... Bár voltaképp mindegy, mindkettő khm. pocsék ötlet :-P

Igaz, offtopic, de tudok mondani egy felsőkategóriás megoldást.

Veszel ebay-n egy BME280 modult (nem BMP!), adsz neki 3,3V feszültséget és kiolvasod (I2C kell hozzá). Ez pontos hőmérséklet és légnyomás, kevésbé pontos páratartalom mérésére alkalmas.
A szerkezet gyári kalibrációt tartalmaz, amit szintén ki kell olvasni.
A kalibrációs adatokat felhasználva ki kell számítani a kompenzált értékeket. Ehhez a gyártó is biztosít szoftvert (C), de én is tudok adni (awk). A fenti szoftvert lefordítva még a kiolvasást is elintézi.

Közben sokat tanulsz. ;)

"én is tudok adni (awk)" - nem is te lennél... :-D

Mindentudó C#, Java, PHP stb. programozónk nem bírta a Bosch C forrását hozzácsinálni a programjához. Ezért az áttupírozott program eredménye commandline-json-php-websocket útvonalon érkezik a windózba egy olasz vps-ről. Szerintem ennél még a turbóbézik is jobb. ;)

Az awk pedig azért, mert egy mcu adja az inputot, amiben nincsen fpu. Említett Bosch fejlesztői meg nem bírták az int64 aritmetikával kiszámítani a 12 bites adatokból elegendő pontossággal amit kell. Tehát átraktam a programot, hogy munin mellé ne kelljen C és fordítás. Így aztán esetleg visszakerül windows/busybox mellé ez a kód, hogy ne kelljen a légnyomás meghatározásához vps. :-)
(Két rendszerről van szó, csak keverem.)

Mondta valaki, hogy az élet habostorta?!

Érdekes cucc, de nekem az i2c ismeretlen, gondolom akkor vennem kell egy
ilyet is.
Az awk-val meg nem kevernék bele a kialakulóban lévő perl tudományomba, maradnék a c-nél, ha belevágok egyáltalán egy ilyenbe... Feleségem nem hiszem, hogy szívesen látna ilyet a nappaliban :)

[reklam]
Esetleg egy ilyet ;-)
[/reklam]

/sza2

--
Digital? Every idiot can count to one - Bob Widlar

Ez attól függ, hogyan akarod kezelni. Ha mikrokontrollerrel, akkor értelmetlen az RS232 I2C konverzió, közvetlenül I2C-n kell kommunikálni. Az I2C egy jellemzően master-slave rendszerű, half-duplex szinkron soros kommunikáció, alapesetben 100 kb/s illetve 400 kb/s adatátviteli sebességgel. Bár, ugye szinkron. :) Ha szintilleszteni kell 3.3 V és 5 V között, úgy ez 2 db MOSFET-tel és 2 db ellenállással megoldható.

Szerk.: Feleséged nem szívesen látna awk kódot a napaliban? :)


tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Háát, roppant bonyolult a feladat! ;)
Néhány bájtot ki kell írni, egy bájtsorozatot egyszer beolvasni, egy másikat meg minden méréskor.
Utána a tetszőleges nyelven írt programmal kiszámolni a kompenzált értékeket. A tetszőleges nyelvnek kell tudnia float-ot, szorozni, osztani, összeadni, kivonni. ;)
Az awk (pl.) azért jó, mert a C program részleteit gyakorlatilag közvetlenül be lehet emelni. Valamint van benne 55 bites float, ami a 10-14 bites adatok ábrázolására akár alkalmas is lehet. ;)
Ha megy a C, akkor itt a gyártó forrása.

Az I2C nagyon bonyolult módon is használható, de ebben az esetben csak egy read() és write() szekvenciát kell programozni. Ezek meg le vannak rajzolva a dokumentációban.

A linkelt kütyü ide biztosan túl bonyolult. Először inkább azt meséld el, hogy mihez illesztenéd!
Persze egy ilyen eszközt akár egy pc alaplapra is rá lehet dugni, ha van 3,3V-os I2C vagy SMBUS csatlakozója. Azt meg lehet illeszteni akár az lm_sensors-hoz is, ha még senki nem tett ilyet.

+1 - szerintem is jobb módja a tanulásnak saját kütyüket építeni, mint másokét visszafejteni és javítani. Mert:

* A "túl sűrű" áramkörökhöz nehéz kézzel hozzápiszkálni egyszerűen a méretük miatt
* Csomó mindent direkt visszafejthetetlenre építenek
* digitális jeleket doksi szerint csinálni is kihívás, de legalább jó móka. Visszafejteni viszont nagyon nehéz, és csak perverzeknek élvezet. Ráadásul tapasztalat kell(ene) hozzá.
* A kész kütyük sokszor by design rosszak, nem érdemes szívni velük. Ha valamit tanulásként szedsz szét, akkor egy jól megtervezett termék legyen, amiből jót lehet tanulni, ne valami ócskaság, amiből csak a hibákat lehet ellesni :-)
* Ha teljesen újat építesz, az pont olyan lesz, mint szeretnéd. Vagy legalábbis pont olyan lesz, ahogy sikerül :-)

Kijelzős hőmérőt például mikrovezérlős dev boardból, kijelzőből és hőmérőmodulból kb 10 alkatrészből össze lehet rakni (a mikrovezérlő dev boardját és a kijelzőt egy alkatrésznek számolva mivel egyben veszed meg.) Lényegében csak össze kell őket kötögetni, le-felhúzó ellenállsokat betenni, esetleg kapacitással hidegíteni az alkatrészek tápját és kész.

Ha I2C-vel csinálod, ahogy buckó javasolta, akkor rá tudod tenni például régi rúterre, azokon szokott belül lenni I2C láb. Vagy RPI-re is, annak a headerjén tudtommal pont 3.3V-os I2C busz van, tehát csak drótozni és Linuxban I2C-t programozni kell.

PCs I2C illesztőről nem tudok, de pl Arduino alapon könnyen lehet programozni egyet. Ha ilyet csinálsz, akkor eleve 3.3V-os dev boardot érdemes választani.

De ezt nem azért mondom, mert nem tisztelném az erőfeszítést, és nem drukkolnék, hogy sikerüljön bekalibrálni azt a hőmérőt :-)

(Apropó összevissza csavargatni próbáltad már? Mi van, ha valamelyik poti mégis a hőmérséklet kalibrálására való, és csak meg kellene csavarni :-)

PCs I2C illesztő: MCP2221, FT200XD és még sokan mások. (ebay, stb)
Lehet csatlakozni az alaplapi SMBUS-ra vagy I2C-re, ha van ilyen az alaplapon.

Az Arduino és társai nem tudják a teljes protokollt, bár erre a célra megfelelnek.

"A szenzor ennyit nem tévedhetne."
Akkor mi lehet a baj?

Lehet gyári hiba, tervezési hiba, beállítási hiba.

Nem tudom a tápegységgel mit szeretnél, nincs rá szükség.

A saját hő az a működés során minden esetben keletkezik, végső soron a felhasznált energia legnagyobb része hővé alakul. Ez a hő elsősorban az elektronikában keletkezik és nem az elemben, tehát nem megoldás, ha az elem helyett tápegységet használsz. Ez a hiba mindenképpen jelen van, csak nem mindegy, hogy 0,01 vagy 2 fok hibát okoz. Utólag nem nagyon lehet vele mit kezdeni, ez tervezési hiba. Ha elvégzed a leírt kísérletet, abból egyértelműen ki fog derülni, hogy ezzel állunk-e szemben (szerintem nem).

Az, hogy nem süt rá a nap, meg nincs közel radiátor, az önmagában nem bizonyít semmit, bár a durva hibát csökkenti. A mérés az egyedüli elfogadható bizonyíték, azt is gondosan mérlegelni kell, hogy milyen körülmények között mérünk. A mérést befolyásoló/zavaró körülményeket ki kell zárni, vagy a hatásukat le kell csökkenteni elfogadható szintre. Jelen esetben ilyen zavaró körülmény lehet többek között a készülékben saját magában keletkező hő, a vezetett hő (fal), a légáramlás (radiátor), a hősugárzás (nap).

Szóval fogj egy hagyományos hőmérőt - ami biztosan pontosan/pontosabban mér - tedd az asztalra (még inkább egy papírdobozba mindent - ne a falon legyen) a beltéri egység mellé, várd meg, míg beáll (fél-egy óra legalább), esetleg tedd mellé a kültéri egységet is. Szóval minden zavaró körülményt kizárva végül is mennyit téved?

Bár a tápegység felesleges, ahogy korábban említettem, de egy mondat erejéig a soros ellenállásról: teljesen jó a gondolat, hogy egy soros ellenállással lehet feszültséget csökkenteni, egy dologról feledkeztél el: a fogyasztó ellenállása nem állandó, ezért a feszültségosztás sem lesz az. Tegyük fel, hogy beállítod a 4,5 V-ot, aztán egyszer csak az állomás elkezd kommunikálni a kültérivel, az áramfelvétele megnő, a feszültség a megnőtt áramfelvétel miatt leesik mondjuk 3V-ra. Ez ugye nem elfogadható. A megoldást majd meg fogod kapni a tanulmányaid során, nem szeretnék tankönyvet írni.

Köszönöm a türelmedet és a jól felépített, alaposan megindokolt gondolataidat. Mintául szolgálhatna egy-két fórumtársunknak.
A mobilokkal párhuzamot vonva (komolyabb alkalmazásoknál melegszik az akku) gondoltam, hogy melegedhet az elem. Azonban tudom, hogy elem != akku.
A kísérleteket elvégeztem. Először egy szekrénybe zártam őket (állomást és a folyadékost) 1 órára, be kellett álljon a hőegyensúly, de nem volt változás => fal, huzat nincs hatással.
Aztán kivettem az egyik elemet 1 óra hosszára, mindkét eszköz addig maradt a csukott szekrényben, majd egy gyors mozdulattal visszapattintva ugyanúgy +3 C
Szóval a saját hőt is kizárnám.

"nem szeretnék tankönyvet írni"
pedig nem tudnám letenni... :)

Ha mar elemrol van szo, van olyan, hogy 1 elemet kizarolag referencia feszultsegnek hasznalnak a mereshez ... Nem lehet, hogy azok eleve nem voltak jok?

Biztos, hogy nem. Nagy luxus lenne, ráadásul az elem feszültsége ahogy merül folyamatosan csökken.

Nem, az egy dióda.

Szia! Bekapcsolt állapotban kézzel melegítsd meg egyesével a szóba jöhető IC-ket, amelyik méri a hőmérsékletet, annál majd látod a változást. Azt, hogy milyen sűrűn mér, gondolom látod a kijelzésből, ahhoz kell igazítani a "sebességet". Ha beazonosítottad a hőmérő részt, utána tudunk továbblépni.

Ok, köszi, megvárom az előzőre a választ.

Én egyszerűen random csavargatnám amit lehet, és megnézném hogy reagál :-)

Már a Sokol rádiót is így hangoltad be?

Villamos mérések órán hallottam egy történetet, az oktatómhoz valaki behozott egy rádiót. A tulajdonos próbálta saját kútfőből megjavítani, fura kinézetű laza "csavarokat" talált a rádió nyákján, azokat mind szorosra meghúzta, de attól se javult meg. Nem érti mi lehet a gond? :)

Á, én meg úgy jártam pár éve, hogy anyám úgy gondolta megjavítja a pc-t mert valamiért nem indult be. Leszedte a gép oldalát majd talált benne "csavarokat". Meg is húzta a proci körül mindet, meg egy pár távolabbit is az alaplapon.
Ezt nem tudtam, s először bekapcsoltam a gépet dw az kb azonnal ki is kapcsolt vissza. Na mondom ez nem fest jól. Aztán felnyitottam a gépet és a csavarok a kondik voltak. Nem találtam olyat, ami ne lett volna csavarhúzóval kilyukasztva... :D

Jáá!...

--
"Nem akkor van baj amikor nincs baj, hanem amikor van!"
Népi bölcsesség

off: ha már a tanulás a cél, miért nem építesz egy saját állomást? :)
https://create.arduino.cc/projecthub/projects/tags/weather

Ha nincs meg egyértelműen a szenzor a panelről kikábelezve, vagy min. jó magasan kiemelve, akkor meg is van a +3°C oka: Az elektronika hődisszipációját méri :/ Sajnos elég gyakori ezeknél az integrált kütyüknél.

De a fentebb javasolt lokális melegítés jó kiindulópont lehet. Ha sikerül lokalizálni a szenzort és cseréled, akkor érdemes kivezetni a burkolat oldalára

----------------------------------^v--------------------------------------
"Probléma esetén nyomják meg a piros gombot és nyugodjanak békében!"

5 kis vezetékkel toldjam meg? Az nem befolyásolja az eredményt?
Arra gondolok, hogy egykor azt tanultam, hogy a hossz egyenesen arányos az ellenállással.

Mivel elég szellős az elrendezés, valószínű hogy a kis panelen lévő aktív elemek termelik a plusz hőt. Így hiába rakod arrébb néhány centiméterrel, nem fogsz jelentős változást tapasztalni. Sokkal egyszerűbb, ha IQ-ból oldod meg a problémát. A mutatott értékből, fejben levonsz három fokot. :-)

Vagy 5 éve így csinálom, csak ahogy korosodok kezd fogyni az IQ, gondoltam izomból oldom meg :D

Kék ledet neki! Az jobban hűt! ;)

A hossz ugyan aranyos az ellenallassal, de a szenzor ellenallasa nem osszemerheto a vezetek ellenallasaval (amig a homero alkatresz 100Ohm - nehany kOhm taromanyban lesz, a vezetek amit beletoldasz ~nehany 10-100mOhm), szoval nem befolyasolja.

Viszont mivel 5 vezeteket emlitesz, akkor ott nagy valoszinuseggel nem egy passziv (pl. ellenallas) szenzorrol lesz szo, hanem valami aktivrol, tehat a vezeteken nem magat az ellenallast fogod merni, hanem mondjuk egy erositett jelet, de leginkabb valami digitalis adta fog jonni rajta, annak meg ilyen tavolsagon tok mindegy a vezetek ellenallasa.

Ami a ebay-es linket illeti: a labszam kulonbozese egy dolog, ha 5 laba lenne, akkor is valoszinuleg teljesen mas lenne, kismillio fajta modul van teljesen eltero mukodessel.

De az eddigi informaciokbol szerintem egyertelmuen senki nem merne biztosat mondani arrol, hogy mivel is allunk szembe.

No offense, but... ha gazdasagi szempont, hogy megjavitsd akkor mar most tobb energiat tettel bele mint amennyibe egy uj kerul. Ha a tanulasi a celu, akkor ahhoz joval tobb ismeretre lenne szukseg, hogy ilyenbe belevagj, en a helyedben valami egyszerubbel kezdenem - tenyleg nem bantasbol, de eleg sok feher folt van ugy erzem azokbol amiket irsz.

/sza2

--
Digital? Every idiot can count to one - Bob Widlar

"azt tanultam, hogy a hossz egyenesen arányos az ellenállással."
- mégis milyen messzire akarod kikábelezni a kütyüt?

--
"Nem akkor van baj amikor nincs baj, hanem amikor van!"
Népi bölcsesség

Hozzáértés nélkül nemtökmindegy? :)

de hát "azt tanulta". :)

--
"Nem akkor van baj amikor nincs baj, hanem amikor van!"
Népi bölcsesség

"a belső hőmérséklet +3 C-ot téved" - mihez képest?

Jut eszembe, olvastad a releváns blogomat? ;)


tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE