淺談多通道舵機控制器設計
出處:show11ren 發(fā)布于:2011-08-25 15:16:08
在機器人、無人機等運動或執(zhí)行控制系統(tǒng)器的設計中,舵機控制效果是系統(tǒng)性能的重要影響因素。舵機控制器。它包括連接主控系統(tǒng)的舵機控制模塊,舵機控制模塊的信號輸入口連接接收機而信號輸出口連接舵機,舵機控制模塊由輸入隔離模塊、單片機、控制模塊切換單元和輸出隔離模塊構成;輸入和輸出隔離模塊均采用具有四路隔離單元的數字隔離器。本實用新型功耗低、高可靠性、高冗余、體積小,適用于超小型無人機飛控系統(tǒng)。
1 單路舵機輸出控制原理
1.1 舵機結構及工作原理
舵機主要是由外殼、電路板、無馬達、齒輪與位置檢測器所構成。其工作原理是由接收機發(fā)出訊號給舵機,經由電路板上的 IC判斷轉動方向,再驅動無馬達開始轉動,透過減速齒輪將動力傳至擺臂,同時由位置檢測器送回訊號,判斷是否已經到達定位。位置檢測器其實就是可變電阻,當舵機轉動時電阻值也會隨之改變,藉由檢測電阻值便可知轉動的角度。一般的伺服馬達是將細銅線纏繞在三極轉子上,當電流流經線圈時便會產生磁場,與轉子外圍的磁鐵產生排斥作用,進而產生轉動的作用力。依據物理學原理,物體的轉動慣量與質量成正比,因此要轉動質量愈大的物體,所需的作用力也愈大。舵機為求轉速快、耗電小,于是將細銅線纏繞成極薄的中空圓柱體,形成一個重量極輕的五極中空轉子,并將磁鐵置於圓柱體內,這就是無馬達。
為了適合不同的工作環(huán)境,有防水及防塵設計的舵機;并且因應不同的負載需求,舵機的齒輪有塑膠及金屬之區(qū)分,金屬齒輪的舵機一般皆為大扭力及高速型,具有齒輪不會因負載過大而崩牙的優(yōu)點。較的舵機會裝置滾珠軸承,使得轉動時能更輕快精準。滾珠軸承有一顆及二顆的區(qū)別,當然是二顆的比較好。目前新推出的 FET 舵機,主要是采用 FET(Field Effect Transistor)場效電晶體。FET 具有內阻低的優(yōu)點,因此電流損耗比一般電晶體少。
舵機是一個典型閉環(huán)反饋系統(tǒng)(如圖1所示),它的工作原理如下,控制電路板接受來自信號線的控制信號,控制電機轉動,電機帶動一系列齒輪組,減速后傳動至輸出舵盤。舵機的輸出軸和位置反饋電位計是相連的,舵盤轉動的同時,帶動位置反饋電位計,電位計將輸出一個電壓信號到控制電路板,進行反饋,然后控制電路板根據所在位置決定電機的轉動方向和速度。

1.2 單路舵機的控制信號原理
舵機的控制信號通常為PWM信號,即脈寬控制信號,如圖2所示。

其中脈沖寬度從O.6~2.4 ms,相對應舵盤的位置為-90°~+90°,呈線性變化,如圖3所示。也就是說,給它提供一定的脈寬,它的輸出軸就會保持在一個相對應的角度上,無論外界轉矩怎樣改變,直到給它提供一個另外寬度的脈沖信號,它才會改變輸出角度到新的對應的位置上。

舵機內部有一個基準電路,產生周期20 ms,寬度1.5 ms的基準信號,有一個比較器,將外加信號與基準信號相比較,判斷出方向和大小,從而產生電機的轉動信號。由此可見,舵機是一種位置伺服的驅動器,適用于那些需要角度不斷變化并可以保持的驅動當中。
2 用定時器實現多路舵機PWM控制信號輸出
對一個機器人關節(jié)的控制僅需要一個舵機就可以了,但在機器人、無人機等系統(tǒng)的控制過程中,需要同時實現對多個舵機的控制,也就是說,需要多路PWM信號來完成控制任務。如圖1所示,單路舵機信號在20 ms周期內,考慮保護時隙,t的取值為2.5 ms,則20 ms內多可以周期性地輸出8路控制信號(20/2.5=8)。
本文所設計的舵機控制器若以MSC-51單片機為,使用12 MHz的晶振,它的時間周期就是1/12μs,而它的一個機器周期則是12×(1/12)=1μs.如果舵機的有效行程為(°)/10μs,其控制的角度定時是可以達到1μs,約0.1°,因此,任意類型的單片機都能夠滿足舵機的控制要求。利用單片機的串行通信口可以實現與上位的PC機的通信,進而實現多路舵機的同步控制。以AT89C52為例說明該方法的實現過程,設單片機的P1.O~P1.7端口為控制輸出,8路舵機控制脈沖如圖4所示。

舵機控制器軟件控制分為兩個部分,即主程序和中斷服務程序。主程序完成定時器初始化、串口信令解析、舵機位置刷新的工作。設置各通道序號為i,當前定時器脈寬定時為Time,Tab[i]為各通道定時值。定時器初始化進行定時器工作模式及初值設置,各舵機位置初始化使所有舵機的位置定在0°的位置,使舵機處于等待指令的狀態(tài)。舵機位置刷新程序實時計算舵量并修改每個通道的定時值Tab[i],供定制中斷服務程序調用。中斷程序流程圖如圖5所示。
中斷復位程序依次修改各個通道對應I/0口的輸出電平,并依次加載下一通道的定時器計數值,通道號計數指針累加。當計數指針為8時表明各通道輸出結束,剩余時間I/O口全部置0,下一輪循環(huán)開始。
3 串行通信協議的設計
本文采用基于短幀的協議設計思想,每個舵機動作對應的控制信號是一幀一幀發(fā)送的,動作的分解和步長由功能強大的上位機完成,而下位機只負責完成對應的偏轉角度執(zhí)行。一個標準的串行通信短幀包含幀首、數據和幀尾幾部分,每個部分可以根據實際需要定義。
(1)幀首,表示本數據幀的開始,用于數據幀的同步和控制的類型屬于串口通信協議,并為下位機是否接收此數據幀的標志。一般可以設0xFE為單通道控制幀,0xFF為多通道控制幀。
?。?)數據,表示上位機通過串口要控制的舵機輸出通道號以及通道所對應的舵量偏轉值。
(3)幀尾,表示此幀信號的結束,一般可以用0xF0表示。
單通道控制信令較為簡單,如圖6所示,其幀首為0xFE,CHn表示該幀所控制的通道號,Dn則表示所控制的通道對應的舵量偏轉值,0xF0作為該幀結束的標志。例如,當幀數據為"FE 01 5A F0"時,表示CH1通道信號置于中位(90°=0x5A)。

多通道控制信令格式如圖7所示,幀首為0xFF,其控制命令的數據長度可以每個字節(jié)對應一個通道,±90°可以用數字0~180表示,對應二進制數為0x00~0XB4.例如,當幀數據為"FF 5A 5A 5A 5A 78 78 3C 3C FO"時,則表示CH1~CH4通道都居中,CH5,CH6為+30°;CH7,CH8為-30°。
4 結語
本文所提出的多路舵機控制器的設計方法是以微處理器為,利用定時器中斷實現了對多路舵機的控制信號輸出,并可以實現上位機與下位機的通信控制,可適用于機器人、無人機等需要控制多個舵機的場合,以及其他需要產生多路PWM系統(tǒng)。
版權與免責聲明
凡本網注明“出處:維庫電子市場網”的所有作品,版權均屬于維庫電子市場網,轉載請必須注明維庫電子市場網,http://www.hbjingang.com,違反者本網將追究相關法律責任。
本網轉載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網贊同其觀點或證實其內容的真實性,不承擔此類作品侵權行為的直接責任及連帶責任。其他媒體、網站或個人從本網轉載時,必須保留本網注明的作品出處,并自負版權等法律責任。
如涉及作品內容、版權等問題,請在作品發(fā)表之日起一周內與本網聯系,否則視為放棄相關權利。
- 數字電源控制與傳統(tǒng)模擬控制的深度對比2026/2/2 11:06:56
- 模擬信號調理電路技術設計與選型運維指南2025/12/30 10:08:16
- 運算放大器壓擺率的核心要點2025/9/5 16:27:55
- 深度剖析放大器穩(wěn)定系數 K 與 Mu 的差異2025/9/2 16:44:05
- 什么是運算放大器失調電流2025/9/1 17:01:22









