隋美麗,夏征,劉敏杰,任小龍
(1.北京電子科技職業學院 汽車工程學院,北京 100176;2.中油管道檢測技術有限責任公司,河北 廊坊 065000)
自動控制小車控制器的軟硬件實現
隋美麗1,夏征2,劉敏杰1,任小龍1
(1.北京電子科技職業學院 汽車工程學院,北京 100176;2.中油管道檢測技術有限責任公司,河北 廊坊 065000)
采用16管腳的STC12C5202AD單片機作為自動控制小車轉向控制器的控制芯片,該控制器實現了前進、后退、左轉和右轉的控制,結果表明該控制器可有效地實現設計的功能。
線控;控制器;軟硬件
CLC NO.: U463.62 Document Code: A Article ID: 1671-7988 (2017)07-39-03
轉向系統是實現駕駛員轉向意圖、控制車輛操縱穩定性的重要系統,汽車轉向盤和轉向輪通過轉向機構直接連接。線控轉向系統,取消了轉向盤和轉向輪之間的機械連接,擺脫傳統轉向系統的限制,駕駛員可通過向車輛輸入轉向盤的轉角指令達到轉向的目的,在操縱穩定條件下,由控制器根據轉向盤的轉角、車輛狀態等信息,依據有關控制算法確定合理的前輪轉角,達到轉向目的[1]。本文采用STC12C5202AD單片機為主控芯片,對自動控制小車的線控控制器研究,通過該控制器實現自動控制小車的控制。
線控小車控制系統主控器采用STC12C5202AD單片機,是一種高速、低功耗、抗干擾能力強的新一代增強型8051單片機,其指令代碼完全兼容傳統8051,1個時鐘/機器周期,速度比普通8051快8~12倍,電壓范圍5.5~3.3V,工作頻率為0~35MHz,2K字節片內Flash程序存儲器,擦寫次數10萬次以上,256字節片內RAM數據存儲器,硬件看門狗,2路PWM,8路高速8位A/D轉換器,轉換速度可達250KHz,I/O驅動能力可達20mA。這款芯片的特點是低功耗、抗干擾性強、價格低廉。具備ISP和IAP,無需專用編程器和專用仿真器,并可通過串口直接下載用戶程序。系統采用16管腳封裝的STC12C5202AD單片機,管腳如圖1所示。

圖1 STC12C5202AD單片機管腳圖
線控系統可使用三節7號電池,也可以使用外部供電方式,由按鍵S1控制切換,系統電路如圖2所示。圖中的W1和W2為兩個搖桿,分別接到P1.1、P1.2、P1.5、P1.6,AN1、AN2、AN3、AN4為四個按鍵,分別接到P3.3、P3.7、P1.7、P1.0,其中P1.0-P1.7可用作A/D轉換接口,也可作為數字I/O使用,通過配置相關寄存器實現功能的切換。單片機通過串行通信口(P3.0和P3.1)與MAX485芯片連接,實現RS-485串行通信。其實物如圖3所示。

圖2 系統電路圖

圖3 線控器實物圖
3.1 A/D轉換程序設計
對于STC12C5202AD來說,由于內部包含了A/D轉換模塊,只要從P1.0-P1.7端口直接輸入0-5V模擬信號就可以實現A/D轉換。
要獲得搖桿A/D轉換數據,首先要初始化A/D轉換器,初始化函數定義為InitADC。函數實現代碼如下:


其中,P1ASF為P1口模擬功能控制寄存器,作為A/D使用時,需先將P1ASF特殊功能寄存器中的相應位置“1”,則將相應的端口設置為模擬功能,應注意,該寄存器是只寫寄存器,讀無效。實際上,由于芯片沒有將P1.3和P1.4管腳引出,A/D轉換輸入端口最多只能接6個。ADC_RES為A/D轉換結果寄存器,接收8位轉換數據。ADC_CONTR為A/D轉換控制寄存器,ADC_POWER為電源控制位,0為關閉A/D電源,1為打開;SPEED0和SPEED1為轉換速度控制位;ADC_START為A/D轉換啟動控制位,1為開始轉換,轉換結束后為0。ADC_FLAG為轉換結束標志位,當轉換結束后由硬件置1,需要再次轉換時,由軟件清0。P1ASF和ADC_CONTR寄存器如表1所示。A/D轉換的函數定義為GetADCResult,獲得A/D轉換結果,channel為通道號0-7。

表1 P1ASF和ADC_CONTR寄存器
3.2 小車控制程序
小車接收端串口采用RS-485模式通信,通信參數規定為:波特率規定為19200,數據位為8位,停止位為1位,無奇偶校驗,因此,線控器(發送端)也必須與接收端保持一致。線控器STC12C5202AD主控芯片也必須通過RS-485總線向小車發送命令來控制小車啟停、轉向、尾燈閃爍等。線控器與小車的通信控制協議(十六進制)如圖2所示。

表2 線控器與小車的通信控制協議

圖4 線控小車轉向控制器主程序流程圖
小車接收到一幀數據后,就會按照命令執行相關操作。小車左右輪的轉速數值在0-128之間,對于正反轉/燈閃操作而言,位5或位6置1、清零分別表示小車電機正轉或反轉,位3置1為小車尾燈閃爍,舵機轉角在本例中范圍設置為15-65。系統用一個搖桿實現小車的前進、后退,另一個搖桿實現小車的左轉、右轉。一個按鍵實現小車的尾燈控制。線控小車轉向控制器主程序流程圖如圖4所示。
本系統軟硬件設計可靠,電路簡單、性能穩定,采用STC12C5202AD系列單片機為小車轉向的控制器的主控芯片,實現了小車前進、后退、左轉、右轉的控制。并且芯片本身價格低廉,有效降低了成本,系統升級簡單,維護方便,很適用于小車控制。
[1] 楊勝兵. 線控轉向系統控制策略研究[D]. 武漢理工大學:湖北武漢2008.6.
[2] 隋美麗,楊立平,呂江毅,等.自動控制小車的軟硬件實現[J]. 河南機電高等專科學校學報,2014.3:4-8.
[3] 隋美麗,龍建,劉敏杰,等. 太陽能光伏電動小車嵌入式系統設計[J].汽車實用技術,2016.2:133-135.
Hardware and Software Implementation of Automatic Control Car Controller
Sui Meili1, Xia Zheng2, Liu Minjie1, Ren Xiaolong1
(1.School of Automotive Engineering, Beijing Polytechnic, Beijing 100176; 2.China Petroleum Pipeline Inspection Technologies Co. Ltd, Hebei Langfang 065000)
The 16 pin STC12C5202AD microcontroller as the automatic control of the car steering control chip controller, the controller can control the forward and backward, left and right, the results show that the controller can effectively realize the function of design.
Steer-by-wire; Controller; Hardware and Software
U463.62
:A
::1671-7988 (2017)07-39-03
隋美麗(1978.11- )女,講師,博士。就職于北京電子科技職業學院,主要從事汽車電子、車輛工程等方面的研究。
10.16638/j.cnki.1671-7988.2017.07.017