師 寧,季 君,邱利軍
(北京電子科技職業(yè)學(xué)院,北京 100176)
基于PID控制算法的電磁車設(shè)計(jì)系統(tǒng)*
師 寧,季 君,邱利軍
(北京電子科技職業(yè)學(xué)院,北京 100176)
本文介紹了以單片機(jī)MC9S12XS128為主控制模塊,以L7805CV穩(wěn)壓模塊、IR2104全橋驅(qū)動模塊和SYN7318語音識別模塊為主要硬件的智能小車的設(shè)計(jì)方法。我們通過LQ-1401M 模塊來采集路面信息,使用主控模塊PID控制算法調(diào)節(jié)驅(qū)動電機(jī)的轉(zhuǎn)速和轉(zhuǎn)向以及舵機(jī)的角度,進(jìn)而實(shí)現(xiàn)了智能小車的無線遙控、語音識別和自動循跡等各項(xiàng)功能。整個(gè)系統(tǒng)的電路結(jié)構(gòu)簡單,成本低廉,功能多樣,可操作性高,適合學(xué)生學(xué)習(xí)及創(chuàng)新,通過測試該智能小車實(shí)現(xiàn)了預(yù)期的設(shè)計(jì)目標(biāo),各項(xiàng)指標(biāo)達(dá)到系統(tǒng)要求。
MC9S12XS128;SYN 7318語音交互模塊;PID控制算法
智能循跡小車是二十世紀(jì)五十年代研發(fā)出來的新型智能搬運(yùn)機(jī)器人,在工業(yè)應(yīng)用中,它通常采用充電電池為動力來源,利用程序控制它的運(yùn)動軌跡以及動作。此外,還可以在地板上貼上電磁軌道來指定其行進(jìn)路線,智能小車通過電磁軌道反饋的信息進(jìn)行移動,將物體從起始點(diǎn)自動運(yùn)送到目的地。
智能循跡小車控制系統(tǒng)利用電磁感應(yīng)傳感器反饋回的電磁信號差異來控制車輛的轉(zhuǎn)向,并通過閉環(huán)控制保證循跡小車能夠穩(wěn)定的自動跟蹤所設(shè)定路線。在目前商業(yè)用途中,智能循跡車絕大多數(shù)采用這種電磁感應(yīng)進(jìn)行導(dǎo)航。
本文就是從系統(tǒng)硬件、軟件和控制算法三方面對智能循跡小車的整體結(jié)構(gòu)進(jìn)行了分析和介紹。硬件系統(tǒng)可分為五個(gè)模塊——無線遙控模塊、MC9S12XS128單片機(jī)模塊、電機(jī)驅(qū)動模塊、語音識別模塊、自動循跡模塊。同時(shí)以LQ-1401M為傳感器,通過它檢測路面情況,并將測量數(shù)據(jù)傳送至MC9S12XS128單片機(jī)進(jìn)行處理及控制,最終實(shí)現(xiàn)了小車的自動循跡、語音識別、無線遙控等諸多功能。
硬件是整個(gè)智能小車系統(tǒng)的基礎(chǔ),經(jīng)過充分的調(diào)研,我們選用了MC9S12XS128單片機(jī)、 HC06藍(lán)牙模塊、TSL1401CL圖像采集模塊以及SYN7318語音模塊等元器件搭建了這個(gè)智能小車系統(tǒng)。電磁智能車系統(tǒng)分為七大模塊:主控制器模塊、電源模塊、電磁傳感器模塊、舵機(jī)驅(qū)動模塊、語音控制模塊、電機(jī)驅(qū)動模塊和圖像采集模塊[1],整個(gè)系統(tǒng)的設(shè)計(jì)框圖如圖1所示。
圖1 系統(tǒng)整體框架
小車的工作原理是電源模塊為各模塊提供電力能源,主控制器MC9S12XS128將信號采集模塊采集到的信息以及速度反饋信息匯總并分析,然后發(fā)出控制命令,并將信號送到電機(jī)驅(qū)動模塊和舵機(jī)驅(qū)動模塊,分別實(shí)現(xiàn)對速度和轉(zhuǎn)向動作的控制,就這樣周而復(fù)始,最終實(shí)現(xiàn)對智能小車的自動識別和循跡的功能[2]。
1) 電源模塊
電源模塊是硬件設(shè)計(jì)中的一個(gè)重要組成部分,它主要是對7.2 V、2000 mA蓄電池進(jìn)行電壓調(diào)節(jié)。由于各模塊需要的工作電壓和電流不盡相同,所以在實(shí)際中我們設(shè)計(jì)了多種穩(wěn)壓電路,用來滿足各模塊的實(shí)際工作電壓需要[3]。其中7.2 V電壓給驅(qū)動電路供電,5 V電壓給單片機(jī)、運(yùn)放、編碼器、藍(lán)牙、LCD、電機(jī)驅(qū)動使能端等供電,6.5 V電壓給舵機(jī)供電。同時(shí)由于L7805CV穩(wěn)壓芯片的輸出電流比較小,所以我們采用了兩片L7805CV分別對主控制器、速度檢測電路、驅(qū)動芯片電路和傳感器電路進(jìn)行供電,來保證整個(gè)系統(tǒng)的正常運(yùn)行。
2) 電機(jī)驅(qū)動模塊
驅(qū)動電路的主要作用是給小車的驅(qū)動電機(jī)提供控制和動力,設(shè)計(jì)的主要指標(biāo)是要求能夠通過比較大的電流[1]。直流驅(qū)動電機(jī)控制電路控制直流電機(jī)的轉(zhuǎn)動方向和速度,直流電動機(jī)的轉(zhuǎn)動方向可以通過改變電動機(jī)兩端的電壓來實(shí)現(xiàn)的;電動機(jī)的轉(zhuǎn)速一般采用PWM控制。由于IR2104芯片一片就是一個(gè)半橋,所以我們把IR2104芯片作為電機(jī)驅(qū)動芯片,我們采用兩片BTN7971組成一個(gè)H全橋電動機(jī)驅(qū)動電路,電路圖如圖2所示。我們可以改變從主控芯片輸入到BTN7971的PWM的占空比來控制電動機(jī)的供電電壓的大小,從而實(shí)現(xiàn)了對轉(zhuǎn)速的控制[2]。
圖2 IR2104全橋光隔離驅(qū)動電路
需要注意的是驅(qū)動板供電電壓不得超過額定電壓,且電源不能接反,驅(qū)動板供電電壓最高不得超過12 V,最低不得低于5 V。 驅(qū)動板已經(jīng)集成了高速光耦隔離芯片,可直接和單片機(jī)PWM或I/O口相連??刂菩盘栴l率最高不要超過25 kHz。
3) SYN7318語音交互模塊
語音識別模塊SYN7318集成了語音識別、語音合成和語音喚醒功能模塊。一般應(yīng)用中語音合成系統(tǒng)最小系統(tǒng)需要包括:控制器模塊、SYN7318模塊、功放模塊、喇叭。如果需要使用語音識別功能,系統(tǒng)中還需要增加麥克風(fēng)。
語音合成系統(tǒng)中,SYN7318模塊支持UART通訊方式,允許上位機(jī)發(fā)送數(shù)據(jù)的最大長度為4 kB。主控制器和SYN7318模塊之間可以通過UART接口連接,控制器可通過上述通訊接口向SYN7318模塊發(fā)送控制命令和文本,SYN7318模塊將接收到的文本合成為語音信號進(jìn)行輸出,輸出的信號經(jīng)過功率放大器進(jìn)行放大后連接到喇叭進(jìn)行播放。SYN7318模塊接口示意圖如圖3所示。
4) 圖像采集LQ-1401M 模塊
圖像采集模塊LQ-1401M內(nèi)部采用的是TSL1401CL線性CCD圖像傳感器,該傳感器具有像素?cái)?shù)據(jù)保持功能,可同時(shí)集成啟動和停止所有像素位,而且內(nèi)部集成了電荷放大器電路。 由于這種內(nèi)部控制邏輯電路的特點(diǎn),因此在實(shí)際中主控芯片只需要一個(gè)串行輸入(SI)信號和一個(gè)時(shí)鐘信號(CLK)就可以實(shí)現(xiàn)對電路的全部邏輯控制,讀取模擬輸出口的電壓,進(jìn)而完成對數(shù)據(jù)采集工作。這樣就可以大大簡化對芯片的操作。
圖3 SYN7318模塊UART接口示意圖
在本系統(tǒng)中,我們將通過主控芯片的PA0和PA1引腳分別接入SI信號和CLK信號,并按特定的時(shí)序發(fā)出方波信號,TSL1401CL的AO引腳就會依次輸出128個(gè)像素點(diǎn)的模擬信號給主控芯片,進(jìn)而完成對數(shù)據(jù)的采集工作。我們在實(shí)際測試中發(fā)現(xiàn),這個(gè)傳感器的輸出信號受環(huán)境光線的影響很大,其輸出值白天比晚上高,對光和背光相差也很大。硬件已經(jīng)選定好,那鏡頭和放大倍數(shù)就已經(jīng)確定,這樣必然會經(jīng)常出現(xiàn)信號不穩(wěn)定的情況,對于此問題我們可以通過軟件使用動態(tài)曝光時(shí)間或通過單片機(jī)動態(tài)改變運(yùn)放的放大倍數(shù)來解決。
系統(tǒng)有了硬件這個(gè)平臺之后,還需要軟件的支持才能讓小車動起來,而軟件的核心是控制算法,算法是車模的靈魂[4]。軟件算法設(shè)計(jì)主要從賽道信息采集、電機(jī)、舵機(jī)PID兩方面介紹算法,控制程序流程如圖4所示。
智能小車的控制包括電機(jī)和舵機(jī)的控制,具體的控制算法也有很多,本項(xiàng)目采用了經(jīng)典的PID控制算法來實(shí)現(xiàn)是對小車的運(yùn)動控制。PID的英文全稱是Proportional Integral Differential,即比例、積分、微分控制的簡稱。在自動控制領(lǐng)域中,PID控制是最原始,也是使用最多的一種基本控制方式。
PID控制器的原理是把對系統(tǒng)的被調(diào)量實(shí)測值與設(shè)定值之間的偏差作為輸入信號,并利用這個(gè)偏差的比例、積分、微分三個(gè)環(huán)節(jié)的不同組合作為輸出信號,進(jìn)而計(jì)算出對被控對象的控制量[4]。
圖4 智能車控制程序流程圖
(1)
其中r(t)為設(shè)定值,y(t)為實(shí)測值,e(t)為偏差信號:
偏差信號e(t)的比例、積分、微分的線性組合如下列公式所示,這個(gè)公式也被稱為PID控制律:
(2)
式中,KP為比例系數(shù);TI為積分時(shí)間常數(shù);TD為微分時(shí)間常數(shù)。
在單片機(jī)中,我們僅能對數(shù)字信號處理,即數(shù)字PID控制,所以將上式離散化得[4]:
(3)
系統(tǒng)軟件采用C語言編寫,通過CodeWarriorIDE編譯。
C語言是使用非常多的一種編程語言,它能實(shí)現(xiàn)匯編語言的大部分功能,而且語法簡單,易懂,運(yùn)算符和數(shù)據(jù)類型豐富,能夠直接訪問物理地址,進(jìn)行位操作,因此可以減少程序員對硬件的操作,功能性和可移植性很強(qiáng)。具體的程序如圖5所示。
圖5 C語言控制程序
本文介紹了以單片機(jī)MC9S12XS128為主控制模塊,以L7805CV穩(wěn)壓模塊、IR2104全橋驅(qū)動模塊和SYN7318語音識別模塊為主要硬件的智能小車的設(shè)計(jì)方法。從系統(tǒng)的整體框架、硬件設(shè)計(jì)、軟件設(shè)計(jì)和控制算法等四部分介紹了智能小車的設(shè)計(jì)方案。本方案的優(yōu)點(diǎn)是電路結(jié)構(gòu)簡單,成本低廉,功能多樣,可操作性高,系統(tǒng)穩(wěn)定性好。在實(shí)際調(diào)試中,我們對各參數(shù)反復(fù)試驗(yàn),最終讓智能小車響應(yīng)速度快,能夠按照我們設(shè)定的路線行駛,并且動力性能和轉(zhuǎn)向性能都很良好。經(jīng)過測試,這個(gè)智能無線遙控小車實(shí)現(xiàn)了無線遙控、語音識別、自動尋跡等諸多功能,達(dá)到了我們設(shè)計(jì)的預(yù)期目標(biāo)。
[1] 鄭子棟,梅孝安,蔣海峰,等.基于線性CCD圖像識別智能小車的設(shè)計(jì)與開發(fā)[J].電子技術(shù),2015(2):62-64.
[2] 李萬敏,王彥.基于CMOS攝像頭的循跡智能小車控制系統(tǒng)設(shè)計(jì)[J].科技風(fēng),2015(7):81-82.
[3] 龍濤,葉夢君,雷改惠,等.基于電磁技術(shù)的智能車系統(tǒng)的硬件設(shè)計(jì)[J].可編程控制器與工廠自動化,2015(5):57-61.
[4] 夏鐘旭,蔣璐.基于MC9S12_S128處理器的智能循跡小車分析研究[J].電子制作,2016(11):28-30.
Design of Electromagnetic Car Based on PID Control Algorithm
Shi Ning, Ji Jun, Qiu Lijun
(BeijingPolytechnic,Beijing100176,China)
This paper introduces the design method of the intelligent car based on MC9S12XS128 control module, L7805CV voltage regulator module, IR2104 full bridge driver module and SYN7318 speech recognition medule. It uses LQ-1401M module to collect the road information, and the main control module PID control algorithm is used to adjust the speed and steering of drive motor and the steering angle, so as to realize the wireless remote control, automatic speech recognition, tracking and other functions of smart car. The whole system has the advantages of simple structure, low cost, multiple functions, high operability, and is suitable for students to learn and innovate. Through the actual test, it realizes the expected design goals.
MC9S12XS128; SYN7138 speech recognition module; PID control algorithm
2017-04-26
2017-05-10
北京電子科技職業(yè)學(xué)院2017年科技一般課題(2017Z004-017-KXY)
師 寧(1981- ),女,河北邢臺人,講師,工學(xué)碩士,研究方向:控制理論在過程控制中的應(yīng)用。
1674- 4578(2017)04- 0013- 04
TP23
A