การเขียนโปรแกรมควบคุมหุ่นยนต์ด้วย Arrow Control (ตอนที่ 2) - การควบคุมมอเตอร์



แฟลตฟอร์ม AtRobt พัฒนามาจาก Arduino และมีการสร้างส่วนต่อขยายเพิ่มเติมให้เหมาะสำหรับการควบคุมหุ่นยนต์ ซึ่งเราสามารถใช้บอร์ดรุ่น Uno ร่วมกับซอฟต์แวร์ Arrow Control ได้

สำหรับบทความนี้จะแนะนำการต่อวงจรควบคุม DC motor โดยไอซี L293D และ Arduino Uno แล้วเขียนโปรแกรมควบคุมด้วยซอฟต์แวร์ Arrow Control ทีนี้มาดูกันว่าจะยากง่ายแค่ไหน...

รายการอุปกรณ์มีดังนี้
- บอร์ด Arduino Uno x 1
- ไอซี L293D x 1
- LED 2 สีแบบ 2 ขา สีเขียวและสีแดง x 2
- Pin Header ตัวผู้ (ก้างปลา) 2 ขา x 2
- ตัวต้านทาน 1 k ohm x 2
- มอเตอร์ดีซี (บักกรีสายพร้อมต่อ Connector) x 2
- โฟโต้บอร์ด x 1
- สายเชื่อมต่อจำนวนตามเหมาะสม

ก่อนอื่นต่อวงจรควบคุมมอเตอร์ด้วย L293D กับ Arduino Uno ตามแผนผังต่อไปนี้ โดยเราอาจใช้โฟโต้บอร์ดเพื่อลากสายเชื่อมต่อกัน

การต่อสายบนโฟโต้บอร์ดค่อนข้างดูยุ่งยาก เราจึงได้ออกแบบเป็น Shield สามารถต่อกับบอร์ด Uno ได้ทันที แถมยังมีพอร์ตต่างๆเอาไว้ใช้งานกับเซ็นเซอร์และจอภาพอีกด้วย แต่ในบทความนี้จะทดสอบที่โฟโต้บอร์ดก่อน


เราจะใช้ซอฟต์แวร์ Arrow Control เวอร์ชัน V.0.2-b2 ขึ้นไป ดาวน์โหลดที่นี่ ส่วนรายละเอียดการใช้งานเบื้องต้นอ่านได้จาก การเขียนโปรแกรมควบคุมหุ่นยนต์ด้วย Arrow Control (ตอนที่ 1) หรือที่ เริ่มต้นใช้งานซอฟต์แวร์ Arrow Control

หลังจากเปิดซอฟต์แวร์แล้ว ต่อสาย USB กับ Arduino Uno คลิ้กที่ปุ่ม Settings (รูปประแจ) หรือกด F8 เพื่อทำการตั้งค่าพอร์ตอัพโหลดโปรแกรมให้เป็น Arduino Uno แล้วเลือกบอร์ดเวอร์ชันเป็น AtRobt ROBOSHED/Uno จากนั้นกด Ok



ทดสอบอัดโปรแกรมโดยคลิ้กที่ปุ่ม Upload to Machine (ปุ่มสีเหลือรูปลูกศรชี้ไปหน้าหุ่นยนต์) แล้วจะมีหน้าต่างโผล่ขึ้นมา ซึ่งเกจแถวบนจะแสดงเปอร์เซ็นต์ Compiling ส่วนแถวล่างแสดงเปอร์เซ็นต์ Uploading ถ้ากระบวนการอัดโปรแกรมสำเร็จจะเห็นประโยค Uploading completed




ต่อไปให้เขียนแผนภาพดังต่อไปนี้ โดยยังไม่ต่อกับมอเตอร์ สังเกตมอเตอร์หมุนไปข้างหน้า LED จะเป็นสีเขียว และมอเตอร์หมุนไปข้างหลัง LED จะเป็นสีแดง

1. มอเตอร์ A และ B หมุนไปข้างหน้า 1 วินาที แล้วหยุด

2. มอเตอร์ A และ B หมุนไปข้างหลัง 1 วินาที แล้วหยุด

3. มอเตอร์ A และ B หมุนไปข้างหน้า 1 วินาที หมุนไปข้างหลัง 1 วินาที แล้วหยุด

4. มอเตอร์ A และ B หมุนไปข้างหน้า 1 วินาที หมุนไปข้างหลัง 1 วินาที ไปเรื่อยๆไม่หยุด



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

ข้อสังเกต 
- ถ้า LED สีไม่ตรงตามที่ออกแบบ สามารถสลับขั้วได้
- ถ้ามอเตอร์หมุนกลับด้าน สามารถสลับขั้วได้

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

หมายเหตุ บทความนี้ลงพร้อมกันที่ 3DRobot.Club
Share on Google Plus

Kasidit

    Facebook
    Blogger

0 comments:

Post a Comment

Powered by Blogger.