LIVY_RING_G2-Tasmota
LIVY_RING_G2-Tasmota copied to clipboard
GAS-Sensor
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
Den Wert kann man direkt in der Library anpassen bei Tasmota... Die Werte sind trotzdem immer noch gleich.
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
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.
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
Konnte nach nochmaligem Reset deine Werte von oben reproduzieren Analog 1 Normalzustand ca 2500 Feuerzeuggas - Analog1 ca 500-600
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)
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 :) **
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
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...
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...
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..
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
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....
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:
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 :)
Ich habe jetzt mal ein paar Tage Daten geloggt. Wie vorgeschlagen: Sensor91 SetV, 3096 kurz warten, Werte auslesen Sensor91 SetV, 0
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.
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.
Der Analog1 Wert ändert sich praktisch nicht (zappelt mal auf 4880). Aber der Analog2 springt auf von ca 6700 auf 8800.
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.
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)
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.
OK ich logge das jetzt mal über ein paar Tage und mach auch ein paar Gas-Versuche - danke!
Der log von gestern nach heute:
(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...
So jetzt nach ein paar Tagen:
Man sieht den peak, wo ich Gas aufgesprüht habe ansonsten Werte unter 300.
@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
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
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
Moin, moin, wo hakt es denn hier noch. Kann ich irgendwie unterstützen?
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.