Man liest immer mal wieder über Kohlenmonoxidvergiftungen. Da es heutzutage doch Sensoren für praktisch alles gibt, sollte es doch kein Problem sein, einen CO-Warner zu bauen. Ein ATTiny bietet sich als Datenverarbeitungszentrale förmlich an.
Hier eine kurze Zusammenfassung meines CO-Warner-Projektes. Den BASCOM-Code und das Leiterplattendesign gibt es weiter unten …
Im Internet gibt es so kleine Platinen mit einem eingebauten CO-Sensor. Sollte doch kein Problem sein? Also so eine Minileiterplatte beschafft und auf dem Experimentiertisch untersucht...
MQ-7 heißt das gute Stück, das Internet bietet einige Informationen.
Mein Ziel ist ein kleines Einbaugerät. Es soll in einem Ultraleichtflugzeug eingebaut werden. Mit einer im Gefahrenfall blinkenden Leuchtdiode und einem Anschluß an das im Flugzeug vorhandene Intercom, damit man auch einen Warnton zu hören bekommt.
Erst einmal gilt es, die Funktionsweise des CO-Schnüfflers zu verstehen.
IMG_3029.JPG
Wie funktioniert nun so ein MQ-7 Gassensor? Das Herz ist ein Metallplättchen aus einer speziellen Legierung. Bei einer genau definierten Temperatur
irgendwo jenseits der 200°C lagern sich Gasmoleküle an der Oberfläche an und verändern den elektrischen Widerstand. Das läßt sich dann messen.
Welche Gasmoleküle wird durch Werkstoff und Temperatur bestimmt. Für die richtige Temperatur sorgt eine eingebaute Heizung.
Der MQ-7 Sensor ist bereits auf einer kleinen Leiterplatte mit einigen Bauelementen verbaut, der Hersteller nennt das ganze "Flying Fish", warum auch immer. Die Schaltung wertet den Widerstand aus und schaltet bei einer einstellbaren Schwelle eine Leuchtdiode. Masse, Betriebsspannung und je ein analoger und ein digitaler Ausgang, das sollte ja einfach sein.
Das Datenblatt des MQ-7 Sensors wirft dagegen ein paar Fragen auf. Es gibt einen Zyklus von 60 Sekunden Heizen mit 5V ohne Messen (damit wird praktisch der Sensor "gereinigt") und danach 90 Sekunden Heizen mit 1.4V (während dieser Zeit kann gemessen werden) vor. Diese Logik kann ich beim fliegenden Fisch nirgends entdecken. Im Internet findet man Anleitungen, was man beim Modul aus- und umlöten sollte. Ich bin verwirrt.
Für die praktische Verwendung gibt es also zwei Möglichkeiten. Den Fliegenden Fish einfach einzubauen und auf den digitalen/analogen Ausgang zu reagieren, oder den lt. Datenblatt vorgesehenen Zyklus aus Heizen/Messen zu implementieren.
Ich entscheide mich für ein sowohl-als-auch. Der ATiny-45-Mikrocontroller bekommt ein wenig mehr zu tun. Eine kleine Leiterplatte entsteht. Die Entscheidung, ob 5V/1.4V Zyklus oder einfach wie es der Fliegende Fisch vorsieht, kann ich erst mal per Software treffen. Nebenbei passt auf die Platine noch ein
7805-Spannungsregler (um aus den 12V Bordnetz der Flugzeuges saubere 5V zu machen) und ein kleiner Verstärker, um den Warnton meiner CO-Warnung ins Intercom einzuspielen.
IMG_3037.JPG
Die Sechspolige Buchse dient zur Programmierung des Atiny. Im EEprom des Attiny lege ich die gemessenen CO-Werte ab und kann sie über diesen
Stecker später auslesen. Der Spannungsregler hinten braucht später noch ein Kühlblech.
Für das Gehäuse entsteht im 3D-Druck. Ein kleiner Lüfter aus dem Computer wird auch mit verbaut. Er soll dafür sorgen, daß auch wirklich Kabinenluft aus dem Flugzeuginneren zum Sensor kommt, immerhin soll das ganze ja ins Armaturenbrett eingebaut werden.
Eine Zweifarb-LED ist die ganze Mensch-Maschine-Schnittstelle. Grün = Alles OK. Rot = Gefahr.
IMG_3120.JPG
So sah der erste Prototyp mit abgenommenem Deckel dann aus. Der Sensor hat ein Loch im Blech. Der Lüfter saugt Luft durchs Gehäuse. An der Rückseite die Spannungsstecker und die beiden Buchsen für "Audio-in" und "Audio-out"
Das ganze sollte natürlich getestet werden, zuerst mal mit Hausmitteln. Teelichte unter einer Glsglocke. Nach wenigen Sekunden blinkt die LED rot. Das ist goch gar nicht so schlecht für den ersten Versuch?
Das Verhalten des Sensors wollte ich noch ein wenig weiter untersuchen. Vor allem haben mich die unterschiedlichen "Betriebsarten" interessiert.
So, wie das MQ-7-Modul von "Flying-Fish" aufgebaut ist, kann es doch überhaupt nicht funktionieren. Oder Doch? Hier einmal die Ergebnisse meines Versuches:
simple.jpg
Dargestellt ist der Widerstand des Sensors (in Kiloohm) über der Zeit. Nach etwa 20 Sekunden hab ich die Heizspannung angelegt. Nach etwa 2
Minuten ist der Sensor betriebsbereit. Nach 230 Sekunden habe ich dann die Teelichter in Gang gesetzt. Der Sensor reagiert, der Widerstand nimmt ab, der Alarm geht los. Funktioniert also doch. Irgendwie. Nach dem Belüften geht der sensor langsam wieder in seinen Ausgangszustand zurück, eine Minute Später ist alles wieder OK.
Wenn man den Sensor laut Datenblatt betreibt, gibt sich ein anderes Bild:
Man kann die "Heizphasen" gut erkennen. In der "Meßphase" ist der Widerstand deutlich höher, aber, zumindest bei meinem Meßaufbau, ziemlich variabel. Unter Teelichtgas verringert sich der Widerstand deutlich. Bei genauem Hinsehen sieht man den Verringerten Widerstand in der Heizphase auch.
richtig.jpg
Die absolute CO-Konzentration könnte ich per Datenblatt aus dem Widerstandswert ausrechnen.
Zwischen-Fazit: Zum Warnen bei ansteigender CO-Konzentration sind beide "Betriebsarten" geeignet. Nachteil des "richtigen" Betriebs ist, daß die Meßphasen jeweils durch 1-minütige "Heizphasen" unterbrochen sind.
Eine Idee war dann, beide Betriebsarten miteinander zu kombinieren, während der Heizphase die Änderung auszuwerten und während der Meßphase den Absolutwert.
Hier eine kurze Zusammenfassung meines CO-Warner-Projektes. Den BASCOM-Code und das Leiterplattendesign gibt es weiter unten …
Im Internet gibt es so kleine Platinen mit einem eingebauten CO-Sensor. Sollte doch kein Problem sein? Also so eine Minileiterplatte beschafft und auf dem Experimentiertisch untersucht...
MQ-7 heißt das gute Stück, das Internet bietet einige Informationen.
Mein Ziel ist ein kleines Einbaugerät. Es soll in einem Ultraleichtflugzeug eingebaut werden. Mit einer im Gefahrenfall blinkenden Leuchtdiode und einem Anschluß an das im Flugzeug vorhandene Intercom, damit man auch einen Warnton zu hören bekommt.
Erst einmal gilt es, die Funktionsweise des CO-Schnüfflers zu verstehen.
IMG_3029.JPG
Wie funktioniert nun so ein MQ-7 Gassensor? Das Herz ist ein Metallplättchen aus einer speziellen Legierung. Bei einer genau definierten Temperatur
irgendwo jenseits der 200°C lagern sich Gasmoleküle an der Oberfläche an und verändern den elektrischen Widerstand. Das läßt sich dann messen.
Welche Gasmoleküle wird durch Werkstoff und Temperatur bestimmt. Für die richtige Temperatur sorgt eine eingebaute Heizung.
Der MQ-7 Sensor ist bereits auf einer kleinen Leiterplatte mit einigen Bauelementen verbaut, der Hersteller nennt das ganze "Flying Fish", warum auch immer. Die Schaltung wertet den Widerstand aus und schaltet bei einer einstellbaren Schwelle eine Leuchtdiode. Masse, Betriebsspannung und je ein analoger und ein digitaler Ausgang, das sollte ja einfach sein.
Das Datenblatt des MQ-7 Sensors wirft dagegen ein paar Fragen auf. Es gibt einen Zyklus von 60 Sekunden Heizen mit 5V ohne Messen (damit wird praktisch der Sensor "gereinigt") und danach 90 Sekunden Heizen mit 1.4V (während dieser Zeit kann gemessen werden) vor. Diese Logik kann ich beim fliegenden Fisch nirgends entdecken. Im Internet findet man Anleitungen, was man beim Modul aus- und umlöten sollte. Ich bin verwirrt.
Für die praktische Verwendung gibt es also zwei Möglichkeiten. Den Fliegenden Fish einfach einzubauen und auf den digitalen/analogen Ausgang zu reagieren, oder den lt. Datenblatt vorgesehenen Zyklus aus Heizen/Messen zu implementieren.
Ich entscheide mich für ein sowohl-als-auch. Der ATiny-45-Mikrocontroller bekommt ein wenig mehr zu tun. Eine kleine Leiterplatte entsteht. Die Entscheidung, ob 5V/1.4V Zyklus oder einfach wie es der Fliegende Fisch vorsieht, kann ich erst mal per Software treffen. Nebenbei passt auf die Platine noch ein
7805-Spannungsregler (um aus den 12V Bordnetz der Flugzeuges saubere 5V zu machen) und ein kleiner Verstärker, um den Warnton meiner CO-Warnung ins Intercom einzuspielen.
IMG_3037.JPG
Die Sechspolige Buchse dient zur Programmierung des Atiny. Im EEprom des Attiny lege ich die gemessenen CO-Werte ab und kann sie über diesen
Stecker später auslesen. Der Spannungsregler hinten braucht später noch ein Kühlblech.
Für das Gehäuse entsteht im 3D-Druck. Ein kleiner Lüfter aus dem Computer wird auch mit verbaut. Er soll dafür sorgen, daß auch wirklich Kabinenluft aus dem Flugzeuginneren zum Sensor kommt, immerhin soll das ganze ja ins Armaturenbrett eingebaut werden.
Eine Zweifarb-LED ist die ganze Mensch-Maschine-Schnittstelle. Grün = Alles OK. Rot = Gefahr.
IMG_3120.JPG
So sah der erste Prototyp mit abgenommenem Deckel dann aus. Der Sensor hat ein Loch im Blech. Der Lüfter saugt Luft durchs Gehäuse. An der Rückseite die Spannungsstecker und die beiden Buchsen für "Audio-in" und "Audio-out"
Das ganze sollte natürlich getestet werden, zuerst mal mit Hausmitteln. Teelichte unter einer Glsglocke. Nach wenigen Sekunden blinkt die LED rot. Das ist goch gar nicht so schlecht für den ersten Versuch?
Das Verhalten des Sensors wollte ich noch ein wenig weiter untersuchen. Vor allem haben mich die unterschiedlichen "Betriebsarten" interessiert.
So, wie das MQ-7-Modul von "Flying-Fish" aufgebaut ist, kann es doch überhaupt nicht funktionieren. Oder Doch? Hier einmal die Ergebnisse meines Versuches:
simple.jpg
Dargestellt ist der Widerstand des Sensors (in Kiloohm) über der Zeit. Nach etwa 20 Sekunden hab ich die Heizspannung angelegt. Nach etwa 2
Minuten ist der Sensor betriebsbereit. Nach 230 Sekunden habe ich dann die Teelichter in Gang gesetzt. Der Sensor reagiert, der Widerstand nimmt ab, der Alarm geht los. Funktioniert also doch. Irgendwie. Nach dem Belüften geht der sensor langsam wieder in seinen Ausgangszustand zurück, eine Minute Später ist alles wieder OK.
Wenn man den Sensor laut Datenblatt betreibt, gibt sich ein anderes Bild:
Man kann die "Heizphasen" gut erkennen. In der "Meßphase" ist der Widerstand deutlich höher, aber, zumindest bei meinem Meßaufbau, ziemlich variabel. Unter Teelichtgas verringert sich der Widerstand deutlich. Bei genauem Hinsehen sieht man den Verringerten Widerstand in der Heizphase auch.
richtig.jpg
Die absolute CO-Konzentration könnte ich per Datenblatt aus dem Widerstandswert ausrechnen.
Zwischen-Fazit: Zum Warnen bei ansteigender CO-Konzentration sind beide "Betriebsarten" geeignet. Nachteil des "richtigen" Betriebs ist, daß die Meßphasen jeweils durch 1-minütige "Heizphasen" unterbrochen sind.
Eine Idee war dann, beide Betriebsarten miteinander zu kombinieren, während der Heizphase die Änderung auszuwerten und während der Meßphase den Absolutwert.