Automātiskās pudeles uzpildīšanas mašīnas visbiežāk izmanto dzērienu un bezalkoholisko dzērienu rūpniecībā. Šajās mašīnās tiek izmantots konveijers, kas ir ekonomisks un ātrs veids, kā uzpildīt pudeles. Pārsvarā PLC tiek izmantoti automātiskām pudeļu pildīšanas mašīnām, taču jūs varat izgatavot ļoti vienkāršu un daudzpusīgu pudeļu pildītāju, izmantojot Arduino. Jūs varat ieprogrammēt Arduino automātiski noteikt pudeli, izmantojot infrasarkano staru vai ultraskaņas sensoru, un ļaut pudelītei piepildīties, kādu laiku apturot konveijera lenti. Tad atkal pārvietojiet jostu un apstājieties, kad tiek atrasta nākamā pudele.
Šeit mēs izstrādāsim automātiskās pudeles uzpildīšanas mašīnas prototipu, izmantojot Arduino Uno, konveijera lenti, solenoīda vārstu, IR sensoru un Stepper motoru. Siksnas konveijeru darbina pakāpienu motors ar nemainīgu iepriekš iestatītu ātrumu. Stepper motors turpina vadīt jostu, līdz IR sensors konstatē pudeles klātbūtni uz jostas. Mēs izmantojām IR sensoru kā ārēju trigeri. Tāpēc ikreiz, kad infrasarkanais sensors ir uz augšu, tas nosūta Arduino sprūdu, lai apturētu motoru un ieslēgtu elektromagnētisko vārstu. Iepriekš iestatītā nepieciešamā aizkave jau ir ievadīta pudeles uzpildīšanas kodā. Arduino saglabās solenoīda vārstu un izslēgtu soļu motoru līdz norādītajam laikam. Pēc šī laika solenoīda vārsts izslēdz pildījumu, un konveijers sāk kustēties, lai varētu piepildīt nākamo pudeli.
Iepriekš mēs izmantojām Arduino ar solenoīda vārstu, IR sensoru un Stepper motoru, tāpēc, lai uzzinātu vairāk par Arduino pamata saskarni ar šiem komponentiem, varat apmeklēt saites.
Nepieciešamās sastāvdaļas
- Arduino Uno
- Stepper motors (Nema17)
- Relejs
- Solenoīda vārsts
- IR sensors
- A4988 motora vadītājs
- Akumulators
Ķēdes shēma
Automātiskās pudeles uzpildes sistēmas shēma, izmantojot Arduino, ir sniegta zemāk.
A
Es izmantoju Fritzing, lai uzzīmētu shēmas shēmu. Šajā ķēdē solenoīda vārsts ir savienots ar Arduino, izmantojot releja moduli, un A4988 draivera moduli izmanto stepper motora vadībai. Lai iegūtu papildinformāciju par Nema17 un A4988 draiveru moduli, varat sekot instrukcijai Kā kontrolēt Nema17 ar Arduino un A4988.
Releja moduļa ievades tapa ir savienota ar Arduino 7. kontaktu. A4988 moduļa virziena un soļa tapas ir savienotas ar Arduino 2 un 4 tapām. Šajā projektā IR sensors tiek izmantots kā ārējs Arduino pārtraukums. In Arduino Uno, digital pin 2 & 3 ir pārtraukt pins, lai savienotu izvades pin IR sensora līdz 3 rd pin no Arduino. Elektromagnētisko vārstu darbina 24 V strāvas avots, bet Stepper motoru - 12 V strāvas avots.
Arduino programma automātiskai pudeles uzpildīšanai
Pilnīga šīs automātiskās pudeles uzpildīšanas sistēmas programma, izmantojot Arduino, ir dota beigās. Šeit es izskaidroju dažas svarīgas līnijas.
Sāciet programmu, iekļaujot stepper motor bibliotēku. Stepper motora bibliotēku varat lejupielādēt šeit.
Pēc tam nosakiet soļu motora pakāpienu skaitu vienā apgriezienā. NEMA 17 soļi vienā apgriezienā ir 200.
# iekļaut
Norādiet tapas, kurām ir pievienotas motora vadītāja moduļa Step and Direction tapas. Tā kā motors ir savienots, izmantojot vadītāja moduli, definējiet motora saskarnes veidu kā Type1 .
Stepper stepper (STEPS, 2, 4); #define motorInterfaceType 1
Iestatiet soļa motora ātrumu.
stepper.setSpeed (500);
Kā izvadi definējiet releja, pakāpiena un virziena tapas
pinMode (relejs, OUTPUT); pinMode (4, OUTPUT); pinMode (2, OUTPUT);
Ārējā pārtraukuma sintakse Arduino ir sniegta zemāk:
attachInterrupt (digitalPinToInterrupt (pin), ISR, režīms);
Kur:
digitalPinToInterrupt (pin): To lieto, lai noteiktu tapu, pie kuras ir savienots ārējais pārtraukums. Arduino Uno tapas 2 un 3 ir ārējās pārtraukšanas tapas.
ISR: tā ir funkcija, kuru izsauc, kad tiek izsaukts ārējs pārtraukums.
Režīms: pārejas veids, kas aktivizējas, piemēram, krītot, paceļoties utt.
Uzziniet vairāk par Arduino pārtrauc, izmantojot saiti.
Jo attachInterrupt () funkciju, tiek noteikts, ka pin 3 ir ārējā pārtraukt pin, un IR_detected funkciju sauc, kad IS sensors maina savu stāvokli no ir zemas līdz augstam (pieaugums).
attachInterrupt (digitalPinToInterrupt (3), IR_detected, HIGH);
void IR_detected () ir ISR funkcija, kas tiek izpildīta, kad IR sensors paaugstinās. Tāpēc ikreiz, kad infrasarkanais sensors paaugstinās, šī funkcija dažus soļus darbina soļu motoru, pēc tam apstādina soļa motoru un ieslēdz solenoīda vārstu.
void IR_detected () {stepper.step (150); digitalWrite (relejs, AUGSTS); stepper.step (0);
Tagad beidzot augšupielādējiet kodu Arduino, pievienojot to klēpjdatoram. Zemāk redzamajā attēlā parādīts mūsu automātiskās pudeles uzpildes sistēmas prototips, izmantojot Arduino.
Pilns kods un demonstrācijas video ir sniegti zemāk.