คำอธิบาย
การทดลองตรวจจับและคัดแยกโลหะบนสายพานลำเลียง
ระบบอัตโนมัติ หรือ Automation ประกอบด้วย Hardware และ Software ที่ทำงานร่วมกัน ให้สามารถควบคุมการทำงาน ของระบบเป็นไปแบบอัตโนมัติ ระบบอัตโนมัติ นั้นจะเกี่ยวข้องกับ ระบบควบคุม Control System รวมถึงวิศวกรรมแมคคาทรอนิกส์และหุ่นยนต์
เนื้อหาการทดลองประกอบด้วย
- การทดลองตรวจจับโลหะ
- การทดลองคัดแยกโลหะบนสายพานลำเลียง
มีอะไรเตรียมไว้ให้ในชุด (อุปกรณ์ในชุดติดตั้งบนแผ่นพลาสวูด)
- 1 pcs x อุปกรณ์ติดตั้งฐาน Plastwood-T20mm
- 1 pcs x BDMC03/BDMC04/BDMC13 บอร์ดอาดุยโน่ Arduino Uno R3 Compatible DIP IC CH340 USB Cable
- 1 pcs x BDSP02 บอร์ด โมดูลควบคุมความเร็วมอเตอร์ DC Motor Driver Speed Control L298N Red
- 4 pcs x BKA211 ฉากยึดอลูมิเนียมโปรไฟล์ Aluminum Profile Bracket 2020 A L-14
- 1 pcs x BKBP11 แผ่นยึดเซนเซอร์ Sensor Bracket Mounting Proximity
- 1 pcs x CB0003 สายไฟ Cable DC Jack 5.5×2.1mm-30cm-Female
- 3 pcs x CB0004 สายไฟ Cable DC Jack 5.5×2.1mm-30cm-Male
- 1 pcs x CNT112 คอนเนคเตอร์ เทอร์มินอลไฟฟ้า Screw Terminal Block 12CH TB1512 15A/600V
- 1 pcs x CONV3006 สายพานลำเลียง CONV-30×06-DC24
- 1 pcs x PA1205 อะแดปเตอร์แปลงไฟ AC-DC Adaptor DC12V
- 1 pcs x PB0001 กล่องชิ้นงานพลาสติก Plastic Parts Box LWH 11X10X5 G335
- 1 pcs x RJ0001 ชุดผลักชิ้นงานไฟฟ้าสเตปมอเตอร์ Electric Pusher Rejector 12VDC
- 1 pcs x SI0809 เซนเซอร์ตรวจจับโลหะ Inductive Proximity Sensor Detection 08mm NPN NO M18 Tube LJ18A3-8-Z/BX BLUE/YELLOW
- 1 pcs x xอุปกรณ์เชื่อมต่อและสายไฟ
หลักการทำงาน
- ชุดทดลองคัดแยกโลหะบนสายพานลำเลียง เพื่อแยกชิ้นงานที่เป็นโลหะออกจากชิ้นงานที่ไม่ใช่โลหะ โดยผู้ทดลองจะเข้าใจถึงการทำงาน การควบคุมแบบ Manual และการควบคุมแบบ Auto เพื่อเป็นพื้นฐานไปสู่ ระบบควบคุมอุตสาหกรรม อีกทั้งยังก่อให้เกิดทักษะ การคิดอย่างมีระบบ ช่วยในการออกแบบและประยุกต์ใช้ วัสดุ, เครื่องมือ, กระบวนการ
เงื่อนไขการทำงาน
- เมื่อ Inductive Proximity Sensor ตรวจจับชิ้นงานที่เป็นโลหะ
- Arduino จะสั่งให้อุปกรณ์ผลักชิ้นงาน Rejector ผลักชิ้นงานออก เพื่อการคัดแยกโลหะ
- หากชิ้นงานไม่ใช่โลหะ ชิ้นงานจะไหลผ่านไปยังปลายสายพาน
อินพุทจากพร็อกซิมิตี้เซนเซอร์ (Inductive Proximity Sensor)
- พร็อกซิมิตี้เซนเซอร์แบบ อาศัยหลักการเปลี่ยนแปลงค่าความเหนี่ยวนำ ใช้เพื่อตรวจจับวัตถุที่เป็นโลหะ
เอาท์พุทเพื่อการคัดแยก
- อุปกรณ์ผลักชิ้นงาน Rejector แบบทำงานด้วยไฟฟ้า 1 Set
เอาท์พุทเพื่อการควบคุมมอเตอร์
- บอร์ดขับมอเตอร์ DC Motor Driver L298N
Wiring Diagram

AT400L Arduino Code
https://drive.google.com/drive/folders/1y4Lh41RQ9m8f8AIww4bT3dLlQHA_R3b5?usp=sharing
// โปรแกรมนี้การทำงานคือ ทุกครั้งที่เซนเซอร์ตรวจ จับเจอชิ้นงาน จะส่งสัญญาณไปยังตัวผลัก Rejector ให้ผลักชิ้นงานออก
// ต่อเซนเซอร์ตัวเดียว มีตัวผลักชิ้นงาน
#define enA 6 //ขาควบคุม Speed L298
#define in1 7 //ขาควบคุม Direction L298
#define in2 8 //ขาควบคุม Direction L298
int Sensor_1 = 9; // ต่อพร็อกซิมิตี้เซนเซอร์เข้าที่ขา D9
int Rejector = 10; // ต่อเข้ากับตัวผลักชิ้นงาน D10
int Sensor_Value = 0; //เก็บค่าที่อ่านจากเซนเซอร์
int Output_Value = 0;
int Count_Value = 0;
int Flag_count = 0;
int rotationDirection = 0; // ตัวแปรกำหนดทิศทางการหมุนสายพาน
int delay_Rejector = 1500; // หน่วงเวลาหลังจากเจอชิ้นงาน ค่อยผลัก
void setup(){
pinMode(enA, OUTPUT); //กำหนดเป็นเอาต์พุต
pinMode(in1, OUTPUT); //กำหนดเป็นเอาต์พุต
pinMode(in2, OUTPUT); //กำหนดเป็นเอาต์พุต
// กำหนดขาอินพุตมีพูลอัพภายในขาของไมโครคอนโทรลเลอร์
pinMode(Sensor_1, INPUT_PULLUP); // Sensor configure Sensor_1 (pin 9) as an input and enable the internal pull-up resistor
pinMode(Rejector, OUTPUT); // กำหนดขาสำหรับส่งสัญญาณไปยังตัวผลักชิ้นงาน ให้เป็นเอาต์พุต
digitalWrite(Rejector, HIGH); // สั่งลอจิก High ยังไม่สั่งผลัก
//กำหนดค่าเริ่มต้นของทิศทางการหมุนสายพาน
digitalWrite(in1, LOW);
digitalWrite(in2, HIGH);
}
void loop(){
//***************************************************************************************************
int pwmOutput = 255; //set speed conveyor
analogWrite(enA, pwmOutput); // ส่งสัญญาณ PWM 0-255 = 0-100% เพื่อควบคุมความเร็วสายพาน
rotationDirection = 0; // 0 = สายพานเคลื่อนไปทางซ้าย 1 = สายพานเคลื่อนไปทางขวา
if (rotationDirection == 0) // สายพานเคลื่อนไปทางซ้าย
{
digitalWrite(in1, HIGH);
digitalWrite(in2, LOW);
}
if (rotationDirection == 1) // สายพานเคลื่อนไปทางขวา
{
digitalWrite(in1, LOW);
digitalWrite(in2, HIGH);
}
//**************************************************************************************************
Sensor_Value = digitalRead(Sensor_1); //อ่านค่าจากขา 9 ที่เซนเซอร์ตรวจจับชิ้นงานต่ออยู่
if(Sensor_Value == LOW) // ถ้าอ่านได้ลอจิก 0 คือ Sensor_1 เจอชิ้นงานแล้ว
{
delay(delay_Rejector); // รอเวลาให้ชิ้นงานวิ่งไปใกล้ Rejector สามารถเปลี่ยนแปลงค่าให้เหมาะสมกับความเร็วสายพาน
digitalWrite(Rejector, LOW); // ส่ง Logic 0 เพื่อให้ Rejector ทำงาน เปรียบเสมือนการกดสวิตช์
delay(100); //หน่วงเวลาขาลง นาน 100 มิลลิเซค
digitalWrite(Rejector, HIGH); // เซตสัญญาณกลับมาเป็น HIGH เหมือนเดิม
}
}
วิดีโอ








รีวิว
ยังไม่มีบทวิจารณ์