|
本帖最後由 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的值就可以了 |
|