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   11 / 39
(#) sirály12 válasza watt hozzászólására (») Jan 5, 2013 /
 
A tokozást nem csak Z és U betűvel jelölik? Az adatlapon nem találtam P jelöléssel tokozást, ezért is írtam amit írtam.
A sima Ds18B20-nak ami to92-es tokos nincs jelölve a tokozása nem?
Vagy csak elnéztem valamit?
(#) watt válasza sirály12 hozzászólására (») Jan 5, 2013 /
 
Szia! Én ezt láttam, de már én is össze vagyok keverve, ezért kérdeztem.
DS18B20P ?
Jobb oldalon a tokozásoknál látok P és Z jeleket a tok fajtájától függően.
A hozzászólás módosítva: Jan 5, 2013
(#) lakatt válasza watt hozzászólására (») Jan 5, 2013 /
 
Ez a PAR verziót jelöli, a simával akár 2-3 db is megy hibátlanul.
Egyébként azóta még küzdöttem vele és szinte biztos, hogy a bekötéssel van gond, mivel a DS18B20 is használható parazita bekötéssel. Ha "parazita módon kötöm be akkor ugyanúgy a 85000-es értéket kapom vissza és nem a helyes hőmérsékletet. Ezért valószínűleg én értelmezem rosszul a parazita kapcsolást. Mondjuk ennek ellenére azt nem értem, hogy valamilyen szinten mégis kommunikál a Raspberry Pi-vel az eszköz, hiszen a kernelmodul betöltésekor az IC ID-t rendesen megkapja a Raspberry, és a device fába is bekerül az eszköz...
Én a parazita bekötést egyszerűen úgy csináltam , hogy az IC 1 és 3. lábát összekötöttem rákötöttem a föld -re a 2-es lábat pedig 4,7k-s ellenállással tápra kötöttem meg direktbe a jelbemenetre a GPIO porton.
(#) Wind-Storm hozzászólása Jan 5, 2013 /
 
Sziasztok!

Nem tudom mennyire járok jó helyen, ha rossz topikban lennék, ez esetben bocs.
Ez alapján építettem egy programozót a DS 1821C+ típusú hőszenzornak.
Az ott linkelt programot használtam hozzá. Elsőre össze is jött, magától megtalálta a szenzort a megfelelő porton, viszont mióta átállítottam termosztát módba, bármit csinálhatok a programban, vagy átdughatom a másik portba, azt írja állandóan, hogy az eszköz nem található.
Nem tudom mi lehet a probléma.. remélem ti tudtok segíteni.
Előre is köszi a segítséget!
(#) watt válasza lakatt hozzászólására (») Jan 5, 2013 /
 
Mindegyiket lehet PAR-ba kötni, nem tudom miért jelölnék ezt külön, lehet, hogy ezeket csak PAR-ba lehet?
Igazából nem tudom mitől lehet a jelenség, lehet, hogy a program nem jól kezeli a PAR bekötést. Láttam olyanokat, hogy egy FET-el töltötték fel a vonalakat kezdéskor, de az nem sorosra volt kötve...
(#) lakatt válasza watt hozzászólására (») Jan 5, 2013 /
 
Felrakom a bekötéseket, hátha egyből kiszúrjátok mi a hiba.

Az első amikor tökéletesen működik a hőmérő....
(#) lakatt válasza lakatt hozzászólására (») Jan 5, 2013 /
 
A következő verzió amikor ugyanazt az IC-t sima DS18B20 tehát nem a P-s végűt. Parazita módon kötöm be (szerintem ezt csinálom rosszul).
Érdekes módon valamilyen szinten mégis kommunikál a Raspberry-vel..
Így kapom a hibás 85000-as eredményt a kiolvasáskor ami fix és nem is változik...
(#) watt válasza lakatt hozzászólására (») Jan 5, 2013 /
 
Próbáld meg a 4k7-et 3k3-ra csökkenteni. Egyébként nem látok eltérést az adatlaphoz képest.
Most nem vagyok képbe, de ha PAR módban használjuk, nem kell más utasításokat kiadni a táp felépülése miatt a további utasítások előtt? Nekem a kezelés gyanús.
(#) potyo válasza lakatt hozzászólására (») Jan 5, 2013 /
 
Nem csak annyi a te problémád, hogy a hőmérséklet konverzió idejére nem elég a csak ellenállásos felhúzás az adatlábon, hanem erősebb felhúzás kellene hozzá? Ennek hiányában a szenzor vélhetően resetelődik, amikor elindul a konverzió, ezért kapod a következő kiolvasáskor ismét a 85 fokot. DS18B20 adatlapján nézd meg a négyes képet. Kontroller lábról táplálva külső mosfet nem kell, mert egyszerűen logikai magas szintre kell csak a lábat húzni, és meg is van a nagyobb áramú táp a szenzor számára (ha nem akarunk túl sok szenzorral egyszerre konverziót csináltatni). Raspberry lábának terhelhetőségét nem tudom, de egy szenzort szerintem az is simán elbír, így maximum nem egyszerre indítasz konverziót az összes szenzoron.

Amúgy szerintem csak annyi a különbség a -PAR és az anélküli jelölésű szenzor között, hogy előbbinek nincs is bekötve a tokban a Vdd lába. Illetve értelemszerűen hiányzik a READ POWER SUPPLY [B4h] parancs, bár igazából az is lehet, hogy ez is megvan, csak nincs értelme foglalkozni vele, hiszen mindig azt adja vissza, hogy parazita táplálással megy a szenzor.
A hozzászólás módosítva: Jan 5, 2013
(#) lakatt válasza potyo hozzászólására (») Jan 5, 2013 /
 
Köszönöm a tippeket. Jövő hét elején kipróbálom a kisebb ellenállással, aztán beszámolok a tapasztalataimról.
(#) Wind-Storm hozzászólása Jan 5, 2013 /
 
Esetleg valakinek valami ötlete #1360800 erre?
A hozzászólás módosítva: Jan 5, 2013
(#) potyo válasza lakatt hozzászólására (») Jan 5, 2013 /
 
Az a baj, hogy a kisebb ellenállás eléggé határeset lesz. Ha a minimális tápfeszültséget vesszük, ami 3V, meg mondjuk 5V-os a tápunk, és az adatlap szerinti maximum 1,5mA áramfelvételt vesszük alapul, akkor maximum (5-3)/0.0015=1333ohm ellenállást lehetne használni, vagyis mondjuk 1200 ohmost. Viszont a szenzor csak 4mA áramot tud húzni, ha logikai nullát kell kiadnia, ezzel szemben 5V/1200=4,1mA, vagyis túlmegyünk a szenzor határán. Tehát inkább az aktív felhúzáson kellene gondolkozni.
(#) watt válasza potyo hozzászólására (») Jan 5, 2013 /
 
Úgy láttam a képeken, hogy a táp 3,3V.
(#) lakatt válasza watt hozzászólására (») Jan 5, 2013 /
 
igen 3,3V a táp
(#) potyo válasza lakatt hozzászólására (») Jan 5, 2013 /
 
Akkor meg felesleges is kisérletezni az ellenállással, mindenképpen kell az aktív felhúzás. Nem nagy valami, átkapcsolod kimenetté a lábat és magas szintre húzod, miután kiadtad a konverzió parancsot (adatlapban nézd meg, mennyi időd van erre, de ha rögtön csinálod, akkor szerintem bőven benne vagy), utána pedig amikor bármit akarsz vele kommunikálni, akkor csak visszakapcsolod bemenetté a lábat és már megy is a dolog.
A hozzászólás módosítva: Jan 5, 2013
(#) Villamos hozzászólása Jan 10, 2013 /
 
Sziasztok. Van egy PIC16F887 ic meg 1 DS18B20 hőmérő ic és hülye adatot ír ki a kijelző azt írja, hogy (168.000C mért lehet most tanulok programozni és az angol nem az erősségem de azért át néztem az adatlapját. Nézzétek már át a fájlt amit csatoltam mi lehet a baj.

887Temp.c
    
(#) kyrk válasza Villamos hozzászólására (») Jan 10, 2013 /
 
Ez fordul? Includok hianyoznak szerintem.

Szerintem a RES_SHIFT rossz. 16-al kell osztani ha minden igaz.
En igy konvertaltam:
static float ds18b20_convert_temperature(unsigned int rawTemp) {
float result = 0;
int temp = 0;
temp = (int)rawTemp;
result = temp;
//printf("Raw:%u\r\n", rawTemp);
//printf("Raw:%d\r\n", temp);
result /= 16.0;
//printf("Raw:%d\r\n", (int)result);
return result;
}
(#) Villamos válasza kyrk hozzászólására (») Jan 10, 2013 /
 
Szia kyrk. Mi az a includok? Nem értem én ezt meg mondom őszintén én azt hitem hogy olyan mint 1 termosztát minél melegebb van annál jobban ad plusz áramot(+5V) az icé fele ha hideg van akkor meg halad a 0 fele, mint a feszültség mérő olyanra gondoltam. De akkor nem vagyok képben nagyon ugye?
(#) kyrk válasza Villamos hozzászólására (») Jan 10, 2013 /
 
Nem ez nem olyan. Ez digitalis jelet ad, illetve programozhato pl milyen felbontassal merjen.
(#) kyrk válasza Villamos hozzászólására (») Jan 10, 2013 /
 
160 ha osztom akkor pl 20 jon ki. Lehet hogy 20 fok volt ott ahol mertel? Monduk illene ingadoznia, illetve hogy pont 20.0 fok legyen eleg ritka. Persze soha nem tudni. Pl 20,3 jobban hiheto.
(#) Villamos válasza kyrk hozzászólására (») Jan 10, 2013 /
 
Van itt a műhelyben 1 hőmérő(eredetin gyári) itt mellette de az jelen pillanatban mikor 168 at ír ki a pic ő 19,1C ot. a programon belül hol van az osztás a RES_SHIFT az lenne az???
(#) kyrk válasza Villamos hozzászólására (») Jan 10, 2013 /
 
Ezzel probald ki hatha:
const unsigned short RES_SHIFT = 4;
Elvileg alapbol 12 bites a cucc es akkor 16-al kell osztani az jobbra shift 4-el.
(#) Villamos válasza kyrk hozzászólására (») Jan 10, 2013 /
 
Pill ki próbálom csak annyi változót most, hogy const unsigned short TEMP_RESOLUTION = 12; ezt át írtam mert nekem 9 volt a 12 helyett és azota 85 C-ot mér. most mit csináljak. Addig meg nézem a tiedét de elméletileg ugyan az lesz az eredmény de nézem.
(#) kyrk válasza Villamos hozzászólására (») Jan 10, 2013 /
 
Azt ki tudod iratni, hogy a szenzorrol mit olvas be? Lehet mar az eleve rossz. Gondolom uj a szenzor. Felhuzoellenallas ottvan?
(#) Villamos válasza kyrk hozzászólására (») Jan 10, 2013 /
 
Ow_Reset(&PORTE, 2); // Onewire reset signal
Ow_Write(&PORTE, 2, 0xCC); // Issue command SKIP_ROM
Ow_Write(&PORTE, 2, 0x44); // Issue command CONVERT_T
Delay_us(120);
Ow_Reset(&PORTE, 2);
Ow_Write(&PORTE, 2, 0xCC); // Issue command SKIP_ROM
Ow_Write(&PORTE, 2, 0xBE); // Issue command READ_SCRATCHPAD
temp = Ow_Read(&PORTE, 2);
temp = (Ow_Read(&PORTE, 2) << 8) + temp;
Ezekre a sorokra gondolsz. Igen új és ott a felhúzó ellenállás is anélkül nem is ír ki semmit csak 0-kat.>>
(#) kyrk válasza Villamos hozzászólására (») Jan 10, 2013 /
 
Ebbol a temp erteket kellene egy az egyben az LCDre kiirni. Debuggered nincs esetleg? Azzal is ra lehetne nezni. Ha 20 fok van akkor kb 320at kellene latni.
(#) brato válasza Villamos hozzászólására (») Jan 10, 2013 /
 
Esetleg próbáld meg növelni a convert_t után a delay értéket. Az adatlap szerint 12 bitnél 750 ms a konvertálási idő.
(#) xHuslax hozzászólása Jan 11, 2013 /
 
Sziasztok.

Egy állitható hőkapcsolót szeretnék épiteni.
Az érzékelő kb 40m távolságra lenne az elektronikától,valamint a vezeték egy vastagabb kábel (1.5KW-os motor táplálása) mellett lenne elvezetve.
Mit javasoltok,milyen szenzort használjak,milyen vezetékkel hogy ne legyen gondom a zavarokkal?
Gondoltam ds1820ra,vagy valamilyen kt,kty érzékelőre.
Nincs szükségem nagy pontosságra sem széles tartományra.20-50 fokig kellene mérni 1-2fok hiba nem lenne gond.Ami a feldolgozást illeti,lehet analóg vagy digitális is,megoldom egy piccel.
(#) potyo válasza xHuslax hozzászólására (») Jan 11, 2013 / 1
 
ds18b20 jó lehet a célra.
(#) xHuslax válasza potyo hozzászólására (») Jan 11, 2013 /
 
Milyen vezetéket használjak?Gondoltam valami arnyékolt mikrofonkábelre vagy ilyesmi...
Következő: »»   11 / 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