Autor Thema: Neues Modul: I2C_ADS1x1x für TI Analog/Digitalwandler (z.B. ADS1115)  (Gelesen 2377 mal)

Offline Forstling

  • Jr. Member
  • **
  • Beiträge: 64
Sieht interesant aus.

Ich war mit dem Regelverhalten meiner Heizungsteuerung für meinen Feststoffkessel nicht zufrieden und hatte daher nur PT1000 Sensoren.

Bin dann auf die MAX Bausteine gekommen aber habe immer mal wieder Probleme das sie keine Werte liefern daher suche ich eine Alternative. Ich weiß halt nicht wieviel der Probleme an meinem Script liegen.

Na mal sehen wie ich weiter baue bei meiner Heizung

Teilweise bin ich der Meinung das ich genauere Temperatur Sensoren brauche als +-0,5° gerade für Regelungen. Es wird Wahrscheilich ein Mischbetrieb werden.

Mit One-Wire bin ich Bei meiner Heizung bisher nicht Glücklich geworden. Die steiben Regelmäßig aus. Bei meinem Terrarium funktionieren sie aber Problemlos. (allerding nicht mit FHEM)

Offline Adimarantis

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 708
Ich habe bei meiner Steuerung um die 10 1-Wire Sensoren im Einsatz (GPIO4 Modul) und die funktionieren an sich recht zuverlässig.
Das GPIO4 Modul hat allerdings auch so seine Schwächen (und ist nicht mehr offiziell) und ich hatte schon mal angefangen dran rumzuschrauben.
Ich frage allerdings meine Sensoren nur alle 5 Minuten ab. Da sich Temperaturen eher träge entwickeln reicht mir das normalerweise.

Bei den 1-Wire Sensoren darf man es mit dem Abfragen auch nicht übertreiben. Es dauert fast 1 Sekunde (950ms) um den Sensor anzufragen und in der Zeit in FHEM sogar blockiert (deswegen wollte ich das Modul auch überarbeiten). Wenn du also zum Beispiel 10 Sensoren im 5 Sekunden-Rythmus abfragst, dann gibt das Chaos.

Gruß,
Jörg
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU) + RfxTrx433XL + 2xRaspberry 1
Module: 50_Signalbot, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

Offline Forstling

  • Jr. Member
  • **
  • Beiträge: 64
Aha gut zu wissen.
ich wollte mein Terrarium mal auf FHEM umstellen da werde ich das noch etwas aufschieben

Ich wollte 5 Sensoren so zwichen 10 und 30 Sekunden abrufen das hat nicht funktioniert.
Jetzt habe ich nur noch eine Sensor der meldet sich ab und zu für ein paar Stunden nicht mehr  und ist dann irgendwann mal wieder da.

Noch mal kurz zu den Werten des AD-Wandlers Für Monitoringzwecke sind die Werte ok für eine Steuerung würde ich sie nicht nutzen. Hier mal ein 4h Trend.

Es scheint aber auch ein Fehler im Modul zu sein. Wenn ich einen Anschluß auf null lege bekomme ich -4,096V das erscheint mir etwas wenig

Offline Adimarantis

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 708
Habe ich gerade bei meinem Testsystem probiert.
Wenn ich auf 0V bzw. 3.3V lege , dann bekomme ich auch genau das angezeigt (ok, 3.295V statt 3.3V, aber das deckt sich auch mit der Anzeige meines Multimeters)

Was verwendest du genau für Settings (list ...) und wie schaltest du die Sensoren?

Jörg
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU) + RfxTrx433XL + 2xRaspberry 1
Module: 50_Signalbot, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

Offline Forstling

  • Jr. Member
  • **
  • Beiträge: 64
List sieht bei mir so aus.

Geschalten sind sie direkt an - oder 3,3V

Hier ein Bild vom Testaufbau

Internals:
   CHANGED   
   DEF        0x48
   FUUID      6070dd71-f33f-094b-6b99-92b0c02f3976d15a
   I2C_Address 72
   IODev      i2c
   NAME       testtemp
   NR         122
   STATE      Initialized
   TYPE       I2C_ADS1x1x
   i2c_SENDSTAT Ok
   i2caddress 72
   Helper:
     DBLOG:
       a0_temperature:
         Heizung_DB:
           TIME       1618502032.22226
           VALUE      23.68
       a0_voltage:
         Heizung_DB:
           TIME       1618502032.22226
           VALUE      1.74280
       a1_voltage:
         Heizung_DB:
           TIME       1618502052.45361
           VALUE      -4.09587
       a2_voltage:
         Heizung_DB:
           TIME       1618502062.5222
           VALUE      -4.09587
       a3_voltage:
         Heizung_DB:
           TIME       1618502042.45273
           VALUE      3.31823
   READINGS:
     2021-04-15 17:53:52   a0_temperature  23.68
     2021-04-15 17:53:52   a0_voltage      1.74280
     2021-04-15 17:54:12   a1_voltage      -4.09587
     2021-04-15 17:54:22   a2_voltage      -4.09587
     2021-04-15 17:54:02   a3_voltage      3.31823
     2021-04-14 20:12:18   state           Initialized
   helper:
     channels   4
     configword 33156
     state      0
Attributes:
   IODev      i2c
   a0_mode    RTD
   a0_res     1000
   decimals   5
   device     ADS1115
   poll_interval 0.16666666
   room       i2c
   sys_voltage 3.338

Offline Adimarantis

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 708
Das schaut eigentlich soweit ok aus. Ist bei mir eigentlich identisch.

Ich sehe zwar einen kleinen Schönheitsfehler mit der sys_voltage (wenn die kleiner als die gemessene Spannung ist). Da gibt es dann einen Überlauf (ins negative) beim Widerstandswert. Das hat auf den Spannungswert aber keinen Einfluss.

Irgendeinen Überlauf gibt es bei dir aber wohl. Kannst du mal verbose=5 setzen und den entsprechenden Ausschnitt vom Logfile für diese Messung posten?
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU) + RfxTrx433XL + 2xRaspberry 1
Module: 50_Signalbot, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)