Mesin Pengisian Botol Automatik paling sering digunakan dalam industri minuman dan minuman ringan. Mesin-mesin ini menggunakan tali sawat yang merupakan cara yang ekonomik dan pantas untuk mengisi botol. Sebilangan besar PLC digunakan untuk mesin pengisian botol automatik, tetapi anda boleh membuat pengisi botol yang sangat asas dan serba boleh menggunakan Arduino. Anda boleh memprogram Arduino untuk mengesan botol secara automatik menggunakan sensor IR atau ultrasonik dan membiarkan botol mengisi dengan menghentikan tali sawat untuk beberapa waktu. Kemudian bergerak lagi tali pinggang dan berhenti apabila botol seterusnya dikesan.
Di sini kita akan merancang prototaip untuk Mesin Pengisian Botol Automatik menggunakan Arduino Uno, tali sawat, injap solenoid, sensor IR, dan motor Stepper. Penghantar tali pinggang digerakkan oleh motor stepper pada kelajuan yang telah ditetapkan. Motor stepper akan terus menggerakkan tali pinggang sehingga sensor IR mengesan kehadiran botol pada tali pinggang. Kami menggunakan sensor IR sebagai pencetus luaran. Oleh itu, setiap kali sensor IR melambung tinggi, ia akan menghantar pencetus ke Arduino untuk menghentikan motor dan menghidupkan injap solenoid. Kelewatan yang telah ditetapkan telah dimasukkan dalam kod untuk mengisi botol. Arduino akan mematikan injap solenoid dan motor stepper mati sehingga masa yang ditentukan. Selepas masa itu, injap solenoid mematikan pengisian, dan penghantar mula bergerak sehingga botol seterusnya dapat diisi.
Kami sebelumnya menggunakan Arduino dengan injap Solenoid, Sensor IR dan motor Stepper, jadi untuk mengetahui lebih lanjut mengenai antara muka asas Arduino dengan komponen ini, anda boleh melayari pautan.
Komponen Diperlukan
- Arduino Uno
- Motor Stepper (Nema17)
- Geganti
- Injap solenoid
- Sensor IR
- Pemandu Motor A4988
- Bateri
Rajah Litar
Gambarajah litar untuk Sistem Pengisian Botol Automatik menggunakan Arduino diberikan di bawah.
Saya telah menggunakan Fritzing untuk melukis gambarajah litar. Dalam litar ini, Solenoid Valve disambungkan ke Arduino melalui modul Relay dan modul pemacu A4988 digunakan untuk mengawal motor stepper. Anda boleh mengikuti tutorial Cara Mengawal Nema17 dengan Arduino dan A4988 untuk maklumat lebih lanjut mengenai modul pemacu Nema17 dan A4988.
Pin input modul Relay disambungkan ke pin 7 Arduino. Pin arah dan modul modul A4988 disambungkan ke Arduino 2 dan 4 pin. Dalam projek ini, sensor IR digunakan sebagai gangguan luaran ke Arduino. Di Arduino Uno, pin digital 2 & 3 adalah pin interrupt, jadi sambungkan pin Out IR sensor ke pin ketiga Arduino. Solenoid Valve dikuasakan oleh sumber kuasa 24V, dan motor Stepper dikuasakan oleh sumber kuasa 12V.
Program Arduino untuk Pengisian Botol Automatik
Program lengkap untuk Sistem Pengisian Botol Automatik ini menggunakan Arduino diberikan pada akhir. Di sini saya menerangkan beberapa garis penting.
Mulakan program dengan memasukkan perpustakaan motor stepper. Anda boleh memuat turun perpustakaan motor stepper dari sini.
Selepas itu, tentukan bilangan langkah per revolusi untuk motor stepper. Untuk NEMA 17 langkah setiap revolusi adalah 200.
#sertakan
Tentukan pin yang mana pin Langkah dan Arah modul pemandu motor disambungkan. Semasa motor disambungkan melalui modul pemandu, tentukan jenis antara muka motor sebagai Type1 .
Stepper stepper (LANGKAH, 2, 4); #tentukan motorInterfaceType 1
Tetapkan kelajuan motor stepper.
stepper.setSpeed (500);
Tentukan pin Relay, langkah dan arah sebagai output
pinMode (relay, OUTPUT); pinMode (4, OUTPUT); pinMode (2, OUTPUT);
Sintaks untuk gangguan luaran di Arduino diberikan di bawah:
attachInterrupt (digitalPinToInterrupt (pin), ISR, mod);
Di mana:
digitalPinToInterrupt (pin): Ia digunakan untuk menentukan pin di mana gangguan luaran disambungkan. Di Arduino Uno Pin 2 & 3 adalah pin gangguan luaran.
ISR: Ini adalah fungsi yang dipanggil ketika gangguan luaran dipanggil.
Mod: Jenis peralihan untuk mencetuskan, misalnya, jatuh, naik, dll.
Ketahui lebih lanjut mengenai Arduino Interrupts dengan mengikuti pautan.
Dalam fungsi attachInterrupt () ditentukan bahawa pin 3 adalah pin interrupt luaran, dan fungsi IR_detected dipanggil setiap kali sensor IR mengubah keadaannya dari RENDAH ke TINGGI (RISING).
attachInterrupt (digitalPinToInterrupt (3), IR_detected, TINGGI);
void IR_detected () adalah fungsi ISR yang dilaksanakan apabila sensor IR naik tinggi. Oleh itu, setiap kali sensor IR naik, fungsi ini menjalankan motor stepper untuk beberapa langkah, dan kemudian menghentikan motor stepper dan menghidupkan injap solenoid.
batal IR_detected () {stepper.step (150); digitalWrite (relay, TINGGI); stepper.step (0);
Sekarang akhirnya muat naik kod ke Arduino dengan menyambungkannya ke komputer riba. Gambar di bawah menunjukkan prototaip kami untuk Sistem Pengisian Botol Automatik menggunakan Arduino.
Video kod dan demonstrasi lengkap diberikan di bawah.