DS3109 MG 360 degree digital servo motor review

DS3109MG-360-1

หลักการทำงาานของเซอร์โวมอเตอร์แบบมาตรฐาน

 

image_thumb[14]

เซอร์โวมอเตอร์มีสัญญาณควบคุมที่เป็นพัลส์ส่งมาจากภายนอก  จะถูกส่งเข้าไปยังวงจรเปรียบเทียบ เพื่อเปรียบเทียบค่าความต่างกับค่าปัจจุบันของตำแหน่งมอเตอร์   ถ้าเกิดค่าความต่าง ในช่วงบวก (+error) จะสั่งขับมอเตอร์ให้หมุนไปในทิศทางตามเข็มนาฬิกา มอเตอร์จะหมุนเฟืองทด ไปจนถึงเฟืองทดตัวสุดท้ายจะมีส่วนกลไกที่เชื่อมต่อกับตัวต้านทานปรับค่าได้  ค่าจากตัวต้านทานนี้จะถูกส่งเป็นค่าตำแหน่งของเซอร์โวมอเตอร์  เพื่อเปรียบเทียบ จนค่าของมอเตอร์กับค่าสัญญาณควบคุมมีค่าตรงกัน ไม่เกิด error มอเตอร์ก็จะหยุดหมุน

Servo-Signal

จากรูปจะเห็นถึงรูปแบบสัญญาณเพื่อใช้ควบคุมตำแหน่งของเซอร์โวมอเตอร์ ถ้าเป็นบอร์ดควบคุมของ inex

(POP-XT,POP-X2,IPST-SE,ATX2) จะมีคำสั่งควบคุมด้วยคำสั่ง servo ให้ผลตำแหน่งองศาตามรูป

servo(CH,POS);

CH  คือ ช่องเซอร์โวมอเตอร์ 

POS คือ ตำแหน่งที่ต้องการให้เซอร์โวมอเตอร์เคลื่อนที่ไป 0-180 ค่า -1 แทนการหยุดส่งค่าให้เซอร์โวมอเตอร์

 เซอร์โวมอเตอร์แบบหมุนได้รอบตัว

เซอร์โวมอเตอร์แบบหมุนได้รอบตัว 360 องศา เป็นการดัดแปลงเซอร์โวมอเตอร์มาตรฐานเดิมให้หมุนได้รอบตัว โดยตัดตัวต้านทานปรับค่าได้เดิมออก ให้กลายเป็นตัวต้านทานปรับค่าได้ภายนอก เพื่อปรับตำแหน่งหยุดหมุนของมอเตอร์ ข้อดีของการใช้มอเตอร์ 360 องศาคือ

  • ชุดเซอร์โวมอเตอร์มีวงจรขับมอเตอร์ในตัว ไม่ต้องพึ่งพาวงจรขับมอเตอร์ภายนอก
  • การควบคุมการทำงานของมอเตอร์ใช้สายสัญญาณจากไมโครคอนโทรลเลอร์เพียงเส้นเดียว
  • สามารถส่งคำสั่งเพื่อให้มอเตอร์หยุดหรือกลับทิศทางการหมุนได้ง่าย
  • ไม่สามารถควบคุมตำแหน่งได้ ควบคุมได้เฉพาะทิศทางและความเร็วเท่านั้น

 

 

คุณสมบัติของเซอร์โวมอเตอร์ DS3109 mg รุ่น 360 องศา

 

Servo-Motor-DS3109-mg-360

 

  • มีช่องสำหรับปรับค่าตัวต้านทานปรับค่าได้เพื่อหาจุดหยุดหมุนของมอเตอร์
  • ความเร็ว 0.14 วินาที/60 องศา ที่แรงดัน 4.8V
  • ความเร็ว 0.12 วินาที/60 องศา ที่แรงดัน 6V
  • แรงบิด 9 กิโลกรัม.เซนติเมตร ที่แรงดัน 4.8V
  • แรงบิด 10 กิโลกรัม.เซนติเมตร ที่แรงดัน 6V
  • ทำงานที่แรงดัน 4.8V-8.4V
  • ใช้ชุดเฟืองเป็นเฟืองโลหะ แข็งแรงทนทาน 
  • มีชุดลูกปืน 2 ชุดที่เฟืองตัวสุดท้าย
  • มีวงจรควบคุมและวงจรขับด้วย MOSFET
  • เสียงขณะทำงานมีน้อยมาก
  • ขนาด  40x20x40.5 มิลลิเมตร
  • น้ำหนัก 60 กรัม
  • ความยาวสาย 320 มม.

 

การควบคุมเซอร์โวมอเตอร์แบบหมุนได้รอบตัว

Servo-Signal-360-

 

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

ตัวอย่างโปรแกรมทดสอบการหมุนของเซอร์โวมอเตอร์

#include <ipst.h>	// IPST-SE Board
int x;
void setup() {
  setTextSize(2);
  glcdMode(1);
}

void loop() {
  x=knob(180);                  //  อ่านค่าจากตัวต้านทานปรับค่าได้
  glcd(0,0,"POS=%d ",x);        //  แสดงค่าออกจอภาพ
  servo(1,x);                   //  ส่งค่าออกเซอร์โวมอเตอร์
}
Servo-Motor-DS3109-mg-360-2

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

สรุป 

ค่า 180 เพื่อให้เซอร์โวมอเตอร์หมุนทวนเข็มนาฬิกาเร็วที่สุด

ค่า 90 เพื่อให้เซอร์โวมอเตอร์หยุดนิ่ง

ค่า 0 เพื่อให้เซอร์โวมอเตอร์หมุนตามเข็มนาฬิกาเร็วที่สุด

การปรับความเร็วของเซอร์โวมอเตอร์ 360 องศา

 

จากการทดลองในตัวอย่างก่อนหน้านี้จะเห็นว่าเมื่อปรับค่าเซอร์โวมอเตอร์ เข้าใกล้ค่า 90 ความเร็วของเซอร์โวมอเตอร์จะลดลง ดังนั้น

ค่าระหว่าง 90-0 เป็นการปรับค่ามอเตอร์ค่อย ๆ เร็วขึ้นทิศทางตามเข็มนาฬิกา

ค่าระหว่าง 90-180 เป็นการปรับค่ามอเตอร์ค่อย ๆ เร็วขึ้นทิศทางทวนเข็มนาฬิกา

Facebook Comments Box