คำอธิบาย
Mini Automation Sorting height
- ชุดทดลองนี้จะเป็นการตรวจจับวัตถุ และสามารถคัดแยกวัตถุที่มีความสูง
- ชุดทดลองนี้สามารถตรวจจับวัตถุที่เป็นโลหะ ใช้ พร็อกซิมิตี้เซนเซอร์แบบ Inductive
การทดลอง
- การทดลองตรวจจับวัตถุ
- การทดลองคัดแยกความสูง – ต่ำ ของชิ้นงาน Hi-Sorting + Rejector
- การทดลองตรวจจับวัตถุ โลหะ Metal Sensor
- การแสดงไฟทาวเวอร์แลมป์
อุปกรณ์ในชุดติดตั้ง
1 สายพานลำเลียง CONV-DC12V 1 pcs
2 บอร์ด Arduino UNO R3 Compatible CH340 พร้อมสาย USB 1 pcs
3 เซนเซอร์ตรวจจับวัตถุอินฟราเรดแบบ Photoelectric Sensor M18 NPN-NO 2 pcs
4 อุปกรณ์ผลักชิ้นงาน Rejector DC12V 2 pcs
5 บอร์ด Relay Module 4 ช่อง (4CH) 1 pcs
6 อะแดปเตอร์จ่ายไฟ DC12V 1 pcs
7 คอนเนคเตอร์เทอร์มินอล Screw Terminal Block 12CH TB1512 (รองรับ 15A/600V) 1 pcs
8 ไฟทาวเวอร์แลมป์ LED Tower Lamp 3 สี 1 pcs
10 ฐานติดตั้งอุปกรณ์ (Plastwood) 1 ชุด
หลักการทำงาน
ระบบอัตโนมัติ หรือ Automation ประกอบด้วย Hardware และ Software ที่ทำงานร่วมกัน ให้สามารถควบคุมการทำงาน ของระบบเป็นไปแบบอัตโนมัติ ระบบอัตโนมัติ นั้นจะเกี่ยวข้องกับ ระบบควบคุม Control System รวมถึงวิศวกรรมแมคคาทรอนิกส์และหุ่นยน ชุดทดลองนี้จะเป็นการตรวจจับวัตถุ และสามารถคัดแยกวัตถุที่มีความสูง
เงื่อนไขการทำงาน
1.เมื่อชิ้นงานมีความสูงได้ตามเกณฑ์
- ตัวควบคุม Arduino จะสั่งให้อุปกรณ์ผลักชิ้นงาน Rejector ตัวที่ 1 จะผลักชิ้นงานออก
- พร้อมไฟสีเขียวติด
2.เมื่อชิ้นงานมีความสูงน้อยกว่าเกณฑ์
- ชิ้นงาน จะถูกปล่อยผ่านไปบนสายผ่านลำเลียง ตัวควบคุม Arduino จะสั่ง Rejector ตัวที่ 2 ผลักชิ้นงานออก
- พร้อมไฟสีแดงติด
- เมื่อชิ้นงานเป็นโลหะจะมีไฟเตือนสีส้ม
อินพุทจากโฟโตอิเล็กทริค (เซ็นเซอร์แสงอินฟราเรด)
- ใช้แสงเพื่อตรวจจับวัตถุ สามารถตรวจจับวัตถุได้เกือบทุกชนิด ยกเว้นวัตถุที่มีความใสที่แสงส่องผ่านได้เช่นฟิล์มใสหรือแก้วใบใส เราสามารถใช้ Photo Electric พร็อกซิมิตี้เซนเซอร์ 2 ตัวเพื่อทำการคัดแยกชิ้นงานที่มีความสูงต่างกัน
- เมื่อเซ็นเซอร์ตัวล่างตรวจจับวัตถุได้แต่ตัวบนตรวจจับวัตถุไม่ได้เราถือว่าความสูงไม่ได้เกินมาตรฐานเราจะถือเป็นชิ้นงานที่อยู่ในเกณฑ์
- หากเซ็นเซอร์ตัวบนและตัวล่างตรวจจับชิ้นงานได้พร้อมกันเราจะถือว่าชิ้นงานนั้นมีความสูงมากเกินไป
- ชิ้นงานที่เหมาะสมในการทดสอบชิ้นงานตามเกณฑ์ควรมีขนาดความสูงไม่เกินไม่เกิน 3 cm
- ชิ้นงานที่มีขนาดสูงกว่าเกณฑ์ควรใช้ชิ้นงานที่มีขนาดความสูงมากกว่า 4 cm
อินพุทจากพร็อกซิมิตี้เซนเซอร์แบบ Inductive ใช้เพื่อตรวจจับวัตถุที่เป็นโลหะ
- ตรวจจับวัตถุที่เป็นโลหะ ใช้ พร็อกซิมิตี้เซนเซอร์แบบ Inductive
เอาท์พุทเพื่อการคัดแยกและแสดงผล
- อุปกรณ์ผลักชิ้นงาน Rejector 2 ชิ้น
- หลอดไฟ Tower Lamp 3 สี เพื่อการแสดงผล
Arduino Code
const int Photo_Hi = 8; // เซนเซอร์ตัวบน
const int Photo_Lo = 9; // เซนเซอร์ตัวล่าง
const int Metal_Sensor = 10; // เซนเซอร์โลหะ
const int Rejector_R1 = 2;
const int Rejector_R2 = 3;
const int LampG = 5; // ไฟเเขียว
const int LampY = 6; // ไฟเหลือง
const int LampR = 7; // ไฟแดง
int reading2 = 0;
int Photo_Hi_State; // the current reading from the input pin
int Photo_Lo_State; // the current reading from the input pin
int Metal_Sensor_State; // the current reading from the input pin
int lastButtonState = LOW; // the previous reading from the input pin
int lastButtonState2 = 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(Photo_Hi, INPUT);
pinMode(Metal_Sensor, INPUT);
pinMode(Rejector_R1, OUTPUT);
pinMode(Rejector_R2, OUTPUT);
pinMode(LampR, OUTPUT);
pinMode(LampY, OUTPUT);
pinMode(LampG, OUTPUT);
// set initial state
digitalWrite(Rejector_R1, HIGH);
digitalWrite(Rejector_R2, HIGH);
digitalWrite(LampR, HIGH); //ปิดหลอดไฟ
digitalWrite(LampY, HIGH); //ปิดหลอดไฟ
digitalWrite(LampG, HIGH); //ปิดหลอดไฟ
Serial.begin(9600);
}
void loop() { // read the state of the switch into a local variable:
int reading1 = digitalRead(Photo_Lo);
if (reading1 != lastButtonState)
{ // reset the debouncing timer
lastDebounceTime = millis();
}
reading2 = digitalRead(Metal_Sensor); //อ่านค่าเซนซอร์โลหะ
if (reading2 != lastButtonState2)
{ // reset the debouncing timer
lastDebounceTime = millis();
Metal_Sensor_State =1; //เก็บข้อมูลไว้เช็คกับเซนเซอร์ตัวล่าง
}
Serial.println(reading2);
if ((millis() - lastDebounceTime) > debounceDelay)
{
if (reading1 != Photo_Lo_State) {
Photo_Lo_State = reading1;
if (Photo_Lo_State == LOW)
{ //เซนเซอร์ตัวล่างจับชิ้นงานได้
int reading_Hi = digitalRead(Photo_Hi);//อ่านค่าเซนซอร์ตัวบน
if(reading_Hi==LOW)//เจอชิ้นงานสูง
{
digitalWrite(LampR, LOW); // สั่งให้หลอดไฟติด
delay(2200); // หน่วงเวลาให้ชิ้นงานเคลื่อนไปถึงตัวผลัก
digitalWrite(Rejector_R2, LOW); // สั่งให้ตัวผลักชิ้นงานทำงาน
delay(50); // หน่วงเวลาสักครู่
digitalWrite(Rejector_R2, HIGH); // กลับมาสถานะเดิม
digitalWrite(LampR, HIGH); // สั่งให้หลอดไฟดับ
}
else
{
if(Metal_Sensor_State==1) //
{
digitalWrite(LampY, LOW); // สั่งให้หลอดไฟติด
delay(1500); // หน่วงเวลาให้ชิ้นงานเคลื่อนไปถึงตัวผลัก
delay(50); // หน่วงเวลาสักครู่
digitalWrite(LampY, HIGH); // สั่งให้หลอดไฟดับ
Metal_Sensor_State =0;
}
else//เจอชิ้นงานเตี้ย
{
digitalWrite(LampG, LOW); // สั่งให้หลอดไฟติด
delay(1200); //หน่วงเวลาให้ชิ้นงานเคลื่อนไปถึงตัวผลัก
digitalWrite(Rejector_R1, LOW); //สั่งให้ตัวผลักชิ้นงานทำงาน
delay(50); //หน่วงเวลาสักครู่
digitalWrite(Rejector_R1, HIGH);//กลับมาสถานะเดิม
digitalWrite(LampG, HIGH); // สั่งให้หลอดไฟดับ
}
}
}
}
}
lastButtonState = reading1;
lastButtonState2 = reading2;
}
ไดอะแกรมรวม 701 ชุดเรียนรู้
https://www.dropbox.com/s/grdevl3cuiivj0r/Mini%20Automation%20701.pdf?dl=0

2. การต่อใช้งาน Tower light

3. การต่อใช้งาน Conveyor

4. การต่อใช้งาน บอร์ด Relay 4

5.การต่อสาย การต่อใช้งาน Infrared photoelectric sensor
- สายสีน้ำตาล : ไฟเลี้ยง + VCC
- สายสีน้ำเงิน : กราวด์ GND
- สายสีดำ : สัญญาณออก Signal Output

6. การต่อใช้งาน Inductive proximity sensors









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