Robofun 機器人論壇

 找回密碼
 申請會員
搜索
熱搜: 活動 交友 discuz
查看: 9370|回復: 15
打印 上一主題 下一主題

SERVO(伺服馬達) & C語法問題

[複製鏈接]
nichal 該用戶已被刪除
1#
發表於 2012-7-25 17:15:37 | 顯示全部樓層
servo一定要給重覆波形
除非是記憶型的servo
一般來說都要每20mS內至少重覆給一次
不然會放棄鎖角度
而送了定位的對應脈波長度
也不代表當下就是停在那個角度
也是需要反應時間
但如果反應時間小於20mS的間隔
動作就會變得比較卡卡的

因此
如果需要控制的servo數量不是很多的話
可以縮短重覆波形的時間間隔
以一個servo有效的最大角度來說
假設是2.5mS
而同時需控制4個servo的話
那只要大於2.5*4=10mS的時間間隔就夠用了
因此您可以將時間縮短到12mS就重覆送一次波形
如此一來您的動作就會變得比較流暢些 (每12mS就可以更新角度一次)

但這並不是要您在20mS對一個servo重覆兩次以上的相同波形
那是沒有意義的
因為20mS以內只要發生過一次角度設定就可以了
nichal 該用戶已被刪除
2#
發表於 2012-7-27 10:48:31 | 顯示全部樓層
本帖最後由 nichal 於 2012-7-27 10:55 編輯

把200改成120
就差不多是我說的方式了

http://www.wretch.cc/blog/chipware/17881146
很久以前寫的
可以參考看看

我的寫法是用Timer0去調整20mS的間隔
所以只要修正SAMPLE_RATE參數
就可以加快系統的反應時間
nichal 該用戶已被刪除
3#
發表於 2012-8-2 08:35:08 | 顯示全部樓層
回復 8# marbol

marbol大~~

剛開始我也跟你的想法一樣
不過後來想想
我覺得應該servo是一樣的
只是控制法則存在很大的問題
教授想做的跟實際servo所能呈現的
效果其實沒辦法很吻合
但如果單純只是訓練"概念"的話
其實還是有解的

讓你猜猜我是怎麼想的?


提示一下:
轉速控制需要"角度參數"與"時間參數"兩者同時存在才能達成
nichal 該用戶已被刪除
4#
發表於 2012-8-2 16:36:47 | 顯示全部樓層
本帖最後由 nichal 於 2012-8-2 21:26 編輯

回復 10# mzw2008


第一次看我也覺得搞不好是在做servo裡面那塊板子
不過既然教授已經看過程式也跟同學討論過了

應該不會繼續把RC servo認定為DC馬達的伺服控制吧?
反正就是有"雞同鴨講"的感覺
只是不曉得到底是哪一邊搞錯了.....
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

小黑屋|手機版|Archiver|機器人論壇 from 2005.07

GMT+8, 2024-5-4 04:20 , Processed in 0.140169 second(s), 8 queries , Apc On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表