于璦雯
摘 要:本文設(shè)計(jì)了一種基于PID的智能小車(chē),該小車(chē)包括電源模塊、電機(jī)控制、紅外循跡等子模塊。以kl26核心板為硬件控制中心,采用直流電機(jī)驅(qū)動(dòng)。給出了硬件結(jié)構(gòu)組成,搭建了小車(chē)控制系統(tǒng)。實(shí)驗(yàn)顯示,系統(tǒng)能夠?qū)崿F(xiàn)小車(chē)速度的精確控制,并在此基礎(chǔ)上可以根據(jù)需要添加各種功能應(yīng)用。
關(guān)鍵詞:智能小車(chē) PID 車(chē)速控制
中圖分類(lèi)號(hào):TP18文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1003-9082(2020)06-0-01
在智能小車(chē)中,基于直流電機(jī)的控制模塊、識(shí)別模塊及轉(zhuǎn)向模塊是整個(gè)小車(chē)的硬件部分,它們需要能夠相互配合,才能平穩(wěn)地行駛[1]。相比其他算法而言,PID具有很多明顯的優(yōu)點(diǎn),例如其算法簡(jiǎn)潔,處理速度快[2]??刂浦蠵ID的誤差對(duì)整體控制模塊的影響很小,控制性能與相關(guān)參數(shù)有聯(lián)系,一般條件下,它是能夠滿(mǎn)足電機(jī)調(diào)速的要求的。通過(guò)光電編碼器獲得脈沖數(shù),并計(jì)算車(chē)速,然后通過(guò)比較與給定速度之間的差異完成車(chē)速控制。由PID算法調(diào)節(jié)獲得PWM波輸出數(shù)據(jù),實(shí)現(xiàn)智能小車(chē)電機(jī)調(diào)速控制,以相對(duì)更短的時(shí)間實(shí)現(xiàn)速控,從而提高控制效果,其具有可靠性高、實(shí)現(xiàn)性強(qiáng)的特點(diǎn)。
一、系統(tǒng)設(shè)計(jì)
本智能車(chē)系統(tǒng)主要包括kl26核心板、電源管理模塊、測(cè)速模塊、電機(jī)控制模塊、舵機(jī)模塊和無(wú)線(xiàn)收發(fā)模塊。所有模塊含硬、軟件兩部分。完成了智能車(chē)硬件結(jié)構(gòu)設(shè)計(jì)。搭建了電源控制模塊和驅(qū)動(dòng)電路,采用AltiumDesigner完成了相關(guān)設(shè)計(jì)。其系統(tǒng)結(jié)構(gòu)如圖1所示。
圖1 智能小車(chē)原理結(jié)構(gòu)圖
硬件設(shè)計(jì)如下:
1.供電設(shè)計(jì)
電源部分采用電池供電,第一部分通過(guò)lm2596-adj芯片給舵機(jī)提供6V的電壓,根據(jù)公式Vout=1.23*(1+RH/RL),可得輸出電壓約為6V。另一部分通lm2596lm2596-5.0得到5V電壓,通過(guò)電壓,通過(guò)1117-3.3芯片將5V降成3.3V。此處單片機(jī)單獨(dú)用一個(gè)1117-3.3供電。
2.電機(jī)控制
智能車(chē)是利用直流電機(jī)操控后輪來(lái)驅(qū)動(dòng)的,通過(guò)直流電機(jī)的驅(qū)動(dòng)力為智能小車(chē)提供前進(jìn)和后退的動(dòng)力。采用4個(gè)IRF340,組成一個(gè)H橋電路,構(gòu)成單片控制的小功率直流電機(jī)伺服系統(tǒng),實(shí)現(xiàn)對(duì)直流電機(jī)的加減速和正反轉(zhuǎn)的控制。
3.紅外循跡
本系統(tǒng)采用四個(gè)紅外光電對(duì)管實(shí)現(xiàn)循跡功能,每個(gè)紅外對(duì)管的發(fā)射管不斷地發(fā)射紅外線(xiàn),當(dāng)發(fā)射出的紅外線(xiàn)沒(méi)有被反射回來(lái)或者被反射回來(lái)但是強(qiáng)度不夠大時(shí),紅外接收一直處于關(guān)斷狀態(tài),此時(shí)模塊的TTL輸出為高電平,相應(yīng)的指示二極管一直處于熄滅狀態(tài);當(dāng)黑線(xiàn)出現(xiàn)在檢測(cè)范圍內(nèi)時(shí),紅外線(xiàn)被吸收且強(qiáng)度足夠大,紅外接收管關(guān)斷,此時(shí)模塊的TTL輸出為高電平,指示二極管熄滅。
二、軟件開(kāi)發(fā)
按鍵進(jìn)行模式選擇,進(jìn)入不同模式后對(duì)目標(biāo)值進(jìn)行修改,通過(guò)PID算法對(duì)霍爾返回的測(cè)量值和目標(biāo)值進(jìn)行計(jì)算,返回增量,輸出PWM,實(shí)現(xiàn)電機(jī)速度的閉環(huán)控制。同時(shí)通過(guò)LCD、串口進(jìn)行速度等參數(shù)的顯示。
對(duì)應(yīng)控制程序中的主要命令如下:
if(gpio_get(PTC8)==0)//電機(jī)1測(cè)速
count=-tpm_pulse_get(TPM2)*10;
elsecount=tpm_pulse_get(TPM2)*10;
tpm_pulse_clean(TPM2);
if(gpio_get(PTC10)!=0)//電機(jī)2測(cè)速
count1=-lptmr_pulse_get()*10;
elsecount1=lptmr_pulse_get()*10;
lptmr_pulse_clean();
ab=IncPIDCalc(count);//電機(jī)1PID
ba=IncPIDCalc1(count1);//電機(jī)2PID
motor_turn(ab,ba);//返回給電機(jī)
三、系統(tǒng)調(diào)試
軟件方面我們采用了IAR7.3版本的編譯器進(jìn)行代碼的編寫(xiě)及調(diào)試,上位機(jī)程序采用了凌立印象上位機(jī)V3.0進(jìn)行串口收發(fā)數(shù)據(jù)。硬件上,使用的是自己繪制的KL26最小系統(tǒng)板連上一個(gè)雙電機(jī)的板配合軟件進(jìn)行
調(diào)試。
結(jié)語(yǔ)
本文針對(duì)智能小車(chē)車(chē)速控制需要簡(jiǎn)單易行的要求,設(shè)計(jì)了一種基于PID的智能控制系統(tǒng),完成了小車(chē)硬件搭建和軟件編程等工作。實(shí)驗(yàn)結(jié)果顯示,該智能小車(chē)可以精確控制車(chē)速,并可根據(jù)需要添加各種功能應(yīng)用。
參考文獻(xiàn)
[1]韓毅,楊天.基于HCS12單片機(jī)的智能尋跡模型車(chē)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與設(shè)計(jì),2008,(18):4736-4739.
[2]李晨,宓超.基于飛思卡爾單片機(jī)MC9S12XS128的智能車(chē)設(shè)計(jì)[J].上海海事大學(xué)學(xué)報(bào),2012,⑴:82-84.
作者簡(jiǎn)介:于璦雯(1999.08—)女,漢,河北滄州人,大連理工大學(xué),本科在讀,研究方向:計(jì)算機(jī)技術(shù)。