หุ่นยนต์มีบทบาทสำคัญในระบบอัตโนมัติในทุกภาคส่วนเช่นการก่อสร้างการทหารการแพทย์การผลิตและอื่น ๆ หลังจากสร้างหุ่นยนต์พื้นฐานบางอย่างเช่นหุ่นยนต์ผู้ติดตามหุ่นยนต์ควบคุมด้วยคอมพิวเตอร์ ฯลฯ เราได้พัฒนาหุ่นยนต์ควบคุมท่าทางตามมาตรวัดความเร่งโดยใช้ arduino uno ในโครงการนี้เราได้ใช้การเคลื่อนไหวของมือเพื่อขับเคลื่อนหุ่นยนต์ เพื่อจุดประสงค์นี้เราได้ใช้มาตรความเร่งซึ่งทำงานกับความเร่ง
ส่วนประกอบที่จำเป็น
- Arduino UNO
- มอเตอร์กระแสตรง
- Accelerometer
- HT12D
- HT12E
- คู่ RF
- ตัวขับมอเตอร์ L293D
- แบตเตอรี่ 9 โวลต์
- ขั้วต่อแบตเตอรี่
- สาย USB
- หุ่นยนต์ Chasis
RF คู่:
ท่าทางหุ่นยนต์ควบคุมจะถูกควบคุมโดยการใช้มือในสถานที่ของวิธีการอื่นใดเช่นปุ่มหรือจอยสติ๊ก ที่นี่ต้องขยับมือเพื่อควบคุมหุ่นยนต์เท่านั้น มือของคุณใช้อุปกรณ์ส่งสัญญาณซึ่งประกอบด้วย RF Transmitter และเครื่องวัดความเร่ง สิ่งนี้จะส่งคำสั่งไปยังหุ่นยนต์เพื่อให้สามารถทำงานที่ต้องการเช่นเดินหน้าถอยหลังเลี้ยวซ้ายเลี้ยวขวาและหยุด งานทั้งหมดนี้จะดำเนินการโดยใช้ท่าทางมือ
ส่วนประกอบที่สำคัญที่สุดคือ accelerometer Accelerometer เป็นอุปกรณ์วัดความเร่ง 3 แกนที่มีช่วง + -3g อุปกรณ์นี้สร้างขึ้นโดยใช้เซ็นเซอร์พื้นผิวโพลีซิลิคอนและวงจรปรับสภาพสัญญาณเพื่อวัดความเร่ง เอาต์พุตของอุปกรณ์นี้เป็นแบบอะนาล็อกตามธรรมชาติและเป็นสัดส่วนกับความเร่ง อุปกรณ์นี้จะวัดความเร่งคงที่ของแรงโน้มถ่วงเมื่อเราเอียง และให้ผลลัพธ์ในรูปแบบของการเคลื่อนไหวหรือการสั่นสะเทือน
ตามแผ่นข้อมูลของโครงสร้าง adxl335 polysilicon surface-micromachined ที่วางอยู่ด้านบนของซิลิคอนเวเฟอร์ สปริงโพลีซิลิคอนระงับโครงสร้างเหนือพื้นผิวของแผ่นเวเฟอร์และให้ความต้านทานต่อแรงเร่ง การเบี่ยงเบนของโครงสร้างวัดโดยใช้ตัวเก็บประจุแบบดิฟเฟอเรนเชียลซึ่งรวมเพลตและเพลทคงที่อิสระซึ่งติดกับมวลเคลื่อนที่ แผ่นยึดคงที่ขับเคลื่อนด้วยคลื่นสี่เหลี่ยมนอกเฟส 180 ° การเร่งจะเบี่ยงเบนมวลที่เคลื่อนที่และทำให้ตัวเก็บประจุดิฟเฟอเรนเชียลไม่สมดุลส่งผลให้เอาต์พุตเซ็นเซอร์ที่มีแอมพลิจูดเป็นสัดส่วนกับความเร่ง จากนั้นใช้เทคนิคการดีมอดูเลชันแบบไวต่อเฟสเพื่อกำหนดขนาดและทิศทางของความเร่ง
คำอธิบายพินของ accelerometer
- แหล่งจ่ายไฟ Vcc 5 โวลต์ควรเชื่อมต่อที่ขานี้
- X-OUT พินนี้ให้เอาต์พุตอนาล็อกในทิศทาง x
- Y-OUT พินนี้ให้เอาต์พุตอนาล็อกในทิศทาง y
- Z-OUT พินนี้ให้เอาต์พุตอนาล็อกในทิศทาง z
- GND กราวด์
- ST พินนี้ใช้สำหรับตั้งค่าความไวของเซ็นเซอร์
แผนภาพวงจรและคำอธิบาย
หุ่นยนต์ควบคุมท่าทางแบ่งออกเป็นสองส่วน:
- ส่วนเครื่องส่ง
- ส่วนรับ
ในส่วนของเครื่องส่งจะใช้เครื่องวัดความเร่งและชุดเครื่องส่งสัญญาณ RF ดังที่เราได้กล่าวไปแล้วว่า accelerometer ให้เอาต์พุตแบบอะนาล็อกดังนั้นที่นี่เราจำเป็นต้องแปลงข้อมูลแอนะล็อกนี้เป็นดิจิทัล เพื่อจุดประสงค์นี้เราได้ใช้วงจรเปรียบเทียบ 4 แชนเนลแทน ADC ใด ๆ โดยการตั้งค่าแรงดันอ้างอิงเราจะได้รับสัญญาณดิจิตอลจากนั้นใช้สัญญาณนี้กับตัวเข้ารหัส HT12E เพื่อเข้ารหัสข้อมูลหรือแปลงเป็นรูปแบบอนุกรมจากนั้นส่งข้อมูลนี้โดยใช้เครื่องส่ง RF เข้าสู่สิ่งแวดล้อม
ในตอนท้ายของเครื่องรับเราได้ใช้ตัวรับ RF เพื่อรับข้อมูลจากนั้นนำไปใช้กับตัวถอดรหัส HT12D IC ถอดรหัสนี้แปลงข้อมูลอนุกรมที่ได้รับเป็นแบบขนานแล้วอ่านโดยใช้ arduino จากข้อมูลที่ได้รับเราขับเคลื่อนหุ่นยนต์โดยใช้มอเตอร์กระแสตรงสองตัวในทิศทางไปข้างหน้าถอยหลังซ้ายขวาและหยุด
กำลังทำงาน
หุ่นยนต์ที่ควบคุมด้วยท่าทางเคลื่อนไหวตามการเคลื่อนไหวของมือขณะที่เราวางเครื่องส่งสัญญาณไว้ในมือ เมื่อเราเอียงมือไปด้านหน้าหุ่นยนต์จะเริ่มเคลื่อนที่ไปข้างหน้าและเดินหน้าต่อไปจนกว่าจะได้รับคำสั่งถัดไป
เมื่อเราเอียงมือไปด้านหลังหุ่นยนต์จะเปลี่ยนสถานะและเริ่มเคลื่อนที่ไปในทิศทางถอยหลังจนกว่าจะได้รับคำสั่งอื่น ๆ
เมื่อเราเอียงไปทางด้านซ้าย Robot ให้เลี้ยวซ้ายจนถึงคำสั่งถัดไป
เมื่อเราเอียงมือในด้านขวาของหุ่นยนต์หันไปทางขวา
และสำหรับการหยุดหุ่นยนต์เราต้องรักษาความมั่นคง
แผนภาพวงจรสำหรับส่วนเครื่องส่งสัญญาณ
แผนภาพวงจรสำหรับส่วนรับ
วงจรสำหรับหุ่นยนต์บังคับด้วยท่าทางมือนี้ค่อนข้างง่าย ดังที่แสดงในแผนภาพด้านบนคู่ RF ใช้สำหรับการสื่อสารและเชื่อมต่อกับ arduino ไดรเวอร์มอเตอร์เชื่อมต่อกับ arduino เพื่อเรียกใช้หุ่นยนต์ ขาอินพุตของมอเตอร์ขับ 2, 7, 10 และ 15 เชื่อมต่อกับพินดิจิตอลของ arduino หมายเลข 6, 5, 4 และ 3 ตามลำดับ ที่นี่เราใช้มอเตอร์กระแสตรงสองตัวในการขับเคลื่อนหุ่นยนต์โดยที่มอเตอร์ตัวหนึ่งเชื่อมต่อที่ขาเอาท์พุทของตัวขับมอเตอร์ 3 และ 6 และอีกมอเตอร์เชื่อมต่อที่ 11 และ 14 แบตเตอรี่ 9 โวลต์ยังใช้เพื่อจ่ายพลังงานให้กับตัวขับมอเตอร์สำหรับการขับเคลื่อนมอเตอร์.
คำอธิบายโปรแกรม
ในโปรแกรมก่อนอื่นเราได้กำหนดพินเอาต์พุตสำหรับมอเตอร์
จากนั้นในการตั้งค่าเราได้ให้คำแนะนำในการปักหมุด
หลังจากนี้เราจะอ่านอินพุตโดยใช้ 'if statement' และดำเนินการแบบสัมพัทธ์
มีเงื่อนไขทั้งหมดห้าประการสำหรับหุ่นยนต์ควบคุมท่าทางที่ให้ไว้ด้านล่าง:
การเคลื่อนไหวของมือ |
อินพุตสำหรับ Arduino จากท่าทาง |
||||
ด้านข้าง |
D3 |
D2 |
D1 |
D0 |
ทิศทาง |
มีเสถียรภาพ |
0 |
0 |
0 |
0 |
หยุด |
เอียงขวา |
0 |
0 |
0 |
1 |
เลี้ยวขวา |
เอียงซ้าย |
0 |
0 |
1 |
0 |
เลี้ยวซ้าย |
เอียงกลับ |
1 |
0 |
0 |
0 |
ย้อนกลับ |
เอียงด้านหน้า |
0 |
1 |
0 |
0 |
ส่งต่อ |
เราได้เขียนโปรแกรมที่สมบูรณ์ตามเงื่อนไขตารางด้านบน ด้านล่างนี้คือรหัสที่สมบูรณ์