Fórum témák
» Több friss téma |
Alakul...
Megtaláltam a doksit (PDF) ami említi az 500m-ig való kábel használatot, amelyre hivatkoztál. Igazad volt, ne haragudj, hogy kételkedtem a hozzászólásodban. Mindenkinek javaslom ezt, aki 100% biztos, mérnökök által kidolgozott és ellenőrzött dokumentáció alapján akar dolgozni.
Itt a link: https://www.maximintegrated.com/en/app-notes/index.mvp/id/148
Szia. Köszönöm, hogy alaposan felkavartad az állott vizet.
Az ötletednek köszönhetően sikerült kidolgozni, egy RS485 hardware alapú One-Wire hálózatot. Több csomópontos és a csomópontok közötti táv 5-600m lehet. Csomópontonként 12 szenzor használható. Szóval TE adtad a szikrát, hogy egy általános revíziót indítsunk ebben a témában. Mégegyszer köszi A hozzászólás módosítva: Jún 11, 2019
Amiről itt kevés szó esett, hogy a DS18B20 digitális áramkör.
Ez csak annyit jelent, hogy az előírt logikai jelszintek, időzítések, jelváltozási sebességek, az eszköz paramétereinek megfelelő feszültség és áramviszonyok mellett működik a rendeltetésének megfelelően. Nagyobb távolságoknál azért vannak problémák, mert ezeknek a feltételeknek nem teszünk maradéktalanul eleget. Az 1-wire hálózat meghajtásánál és a visszaküldött jelek érzékelésénél is távolságtól, vezetéktől is függő kiegészítő áramkörökre, jelformálóra, komparátorra lehet szükség. Az alább említett dokumentumban nem látom a beérkező jelek szintjének, formájának a helyreállítását. (Vagy csak elkerülte a figyelmem) A problémák felderítésénél, javításánál érdemes szkóppal rámérni több helyen is a hálózatra.
Gondolom az alábbi három link segíthet kiindulni:
Reading and Writing 1-Wire® Devices Through Serial Interfaces https://www.maximintegrated.com/en/app-notes/index.mvp/id/74 1-Wire® Extended Network Standard https://www.maximintegrated.com/en/app-notes/index.mvp/id/3925 Advanced 1-Wire Network Driver https://www.maximintegrated.com/en/app-notes/index.mvp/id/244 A legnagyobb negatív tényező, a kábel kapacitása hosszú vezeték esetén. Az áram alapú megközelítés túl költséges és bonyolult. Jelenben RS485 alapú továbbítással kísérletezem az MCU és DS18B20 (12 darab) csomópont kötéséhez. Ehhez külön kellet választani az MCU oldal (master) IO portot egy IN és OUT portokra. Persze ehhez újra kellett írni a z 1-Wire library-t assembly-ben.
Előírtan rövid fel- és lefutási idejű, határozott logikai szinteknek megfelelő jelekre van szükség, amihez az áramgenerátor nem szerencsés választás.
Ha egy kapacitást áramgenerátorral töltünk, az többnyire nem digitális jelet fog eredményezni. Ezekben a dokumentumokban nem találom, vagy nem foglalkoznak a visszaérkezett jelek formázásával, helyreállításával.
Tudnál ajánlani valamit ami megfelel az általad leirtanak?
Szívesen tesztelem és megosztom az eredményeket. Ha jól értem, a bemeneti szint annyira nem kényes, ST alapú. A hosszú kábelen ugye zaj is van bőven. A dokumentumokban inkább a megfelelő impedancia illesztés, a fel- és lefutási idő és a recovery time (??? idő) van hangsúlyozva.
Ez kimaradt az előbb...
Szóval a túl rövid fel/le futási idő valamint a kábel kapacitív és induktív jellege rossz kombináció. Viszont az ellenkezője sem jó. Amint láttad a gyártő 0,5us él meredekséget javasol 100ohmos karakterisztikus impedanciájú transzmissziós vonal (ez esetben sodort érpár pl. UTP egyik érpára) esetén. A javaslatod viszont jónak tartom, ami a jelszintet illeti master oldalon a bemeneten (dokumentumban SENSE). Ehhez viszont elengedhetetlen, amit korábban írtam már, hogy külön BE és KIMENET portra van szükség. Erre vonatkozóan nem láttam kódot feltéve, többnyire a klasszikus egy IO port megoldás van. A hozzászólás módosítva: Jún 12, 2019
Jobbat én sem tudok ajánlani a gyárilag javasoltnál.
Nem érdemes másikat kitalálni helyette. A doksikban leírt kapcsolótranzisztoros meghajtást érdemes lenne megépíteni és megnézni a jelalakokat. Szerintem a DS18 visszajelzése hosszú vezetéken jelentősen csillapodhat, ezt fontos lenne erősíteni és formázni. A gyártó tett közzé erről konkrét kapcsolási rajzot, vagy elvi rajzot is erről, de nem látom az általad felsoroltak között. Ha jól emlékszem, az pdf volt és komparátor is van benne.
Ezt a kapcsolást találtam, ami egyszerű de van benne kezdetleges jel kondicionálás:
https://www.edn.com/design/test-and-measurement/4360090/Design-Idea...4-1999 Még keresgélek, hátha valami jobb is előkerül...
Azt hiszem erre gondoltál. Sajnos ez csak valamiféle archívumba van meg, úgy tűnik már nem támogatja ezt a megoldást a gyártó. Egyébként a szóban forgó AN148-as dokumentum ott van azok között amiket korábban küldtem és írtad, hogy nem találod benne ezt a komparátoros megoldást. Megjegyzem, hogy ugyanarról a dokumentumról van szó (AN148). Küldöm a régi, nem revideált változatát...
Érdekes, hogy a weboldalon a régi látható, viszont a PDF link már az újra irányít. Itt sajnos a linket nem tudom beilleszteni, mert nem engedi elküldeni (gondolom a unicode miatt). Megpróbálom a web oldalt PDF-be menteni és azt küldöm...talán sok az oldal van vagy 10... Azt sem engedi a fórum... Küldöm a képet csak... Végre azt engedi
Szerintem ez az, amit említettem.
Logikus és megfelelően beállítva nagy valószínűséggel jól működik. A helyedben kipróbálnám a meglévő hálózaton, mielőtt más megoldást keresnék. Nem tudom milyen célra, milyen további felhasználásra, mekkora területen szükséges a hőmérsékleti adatok gyűjtése, de ha újabb fejlesztésekre, bővítésre van szükség, bizonyos időnként érdemes újragondolni az egészet. A rádiós, wifis, netes adatgyűjtés, korszerűbb hőmérők olcsóbbak, stabilabbak lehetnek, mint a meglévők további madzagolása. Meg kellene nézni, hogy az iparban mi a trend. Talán van kész, jól működő, bombabiztos megoldás, amivel nem kell kísérletezni és csak a feladatra lehet koncentrálni.
Bemelegítőnek egy egyszerű kis kapcsolás. A következő jellemzőkkel:
- ATtiny4313 MCU - LED kijelző, multiplexelve - max. 20 szenzort detektál (most 9 van rákötve, rövid 50m kábellel) - lehet vegyesen is kötni DS1820 vagy DS18B20 -asokat - kijelzi hány szenzort talált és mutatja a hőmérsékleteket... Itt a kis videón meg lehet tekinteni https://youtu.be/9kiAfHMJGbE A hozzászólás módosítva: Jún 13, 2019
Bár nem kifejezetten DS18B20 téma, azért gondoltam megkérdezem.
Tudtok-e olyan 1-Wire teszter félét, ami kereskedelemben kapható és legalább az alábbiakat tudja: + 1-Wire eszköz kereső és kijelző. Jelezze ki hány és ,milyen 1-Wire eszközt talált, azokról infókat mint pl. ROM kód, tárolt adat, hőmérséklet stb. + Fejlett 1-Wire illesztő, lehessen be álltani bemeneti és kimeneti jelszinteket, hogy hosszú vezetéken is jól működjön. + Kézi műszer Koszi az infot
Az elsőt az alap Arduino kód is tudja szerintem, max. kis módosítással.
A második annyira spéci felhasználás, hogy nem fogsz rá megoldást találni. Plusz ez inkább annak kell, aki ezzel pénzt akar keresni, a hobbistának nincs szüksége 9-30db szenzorra 50-150m távolságba, szóval ha találsz is műszert, erősen zsebbenyúlós lesz. A hozzászólás módosítva: Jún 13, 2019
Én kereskedelmi célra gondoltam. Az ár az másodlagos szempont, inkább profi legyen.
Talán jó lenne megtervezni és megépíteni a meglevő dokumentációk alapján? Van bőven belőlük. Én azért az Arduino-FREE mellett vagyok inkább, megvettük a CodeVision-t ez kemény és produktív fejlesztő rendszer. Nem is lehet egy napon emlegetni az Arduino-val, persze ingyen ez is tökéletes. Ha mér épít az ember egyet, jó lenne TDR (Time Domain Reflectometria) funkciókat is bele rakni. Nem?
Üdv mindenkinek itt a fórumon!
Nagy örömömre elkészült egy prototípus készülék a korábban felvetett 1-Wire teszter projekt alapján. Ez egy kézi műszerben valósult meg, így terepen való mérésekhez, hiba kereséshez kiválló lehet majd. Ezúton szeretném megköszönni korábbi hozzászólásaitokat, ötleteiteket. Ezek alapján körvonalazódott a fejlesztés menete. Mellékelnék pár képet róla és egy linket is rövid videóval a készülék működéséről. Videó: Link Röviden összefoglalva ennyit tud: HW: • 4x16 LCD kijelző • ATmega328PB mikrovezérlővel • 3x4 fólia billentyűzet • Továbbfejlesztett áram, feszültség szabályzó illesztés a hosszú kábel végett. • A készülék 7.2V -ról üzemel (18650 akuk) SW: • Auto power OFF • LCD hattervilagitas vezérlés • LCD kommunikáció 2 irányú • Aku feszültség figyelés, riasztás • Buzzer és R/G LED hang és fény jelzés • DQ feszültség mérése (1-Wire busz) • PWM alapú áram (DQI), feszültség (DQV) és küszöb érték vezérlés (DQT) • Külön I/O portos illesztés az 1-Wire buszra. Ehhez a továbbfejlesztett driver. • Maximum 32 eszköz csatlakoztatható, jelenbe 6 felé lehet (DS1820, DS18B20, DS1821, DS1822...) • Eszközökről info pl. hányat detektált, ROM kód, hőmérséklet, funkció stb. • Zárlat jelzése a DQ vonalon Egyelőre ennyit tud, örömmel fogadok további hasznos ötleteket tőletek, amit előre is köszönök Ha érdekel valakit, további részlet vagy akár a kapcsolás és a FLASH/EEPROM tartalom, szívesen megosztom. További szép estét! A hozzászólás módosítva: Aug 15, 2019
Bizonytalan, vagy hibás működés okainak megállapításához egy analóg oszcilloszkóppal történő mérés sokat segíthet.
Egy jó tipp mindig jól jön.
Mire gobdolsz? Miért pont analog? Tapasztalatom alapján, ezt inkább terepen való gyors hiba keresésre szántam. Például: Tegyük fel, terepen vagy ahol egy hőmérő rendszered van. Van 12 szenzorod össze kötözve pár száz méter kábellel, ugy 3...4 csomópontba. Valahol az egyik szenzor meghibásodott, mert mondjuk éppen hegesztett valaki nem túl szakszerűen, ezért zárlatos lett. Vagy talán az egyik leágazó kábel szakasz lett zárlatos . Mit teszel? Szét oldod a csomópontokat? Ha szerencséd van, lehet multiméterrel diodavizsgáloval sikerrel jársz és hamarabb behatárolod a hibát. De egy ilyen esetben hogy segít az analóg szkóp?
Sziasztok,
DS18B20-at szeretnék használni PIC-el. Sajnos nem működik. Az Aliexpress-ről vett érzékelők (3db), az a típus, amit vezetékkel együtt árulnak, és ahol az érzékelő egy fém kapszulába van. A 18B20 felé küldött adatok szerintem jók, mert protokoll analyzer-rel nézve a kiküldött adatok megfelelőek. A reset-re a 18B20 válaszol is. Ezeket küldöm ki (kép): Reset CC 4Eh 00h 00h 1Fh Reset CCh BEh Ha jól sejtem a BEh után a 18B20-nak küldenie kellene a 9byte-tot, de nem kapok adatot. Az adatvonal a fenti adatok kiküldése után a vezérlő felől el van engedve, ha kézzel lehúzom, akkor az látszik a PIC oldalán. A 18B20-ak direkt kap +5V tápot, azaz nem parazita módban használom. Szét is szedtem, kiszedtem a kapszulából az érzékelőt, és így direktbe kötöttem be, de így sem jó. Olvastam, hogy másnak is voltak gondjai kínai érzékelőkkel. Van valakinek valami tippje, hogy merre keressem a problémát? (azon kívül, hogy az érzékelők rosszak) A hozzászólás módosítva: Aug 19, 2019
Szia!
Nem látom jól az ábrát, de a 4Eh után VÁRAKOZNOD kell, amíg a vett adat 0, nem kiküldeni !! Ha visszajön az FFh, akkor van kész a konvertálással és jöhet a RESET, lekérdezés...! Ha közben 0-t küldesz ki, akkor az szerintem RESET ! szerk.: közben ránéztem az adatlapra: a mérés kódja a 44h, nem 4Eh ! A hozzászólás módosítva: Aug 19, 2019
A jelek, amiket a vezeték egyik végén elküldesz, digitálisak, megfelelő szintűek, időbeni lefolyásúak.
De elég hosszú vezeték másik végén az már nem nem lesz ugyanaz. Ezt lehet láthatóvá tenni és szükség szerint beavatkozni. De ha működik, akkor is jó tudni, hogy a jelek még épphogy megfelelőek, vagy stabilan teljesítik az elvárásokat. Üzemszerűen erre nincs szükség, de a folyamatról korrektebb képet kapsz, mintha azt figyeled, hogy működik, vagy nem. Hibakeresésnél például, ha az egyik mérési pont beterhel, - ez nem feltétlenül zárlatot jelent - nem megy semmi, a szkópon lecsökken a jel nagysága, de helyreáll, ha azt húzod ki, amelyikkel gond van.
Szia!
Szerintem az analóg oszcilloszkópra kérdezett rá, amit írtál az digitálissal is nézhető...
Ebbe tökéletesen igazad van. A szkóp mond a legtöbbet.
Én a gyors tesztelés végett készítettem el a szóban forgó kézi tesztert, amivel nem látod ugyan a jel alakot, mégis 3 paramétert állítani tudsz, éspedig a következőket: DQI az 1-Wire busz árama (1...10mA, 255 lépésben) DQV a feszültsége (3...6V, 255 lépésben) DQT a busz bemenő logikai küszöb értéke (1...DQV, 255 lépésben) Ezeket állíttgatva, miközben folyamatosan látod hogy viselkedik az eszköz (DS18B20) be tudsz határolni egy optimális értéket amivel még megbízhatóan működik vagy épp a hibát lokalizálod. A gyakorlat persze sokszor eltér ettől A hozzászólás módosítva: Aug 20, 2019
Az analóg jel a valódi problémát mutatja, amit leghatékonyabban úgy lehetne javítani, ha egyszerre látod a hibás jelet és a korrigáltat.
Úgy gondolom, hogy számtalan beállítás eredményez hibátlan átvitelt, de a legstabilabb, korrektebb annál a legkisebb áramnál lesz, ahol az amplitudó elegendően nagy és a küszöb beállítással megvan a szükséges jelszélesség.
Sziasztok.
Úgy tűnik, a DS18b20-ból is ki lehet fogni hamis példányokat. Ebay-es rendelés volt, az ár a szokásos, már egy éve ugyanannyiba kerül a 10db. 70-80-90°C fölött -127°C-t ad vissza a szenzor, ez szenzor függő, hogy honnan hibázik. Az egyik mindig pontosan 72°C fölött nem küld adatot, a másik 84°C. 125°C-ig kellene, hogy tudjon mérni. Az első mérésnél (tehát amikor "hideg" a teljes tokozás), elmegy 80°C-ig, de mikor engedem kicsit visszahűlni, majd ismét melegítem, már 70-74°C-tól hibázik. Arduino Nano-val tesztelem, a Dallas könyvtárral, a program a Simple nevezetű, soros porton kommunikál. A DS18b20 nincs sehova rögzítve, csak simán bedugom egy hármas anya tüskesorba a lábait, és pákával melegítem alulról úgy, hogy csak a meleg levegő érintkezzen a tokkal. 4k7 felhúzó ellenállást használok. A programokat fel kell most már erre is készíteni... Először azt gondoltam, hogy én hibáztam, mikor a szenzor lábait hajlítgattam, meg a szemes sarura ragasztottam, de ugyanabból a rendelésből leteszteltem másik 5db-ot, és ugyanúgy hibáznak... Hogy leteszteljem a Nano-t és a mérés minden más részét, beraktam egy régi, meggyötört DS18b20-at, 127°C vagy 127.5°C-ig mért, majd -127°C-t adott vissza. Elvettem a pákát, elkezdett szépen visszafelé mászni az érték. Tökéletesen működik.
Döbbenet. Ki is próbáltam az enyémet, 127.9-nél megállt, és szépen visszahűlt, szerencsém volt ezzel a példánnyal.
Helló,
Nem találkoztam ilyennel, bár marék számra használok DS182p 0 és DS18B20-as szenzorokat. Igaz a TME -ről rendelem. Milyen library-t használsz? Ad esetleg más hibát is a szenzor? Pl. POR -re gondoltam. Nekem a 4K7 nem vált be nagyobb hőmérsékleten, ezért lementem 1K-ig, ahol szükség volt. Ez főleg hosszú kábelnél volt szükség.
Próbáld forrasztással, ne csak bedugd egy aljzatba, amihez túl vékony a lába.
|
Bejelentkezés
Hirdetés |