18D20- nějak mě nekomunikuje

Měřáky, automatizační technika, regulační technika

Moderátor: Moderátoři

Odpovědět
Zpráva
Autor
Uživatelský avatar
Michal22
Příspěvky: 8229
Registrován: 28 bře 2012, 00:00
Bydliště: Brno

18D20- nějak mě nekomunikuje

#1 Příspěvek od Michal22 »

Pro nějaké budoucí hrátky jsem si pořídil tohle čidlo. Mám jej připojené na převodník RS232/USB. Ale když jsem se zkoušel dívat přes Hyperterminál jestli z toho něco leze, tak jsem nic nenašel. Tak jsem připojil osciloskop, taky nic nevidím.
Mám jej zapojeno dvouvodičově, Pull-Up rezistor z +5V na vývod 2, vývody 1 a 3 spojeny na GND.

Nevím jestli chápu správně funkci tohoto teplotního sensoru, ale nemělo by být na výstupu něco vidět?
Civilizace založená na oboustranné lepící pásce nemůže dobře skončit...
I kdyby se z tebe jednou stal král, neodsuzuj lidi, kteří ti nebudou provolávat slávu- raději se zeptej sám sebe, proč tomu tak není...
Uživatelský avatar
Zaky
Příspěvky: 7050
Registrován: 30 říj 2010, 00:00
Bydliště: Praha

#2 Příspěvek od Zaky »

Jestli je to DS18B20, tak to nemá UART, ale jak se výrobce chlubí "unique 1-wire" rozhraní, což je pěkný fujtajbl, který se musí řešit pouze a jedině softwarově bitbangingem, žádná HW periferie na to neexistuje, čili přes USB-UART konvertor jedině přes bitbanging stavovými signály, což vyžaduje pro ten účel vytvořený software, terminálovými programy s tím komunikovat nelze.
Uživatelský avatar
ohryzek36
Příspěvky: 2393
Registrován: 24 pro 2008, 00:00
Bydliště: Zlínsko

#3 Příspěvek od ohryzek36 »

Já myslím, že pokud tu komunikaci njak neinicalizuješ, tak tyto 1-wire periferie samy od sebe nic nedělají - nějak to máš popsané tady.

Já na podobné věci (vyčítání pamětí) použil 1-wire driver, COM port, převodník s MAX232 a toto zapojení s dvouma tranzistorama - fungovalo to i pak s převodníkem USB/RS232.
Uživatelský avatar
Michal22
Příspěvky: 8229
Registrován: 28 bře 2012, 00:00
Bydliště: Brno

#4 Příspěvek od Michal22 »

Aha, já myslel že tam něco poleze.
Co jsem prolézal net, tak se tam baví o nějakém SW DigiTemp, ale nějak se mě jej nepodařilo sehnat (pro WinXP).
A to, že na osciloskopu nic nejde vidět- po té jednodrátové sběrnici musí přijít nějaký příkaz, který teprve spustí komunikaci ze senzoru?
Civilizace založená na oboustranné lepící pásce nemůže dobře skončit...
I kdyby se z tebe jednou stal král, neodsuzuj lidi, kteří ti nebudou provolávat slávu- raději se zeptej sám sebe, proč tomu tak není...
Uživatelský avatar
Zaky
Příspěvky: 7050
Registrován: 30 říj 2010, 00:00
Bydliště: Praha

#5 Příspěvek od Zaky »

Pokud by bylo v plánu čidla připojovat k nějakému MCU, tak vřele doporučuji použít radši jakákoli jiná čidla s SPI nebo I2C rozhraním, jejichž použitím se odstraní problém s nepropustností kódu v době komunikace s čidlem. Komunikace bitbangingem (navíc relativně pomalým) je pro aplikace s vyžadovaným realtime chováním těžké neštěstí.
Uživatelský avatar
Zaky
Příspěvky: 7050
Registrován: 30 říj 2010, 00:00
Bydliště: Praha

#6 Příspěvek od Zaky »

Ano, nadřízený systém musí začít komunikaci, jinak DS18B20 nedělá nic.
Uživatelský avatar
Michal22
Příspěvky: 8229
Registrován: 28 bře 2012, 00:00
Bydliště: Brno

#7 Příspěvek od Michal22 »

Díky, hlavně ohryzkovi za ty odkazy, zase jsem o něco moudřejší.
Původním záměrem bylo měřit teplotu ve více místnostech, při poklesu kdekoliv spustit vytápění. Komunikace řádově v desítkách metrů.
Jako řídící člen by se použilo Rapsberry.
No a vzhledem k tomu, že s programováním čehokoliv nejsem nějak kamarád, tak by mě s tím měl pomoci známý, který ale zase neumí ani vzít pájku do ruky, natož aby poznal součástky.

Tak ještě dotaz- našel jsem více návodů, kde je připojeno více těchto senzorů paralelně na jeden datový vodič- jakým způsobem je to v řídícím členu rozpoznáváno, odkud přišla jaká informace? Chápu, že každé čidlo má svoji EPROM, ve které je definována jeho "adresa", ale pokud tomu už trošku začínám rozumět, tak pokud řídící člen vyšle "start" pro komunikaci, tak mu odpovědi z jednotlivých čidel dojdou naráz, ne?
Civilizace založená na oboustranné lepící pásce nemůže dobře skončit...
I kdyby se z tebe jednou stal král, neodsuzuj lidi, kteří ti nebudou provolávat slávu- raději se zeptej sám sebe, proč tomu tak není...
Uživatelský avatar
BOBOBO
Příspěvky: 20872
Registrován: 25 úno 2008, 00:00
Bydliště: Rychnovsko

#8 Příspěvek od BOBOBO »

Já se často dívám sem , s autorem lze v poho komunikovat . http://s-o.webnode.cz/teplomer-t15ds/
Uživatelský avatar
vlado5
Příspěvky: 157
Registrován: 19 črc 2011, 00:00
Bydliště: Trenčín

#9 Příspěvek od vlado5 »

A tu to máš popísané-na tej istej stránke autora: http://s-o.webnode.cz/jednovodicova-sbernice/
Uživatelský avatar
ringojr
Příspěvky: 31
Registrován: 25 dub 2015, 00:00

#10 Příspěvek od ringojr »

Raspberry je pro tuto aplikaci zbytečný kanon na vrabce. Postačí jakývkoli klon Arduina nebo Nodemcu řádově za pětinu ceny a s mnohem nižší spotřebou. Návodů k tomu jsou tuny takže není potřebovat ani umět programovat a stačí opsat příklady.
Z opačného konce mrkni na SDS micro, kdy za cenu trochu vyšší než Rasberryje je modul se systémem který sám čte teplotu z čidel a zobrazuje jí na webu a jednoduchým programem se zajistí i to spínání relé.
Tyto čidla používám již delší dobu(pasivní převodník na PC s Digitemp, SDS a arduina) a za sebe mohu říci že jsou poměrně spolehlivá je však alespoň trochu snažit se dodržet požadovanou topologii sběrnice. U těch desítek metrů při nedodržení požadavků na sbernici již mohou nastat problémy.
Uživatelský avatar
BOBOBO
Příspěvky: 20872
Registrován: 25 úno 2008, 00:00
Bydliště: Rychnovsko

#11 Příspěvek od BOBOBO »

To co jsi napsal je jen smetí . Dej sem půl tuny návodů a odkazy na ten HW , potom bude tvá připomínka k něčemu . Takto tam není ni jedna konstanta .
Odpovědět

Zpět na „Měření, regulace a automatizace“