AT480 ชุดเรียนรู้+ชุดทดลอง นับชิ้นงานบนสายพานลำเลียง Automation Metal Detector+Counter+Rejector+Towler Light

฿15,900.00

สั่งจองสินค้าได้

คำอธิบาย

ตรวจจับ นับชิ้นงาน และคัดแยก โลหะบนสายพานลำเลียง Automation Metal Detector + Counter + Rejector + LED Towler Light

ระบบอัตโนมัติ หรือ Automation ประกอบด้วย Hardware และ Software ที่ทำงานร่วมกัน ให้สามารถควบคุมการทำงาน ของระบบเป็นไปแบบอัตโนมัติ ระบบอัตโนมัติ นั้นจะเกี่ยวข้องกับ ระบบควบคุม Control System รวมถึงวิศวกรรมแมคคาทรอนิกส์และหุ่นยนต์พื้นฐานของระบบอัตโนมัติประกอบด้วยส่วนหลักๆคือ

  1. อินพุทจากเซนเซอร์ต่างๆ เซ็นเซอร์วัดความดัน Pressure sensor, เซ็นเซอร์อุลตราโซนิค Ultrasonic sensor , เซ็นเซอร์ความชื้น Humidity sensor, เซ็นเซอร์วัดก๊าซ Gas sensor, เซ็นเซอร์ตรวจจับการเคลื่อนไหวแบบพีไออาร์ PIR motion sensor, เซ็นเซอร์วัดความเร่ง Acceleration sensor, เซ็นเซอร์วัดแรง Force sensor, เซ็นเซอร์สี color sensor, เซ็นเซอร์เซ็นเซอร์วัดมุมและการหมุน gyro sensor, เซ็นเซอร์อัลตราโซนิก Ultrasonic Sensor และอื่นๆเช่น เทอร์โมไพล์
  2. การสื่อสาร – สายเคเบิล USB, RS485, Wi-Fi และอื่นๆ
  3. ตัวควบคุม เช่น MCU และอื่นๆ
  4. เอาท์พุท – เช่นวาล์ว, มอเตอร์, หลอดไฟ, ลำโพง และอื่นๆ

ในชุดประกอบด้วย

  1. 1pcs x สายพานลำเลียง CONV-30×06-DC24
  2. 1pcs x BDMC04 บอร์ดอาดุยโน่ Arduino Uno R3 Compatible DIP IC CH340+USB Cable
  3. 1pcs x SP8001 เซนเซอร์ตรวจจับวัตถุโฟโตอิเล็กทริกแบบอินฟราเรด Infrared Photoelectric Sensor M18 NPN-NO
  4. 1pcs x SI0809 เซนเซอร์ตรวจจับโลหะ Inductive Proximity Sensor Detection 08mm NPN NO M18 Tube LJ18A3-8-Z/BX BLUE/YELLOW
  5. 2pcs x BKBP08 อุปกรณ์ติดตั้งฐานยึด ขายึด ที่ยึด Sensor Bracket Mounting Proximity
  6. 1pcs x RJ0001 ชุดผลักชิ้นงานไฟฟ้าสเตปมอเตอร์ Electric Pusher Rejector 12VDC
  7. 1pcs x RY0518 บอร์ดรีเลย์ 8CH Active H/L Contact AC250V/10A
  8. 1set x ชิ้นงานทรงสี่เหลี่ยมลูกบาศก์ขนาด 3 เซนติเมตร โลหะสำหรับทดสอบ 1 เซต
  9. 1pcs x สกรูเทอร์มินอล Screw Terminal สำหรับ Wiring สายไฟ
  10. 1pcs x สวิตชิ่งพาวเวอร์ซัพพลาย + สายไฟ AC Power Cord
  11. 1pcs x CTPD04 เครื่องนับจำนวน ดิจิตอลเคาท์เตอร์ Preset Digital Counter 6DGT9C1PRS485
  12. 1pcs x LTDU01 ไฟสัญญาณเตือนแสดงสถานะทาวเวอร์ไลท์ LED Tower Light Lamp BEM-X-50-3T-D DC12-24V LED Red, Yellow, Green
  13. อุปกรณ์ติดตั้งฐาน Plastwood
  14. กล่องกระบะพลาสติก ฉากยึด + สายไฟ

หลักการทำงาน

  • ชุดทดลองคัดแยกโลหะบนสายพานลำเลียง เพื่อแยกชิ้นงานที่ เป็นโลหะ ออกจาก ชิ้นงานที่ไม่ใช่โลหะ โดยผู้เล่นจะเข้าใจถึงการทำงาน การควบคุมแบบ Manual และการควบคุมแบบ Automation เพื่อเป็นพื้นฐานไปสู่การเข้าใจ ระบบควบคุมอุตสาหกรรม Industrial Control System อีกทั้งยังก่อให้เกิดทักษะ กระตุ้นความคิด การคิดอย่างมีระบบ (System Thinking) ช่วยในการออกแบบและประยุกต์ใช้ วัสดุ, โครงสร้าง, เครื่องจักร, เครื่องมือ, ระบบ และ กระบวนการ

เงื่อนไข

  1. กำหนดค่าที่ต้องการนับ เพื่อให้สายพานหยุด
  2. เมื่อ พร็อกซิมิตี้เซนเซอร์แบบ Inductive ตรวจจับชิ้นงานที่เป็นโลหะ (สามารถเลือกเปลี่ยนเป็นโฟโต้เซนเซอร์ด้วยการเปิดคอมเม้นในโค้ด)
  3. Arduino จะสั่งให้ชุดเคาเตอร์ Counter นับชิ้นงาน นับขึ้น
  4. Arduino จะสั่งให้อุปกรณ์ผลักชิ้นงาน Rejector ผลักชิ้นงานออก เพื่อการคัดแยก
  5. หากตรวจจับชิ้นงานได้ แต่ไม่ใช่โลหะ ชิ้นงาน จะไหลผ่านไปยังปลายสายพาน โดยจะไม่นับ
  6. เมื่อนับถึงค่าทึ่ตั้งไว้ในโปรแกรม ในที่นี้คือ 10 โปรแกรมจะหยุดรอ จนกว่าจะกดรีเซตบนบอร์ดอาดูโน่ สายพานจะกลับมาทำงานอีกครั้ง

อินพุทจากเซนเซอร์

  1. ในชุดสำเร็จได้ติดตั้งพร็อกซิมิตี้เซนเซอร์แบบ Inductive อาศัยหลักการเปลี่ยนแปลงค่าความเหนี่ยวนำ ใช้เพื่อตรวจจับวัตถุที่เป็นโลหะ
  2. ผู้ใช้สามารถเลือกเปลี่ยนเป็นโฟโต้เซนเซอร์ด้วยการเปิดคอมเม้นในโค้ด โดยจะทำให้เซนเซอร์นับชิ้นงานทุกอย่างที่เคลื่อนผ่าน

เอาท์พุทเพื่อการนับการคัดแยกและการแสดงผล

  1. อุปกรณ์ผลักชิ้นงาน Rejector
  2. ชุด Counter แสดงผลนับ 7-Segment
  3. เสาไฟทาวเวอร์แลมป์

Wiring Diagram

Arduino Source Code

const int Sensor1 = 2; // ต่อเซนเซอร์ตัวที่ 1 ตรวจจับโลหะ
const int Sensor2 = 3; // ต่อเซนเซอร์ตัวที่ 2 โฟโต้เซนเซอร์

const int Reject   = 8;  // สั่งตัวผลักชิ้นงาน
const int Counter  = 9; // สั่งเคาท์เตอร์นับ
const int LEDY     = 10; // สั่งไฟสี เหลือง
const int LEDG     = 11; // สั่งไฟสี เขียว
const int LEDR     = 12; // สั่งไฟสี แดง
const int Conveyor = 13;  // สั่งสายพาน

//เมื่อเซนเซอร์เจอชิ้นงาน จะหน่วงเวลาให้ชิ้นงานเคลื่อนที่ถึงตัวผลัก แล้วสั่งให้ตัวผลักทำงาน                               

int Sensor1_State; // the current reading from the input pin
int Sensor2_State; // the current reading from the input pin
int lastButton_State = LOW; // the previous reading from the input pin
int lastButton_State2 = LOW; // the previous reading from the input pin
int State_Reject =0;
int count_delay =0;

unsigned long lastDebounceTime = 0; // the last time the output pin was toggled
unsigned long lastDebounceTime2 = 0;
unsigned long debounceDelay = 50; // the debounce time; increase if the output flickers

int Number = 0;
int Target_Number = 5; // ตั้งค่าจำนวนการนับชิ้นงาน

void setup() {
pinMode(Sensor1, INPUT_PULLUP);
pinMode(Sensor2, INPUT_PULLUP);

pinMode(Reject, OUTPUT);
pinMode(Conveyor, OUTPUT);
pinMode(Counter, OUTPUT);

pinMode(LEDR, OUTPUT);
pinMode(LEDG, OUTPUT);
pinMode(LEDY, OUTPUT);

// set initial state
digitalWrite(Reject, HIGH); // High คือไม่ผลัก
digitalWrite(Conveyor, HIGH);// High คือสายพานหยุด
digitalWrite(Counter, HIGH);// High คือไม่นับ

digitalWrite(LEDR, HIGH); // เสาไฟ หลอดสีแดง ดับ
digitalWrite(LEDG, HIGH);// เสาไฟ หลอดสีเขียว ดับ
digitalWrite(LEDY, HIGH);// เสาไฟ หลอดสีเหลือง ดับ

Serial.begin(9600);
digitalWrite(Conveyor, LOW); // ส่ง Low สั่งให้รีเลย์ทำงานจ่ายไฟให้สายไฟหมุน
}

void loop() { 

// *****************************************************************************************************************************************************************   
    digitalWrite(LEDG, LOW);// เสาไฟ หลอดสีเขียว ติดสว่าง
// ********************************************************* 2 ********************************************************************************************************  
    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) // ยืนยันว่าเซนเซอร์ตรวจจับชิ้นงานได้จริงๆ เป็นคือสัญญาณเป็นลอจิก Low
          {
            State_Reject =1;
            digitalWrite(LEDR, LOW); // เสาไฟ หลอดสีแดง ติดสว่าง
          }
        }
      }
      lastButton_State = reading1;
//*****************************************************************************************************************************************************************  

//********************************************************** 3 ******************************************************************************************************* 
    int reading2 = digitalRead(Sensor2); // อ่านค่าจากโฟโต้เซนเซอร์ ตรวจจับวัตถุ เพื่อนับชิ้นงาน
      if (reading2 != lastButton_State2) 
      { // reset the debouncing timer
        lastDebounceTime2 = millis();
        Serial.println(reading2);
      }    
      
      if ((millis() - lastDebounceTime2) > debounceDelay) //หน่วงเวลาป้องกันสัญญาณรบกวน คือต้องมีค่าเวลามากกว่าตัวแปร debounceDelay เพื่อให้แน่ใจว่ามีชิ้นงานจริงๆ ไม่ใช่สัญญาณรบกวน
      {
        if (reading2 != Sensor2_State)
        {
          Sensor2_State = reading2;
          if (Sensor2_State == LOW) // ยืนยันว่าเซนเซอร์ตรวจจับชิ้นงานได้จริงๆ เป็นคือสัญญาณเป็นลอจิก Low
          {
            digitalWrite(Counter, LOW); // สั่งให้ตัวเคาท์เตอร์นับขึ้น 1
            Number = Number +1; 
            delay(120); // หน่วงเวลาสักครู่
            digitalWrite(Counter, HIGH); // กลับมาสถานะเดิม
          }
        }
      }
      lastButton_State2 = reading2;
//***************************************************************************************************************************************************************** 
      
      if(State_Reject == 1)
      {
        delay(10);
        count_delay++;
        if(count_delay>250)
        {
          count_delay=0;
          State_Reject = 2;
          digitalWrite(LEDR, HIGH); // เสาไฟ หลอดสีแดง ดับ
        }
      }
      else if(State_Reject == 2)
      {
        delay(10);
        digitalWrite(Reject, LOW); // สั่งให้ตัวผลักชิ้นงานทำงาน
        digitalWrite(LEDY, LOW);// เสาไฟ หลอดสีเหลือง ติดสว่าง
        count_delay++;
        if(count_delay>50)
        {
          count_delay=0;
          State_Reject = 3;
        }
      }      
       else if(State_Reject == 3)
      {
        delay(10);
        digitalWrite(Reject, HIGH); // กลับมาสถานะเดิม
        count_delay++;
        if(count_delay>5)
        {
          count_delay=0;
          
          State_Reject = 0;
          digitalWrite(LEDY, HIGH);// เสาไฟ หลอดสีเหลือง ดับ
        }
      }    
//*******************************************************************************************
            if (Number >= Target_Number)
            {
              digitalWrite(Conveyor, HIGH);// High คือสายพานหยุด
            }
//            else
//            {
//              digitalWrite(Conveyor, LOW); // ส่ง Low สั่งให้รีเลย์ทำงานจ่ายไฟให้สายไฟหมุน
//            }
 //************************************************************************************************      
}

 


รีวิว

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

เฉพาะลูกค้าที่เข้าสู่ระบบ และเคยซื้อสินค้าชิ้นนี้แล้วเท่านั้น ที่เขียนบทวิจารณ์ได้