Vsense am DS2438 mit OWMULTI + Arduino Busmaster nicht möglich?

Begonnen von C0mmanda, 29 Oktober 2016, 18:29:32

Vorheriges Thema - Nächstes Thema

C0mmanda

Mahlzeit,

Ich habe mir einen kleinen 1-Wire-Bus zum testen und probieren aufgebaut.
Wenn später alles wie gewünscht läuft soll "fest" aufgebaut werden.

Das Setup (noch im Testaufbau) sieht wie folgt aus:

- Arduino mit OnewireFirmata am Raspberry als Busmaster
- Eingebunden über FRM / OWX
- Separate 5V Einspeisung über Step-Down Wandler mit 12V Netzteil (absolut stabile 5V).
- Cat5 Kabel (S/UTP)
- Buslänge aktuell ca. 25m

Sensoren bisher:
- 10x DS18B20
- 3x DS2438
- 1x DS2413 Dual-Counter

Der 1-Wire Bus läuft in dem Setup mit OWX seit Wochen absolut stabil und ohne Störungen.
(OWX_ASYNC funktioniert nicht, die DS2438 melden dann unregelmäßig VAD-Werte von 2,2V was schlicht nicht stimmt, aber das nur am Rande).

Nun aber zu meiner Frage / zu meinem Problem:

Ich habe einen Lichtsensor welcher über die Vsense des DS2438 Werte für die Helligkeit liefert.
Und genau hier liegt das Problem: OWMULTI zeigt mir einfach keinen Vsense Wert an. Ich teste und prüfe seit 2 Wochen, es funktioniert einfach nicht.

Jetzt habe ich mir einen DS9490R USB-Busmaster bestellt, angeschlossen, via OWServer/OWDevice eingebunden und siehe da:
Der gleiche Sensor welcher unter OWX/OWMULTI einfach kein Vsense anzeigt liefert mir sofort den gewünschten Wert! (Bei OWDevice ist dies "vis").

Woran kann das liegen?
Da der exakt gleiche Sensor am DS9490R funktioniert kann das Problem ja nur beim Arduino oder bei OWX/OWMULTI liegen?!
Oder bin ich hier auf dem Holzweg und es gibt eine weitere Möglichkeit?

Kennt jemand die Lösung?

Vielen Dank im voraus.

gruß
CmdA

Prof. Dr. Peter Henning


C0mmanda


Prof. Dr. Peter Henning

Die ist eigentlich aktuell und wertet das entsprechende Register aus.

Mal sehen, vielleicht ist noch ein Fehler drin, vielleicht kann ich morgen eine spezielle Version mit zusätzlichem Logging produzieren. Heute abend ist es etwas zu knapp.

LG

pah

C0mmanda

Kein Problem!
Habe da keine Eile bzw ist es kein gravierendes Problem für mich da ich ja nun einen DS9490R habe.

Danke und Gruss
CmdA

Falki

Hallo zusammen,

konnte das Problem gelöst werden?

Ich stehe aktuell vor dem selben Problem: OWMULTI mit Busmaster bringt immer sense=0V.

Im Einsatz ist die OWMULTI Version 6.01.

VG
Falki
KNX + Cubietruck + FHEM

Falki

Hallo pah,

kannst du uns hier weiter helfen und eine Version mit einem erweiterten Logging bereitstellen?

Vielen Dank im Voraus.

VG
Falki
KNX + Cubietruck + FHEM

Prof. Dr. Peter Henning

Derzeit andere Baustellen. Ein paar Logbefehle kann man doch auch selbst ins Modul einbauen, oder ?

LG

pah

wcraffonara

Guten Tag Prof. Henning,
  können Sie uns bitte sagen, an welcher Stelle (Zeile im Code) die zusätzliche Abfrage der V_SENS-Spannung (vis) eingebaut werden müsste? Ich bin eigentlich kein Perl-Programmierer, habe bis dato nur mit C und C++ gearbeitet.

Vielen Dank für Ihre Hilfe!

Schönen Sonntag noch!

lG
Walter

Prof. Dr. Peter Henning

Das ist leider nicht so einfach - weil die Abfragebefehle in die Queue eingestellt werden müssen, und die Rückgabedaten abgefangen und ausgewertet. Wenn ein Fehler vorliegt, kann der an etwa 8 verschiedenen Stellen liegen. Muss leider im Moment passen.

LG

pah

Falki

Hallo wcraffonara,

ich habe einen Busmaster DS2482-100 am Arduino dran, der mit der configurable Firmata 2.06 mit FHEM kommuniziert. Dabei wird der sense-Eingang mit übermittelt. Das Problem entsteht durch die Rundung auf zwei Nachkommastellen der im Bereich 0-250mV gemessenen Spannung, so dass meistens 0,00V auf dem Reading sense steht. Für eine Helligkeitsmessung inakzeptabel.

Deshalb hatte ich bereits in einem anderen Thread nachgefragt, wie ich auf den raw-Wert des sense-Eingang zugreifen kann, um den genaueren Messwert zu erhalten. Bisher aber keine Antwort.

Frage mal in der GUI "get <OWMULTI-Device> raw" ab. Ich denke, dort findest du auch den am DS2438-sense gemessenen Spannungswert (1. Wert = VAD, 1. Wert = sense).

@pah: Kannst du uns hier weiter helfen? Vielleicht könnte man ohne großen Aufwand die Rundung für das Reading sense verändern?

Danke für die Bemühung

VG
Falki


KNX + Cubietruck + FHEM

wcraffonara

Hallo Falki,
  jetzt bin ich auch soweit, dass ich Spannungen >0 einlesen kann. Wie du bereits geschrieben hast, sind die Spannungswerte relativ klein. Ich verwende momentan folgende Formel um die Lux zu berechnen:

attr MZ.Helligkeit_Feuchte WFunction (W * 17400)
attr MZ.Helligkeit_Feuchte WName Helligkeit
attr MZ.Helligkeit_Feuchte WUnit lux

Bei normaler Sonneneinstrahlung bekomme ich trotzdem 0 Lux, da die Spannung einfach zu gering ist. Wenn ich jedoch mit einer Lampe auf dem Sensor hinleuchte, dann bekomme ich Werte >0Lux.

lG
Walter

Prof. Dr. Peter Henning

Die Rohdaten gibt es selbstverständlich mit dem entsprechenden get-Befehl. Wie wäre es denn, wenn die Herren mal die Commandref lesen würden ?

Die Rundung der formatierten Werte auf zwei Nachkommastellen erfolgt erst, nachdem die Rohdaten in die VFunction bzw. WFunction eingesetzt worden sind. Will man diese also auf 8 Nachkommastellen genau haben, setzt man

attr <Devicename> WFunction 1000000*W
attr <Devicename> VFunction 1000000*V

und dividiert die Resultate hinterher durch 1000000, z.B. in einem Userreading.

Mein Tipp: Erst einmal etwas mehr Erfahrungen mit FHEM sammeln, bevor man Veränderungen in Modulen anregt.

LG

pah