隋美麗,夏征,劉敏杰,任小龍
(1.北京電子科技職業(yè)學(xué)院 汽車工程學(xué)院,北京 100176;2.中油管道檢測技術(shù)有限責(zé)任公司,河北 廊坊 065000)
自動(dòng)控制小車控制器的軟硬件實(shí)現(xiàn)
隋美麗1,夏征2,劉敏杰1,任小龍1
(1.北京電子科技職業(yè)學(xué)院 汽車工程學(xué)院,北京 100176;2.中油管道檢測技術(shù)有限責(zé)任公司,河北 廊坊 065000)
采用16管腳的STC12C5202AD單片機(jī)作為自動(dòng)控制小車轉(zhuǎn)向控制器的控制芯片,該控制器實(shí)現(xiàn)了前進(jìn)、后退、左轉(zhuǎn)和右轉(zhuǎn)的控制,結(jié)果表明該控制器可有效地實(shí)現(xiàn)設(shè)計(jì)的功能。
線控;控制器;軟硬件
CLC NO.: U463.62 Document Code: A Article ID: 1671-7988 (2017)07-39-03
轉(zhuǎn)向系統(tǒng)是實(shí)現(xiàn)駕駛員轉(zhuǎn)向意圖、控制車輛操縱穩(wěn)定性的重要系統(tǒng),汽車轉(zhuǎn)向盤和轉(zhuǎn)向輪通過轉(zhuǎn)向機(jī)構(gòu)直接連接。線控轉(zhuǎn)向系統(tǒng),取消了轉(zhuǎn)向盤和轉(zhuǎn)向輪之間的機(jī)械連接,擺脫傳統(tǒng)轉(zhuǎn)向系統(tǒng)的限制,駕駛員可通過向車輛輸入轉(zhuǎn)向盤的轉(zhuǎn)角指令達(dá)到轉(zhuǎn)向的目的,在操縱穩(wěn)定條件下,由控制器根據(jù)轉(zhuǎn)向盤的轉(zhuǎn)角、車輛狀態(tài)等信息,依據(jù)有關(guān)控制算法確定合理的前輪轉(zhuǎn)角,達(dá)到轉(zhuǎn)向目的[1]。本文采用STC12C5202AD單片機(jī)為主控芯片,對(duì)自動(dòng)控制小車的線控控制器研究,通過該控制器實(shí)現(xiàn)自動(dòng)控制小車的控制。
線控小車控制系統(tǒng)主控器采用STC12C5202AD單片機(jī),是一種高速、低功耗、抗干擾能力強(qiáng)的新一代增強(qiáng)型8051單片機(jī),其指令代碼完全兼容傳統(tǒng)8051,1個(gè)時(shí)鐘/機(jī)器周期,速度比普通8051快8~12倍,電壓范圍5.5~3.3V,工作頻率為0~35MHz,2K字節(jié)片內(nèi)Flash程序存儲(chǔ)器,擦寫次數(shù)10萬次以上,256字節(jié)片內(nèi)RAM數(shù)據(jù)存儲(chǔ)器,硬件看門狗,2路PWM,8路高速8位A/D轉(zhuǎn)換器,轉(zhuǎn)換速度可達(dá)250KHz,I/O驅(qū)動(dòng)能力可達(dá)20mA。這款芯片的特點(diǎn)是低功耗、抗干擾性強(qiáng)、價(jià)格低廉。具備ISP和IAP,無需專用編程器和專用仿真器,并可通過串口直接下載用戶程序。系統(tǒng)采用16管腳封裝的STC12C5202AD單片機(jī),管腳如圖1所示。
圖1 STC12C5202AD單片機(jī)管腳圖
線控系統(tǒng)可使用三節(jié)7號(hào)電池,也可以使用外部供電方式,由按鍵S1控制切換,系統(tǒng)電路如圖2所示。圖中的W1和W2為兩個(gè)搖桿,分別接到P1.1、P1.2、P1.5、P1.6,AN1、AN2、AN3、AN4為四個(gè)按鍵,分別接到P3.3、P3.7、P1.7、P1.0,其中P1.0-P1.7可用作A/D轉(zhuǎn)換接口,也可作為數(shù)字I/O使用,通過配置相關(guān)寄存器實(shí)現(xiàn)功能的切換。單片機(jī)通過串行通信口(P3.0和P3.1)與MAX485芯片連接,實(shí)現(xiàn)RS-485串行通信。其實(shí)物如圖3所示。
圖2 系統(tǒng)電路圖
圖3 線控器實(shí)物圖
3.1 A/D轉(zhuǎn)換程序設(shè)計(jì)
對(duì)于STC12C5202AD來說,由于內(nèi)部包含了A/D轉(zhuǎn)換模塊,只要從P1.0-P1.7端口直接輸入0-5V模擬信號(hào)就可以實(shí)現(xiàn)A/D轉(zhuǎn)換。
要獲得搖桿A/D轉(zhuǎn)換數(shù)據(jù),首先要初始化A/D轉(zhuǎn)換器,初始化函數(shù)定義為InitADC。函數(shù)實(shí)現(xiàn)代碼如下:
其中,P1ASF為P1口模擬功能控制寄存器,作為A/D使用時(shí),需先將P1ASF特殊功能寄存器中的相應(yīng)位置“1”,則將相應(yīng)的端口設(shè)置為模擬功能,應(yīng)注意,該寄存器是只寫寄存器,讀無效。實(shí)際上,由于芯片沒有將P1.3和P1.4管腳引出,A/D轉(zhuǎn)換輸入端口最多只能接6個(gè)。ADC_RES為A/D轉(zhuǎn)換結(jié)果寄存器,接收8位轉(zhuǎn)換數(shù)據(jù)。ADC_CONTR為A/D轉(zhuǎn)換控制寄存器,ADC_POWER為電源控制位,0為關(guān)閉A/D電源,1為打開;SPEED0和SPEED1為轉(zhuǎn)換速度控制位;ADC_START為A/D轉(zhuǎn)換啟動(dòng)控制位,1為開始轉(zhuǎn)換,轉(zhuǎn)換結(jié)束后為0。ADC_FLAG為轉(zhuǎn)換結(jié)束標(biāo)志位,當(dāng)轉(zhuǎn)換結(jié)束后由硬件置1,需要再次轉(zhuǎn)換時(shí),由軟件清0。P1ASF和ADC_CONTR寄存器如表1所示。A/D轉(zhuǎn)換的函數(shù)定義為GetADCResult,獲得A/D轉(zhuǎn)換結(jié)果,channel為通道號(hào)0-7。
表1 P1ASF和ADC_CONTR寄存器
3.2 小車控制程序
小車接收端串口采用RS-485模式通信,通信參數(shù)規(guī)定為:波特率規(guī)定為19200,數(shù)據(jù)位為8位,停止位為1位,無奇偶校驗(yàn),因此,線控器(發(fā)送端)也必須與接收端保持一致。線控器STC12C5202AD主控芯片也必須通過RS-485總線向小車發(fā)送命令來控制小車啟停、轉(zhuǎn)向、尾燈閃爍等。線控器與小車的通信控制協(xié)議(十六進(jìn)制)如圖2所示。
表2 線控器與小車的通信控制協(xié)議
圖4 線控小車轉(zhuǎn)向控制器主程序流程圖
小車接收到一幀數(shù)據(jù)后,就會(huì)按照命令執(zhí)行相關(guān)操作。小車左右輪的轉(zhuǎn)速數(shù)值在0-128之間,對(duì)于正反轉(zhuǎn)/燈閃操作而言,位5或位6置1、清零分別表示小車電機(jī)正轉(zhuǎn)或反轉(zhuǎn),位3置1為小車尾燈閃爍,舵機(jī)轉(zhuǎn)角在本例中范圍設(shè)置為15-65。系統(tǒng)用一個(gè)搖桿實(shí)現(xiàn)小車的前進(jìn)、后退,另一個(gè)搖桿實(shí)現(xiàn)小車的左轉(zhuǎn)、右轉(zhuǎn)。一個(gè)按鍵實(shí)現(xiàn)小車的尾燈控制。線控小車轉(zhuǎn)向控制器主程序流程圖如圖4所示。
本系統(tǒng)軟硬件設(shè)計(jì)可靠,電路簡單、性能穩(wěn)定,采用STC12C5202AD系列單片機(jī)為小車轉(zhuǎn)向的控制器的主控芯片,實(shí)現(xiàn)了小車前進(jìn)、后退、左轉(zhuǎn)、右轉(zhuǎn)的控制。并且芯片本身價(jià)格低廉,有效降低了成本,系統(tǒng)升級(jí)簡單,維護(hù)方便,很適用于小車控制。
[1] 楊勝兵. 線控轉(zhuǎn)向系統(tǒng)控制策略研究[D]. 武漢理工大學(xué):湖北武漢2008.6.
[2] 隋美麗,楊立平,呂江毅,等.自動(dòng)控制小車的軟硬件實(shí)現(xiàn)[J]. 河南機(jī)電高等??茖W(xué)校學(xué)報(bào),2014.3:4-8.
[3] 隋美麗,龍建,劉敏杰,等. 太陽能光伏電動(dòng)小車嵌入式系統(tǒng)設(shè)計(jì)[J].汽車實(shí)用技術(shù),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- )女,講師,博士。就職于北京電子科技職業(yè)學(xué)院,主要從事汽車電子、車輛工程等方面的研究。
10.16638/j.cnki.1671-7988.2017.07.017