Automatski strojevi za punjenje boca najčešće se koriste u industriji pića i bezalkoholnih pića. Ovi strojevi koriste pokretnu traku koja je ekonomičan i brz način punjenja boca. PLC-ovi se uglavnom koriste za strojeve za automatsko punjenje boca, ali pomoću Arduina možete napraviti vrlo osnovno i svestrano punilo za boce. Možete programirati Arduino da automatski prepozna bocu pomoću infracrvenog ili ultrazvučnog senzora i omogući punjenje punioca zaustavljanjem transportne trake na neko vrijeme. Zatim ponovno pomaknite remen i zaustavite se kad se otkrije sljedeća boca.
Ovdje ćemo dizajnirati prototip za automatsko punjenje boca koristeći Arduino Uno, transportnu traku, magnetni ventil, IR senzor i koračni motor. Remenski transporter pokreće se koračnim motorom pri konstantno zadanoj brzini. Koračni motor će nastaviti voziti remen dok IR senzor ne prepozna prisutnost boce na remenu. IR senzor koristili smo kao vanjski okidač. Dakle, kad god se IR senzor povisi, pošalje okidač Arduinu da zaustavi motor i uključi elektromagnetski ventil. Unaprijed postavljeno potrebno kašnjenje već je uneseno u kod za punjenje boca. Arduino će zadržati isključeni elektromagnetski ventil i koračni motor do navedenog vremena. Nakon tog vremena, elektromagnetski ventil isključuje punjenje, a transporter se kreće tako da se može napuniti sljedeća boca.
Prije smo koristili Arduino s magnetnim ventilom, IR senzorom i koračnim motorom, pa da biste saznali više o osnovnom povezivanju Arduina s tim komponentama, možete posjetiti poveznice.
Komponente potrebne
- Arduino Uno
- Koračni motor (Nema17)
- Relej
- Elektromagnetski ventil
- IR senzor
- A4988 Vozač motora
- Baterija
Kružni dijagram
Dijagram sklopa za sustav automatskog punjenja boca pomoću Arduina dan je u nastavku.
U

Koristio sam Fritzinga za crtanje sheme spojeva. U ovom je krugu elektromagnetski ventil povezan s Arduinom preko modula releja, a upravljački modul A4988 koristi se za upravljanje koračnim motorom. Možete pratiti Upute za upravljanje Nema17 pomoću Arduina i A4988 za više informacija o modulu Nema17 i A4988.
Ulazni pin modula releja spojen je na pin 7 Arduina. Klinovi za smjer i korak modula A4988 povezani su s 2 i 4 pinova Arduina. U ovom se projektu IR senzor koristi kao vanjski prekid Arduinu. U Arduino Uno, digitalni pin 2 i 3 su prekidačke igle, pa spojite izlazni pin IC senzora na 3. pin Arduina. Elektromagnetski ventil napaja se od izvora napajanja od 24 V, a koračni motor od izvora od 12 V.
Arduino program za automatsko punjenje boca
Kompletni program za ovaj sustav automatskog punjenja boca koji koristi Arduino dat je na kraju. Ovdje objašnjavam neke važne crte.
Pokrenite program uključivanjem biblioteke koračnih motora. Knjižnicu koračnih motora možete preuzeti ovdje.
Nakon toga definirajte broj koraka po okretaju za koračni motor. Za NEMA 17 koraka po okretu je 200.
#include
Navedite iglice na koje su spojene iglice koraka i smjera modula pogonskog motora. Kako je motor povezan preko pogonskog modula, definirajte tip sučelja motora kao Tip1 .
Stepenasti stepenik (KORACI, 2, 4); #define motorInterfaceType 1
Podesite brzinu koračnog motora.
stepper.setSpeed (500);
Definirajte klinove releja, koraka i smjera kao izlaz
pinMode (relej, IZLAZ); pinMode (4, IZLAZ); pinMode (2, IZLAZ);
Sintaksa vanjskog prekida u Arduinu data je u nastavku:
attachInterrupt (digitalPinToInterrupt (pin), ISR, način rada);
Gdje:
digitalPinToInterrupt (pin): Koristi se za definiranje pina na koji je spojen vanjski prekid. U Arduino Uno Pin 2 i 3 su vanjske igle za prekid.
ISR: To je funkcija koja se poziva kada se pozove vanjski prekid.
Način rada: vrsta prijelaza za aktiviranje, npr. Pad, uspon itd.
Saznajte više o Arduino prekidima slijedeći vezu.
U funkciji attachInterrupt () određeno je da je pin 3 vanjski pin prekida, a funkcija IR_detected poziva se kad god IR senzor promijeni svoje stanje iz LOW u HIGH (RISING).
attachInterrupt (digitalPinToInterrupt (3), IR_detected, HIGH);
void IR_detected () je ISR funkcija koja se izvršava kada IR senzor preraste . Dakle, kad god se IR senzor povisi, ova funkcija pokreće koračni motor nekoliko koraka, a zatim zaustavlja koračni motor i uključuje magnetni ventil.
void IR_detected () {stepper.step (150); digitalWrite (relej, VISOK); stepper.step (0);
Sada napokon prenesite kod na Arduino tako što ćete ga povezati s prijenosnim računalom. Slika ispod prikazuje naš prototip za sustav automatskog punjenja boca pomoću Arduina.

Kompletni kod i demonstracijski video dani su u nastavku.
