Fórum témák

» Több friss téma
Fórum » Digitális hőmérő PIC-kel
 
Témaindító: sportcipo, idő: Júl 23, 2006
Témakörök:
Lapozás: OK   7 / 18
(#) szaszaa01 válasza weend hozzászólására (») Jan 31, 2011 /
 
Szeva!
Szeretném én is megépíteni. Tudnál ebben segíteni?
Fel tudnád rakni a kapcsolási rajzot, illetve a Pic-ben lévő progit? Lehet benne olyan módosítást csinálni, hogy a mérési tartomány 0-100 °C között legyen?
Köszi a segítséget.
(#) laszlokunstar válasza szaszaa01 hozzászólására (») Jan 31, 2011 /
 
Az eredeti leírást, kapcsolási rajzot, programot itt megtalálod.
"Range of -55 to 125°C is possible if ONLY the sensor is in that area not the whole device!"
(#) pittosi hozzászólása Jún 8, 2011 /
 
Szeretnék épiteni egy olyan hőmérőt amin a kapcsolási érték változtatható gomb nyomásra tizedenként.
(#) Axel hozzászólása Jún 18, 2011 /
 
Sziasztok!

Összedobtam egy hőmérőt DS 1621-el. Működik is, megjelenik a mért érték a kijelzőn. Csak annyi a bibi, hogy kb. 1,5-2 fokot téved pluszban. (pl. 27.5 fok esetén mutat 29.5-öt). Fél fok eltérésen még nem lepődtem volna meg de azért ez már elég releváns különbség. A program csak annyi, hogy az MSB és LSB értékeket kiolvasom majd pedig digitekre bontás után kiíratom a LED kijelzőre. Tapasztaltatok hasonlóan nagy pontatlanságot DS 1621 esetében? Mit lehet ez ellen tenni? Esetleg megállapítok egy korrekciós tényezőt és avval még tovább számolom a helyes értéket? Ez esetben meg lehet, hogy nem lineáris jellegű a hiba és így megint csak csalni fog.
Továbbá az IC adatlapjában a 4. oldalon írva van valami a pontosság növeléséről. "Higher resolutions may be obtained by reading the temperature and truncating the 0.5C bit." Tehát nagyobb felbontás érthető el az LSB bit csonkolásával és így tovább. Ez a bekezdés számomra nem teljesen világos (mármint maga a tartalom) aki tudja miről van szó kérem segítsen egy kicsit.

Köszi szépen!
(#) Axel hozzászólása Jún 18, 2011 /
 
Elfelejtettem, hogy az IC természetesen minden hőforrástól távol, próbapanelen üzemel.
(#) El_Pinyo válasza Axel hozzászólására (») Jún 21, 2011 /
 
Szia!
A 27,5 °C referencia hőmérsékletet honnan tudod, hogy pont annyi? Egyébként ha folyamatos konverzióra van állítva az IC, akkor a teljesítményfelvétele is magasabb, mint az ún. one-shot módban, emiatt a lapka hőmérséklete is megemelkedik ami pontatlansághoz vezet a mérésben. Ha nem használod a termosztát funkciót, akkor érdemesebb one-shot módban használni az eszközt.
(#) Axel válasza El_Pinyo hozzászólására (») Jún 21, 2011 /
 
Hello!

Onnan tudom, hogy két másik hőmérőt is melléraktam amit én hitelesnek tartok, (egy Oregon Scientific barométer és egy Computherm teromsztát). A lapkahőmérséklettel kapcsolatban igazad lehet, én is pontosan erre a következtetésre jutottam. Ezért ki is próbáltam, hogy a kiolvasást timer-rel időzítem, kb 10 sec.-re úgy, hogy túlcsordulás interrupt-ban növelek egy segédváltozót és ha az elér egy adott, 10sec.-nek megfelelő értéket akkor jöhet a kiolvasás. Csak ez zsákutca egyelőre mert akkor a LED kijelző vibrálni kezdett. Ugyanez volt ha magát a kiolvasást raktam a megszakításba. Ezek szerint a megszakításrutin végrehajtása majd az onnan való visszatérés némileg időigényesebb folyamat. Viszont egy LCD kijelzővel ez már nem lehet probléma, ott ugye nem kell a procinak folyton frissíteni, megoldja az LCD modul.
(#) TakiG válasza Axel hozzászólására (») Jún 21, 2011 /
 
Szia!

Szerintem előfordulhat hogy a szenzor nem pontos, én DS1821-es szenzorokat használtam, 3 darabom volt, egyik sem volt pontos. Két tizedpontosan ugyanannyit mérő lázmérőhöz képest volt több mint 1.5 fok eltérés is.
Én azt csináltam hogy hozzáadtam a mért értékhez a tapasztalt eltérést(előjelesen). De nálam a hiba nemlinearitása nem volt szempont, ezt nem is vizsgáltam, mert csak egy nagyon kis intervallumban kellett pontosnak lennie.
Viszont időben nem változott a hiba mértéke egy hónap alatt sem szerencsére, nálam az nagyobb probléma lett volna.
(#) El_Pinyo válasza Axel hozzászólására (») Jún 21, 2011 /
 
Félreérted amit írok! Nem az a lényeg, hogy milyen gyakorisággal olvasod ki a konvertált hőmérsékletet, hanem az, hogy ne folyamatosan konvertáljon. A kettő nem egyenértékű! A konfigurációs regiszterben a 1SHOT bitet "1"-be kell állítani, majd ki kell adni a Start Convert T parancsot. Legalább 750 ms várakozás után a konvertált adat kiolvasható. A konverzió vége után az eszköz alacsony fogyasztású módba kerül. Bővebben lásd az adatlap leírását!
(#) Axel válasza El_Pinyo hozzászólására (») Jún 21, 2011 /
 
Értelek, one shot mód volt beállítva az első perctől kezdve a konfigurációs regiszterben, csak folyamatosan kapta a kiolvasás parancsot tehát kvázi olyan volt mintha folytonosra állítottam volna.
(#) El_Pinyo válasza Axel hozzászólására (») Jún 21, 2011 /
 
De minek olvasod ki folyamatosan, ha egyszer 750 ms-nál rövidebb idő alatt nem születik új konverziós eredmény?
(#) Axel válasza TakiG hozzászólására (») Jún 21, 2011 /
 
Nekem legalább fél fokos pontosságra lenne szükségem mert szobatermosztátban szeretném használni az eszközt. Kipróbálom majd a 10sec.-es kiolvasási intervallummal is, ha akkor is téveszt akkor az LM35 ADC-re kötve milyen választás lenne?
(#) Axel válasza El_Pinyo hozzászólására (») Jún 21, 2011 /
 
Azért mert a főprogramot nem lehet megszakítani a LED kijelző frissítése miatt és mint mondtam timer interrupt-ban is próbáltam kiolvasni de akkor is jelentkezett a probléma.
(#) TakiG válasza Axel hozzászólására (») Jún 21, 2011 /
 
Az adatlap 4. oldalán, a Higher resolutions... részben leírt módon a hőmérsékletet fél fokosnál nagyobb felbontásban azaz kisebb lépésközönként tudod mérni, ha kiolvasod a szenzorból a count_per_c és a count_remain értékeket is, és a megadott képlettel számolod a hőmérsékletet. De ezzel a mérés pontosságát nem tudod befolyásolni szerintem.
(#) alex077 hozzászólása Júl 9, 2011 /
 
Sziasztok!

Most építettem egy hőmérséklet loggert. Egy TCN75 méri a hőmérsékletet és azt lekérdezi egy PIC I2C buszon, majd beírja a belső EEPROM-jába, amit én ICD2-vel kiolvasok és EXCEL-ben ábrázolok.
KÉP
video
Amint látható a képen alacsony hőmérsékleten nagyon ugrál. Ki is ábrándultam a TCN75-ből...
Kétféle szenzort akarok a közeljövőben beszerezni:
egy pontosat (tizedfok elég, és ne legyen túl drága, mindegy, hogy analóg vagy digitális)
egy kevésbé pontos (egy fok pontos), de hosszabb drótra lehessen kötni.
Mit javasoltok?
Köszi
(#) vilmosd válasza alex077 hozzászólására (») Júl 9, 2011 /
 
Digitalist en nem szoktam alkalmaznim mert altalaban en mindig nagyobb tavolsagrol merek. Probaltam a TCN75-ot de az I2C busz nem alkalmazhato nagyobb tavolsagra (max 50 cm). Analogbol a TC1047A es a MC9700A jol hasznalhato, es el lehet akar 100 meterrre is vinni a jelet arnyekolt kabelen. En altalaban 2.56 V referenciat hasznalok (TL431), igy a felbontas 1/4 fok az 1024 felbontasu AD-n. Fontos dolog az erzekelonel egy 100 nf SMD kondi a tapon, es egy 470 ohm soros ellenallas sorosan a jelben. Kulonben gerjedni szokott. A PIC oldalon a bemeneten szinten egy soros ellenallas (1k) es az AD bemeneten a GND-hez egy 100 nF kondi. Ezzel az elrendezessel zajos kornyezetben is stabil merest tudok csinalni. Annyit meg lehet esetleg csinalni, hogy 4, 8 vagy 16 merest atlagolunk.
(#) zenetom hozzászólása Aug 6, 2011 /
 
Hali!
Van valakinek véleménye az MCP9800-ról? Mármint hogy mennyire megbízható.
(#) vilmosd válasza zenetom hozzászólására (») Aug 6, 2011 /
 
Biztos megbizhato, egyeduli problema a tavolsag. I2C vonalt nem lehet messzire vinni. max 0,5 m. Lasd az elozo hsz-t.
(#) zenetom válasza vilmosd hozzászólására (») Aug 6, 2011 /
 
No ezt nem gondoltam volna. Köszi a választ!
(#) zenetom hozzászólása Nov 2, 2011 /
 
Augusztus óta hozájutottam egy MCP9800-hoz.
Viszont ez az I2C kommunikáció még új nekem.
A csatolt képen az ACK bitet akkor kell küldeni a PIC-től a Slave-nek, ha kiolvastuk a fogadott adatot?
(#) vilmosd válasza zenetom hozzászólására (») Nov 2, 2011 /
 
Nezza szet a konyvespolcon. Talalsz magyar nyelvu I2C leirast. Amugy mint mar irtam is I2C csak rovid tavon mukodokepes. SPI-s TC77 pl. jobb valasztas lenne, vagy analog MCP9700A (TC1047A). A SPI vonalat lehet lassitani SW lekerdezessel.
(#) zenetom válasza vilmosd hozzászólására (») Nov 2, 2011 /
 
Igen, olvastam hogy nem olyan jó az I2C, de egyelőre proteusban tesztelgetem, de nagoyn elakadtam.
Olvasgatom a linken lévő jegyzetet, köszi!
Szerk.: magát a kommunikációt értem, de a részletekben elvesztem.
(#) vilmosd válasza zenetom hozzászólására (») Nov 2, 2011 /
 
Nem ertem hogy mit nem ertesz. A PIC HW I2C hasznalatanal ugye SW-ben a homerseklet kiolvasas kb igy nez ki.
  1. i2c_start();
  2.    i2c_write(0xa0);
  3.    i2c_write(0x00);
  4.    i2c_start();
  5.    i2c_write(0xa1);
  6.    datah=i2c_read();
  7.    datal=i2c_read(0);
  8.    i2c_stop();

Ezzel a szekvenciaval kapod meg a datah, es datal valtozokban a mert homersekletet. Nem tudom milyen nyelven programozol, de a kiolvasas minden felekeppen igy kell hogy tortenjen.A tobbi kezeles hasonlo.
(#) zenetom válasza vilmosd hozzászólására (») Nov 2, 2011 /
 
Mindent értek, viszont én assembly-ben csinálom. Most úgy tűnik sínen vagyok, a 2. start helyett restartot írtam, valószínűleg az volt az egyik hiba.
(#) vilmosd válasza zenetom hozzászólására (») Nov 2, 2011 /
 
A vegen a datal olvasasakor NACK kell kiadni. Ezzel jelzed az atvitel befejezeset.
(#) zenetom válasza vilmosd hozzászólására (») Nov 2, 2011 /
 
Ez világos. De most valamiért nem akar megérkezni az adat az eszköztől. Legalábbis fogadáskor az SSPSTAT BF bite nem áll be "1"-be (18F2550).
Szerk.: valószínűleg valami figyelmetlenségen alapuló hiba lesz itt a probléma..
(#) zenetom hozzászólása Nov 3, 2011 /
 
Nem akarom elkiabálni, de úgytűnik sikerült. Természetesen magam jöttem rá, még a gyári kód se volt jó (!)
Elvileg kettes komplemensbe írja a hőmérsékletet, de gondolom azt csak akkor, ha a hőmérséklet negatív. Be kéne rakni a hűtőbe próbapenalestül együtt...
(#) vicsys válasza zenetom hozzászólására (») Nov 3, 2011 /
 
A mélyhűtőbe tedd 10-15 percre.
(#) zenetom válasza vicsys hozzászólására (») Nov 3, 2011 /
 
Az lesz, a PIC elvileg bírja -40°C-ig..
(#) vicsys válasza zenetom hozzászólására (») Nov 3, 2011 /
 
10 perc alatt nem lesz semmi baja. Teszteltem már néhányszor...
Következő: »»   7 / 18
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem