คำอธิบาย
ชุดเรียนรู้+ชุดทดลอง ตรวจจับและคัดแยกโลหะบนสายพานลำเลียง
ระบบอัตโนมัติ หรือ Automation ประกอบด้วย Hardware และ Software ที่ทำงานร่วมกัน ให้สามารถควบคุมการทำงาน ของระบบเป็นไปแบบอัตโนมัติ ระบบอัตโนมัติ นั้นจะเกี่ยวข้องกับ ระบบควบคุม Control System รวมถึงวิศวกรรมแมคคาทรอนิกส์และหุ่นยนต์
การทดลองประกอบด้วย
- การทดลองตรวจจับโลหะ
- การทดลองคัดแยกโลหะบนสายพานลำเลียง
- การควบคุมความเร็วสายพานมอเตอร์กระแสตรงด้วยบอร์ด รีเลย์
มีอะไรเตรียมไว้ให้ในชุด (อุปกรณ์ในชุดติดตั้งบนแผ่นพลาสวูด)
- 1pcs สายพานลำเลียง CONV DC12V
- 1pcs บอร์ด Arduino Uno R3 Compatible CH340
- 1pcs ชุดผลักชิ้นงานไฟฟ้าสเตปมอเตอร์ Electric Pusher Rejector DC12V
- 1pcs พร็อกซิมิตี้เซนเซอร์ แบบ Inductive Proximity Sensor สำหรับตรวจจับโลหะ NPN
- 1pcs Sensor Bracket Mounting Proximity M18
- 1pcs x บอร์ดรีเลย์ 5V 2CH
- 1pcs อะแดปเตอร์แปลงไฟ AC-DC Switching Power Supply Adaptor DC12V
- 1pcs สกรูเทอร์มินอล Screw Terminal สำหรับ Wiring สายไฟ
- 1pcs อุปกรณ์ติดตั้งฐาน Plastwood
หลักการทำงาน
ชุดทดลองคัดแยกโลหะบนสายพานลำเลียง เพื่อแยกชิ้นงานที่เป็นโลหะออกจากชิ้นงานที่ไม่ใช่โลหะ โดยผู้ทดลองจะเข้าใจถึงการทำงาน การควบคุมแบบ Manual และการควบคุมแบบ Auto เพื่อเป็นพื้นฐานไปสู่ ระบบควบคุมอุตสาหกรรม อีกทั้งยังก่อให้เกิดทักษะ การคิดอย่างมีระบบ ช่วยในการออกแบบและประยุกต์ใช้ วัสดุ, เครื่องมือ, กระบวนการ
เงื่อนไข
- เมื่อ Inductive Proximity Sensor ตรวจจับชิ้นงานที่เป็นโลหะ
- Arduino จะสั่งให้อุปกรณ์ผลักชิ้นงาน Rejector ผลักชิ้นงานออก เพื่อการคัดแยกโลหะ
- หากชิ้นงานไม่ใช่โลหะ งานจะไหลผ่านไปยังปลายสายพาน
อินพุทจากพร็อกซิมิตี้เซนเซอร์ (Inductive Proximity Sensor)
- พร็อกซิมิตี้เซนเซอร์แบบ อาศัยหลักการเปลี่ยนแปลงค่าความเหนี่ยวนำ ใช้เพื่อตรวจจับวัตถุที่เป็นโลหะ
เอาท์พุทเพื่อการคัดแยก
- อุปกรณ์ผลักชิ้นงาน Rejector แบบทำงานด้วยไฟฟ้า 1 Set
Wiring Diagram
โค้ด Arduino Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
const int Sensor1 = 2; // ต่อเซนเซอร์ตัวที่ 1 const int Reject1 = 4; // สั่งตัวผลักชิ้นงาน const int Relay_1 = 8; // สั่ง Relay_1 active low //เมื่อเซนเซอร์เจอชิ้นงาน จะหน่วงเวลาให้ชิ้นงานเคลื่อนที่ถึงตัวผลัก แล้วสั่งให้ตัวผลักทำงาน int Sensor1_State; // the current reading from the input pin int lastButton_State = LOW; // the previous reading from the input pin unsigned long lastDebounceTime = 0; // the last time the output pin was toggled unsigned long debounceDelay = 50; // the debounce time; increase if the output flickers void setup() { pinMode(Sensor1, INPUT_PULLUP); pinMode(Reject1, OUTPUT); pinMode(Relay_1, OUTPUT); // set initial state digitalWrite(Reject1, HIGH); Serial.begin(9600); } void loop() { // read the state of the switch into a local variable: digitalWrite(Relay_1, LOW); // สั่งให้รีเลย์ทำงานจ่ายไฟให้สายไฟหมุน int reading1 = digitalRead(Sensor1); // อ่านค่าจากเซนเซอร์ if (reading1 != lastButton_State) { // reset the debouncing timer lastDebounceTime = millis(); Serial.println(reading1); } if ((millis() - lastDebounceTime) >= debounceDelay) // >= หน่วงเวลาป้องกันสัญญาณรบกวน คือต้องมีค่าเวลามากกว่าตัวแปร debounceDelay เพื่อให้แน่ใจว่ามีชิ้นงานจริงๆ ไม่ใช่สัญญาณรบกวน { if (reading1 != Sensor1_State) { Sensor1_State = reading1; if (Sensor1_State == LOW) // ยืนยันว่าเซนเซอร์ตรวจจับชิ้นงานได้จริงๆ เป็น Active Low { delay(700); // หน่วงเวลา 500 = 1/2 s, 1000 = 1s, 2000 = 2s ให้ชิ้นงานเคลื่อนไปถึงตัวผลัก digitalWrite(Reject1, LOW); // สั่งให้ตัวผลักชิ้นงานทำงาน delay(50); // หน่วงเวลาสักครู่ digitalWrite(Reject1, HIGH); // กลับมาสถานะเดิม } } } lastButton_State = reading1; } |
1 |
รีวิว
ยังไม่มีบทวิจารณ์