Fórum témák

» Több friss téma
Fórum » DS18B20 hőmérő-szenzor
 
Témaindító: Korben, idő: Nov 16, 2005
Témakörök:
Lapozás: OK   16 / 39
(#) djsms válasza potyo hozzászólására (») Dec 19, 2013 /
 
Természetesen nincs szükség ilyen gyakori leolvasásra, csak a program volt így sokkal egyszerűbb
Felület csak maga a szenzor, mert csak a levegő hőmérsékletét kell mérni.
Kompenzálni nem nagyon akarok, mert az nagy valószínűséggel szenzoronként eltérő lenne. Én meg pont azért választottam ezt a típust, mert nem kell kalibrálni stb.
Majd átnézem az adatlapját, hátha van erre való utalás.
(#) potyo válasza djsms hozzászólására (») Dec 19, 2013 /
 
Adatlapban nem rémlik, de talán valami application note-ban lehet róla szó.

Felbontást is lejjebb vetted? Ha 100ms időnként olvasod, annak csak úgy van értelme, ha 9 bites felbontáson használod, az pedig 0,5 fok pontosságot jelent.
(#) Bakman válasza djsms hozzászólására (») Dec 19, 2013 /
 
Van itthon egy olyan hőmérőm, ami kb. három másodpercenként írja ki a szezor hőmérsékletét (közben más szenzorokat is olvas), ebben benne van a kiolvasási idő is, jónak tűnik. A jelenség valós, én is tapapsztaltam.
(#) watt válasza Bakman hozzászólására (») Dec 19, 2013 /
 
Milyen bitszélességgel használjátok?
(#) Bakman válasza watt hozzászólására (») Dec 19, 2013 /
 
Nem tudom, kiskorú PIC "programozó" vagyok, Flowcode-dal...
(#) watt válasza Bakman hozzászólására (») Dec 19, 2013 /
 
Ha nem állítottad be, akkor 12bites alapértelmezett. Ekkor a csatolt adatlaprészlet szerint a konverzió ideje 750ms kiegészítve a kommunikáció idejével, ami ehhez képest nem sok, de ott van, azaz kb. 751ms alatt kapsz új adatot. Ha sűrűbben olvasod ki, valószínűleg zöldségeket olvasol...
(#) Bakman válasza watt hozzászólására (») Dec 19, 2013 /
 
Igen, ezt tudom. Igazábol fura CRC hibával kínlódom (Flowcode topikban már leírtam) 0°C alatti méréskor, a kommunikáció sebességét nem tudom, hogyan lehet átállítani abban.

szerk.:
Félreolvastam, sebességre értettem azt, amit írtam. Valóban 12 bites adatot kapok vissza.
A hozzászólás módosítva: Dec 19, 2013
(#) potyo válasza watt hozzászólására (») Dec 19, 2013 /
 
Nem lesz zöldség, hanem az előző konverzió eredményét fogja kiolvasni újra és újra, amíg el nem készül az újabb konverzió.
(#) watt válasza Bakman hozzászólására (») Dec 19, 2013 /
 
Azt sajnos én sem tudom, hogy flowban hogyan lehet lassítani. Az oscit be kell állítani helyesen a projectben, de ha az gyors lenne, amit akkor számol a fordító, akkor bele kéne nyúlni a gyári rutinokba, ha nincs állítási lehetőség esetleg felajánlva.
(#) watt válasza potyo hozzászólására (») Dec 19, 2013 /
 
Akkor hogyan kapnak hibás adatot? Nem lehet, hogy menet közben töltődik fel a regiszter és ezért változik az adat sűrű kiolvasás közben? Ha nem, akkor nekik hogyan lehetséges a tapasztalt jelenség?
(#) Kovabe válasza watt hozzászólására (») Dec 19, 2013 /
 
Timerben számogatsz és aszerint az idő szerint olvasod?
(#) watt válasza Kovabe hozzászólására (») Dec 19, 2013 /
 
Régebben feltettem egy megszakításos megoldást, ahol a PIC nincs leterhelve a konverzió idejére. A flow gyári blokkja 750ms időre megakasztja a folyamatokat, ami enyhén szólva is gáz. A CRC kezelés is hibás volt, azt is javítottam...
(#) Kovabe válasza watt hozzászólására (») Dec 19, 2013 /
 
Igen tudom de sajna nem találom, pedig mostanság jól jönne. Esetleg tudnádlinkelni?
(#) potyo válasza watt hozzászólására (») Dec 19, 2013 /
 
Most próbálgattam olyat, hogy elindítom a konverziót, majd 3ms után kiolvasom a szenzorból az adatokat (épp itt van az asztalon egy projekt 16F887+DS18B20-al). Úgy tűnik, hogy pontos értéket mutat a konverzió közben is, nem összevissza értékek jönnek vissza. CRC is stimmel. Vagy az előző konverzió eredménye jön, vagy bitenként tölti fel a regisztereket, de én az előbbire tippelnék.

Ha jól értem, nem összevissza értékek jönnek nekik, hanem pl. bekapcsoláskor először 25 fokot mutat, majd ahogy telik az idő, az érték felmegy egészen 26 fokra, és azt gyanítják, hogy ha gyakran olvasgatják a szenzort, akkor az olvasgatás és a konverzió energiafogyasztása fűti fel kb. 1 fokkal.
A hozzászólás módosítva: Dec 19, 2013
(#) Bakman válasza watt hozzászólására (») Dec 19, 2013 /
 
Úgy látom, kicsit összekeveredtek a dolgok.

Ha mindenféle szünet nélkül a Flowcode-ban folyamatosan, tehát a lehető leggyorsabban, olvasgatom ki a hőmérsékleti adatokat, akkor szemmel láthatóan mindig egy kicsit nő a mért hőmérséklet és beáll kb. +1 °C-os "tévedésre". Amennyiben két kiolvasás között van kb. két másodperc szünet, plusz amit a kiolvasó rutin vár (750 ms), akkor nem tapasztalni olyat, hogy többet mér a kelleténél. Nekem ebből az következett, hogy a folyamatos olvasás miatt maga a DS melegszik egy kicsit. Mindezt szobahőmérsékleten tapasztalni.

A CRC hiba egy teljesen más téma (csak megemlítettem), éppen azon vagyok, hogy kisüssem, miért lesz CRC hibás az adat egy bizonyos PIC használata esetén, miközben egy másikkal jó. A téma innen végigkövethető. Eddig nem volt időm foglalkozni vele, holnap ráfekszem...
(#) watt válasza potyo hozzászólására (») Dec 19, 2013 /
 
Értem, köszi az infót, érdekes.
Nehéz elhinni, hogy a kommunikáció közben hő fejlődne az 1mA alap fogyasztáson felül. Igaz ha kicsi a vonal felhúzó ellenállása(a stabilabb kommunikációt elérendő), akkor elképzelhető, főleg, ha nem FET, hanem tranyó van az 1wire kimeneten...
(#) watt válasza Kovabe hozzászólására (») Dec 19, 2013 /
 
Már én se tudom hol volt, meg kellene keresnem nekem is...
(#) watt válasza Bakman hozzászólására (») Dec 19, 2013 /
 
Nem kevertem, csak próbáltam olyan megoldást találni, ami nem a belső melegedésre mutat. A CRC hiba lehet a gyors kommunikációtól, illetve ha a vezeték több zavart szed össze az adott sebességen. Ezen segíthetne, ha lassítanád. Hogy ez hogyan függ össze egy adott PIC-el az jó kérdés, lehet, hogy más a PIC-ek hidegítése az adott áramkörben...
(#) Kovabe válasza watt hozzászólására (») Dec 19, 2013 /
 
Akkor megkeresem csak azt hittem hogy te tudod mikor is tetted fel. Ha meglelem akkor szolok.
(#) Bakman válasza Kovabe hozzászólására (») Dec 19, 2013 /
 
Ezt keresitek? Bővebben: Link
(#) Kovabe válasza Bakman hozzászólására (») Dec 20, 2013 /
 
Mester tanits.
(#) Bakman válasza Kovabe hozzászólására (») Dec 20, 2013 /
 
Miben? Mint írtam, PIC programozásban kisiskolás vagyok, keresni, mint masszívfórumozó (nem csak itt), viszont jól tudok.
(#) janimester hozzászólása Dec 20, 2013 /
 
Üdv. valakinek lenne tippe hogyan tudnám használni az Alarm registert a 18b20-amban? Külföldi oldalakon találtam egy ilyen forrást de ennél több nem volt benne. Még hiányzik belőle a nyomógombos érték beállító programrész és pont ez kellene nekem hogy termosztátként tudjam használni.
  1. //Do temp conversion
  2.  
  3.      Ow_Reset(PORTA, 1);                         //' Reset
  4.      Ow_Write(PORTA, 1, 0xCC);                    //'SKIP_ROM
  5.      Ow_Write(PORTA, 1, 0x44);                   // ' Issue command CONVERT_T
  6.      Delay_us(100);
  7.  
  8.                             //Read Temp
  9.  
  10.      Ow_Reset(PORTA, 1);
  11.      Ow_Write(PORTA, 1, 0xCC);                    //'SKIP_ROM
  12.      Ow_Write(PORTA, 1, 0xBE);                    //'READ_SCRATCHPAD
  13.  
  14.      temp =  Ow_Read(PORTA, 1);
  15.      temp = (Ow_Read(PORTA, 1) << 8) + temp;
  16.  
  17.                            //Read Alarm
  18.  
  19.      Ow_Reset(PORTA, 1);                            // 'Reset
  20.      Ow_Write(PORTA, 1, 0xEC);                    // 'Read alarm
  21.      temp =  Ow_Read(PORTA, 1);                 //'Alarm value
(#) potyo válasza janimester hozzászólására (») Dec 20, 2013 /
 
DS18B20-at nem lehet termosztátként használni, azt muszáj a kontrollerrel kezelni. DS18B21 kellene neked.
(#) Kovabe válasza janimester hozzászólására (») Dec 20, 2013 /
 
Itt egy konkrét kapcsolás: Bővebben: Link
(#) janimester válasza potyo hozzászólására (») Dec 20, 2013 /
 
Értem, akkor marad az if függvényben való érték változtatása. Köszi a tippet mindenesetre.
(#) Szpisti válasza potyo hozzászólására (») Dec 20, 2013 /
 
Csak megemlíteném -mert látom mást is érdekel a thermostat téma - hogy pár hete megépítettem ezt a kapcsolást, és számomra tökéletes megoldást nyújtott a drága gyári készülékhez képest.
Mivel a lakásban a régi termosztátot már a harmadik helyre kellett volna bevezetékeznem, fabrikáltam hozzá egy rádiós adó-vevő egységet is, úgyhogy most oda viszem ahová a legjobbnak látom.
Eben is egy DS18B20 az érzékelő, és tized C fok pontossággal mér.
A program hiányossága , hogy annak ellenére hogy tudja ezt a felbontást, csak egész fokonként lehet programozni. Ezt viszont a radiátortól való távolsággal lehet balanszírozni.
No meg a program "free", és mivel sajnos a programozáshoz kuka vagyok, beérem ennyivel.
(#) djsms válasza Szpisti hozzászólására (») Dec 21, 2013 /
 
Hasonlót építek én is, csak én led helyett lcd-t használok. Nem drágább, de sokkal szabadabban használható.
A próba panelen van egy ds18b20 (temp1) és es lm35. Csak össze akartam hasonlítani az analóg és a digitális lehetőségeket. A digitális győzött
Van még rajta egy rtc modul is, így hosszabb áramszünet esetén sem kell bajlódni az idővesztéssel.
(A kijelzőn azért mutat többet a ds, mert hozzáértem a vezetékek elhúzása közben )
Az rf rész még nincs rajta, az majd most jön csak!
(#) PPetya hozzászólása Jan 15, 2014 /
 
Sziasztok!

Az lenne a kérdésem, hogy a DS1821+ hőmérséklet szenzort hogyan lehet újra programozni?
Beállítottam benne a vicsys - egy chipes termosztát cikkjében szereplő programmal a Th és Tl értékeket majd termosztát módba kapcsoltam.
Most szeretném valahogy módosítani a Th és Tl értéket.
A program amivel először beállítottam az nem ismeri fel a chipet

Üdv.: Petya
(#) szpot hozzászólása Márc 3, 2014 /
 
Üdv!

Segítséget szeretnék kérni a DS1820 érzékelő beüzemeléséhez. Megépítettem a Bővebben: Link kapcsolást de LCD kijelző helyett 3db 7 szegmensest szeretnék használni. A kijelző része már megy csak azt nem tudom hogyan kell kommunikálni a DS érzékelővel. Nem nagyon tudok még programozni a Flowcode-al próbálkoztam. Csak annyit szeretnék hogy egy db érzékelőről ki tudjam íratni a hőmérsékletet pl (25,7)
Előre is köszönök mindenféle segítséget.

Üdv.:Attila
A hozzászólás módosítva: Jan 6, 2015
Következő: »»   16 / 39
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