Automaattisia pullojen täyttökoneita käytetään yleisimmin juomien ja virvoitusjuomateollisuudessa. Nämä koneet käyttävät kuljetushihnaa, joka on taloudellinen ja nopea tapa täyttää pullot. Enimmäkseen PLC: itä käytetään automaattisissa pullojen täyttökoneissa, mutta voit tehdä hyvin yksinkertaisen ja monipuolisen pullotäytteen Arduinolla. Voit ohjelmoida Arduinon tunnistamaan pullon automaattisesti IR- tai ultraäänianturin avulla ja antamaan pullottajan täyttyä pysäyttämällä kuljetushihnan jonkin aikaa. Siirrä sitten hihnaa uudelleen ja pysähdy, kun seuraava pullo havaitaan.
Suunnittelemme tässä prototyypin automaattiselle pullontäyttölaitteelle käyttämällä Arduino Unoa, kuljetinhihnaa, magneettiventtiiliä, IR-anturia ja Stepper-moottoria. Hihnakuljettinta ohjaa askelmoottori vakiona ennalta asetetulla nopeudella. Askelmoottori jatkaa hihnan käyttämistä, kunnes IR-anturi havaitsee pullon läsnäolon vyöllä. Käytimme IR-anturia ulkoisena liipaisimena. Joten aina, kun IR-anturi menee korkealle, se lähettää laukaisimen Arduinolle moottorin pysäyttämiseksi ja magneettiventtiilin käynnistämiseksi. Esiasetettu vaadittu viive on jo syötetty pullon täyttökoodiin. Arduino pitää magneettiventtiilin päällä ja askelmoottorin pois päältä määrättyyn aikaan asti. Sen jälkeen magneettiventtiili sulkee täytön ja kuljetin alkaa liikkua niin, että seuraava pullo voidaan täyttää.
Aikaisemmin käytimme Arduinoa magneettiventtiilillä, IR-anturilla ja askelmoottorilla, joten voit tutustua Arduinon perusliitäntään näiden komponenttien kanssa linkeistä.
Tarvittavat komponentit
- Arduino Uno
- Askelmoottori (Nema17)
- Rele
- Magneettiventtiili
- IR-anturi
- A4988-moottorin ohjain
- Akku
Piirikaavio
Arduinoa käyttävän automaattisen pullon täyttöjärjestelmän kytkentäkaavio on annettu alla.
A
Olen käyttänyt Fritzingiä piirustuskaavion piirtämiseen. Tässä piirissä magneettiventtiili on kytketty Arduinoon relemoduulin kautta ja A4988-ohjainmoduulia käytetään askelmoottorin ohjaamiseen. Voit seurata How to Control Nema17 with Arduino and A4988 -opetusohjelmaa saadaksesi lisätietoja Nema17- ja A4988-ohjainmoduuleista.
Relay-moduulin tulotappi on kytketty Arduinon napaan 7. A4988-moduulin suora- ja askeltapit on kytketty Arduinon 2 ja 4 napaan. Tässä projektissa IR-anturia käytetään ulkoisena keskeytyksenä Arduinolle. Arduino Uno, digitaalinen pin 2 ja 3 ovat keskeytyksen nastat, joten kytke Out tappi IR-anturi 3 rd pin Arduino. Magneettiventtiili saa virtaa 24 V: n virtalähteestä ja Askelmoottori 12 V: n virtalähteestä.
Arduino-ohjelma pullojen automaattiseen täyttämiseen
Tämän Arduinoa käyttävän automaattisen pullontäyttöjärjestelmän täydellinen ohjelma on annettu lopussa. Tässä selitän joitain tärkeitä linjoja.
Käynnistä ohjelma sisällyttämällä askelmoottorikirjasto. Voit ladata askelmoottorikirjaston täältä.
Määritä sen jälkeen askelmoottorin vaiheiden lukumäärä kierrosta kohden. NEMA: ssa 17 askelta kierrosta kohden on 200.
#sisältää
Määritä tapit, joihin moottorin ohjainmoduulin Step and Direction -nastat on kytketty. Kun moottori on kytketty ohjainmoduulin kautta, määritä moottorin liitäntätyyppi tyypiksi 1 .
Askelmoottori (STEPS, 2, 4); #define motorInterfaceType 1
Aseta askelmoottorin nopeus.
stepper.setSpeed (500);
Määritä lähdön rele-, askel- ja suunta-nastat
pinMode (rele, OUTPUT); pinMode (4, OUTPUT); pinMode (2, OUTPUT);
Arduinon ulkoisen keskeytyksen syntakse on annettu alla:
attachInterrupt (digitalPinToInterrupt (nasta), ISR, tila);
Missä:
digitalPinToInterrupt (tappi): Sitä käytetään määrittämään tappi, johon ulkoinen keskeytys on kytketty. Arduino Unossa Pin 2 ja 3 ovat ulkoisia keskeytysnastoja.
ISR: Se on toiminto, jota kutsutaan ulkoisen keskeytyksen kutsumiseksi.
Tila: Käynnistettävän siirtymän tyyppi, esimerkiksi putoaminen, nousu jne.
Lue lisää Arduino-keskeytyksistä seuraamalla linkkiä.
In attachInterrupt () funktio on määritelty, että tappi 3 on ulkoinen keskeytys tappi, ja IR_detected funktiota kutsutaan, kun IR-anturi vaihtaa tilaansa on LOW HIGH (RISING).
attachInterrupt (digitalPinToInterrupt (3), IR_detected, HIGH);
void IR_detected () on ISR-toiminto, joka suoritetaan, kun IR-anturi menee korkealle. Joten aina, kun IR-anturi nousee korkealle, tämä toiminto käyttää askelmoottoria muutaman askeleen, pysäyttää sitten askelmoottorin ja käynnistää magneettiventtiilin.
void IR_detected () {stepper.step (150); digitalWrite (rele, HIGH); stepper.step (0);
Lataa lopuksi koodi Arduinoon liittämällä se kannettavaan tietokoneeseen. Alla olevassa kuvassa on prototyyppi automaattiselle pullontäyttöjärjestelmälle, jossa käytetään Arduinoa.
Täydellinen koodi ja esittelyvideo ovat alla.