Robofun 機器人論壇

 找回密碼
 申請會員
搜索
熱搜: 活動 交友 discuz
樓主: tommylin
打印 上一主題 下一主題

[求救]電流超過 10A ?(確定是電壓太低發生OS不穩,已經解決~)

[複製鏈接]
1#
發表於 2010-6-28 19:13:46 | 顯示全部樓層
本帖最後由 acen2008 於 2010-6-28 19:23 編輯

HI~各位大大安
  rcservo_SendPWMPulses函數的count是指傳送的PWM個數, 假設PWM_period(週期)
  設定為10000L(週期決定於馬達, 我記得kondo的是8ms ~ 20ms), PWM_duty為1500L
  (以上單位都是1 us), 而count 的數值為10L,  用示波器看到的就是完整的10個PWM波型
  (總時間為10ms*10個 = 100ms), 如果count只給1L, 代表只送1個PWM波型, 雖然馬達
  可以接收但是才過10msPWM訊號就沒了, 角度  當然就只有轉一點點囉(轉的角度與馬達的
  operating speed有關), 給的數值越大, 代表送給servo的PWM個數越多, 送500L的話,
  可以發現馬達轉到所要的角度之後還會ㄍㄧㄥ著, 過一段時間才會軟掉, 至於送的值確切要
  多少, 沒有硬性規定, 因為在送出PWM的過程中, count值會一直減1直到0才停止, 也就是
  說, 在送PWM訊號途中隨時都可以去修改它, 我通常是固定給一個比較大的count值
  (例如: 100L), 然後只要在一個for loop 中去修改duty的值就可以了
2#
發表於 2010-6-28 20:57:15 | 顯示全部樓層
本帖最後由 acen2008 於 2010-6-28 21:05 編輯

HI

要輸出多channel的PWM訊號不外乎幾項(以下是有按照先後順序的喔)

1.roboio_SetRBVer(RB_100)    // 如果你用的是RB-110, 那就填入RB_110
                                             // , 順便一提RB-100 PWM channel為24組
                                             // , RB-110 為 16組

2.rcservo_SetServo(i, type)  // i為channel編號, 從0 ~ 23, type為馬達型態
                                         // (就是上面鯨大所列的), 這是單channel函數
                                         // 若要設定多channel, 請用for...

3.rcsevo_Initialize(chs)         // chs是複數channel的編號, 可用rcservo已定義的
                 // 常數RCSERVO_USECHANNEL0 ~RCSERVO_USECHANNEL23
                                         // 去做累加動作, 把指定的channel轉成PWM
                 // 例如 : RCSERVO_USECHANNEL0+RCSERVO_USECHANNEL2
                                         //所用的就是channel0和channel2, 其他是GPIO

4.rcservo_EnterPWMMMode()    // 進入PWM 模式

好了, 可以開始使用rcservo_SendPWMPulses()了, 這也是單channel函數, 要輸出多
channel PWM, 請用for...


再試試看吧
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-5-21 05:11 , Processed in 0.148543 second(s), 8 queries , Apc On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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