หุ่นยนต์เดินตามเส้น P Control ตอนที่ 1 นะออเจ้า

       หลายคนคงจะคุ้นเคยกับกิจกรรมหุ่นยนต์เดินตามเส้น ซึ่งส่วนใหญ่จะใช้เซนเซอร์ดิจิตอลอย่างน้อย 2 ตัว ในการตรวจจับ(Detect) เส้นเพื่อใช้กำหนดทิศทางการเคลื่อนที่ของหุ่นยนต์


อ้างอิงจาก https://i.ytimg.com/vi/ZQjmUt3_ffM/maxresdefault.jpg

        วิธีนั้นมันเชยแล้วนะออเจ้า มาลองควบหุ่นยนต์เดินตามเส้นโดยใช้เทคนิค P Control กันดีกว่า

P Control คืออะไร?
        P Control คือ เทคนิคในการปรับตัวให้เข้าสู่สภาวะปกติ(set point) โดยใช้ข้อมูลแบบป้อนกลับ นึกภาพง่ายๆ ว่า ถ้าเราเล่นกระดานหกกับเพื่อน



       เมื่อใดก็ตามที่น้ำหนักของเรามากหรือน้อยเพื่อน เราก็จะพยายามเพิ่มหรือลดน้ำหนักของเราให้ได้เท่ากับเพื่อน ซึ่งสัดส่วนของการเพิ่มหรือลดน้ำหนักนั้นสามารถหาได้จากค่าสัดส่วนข้อผิดพลาด(error) ในที่นี้ก็จะเป็นน้ำหนักของเราเทียบกับของเพื่อน

       error = ค่าที่กำหนด - ค่าที่วัดได้

       P Control  มีไอเท็มพิเศษที่ช่วยกำหนดความเร็วในการปรับตัวให้เข้าสู่สภาวะปกติ(set point) นั่นก็คือ Kp ดังแสดงในสมการทางคณิตศาสตร์ด้านล่าง

        output = (Kp*error) 

        การปรับตัวเข้าสู่สภาวะปกติจะเร็วหรือช้าขึ้นอยู่กับค่า Kp และ error ในระบบ ยิ่ง Kp และ error มีค่ามากเท่าไหร่ก็จะทำให้อัตราในการปรับตัวนั้นเร็วมากขึ้น


คำถาม
 แล้ว Kp ควรมีค่าเท่าไหร่นะเออ?
Kp ควรมีค่าอยู่ในระดับที่พอดีไม่น้อยหรือมากเกินไป ซึ่งเราต้องลองปรับจูนเอง
 ถ้า Kp น้อยเกินไปเกิดอะไรขึ้น? 
จะทำให้การปรับตัวให้เข้าสู่สภาวะปกตินั้นช้า
❸ ถ้า Kp มากเกินไปหละออเจ้า เกิดอะไรขึ้น?
จะทำให้เกิดการแกว่งในระบบ

หุ่นยนต์เดินตามเส้นโดยใช้ P Control 
        การทำให้หุ่นยนต์เดินตามเส้นเราจะใช้เซนเซอร์แบบอนาล็อกซึ่งมี 2 ตัวเลือกคือ
❶ อินฟาเรดเซนเซอร์(Infrared sensor) 

❷ เซนเซอร์วัดความสว่างของแสง(LDR Sensor)

หลักการทำให้หุ่นยนต์เดินตามเส้น
        เราจะให้หุ่นยนต์ตรวจจับตรงกลางระหว่างเส้นขาวกับดำพูดง่ายๆ ก็คือระดับสีเทานั่นเอง เมื่อหุ่นยนต์เอียงไปด้านขาวหรือด้านดำ เราก็จะให้หุ่นยนต์ปรับตัวเองให้กลับมาอยู่ตรงกลางโดยใช้เทคนิคการควบคุมแบบ P Control


สูตรในการหา error 
error = ค่าตรงกลางระหว่างขาวกับดำ-ค่าที่วัดได้จากเซนเซอร์
ค่าตรงกลางระหว่างขาวกับดำ = ค่าที่อ่านจากดำ+(ค่าที่อ่านจากขาว - ค่าที่อ่านจากดำ/2)

        ในส่วนของการนำเซนเซอร์มาใช้งานและวิธีการเขียนโปรแกรมเพื่อสั่งงานหุ่นยนต์ รออ่านต่อบทความที่ 2 นะออเจ้า


แหล่งอ้างอิง
https://en.wikipedia.org/wiki/PID_controller

สอบถามข้อมูลเพิ่มเติม
Facebook: รักการเขียนโค้ด ดอทคอม 
Tell: 091-4782789

       

ความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

ทำ Web server เพื่อรับข้อมูลจาก Sensor และควบคุมอุปกรณ์ต่างๆ ตอนที่ 2 ส่งข้อมูลจากบอร์ด NodeMCU ขึ้น Web Server

การควบคุมมอเตอร์ Brushless ด้วย Arduino

เรียนรู้การออกแบบวงจรอิเล็กทรอนิกส์พื้นฐาน และใช้งานบอร์ด Arduino ตอนที่ 1 ทำความรู้จักกับโปรแกรม Tinkercad Circuits