Stroji za samodejno polnjenje steklenic se najpogosteje uporabljajo v industriji pijač in brezalkoholnih pijač. Ti stroji uporabljajo tekoči trak, ki je ekonomičen in hiter način za polnjenje steklenic. PLC-ji se večinoma uporabljajo za avtomatske stroje za polnjenje steklenic, vendar lahko z Arduinom naredite zelo osnovno in vsestransko polnilo za steklenice. Arduino lahko programirate tako, da samodejno zazna steklenico z uporabo IR ali ultrazvočnega senzorja in omogoči polnjenje polnilca tako, da za nekaj časa zaustavi transportni trak. Nato spet premaknite pas in se ustavite, ko zaznate naslednjo steklenico.
Tu bomo zasnovali prototip za avtomatsko polnjenje steklenic z uporabo Arduino Uno, tekočega traku, magnetnega ventila, IR senzorja in koračnega motorja. Jermenski transporter poganja koračni motor s stalno prednastavljeno hitrostjo. Koračni motor bo še naprej vozil jermen, dokler IR senzor ne zazna prisotnosti steklenice na jermenu. IR senzor smo uporabili kot zunanji sprožilec. Torej, kadar gre IR senzor visoko, pošlje sprožilec Arduinu, da ustavi motor in vklopi elektromagnetni ventil. V kodo za polnjenje steklenic je že vnesena prednastavljena zahtevana zakasnitev. Arduino bo do navedenega časa ohranjal vklopljen magnetni ventil in koračni motor. Po tem času magnetni ventil izklopi polnjenje in tekoči trak se začne premikati, da se lahko napolni naslednja steklenica.
Prej smo uporabljali Arduino z magnetnim ventilom, IR senzorjem in koračnim motorjem, tako da lahko izveste več o osnovnem povezovanju Arduina s temi komponentami, obiščite povezave.
Potrebne komponente
- Arduino Uno
- Koračni motor (Nema17)
- Rele
- Elektromagnetni ventil
- IR senzor
- A4988 Motor voznik
- Baterija
Shema vezja
Shema vezja za sistem samodejnega polnjenja steklenic z uporabo Arduina je podana spodaj.
U
Za risanje vezja sem uporabil Fritzinga. V tem vezju je magnetni ventil povezan z Arduino prek modula releja, gonilni modul A4988 pa se uporablja za nadzor koračnega motorja. Če želite več informacij o modulih gonilnikov Nema17 in A4988, lahko sledite navodilom za upravljanje177 z Arduino in A4988.
Vhodni zatič modula Rele je povezan s pinom 7 Arduina. Zatiči za smer in korak modula A4988 so povezani z 2 in 4 zatiči Arduino. V tem projektu se IR senzor uporablja kot zunanja prekinitev Arduina. V Arduino Uno, digitalni pin 2 in 3 sta prekinitev zatiči, tako da poveže izhodni pin IR senzorja s 3 rd pin Arduino. Elektromagnetni ventil napaja 24V vir energije, koračni motor pa 12V vir energije.
Program Arduino za samodejno polnjenje steklenic
Na koncu je podan celoten program za ta sistem samodejnega polnjenja steklenic z uporabo Arduina. Tukaj razlagam nekaj pomembnih vrstic.
Zaženite program z vključitvijo knjižnice koračnih motorjev. Knjižnico koračnih motorjev lahko prenesete od tukaj.
Po tem določite število korakov na vrtljaj za koračni motor. Za NEMA je 17 korakov na vrtljaj 200.
#include
Navedite nožice, na katere sta priključena nožica korakov in smeri modula gonilnika motorja. Ko je motor povezan z gonilnim modulom, določite vrsto vmesnika motorja kot Type1 .
Koračni korak (KORAKI, 2, 4); #define motorInterfaceType 1
Nastavite hitrost koračnega motorja.
stepper.setSpeed (500);
Kot izhod določite zatiče releja, koraka in smeri
pinMode (rele, IZHOD); pinMode (4, IZHOD); pinMode (2, IZHOD);
Sintaksa za zunanjo prekinitev v Arduinu je podana spodaj:
attachInterrupt (digitalPinToInterrupt (pin), ISR, način);
Kje:
digitalPinToInterrupt (pin): Uporablja se za določanje zatiča, na katerega je priključen zunanji prekinitev. V Arduino Uno Pin 2 in 3 so zunanji prekinitveni zatiči.
ISR: To je funkcija, ki se pokliče, ko se pokliče zunanja prekinitev.
Način: vrsta prehoda za sprožitev, npr. Padanje, naraščanje itd.
Preberite več o prekinitvah Arduino na povezavi.
V funkciji attachInterrupt () je določeno, da je pin 3 zunanji prekinitveni zatič, funkcija IR_detected pa se pokliče vsakič, ko IR senzor spremeni svoje stanje iz LOW v HIGH (RISING).
attachInterrupt (digitalPinToInterrupt (3), IR_detected, HIGH);
void IR_detected () je funkcija ISR, ki se izvaja, ko gre IR senzor visoko. Torej, kadar gre IR senzor visoko, ta funkcija nekaj korakov zažene koračni motor, nato pa zaustavi koračni motor in vklopi elektromagnetni ventil.
void IR_detected () {stepper.step (150); digitalWrite (rele, VISOKO); stepper.step (0);
Zdaj končno naložite kodo v Arduino, tako da jo povežete s prenosnikom. Spodnja slika prikazuje naš prototip za sistem samodejnega polnjenja steklenic z uporabo Arduina.
Celotna koda in predstavitveni video so navedeni spodaj.