Fórum témák
» Több friss téma |
Ü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
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?
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
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
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!
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.
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.
Az előbb kimaradt
SKIP ROM "CCh" READ SCRATCHPAD "BEh"
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?
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?
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.
DS-en belül a többi 1 wire thempmeter közül
(ameik gyorsabb, és pontosabb, ugy gondoltam)
hello !
DS18B20 http://www.maxim-ic.com/quick_view2.cfm/qv_pk/2812 nem gyorsabb, csak 12 bites értéket ad vissza.
de sajnos más a kommunikációja.
nem egyszerűen helyettesíthető. nekem még nem sikerült életet lehelni bele üdv, szetty
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
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!
hello
valaki el tudja magyarazni, hogy hogyan kell 1 lábon (PIN) -en több DS18B20 -as höméröt lekérdezni?
Először el kell küldeni a megcímzett szenzor egyedi azonosítóját.
az egyedi azonositot meg tudom nézni, de nemtudom hogyan kell kuldenem.
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...
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...
igen, de ezzel csak egyetlen egy ds1820-ból tudod kiolvasni a dolgokat...
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. |
Bejelentkezés
Hirdetés |