Fórum témák
» Több friss téma |
Sziasztok!
MikroC-ben brékelek ezekkel a DS18 hőmérőkkel, de egy DS1820-ason kívül mást nem bírtam életre kelteni. DS18B20-asom lenne egy pár, de így nem tudom őket használni. A program a gyári MikroC minta, tehát annak jónak kellene lennie, mégis a hőmérés nem megy és állandó 85C-ot mutat. Hiába turkáltam a különböző C-s fórumokat, nem jutottam dűlőre. Ha kiveszem a szenzort, mutatja a program szerint beállított felbontás értékét. Feldobom mellékletben a .c forrást, hátha rájöttök, hol van elkenve a lekvár. Köszi.
olvass vissza kicsit ebben a topikban Link
Köszönöm a válaszod ,már csak azt nem értem hogy COUNT PER C és COUNT REMAIN értékéhez hogy jútok hozzá.???
Hali!
Igazán nagy külömbség nincs köztük, nekem mind a kettővel ment így
whalaki, ez a make16 dolog számomra még ismeretlen. Mit is csinál konkrétan?
Nyilván a két, egyenként 8 bites adatból csinál egy 16 biteset. Írhatnánk helyette valami ilyesmit is:
vagy
Feltéve, hogy a temp2 a magasabb helyi értékű byte.
Ez is benne van az adatlap említett fejezetében.
Először ki kell olvasni a 8 bites hőmérséklet-regisztert. Ez az érték lesz az egyenlőségben a TEMP_READ. Ezután ki kell olvasni a 9 bites (!) számlálóértéket a "Read Counter" [A0h] paranccsal, ez lesz a COUNT_REMAIN. Legvégül ki kell adni a "Load Counter" [41h] parancsot, ami áttölti a 9 bites akkumulátort a számlálóregiszterbe, majd beolvasni ismét a számlálóregiszter értékét (9 bit!) a "Read Counter" [A0h] paranccsal. Ez a lgutolsó érték lesz a COUNT_PER_C. Ha jól emlékszem, én még azzal kínlódtam egy sort, hogy minden parancs kiadása előtt RESET-tel kell indítani a kommunikációt. Mintha ezt az adatlap nem hangsúlyozná eléggé. Tehát nekem úgy nem ment, hogy RESET, majd egy utasítás, és ezután egy másik utasítás. A második utasítást már egyáltalán nem vette figyelembe.
Előkotortam az én LCD kijelzésű órámban futó hőmérőrutint, ez egy DS1821-ből olvassa ki a hőmérsékletet és 0.1C felbontással adja vissza (egy egészben a fokok tízszerese lesz).
Nagyon köszönöm,sokat segítettél!!
Szia a kővetkező dolgot vettem észre!
A COUNT regiszter (9-bites!),amire fel is hívtad a figyelmem,de egy dolgot nem értek a 9.-biten nem történik változás(9-bitnél kisebb számok jönne)akkor mi szűkség van rá hogy 9-bites legyen!?
Az a hőmérséklettől függ, hogy az adott hőfokon egy Celsiuson belül hány lépés kell a méréshez. Lehet, hogy -55 vagy +125 C felé közelítve lenne olyan eset, amikor már szükség lenne a 9 bitre is.
Sziasztok!
van valakinek PIC-hez, bármilyenhez, asm forráskódja a DS18B20 thermo-sensor SearchROM commandhoz? Vagy ha valaki elmagyarázná nekem emberi nyelven, hogy hogy működik, még az is segítene... Előre is köszi! Üdv The_Saint
Üdv.
A gyártó is csak C nyelvű rutint appnote-oz, abból kell okosodnod. Imi.
Sziasztok
Belefogtam egy hőmérő építésébe ds1821+szenzorral a kővetkező problémába akadtam egyszer-egyszer bekapcsoláskor nem reagál az érzékelő majd többszöri le és fel csatlakoztatás után feléled és minden működik. Mi lehet a probléma?
Nézd át az időzítéseket, lehet hogy rövid a reset response impulzus! De athadtnál több infót mi jelzi a hőmérsékletet LCD stb...???
Szia
Egy 16x2-es lcd jelzi hőmérsékletet 16f628a Pic működteti az áramkőrt 4mhz kristállyal.A Busz egy 4,7k ellenállással van felhúzva.A többi a forrásból kiderül.
viktorka0011 ráadod a tápot és az lcd értelmetlenséget ír ki, és mikor leveszed, majd újra ráadod a tápot, akkor egyszercsak megjavul?
Majdnem egyszerűen felhúzva marad az adatvonal az az
folyamatosan 255 a kiolvasott érték,majd leveszem a tápot és visszaadom és minden működik hibátlanul!!
Hát az adatvonal alapesetben fel van húzva VDD-re a PIC húzza le GND-re a szenzort min 480 uS-ra, majd elengedi, és ezután a szenzor húzza le GND-re az adatvonalt 60-240 uS ig (reset response adatlap 11 oldal!). Ezután AAh parancs, amit a PIC küld a szenzornak (adatlap 12 oldal) és így tovább!!!
Az egyes parancsokhoz tartozó időket az adatlap 15 oldalán találod! A 10. oldalon van egy táblázat hogyan követik a parancsok egymást, ezt kéne követni és FONTOS az időzítés!!! MAjd az egész folyamatot ismételgetet pl. egy ciklusban!!! Remélem érthető volt!
Üdv, mindenkinek!
Szeretnék épiteni egy digitális hőmérőt, és ebben szeretném a hozzáértők segitségét kérni. Van nekem itthon egy PIC16F628-as pic-em, egy PIC16F84-es pic-em, két darab DS18B20-as hőérzékelő szenzorom és egy 2*8-as kijelzőm, aminek a tipus: BC0802BYRNEH. És és én ezekből az alkatrészekből szeretnék egy szobai hőmérőt késziten ami mutatja a kinti illetve a benti hőmérsékletet. A baj az hogy semmi kapcsolásom semmi programom nincsen ami alapján eltudnám késziteni a hőmérőt. A segitséget előre is köszönöm!
Sziasztok. Egy DS18B20-as szenzorral szenvedek de az istenért se tudom életre kelteni. PIC18F4550-essel szeretném az adatokat kinyerni belőle. Tud valaki adni hozzá nekem HITECH fordítóhoz valami használható kódot? Láttam itt többen is használnak valami DS18B20.c library-t. Valaki ezt közzé tudja tenni?
Köszönöm
Sziasztok.
Érdekes problémába futottam bele. Hőfokszabályzót építettem DS18B20 szenzorral. 12bites felbontással használom, szépen írja is a kijelző a hőmérsékleteket. 24.1, 24.2, 24.3 stb ahogy emelkedik a hőmérséklet, egészen 37.5 fokig. Ekkor megáll a növekedés és legközelebb 38 fokra ugrik fel. Kb annyi idő alatt mialatt 0.1 fokonként 5x kiírná a hőmérsékletet. 4 szenzort is kipróbáltam, mindegyik ezt csinálja. Fűtés kikapcsolás után viszont jól írja hőmérsékletet ahogy hűl lefele. 38, 37.9, 37.8 stb. Valakinek van vmi ötlete erre?
Sziasztok! A DS1821+ szenzort hogy lehet visszaállítani thermostat módból folyamatos hömérséklet módba? Próbáltam a 16x low-high resetelös módszert de nem sikerül a status regisztereket írni.
Köszönöm
Hello! Szeretnék ezzel az 1-wire-s eszközzel készíteni egy hőmérőt. Eléggé kezdő vagyok a mikrovezérlők terén. Az első kérdésem az lenne hogy hogy lenne érdemes a késleltetéseket megoldani?(C nyelv, és WinAvr)
Egy adatvezetéken használ valaki 2 -vagy több- DS16B20-at? Valakinek volna egy mikroC programrészlete?
Üdv!
MPLAB C18-ban van, át tudod írni. Ez kezel több eszközt is. PIC18 saját lábáról kb. 30 méter a max. Imi.
Sziasztok!
DS18S20 szenzort akarok életre kelteni,de nem sok sikerrel eddig.Annyira jutottam hogy a inicializálni tudom,azaz a DQ vonalat lehuzza L-re a szenzor.Követem (#639049) jym kollega utasitásait de semmi válasz nincs.(vagy nem jól müködik a read rutinom vagy még a write sem. - a reset után a bus-ra milyen sorrendben kell a biteket felrakni? pl:b'00110011' (0xCC) elöször a legkisssebb helyiértéküt és onnan felfelé (1.)1 (2.)1 (3.)0 (4.)0.......(8.)0 -ha küldök 1 byt-ot akkor(utasitást) a következö byt mehet azzonal vagy kell valami delay? pl 00110011 11101110 gonolom a bus-ra 1100110001110111 "ha sok baromságot irtam bocsi még nem foglalkoztam 1 wire komunikációval korábban(majd most)"
Nezd meg az adatlapjat, az idozites esszencialis, hiszen ezen kivul nem sokmindennel lehetne operalni az 1wire buszon.
|
Bejelentkezés
Hirdetés |