Robofun 機器人論壇

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

[失敗作品] 8 port 的 Servo 控制器 (PWM)

[複製鏈接]
跳轉到指定樓層
1#
發表於 2007-10-3 16:32:25 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
我用 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 編輯 ]
2#
發表於 2007-10-4 00:27:19 | 只看該作者
pwm 輸出 0.5ms 至 2.5ms 一般對應伺服機從0度轉至180度。
若解析度是 0.05ms ,則可以控制步數為 (2.5ms - 0.5ms) / 0.05 ms = 40 步。
則可以控制的最少轉動角為 (180度)/40 = 4.5 度。
如果要控制一個 2足步行機械人可能有點難度了。
3#
 樓主| 發表於 2007-10-4 09:48:03 | 只看該作者
意思是那最小轉動角是要 1度 嗎?
也就是能分 180 步嗎?

另外軟體控制部份 需要照 SSC 規範嗎?
SSC 中那個 255, Ch, Position
Position 代表的是 PWM High 的時間嗎?

Servo 控制信號關閉時 是要拉 HIGH還是 LOW?

[ 本帖最後由 jason0821 於 2007-10-4 10:10 編輯 ]
4#
發表於 2007-10-4 16:25:26 | 只看該作者
最小轉動角要多少沒有一定標準,但機械人愈大則這角度要愈細。一般來說我想最少也要達到2度吧,當然1度或更小會更好。
如果控制的是 SSC 控制版的伺服機當然便要用它的規範。但你的 伺服機控制程式是自己寫的,便沒有必要跟這個規範了。
不過話說回來,就算是自己定的規範最終其實也差不了多小。
Position 代表的應該是 類似步數的數字,介乎0至254吧。
Servo 控制信號關閉時 是要拉 HIGH還是 LOW,這個我也不知道。
但作用中的伺服機是每秒要重複訊號50次的,不明白何為關閉Servo 控制信號。
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-11-24 02:56 , Processed in 0.133076 second(s), 7 queries , Apc On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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