陶玉貴 ,胡 飛
(蕪湖職業(yè)技術(shù)學(xué)院信息與人工智能學(xué)院,安徽 蕪湖 241006)
全國大學(xué)生智能汽車競賽是教育部倡導(dǎo)的課外學(xué)術(shù)科技A類競賽,其被列入國家教學(xué)質(zhì)量與教學(xué)改革工程資助項(xiàng)目,是涉及機(jī)械、電子、計(jì)算機(jī)、自動控制等多學(xué)科知識的綜合性專業(yè)競賽,已成為培養(yǎng)學(xué)生工程實(shí)踐能力的重要平臺[1]。課題組以STC8A8K64S4A12作為主控制單元,運(yùn)用PID控制理論進(jìn)行智能控制策略研究,設(shè)計(jì)了一種能夠自主識別道路的智能競速小車,可以完成對車模平衡、速度、方向的控制。測試結(jié)果證明,該小車具有控制精確、轉(zhuǎn)向靈敏等優(yōu)點(diǎn),提高了車速和車速控制的穩(wěn)定性。
課題組設(shè)計(jì)的智能競速小車主要由傳感檢測、控制決策和動力驅(qū)動三部分組成,自主設(shè)計(jì)的六路電磁傳感器模塊負(fù)責(zé)采集賽道信息,控制決策系統(tǒng)使用搭載STC8A8K64S4A12的最小核心板,控制動力系統(tǒng)驅(qū)動舵機(jī)轉(zhuǎn)角和直流電機(jī)轉(zhuǎn)速[2]。電磁傳感器檢測賽道信息并發(fā)送給單片機(jī),通過計(jì)算左右電感的偏差值來計(jì)算PID,輸出量分別發(fā)送給舵機(jī)和電機(jī),編碼器采集并輸出速度信息反饋給主控單片機(jī),主控單片機(jī)根據(jù)所獲得的賽道信息和車體當(dāng)前速度信息做出決策,通過PWM信號控制直流電機(jī)和舵機(jī)進(jìn)行相應(yīng)調(diào)整,從而實(shí)現(xiàn)車體的轉(zhuǎn)向控制和速度控制,控制小車平穩(wěn)行駛。智能競速小車系統(tǒng)總體結(jié)構(gòu)框架如圖1所示。
圖1 小車總體結(jié)構(gòu)框架圖
選用STC8A8K64S4A12為主控的核心板,該核心板結(jié)構(gòu)簡單,調(diào)試方便,支持串口ISP調(diào)試方式,能夠應(yīng)對復(fù)雜的控制需求,板載USB-TTL232,可使用USB供電及下載程序。核心板采集賽道電磁信號和編碼器檢測到的速度信息,通過PID算法處理后輸出合適的控制量,再對舵機(jī)與直流電機(jī)模塊進(jìn)行精準(zhǔn)控制,實(shí)現(xiàn)小車快速平穩(wěn)運(yùn)行。
電感采集賽道信息,排布位置主要考慮檢測范圍能否覆蓋到整個賽道,同時將賽道的各類元素進(jìn)行準(zhǔn)確劃分,考慮到賽道元素的多樣性,對于特殊元素的判斷要聯(lián)合使用多個電感。水平電感有助于直道循跡,八字電感有助于過彎,豎直電感在普通賽道上的電感值很小,但在環(huán)島部分會突增。根據(jù)右手螺旋定則,因三岔口中間部分有斷層,當(dāng)電感垂直向下時更利于小車判斷三岔口。次外側(cè)兩個水平電感用于判斷直道,最外面兩端的豎直電感用于判斷入環(huán)和出環(huán),在電磁桿的中心位置放置兩個垂直向下電感用于三岔路口判斷[3]。電感排布檢測方案圖如圖2所示。
圖2 電感排布方案圖
電源模塊所采用的是主供電電壓7.2 V的鎳鉻電池,針對各部分傳感器及驅(qū)動板分別設(shè)計(jì)穩(wěn)壓電路。對于單片機(jī)和傳感器模塊,選用AMS1117轉(zhuǎn)5 V后對其供電,其電路原理圖如圖3所示。
圖3 5 V穩(wěn)壓電路原理圖
舵機(jī)的供電選用LM2596S芯片,在6 V供電的情況下輸出1 A以上的電流,使舵機(jī)的反應(yīng)更靈敏。6 V穩(wěn)壓電路原理圖如圖4所示。
圖4 6 V穩(wěn)壓電路原理圖
電機(jī)驅(qū)動電路采用雙BTN7971B大電流H橋雙路電機(jī)驅(qū)動[4],電機(jī)選用耐久度高、驅(qū)動力強(qiáng)勁的RS380直流電機(jī),緩沖器選用三態(tài)輸出的8通道的SN74HC244。電機(jī)驅(qū)動電路原理圖如圖5所示。
圖5 BTN7971B驅(qū)動電路原理圖
運(yùn)放模塊選用集成運(yùn)放LMV358芯片,其具有失真小、范圍大、性價比高等特點(diǎn)。LMV358運(yùn)放電路對電磁傳感器檢測的信號進(jìn)行濾波、放大、檢波,得到直流電壓信號,經(jīng)單片機(jī)AD采集獲得正比于感應(yīng)電壓幅值的數(shù)值,輸出信號穩(wěn)定。運(yùn)放模塊電路原理圖如圖6所示,運(yùn)放模塊實(shí)物圖如圖7所示。
圖6 運(yùn)放模塊電路原理圖
圖7 運(yùn)放模塊實(shí)物圖
小車通過加裝編碼器來檢測速度實(shí)現(xiàn)閉環(huán)控制,通過對小車電路性能和機(jī)械結(jié)構(gòu)的考量,選用龍邱科技512線mini編碼器[5]。這是一款512線增量式編碼器,具有質(zhì)量輕、體積小等特點(diǎn),工作電壓為3.3 V~5.0 V,CMOS輸出。工作時,單片機(jī)讀取編碼器輸出一定周期的脈沖數(shù),實(shí)現(xiàn)速度的檢測,為閉環(huán)反饋控制提供數(shù)據(jù)。
舵機(jī)驅(qū)動模塊控制舵機(jī)的轉(zhuǎn)向,舵機(jī)型號選用Futaba S3010,其具有精度高、壽命長、扭矩大等特點(diǎn)。舵機(jī)安裝直接關(guān)系到轉(zhuǎn)向問題,若調(diào)整不到位,將極大地限制轉(zhuǎn)向角度和轉(zhuǎn)向響應(yīng)速度。智能競速小車整車圖如圖8所示。
圖8 智能競速小車整車圖
程序設(shè)計(jì)主要采用順序結(jié)構(gòu),減小任務(wù)之間的相互影響以提高智能競速小車的穩(wěn)定性和執(zhí)行效率[6]。一方面,完成傳感器信號的采集與處理、舵機(jī)PWM輸出、電機(jī)PWM輸出,這三項(xiàng)在一個周期定時中斷,設(shè)置一個標(biāo)志變量作為執(zhí)行周期的標(biāo)志。另一方面,完成賽道各元素識別、小車運(yùn)行時的方向控制與速度控制、小車運(yùn)行流程控制(包括程序初始化、啟動與結(jié)束、狀態(tài)監(jiān)控等),在主程序中完成。程序結(jié)構(gòu)流程圖如圖9所示。
圖9 程序結(jié)構(gòu)流程圖
電感值的處理采用限幅法,減少突變,用左右兩個電感進(jìn)行循跡。濾波算法采用限幅、算術(shù)平均值濾波、歸一化相結(jié)合的方法,對電磁信號進(jìn)行穩(wěn)定性處理,以保證采集到的信號的實(shí)時性和可靠性。
PID控制是應(yīng)用最為廣泛的一種自動控制器,智能車中常用增量式和位置式兩種算法對車身進(jìn)行控制,此處選擇增量式PID算法,輸出控制量的相對增量Δuk,其算法公式如下:
在運(yùn)用增量式PID算法進(jìn)行控制時,使用前中后3次測量的偏差得出控制量,通過調(diào)節(jié)Kp、Ki、Kd這3個參數(shù)來改善控制效果[7]。PID閉環(huán)控制流程圖如圖10所示。
圖10 PID控制流程圖
智能車轉(zhuǎn)向具有較高的實(shí)時性要求,通常采用舵機(jī)控制。舵機(jī)是一種由不同脈寬的PWM信號來控制的位置伺服系統(tǒng)[8],在控制策略上采用增量式PID算法。但引入積分環(huán)節(jié)會使舵機(jī)轉(zhuǎn)向系統(tǒng)產(chǎn)生遲滯性,方向控制不需要消除系統(tǒng)靜態(tài)誤差,為了使舵機(jī)轉(zhuǎn)向系統(tǒng)不產(chǎn)生遲滯性,需要將PID算法中的積分環(huán)節(jié)略去,只用PD控制,舵機(jī)控制整體流程圖如圖11所示。若PWM脈寬過大會導(dǎo)致舵盤旋轉(zhuǎn)角度超出其機(jī)械限位,因此要對PD控制器的輸出進(jìn)行限幅處理[9]。
圖11 舵機(jī)控制流程圖
有效控制智能小車速度的一種方法是利用負(fù)反饋產(chǎn)生的偏差信號,通過控制器對被控對象進(jìn)行實(shí)時修正,使系統(tǒng)的輸出量與給定量保持一致,實(shí)現(xiàn)速度閉環(huán)控制[10]。因此,電機(jī)控制也采用增量式PID算法作為閉環(huán)控制,將其放入定時器中斷,在中斷中用左右兩個編碼器分別測出實(shí)時速度,使速度控制更加精確。電機(jī)速度閉環(huán)控制流程圖如圖12所示。
僅僅靠舵機(jī)并不能很好地使小車精確轉(zhuǎn)彎,在調(diào)試過程中還需要分別控制兩個電機(jī)的目標(biāo)速度,通過左右電機(jī)的差速輔助競速小車轉(zhuǎn)彎。
課題組設(shè)計(jì)了一種基于PID算法的智能競速小車,并從系統(tǒng)軟硬件兩方面詳細(xì)闡述了該設(shè)計(jì)方案,有效實(shí)現(xiàn)了對智能競速小車運(yùn)行平穩(wěn)、精確控制的目的。在軟件算法上大膽創(chuàng)新,在保證其穩(wěn)定的同時,力求突破智能車速度的極限,總體提高了車速和車速控制的穩(wěn)定性,可以應(yīng)用于學(xué)生日常實(shí)驗(yàn)教學(xué)和其他研究領(lǐng)域。