นวัตกรรม สิ่งประดิษฐ์และเทคโนโลยี
กันยายน 02, 2014, 08:57:26 PM *
ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น
 
   หน้าแรก   ช่วยเหลือ ค้นหา เข้าสู่ระบบ สมัครสมาชิก  
หน้า: [1]
  พิมพ์  
ผู้เขียน หัวข้อ: Servo Motor  (อ่าน 5139 ครั้ง)
นวัตกรรม
Administrator
Hero Member
*****
กระทู้: 1565



« เมื่อ: มกราคม 07, 2011, 04:19:52 PM »

 Servo Motor คือ มอเตอร์ ไฟฟ้ากระแสตรง DC MOTOR ภายใน Servo motor ก็จะมีส่วนของ เฟืองเกียร์และบอร์ดควบคุม มีสายสัญญาณในการควบคุมการหมุน ของ Servo motor 1 เส้น และอีก 2 เส้นเป็น VCC กับ Ground โดยตัวของ Servo motor จะสามารถหมุนได้ 180 องศา แต่จะมีบางรุ่นที่สามารถหมุนได้ถึง 210 องศา โดยสามารถที่จะหมุนไปทางซ้าย 90 องศา ทางขวาอีก 90 องศา


รูปของ Servo motor ยี่ห้อ hitec รุ่นต่าง ๆ


ชุดเฟืองเกียร์ ส่วนประกอบหลักของ Servo motor มีน้ำหนักเบา และส่งแรงบิตสูง


บอร์ดควบคุม ทำหน้าที่คำนวณตำแหน่งการหมุนของ Servo motor ตามสัญญาณ pulse ที่เข้ามา โดยใน บอร์ดก็จะมี ตัวต้านทานที่ปรับค่าได้อยู่ด้วย


ส่วนประกอบของ Servo motor

ตามท้องตลาดทั่ว ไปก็จะมี Servo motor อยู่หลายยี่ห้อและราคาก็แตกต่างกันออก อย่างไรก็ตาม Servo motor ก็จะมีคุณสมบัติคล้าย ๆ กันดังนี้
1. Servo motor จะหมุนเมื่อมีสัญญาณ pulse เข้าไป โดยสัญญาณ ความกว้าง pulse นี้จะทำหน้าที่ควบคุมการหมุนและทิศ
    ทางของ Servo motor
2. กินไฟประมาณ 4-6 volt กินกระแส 9.7 mA (Idle) และ 130 mA (Moving)
3. สามารถหมุนได้ 180 องศา (บางรุ่นหมุนได้ 210 องศา) ที่เป็นเช่นนี้ก็เพราะป้องกันความเสียหายที่อาจเกิดขึ้นกับวงจร     ภายใน ดังจะได้ศึกษาต่อไปในหลักการทำงาน
4. ขนาดเล็ก น้ำหนักเบา

หลักการทำงานของ Servo Motor
เราสามารถควบคุมการทำงานของ Servo motor ได้โดยป้อนสัญญาณความกว้าง pulse ให้กับ Servo motor ซึ่งความกว้างของ สัญญาณ pulse นี้จะไปกำหนดตำแหน่งของ Servo motor ว่าจะหมุนไปอยู่ตำแหน่งใด ซึ่งเราสามารถป้อนความกว้าง pulse ได้ตั้งแต่ 1.0 ms -2.0 ms โดยที่คาบเวลา (Period) ในการส่งสัญญาณความกว้าง pulse เท่ากับ 20 ms ดังรูป

สัญญาณที่ส่งให้ Servo motor  โดยค่า w นั้นหมายถึงช่วงความกว้าง pulse ที่เราสามารถป้อนให้กับ Servo motor มีค่าตั้งแต่ 0.5 ms-2.5 ms 


รูปของ สัญญาณที่สามารถป้อนให้กับ Servo motor

โดยจะมีจุดที่อ้างอิง 3 จุดด้วยกันคือ
1. ตำแหน่งซ้ายสุด   เราสามารถกำหนดให้ Servo motor เคลื่อนที่ไปยังตำแหน่งซ้ายสุด(-90 องศา)ได้ โดยการป้อน
      ความกว้าง pulse เท่ากับ 0.5 ms
2. ตำแหน่งตรงกลาง   เราสามารถกำหนดให้ Servo motor เคลื่อนที่ไปยังตำแหน่งตรงกลาง(0 องศา)ได้ โดยการป้อน
      ความกว้าง pulse เท่ากับ 1.5 ms
3. ตำแหน่งขวาสุด   เราสามารถกำหนดให้ Servo motor เคลื่อนที่ไปยังตำแหน่งขวาสุด( 90 องศา)ได้ โดยการป้อน
      ความกว้าง pulse เท่ากับ 2.5 ms

Max-Min pulse ความกว้าง pulse ที่สามารถป้อนให้กับ Servo motor ได้
1. ป้อน 0.5 ms Servo จะหมุนไปตำแหน่ง ซ้ายสุด
2. ป้อน 1.5 ms Servo จะหมุนไปตำแหน่งตรงกลาง
3. ป้อน 2.5 ms Servo จะหมุนไปยังตำแหน่ง ขวาสุด



สัญญาณ pulse ที่สามารถป้อนได้   เราสามารถป้อนสัญญาณความกว้าง pulse ให้กับ Servo motor ได้ จากรูป
1. ป้อน 1.0 ms Servo หมุนไปยังตำแหน่ง -45 องศา
2. ป้อน 2.0 ms Servo หมุนไปยังตำแหน่ง +45 องศา


ข้อควรระวัง
ความกว้างของสัญญาณ pulse ที่กล่าวไว้นั้นเป็ยเพียงค่าประมาณเท่านั้น ซึ่ง Servo motor ที่มีอยู่ตามท้อง
 ตลาดอาจจะใช้ สัญญาณ pulse ที่แตกต่างจากนี้ก็ได้ และแต่ละยี่ห้ออาจจะใช้ความกว้างของสัญญาณแตกต่างกันก็ได้ ดังนั้น
 เพื่อให้แน่ใจควรศึกษาคู่มือ ของ Servo นั้น ๆ ให้เข้าใจก่อน

อีกประเด็นหนึ่งที่ต้องกล่าวถึงก็คือ ทิศทางการหมุนของ Servo motor กล่าวคือ Servo motor แต่ละยี่ห้ออาจจะไม่หมุนไป
 ในทิศทางเดียวกันถ้าหากเราป้อนสัญญาณ pulse ให้ Servo motor ขนาดเท่ากัน เช่นสมมุติว่าถ้าเราป้อน สัญญาณ
 pulse 2.0 ms บางยี่ห้ออาจจะหมุนไปตามเข็มนาฟิกาไปที่ +45 องศา เช่นยี่ห้อ Hitec และมีบางยี่ห้ออาจจะหมุนทวน
 เข็มนาฟิกาไปที่ -45 องศา เช่น ยี่ห้อ GWS เป็นต้น
   
 ส่วนการกำหนดความเร็วของ Servo motor เราก็สามารถทำได้โดย การป้อนค่าความกว้างของสัญญาณ pulse ไปเป็น step ทุก 20 ms กล่าวคือ ถ้าเราอยากจะให้ Servo เคลื่อนอย่างรวดเร็วก็สามารถทำได้โดย ป้อน สัญญาณ pulse โดยใช้ Step น้อย ๆ ยกตัวอย่างเช่น ต้องการให้ Servo motor เคลื่อนที่ จากตำแหน่งตรงกลางไปซ้ายสุดอย่างรวดเร็ว


http://campus.en.kku.ac.th/project/2003/COE2003-15/data.html

ป้อน 1.5 ------> 0.5 ms
ถ้าต้องการให้ช้าลง ก็สามารถทำได้ 1.5 ms-------->1.0 ms ----------->0.5 ms

     อีกนัยหนึ่งคือ ถ้าต้องการให้ช้ามากเท่าใดก็ต้องเพิ่ม Step ให้มากขึ้นตามไปด้วย โดยเราต้อง ป้อนให้กับ Servo ทุก ๆ
20 ms นั้นเอง



จากจุดอ้างอิงทั้ง 3 เราสามารถที่จะคำนวณตำแหน่งที่ต้องการให้ Servo motor หมุนไปได้ เช่นถ้าเราต้องการให้ Servo motor หมุนไปยังตำแหน่ง -45 องศา เราก็ทำการป้อน (0.5+1.5)/2=1.0 ms ให้กับ Servo motor ดังรูป
บันทึกการเข้า
หน้า: [1]
  พิมพ์  
 
กระโดดไป:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines
SMFAds for Free Forums
Valid XHTML 1.0! Valid CSS!