Stroje na automatické plnění lahví se nejčastěji používají v průmyslu nápojů a nealkoholických nápojů. Tyto stroje používají dopravní pás, což je ekonomický a rychlý způsob plnění lahví. Většinou se PLC používají pro automaty na plnění lahví, ale pomocí Arduina můžete vyrobit velmi základní a univerzální plnění lahví. Arduino můžete naprogramovat tak, aby automaticky detekovalo láhev pomocí infračerveného nebo ultrazvukového senzoru a umožnilo plnění plnícího zařízení zastavením dopravního pásu na určitou dobu. Poté znovu pohněte pásem a zastavte se, když je detekována další láhev.
Zde navrhneme prototyp automatického plnění lahví pomocí Arduino Uno, dopravníkového pásu, elektromagnetického ventilu, infračerveného senzoru a krokového motoru. Pásový dopravník je poháněn krokovým motorem konstantní přednastavenou rychlostí. Krokový motor bude pohánět pás, dokud IR senzor nezjistí přítomnost lahve na pásu. IR senzor jsme použili jako externí spoušť. Takže kdykoli se infračervený senzor zvýší, vyšle do Arduina spoušť, aby zastavil motor a zapnul elektromagnetický ventil. Přednastavené požadované zpoždění je již zadáno v kódu pro plnění lahví. Arduino ponechá elektromagnetický ventil zapnutý a krokový motor vypnutý až do zadaného času. Po uplynutí této doby elektromagnetický ventil vypne plnění a dopravník se začne pohybovat, aby bylo možné naplnit další láhev.
Dříve jsme používali Arduino se solenoidovým ventilem, infračerveným senzorem a krokovým motorem, abyste se dozvěděli více o základním propojení Arduina s těmito komponenty, můžete navštívit odkazy.
Požadované komponenty
- Arduino Uno
- Krokový motor (Nema17)
- Relé
- Elektromagnetický ventil
- IR senzor
- Řidič motoru A4988
- baterie
Kruhový diagram
Schéma zapojení systému automatického plnění lahví pomocí Arduina je uvedeno níže.
Zloženie: 100% bavlna.
Fritzingem jsem nakreslil schéma zapojení. V tomto obvodu je solenoidový ventil připojen k Arduinu přes modul relé a modul ovladače A4988 se používá k ovládání krokového motoru. Můžete sledovat tutoriál Jak ovládat Nema17 s Arduino a A4988, kde najdete další informace o modulu ovladače Nema17 a A4988.
Vstupní kolík reléového modulu je připojen k kolíku 7 Arduina. Směrové a krokové piny modulu A4988 jsou připojeny ke 2 a 4 pinům Arduina. V tomto projektu se IR senzor používá jako externí přerušení Arduina. V Arduino Uno, digitální kolík 2 a 3 jsou přerušení kolíky, takže připojit výstupní zásuvkový senzoru IR na 3 rd kolík Arduino. Elektromagnetický ventil je napájen zdrojem 24 V a krokový motor je napájen zdrojem 12 V.
Program Arduino pro automatické plnění lahví
Na konci je uveden kompletní program pro tento systém automatického plnění lahví pomocí Arduina. Zde vysvětluji několik důležitých řádků.
Spusťte program zahrnutím knihovny krokových motorů. Knihovnu krokových motorů si můžete stáhnout zde.
Poté definujte počet kroků na otáčku krokového motoru. Pro NEMA je 17 kroků na otáčku 200.
#zahrnout
Určete kolíky, ke kterým jsou připojeny kolíky kroku a směru modulu ovladače motoru. Protože je motor připojen přes modul ovladače, definujte typ rozhraní motoru jako Type1 .
Stepper stepper (STEPS, 2, 4); #define motorInterfaceType 1
Nastavte rychlost krokového motoru.
stepper.setSpeed (500);
Definujte jako výstup piny relé, krok a směr
pinMode (relé, VÝSTUP); pinMode (4, VÝSTUP); pinMode (2, VÝSTUP);
Syntaxe pro externí přerušení v Arduinu je uvedena níže:
attachInterrupt (digitalPinToInterrupt (pin), ISR, režim);
Kde:
digitalPinToInterrupt (pin): Používá se k definování pinu, ke kterému je připojeno externí přerušení. V Arduino Uno Pin 2 & 3 jsou externí piny přerušení.
ISR: Je to funkce, která se volá, když se volá externí přerušení.
Režim: Typ přechodu ke spuštění, např. Pád, vzestup atd.
Další informace o přerušení Arduino získáte kliknutím na odkaz.
Ve funkci attachInterrupt () je specifikováno, že pin 3 je pin externího přerušení, a funkce IR_detected je volána vždy, když IR senzor změní svůj stav z LOW na HIGH (RISING).
attachInterrupt (digitalPinToInterrupt (3), IR_detected, HIGH);
void IR_detected () je funkce ISR, která se spustí, když se IR senzor dostane vysoko. Takže kdykoli se IR senzor zvýší, tato funkce spustí krokový motor na několik kroků, poté zastaví krokový motor a zapne elektromagnetický ventil.
void IR_detected () {stepper.step (150); digitalWrite (relé, HIGH); stepper.step (0);
Nyní konečně nahrajte kód do Arduina připojením k notebooku. Níže uvedený obrázek ukazuje náš prototyp systému automatického plnění lahví pomocí Arduina.
Kompletní kód a ukázkové video jsou uvedeny níže.