Zentrale Komponente ist wie auch bei der
Brauanlagen-Steuerung ein
AVR ATmega8535. Der Controller läuft mit 4MHz, hat
einen Haufen Mehrzweck-IO-Ports und einen 8fach
gemultiplexten 10bit Analog-Digital-Wandler.
1. Motor und -steuerung
Der Motor ist ein Modellbau Bootsmotor. 12V DC, 160W, 10000
Umdrehungen/Minute ohne Last. Da 10000 Umin etwas zu schnell
für diese Anwendung sind, wird über das
o.g. Getriebe Drehzahl in Drehmoment umgewandelt. Dennoch
benötigt man eine zusätzliche
Geschwindigkeitssteuerung um Ruck beim Anfahren etc. zu
vermeiden. Da auch das Umschalten zwischen Vorwärts-
und Rückwärtslauf nicht trivial zu realisieren
gewesen wäre, wurde kurzerhand ein
Modellbau-Fahrtregler eingebaut. Der Regler kann von Haus
aus mit den relativ großen Stromstärken (10-15A)
umgehen und lässt sich vom Controller mittels eines
Pulsbreitensignals ansteuern (1ms=Vollgas zurück,
1.5ms=Stillstand, 2ms=Vollgas vorwärts; Zwischenwerte
ergeben entsprechende Geschwindigkeiten).
2. Positionierung des Schlittens
Im Getriebe-Gehäuse sind an der Spindel 4 Magnete
angebracht, die entsprechend 4x pro Spindelumdrehung einen
Impuls im ebenfalls dort integrierten Hall-Sensor
auslösen. Aus der Anzahl der Hall-Sensor-Impulse kann
der Controller daher die gefahrene Strecke des Schlittens
berechnen und ihn entsprechend positionieren. Da es sich bei
der Spindel um eine Tr16x4 handelt, d.h. 4mm Hub pro
Umdrehung, lässt sich mit den 4 Magneten eine
Positioniergenauigkeit von 1mm erreichen.
Im Handbetrieb kann der Schlitten anhand eines
Drehpotentiometers am Bedienpanel mit beliebiger
Geschwindigkeit rauf/runter bewegt werden. Es können
zwei Positionen gespeichert werden (Position anfahren und
die Speichern-Taste drücken), die dann im Auto-Betrieb
als Endposition unten (auf Flasche) bzw. oben (Ruhestellung)
genutzt werden.
Beim Start des Schlittens aus einer Ruheposition heraus ist
eine Ruckreduzierung implementiert, die den Schlitten sanft
beschleunigt. Beim Anfahren der Auf-Flasche-Position wird
auf den letzten 3cm die volle Motorleistung geschaltet, so
dass entsprechend Kraft für das Spannen der Haltefedern
vorhanden ist.
3. Ventilsteuerung
Die Ventilsteuerung ist simpel. Sowohl der Controller
(Auto-Modus), als auch der Benutzer über entsprechende
Schalter am Bedienpanel (Handbetrieb) können
Solid-State-Relais schalten, die dann wiederum die 24V AC
Magnetventile schalten.
4. Drucksensor
Der Drucksensor misst den Druck im System. Zum Einsatz kommt
ein MPX5700DP, der ist zwar mit seinen max. 7bar etwas
überdimensioniert, lag aber in der Krabbelkiste noch
rum. Der Sensor liest den Systemdruck gegenüber einem
Referenzdruck (derzeit: Atmosphäre; geplant: Vakuum -
um die Flasche vor dem Befüllen zu vakuumieren und
damit die Oxidationsgefahr für das Bier zu reduzieren)
und wandelt diesen Wert in eine Spannung. Der Controller
liest die Spannung über den Analog-Digital-Wandler ein
und rechnet über die Spannung zurück auf den
Druck.
5. Füllstandssensor
Der Füllstandssensor ist durch zwei Elektroden
realisiert. Sobald das Bier diese erreicht, ändert sich
der elektrische Widerstand zwischen ihnen. Diese
Änderung des Widerstands wird vom Controller
ausgewertet, wieder anhand des
Analog-Digital-Wandlers. Über ein Trimm-Potentiometer
lässt sich dabei der Schaltpunkt einstellen, so dass
evtl. entstehender Schaum nicht zur Abschaltung des
Bierzuflusses führen würde wenn dieser die
Elektroden erreicht.
6. Software/Programmlogik
Die Software an sich ist in C geschrieben und relativ simpel
als Zustandsautomat implementiert. AD-Wandler, Hallsensor
und Motorcontroller laufen im Interrupt-Modus, die Schalter
werden periodisch abgefragt.
Bei Start des automatischen Füllvorgangs wird zuerst
die Endposition 1 und dann die Endposition 2 angefahren
(s.o.).
Ist der Füllkopf auf die Flasche gepresst, so erfolgt
das Vorspannen mit CO2 über das CO2-Einlassventil. Der
Drucksensor erkennt wenn sich der Druck nicht mehr
ändert, der Flaschendruck also dem Fassdruck
angeglichen ist. Sollte der Füllkopf einmal nicht dicht
aufsitzen, dann wird auch das anhand des nicht erreichten
Minimaldrucks erkannt und der Füllvorgang
abgebrochen.
Ist der Systemdruck erreicht, so beginnt der eigentliche
Füllvorgang indem das CO2-Einlassventil ausgeschaltet
und das Bierventil eingeschaltet werden. Über das
permanent leicht geöffnete Auslassventil-1 entweicht
das Gas aus der Flasche und im selben Maß strömt
Bier nach. Nach einer kurzen Zeit (einstellbar über ein
Trimm-Potentiometer) wird zusätzlich das Auslassventil-2
geöffnet. Dabei strömt das Gas noch etwas
schneller aus der Flasche - der Füllvorgang wird somit
beschleunigt.
Der Füllstandssensor registriert wenn die Flasche voll
ist und Bierventil sowie Auslassventil-2 (das
Schnell-Füll-Ventil) werden geschlossen. Über das
Auslassventil-1 wird die Flasche auf Atmosphärendruck
entspannt. Sobald der Drucksensor Atmosphärendruck
meldet, wird der Füllkopf wieder in Endposition 1
gefahren und die Flasche kann entnommen
werden. Fertig.
Das ganze sah während der Entwicklung etwas chaotisch
aus:
Nachdem aber die Funktionstüchtigkeit getestet war,
erfolgte der Feinschliff: Es wurde eine Platine entworfen,
belichtet, geätzt und schließlich gelötet:
Stand:
Gelötet, programmiert und getestet.