DS2890 wird nicht korrekt erkannt

Begonnen von UweH, 28 Januar 2016, 18:47:04

Vorheriges Thema - Nächstes Thema

UweH

Hallo Mitstreiter,

ich habe es nach langer Suche geschafft, doch noch funktionierende DS2890 im TO-92 Gehäuse aufzutreiben.
Jetzt gibt es aber ein Problem bei der Einrichtung.
OWServer erkennt das Ding als DS2890, legt aber kein Device an. Müsste ja im Raum OWDevice auftauchen, tut es aber nicht.
Über OWX wird das Teil mit OWID als Device erkannt, das Attribut model wird nicht automatisch belegt und auch ein händisches Eintragen nützt nichts.

Internals bei OWX:
Internals:
   ASYNC      1
   CFGFN
   DEF        2C 79A007000000
   INTERVAL   300
   IODev      1wire_2
   NAME       OWX_2C_79A007000000
   NOTIFYDEV  global
   NR         162
   NTFY_ORDER 50-OWX_2C_79A007000000
   NUMTASKS   0
   OW_FAMILY  2C
   OW_ID      79A007000000
   PRESENT    1
   ROM_ID     2C.79A007000000.51
   STATE      present
   TYPE       OWID
   Readings:
     2016-01-28 18:34:29   present         1
     2016-01-28 18:34:18   state           Initialized
Attributes:
   IODev      1wire_2
   model      DS2890
   room       OWX
   stateFormat {ReadingsVal($name,"present",0) ? "present" : "not present"}


Nun bin ich etwas ratlos.

Gruß
Uwe

Prof. Dr. Peter Henning

Na ja, wenn es so schwierig ist, die Dinger aufzutreiben, nennt Dir das schon die Lösung: Kein Modulentwickler benutzt sie...

Musst wohl selbst etwas dafür schreiben ...

LG

pah

UweH

#2
Zitat von: Prof. Dr. Peter Henning am 30 Januar 2016, 04:36:45
Na ja, wenn es so schwierig ist, die Dinger aufzutreiben, nennt Dir das schon die Lösung: Kein Modulentwickler benutzt sie...
Nee, weil offiziell ja auch nicht mehr auf dem Markt und quasi nicht beschaffbar. Bedarf und Interesse an 0 -10 V Ausgängen ist ja vorhanden, wie dieser und andere Threads zeigen.
Zitat
Musst wohl selbst etwas dafür schreiben ...
Das wäre so, wie wenn ich meinen taubstummen Kollegen bitten würde, mir das Geräusch zu beschreiben, was da gerade in der Luft hängt...
Vielleicht ist einer der Interessenten an einem 1Wire 0-10V Ausgang in der Lage, was zu schreiben.
Meine neue chinesische Freundin ist jedenfalls ganz heiß drauf, die Dinger abzusetzen. Scheinbar original DS2890 in TO-92.Aber auch wenn nicht original, der One Wire Viewer erkennt sie und kann den Poti-Ausgang regeln.

Gruß
Uwe

Prof. Dr. Peter Henning

Interessiert bin ich durchaus, nenn mir mal die Quelle.

LG

pah

fiedel

In der Commandref unter "OWDevice" gibt es eine Liste unterstützter Schaltkreise, in der dein Poti leider fehlt. Dort steht aber auch:
ZitatDas Hinzufügen weiterer Geräte ist im Modulcode (subroutine OWDevice_GetDetails) sehr einfach möglich.
Vielleicht lohnt es sich da mal ginzugucken. Ich würde mir angucken, wie z.B. der 1820 oder 2405 dort eingebunden sind und versuchen es dann sinngemäß zu übertragen.
FeatureLevel: 6.1 auf Wyse N03D ; Deb. 11 ; Perl: v5.14.2 ; IO: HM-MOD-RPI-PCB + VCCU|CUL 868 V 1.66|LinkUSBi |TEK603
HM: SEC-SCO|SCI-3-FM|LC-SW4-PCB|ES-PMSW1-PL|RC-4-2|SEN-MDIR-O|SEC-WDS-2
CUL: HMS100TF|FS20 S4A-2 ; OWDevice: DS18S20|DS2401|DS2406|DS2423

Prof. Dr. Peter Henning

fiedel, das ist leider nicht richtig. Man kann bei 1-Wire-Bausteinen die internen Register und die nötigen Abläufe zum Setzen NICHT von einem Baustein auf den anderen übertragen ("heiteres Registerraten").

Mal sehen, ich habe mir mal ein paar von diesen chinesischen DS2890 bestellt.

LG

pah

fiedel

Hi Peter,
das ist mir schon klar. Man schaut in das Datenblatt des neuen Bausteins, welche Register es wofür gibt und muss diese dann in den Code sinnvoll einfügen. Aber wie man das in der Praxis machen muss, könnte man sich an den vorh. Bausteinen abgucken. So besser?  ;)
FeatureLevel: 6.1 auf Wyse N03D ; Deb. 11 ; Perl: v5.14.2 ; IO: HM-MOD-RPI-PCB + VCCU|CUL 868 V 1.66|LinkUSBi |TEK603
HM: SEC-SCO|SCI-3-FM|LC-SW4-PCB|ES-PMSW1-PL|RC-4-2|SEN-MDIR-O|SEC-WDS-2
CUL: HMS100TF|FS20 S4A-2 ; OWDevice: DS18S20|DS2401|DS2406|DS2423

Prof. Dr. Peter Henning

Nee, eben nicht. Bei manchen der IC muss man erst interne Register umschaufeln, um sie zu lesen oder zu setzen. Die Dinger sind äußerst unterschiedlich...

Speziell beim DS2890 müssen Kommandos implementiert werden, um linear/logarithmisch, persistent/nicht persistent und die Auflösung umzuschalten.

Uwe, die 6-Pin Teile gefallen mir sogar besser, weil dort der variable Widerstand nicht gegen Masse geht.

LG

pah

UweH

Zitat von: Prof. Dr. Peter Henning am 31 Januar 2016, 11:15:43
Uwe, die 6-Pin Teile gefallen mir sogar besser, weil dort der variable Widerstand nicht gegen Masse geht.
Mir natürlich auch, nur leider gibt's die 6-poligen nicht mal beim Chinesen. Ich habe jetzt ein Jahr lang mit gefühlt hunderten Händlern Kontakt gehabt (Alibaba). Die bieten alle einen DS2890-Klon im DIL8-Gehäuse an (seltsamerweise keine SMD), aber niemand kennt die Belegung (auf Nachfrage bei den Händlern schweigen sie dann dezent). Man kann den 100kOhm-Widerstand auf Pin 5-7 messen, aber die restliche Belegung bleibt ein Mysterium. Ich habe zwei meiner Muster geopfert, um durch trial-and-error hinter die Beschaltung zu kommen, habe aber leider keinen Erfolg gehabt.
Auch die Suchmaschinen haben wiederum nur andere Käufer zu Tage gefördert, die die gleiche Frage nach der Pin-Belegung gestellt haben...
Insofern war ich erst mal ganz froh, überhaupt einen Lieferanten aufgetan zu haben, der auch Stückzahlen von dem Teil liefern kann.

Gruß
Uwe

Prof. Dr. Peter Henning

Ich sag doch: Die sind irgendwie an die Masken gekommen und produzieren jetzt irgendetwas.

LG

pah

Prof. Dr. Peter Henning

Na, dann probier doch mal die Alpha-Version des neuen Moduls aus (OWVAR muss zusammen mit OWX ersetzt werden, bitte nur in Testumgebungen verwenden.

Es funktioniert schon das Setzen eines "value" zwischen 0 und 100  (soll Prozent des Vollausschlages sein) sowie das Lesen dieses Wertes.

Ansonsten noch sehr Alpha.

LG

pah

UweH

Ja sowas...Danke
Hab ich gleich mal eingespielt und ein bisschen rumprobiert. Ein paarmal  hat's super funktioniert, nun bekomme ich (auch nach einem Neustart) folgende Meldung bei der Eingabe eines Value

OWVAR: Could not set device OWX_2C_F29A07000000, reason: OWXVAR: Set failed with return value 255 from set value 0
und FHEM schmiert ab. Aber gut, Alpha :)

Gruß
Uwe

Prof. Dr. Peter Henning

FHEM schmiert ab ? Das sollt schon gar nicht vorkommen....

Weitere Entwicklung nicht vor dem 16. zu erwarten, habe noch einen EU-Projektantrag zu schreiben. Aber immerhin, die ersten Schritte sind getan.

LG

pah

Prof. Dr. Peter Henning

#13
Hat mir jetzt doch keine Ruhe gelassen, also schnell noch eine halbe Stunde investiert. Hier ist die Beta-Version, probier sie mal mit

Zitatdefine owpot OWVAR DS2890 (hier 1-Wire ID)
attr owpot Function 1.02*V+0.58|1/1.02*(U-0.58)
attr owpot IODev (hier IO-Dev)
attr owpot Name poti
attr owpot Unit kOhm
attr owpot model DS2890
attr owpot room OWX


Warum die krummen Werte ? Wollte den value direkt in Kiloohm haben - und mein Exemplar hat einen Offset von 584 Ohm und einen maximalen Widerstand von 102,5 kOhm.

Die Attribute kann man natürlich auch weglassen.

Es sollten jetzt keine Abstürze und Fehler mehr auftauchen - demnächst kann ich das zusammen mit der aktuellen Version von OWX einchecken. Jetzt brauchen wir nur noch ein paar schöne Anwendungsfälle, und eine Sammelbestellung von DS2890....

LG

pah

UweH

Ich bin ja baff...Danke. Ich komme erst heute Abend wieder dazu, das zu testen. Aber der erste 0-10V-Regler hat gestern auf dem Steckbrett schon mal funktioniert...  ;D

Gruß
Uwe