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   1 / 39
(#) Korben hozzászólása Nov 16, 2005 /
 
Üdv mindenkinek!

Keresek valakit, aki tudna nekem segíteni az itt közreadott digitális hőmérővel kapcsolatban. Megépítettem, de sajna csak mínusz előjellel és csak mínusz irányban működik (inverz!).

Kérem segítsen valaki a megoldásban

Üdv:Korben
(#) vicsys válasza Korben hozzászólására (») Nov 16, 2005 /
 
Lett módosítva az .asm?
A ROM kódok ki lettek olvasva?
Valamelyik alkatrész eltér a megadottól?
Nyákterv?
A kontroller 16f84 vagy 16f84A?
(#) Korben válasza vicsys hozzászólására (») Nov 16, 2005 /
 
Tisztelt Vicsys! A válaszok a feltett kérdéseire a következők:

- az asm file-t megváltoztattam, mert bele kellet írnom az ID-t, amik a következők voltak:

Sensor 1: 28 2A 61 84 00 00 00 6C
Senzor 2: 28 53 FE BD 00 00 00 61

Mind a két tokozással ezt műveli, a darabszámaim a következők (egyikkel sem megy ):

DS18B20 To92 - 3 darab
DS18B20 8pin SO IC (150 mil) - 200 darab

- a NYÁK-on két dolgot változtattam, de ezek nem befolyásolják a programot.

1. változtatás: az MCLR bemenetet nem ellenállásal húztam fel, hanem MCP130 reset-IC-vel...ez nem lehet probléma.

2. változtatás: a processzor OSC1 oszcillátor bemeneti lábát 100R-os ellenálással védem az indulási tranziensek miatt. Ez sem lehet probléma.

Ezen kívűl minden a megadottak szerint készült.

Üdv:Korben
(#) kaninjo válasza Korben hozzászólására (») Nov 16, 2005 /
 
Kedves Korben!

Ha jól látom a DS18B20-nak eltérő a kimenő adat sorrendje a "normál" DS1820-éhoz képest.
Ajánlom a két eszköz adatlapjainak összehasonlítását:
DS1820: [link=http://pdfserv.maxim-ic.com/en/ds/DS1820-DS1820S.pdf]http://pdfserv.maxim-ic.com/en/ds/DS1820-DS1820S.pdf[/link]
DS18B20: [link=http://pdfserv.maxim-ic.com/en/ds/DS18B20.pdf]http://pdfserv.maxim-ic.com/en/ds/DS18B20.pdf[/link]
Különösen a Figure2 és a Table2 adatainak összehasonlítását!

Szerintem a forráskód gond nélkül módosítható az újabb eszközhöz.

További sok sikert kívánok!

Üdv.:Kaninjo
(#) vicsys válasza kaninjo hozzászólására (») Nov 17, 2005 /
 
:yes:
(#) Norberto válasza vicsys hozzászólására (») Márc 12, 2006 /
 
Sziasztok!

Most próbálok ismerkedni ezzel a hőmérőszenzorral (DS18B20), de a felépítése, meg adatlapja alapján egy kicsit bizonytalan vagyok, hogy merre és hogyan is induljak el. Valaki el tudná magyarázni érthetően, hogy kb. milyen a felépítése, miket kell beállítani induláskor (mik az inicializálási lépések), hogyan mér valójában, mit kell ahhoz kiküldeni neki, hogy visszaadjon nekem valamit? Vagy önmagától nem ad vissza jeleket? Milyen időközönként lehet olvasni belőle értékeket?

Előre is kösz a válaszokat!
(#) raron válasza Norberto hozzászólására (») Szept 20, 2006 /
 
Sziasztok!

Én is meg szeretnék építeni egy hasonlót, de sajnos az adatlapon nemigazán igazodok ki. (Szenzor: Dallas DS1820) Le tudná írni valaki, hogy hogyan kell vezérelni; főleg a port fel-le húzását nem értem, és még azt, hogy milyen utasítést kell kiadni, hogy elinduljon az átalakítás.

Minden segítséget előre is köszönök.
(#) cszotyi válasza raron hozzászólására (») Szept 20, 2006 /
 
itt 1 link ahol találsz igen jól használható példa progit és macrókat az "1-wire" kommunnikáció használatához.
Példa a hőmérséklet kiolvasására:
1 . Reset jel küldése
2 . SKIP ROM [CCh]
3 . CONVERT T [44h] hőmérséklet konvertálás megindítása

vársz kb 750-800 milliszekundumot és aztán

- reset jel
- SKIP ROM [CCh] command, ha csak 1 szenzorod van
- READ SCRATCHPAD [BEh] command
és már küldi is a 9 byte adatot a ds1820, amiből az első byte-ban a hőmérséklet érték van a másodikban pedig az előjel értéke.




ööööö remélem érthető voltam.
(#) cszotyi válasza cszotyi hozzászólására (») Szept 21, 2006 /
 
Az előbb kimaradt
SKIP ROM "CCh"
READ SCRATCHPAD "BEh"

(#) gtk válasza cszotyi hozzászólására (») Dec 12, 2006 /
 
Sziasztok!

Epitettem egy homerot avr/DS1621-el es szobahomersekleten probalva 4 fokkal tobbet mutat mint a higanyhomero.
1SHUT modban hasznalom,azaz 1C pontossaggal az adatlap szerint.(ennyire nem lehet hinni a DS-nek sem?)

Mi a velemenyetek ?
Tapasztalatok ezzel kapcsolatban?
(#) raron válasza gtk hozzászólására (») Dec 12, 2006 /
 
Szia!
Biztos jól működik az a képlet, amivel ki lehet számolni a hő-t?
Nem lehet, hogy csak egész számokkal számolsz esetleg nem kerekitesz hanem lávágod a 10edes jegyeket?
(#) gtk válasza raron hozzászólására (») Dec 13, 2006 /
 
Szia.

Kozben kiderult a hiba oka.Eloszoris egy higanyhomerot vettem alapul,de mint kiderult kozel sem volt pontos mar az alkoholossal szemben sem.
A masik problema az volt hogy a nyakon 1,1.5 cm-re raktam a stabot a DS-tol,igy inditaskor a vart homersekletet mutatja,de nehany perc mulva 2-3 fokot is feljebb megy az ertek.Bar a stab melegedese kezzel alig erezheto ugytunik megis nagyban befolyasolja a vegeredmenyt.Most kivezetem a DS-t a nyakbol es ujra probalkozom.
(#) hhkfk hozzászólása Márc 19, 2007 /
 
hi!

nem tudja valaki, mivel helyettesíthető a DS1820????
(#) spkkill hozzászólása Márc 19, 2007 /
 

http://hqvideo.hu/info/hu/ds1820.html

Erre gondolsz?
Ott van alul hogy helyettesítők.
(#) hhkfk hozzászólása Márc 19, 2007 /
 
DS-en belül a többi 1 wire thempmeter közül

(ameik gyorsabb, és pontosabb, ugy gondoltam)
(#) cszotyi válasza hhkfk hozzászólására (») Márc 19, 2007 /
 
hello !
DS18B20
http://www.maxim-ic.com/quick_view2.cfm/qv_pk/2812
nem gyorsabb, csak 12 bites értéket ad vissza.

(#) szetty válasza cszotyi hozzászólására (») Márc 19, 2007 /
 
de sajnos más a kommunikációja.
nem egyszerűen helyettesíthető.
nekem még nem sikerült életet lehelni bele
üdv,
szetty
(#) tbence3 hozzászólása Márc 19, 2007 /
 
Ha szeretnék egyet összekötni egy pic-el akkor milyen utasításkra van szükségem? Vagyis valami kód jön belőle tudom, de hogy smint pontsan erre van valai irományotok? Köszi
(#) Norberto válasza tbence3 hozzászólására (») Márc 19, 2007 /
 
Teljesen egyszerű...kizárólag 1-wire, azaz 1-huzalas kommunikációval működik az egész...annak a doksiját kell átnézned, és máris fogod tudni kezelni...ezt a doksit 1000, meg 1000 helyen lehet a netről elérni, szóval azt ne kérd itt! Próbáld meg megfelelően használni a Google-t, sokat segít, és megtalálhatod vele az összes 1-huzalos interfésszel kapcsolatos írást!
(#) maxpack válasza cszotyi hozzászólására (») Aug 11, 2007 /
 
hello
valaki el tudja magyarazni, hogy hogyan kell 1 lábon (PIN) -en több DS18B20 -as höméröt lekérdezni?
(#) maxpack hozzászólása Szept 8, 2007 /
 
hahooooo
(#) raron válasza maxpack hozzászólására (») Szept 8, 2007 /
 
Először el kell küldeni a megcímzett szenzor egyedi azonosítóját.
(#) maxpack válasza raron hozzászólására (») Szept 8, 2007 /
 
az egyedi azonositot meg tudom nézni, de nemtudom hogyan kell kuldenem.
(#) dpeti válasza maxpack hozzászólására (») Szept 8, 2007 /
 
az a lényeg, hogy először ugord át a Read rom részt (33h) -azaz ne küldj ilyet-
küldj helyette egy Match rom (55h) parancsot, követve az egyedi azonosítóval...
ha magára ismert az IC, akkor utánna már küldheted a többi parancsot (scratchpad olvasás/írás, mérés indítás stb)

de akár kereshetsz is a buszon lévő DS1820-ak között a Search ROM parancsal (ECh)...

http://hqvideo.hu/datasheet/1/151.pdf
ebben a 7. oldaltól találod a folyamatábrákat...
ezek alapján mondom én is...
(#) maxpack válasza dpeti hozzászólására (») Szept 9, 2007 /
 
igen szépen köszönöm, rendes vagy!
(#) maxpack válasza dpeti hozzászólására (») Szept 9, 2007 /
 
asszem elakadtam.
méhozzá ott, hogy: Presence - DS18B20s respond with presence pulse.

na meg ezt sem tudom kezelni: 64-bit ROM code - Master sends DS18B20 ROM code. (bár gondolom itt a writebyte -t hasznalom)
(#) dpeti válasza maxpack hozzászólására (») Szept 9, 2007 /
 
ez is benne van pedig:

"The bus master transmits (TX) a reset pulse (a low signal
for a minimum of 480 ms). The bus master then
releases the line and goes into a receive mode (RX).
The 1–Wire bus is pulled to a high state via the 5K
pull–up resistor . After detecting the rising edge on the
I/O pin, the DS1820 waits 15–60 ms and then transmits
the presence pulse (a low signal for 60–240 ms)."

magyarul a p.p. az annyi, hogy a hőmérő lehúzza a buszt az adott időtartamig, neked ezt figyelned kell... ha ilyet nem produkál, akkor nincs ott semmi...
...
a 64-bit rom code-hoz szerintem jó a write byte... az kell egymás után 8x...
(#) maxpack válasza dpeti hozzászólására (») Szept 9, 2007 /
 
eleinte azt hidtem, hogy értem a dolgot, de most rajottem, hogy totalisan nem vagyok képben.

az 1-wire-t igy kezelve müxik:

DS18B20.reset
DS18B20.writeByte($CC)
DS18B20.writeByte($BE)
temp := DS18B20.readByte + DS18B20.readByte << 8
temp := F.FDiv(F.FFloat(temp), 16.0)

>>
(#) dpeti válasza maxpack hozzászólására (») Szept 9, 2007 /
 
igen, de ezzel csak egyetlen egy ds1820-ból tudod kiolvasni a dolgokat...

(#) maxpack válasza dpeti hozzászólására (») Szept 9, 2007 /
 
pontosan!

az elsö 1-wire adress: 2834DAF0000000BD

datam := 2834DAF0000000BD;

DS18B20.reset //lehet ez nem is kell
DS18B20.writeByte($55)
DS18B20.writeByte(datam)
DS18B20.writeByte($44)
DS18B20.writeByte(READ_SCRATCHPAD)
temp := DS18B20.readByte + DS18B20.readByte << 8
temp := F.FDiv(F.FFloat(temp), 16.0)

tuti valamit nagyon rosszul csinálok.
Következő: »»   1 / 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