LIVY_RING_G2-Tasmota icon indicating copy to clipboard operation
LIVY_RING_G2-Tasmota copied to clipboard

GAS-Sensor

Open blautob opened this issue 3 years ago • 28 comments

Hast du diesen thread gesehen wegen den gleichen Werten des Gas Sensors?

da hat jemand die Abfragezeit angepasst

https://forum.arduino.cc/t/ads1115-gives-the-same-value-on-every-input/539810/11

vlt hilft es ja

blautob avatar Jul 13 '21 06:07 blautob

Den Wert kann man direkt in der Library anpassen bei Tasmota... Die Werte sind trotzdem immer noch gleich.

Schnup89 avatar Jul 13 '21 14:07 Schnup89

Es hat sich etwas ergeben... wir haben keinen ADS115 sondern ein TLA2024 https://ww1.microchip.com/downloads/en/DeviceDoc/21314g.pdf

Ist aber im Grunde das selbe, muss nur schauen ob die I2C Kommunikation die selbe ist

Schnup89 avatar Jul 15 '21 16:07 Schnup89

Beim Gas Sensor benötige ich eure Hilfe diesen zu verstehen.

Datenblatt Anwendungsdokumentation

Der Heater ist über die i2c Schnittstelle des MCP4706 stufenlos ansprechbar. Über TLA2024 bekomme ich in Tasmota die Eingangskanäle abgerufen.

In der Anwendungsdokumentation Seite 10 findet ihr das Blockdiagramm. DAC Output = ist über MCP4706 ansprechbar (stufenlos) URH_ADC = TLA2024 "Analog 0" im Webinterface GPIO = gpio33 (relay 5) <- schaltet aber alle chips aus URS_ADC = TLA2024 "Analog 1"

Analog 2 ist wohl nicht verbunden Analog 3 ... ist immer gleich :)

Analog 1 ist unser Sensor-Pin vom Gas-Sensor, dieser "bewegt" sich bei einem Feuerzeug-Gas in der Nähe. Normal ~1700 Mit Feuerzug runter auf ~600 Ich bin mir nicht sicher obs das dann schon war... Weiß einer von euch wie ich da anständige Werte raus bekomme und wann der heater mit welchem Level angefahren werden muss? Der Heater spricht erst wenn wir mit dem DAC Output auf ca. 60% oder höher gehen.

Ich stelle euch die aktuelle Version rein.

Schnup89 avatar Jul 15 '21 19:07 Schnup89

Kann ignoriert wertden. War vor Config Reset.

"out of the box" mit der neusten Firmware, passiert bei mir nichts wenn ich Feuerzeug-Gas auf die Platine blase. Die Sensoren bewegen sich bei mir (teils aber nur marginal und selten Analog0 hab ich jetzt tatsächlich das erste mal einen wert gesehen)

https://user-images.githubusercontent.com/24385671/125909025-188f043c-c0ea-48a9-ba6e-5f71853b2bad.mov

blautob avatar Jul 16 '21 07:07 blautob

Konnte nach nochmaligem Reset deine Werte von oben reproduzieren Analog 1 Normalzustand ca 2500 Feuerzeuggas - Analog1 ca 500-600

blautob avatar Jul 16 '21 09:07 blautob

Okay, dann erkennen wir zumindest mal wenn etwas kritisches passiert. Für die Umrechnung brauche ich Hilfe, da hab ich zu wenig Erfahrung. https://www.edaboard.com/threads/ccs801-voc-sensor-and-adc-convert-issue.364362/ Das Ergebnis ist abhängig von der Ansteuerung des PWM Cycles und Widerstände und und und ...

ToDo: Die Abfrage auf alle 2-3 Sekunden reduzieren um Strom zu sparen. (Heater an, messen, Heater aus)

Schnup89 avatar Jul 16 '21 10:07 Schnup89

Habe in der neuen Version eine Funktion für das setzen der Spannung eingefügt. Mit dem Konsolenbefehl könnt ihr die Spannung am GAS-Heater setzen:

"Sensor91 SetV, x" x = 0..4095 setzt PWM Output für GAS Heater ** Im Log wird eine SetVoltage und ein Error erscheinen, ignoriert den Error :) **

Schnup89 avatar Jul 16 '21 14:07 Schnup89

Konnte nach nochmaligem Reset deine Werte von oben reproduzieren Analog 1 Normalzustand ca 2500 Feuerzeuggas - Analog1 ca 500-600

Echt komisch mit der neuen Firmware und mehrmals Konfig-Reset habe ich wieder die Werte wie in meinem Post drüber

blautob avatar Jul 16 '21 18:07 blautob

Gib mal in der Konsole folgendes ein: Sensor91 SetV, 3096

Dann sollten wieder Werte angezeigt werden. In späteren Versionen wir der Heater hoffentlich automatisch gesteuert wenn wir wissen wie...

Schnup89 avatar Jul 16 '21 19:07 Schnup89

Super ! Hat geholfen. Interessanterweise haben sich die Werte HDC1080 nun auch in realistischere Spähren bewegt.

Gib mal in der Konsole folgendes ein: Sensor91 SetV, 3096

Dann sollten wieder Werte angezeigt werden. In späteren Versionen wir der Heater hoffentlich automatisch gesteuert wenn wir wissen wie...

blautob avatar Jul 17 '21 11:07 blautob

Gib mal in der Konsole folgendes ein: Sensor91 SetV, 3096

Dann sollten wieder Werte angezeigt werden. In späteren Versionen wir der Heater hoffentlich automatisch gesteuert wenn wir wissen wie...

Heißt der Sensor noch Sensor91 bei der neusten Binary? Ich wollte den Befehl wegen Schiefstand der Werte nochmal ausführen aber hat nichts gebracht..

blautob avatar Jul 20 '21 11:07 blautob

Bin gerade am überarbeiten der Library. Zum einen um es soweit zu verfeinern dass es als push request gegen das Tasmota Repository geeignet ist.

Ich hab mir die Formel nochmal angesehen für die Berechnung des PPM-Wert. Dieses muss man auf das Home-Automatisierungssystem (HA) auslagern.

Meine Idee:

  • HA schickt Kommando zum setzen des Heaters auf 1.4V (dafür schreibe ich euch noch den genauen Wert, muss ich noch nachmessen)
  • HA wartet 1 Sek.
  • HA schickt Befehl "status 10" zum aktualisieren des Analog1 Wert
  • HA schickt Kommando zum setzen des Heaters auf 0V
  • HA berechnet anhand des Analog1 Wert den PPM [Formel noch zu definieren] Den Abfrageintervall könnt ihr dann selbst bestimmen über das HA

Edit - 02. September: Analog0 korrigiert auf Analog1

Schnup89 avatar Jul 30 '21 10:07 Schnup89

Ich finde, wir sollten beim Gas-Sensor definitiv weitermachen, denn dann ist der Livy ein durchaus brauchbares Teil.

Mein Livy ist inzwischen fest in meine Home Automation eingebaut. Unter openHAB allerdings noch mit fehlenden Werten für die Luftqualtiät....

Livy

Mir ist relativ unklar, was der Livy eigentlich unter den vier Werten von ADS1115 anzeigt, aber meine zwei PMS5003 könnten beim Eichen vielleicht als Referenz dienen:

WS

Trashwarez avatar Aug 28 '21 23:08 Trashwarez

Ich habe die Werte des ADC-Sensor hier analysiert: https://github.com/Schnup89/LIVY_RING_G2-Tasmota/issues/2#issuecomment-880973566

Die müssen wie hier angesprochen zu einem ppm Wert umgerechnet werden: https://www.edaboard.com/threads/ccs801-voc-sensor-and-adc-convert-issue.364362/

Analog 0 und Analog 1 und der Heater sind hier die Werte mit denen man arbeiten muss. Leider übersteigt das meine Kenntnisse bzw. weiß ich nicht welche Formel ich anwenden muss.

Ich schaue es mir nächste Woche nochmal an, aber ohne hilfe bzgl. der Formel komme ich hier wahrscheinlich nicht weiter.

PS: Dein HA-System sieht schick aus :)

Schnup89 avatar Aug 29 '21 06:08 Schnup89

Ich habe jetzt mal ein paar Tage Daten geloggt. Wie vorgeschlagen: Sensor91 SetV, 3096 kurz warten, Werte auslesen Sensor91 SetV, 0

image

Ich hab jetzt nicht mit Gasen rumgespielt sondern den Ring einfach in einem Zimmer stehen gelassen. Aber der Analog0 Wert ist festgenagelt bei 4864, der Analog1 Wert bewegt sich über mehrere Tage immer langsamer nach unten von über 10000 auf inzwischen 7500. Hoffe das hilft ein wenig.

rthiel avatar Sep 01 '21 08:09 rthiel

Super vielen Dank, sowas ist immer sehr informativ!

Kannst du während einer Messung mal ein Feuerzeug gas an den Ring halten? Theoretisch sollte sich der Wert dann verändern.

Schnup89 avatar Sep 02 '21 20:09 Schnup89

Der Analog1 Wert ändert sich praktisch nicht (zappelt mal auf 4880). Aber der Analog2 springt auf von ca 6700 auf 8800.

rthiel avatar Sep 03 '21 08:09 rthiel

OK, ich überarbeite gerade den Code für den DAC (MCP4706) und den TLA2024. Hier ist mir aufgefallen dass der Code noch falsche Werte lieferte. Ändert erstmal wenig für die PPM Formel aber zumindest haben wir "echte" Spannungswerte.

Schnup89 avatar Sep 03 '21 09:09 Schnup89

Ja, die Werte sind irgendwie unplausibel. Der Analog2 Wert läuft jetzt wieder langsam nach unten, obwohl die Gaskonzentration längst nicht mehr nachweisbar sein kann (alle 10 Minuten eine Messung: Heizung an, messen, Heizung aus) SmartSelect_20210903-125500_Chrome

rthiel avatar Sep 03 '21 10:09 rthiel

Habe soeben eine neue Version hochgeladen. ADS1115 zeigen nun die angelegte Spannung (analog0) im Bereich zwischen -2048 und 2048 an (-3.0V und 3.0V). Da ein Widerstand zwischengeschaltet ist entspricht der reale Bereich nur -587 bis 587.

Mit dem Befehl "Sensor91 SetV, 2700" werden die im DataSheet vorgeschlagenen 1.4V an den Heater angelegt. Analog0 sollte dann im Bereich von ca. 423 liegen.

Der Analog1 Wert schlägt dann bei einem Gas entsprechend nach unten aus, womit man einen Alarm triggern könnte.

Für das ausrechnen des PPM Wert oder ähnliches bräuchten wir jemanden der sich damit auskennt, ich habe es mir nochmals angesehen aber leider finde ich aktuell keinen Weg an einen PPM Wert zu kommen.

Schnup89 avatar Sep 03 '21 12:09 Schnup89

OK ich logge das jetzt mal über ein paar Tage und mach auch ein paar Gas-Versuche - danke!

rthiel avatar Sep 07 '21 05:09 rthiel

Der log von gestern nach heute: image (grün ist der Analog1 Wert, rot ist Analog0 - wie vorhergesagt 423) Also Analog1 schwankt zwischen 200 und 300, wenn ich Feuerzeuggas anlege, steigt der Wert auf über 550 und es dauert einige Zeit, bis er wieder absinkt. Scheint also zumindest eindeutig auf das Gas zu reagieren...

rthiel avatar Sep 08 '21 09:09 rthiel

So jetzt nach ein paar Tagen: SmartSelect_20210913-213245_Chrome Man sieht den peak, wo ich Gas aufgesprüht habe ansonsten Werte unter 300.

rthiel avatar Sep 13 '21 19:09 rthiel

@Schnup89 ich weiß nicht ob du das gesehen hast ist zwar der CCS811 aber vlt. hilft das ha bei der Berechnung richtung ppm https://github.com/adafruit/Adafruit_CircuitPython_CCS811/blob/main/adafruit_ccs811.py

blautob avatar Oct 21 '21 09:10 blautob

Danke, aber leider hat der CCS811 einen Chip für die Ansteuerung, der regelt die Berechnungen selbst und stelle diese sogar per i2c zur Verfügung - der wäre mir um einiges lieber :P

Schnup89 avatar Oct 21 '21 20:10 Schnup89

Ich hab gerade nochmal das Datasheet angeschaut und die referenzierten application note https://www.sciosense.com/wp-content/uploads/documents/CCS801-Application-Note-Design-Guidelines.pdf da ist mit aufgefallen dass die Company aus Reutlingen ist, vlt hilft da ja jemand bei der Berechnung Ich kann nur die Frage nicht formulieren :-D

blautob avatar Oct 22 '21 09:10 blautob

Moin, moin, wo hakt es denn hier noch. Kann ich irgendwie unterstützen?

DerDom avatar Feb 13 '24 09:02 DerDom

Moin, moin, wo hakt es denn hier noch. Kann ich irgendwie unterstützen?

Hi, schau dir mal den vierten Beitrag in diesem Issue an, dort habe ich das Problem beschrieben.

Grob gesagt ist mir das Zusammenspiel zwischen Heizung und Gas Sensor und dessen analoge Rückgabewerte nicht klar.

Schnup89 avatar Feb 16 '24 19:02 Schnup89