Automatinės butelių užpildymo mašinos dažniausiai naudojamos gėrimų ir gaiviųjų gėrimų pramonėje. Šiose mašinose naudojamas konvejeris, kuris yra ekonomiškas ir greitas būdas užpildyti butelius. Daugiausia PLC naudojami automatinėms butelių pildymo mašinoms, tačiau naudodami „Arduino“ galite pagaminti labai paprastą ir universalų butelių užpildą. Galite užprogramuoti „Arduino“ automatiškai aptikti butelį naudodami IR arba ultragarso jutiklį ir leisti butelininkui užpildyti kurį laiką sustabdydami konvejerio juostą. Tada vėl pajudinkite diržą ir sustokite, kai aptiksite kitą buteliuką.
Čia mes suprojektuosime automatinio butelių užpildymo mašinos, naudojančios „Arduino Uno“, konvejerio juostą, solenoidinį vožtuvą, IR jutiklį ir „Stepper“ variklį, prototipą. Juostinį konvejerį pastoviu nustatytu greičiu varo žingsninis variklis. Žingsnis variklis diržą dirbs tol, kol IR jutiklis aptiks butelio buvimą ant diržo. Mes naudojome IR jutiklį kaip išorinį trigerį. Taigi, kai IR jutiklis pakyla aukštai, jis siunčia „Arduino“ gaiduką, kad sustabdytų variklį ir įjungtų elektromagnetinį vožtuvą. Iš anksto nustatytas reikalingas vėlavimas jau įvedamas į butelio užpildymo kodą. „Arduino“ išlaikys įjungtą solenoidinį vožtuvą ir išjungtą žingsninį variklį iki nurodyto laiko. Po to laiko elektromagnetinis vožtuvas išjungia užpildymą, o konvejeris pradeda judėti, kad būtų galima užpildyti kitą butelį.
Anksčiau mes naudojome „Arduino“ su elektromagnetiniu vožtuvu, IR jutikliu ir „Stepper“ varikliu, taigi, jei norite sužinoti daugiau apie pagrindinę „Arduino“ sąsają su šiais komponentais, galite apsilankyti nuorodose.
Būtini komponentai
- Arduino Uno
- Žingsninis variklis („Nema17“)
- Estafetė
- Solenoidinis vožtuvas
- IR jutiklis
- A4988 variklio vairuotojas
- Baterija
Grandinės schema
Žemiau pateikiama automatinės butelių užpildymo sistemos, naudojančios „Arduino“, schema.
A
Aš naudoju „Fritzing“, norėdamas parengti grandinės schemą. Šioje grandinėje solenoidinis vožtuvas yra prijungtas prie „Arduino“ per „Relay“ modulį, o A4988 tvarkyklės modulis naudojamas žingsniniam varikliui valdyti. Norėdami sužinoti daugiau apie „Nema17“ ir „A4988“ tvarkyklės modulį, galite vadovautis „Kaip valdyti„ Nema17 “su„ Arduino “ir„ A4988 “.
Relės modulio įvesties kaištis yra prijungtas prie „Arduino“ 7 kaiščio. A4988 modulio krypties ir žingsnio kaiščiai yra prijungti prie 2 ir 4 „Arduino“ kaiščių. Šiame projekte IR jutiklis naudojamas kaip išorinis „Arduino“ pertraukimas. Į Arduino Uno, skaitmeninės kaištis 2 & 3 yra pertraukti kaiščiai, todėl prijungti Išėjo kaištis IR jutikliu 3 -oje kaiščio Arduino. Elektromagnetinis vožtuvas maitinamas 24 V maitinimo šaltiniu, o „Stepper“ variklis - 12 V maitinimo šaltiniu.
„Arduino“ programa automatiniam butelių užpildymui
Pabaigoje pateikiama visa šios automatinės butelių užpildymo sistemos, naudojant „Arduino“, programa. Čia aš paaiškinu keletą svarbių eilučių.
Paleiskite programą įtraukdami pakopinių variklių biblioteką. Čia galite atsisiųsti „stepper motor“ biblioteką.
Po to nustatykite žingsnių per apsisukimus žingsnių skaičių. NEMA 17 žingsnių per apsisukimą yra 200.
# įtraukti
Nurodykite kaiščius, prie kurių prijungti variklio vairuotojo modulio žingsnio ir krypties kaiščiai. Kadangi variklis prijungtas per vairuotojo modulį, variklio sąsajos tipą apibrėžkite kaip „ Type1“ .
Stepper stepper (ŽINGSNIAI, 2, 4); #define motorInterfaceType 1
Nustatykite žingsninio variklio greitį.
stepper.setSpeed (500);
Išvestimi apibrėžkite relės, žingsnio ir krypties kaiščius
pinMode (relė, OUTPUT); pinMode (4, OUTPUT); pinMode (2, OUTPUT);
Išorinio pertraukimo sintakse „Arduino“ yra pateikta žemiau:
attachInterrupt (digitalPinToInterrupt (PIN), ISR, režimas);
Kur:
digitalPinToInterrupt (kaištis): Jis naudojamas apibrėžti kaištį, prie kurio prijungtas išorinis pertraukimas. „Arduino Uno“ 2 ir 3 kaiščiai yra išoriniai pertraukimo kaiščiai.
ISR: Tai funkcija, kuri iškviečiama, kai iškviečiamas išorinis pertraukimas.
Režimas: perėjimo, įjungto, tipas, pvz., Krentant, kylant ir pan.
Sužinokite daugiau apie „Arduino“ pertraukimus spustelėdami nuorodą.
Į attachInterrupt () funkcija yra nurodyta, kad kaištis 3 yra išorės nutraukti kaištis, ir IR_detected funkcija yra vadinama, kai IR jutiklis keičia savo būseną iš yra nuo mažiausio iki didžiausio (RISING).
attachInterrupt (digitalPinToInterrupt (3), IR_detected, HIGH);
void IR_detected () yra ISR funkcija, vykdoma, kai IR jutiklis pakyla aukštai. Taigi, kai IR jutiklis pakyla aukštai, ši funkcija keletą žingsnių paleidžia žingsninį variklį, tada sustabdo žingsninį variklį ir įjungia elektromagnetinį vožtuvą.
void IR_detected () {stepper.step (150); „digitalWrite“ (relė, AUKŠTAS); stepper.step (0);
Dabar pagaliau įkelkite kodą į „Arduino“, prijungdami jį prie nešiojamojo kompiuterio. Žemiau pateiktame paveikslėlyje parodytas mūsų automatinės butelių užpildymo sistemos, naudojant „Arduino“, prototipas .
Pilnas kodas ir demonstracinis vaizdo įrašas pateikiami žemiau.