Robofun 機器人論壇
標題:
[失敗作品] 8 port 的 Servo 控制器 (PWM)
[打印本頁]
作者:
jason0821
時間:
2007-10-3 16:32
標題:
[失敗作品] 8 port 的 Servo 控制器 (PWM)
我用 8051 做了一個 8 Port 的 Servo 控制
8051 / OSC 24MHz / P0 當 PWM 輸出
規格:
1. 週期時間 20ms , 可調整 從 5ms ~ 20ms
2. 可以調整 從 0.1ms ~ 19.5ms, 解析度 0.05ms
3. 從 RS232 Terminal 輸入
S --> PWM 輸出開始
T --> PWM (直接)輸出停止, P0 high/low 可以預設
R --> PWM 調為預設值,預設值須先定義
0xxx,0x0D,0x0A --> 改變 PWM0 high 的時間
1xxx,0x0D,0x0A --> 改變 PWM1 high 的時間
....
7xxx,0x0D,0x0A --> 改變 PWM7 high 的時間
用示波器可以看到 8 channel PWM 工作沒問題
不知道這樣的規格可以用來當 機器人控制嗎?
如果夠用的話, 那我可以接著實作 16 port 的控制器
[
本帖最後由 jason0821 於 2007-10-5 13:13 編輯
]
作者:
irobot
時間:
2007-10-4 00:27
pwm 輸出 0.5ms 至 2.5ms 一般對應伺服機從0度轉至180度。
若解析度是 0.05ms ,則可以控制步數為 (2.5ms - 0.5ms) / 0.05 ms = 40 步。
則可以控制的最少轉動角為 (180度)/40 = 4.5 度。
如果要控制一個 2足步行機械人可能有點難度了。
作者:
jason0821
時間:
2007-10-4 09:48
意思是那最小轉動角是要 1度 嗎?
也就是能分 180 步嗎?
另外軟體控制部份 需要照 SSC 規範嗎?
SSC 中那個 255, Ch, Position
Position 代表的是 PWM High 的時間嗎?
Servo 控制信號關閉時 是要拉 HIGH還是 LOW?
[
本帖最後由 jason0821 於 2007-10-4 10:10 編輯
]
作者:
irobot
時間:
2007-10-4 16:25
最小轉動角要多少沒有一定標準,但機械人愈大則這角度要愈細。一般來說我想最少也要達到2度吧,當然1度或更小會更好。
如果控制的是 SSC 控制版的伺服機當然便要用它的規範。但你的 伺服機控制程式是自己寫的,便沒有必要跟這個規範了。
不過話說回來,就算是自己定的規範最終其實也差不了多小。
Position 代表的應該是 類似步數的數字,介乎0至254吧。
Servo 控制信號關閉時 是要拉 HIGH還是 LOW,這個我也不知道。
但作用中的伺服機是每秒要重複訊號50次的,不明白何為關閉Servo 控制信號。
歡迎光臨 Robofun 機器人論壇 (https://robofun.net/forum/)
Powered by Discuz! X3.2