Forum: Mikrocontroller und Digitale Elektronik 1wire Luftfeuchte Sensor DHT11/DHT22 oder Alternativen?


von AVRli (Gast)


Lesenswert?

Hi Leute,

mein neues Projekt ist ein kleiner Logger für Umgebungsdaten. Derzeit 
habe ich 3 Temperatursensoren (DS18B20) an einem ATmaga32.

Das luft super und ich wollte das nun um 2x Luftfeuchte Daten erweitern.

Dazu habe ich nach 1-wire Sensoren gesucht und fand auch die DHT11 bzw. 
DHT22.

Im Datenblatt steht aber das die inkompatibel mit dem Dallas 1-wire Bus 
sind. Nun frag ich mich ob ich die dennoch an meinem Bus betreiben kann 
und eben wwas spezielles in der Auswertung beachten muß oder ob es 
generall anders ist.

Kann jemand dazu was sagen?

Falls es zu große Inkompatibilität gibt, gibt es eine Sensor Alternative 
die sich an einem vorhandenen 1-wire Bus wie der beim DS18B20 benutzen 
läßt?

Danke für jede Antwort. :-)

von Ao Song (Gast)


Lesenswert?

AVRli schrieb:
> Im Datenblatt steht aber das die inkompatibel mit dem Dallas 1-wire Bus
> sind. Nun frag ich mich ob ich die dennoch an meinem Bus betreiben kann
> und eben wwas spezielles in der Auswertung beachten muß oder ob es
> generall anders ist.
Es ist ganz anders. Diese Sensoren (auch AM23xx) unterstützen zwar ein 
Auslesen per "one wire", aber du brauchst für jeden Sensor ein eigenes 
"wire" (also einen eigenen Pin), da sie nicht einzeln adressierbar sind. 
Das Protokoll hat auch gar nichts mit dem Bus von Dallas/Maxim zu tun, 
ist sehr viel einfacher gestrickt.
Die neueren Modelle (z.B. AM2322 oder DHT12) unterstützen zusätzlich 
auch I2C, das hilft dir aber bei deinem Problem aber auch nicht weiter.

Wenn du kompatibel bleiben willst zum DS18B20, dann solltest du dich mal 
beim Hersteller nach geeigneten Sensoren umsehen:
https://www.maximintegrated.com/en/products/digital/one-wire.html

von Εrnst B. (ernst)


Lesenswert?

1-wire ADC (z.B. DS2450) mit analogen Sensoren koppeln.
Bauanleitung dazu gibt's bei FHEM oder OpenHAB, IIRC.

Oder, um dem analogen Teufelszeugs fern zu bleiben:
per
DS28E17 aus dem 1-Wire Bus einen I²C-Bus machen, und daran dann einen 
AM2320 dranhängen. Braucht an der Messstelle dann aber wieder Strom.

Wenn die Kabel nicht zu lang werden: Ich würde einfach den I²C-Bus vom 
Mega32 verwenden, dann geht's halt nicht über OneWire.

von AVRli (Gast)


Lesenswert?

Danke Dir für die schnelle und aufklärende Antwort.

Finde die Bezeichnung 1-wire dann aber sehr irreführend! ;-)

SPI ist SPI, I²C ist I²C, UART ist UART, 1-wire ist NICHT 1-wire.

OK ich schau mich bei MAXIM mal um...

von Wilhelm M. (wimalopaan)


Lesenswert?

Bei dem Mega32 müsste doch ein Pin noch frei sein, dann häng den DHT / 
AM2302 doch da dran. Das Protokoll ist recht simpel.

von AVRli (Gast)


Lesenswert?

Εrnst B. schrieb:
> 1-wire ADC (z.B. DS2450) mit analogen Sensoren koppeln.

Auch ein cooler Ansatz!
Ich habe gestern noch versucht direkt einen 1-wire Sensor zu finden, 
Fehlanzeige. Also wird es wohl ein Analoger werden. Da die Stelle ca. 
1,5m von der HW entfernt ist, glaube ich das ich direkt mit dem ATmega 
ADC einlesen werde.

1-wire fand ich nur gerade spannend weil ich mich damit gerade 
auseinandergesetzt habe.

Wilhelm M. schrieb:
> Bei dem Mega32 müsste doch ein Pin noch frei sein, dann häng den DHT /
> AM2302 doch da dran. Das Protokoll ist recht simpel.

Auch dieser Ansatz ist ein Weg.
Ein PIN mehr kann ich verschmerzen! :-D

Danke Euch!
Grüße AVRli...

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.