ich habe ein vergleichbares Problem gehabt. Bei mir war es leider so,
dass der Sensor selber "abgekachelt" war. Ich habe am Anfang auch auf
der Ethersex-Seite gesucht. Dann aber festgestellt, dass ein
wieder auftritt. Ein Austausch des Sensors hat mein Problem dauerhaft
behoben. Leider war es ein nicht so ganz günstiger DHT22. Ich hoffe,
dass es hier nicht der Fall ist. Wollte das aber schnell beisteuern.
Post by Matthias Bernerhab mir mal die zeiten im Analyzer angeschaut
die Init zeit von 18ms war ziemlich am schwanken, je nachdem was auf
dem AVR noch so zu tun war
hab mal eine pause hier in dht_start eingefügt
*(port-1) |= _BV(pin); /* OUTPUT */
*(port-0) &= ~_BV(pin); /* LOW LEVEL */
_delay_ms(18);
damit hab ich immer über 20ms reale pulldowntime (die ging ohne mal
auf 8ms runter, möglich dass der DHT dann irgendwann nicht mehr
antwortet)
laut kommentar in der dht.c sollte darauf dann 40ms pullup folgen,
sind aber nur 30 (auch gemessen)
in dht_read hab ich dass geändert
*(port-0) |= _BV(pin); /* HIGH LEVEL */
_delay_us(40);
*(port-1) &= ~_BV(pin); /* INPUT */
mal jetzt schauen was passiert
port und pin numer wurden bisher zumindest nicht vergessen, laut log
und im analyzer ist ja auch was zu sehen.
vielleicht war es dass schon
Am 07.12.2014 um 10:32 schrieb Matthias Berner
also die routine läuft anscheinend
D: DHT start avrnetio05_DHT0
D: DHT read avrnetio05_DHT0
D: DHT read timeout, edge=0
bin mal mit einem Logic analyzer an den Pin gegangen, da tut sich
gar nichts, dh der sensor wird gar nicht fürs reading initialisiert
nach einem reset vom Board, sind sofort die abfragen zu sehen
D: DHT start avrnetio05_DHT0
D: DHT read avrnetio05_DHT0
D: DHT avrnetio05_DHT0 t=219, h=419%
und auch alle 30 sec im Logic analyser
also irgdendwo hier verschluckt sich was
*(port-0) |= _BV(pin); /* HIGH LEVEL */
_delay_us(30);
*(port-1) &= ~_BV(pin); /* INPUT */
gleich mal nen debug einbauen und schauen ob vielleicht vergessen
wird, welcher port es sein soll
Hallo Matthias,
Ich habe auch das Problem, jedoch noch mit alten Softwareständen
ohne Multi DHT, mit Kabeln zwischen 3m und 10cm sowie nur über sehr
lange Zeiträume (Monate). Habe es eku schon mitgeteilt, jedoch ist
sowas aus meiner Sicht schwer lokalisierbar. Ich nutze e6 mit FHEM
und frage per ECMD alle 4min ab.
Viele Grüße, Ricardo
Am 06.12.2014 08:30 schrieb "Berner Matthias"
hallo
nur mal kurz gefragt, hat noch jemand anders dass problem dass beim
aktuellen Stand die DHTs nach einer Weile (1- 2 Tage) statische
Werte liefern?
habe alles aktiviert was unter dht config zu aktivieren ist, hab
auch die verkabelung zum prozessor kürzer gemacht, weil ich die
kabellänge und die Pullup wiederstände im verdacht hatte.
Wo fängt man jetzt an zu suchen?
mit nem debug_print im dht_periodic() mal schauen ob der irgendwann versagt?
oder dht_periodic() aus control6 heraus alle stunde anschubsen? dann
sieht man ja ob mal ne pause war und es dann wieder läuft.
_______________________________________________
Ethersex-devel mailing list
http://list.zerties.org/cgi-bin/mailman/listinfo/ethersex-devel