Hi Forum,
mittlerweilen bin ich auch besitzer einer Vakuumpumpe . Nun ist es mir immer irgendwie gegen den
Strich gegangen das dieses Ding die ganze Zeit laufen muss. Find ich unökonomisch und dient der Haltbarkeit
der Pumpe wahrscheinlich auch nicht ? Fertige Schaltungen von FESTO beispielsweise kosten zu viel und deshalb
hab ich mich mal selbst drangemacht.
Vorgaben waren:
-ungefährlich (keine 220V)
-Ausgabe an Display
-Regelbares minimal Vakuum im System
-nicht zu teuer
Aktueller Stand ist ein ATmega32 (Arduino Uno) der alles Steuert (günstig und leicht zu programmieren).
Als Drucksensor wird ein freescale MPX5100DP verwendet, hier habe ich nicht wirklich eine günstige
Alternative gefunden. Dieser funktioniert aber einwandfrei. Die Vakuumpumpe wird über eine Handelsübliche
Funksteckdose geschaltet, gibts ja günstig in jedem Baumarkt. Bischen bling bling darf ja auch nicht fehlen,
darum gibts ein RGB negativ display. Hier kann ich dann auch von weiter weg sofort erkennen ob das
Vakuum noch i.O. ist.
Der Funktionsaufbau steht und sieht folgendermassen aus:
Im Versuchsaufbau funktioniert alles schon sehr ordentlich.
Wo ich mir noch nicht sicher bin ist wie lange der 9V Block halten wird, falls dieser nicht ausreicht
gibts leider doch ein 9V Netzteil.
Nun was haltet Ihr so davon ? Kosten würden sich auf ca. 30,- bis 35,- € belaufen, je nachdem
was und wo mann halt kauft.
Paar Meinungen aus der Praxis von den Profis wäre nicht schlecht, z.B. wie gross der Hysteres Bereich in
mBar sein sollte usw. Hier fehlt mir einfach die Erfahrung. Da die Pumpe, wie schon öfter diskutiert, ein
Manometer "springen" lässt, müsste mann hier entweder mit einem ausreichendem Ausgleichbehälter arbeiten
oder noch eine Schnittmengen messung in den Code einbauen. Das denke ich wird das grösste noch zu lösende Problem
werden. Was denkt Ihr ?
Gruß
Forrest
mittlerweilen bin ich auch besitzer einer Vakuumpumpe . Nun ist es mir immer irgendwie gegen den
Strich gegangen das dieses Ding die ganze Zeit laufen muss. Find ich unökonomisch und dient der Haltbarkeit
der Pumpe wahrscheinlich auch nicht ? Fertige Schaltungen von FESTO beispielsweise kosten zu viel und deshalb
hab ich mich mal selbst drangemacht.
Vorgaben waren:
-ungefährlich (keine 220V)
-Ausgabe an Display
-Regelbares minimal Vakuum im System
-nicht zu teuer
Aktueller Stand ist ein ATmega32 (Arduino Uno) der alles Steuert (günstig und leicht zu programmieren).
Als Drucksensor wird ein freescale MPX5100DP verwendet, hier habe ich nicht wirklich eine günstige
Alternative gefunden. Dieser funktioniert aber einwandfrei. Die Vakuumpumpe wird über eine Handelsübliche
Funksteckdose geschaltet, gibts ja günstig in jedem Baumarkt. Bischen bling bling darf ja auch nicht fehlen,
darum gibts ein RGB negativ display. Hier kann ich dann auch von weiter weg sofort erkennen ob das
Vakuum noch i.O. ist.
Der Funktionsaufbau steht und sieht folgendermassen aus:
Code:
/*
Pumpensteuerung mittels ATmega328
Drucksensor "Freescale MPX5100DP"
http://www.freescale.com/files/sensors/doc/data_sheet/MPX5100.pdf
Ausgabe RGB 16x2 negativ Display
Funksteuerung mittels 433Mhz Sender und RCSwitch library
http://code.google.com/p/rc-switch/
*/
//Bibliotheken
#include <RCSwitch.h>
#include <LiquidCrystal.h>
//Variablen
RCSwitch swpump = RCSwitch(); //Name für Vakuumpumpenschalter(Funksteckdose)
LiquidCrystal lcd(12, 11, 10, 9, 8, 7); //Display initialisierung
int rot = 3; //PIN´s RGB
int blau = 6;
int gruen = 5;
int drucksensorpin = 4; //PIN des Drucksensors
int potipin = 5; //PIN des Vorwahl Potentionmeters
int hysterese = 3; // +- Zone in mbar
int drucksensor_raw = 0; //Sensor Rohdaten
float bar = 0; //Variable für Druckausgabe
float min_druck = 0; //Vatiable für Vakuum Vorwahl
int zeit = 0;
//#####################################################################################
void setup() {
lcd.begin(16, 2); //Display Zeilen, Reihen, RGB
pinMode(rot, OUTPUT);
pinMode(gruen, OUTPUT);
pinMode(blau, OUTPUT);
swpump.enableTransmit(2); //Pin für 433Mhz Sender
}
//#####################################################################################
void loop() {
zeit = millis() / 1000 / 60; //Berechnung Laufzeit in min.
min_druck = analogRead(potipin); //Poti auslesen und einstellbereich festlegen
min_druck = map(min_druck, 0, 1023, 0, 100);
if (min_druck < 2) { //Ein/Aus Steuerung bei 2 mbar
swpump.switchOff(1, 1);
}
druckberechnung();
steuerung();
displayausgabe();
}
//#####################################################################################
void druckberechnung() { //Berechnung der Sensor RAW Daten zu !!! KPA !!
drucksensor_raw = analogRead(drucksensorpin); //die Umrechnung zu BAR erfolgt bei der Displayausgabe
bar = map(drucksensor_raw, 39, 1023, 0, 100);
}
//#####################################################################################
void steuerung() { //Steurung der Pumpe und Ausgabe der Displaybeleuchtung
if ((min_druck-hysterese) == bar) {
swpump.switchOn(1, 1);
delay (100);
swpump.switchOn(1, 1);
}
else {
if((min_druck+hysterese) == bar) {
swpump.switchOff(1, 1);
delay(100);
swpump.switchOff(1, 1);
}
}
//---------------------Löschen wenn kein RGB diplay verwendet wid---------------------
if (bar < 10) {
analogWrite(gruen, 255); analogWrite(rot, 0); analogWrite(blau, 255);
} else {
if (bar > (min_druck - hysterese)) {
analogWrite(gruen, 0); analogWrite(rot, 255); analogWrite(blau, 255);
} else {
analogWrite(gruen, 0); analogWrite(rot, 0); analogWrite(blau, 255);
}
}
//------------------------------------------------------------------------------------
}
//#####################################################################################
void displayausgabe() { // Anzeige der Daten im Display
lcd.setCursor(0, 0);
if(bar >= 0) {
lcd.print("BAR:-");
lcd.print((bar/100),2);
}
else {
lcd.println("->KEIN VAKUUM<-");
}
lcd.print(" ZEIT");
lcd.setCursor(0, 1);
lcd.print("MIN:-");
lcd.print(min_druck/100);
lcd.print(" ");
lcd.print(zeit);
delay(300);
}
Im Versuchsaufbau funktioniert alles schon sehr ordentlich.
Wo ich mir noch nicht sicher bin ist wie lange der 9V Block halten wird, falls dieser nicht ausreicht
gibts leider doch ein 9V Netzteil.
Nun was haltet Ihr so davon ? Kosten würden sich auf ca. 30,- bis 35,- € belaufen, je nachdem
was und wo mann halt kauft.
Paar Meinungen aus der Praxis von den Profis wäre nicht schlecht, z.B. wie gross der Hysteres Bereich in
mBar sein sollte usw. Hier fehlt mir einfach die Erfahrung. Da die Pumpe, wie schon öfter diskutiert, ein
Manometer "springen" lässt, müsste mann hier entweder mit einem ausreichendem Ausgleichbehälter arbeiten
oder noch eine Schnittmengen messung in den Code einbauen. Das denke ich wird das grösste noch zu lösende Problem
werden. Was denkt Ihr ?
Gruß
Forrest