คำอธิบาย
ตรวจจับ นับชิ้นงาน และคัดแยก โลหะบนสายพานลำเลียง Automation Metal Detector+Counter+Rejector
ระบบอัตโนมัติ หรือ Automation ประกอบด้วย Hardware และ Software ที่ทำงานร่วมกัน ให้สามารถควบคุมการทำงาน ของระบบเป็นไปแบบอัตโนมัติ ระบบอัตโนมัติ นั้นจะเกี่ยวข้องกับ ระบบควบคุม Control System รวมถึงวิศวกรรมแมคคาทรอนิกส์และหุ่นยนต์พื้นฐานของระบบอัตโนมัติประกอบด้วยส่วนหลักๆคือ
- อินพุทจากเซนเซอร์ต่างๆ เซ็นเซอร์วัดความดัน Pressure sensor, เซ็นเซอร์อุลตราโซนิค Ultrasonic sensor , เซ็นเซอร์ความชื้น Humidity sensor, เซ็นเซอร์วัดก๊าซ Gas sensor, เซ็นเซอร์ตรวจจับการเคลื่อนไหวแบบพีไออาร์ PIR motion sensor, เซ็นเซอร์วัดความเร่ง Acceleration sensor, เซ็นเซอร์วัดแรง Force sensor, เซ็นเซอร์สี color sensor, เซ็นเซอร์เซ็นเซอร์วัดมุมและการหมุน gyro sensor, เซ็นเซอร์อัลตราโซนิก ultrasonic sensor และอื่นๆเช่น เทอร์โมไพล์
- การสื่อสาร – สายเคเบิล USB, RS485, Wi-Fi และอื่นๆ
- ตัวควบคุม เช่น MCU และอื่นๆ
- เอาท์พุท – เช่นวาล์ว, มอเตอร์, หลอดไฟ, ลำโพง และอื่นๆ
มีอะไรเตรียมไว้ให้ในชุด (อุปกรณ์ในชุดติดตั้งบนแผ่นพลาสวูด)
- สายพานลำเลียง Mini Conveyor+อะแดปเตอร์จ่ายไฟ
- บอร์ดควบคุม Arduino
- เคาเตอร์ Counter นับชิ้นงาน
- พร็อกซิมิตี้เซนเซอร์ แบบ Inductive Proximity Sensor สำหรับตรวจจับโลหะ
- เซ็นเซอร์ตรวจจับวัตถุ Infrared Photoelectric Sensors
- ชิ้นงานสำหรับทดสอบ 1 เซต
- ไฟแสดงผล LED Tower Lamp พร้อมบัซเซอร์
- บอร์ด ขับมอเตอร์ DC L298
- บอร์ด รีเลย์โมดูล 4ช่อง H
- อะแดปเตอร์จ่ายไฟ 12VDC
- สกรูเทอร์มินอล Screw Terminal สำหรับ Wiring สายไฟ
- ชุดผลักชิ้นงานไฟฟ้า Rejector 12VDC
หลักการทำงาน
ชุดทดลองคัดแยกโลหะบนสายพานลำเลียง เพื่อแยกชิ้นงานที่ เป็นโลหะ ออกจาก ชิ้นงานที่ไม่ใช่โลหะ โดยผู้เล่นจะเข้าใจถึงการทำงาน การควบคุมแบบ Manual และการควบคุมแบบ Automation เพื่อเป็นพื้นฐานไปสู่การเข้าใจ ระบบควบคุมอุตสาหกรรม Industrial Control System อีกทั้งยังก่อให้เกิดทักษะ กระตุ้นความคิด การคิดอย่างมีระบบ (System Thinking) ช่วยในการออกแบบและประยุกต์ใช้ วัสดุ, โครงสร้าง, เครื่องจักร, เครื่องมือ, ระบบ และ กระบวนการ
เงื่อนไข
- เมื่อ Inductive Proximity Sensor ตรวจจับชิ้นงานที่เป็นโลหะ
- Arduino จะสั่งให้อุปกรณ์ผลักชิ้นงาน Rejector ผลักชิ้นงานออก เพื่อการคัดแยก
- หากตรวจจับชิ้นงานได้ แต่ไม่ใช่โลหะ ชิ้นงาน จะไหลผ่านไปยังปลายสายพาน
อินพุทจาก พร็อกซิมิตี้เซนเซอร์
พร็อกซิมิตี้เซนเซอร์แบบ Inductive อาศัยหลักการเปลี่ยนแปลงค่าความเหนี่ยวนำ ใช้เพื่อตรวจจับวัตถุที่เป็นโลหะ
เอาท์พุทเพื่อการนับการคัดแยกและการแสดงผล
- อุปกรณ์ผลักชิ้นงาน Rejector
- ชุด Counter แสดงผลนับ 7-Segment 4 หลัก
ใบงาน การใช้ Inductive Proximity sensor เพื่อการคัดแยกชิ้นงานที่เป็นโลหะ
- สายสีน้ำตาล DC6-24V
- สายสีน้ำเงิน GND
- สายสีดำ DIGITAL OUTPUT / NPN normally open (Active Low) ต่อ DIGITAL OUTPUT เข้ากับขา Analog ของ Arduino Uno
Inductive Proximity sensors พร็อกซิมิตี้เซนเซอร์แบบเหนี่ยวนำ อาศัยหลักการสร้างสนามแม่เหล็กไฟฟ้าเพื่อตรวจจับความเหนี่ยวนำวัตถุที่เป็นโลหะ จึงสามารถใช้ตรวจจับวัตถุที่เป็นโลหะได้เท่านั้น สำหรับตรวจจับวัตถุที่เป็นโลหะ ในเรื่องของระยะทางใช้งานตรวจจับวัตถุได้ในระยะใกล้
โค้ด Arduino
- ตัวอย่างโปรแกรมด้านล่างแสดง
- การตรวจจับชิ้นงานที่เป็นของโลหะ
- เมื่อเซนเซอร์เจอเป็นของโลหะ รอเวลาให้ชิ้นงานวิ่งไปใกล้ Rejector และผลักออก
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 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
int E1 = 10; // Speed control Motor A int E2 = 11; // Speed control Motor B int M1 = 12; // direction control Motor A int M2 = 13; // direction control Motor B int sensor_A = A0; //Uno Analog Pin A0 for int sensor_B = A2; //Uno Analog Pin A2 int Buzzer = 4; //Uno Digital Pin 4 for alarm int Rejector = 9; //Uno Digital Pin 9 for Rejector int SensorValue_A = 0; int SensorValue_B = 0; int outputValue = 0; int Count_Value = 0; int flag_count = 0; int Speed = 255; // กำหนด Speed 0-255 ความเร็วสายพาน int delay_injector= 2500; //หน่วงเวลาหลังจากเจอชิ้นงาน ค่อยผลัก void setup(){ pinMode(M1, OUTPUT); pinMode(M2, OUTPUT); pinMode(Buzzer, OUTPUT); pinMode(Rejector, OUTPUT);//Rejector digitalWrite(Rejector, HIGH); pinMode(A5, OUTPUT); digitalWrite(A5, HIGH); Serial.begin(9600); } void loop(){ SensorValue_A = analogRead(sensor_A); // map it to the range of the analog out: //SensorValue_A = map(SensorValue_A, 0, 1023, 0, 255); //Serial.println(SensorValue_A); // delay(100); if(SensorValue_A > 128) // sensor_A ไม่เจอชิ้นงาน { flag_count=0; digitalWrite(M1, HIGH); // direction Motor A digitalWrite(M2, LOW); // direction Motor B analogWrite(E1, Speed); // อ่านค่า Speed ที่กำหนดไว้ เพื่อควบควม Motor A analogWrite(E2, Speed); // อ่านค่า Speed ที่กำหนดไว้ เพื่อควบควม Motor B } else // sensor_A เจอชิ้นงานแล้ว { delay(delay_injector); // รอเวลาให้ชิ้นงานวิ่งไปใกล้ Rejector สามารถเปลี่ยนแปลงค่าให้เหมาะสมกับความเร็วสายพาน digitalWrite(Rejector, LOW);// ส่ง Logic 0 เพื่อให้ Rejector ทำงาน เปรียบเสมือน การ กดสวิตช์ digitalWrite(A5, LOW);// ส่งสัญญาณไปยังวงจรเคาท์เตอร์ delay(100); //หน่วงเวลาขาลง นาน 100 มิลลิเซค digitalWrite(Rejector, HIGH); digitalWrite(A5, HIGH); } } |
รีวิว
ยังไม่มีบทวิจารณ์