เครื่องบรรจุขวดอัตโนมัติมักใช้ในอุตสาหกรรมเครื่องดื่มและน้ำอัดลม เครื่องเหล่านี้ใช้สายพานลำเลียงซึ่งเป็นวิธีที่ประหยัดและรวดเร็วในการเติมขวด PLC ที่ส่วนใหญ่จะใช้สำหรับเครื่องบรรจุขวดอัตโนมัติ แต่คุณสามารถทำให้พื้นฐานมากและหลากหลายบรรจุขวดใช้ Arduino คุณสามารถตั้งโปรแกรม Arduino ให้ตรวจจับขวดโดยอัตโนมัติโดยใช้เซ็นเซอร์ IR หรืออัลตราโซนิกและอนุญาตให้บรรจุขวดโดยหยุดสายพานลำเลียงเป็นระยะเวลาหนึ่ง จากนั้นเลื่อนสายพานอีกครั้งและหยุดเมื่อตรวจพบขวดถัดไป
ต่อไปนี้เรากำลังจะออกแบบต้นแบบสำหรับเครื่องบรรจุขวดอัตโนมัติโดยใช้ Arduino Unoสายพานลำเลียงโซลินอยด์วาล์วเซ็นเซอร์ IR และมอเตอร์ Stepper สายพานลำเลียงขับเคลื่อนด้วยสเต็ปเปอร์มอเตอร์ด้วยความเร็วที่ตั้งไว้คงที่ สเต็ปเปอร์มอเตอร์จะขับสายพานไปเรื่อย ๆ จนกว่าเซ็นเซอร์ IR จะตรวจพบขวดบนสายพาน เราใช้เซ็นเซอร์ IR เป็นทริกเกอร์ภายนอก ดังนั้นเมื่อใดก็ตามที่เซ็นเซอร์ IR สูงขึ้นมันจะส่งทริกเกอร์ไปยัง Arduino เพื่อหยุดมอเตอร์และเปิดโซลินอยด์วาล์ว มีการป้อนการหน่วงเวลาที่กำหนดไว้ล่วงหน้าในรหัสสำหรับการบรรจุขวดแล้ว Arduino จะเปิดวาล์วขดลวดแม่เหล็กไฟฟ้าไว้และมอเตอร์สตาร์ทจนกว่าจะถึงเวลาที่กำหนด หลังจากนั้นโซลินอยด์วาล์วจะปิดการเติมและสายพานลำเลียงจะเริ่มเคลื่อนที่เพื่อให้สามารถบรรจุขวดต่อไปได้
ก่อนหน้านี้เราใช้ Arduino กับ Solenoid valve, IR Sensor และ Stepper motor ดังนั้นหากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับการเชื่อมต่อพื้นฐานของ Arduino กับส่วนประกอบเหล่านี้คุณสามารถไปที่ลิงค์
ส่วนประกอบที่จำเป็น
- Arduino Uno
- สเต็ปเปอร์มอเตอร์ (Nema17)
- รีเลย์
- โซลินอยด์วาล์ว
- เซ็นเซอร์ IR
- A4988 มอเตอร์ไดร์เวอร์
- แบตเตอรี่
แผนภูมิวงจรรวม
แผนภาพวงจรสำหรับระบบเติมขวดอัตโนมัติโดยใช้ Arduinoมีดังต่อไปนี้
ฉันใช้ Fritzing ในการวาดแผนภาพวงจร ในวงจรนี้ Solenoid Valve เชื่อมต่อกับ Arduino ผ่านโมดูลรีเลย์และโมดูลไดรเวอร์ A4988 ใช้เพื่อควบคุมมอเตอร์สเต็ปเปอร์ คุณสามารถทำตามวิธีการควบคุม Nema17 ด้วย Arduino และบทช่วยสอน A4988 สำหรับข้อมูลเพิ่มเติมเกี่ยวกับโมดูลไดรเวอร์ Nema17 และ A4988
ขาอินพุตของโมดูลรีเลย์เชื่อมต่อกับพิน 7 ของ Arduino หมุดทิศทางและขั้นตอนของโมดูล A4988 เชื่อมต่อกับ Arduino 2 และ 4 พิน ในโครงการนี้เซ็นเซอร์ IR ถูกใช้เป็นตัวขัดจังหวะภายนอกของ Arduino ใน Arduino Uno, พินดิจิตอล 2 และ 3 เป็นหมุดขัดจังหวะเพื่อเชื่อมต่อขาออกจากเซ็นเซอร์อินฟราเรดไปยัง 3 ถขาของ Arduino Solenoid Valve ใช้พลังงานจากแหล่งจ่ายไฟ 24V และ Stepper motor ใช้พลังงานจากแหล่งจ่ายไฟ 12V
โปรแกรม Arduino สำหรับการบรรจุขวดอัตโนมัติ
โปรแกรมที่สมบูรณ์สำหรับระบบเติมขวดอัตโนมัติโดยใช้ Arduinoจะได้รับในตอนท้าย ฉันกำลังอธิบายบรรทัดสำคัญบางส่วน
เริ่มโปรแกรมโดยรวมไลบรารีมอเตอร์สเต็ปเปอร์ คุณสามารถดาวน์โหลดสเต็ปเปอร์มอเตอร์ไลบรารีได้จากที่นี่
หลังจากนั้นกำหนดจำนวนก้าวต่อรอบสำหรับมอเตอร์สเต็ปเปอร์ สำหรับ NEMA 17 ก้าวต่อรอบคือ 200
# รวม
ระบุหมุดที่หมุด Step และ Direction ของโมดูลไดรเวอร์มอเตอร์เชื่อมต่อ ในฐานะที่เป็นมอเตอร์เชื่อมต่อผ่านโมดูลไดรเวอร์กำหนดประเภทอินเตอร์เฟซที่เป็นมอเตอร์Type1
สเต็ปเปอร์สเต็ป (STEPS, 2, 4); #define motor อินเทอร์เฟซประเภท 1
ตั้งค่าความเร็วของมอเตอร์สเต็ปเปอร์
stepper.setSpeed (500);
กำหนดพินรีเลย์ขั้นตอนและทิศทางเป็นเอาต์พุต
PinMode (รีเลย์, เอาต์พุต); PinMode (4, เอาท์พุท); pinMode (2, เอาท์พุท);
ไวยากรณ์สำหรับการขัดจังหวะภายนอกใน Arduino มีดังต่อไปนี้:
attachInterrupt (digitalPinToInterrupt (พิน), ISR, โหมด);
ที่ไหน:
digitalPinToInterrupt (พิน):ใช้เพื่อกำหนดพินที่เชื่อมต่ออินเตอร์รัปต์ภายนอก ใน Arduino Uno Pin 2 & 3 เป็นพินขัดจังหวะภายนอก
ISR: เป็นฟังก์ชันที่เรียกเมื่อมีการเรียกใช้อินเทอร์รัปต์ภายนอก
โหมด: ประเภทของการเปลี่ยนเพื่อกระตุ้นเช่นการล้มการขึ้น ฯลฯ
เรียนรู้เพิ่มเติมเกี่ยวกับ Arduino Interrupts ตามลิงค์
ใน ฟังก์ชัน attachInterrupt () มีการระบุว่าพิน 3 เป็นพินขัดจังหวะภายนอกและฟังก์ชัน IR_detected จะถูกเรียกเมื่อใดก็ตามที่เซ็นเซอร์ IR เปลี่ยนสถานะจาก LOW เป็น HIGH (RISING)
attachInterrupt (digitalPinToInterrupt (3), IR_detected, HIGH);
โมฆะ IR_detected () เป็นฟังก์ชัน ISR ที่ดำเนินการเมื่อเซ็นเซอร์ IR สูงขึ้น ดังนั้นเมื่อใดก็ตามที่เซ็นเซอร์ IR สูงขึ้นฟังก์ชั่นนี้จะเรียกใช้สเต็ปเปอร์มอเตอร์ไปสองสามขั้นตอนจากนั้นจึงหยุดสเต็ปมอเตอร์และเปิดวาล์วขดลวดแม่เหล็กไฟฟ้า
เป็นโมฆะ IR_detected () {stepper.step (150); digitalWrite (รีเลย์สูง); stepper.step (0);
ในที่สุดก็อัปโหลดรหัสไปยัง Arduino โดยเชื่อมต่อกับแล็ปท็อป ภาพด้านล่างแสดงต้นแบบของเราสำหรับระบบเติมขวดอัตโนมัติโดยใช้ Arduino
รหัสที่สมบูรณ์และวิดีโอสาธิตได้รับด้านล่าง