簡易舵機控制電路實驗
發布時間:2013/11/29 19:51:36 訪問次數:2227
下面,我們用STC89C51(也可以使用其他型號的51芯片)制作一個簡單
的控制舵機的小實驗。使用12MHz晶體振蕩器,IDT7200使用12T的模式,每時鐘周期為1 2個晶振周期,也就是說每個時鐘周期為0.O01ms。使用芯片內的定時器最小可以生成O.O01 ms脈寬。對比上面的數據,我們可以得知,這個數值并不足以精確輸出每個角度的脈寬值,不過我們主要是實驗舵機的控制方法,若需要更高精度,可以換威更高頻率的芯片或用STC89C51的6T模式去實現。單片機程序中定時器O先對高電平計時,到達后再計時生成20ms減去高電平時間的低電平脈寬,主程序不斷使舵機變換5個角度。電路只使用最小系統。具體的實驗電路如圖1 1所示。C4是電解電容,容量在470“F或以上,因為某些舵機工作時電流會比較大,這個電容可以使電源電壓在舵機工作時不會被拉低,
筆者用這個程序驅動TowerProMG995舵機,用標準1—2ms信號可以讓其正常工作,但這個舵機動作轉角范匿只有909,要想讓它工作在O~180',脈寬耍在0.5~2.5ms.因此筆者在與本文相關的壓縮包里提供了兩份代碼,供大家參考,讀者也可以到以下網址參看用兩份程序驅動MG995舵機時的不同結果的視頻http://www.cdle.net/thread-48314-1_1.html。圖12是本實驗的實物電路。
下面,我們用STC89C51(也可以使用其他型號的51芯片)制作一個簡單
的控制舵機的小實驗。使用12MHz晶體振蕩器,IDT7200使用12T的模式,每時鐘周期為1 2個晶振周期,也就是說每個時鐘周期為0.O01ms。使用芯片內的定時器最小可以生成O.O01 ms脈寬。對比上面的數據,我們可以得知,這個數值并不足以精確輸出每個角度的脈寬值,不過我們主要是實驗舵機的控制方法,若需要更高精度,可以換威更高頻率的芯片或用STC89C51的6T模式去實現。單片機程序中定時器O先對高電平計時,到達后再計時生成20ms減去高電平時間的低電平脈寬,主程序不斷使舵機變換5個角度。電路只使用最小系統。具體的實驗電路如圖1 1所示。C4是電解電容,容量在470“F或以上,因為某些舵機工作時電流會比較大,這個電容可以使電源電壓在舵機工作時不會被拉低,
筆者用這個程序驅動TowerProMG995舵機,用標準1—2ms信號可以讓其正常工作,但這個舵機動作轉角范匿只有909,要想讓它工作在O~180',脈寬耍在0.5~2.5ms.因此筆者在與本文相關的壓縮包里提供了兩份代碼,供大家參考,讀者也可以到以下網址參看用兩份程序驅動MG995舵機時的不同結果的視頻http://www.cdle.net/thread-48314-1_1.html。圖12是本實驗的實物電路。
熱門點擊