Arduino Am2301 Sensoren

OP #6790694
Lesenswert?

Erstmal schönen Sonntag,

hab folgende Frage/Problemstellung. Ich benutzte für die 
Feuchtigkeitsregelung bzw. das ansteuern mehrerer Lüfter einen Mega2560, 
der bekommt per Am2301 One-Wire Sensoren die Feuchtigskeitswerte und 
schaltet dann Relais auf nem "Relaisshield".


Der Arduino bekommt 9v, die Sensoren 5V (Sollte so doch passen)?
Leider bekomme ich ca. jede dritte Messung keine Werte. Woran kann das 
liegen?

Die Sensoren sind teilweise etwas weiter weg. Keller->Obergeschoss... 
aber das dürfte kein Problem sein, oder?
Die One-Wire Sensoren übertragen ja ein Digitales Signal, die Kabel sind 
außerdem abgeschirmt... die Sensoren arbeiten laut Datenblatt von 
3.3-5.2v also kanns daran auch nicht liegen.

Am Code kanns nicht liegen, hab nen einfachen Beispielcode ausm Internet 
genommen, da ist jede dritte Messung auch "NaN".

Wenn ich den Sensor direkt an den Arduino klemme und die 5V vom Netzteil 
benutze funktioniert jede Messung. Ist da wirklich das Kabel zu lang?

Bedanke mich schon mal im Voraus, für hilfreiche Informationen.
Gast #6790718
Lesenswert?

Eine asynchrone Schnittstelle nicht differentiell über eine größere 
Distanz auszuführen ist immer eine schlechte Idee.
Jede kleine Störung auf der Leitung sorgt dafür dass es dir die Daten 
zerhagelt.

Am einfachsten liest du mehrmals bis die Daten stimmen (z.B. CRC) oder 
über eine Majoritätsentscheidung.

1Wire ist für "lange" Strecken wahrscheinlich so ziemlich das 
schlechteste was man machen kann.
Was sagt denn das Datenblatt?
OP #6790722
Lesenswert?

MaNi schrieb:
> Eine asynchrone Schnittstelle nicht differentiell über eine größere
> Distanz auszuführen ist immer eine schlechte Idee.
> Jede kleine Störung auf der Leitung sorgt dafür dass es dir die Daten
> zerhagelt.
>
> Am einfachsten liest du mehrmals bis die Daten stimmen (z.B. CRC) oder
> über eine Majoritätsentscheidung.
>
> 1Wire ist für "lange" Strecken wahrscheinlich so ziemlich das
> schlechteste was man machen kann.
> Was sagt denn das Datenblatt?

Okay, danke für die Antwort. Das Problem ist, dass nur drei Adern zur 
Verfügung stehen.
Zwei davon sind ja dann ohnehin schon belegt.
Oder gibts hier bessere alternativen für die Feuchtigkeits-Sensoren die 
nicht all zu teuer sind und nur eine Ader brauchen um die "Werte" zu 
übertragen.

Mit CRC oder Majoritätsentscheidung habe ich mich noch nie beschäftigt, 
zweites maximal mal gehört... aber mal sehen was man im Netz so findet.
Gast #6790729
Lesenswert?

Hendrik K. schrieb:
> Die Sensoren sind teilweise etwas weiter weg. Keller->Obergeschoss...
> aber das dürfte kein Problem sein, oder?

Nun ja, das Datenblatt sprich mal von 30 und mal von 20m, wobei nicht 
klar ist, ob sich das auf die angeschlossene Gesamtlänge oder die 
Entfernung zum Sensor bezieht.

> Die One-Wire Sensoren übertragen ja ein Digitales Signal, die Kabel sind
> außerdem abgeschirmt... die Sensoren arbeiten laut Datenblatt von
> 3.3-5.2v also kanns daran auch nicht liegen.

- Welchen Wert hat der Pull-Up für SDA? Das Datenblatt empfiehlt 5.1kΩ.
- Hast du einen Abblockkondensator bei jedem Sensor?
- Tritt der Fehler auch auf, wenn du die anderen Sensoren abklemmst?
OP #6790740
Lesenswert?

Wolfgang schrieb:
> Hendrik K. schrieb:
>> Die Sensoren sind teilweise etwas weiter weg. Keller->Obergeschoss...
>> aber das dürfte kein Problem sein, oder?
>
> Nun ja, das Datenblatt sprich mal von 30 und mal von 20m, wobei nicht
> klar ist, ob sich das auf die angeschlossene Gesamtlänge oder die
> Entfernung zum Sensor bezieht.
>
>> Die One-Wire Sensoren übertragen ja ein Digitales Signal, die Kabel sind
>> außerdem abgeschirmt... die Sensoren arbeiten laut Datenblatt von
>> 3.3-5.2v also kanns daran auch nicht liegen.
>
> - Welchen Wert hat der Pull-Up für SDA? Das Datenblatt empfiehlt 5.1kΩ.
hier 10k, ich werde es mal mit 5.1k versuchen, warum ich damals 10k 
genommen habe weiß ich aber auch nicht mehr genau.

> - Hast du einen Abblockkondensator bei jedem Sensor?
Nein, habe ich nicht. Werde ich mich aber mal drüber informieren. Habe 
ich bis jetzt noch garnichts von gehört.

> - Tritt der Fehler auch auf, wenn du die anderen Sensoren abklemmst?
Ja, der Fehler tritt auch auf wenn ein Sensor allein angeschlossen 
ist(Wenn das Kabel lang ist).
Wenn man den Sensor direkt an den Mikrocontroller schließt passt das 
alles perfekt.
#6790887
Lesenswert?

Ich würde mal mit kürzeren Kabel ausprobieren ab wann das auftaucht, 
wenn es jetzt 10 m Kabel sind mit 5m und mit 7,5m.
Die Frage ist auch ob du jeden dritten Wert brauchst und in welchem 
Zeitabstand die übertragen werden. Wenn du damit Zimmertemperaturen 
ausliest, sollte wohl ein Wert die Min ausreichen?
Ich habe ein temperaturgesteuertes Fenster, das bekommt alle 30 sek 
einen neuen Temperaturwert, und auch das halte ich noch für zu viel.
OP #6790899
Lesenswert?

damit werden nur die Feuchtigkeitswerte gelesen, damit nachm z.B. 
duschen die Abluft angeht. Also nichts was in super kleinen Abständen 
gelesen wird... der Mikrocontroller ignoriert jetzt einfach alle 
"ungültigen/falschen" Signale, dass sollte so erstmal ausreichen.

Danke für die ganzen schnellen & hilfreichen Antworten.
Beitrag #6790928 wurde von einem Moderator gelöscht.
Gast #6791268
Lesenswert?

Hendrik K. schrieb:
> ich werde es mal mit 5.1k versuchen,

Hat das Erfolg gebracht....
Oder wurde die Erste und Beste Möglichkeit erfolgreich ignoriert.

MaNi schrieb:
> 1Wire ist für "lange" Strecken wahrscheinlich so ziemlich das
> schlechteste was man machen kann.
> Was sagt denn das Datenblatt?

1Wire wurde genau für solche Zwecke und Entfernungen konzipiert. Es 
besteht also durchaus Hoffnung das stabil zum laufen zu bekommen.

Ja, bei den Kabeln könnte man sich auch etwas Mühe geben. Aber das Buch 
ist zu, die Kabel sind schon verlegt.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren