Automatische Flaschenfüllmaschinen werden am häufigsten in der Getränke- und Erfrischungsgetränkeindustrie eingesetzt. Diese Maschinen verwenden ein Förderband, mit dem Flaschen wirtschaftlich und schnell abgefüllt werden können. Meistens werden SPS für automatische Flaschenfüllmaschinen verwendet, aber Sie können mit einem Arduino einen sehr einfachen und vielseitigen Flaschenfüller herstellen. Sie können den Arduino so programmieren, dass er die Flasche mithilfe eines IR- oder Ultraschallsensors automatisch erkennt und den Abfüller füllen lässt, indem Sie das Förderband für einige Zeit anhalten. Bewegen Sie dann den Riemen erneut und halten Sie an, wenn die nächste Flasche erkannt wird.
Hier entwerfen wir einen Prototyp für eine automatische Flaschenfüllmaschine mit Arduino Uno, Förderband, Magnetventil, IR-Sensor und Schrittmotor. Der Förderband wird von einem Schrittmotor mit einer konstanten voreingestellten Geschwindigkeit angetrieben. Der Schrittmotor treibt den Riemen weiter an, bis ein IR-Sensor das Vorhandensein einer Flasche auf dem Riemen erkennt. Wir haben den IR-Sensor als externen Trigger verwendet. Wenn der IR-Sensor hoch geht, sendet er einen Auslöser an Arduino, um den Motor anzuhalten und das Magnetventil einzuschalten. Eine voreingestellte erforderliche Verzögerung ist bereits im Code für das Abfüllen der Flasche eingegeben. Der Arduino hält das Magnetventil bis zu dieser festgelegten Zeit an und den Schrittmotor aus. Nach dieser Zeit schaltet das Magnetventil die Füllung aus und der Förderer beginnt sich zu bewegen, damit die nächste Flasche gefüllt werden kann.
Wir haben zuvor Arduino mit Magnetventil, IR-Sensor und Schrittmotor verwendet. Um mehr über die grundlegende Schnittstelle von Arduino mit diesen Komponenten zu erfahren, können Sie die Links besuchen.
Erforderliche Komponenten
- Arduino Uno
- Schrittmotor (Nema17)
- Relais
- Magnetventil
- IR-Sensor
- A4988 Motortreiber
- Batterie
Schaltplan
Das Schaltbild für das automatische Flaschenfüllsystem mit Arduino ist unten angegeben.
Ich habe Fritzing verwendet, um den Schaltplan zu zeichnen. In dieser Schaltung ist das Magnetventil über das Relaismodul mit Arduino verbunden, und das Treibermodul A4988 wird zur Steuerung des Schrittmotors verwendet. Weitere Informationen zum Treibermodul Nema17 und A4988 finden Sie im Tutorial zur Steuerung von Nema17 mit Arduino und A4988.
Der Eingangspin des Relaismoduls ist mit Pin 7 von Arduino verbunden. Richtungs- und Step-Pins des A4988-Moduls sind mit 2 und 4 Pins von Arduino verbunden. In diesem Projekt wird ein IR-Sensor als externer Interrupt für Arduino verwendet. In Arduino Uno, digitalen Pin 2 und 3 sind die Interrupt - Pins, verbinden so den Out - Pin des IR - Sensors zum 3 rd Stift des Arduino. Das Magnetventil wird von einer 24-V-Stromquelle und der Schrittmotor von einer 12-V-Stromquelle gespeist.
Arduino-Programm zum automatischen Abfüllen von Flaschen
Das vollständige Programm für dieses automatische Flaschenfüllsystem mit Arduino finden Sie am Ende. Hier erkläre ich einige wichtige Zeilen.
Starten Sie das Programm, indem Sie die Schrittmotorbibliothek einschließen. Sie können die Schrittmotorbibliothek hier herunterladen.
Definieren Sie danach die Anzahl der Schritte pro Umdrehung für den Schrittmotor. Für NEMA sind 17 Schritte pro Umdrehung 200.
#einschließen
Geben Sie die Pins an, an die die Step- und Direction-Pins des Motortreibermoduls angeschlossen sind. Wenn der Motor über das Treibermodul angeschlossen ist, definieren Sie den Motorschnittstellentyp als Typ1 .
Stepper Stepper (STEPS, 2, 4); #define motorInterfaceType 1
Stellen Sie die Drehzahl des Schrittmotors ein.
stepper.setSpeed (500);
Definieren Sie die Relais-, Schritt- und Richtungsstifte als Ausgang
PinMode (Relais, AUSGANG); PinMode (4, OUTPUT); PinMode (2, OUTPUT);
Die Syntax für externe Interrupts in Arduino ist unten angegeben:
attachInterrupt (digitalPinToInterrupt (Pin), ISR, Modus);
Wo:
digitalPinToInterrupt (Pin): Hiermit wird der Pin definiert, an dem ein externer Interrupt angeschlossen ist. In Arduino Uno sind Pin 2 und 3 externe Interrupt-Pins.
ISR: Diese Funktion wird aufgerufen, wenn ein externer Interrupt aufgerufen wird.
Modus: Art des Übergangs, der ausgelöst werden soll, z. B. fallen, steigen usw.
Erfahren Sie mehr über Arduino Interrupts, indem Sie dem Link folgen.
In der Funktion attachInterrupt () wird angegeben, dass Pin 3 der externe Interrupt-Pin ist, und die Funktion IR_detected wird aufgerufen, wenn der IR-Sensor seinen Status von LOW auf HIGH (RISING) ändert.
attachInterrupt (digitalPinToInterrupt (3), IR_detected, HIGH);
void IR_detected () ist eine ISR-Funktion, die ausgeführt wird, wenn der IR-Sensor hoch geht. Wenn also der IR-Sensor hoch geht, lässt diese Funktion den Schrittmotor einige Schritte laufen, stoppt dann den Schrittmotor und schaltet das Magnetventil ein.
void IR_detected () {stepper.step (150); digitalWrite (Relais, HIGH); stepper.step (0);
Laden Sie nun endlich den Code auf Arduino hoch, indem Sie ihn an den Laptop anschließen. Das folgende Bild zeigt unseren Prototyp für das automatische Flaschenfüllsystem mit Arduino.
Der vollständige Code und das Demonstrationsvideo sind unten angegeben.