Stepping & Servo motor driver – บอร์ดเพิ่มขยายเพื่อควบคุม Stepping motor และ Servo motor ผ่าน I2C


ที่มาของโครงงาน

โครงงานนี้เป็นการออกแบบบอร์ดเพิ่มขยายสำหรับชุดหุ่นยนต์เพื่อการเรียนรู้สำหรับเด็ก (GoGo Board) เพื่อให้สามารถควบคุมสเต็ปเปอร์มอเตอร์และเซอร์โวมอเตอร์ได้โดยใช้คำสั่งภาษา Logo ที่เข้าใจง่าย เนื่องจากสเต็ปเปอร์มอเตอร์และเซอร์โวมอเตอร์เป็นอุปกรณ์ที่ได้รับความนิยมมากขึ้นในการนำมาใช้ทำโครงงานหุ่นยนต์ต่าอุปกรณ์มีราคาถูกลงและหาซื้อได้ทั่วไป อย่างไรก็ดีการควบคุมมอร์เตอร์ทั้งสองชนิดนี้จะต้องใช้ความรู้ทางวิศวกรรมโดยเฉพาะเรื่องการการสร้างลูกคลื่น (Pulse) เพื่อให้ทำงานตามที่ต้องการ  ซึ่งไม่ใช่สิ่งที่เด็กหรือผู้ที่ไม่ได้ศึกษาในสาขาวิศวกรรมศาสตร์จะเข้าใจได้ง่ายนัก ดังนั้นโครงงานนี้จึงได้ออกแบบฮาร์ดแวร์ที่สามารถควบคุมได้ผ่านทางภาษา Logo ซึ่งสามารถสั่งงานมอร์เตอร์ทั้งสองชนิดผ่านทางคำสั่งที่ตรงไปตรงมา

คลิปวีดีโอความสามารถในการควบคุมของโมดูล
http://www.youtube.com/watch?v=DqfKst3NmOk&feature=youtu.be

คลิปวีดีโอสาธิตการใช้งานโมดูลร่วมกันกับ GoGo Board
http://www.youtube.com/watch?v=Tafw0fz4Q2Q&feature=youtu.be

โมดูลจะสามารถทำงานได้ก็ต่อเมื่อใช้ร่วมกับ GoGo Board ละต้องทำการเบิร์น Firmware ของ GoGo Board ที่สามารถรองรับการทำงานของโมดูลนี้
http://svn.e-cpe.org/svnpub/cpethesis/stepservo/GoGo%204.0%20For%20Step&Servo/
(Link สำหรับดาวน์โหลด Firmwere ของ GoGo Board )

จากนั้นต้องทำการติดตั้งโปแกรม GoGo monitor ที่ใช้ในการเขียนคำสั่งภาษา Logo ในการควบคุมโมดูลที่รองรับกับการใช้งานของ Stepper motor และ Servo motor
http://svn.e-cpe.org/svnpub/cpethesis/stepservo/GoGo%20Mon%20Step%20servo%20setup.rar
(Link สำหรับดาวน์โหลด GoGo monitor ที่รองรับคำสั่ง Stepping & Servo )

และขั้นตอนสุดท้ายก่อนการใช้งานต้องทำการเบิร์น Firmware ของโมดูลลงไปใน Pic18F4550 ด้วยจึงจะสามารถใช้งานโมดูลได้
http://svn.e-cpe.org/svnpub/cpethesis/stepservo/Step%20Servo%20Module%20Firmware.rar
(Link สำหรับดาวน์โหลด Firmware สำหรับ Stepping & Servo Module )
โดยการติดตั้งโปรแกรมสำหรับใช้งานโมดูลมีลายละเอียดดังนี้
http://svn.e-cpe.org/svnpub/cpethesis/stepservo/How%20To%20use%20Module.docx

Module Diagram

จากภาพ module diagram เริ่มแรกผู้ใช้ป้อนคำสั่งภาษา Logo เข้ามาใน GoGo monitor แล้วคำสั่งจะถูกแปลงให้เป็น Binary Code โดย Compiler ของ GoGo monitor จากนั้น Binary Code เหล่านี้จะถูกดาวน์โหลดผ่านสาย USB เข้าไปอยู่ใน Flash memory ของ GoGo Board แล้วจะถูก Firmware ของ GoGo Board แปลง ใ้ห้กลายเป็น Command และ Parameter แล้วส่งผ่านไปยังโมดูลโดย I2C Bus จากนั้นเมื่อโมดูลรับคำสั่งเหล่านี้มาแล้วก็ทำการแปลงให้เป็น Pulse แล้วส่งออกทาง Port Servo หรือ Stepper motor port

สรุป
โมดูลนี้สามารถควบคุมได้พร้อมกันทั้งหมดแต่ยังมีข้อจำกัดในเรื่องของความเร็วในการรับคำสั่งจาก GoGo Board จึงต้องมี wait 1 ขั้นในแต่ละคำสั่งของการใช้ Servo และต้องมี wait 3 สำหรับแต่ละคำสั่งในการใช้ Stepper motor

คลิปวีดีโอสาธิตการหาเฟสของ Stepper motor
http://www.youtube.com/watch?v=iKBEdCqEXAE&feature=youtu.be

Schematic & PCB ของโมดูล
http://svn.e-cpe.org/svnpub/cpethesis/stepservo/Schematic%20&%20PCB.rar

เอกสารเพิ่มเติมสำหรับโมดูล
http://svn.e-cpe.org/svnpub/cpethesis/stepservo/Thesis.pdf

ทีมพัฒนา

Chanwut1นายชาญวุฒิ    นรชาญ
E-mail : Chanwut_Norachan@hotmail.com

Nopporn1

นายนพพร     ยศประสงค์