基于AT89S52單片機的舵機控制系統(tǒng)設(shè)計
2 舵機控制系統(tǒng)設(shè)計
要想實現(xiàn)對舵機的控制,由舵機的工作原理可知,只需生成與所需位置角度相對應(yīng)的脈沖信號,即脈寬與位置角度相對應(yīng)的周期為20ms的脈沖信號。這種信號很容易由單片機生成,而且脈寬精度可以達到1μs,則舵機轉(zhuǎn)動角度精度可達1μs×1 80°/2ms=0.09°。
舵機控制系統(tǒng)的proteus仿真原理圖如圖4所示,其中舵機的連接與圖2所示接法不一致,這是由于proteus軟件對舵機各引線的定義與Futaba-S3003不一致,實際電路的連接應(yīng)該以圖2為準。本文引用地址:http://www.ex-cimer.com/article/170959.htm
與單片機的P1.0腳相連的按鈕控制舵機角度增加,與P1.1腳相連的按鈕控制舵機角度減小,與P1.2腳相連的按鈕控制舵機角度回到初始位置,在本設(shè)計中使舵機回到90°的位置。單片機的P3.7腳產(chǎn)生PWM信號以控制舵機,在該點連接示波器,仿真的時候可以看到PWM信號隨著按鈕的控制,脈寬增大或者減小或者恢復(fù)到1.5ms脈寬。
3 軟件設(shè)計
舵機控制程序用定時中斷產(chǎn)生PWM信號,用查詢方式對三個按鍵做出反應(yīng)。程序流程圖如圖5所示。單片機的P1.0腳連接的按鈕控制舵機角度增加,按鈕按下時,先判斷是否達到了最大角度180°,如果達到了180°則重新查詢各個按鈕,否則舵機角度按照程序設(shè)定的幅度增加;單片機的P1.1腳連接的按鈕控制舵機角度減小,按鈕按下時,先判斷是否達到了最小角度0°,如果達到了0°則重新查詢各個按鈕,否則舵機角度按照程序設(shè)定的幅度減??;單片機的P1.2腳連接的按鈕控制舵機角度回到初始位置,即90°位置。
評論