梁婷


摘 要: 本文闡述了STC15F系列單片機產生雙路可調占空比的PWM信號同時控制兩只舵機的設計原理,同時詳解了水平方位及垂直仰角方向舵機調節的程序設計,文中給出了PWM信號控制舵機角度精度的推算及編程實現,合理巧妙的利用單片機有限的資源,對于舵機角度控制的應用場景有較大的參考價值。
關鍵詞: 單片機;PWM信號控制舵機;偏轉角度設計
【中圖分類號】TM33 ? ? 【文獻標識碼】A ? ? 【DOI】10.12215/j.issn.1674-3733.2020.33.145
1 舵機PWM信號與控制精度制定
1.1 PWM 信號的定義
PWM 信號為脈寬調制信號,其特點在于他的上升沿與下降沿之間的時間寬度,具體的時間寬窄協議參考圖1,給出了舵機一種標準協議規定的PWM控制舵機的信號波形圖。
1.2 PWM信號控制舵機轉到指定角度
舵機的角度是由控制信號脈沖的持續時間決定的,這叫做脈沖編碼調制(PCM)。舵機的控制一般需要一個20ms左右的時基脈沖,該脈沖的高電平部分一般為0.5ms-2.5ms范圍,總間隔為2ms。脈沖的寬度將決定馬達轉動的距離。例如:1.5毫秒的脈沖,電機將轉向90度的位置(通常稱為中立位置,對于180°舵機來說,就是90°位置)。如果脈沖寬度小于1.5毫秒,那么電機軸向朝向0度方向。如果脈沖寬度大于1.5毫秒,軸向就朝向180度方向。以180度舵機為例,對應的控制關系是這樣的:0.5ms對應0度、1.0ms對應45度、1.5ms對應90度、2.0ms對應135度、2.5ms對應180度;
1.3 PWM信號控制精度制定
假設用12MHZ的晶體振蕩器作為時鐘,單片機定時計時器的最小時間單元為 1uS。那么 0.5mS-2.5ms的寬度為 2mS = 2000uS。舵機可以轉動 180 度,那么理論控制精度為180度÷2000=0.09 度。
8位單片機其數據分辨率為256,那么經過舵機極限參數實驗,得到應該將其劃分為 250 份。……