คำอธิบาย
ชุดทดลองตรวจจับวัตถุบนสายพานลำเลียง Automation Detect Photoelectric Infrared Sensor 2 Relay
ระบบอัตโนมัติ หรือ 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, WiFi และอื่นๆ
- ตัวควบคุม เช่น MCU และอื่นๆ
- เอาท์พุท – เช่นวาล์ว, มอเตอร์, หลอดไฟ, ลำโพง และอื่นๆ
มีอะไรเตรียมไว้ให้ในชุด (อุปกรณ์ในชุดติดตั้งบนแผ่นพลาสวูด)
- 1pcs x สายพานลำเลียง Mini Conveyor 30×6 DC
- 1pcs x ชุดบอร์ดควบคุม Arduino
- 1pcs x เซนเซอร์ตรวจจับโลหะ Inductive Proximity Sensor
- 1pcs x ชุดผลักชิ้นงาน Rejector แบบใช้ Step motor
- 1pcs x เครื่องจ่ายชิ้นงานอัตโนมัติ Automatic Dispenser 10
- 1pcs x บอร์ด Relay Module 2CH
- 1pcs x สกรูเทอร์มินอล Screw Terminal สำหรับ Wiring สายไฟ
- 1pcs x อะแดปเตอร์จ่าย DC12V
- 1pcs x ชุดติดตั้งบนแผ่นพลาสวูด
- 1pcs x ชิ้นงานสำหรับทดสอบ 10 เซต
ตารางกำหนด I/O Input, Output
| Arduino UNO R3 Pin | Model AT405 | Comment |
| D0 | ||
| D1 | ||
| D2 | Input | Inductive Proximity Sensor |
| D3 | ||
| D4 | Output | Relay, ผลักชิ้นงาน Rejector |
| D5 | ||
| D6 | ||
| D7 | ||
| D8 | ||
| D9 | Output | Relay, จ่ายชิ้นงานอัตโนมัติ Automatic Dispenser |
| D10 | ||
| D11 | ||
| D12 | ||
| D13 |
การใช้ Inductive Proximity Sensor ตรวจจับชิ้นงานโลหะ
Inductive Proximity Sensor Switch เซนเซอร์ที่อาศัยหลักการสร้างสนามแม่เหล็กไฟฟ้าเพื่อตรวจจับความเหนี่ยวนำวัตถุที่เป็นโลหะ จึงสามารถใช้ตรวจจับวัตถุที่เป็นโลหะได้ Output NPN NO
แรงดัน DC12-24V Output Current 300mA Response Frequency 100Hz เส้นผ่าศูนย์กลาง 18mm /การติดตั้ง รูเจาะ M18
- สายสีน้ำตาล +VCC DC12V
- สายสีน้ำเงิน GND
- สายสีดำ OUTPUT / NPN NO
Wiring Diagram
https://oshwlab.com/s2insupply/at405-automation-dispenser-10-2relay-12v

AT405 Arduino Code
https://drive.google.com/drive/folders/1N1wDAgm6Kff_P7oTdnqlHq-EJYL3sfWD?usp=sharing
// โปรแกรมนี้การทำงานคือ ทุกครั้งที่เซนเซอร์ตรวจับเจอชิ้นงาน จะส่งสัญญาณไปยังตัวผลัก ให้ผลักชิ้นงานออก
// ต่อเซนเซอร์ตัวเดียว มีตัวผลักชิ้นงาน
#define in3 6 //ขาควบคุม L298
#define in4 7 //ขาควบคุม L298
#define enB 8 //ขาควบคุม L298
int Sensor_1 = 2; //ต่อเซนเซอร์เข้าที่ขา 2 พร็อกซิมิตี้เซนเซอร์
int Rejector = 4; //ต่อเข้ากับตัวผลักชิ้นงาน
int Dispensor = 9; //ต่อเข้ากับตัวปล่อยชิ้นงาน
int SensorValue_A = 0; //เก็บค่าที่อ่านจากเซนเซอร์
int Output_Value = 0;
int Count_Value = 0;
int Flag_count = 0;
int rotDirection = 0; //ตัวแปรกำหนดทิศทางการหมุนสายพาน
int delay_Rejector= 2500; //หน่วงเวลาหลังจากเจอชิ้นงาน ค่อยผลัก 2500 คือ 2.5วินาที
void setup(){
pinMode(enB, OUTPUT); //กำหนดเป็นเอาต์พุต
pinMode(in3, OUTPUT); //กำหนดเป็นเอาต์พุต
pinMode(in4, 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);//กำหนดขาสำหรับส่งสัญญาณไปยังตัวผลักชิ้นงาน ให้เป็นเอาต์พุต
pinMode(Dispensor, OUTPUT);//กำหนดขาสำหรับส่งสัญญาณไปยังตัวปล่อยชิ้นงาน ให้เป็นเอาต์พุต
digitalWrite(Rejector, HIGH);// สั่งลอจิก High ยังไม่สั่งผลัก
digitalWrite(Dispensor, HIGH);// สั่งลอจิก High ยังไม่ปล่อยชิ้นงาน
//ส่งสัญญาณไปทริกตัวปล่อยชิ้นงาน
digitalWrite(Dispensor, LOW);// สั่งลอจิก LOW ปล่อยชิ้นงาน
delay(100); //หน่วงเวลาขาลง นาน 100 มิลลิเซค
digitalWrite(Dispensor, HIGH);//
//กำหนดค่าเริ่มต้นของทิศทางการหมุนสายพาน
digitalWrite(in3, LOW);
digitalWrite(in4, HIGH);
}
void loop(){
//***************************************************************************************************
int pwmOutput = 255; //set speed conveyor
analogWrite(enB, pwmOutput); // ส่งสัญญาณ PWM 0-255 = 0-100% เพื่อควบคุมความเร็วสายพาน
rotDirection = 0; // 0 = สายพานเคลื่อนไปทางซ้าย 1=สายพานเคลื่อนไปทางขวา
if (rotDirection == 0) // สายพานเคลื่อนไปทางซ้าย
{
digitalWrite(in3, HIGH);
digitalWrite(in4, LOW);
}
if (rotDirection == 1) // สายพานเคลื่อนไปทางขวา
{
digitalWrite(in3, LOW);
digitalWrite(in4, HIGH);
}
//**************************************************************************************************
SensorValue_A = digitalRead(Sensor_1); //อ่านค่าจากขา 9 ที่เซนเซอร์ตรวจจับชิ้นงานต่ออยู่
if(SensorValue_A == LOW) // ถ้าอ่านได้ลอจิก Low คือ sensor_A เจอชิ้นงานแล้ว
{
delay(delay_Rejector); // รอเวลาให้ชิ้นงานวิ่งไปใกล้ Rejector สามารถเปลี่ยนแปลงค่าให้เหมาะสมกับความเร็วสายพาน
//ส่งสัญญาณไปทริกตัวผลักชิ้นงาน
digitalWrite(Rejector, LOW);// ส่ง Logic 0 เพื่อให้ Rejector ทำงาน เปรียบเสมือน การ กดสวิตช์
delay(100); //หน่วงเวลาขาลง นาน 100 มิลลิเซค
digitalWrite(Rejector, HIGH); //เซตสัญญาณกลับมาเป็น high เหมือนเดิม
//ส่งสัญญาณไปทริกตัวปล่อยชิ้นงาน
digitalWrite(Dispensor, LOW);// สั่งลอจิก LOW ปล่อยชิ้นงาน
delay(100); //หน่วงเวลาขาลง นาน 100 มิลลิเซค
digitalWrite(Dispensor, HIGH);//
}
}





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