Robofun 機器人論壇

標題: 請問如何用Arduino2560讀取伺服馬達的角度值呢? [打印本頁]

作者: 盧建邦    時間: 2012-4-19 05:56
標題: 請問如何用Arduino2560讀取伺服馬達的角度值呢?
請問如何用Arduino2560讀取伺服馬達的角度值呢?想請問一下程式部分要怎麼寫?先謝謝各位大大囉!
作者: pizg    時間: 2012-4-19 22:23
請問如何用Arduino2560讀取伺服馬達的角度值呢?想請問一下程式部分要怎麼寫?先謝謝各位大大囉!
盧建邦 發表於 2012-4-19 05:56


請問樓主,
SERVO的角度通常都是MCU給它的,
為何還要用MCU去讀SERVO的角度?
作者: lucrece_lu    時間: 2012-4-20 17:31
要確保你下的角度 馬達的確有轉動到你想要的位置,還是只走到一半就停住
作者: pizg    時間: 2012-4-20 19:14
要確保你下的角度 馬達的確有轉動到你想要的位置,還是只走到一半就停住
lucrece_lu 發表於 2012-4-20 17:31



    感謝你的答覆.

在servo上加上編碼齒輪和紅外線感測,
如此就知道角度多少了.
作者: 盧建邦    時間: 2012-4-20 22:44
因為有時候還是多少有點誤差,像我最近測的時候,從程式上面控制要SERVO轉到假設180的位置,但是從螢幕顯示出來的卻是178或是179,這個在細部微調的時候就很重要囉^^!這個討論串的問題我已經找到方法編寫囉!先謝謝樓上的大大回覆囉!不過要在SERVO加上編碼齒輪跟紅外線感測好像比較沒辦法讀取較精準的數字喔!畢竟一個是目測一個是電腦讀出的@@如有錯請指正唷~~~謝謝囉!
作者: pizg    時間: 2012-4-21 17:35
本帖最後由 pizg 於 2012-4-21 17:39 編輯
因為有時候還是多少有點誤差,像我最近測的時候,從程式上面控制要SERVO轉到假設180的位置,但是從螢幕顯示 ...
盧建邦 發表於 2012-4-20 22:44


請問你螢幕上的角度值是如何從SERVO回饋給電腦的?
你用的是有回授的SERVO嗎?
作者: 盧建邦    時間: 2012-4-21 20:27
只是把數值讀出來而已!SERVO只是用一般三條線的那種而已~~~沒有用有回授功能的XD!提供程式給您參考一下,有時候你會發現真的會差個1、2度^^"~~~
#include <Servo.h>
Servo myservo;  // create servo object to control a servo
void setup()
{
  Serial.begin( 19200 );
  myservo.attach(9);  //連接 Servo 信號到 Digital Pin 9
  myservo.write(130);//設定轉到130的位置
}
void loop()
{
  int readdata=0;
  readdata = myservo.read ();
  Serial.println ( readdata );
}
作者: pizg    時間: 2012-4-22 16:18
只是把數值讀出來而已!SERVO只是用一般三條線的那種而已~~~沒有用有回授功能的XD!提供程式給您參考一下,有 ...
盧建邦 發表於 2012-4-21 20:27



    這跟你SERVO的齒輪比有關係吧.
你可否把SERVO的規格貼上來瞧瞧.
作者: 盧建邦    時間: 2012-4-22 18:41
規格喔!有點難喔XD~~~因為是買了將近4、5年的SERVO,那間公司好像也不在了XD~~~大部分會有這個問題幾乎都是出在齒輪間隙,這個不管多好的SERVO都會有這個問題!我有試過就是單純讓他轉到某個角度比如說130好了,通常讀出來的數值都是130無誤,但是如果你寫一個,每一秒轉動10度,從0~180,轉完之後再轉回來,你會發現快到極限的時候,轉的角度值有時候不會到180,會在178、179左右飄XD~~~
作者: pizg    時間: 2012-4-22 21:39
規格喔!有點難喔XD~~~因為是買了將近4、5年的SERVO,那間公司好像也不在了XD~~~大部分會有這個問題幾乎都是 ...
盧建邦 發表於 2012-4-22 18:41


有些SERVO無法轉足180度,
像是輝盛9g那顆SERVO就不行.
你的SERVO會不會也是這種情況?
作者: 盧建邦    時間: 2012-4-23 21:45
應該是說馬達轉的角度會不到位,因為用久了,內部齒輪磨損會造成齒輪間隙變大精度不夠進而產生轉不到我們想要的位置的問題~~~




歡迎光臨 Robofun 機器人論壇 (https://robofun.net/forum/) Powered by Discuz! X3.2