Gasmengenmessung Mit Durchströmsensor FLW-122
Gasmengenmessung Mit Durchströmsensor FLW-122
Gasmengenmessung Mit Durchströmsensor FLW-122
Version: 1.1
Datum: 22.12.2014
Autor: Dave Hoffmann
Inhaltsverzeichnis:
1.0 Motivation ............................................................................................................. 3
2.0 Durchfhrung von Referenzmessungen ............................................................... 3
3.0 Auswertung mit Durchstrmungssensor FLW-122 ............................................... 3
3.1 Vor- und Nachteile im berblick........................................................................ 3
3.2 Mechanischer Aufbau ....................................................................................... 4
3.2 Aufbau der Schaltung........................................................................................ 5
3.4 Das Ausgabeinstrument.................................................................................... 6
4.0 Alternative Durchflusssensor ................................................................................ 7
4.1 Vor- und Nachteile im berblick........................................................................ 7
4.2 Aufbau............................................................................................................... 7
4.3 Messwerte mit getesteten Flowsensoren .......................................................... 8
4.4 Software zur Ausgabe der Daten ...................................................................... 9
4.5 Anpassen der Messwerte................................................................................ 10
5.0 Anhang ............................................................................................................... 11
5.1 optionaler Komparator..................................................................................... 11
5.2 Lochraster Platine der FLW-122 Schaltung .................................................... 11
5.3 Arduino Sketch fr Messkurven mit den FLW-122.......................................... 13
5.4 Ardunio Sketch fr Messkurven mit einem Durchflusssensor ......................... 14
5.5 Ardunio Sketch fr die LPM-Ausgabe mit einem Durchflusssensor ................ 15
1.0 Motivation
Dieses Dokument soll aufzeigen welche einfachen Methoden existieren ein
durchstrmendes Gas messtechnisch zu erfassen.
Diese Methode kann fr das Verhalten von Luft herangezogen werden, andere Gase
knnen in den Strmungseigenschaften abweichen.
Im Anhang sind Programme fr das Mikrokontrollersystem Arduino Uno vorhanden,
welche den Messvorgang vereinfachen. Nheres zum Arduino findet sich im Kapitel
4.
4,5
4,25
Ausgabespannung (V)
4
3,75
3,5
3,25
MPSA42
3
MPSA05
2,75
2,5
0
10
12
U = R I = ( Rinnen + Rvor ) I
Rvor =
U max
4,5V
Rinnen =
2,4k = 42,6k
I max
100 A
Dieser
Wert
ist
natrlich
nicht
als
Festwiderstand verfgbar. Deshalb ist der
nchst grere Wert zu whlen.
4.2 Aufbau
Der Aufbau ist recht simpel: die Durchflusssensoren haben in der Regel 3
Anschlsse: 5 Volt, Masse und Signal, Diese sind bereits auf der Arduino verfgbar.
Die Signalleitung muss auf Pin 2 eingehen, Sollte der Typ Arduino Leonardo
verwendet werden, muss Pin 3 benutzt werden.
Das Display wird ber mehrere Leitungen angeschlossen. Entweder man verwendet
die Beschaltung im Bild 4.2 oder man verwendet ein LCD Keypadshield, Dadurch
reduziert sich der Aufwand auf ein Minimum.
Zum Sensor
Achtung LCD-Beschaltung
kann abweichen!
Im oberen Teil der Sketch werden die Variablen deklariert hier mssen die jeweiligen
Variablen Offset und Steigung an den jeweiligen Sensor angepasst werden.
Das Programm des Arduinos wurde so geschrieben, dass es nur ein lineares
Verhltnis von Durchfluss und Impulsrate auswertet.
400
350
300
250
200
150
real
gemes s en
interpoliert
100
50
0
0
10
5.0 Anhang
5.1 optionaler Komparator
12V
Messpunkt
GND
RH
RS
11
12
void setup()
{ lcd.begin(16, 2);
// LCD starten
Serial.begin(9600); // Start serial port
}
void loop ()
{ adc_key_in = analogRead(0); // Spannung an A0 messen,Schieldtasten lesen
if (adc_key_in < 700) // Reset bei Taste Select oder GND an A0
{time=0; summe=0; durchschnitt=0; }
sensorValue = analogRead(1); // Spannung an A1 messen
Serial.print("Spannung an A1: ");
aus
Serial.println (sensorValue);
lcd.clear();
// LCD Ausgabe
lcd.setCursor(0,0);
lcd.print("Zeit(s): ");
lcd.print( time);
lcd.setCursor(0,1);
lcd.print(sensorValue);
lcd.setCursor(9,1);
lcd.print(durchschnitt);
13
// Serielle Schnittstelle
lcd.clear();
// LCD Ausgabe
lcd.setCursor(0,0);
lcd.print("Zeit(s): ");
lcd.print( time);
lcd.setCursor(0,1);
lcd.print(pulsesCounter);
lcd.setCursor(9,1);
lcd.print(durchschnitt);
14
void rpm ()
{
pulsesCounter++; // Every RISING pulse causes pulsesCounter to increase by one.
}
void setup()
{ lcd.begin(16, 2);
pinMode(flowPin, INPUT);
// Initialize the digital pin as an input
Serial.begin(9600);
// Start serial port
attachInterrupt(0, rpm, RISING); // Interrupt is attached to rpm function
sei();
// Enable interrupt 0 on Pin 2 for a RISING signal.
}
void loop ()
{
LPMval=pulsesCounter
Messwert
Serial.print("Durchfluss LPM:");
Serial.println (LPMval);
// Serielle Schnittstelle
lcd.clear();
// LCD Ausgabe#
lcd.setCursor(0,0);
lcd.print("Durchfluss LPM:");
lcd.setCursor(0,1);
lcd.print(LPMval);
cli();
// Disable interrupts
pulsesCounter = 0; // Reset main counter
sei();
// Enable interrupts
delay(500); // Zeitintervall in ms
}
15