隋美麗,夏征,付貽偉,王楠
(1.北京電子科技職業學院 汽車工程學院,北京 100176;2.中油管道檢測技術有限責任公司,河北 廊坊 065000)
自動控制小車轉向機構控制技術研究與實現
隋美麗1,夏征2,付貽偉1,王楠1
(1.北京電子科技職業學院 汽車工程學院,北京 100176;2.中油管道檢測技術有限責任公司,河北 廊坊 065000)
文章采用STC12C5202AD單片機來實現PWM輸出控制,控制舵機的轉動,從而實現線控小車的轉向控制。結果表明舵機的轉角范圍達到-90°到90°,且線性度較好,小車轉向穩定,控制精度較高,達到控制目的。
轉向機構;舵機;自動控制
10.16638/j.cnki.1671-7988.2017.08.016
CLC NO.:U463 Document Code: A Article ID: 1671-7988 (2017)08-49-02
舵機英文名稱為Servo,也稱伺服機,是一種位置伺服驅動器,適用于角度不斷變化并可以保持控制系統。其特點是結鉤緊湊、易于安裝調試、控制簡單、扭力大、成本低。舵機的主要性能取決于最大力矩和工作速度(一般是以秒/60度為單位)。舵機通常分為氣動舵機、液壓舵機、電動舵機,目前電動舵機因其簡單可靠、工藝性好、使用方便、成本低廉、易于控制等特點得到廣泛應用[1]。目前電動舵機采用DSP芯片的嵌入式控制形式和先進控制策略的PID的控制形式[2],舵機的輸入線共有三條,電源線、地線,這兩根線為舵機提供最基本的電力,另外一根線是控制信號線,用于脈沖信號的輸入。本文采用STC12C5202AD單片機來實現PWM輸出控制,控制舵機的轉動,從而實現自動控制小車的轉向控制。
舵機主要是由外殼、電路板、無核心馬達、齒輪與位置檢測器所構成。其工作原理是由接收機發出訊號給舵機,經由電路板上的IC判斷轉動方向,再驅動無核心馬達開始轉動,透過減速齒輪將動力傳至擺臂,同時由位置檢測器送回信號,判斷是否已經到達定位。位置檢測器其實就是可變電阻,當舵機轉動時電阻值也會隨之改變,藉由檢測電阻值便可知轉動的角度[3]。
舵機調速是通過對脈沖信號的占空比進行控制,占空比大,相應獲得的電壓就大,轉速快[4];反之亦然。舵機電壓通常介于4V~6V,一般取5V??刂凭€的輸入是一個寬度可調的周期性方波脈沖信號,可通過單片機I/O口對其進行控制。方波脈沖信號周期為20ms(頻率為50Hz)。當方波脈沖寬度改變時,舵機轉軸角度發生改變,角度變化與脈沖寬度的變化成正比。以180°角度伺服為例,對應關系如下:0.5ms~-90°、1ms~-45°、1.5ms~0°、2ms~45°、2.5ms~90°,因此,PWM與舵機轉角呈線性變化,即給它提供一定的脈寬,它的輸出軸就會保持在一個相對應的角度上,無論外界轉矩怎樣改變,直到給它提供下一個寬度的脈沖信號,才會改變輸出角度。
對于線控小車系統來說,采用STC12C5202AD單片機來實現PWM輸出控制,使端口輸出的PWM信號脈沖寬度實現毫秒級甚至微秒級的變化,從而提高舵機的轉角精度。單片機系統實現對小車舵機輸出轉角的控制,要產生20ms的PWM周期信號,并對脈寬進行調整,借以調整占空比。小車舵機如圖1所示。

圖1 線控小車
2.1 應用兩個定時器
當系統中的定時/計數器資源足夠使用,所控制的舵機只有一個時,可將20ms定時分為兩次中斷執行,一次短定時中斷和一次長定時中斷。如要讓舵機左轉45°,它的正脈沖為2ms,則負脈沖為20ms-2ms=18ms。首先向控制口發送2ms高電平,中斷發生后,在中斷程序里將控制口改為低電平,并將中斷時間改為18ms,如此往復實現PWM信號輸出到舵機。如系統晶振頻率選擇22.1184MHz,采用T0的方式0實現2ms高電平輸出,采用T1的方式1實現18ms低電平定時輸出,采用中斷方式由P2.5口輸出高低電平。
2.2 應用一個定時器
若采用一個定時器T0,系統主頻仍為22.1184MHz,可將20ms周期PWM脈沖分成200份,每一份為0.1ms,采用中斷方式,定時器T0工作方式1,2ms高電平輸出即為中斷20次,并輸出20次高電平,18ms低電平輸出即為中斷180次,并輸出180次低電平,采用一個定時器如果對定時時間進行細分,可將20ms的PWM周期信號分為2000份,每一份定時時間為0.01ms,這樣定時輸出的效果更明顯,對舵機角度的控制也可做的更精確,也能實現同時對多個舵機的控制。如果系統中需要控制幾個舵機的準確轉動,可以用單片機和計數器進行脈沖計數產生PWM信號。脈沖計數可以利用5l單片機的內部計數器來實現,但是從軟件系統的穩定性和程序結構的合理性看,最好使用外部的計數器實現。
2.3 51計數器初值設定軟件
在對定時器的設置中,初始值計算是非常煩瑣的一件事情,這時,可以采用“51計數器初值設定”軟件,其使用非常簡單,界面如圖3所示。
該軟件支持定時器方式為:方式0~方式3,晶振頻率、定時時長根據實際情況輸入,則會在軟件的頂部顯示計數器應裝入的16位初值。以上程序中的定時器初始值均由本軟件計算產生。

圖2 51計數器初值設定
隨著控制技術的不斷發展,人們對自動控制系統的精度要求越來越高。在小車控制系統中,采用了STC12C5202AD單片機產生PWM信號,方便地實現了舵機控制。對線控小車的測試表明,控制系統工作穩定,PWM占空比(0.5~2.5ms的正脈沖寬度)和舵機的轉角(-90°~90°)線性度較好,小車轉向穩定,控制精度較高。
[1] 楊平. 雙余度無刷直流電機控制系統設計及性能研究[D]. 西安:西北工業大學,2005.3.
[2] 蔣亞峰. 舵機系統控制算法及性能改進[D].西安:西安電子科技大學,2009.1.
[3] 李華進,劉鳴. 機器人關節及轉向裝置-舵機的原理及應用[J]. 高校實驗室工作研究,2010.3.
[4] 田瑤. 基于PC控制的智能小車循跡系統的實現[D]. 武漢:華中師范大學,2011.5.
Research and Implementation of Steering Mechanism Control Technology for Automatic Control Car
Sui Meili1, Xia Zheng2, Fu Yiwei1, WangNan1
( 1.School of Automotive Engineering, Beijing Polytechnic, Beijing 100176; 2.China Petroleum Pipeline Inspection Technologies Co. Ltd, Hebei Langfang 065000 )
This paper realizes the PWM output control using STC12C5202AD microcontroller, rotate steering control, so as to realize the steering control by wire car. The results show that the steering angle range of -90 degrees to 90 degrees, and linearity is good, car steering stability, high control accuracy, to achieve the purpose of control.
Steering mechanism; Steering gear; Automatic control
U463
A
1671-7988 (2017)08-49-02
隋美麗(1978-)女,講師,博士。就職于北京電子科技職業學院,主要從事汽車電子、車輛工程等方面的研究。