วันเสาร์ที่ 28 กุมภาพันธ์ พ.ศ. 2552

เปลี่ยน Servo ธรรมดาให้เป็น Digital Servo จริงๆ

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

Analog Servo จะอ่านค่า PWM เข้าขา A/D ครับความละอียดแล้วแต่รุ่น ส่วนมากก็ 10บิท
Digital Servo จะอ่านค่า PWM เข้ามาเป็นพัลส์ครับ ความละเอียดก็จะมากกว่า

ส่วนที่ต่างนั้นก็เนื่องจาก digital servo จะมี processor ค่อยตรวจสอบสัญญาณ และจะขับสัญญาณเล็กๆ ไปยังมอเตอร์ตลอดเวลา เพื่อให้ servo สามารถเคลื่อนไปยังตำแหน่งต่อไปตามสัญญาณได้อย่างรวดเร็วนั่นเอง เราจะสังเกตุได้ว่า Servo digital มันมักจะครางแม้จะมีแรงมากระทำเพียงเล็กน้อย แน่นอนว่าต้องใช้กระแสเพิ่มขึ้นแม้จะเป็นสัญญาณเล็กๆ ก็ตาม

คราวนี้หากต้องการจะแปลง servo อะไรก็ตามให้ทำงานแบบ digital ล่ะก้อ ก็สามารถประยุกต์ใช้หลักการนี้ได้เลย

อ่านเพิ่มเติมได้ที่
http://www.futabarc.com/servos/digitalservos.pdf

ในงานควบคุมอื่นๆ ที่ต้องใช้ Servo จำนวนมากนั้น I/O ของ processor ที่ต้องใ้ช้ควบคุมก็เพิ่มขึ้นเป็นเงา ในบทความต่างประเทศนี้ เค้าใช้เทคนิคการส่งผ่านข้อมูล ซึ่งเร็วเพียงพอสำหรับการควบคุม servo หลายๆ ตัวโดยใช้สัญญาณเพิ่มขึ้นอีกไม่กี่เส้น

รายละเอียด
http://www.openservo.com/StepByStep

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

อ่านแล้วเกิด idea กระทันหัน

เซอร์โวดิจิตัลมันจะเหมือนกันทุกตัวหรือเปล่าหนอ

หลังจากที่เขียนโปรแกรมปะสา C คุม MCU มาจนเกือบจะเสร็จแล้ว ก็มาถึงการทดสอบส่วนของ Server Tester


ก่อนอื่นเหลาเพื่อให้พอทราบเลาๆ โดยหลักการก่อนว่าสัญญาณสำหรับควบคุมเซอร์โวโดยทั่วไป จะใช้ Pules Width Modulation โดยมี period ที่ 20 mS แต่ละความกว้างของสัญญาณก็จะเป็นตัวบอกตำแหน่งของ servo นั่นเอง โดยทั่วไปจะมีค่าโดยประมาณ 1-2 mS โดยใช้ค่า 1.5mS หรือ 1500 uS เพื่อใช้เป็นค่าสำหรับกำหนดจุดกึ่งกลางเป็น 90 องศา ซึ่งเซอร์โวแต่ละยี่ห้อ อาจจะสามารถทำงานกับความกว้างของ pulse มากหรือน้อยกว่านี้ได้
อ่านเพิ่มเติมได้ที่นี่ http://en.wikipedia.org/wiki/Servomechanism#RC_servos

เรื่องตลก ที่เรามักบอกตัวเองว่าต้องใช้เซอร์โวที่เร็วๆ เนื่องจากส่วนใหญ่ servo มักจะบอก spec เป็นความเร็วที่การกวาดแขน ทำมุม 60 องศา ทำให้นึกถึงเวลาไปตลาดแล้วเจอป้ายประเภท (ครึ่ง) โลละ 20 บาท ดูแล้ว น่าสนใจดี ซึ่งผู้ผลิตก็ใช้องศานี้ไว้อ้างอิงกันเสมอ

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

ในการทดสอบ เราใช้ค่าของความกว้างของสัญญาณ ตั้งแต่ 0.7 mS (700 uS) จนถึง 2.3 mS (2300 uS) จะได้รู้แล้วรู้รอดันไปว่า เซอร์ของเราใช้งานได้ขนาดไหน

ผลการทดสอบสำหรับ Servo analog ทั่วไปนั้น ไม่่ว่าจะเป็น Hitech65, TowerPro, E-Sky ทำงานได้ดี และส่วนระยะการทำงาน Hitech ทำได้เกือบ 90 องศาจากจุดศูนย์กลาง

แต่กับ digital servo ผมใช้ 9257 ก็แปลกใจว่าทำไม ที่ขอบบนสุดกับขอบล่างสุด มันไม่ทำงานเลย แต่จะทำงานที่ 1 mS จนถึง 2mS เท่านั้น ฮ่วย !!!

วันพฤหัสบดีที่ 5 กุมภาพันธ์ พ.ศ. 2552

เรื่องของเซอร์โวหาง

เมื่อก่อนใช้เรามักนิยมใช้ gyro 401 กันหางเป็นส่วนใหญ่ แต่หลังจากที่มี Gyro รุ่นใหม่อย่าง Gy611 ก็เริ่มเปลี่ยนไปใช้กัน เนื่องจากความเร็วและประสิทธิภาพของมัน ตัวเซอร์โว 401 จึงมักถูกเลือกไปใช้ใน ฮ.ไฟฟ้าแทน ซึ่ง Futaba ก็ผลิต 9257 ออกมาเพื่อการนี้เสียด้วยสิ 9254 ที่ติดมากับ gyro401 เลยว่าง ไม่มีงานทำ ผมก็เลยย้ายให้ไปทำหน้าที่ร่วมกับ governer ซะเลย ทำหน้าที่ควบคุมคันเร่งได้รวดเร็ว ทำให้รอบใบพัดที่ได้ ค่อนข้างเสถียรเพิ่มขึ้นด้วย

มีหลายครั้งผมได้รับโทรศัพท์ เกียวกับเรื่องเซอร์โว ซึ่งมีปัญหาเรื่องการหลับนอน ฮ่วย...แบบว่า หลับจนตายเลยซะงั้น ปัญหาค่อนข้างจะหลากหลาย ผมเลยขอสรุปเลยว่าสาเหตุของปัญหาส่วนใหญ่มีแค่ 3 กรณีแก่นั้นเอง
  1. หมดอายุขัย ตามปกติ ก็มีอายุหลายร้อยเที่ยวบิน ขึ้นอยู่กับรูปแบบการบินด้วย บินหนักก็อายุสั้น บินเบาๆ ก็อายุยืน ทั้งนี้ เนื่องจากตัว แปลงถ่านมอเตอร์ที่ใช้ในเซอร์โว มันหมดน่ะ ทำให้เซอร์ทำงานไม่ได้ วงจรการควบคุมยังทำงานได้ 100%
  2. การติดขัดของกลไก ซึ่งจะส่งผลให้อายุการใช้งานสั้นลงเนื่องจากเซอร์โวต้องทำงานหนักเพิ่มขึ้นโดยไม่จำเป็น นี่เป็นสาเหตุส่วนใหญ่ของความเสียหาย โดยเจ้าของเองก็มักไม่ค่อยรู้ตัว รู้อีกที ก็คือ มันหยุดทำงานแล้ว ซึ่ง หางหมุนๆ เป็นอันว่า ร่ำลากันได้เลย ตรวจสอบดูกันนะครับ ว่าเวลาโยกรัดเดอร์ซ้าย/ขวาสุด แล้วเซอร์โวครวญครางไหม ถ้ามีก็แก้ไขที่ limit ของเซอร์โว ที่ตัว gyro หลังจากที่โยกแล้วปล่อยรัดเดอร์แล้ว มีเสียงเหมือนกันไหม แสดงว่ามีความฝืด ติดขัดอยู่บ้าง ทำความสะอาด tail server rod ซะ รวมทั้งตัวไกด์ของเค้าด้วย เท่านี้เอง เซอร์โวก็อายุยืนไปอีกร้อยปี
    หมายเหตุ
    ถ้าเกิดอาการนี้ขณะบินอยู่ให้เปิดโหมดการทำงาน Throttle hold และให้รีบนำเครื่องลง auto-rotation ลงมา
  3. เสียหาย จากการตก ไม่ว่าจะเป็นเฟืองแตก เฟลมระเบิด หรือสายขาดใน เกิดขึ้นได้ทั้งนั้น ซึ่งก็ต้องซ่อมแซมและตรวจสอบให้ดีก่อนนำมาใช้งานครับ

การดูแลรักษาและการปรับแต่งที่ดี จะช่วยให้ยืดอายุการทำงานของเซอร์โวหางให้ยาวขึ้นอีก

  1. No trim, No sub trim ในช่อง rudder ไม่จำเป็นเลย เพราะ Gyro ทำหน้าที่นี้อยู่แล้ว ไม่ต้องเป็นห่วง
  2. เลือกอาร์มเซอร์โว ให้เหมาะสม อาร์มสั้นช่วยให้เซอร์ทำงานเบาแรงขึ้น และทำงานได้ละเอียดมากขึ้น ซึ่ง limit ควรอยู่ที่ 100% หรือมากกว่านิดหน่อย ไม่ควรน้อยกว่า 100% เราจะเสียความละเอียดของการทำงานของเซอร์โวไป
  3. เซอร์โวหางที่ติดตั้งบน ฮ.ที่ใช้เครื่องยนต์ และตำแหน่งอยู่ที่หาง ควรจะใช้ท่อหดหุ้มสายเซอร์โว ไว้ โดยเน้นที่สายต่อเข้าตัวเซอร์โวให้ดี จะช่วยลดน้ำมันที่ซึมเข้าตัวเซอร์โวได้ดีขึ้น

เอาเท่านี้ก่อนละนะ บินให้สนุก และปลอดภัยครับ