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