廣東海洋大學(xué) 王 慧 鄧志明 陳春雷 李永強(qiáng)
基于MC9S12XS128智能車電機(jī)和舵機(jī)設(shè)計(jì)與實(shí)現(xiàn)
廣東海洋大學(xué) 王 慧 鄧志明 陳春雷 李永強(qiáng)
以通有20KHz,100mA電流的導(dǎo)線所產(chǎn)生的磁場(chǎng)為檢測(cè)環(huán)境,重點(diǎn)介紹智能車電機(jī)與舵機(jī)的設(shè)計(jì)方法與實(shí)現(xiàn)。電機(jī)設(shè)計(jì)側(cè)重電機(jī)驅(qū)動(dòng)方案的選擇和驅(qū)動(dòng)電路、閉環(huán)調(diào)速系統(tǒng)設(shè)計(jì);舵機(jī)設(shè)計(jì)主要包括信號(hào)感應(yīng)、傳感器電路設(shè)計(jì)和信號(hào)處理程序編寫。實(shí)測(cè)結(jié)果表明,電機(jī)采用PID控制算法,舵機(jī)采用查表算法時(shí),智能車行駛快速穩(wěn)定,具有良好的尋線跟蹤能力。
智能車;電磁導(dǎo)航
智能車技術(shù)是涵蓋自動(dòng)控制、傳感器技術(shù)、電子技術(shù)等學(xué)科的熱點(diǎn)研究領(lǐng)域。在安全方面,可以通過(guò)傳感器準(zhǔn)確感知周圍環(huán)境,及時(shí)反應(yīng)給駕駛員,從而降低事故發(fā)生率,未來(lái)智能汽車將具有自動(dòng)識(shí)別行駛道路、自動(dòng)駕駛、自動(dòng)調(diào)速等功能。智能汽車研究與開(kāi)發(fā)主要包括信息技術(shù)、微電子技術(shù)、計(jì)算機(jī)技術(shù)、智能自動(dòng)化技術(shù)、人工智能技術(shù)、網(wǎng)絡(luò)技術(shù)、通信技術(shù)等方面[1]。
智能車競(jìng)賽是以智能汽車為載體的創(chuàng)意性科技競(jìng)賽,是一種具有探索性的工程實(shí)踐活動(dòng)。鑒于磁導(dǎo)航在智能交通領(lǐng)域中的實(shí)用價(jià)值和前景,要求是智能車通過(guò)感應(yīng)磁場(chǎng)變化實(shí)現(xiàn)小車快速穩(wěn)定尋跡。下面通過(guò)對(duì)電磁場(chǎng)感應(yīng)的差分信號(hào)分析,給出一種查表檢測(cè)方案,從而實(shí)現(xiàn)小車對(duì)運(yùn)行方向的準(zhǔn)確檢測(cè)。
智能車的驅(qū)動(dòng)一般由控制器、電機(jī)驅(qū)動(dòng)以及電機(jī)三個(gè)主要部分組成。驅(qū)動(dòng)電路的性能是影響電機(jī)能否快速而穩(wěn)定行駛的關(guān)鍵因素,電機(jī)驅(qū)動(dòng)也是智能車的重要模塊。
1.1 驅(qū)動(dòng)電路方案選擇
方案一:采用2~4片MC33886驅(qū)動(dòng)
MC33886為H橋式電源開(kāi)關(guān)IC, 該IC結(jié)合內(nèi)部控制的邏輯、電荷泵、柵極驅(qū)動(dòng)器以及導(dǎo)通電阻120mΩMOSFET輸出電路,可工作在5V~40V電壓范圍內(nèi),能夠控制連續(xù)感性直流負(fù)載電流高達(dá)5.0A,可以接受高達(dá)10kHz的2路PWM信號(hào)控制電機(jī)的轉(zhuǎn)向和速度。為了增強(qiáng)其驅(qū)動(dòng)能力可利用多塊33886并聯(lián)使用,起到增強(qiáng)驅(qū)動(dòng)能力、減小芯片發(fā)熱的作用,但實(shí)際測(cè)試發(fā)現(xiàn)發(fā)熱仍然比較嚴(yán)重。
方案二:采用2片BTS7960并聯(lián)
BTS7960B是應(yīng)用于電機(jī)驅(qū)動(dòng)的大電流半橋集成芯片,它帶有一個(gè)P溝道的高邊MOSFET、一個(gè)N溝道的低邊MOSFET和一個(gè)驅(qū)動(dòng)IC。BTS7960B的通態(tài)電阻典型值為16mΩ,驅(qū)動(dòng)電流可達(dá)43A,調(diào)節(jié)SR引腳外接電阻的大小可以調(diào)節(jié)MOS管導(dǎo)通和關(guān)斷時(shí)間,具有防電磁干擾功能。該芯片頻率可以達(dá)到25kHz,可以較好的解決方案一提到的MC33886使電機(jī)噪聲大和發(fā)熱的問(wèn)題,同時(shí)驅(qū)動(dòng)能力有了明顯提高,響應(yīng)速度快。但是,電機(jī)變速時(shí)會(huì)使電源電壓下降10%左右,控制器等其他電路有掉電危險(xiǎn)。
方案三:采用MC33886+場(chǎng)效應(yīng)管組成H橋
場(chǎng)效應(yīng)管搭建H橋驅(qū)動(dòng)電機(jī)。場(chǎng)效應(yīng)管具有內(nèi)阻小、開(kāi)關(guān)速度快、最大電流可自行設(shè)計(jì)等優(yōu)點(diǎn)。場(chǎng)效應(yīng)管P管用IRF4905,N管用IRF3205,受到P管電流限制,最大電流為74A。IRF3205的導(dǎo)通內(nèi)阻僅為8mΩ。因?yàn)閱纹瑱C(jī)輸出的PWM電壓不夠,所以需要增加刪極驅(qū)動(dòng)電路,可采用MC33886。
綜合以上三種驅(qū)動(dòng)方案,采用了MC33886+場(chǎng)效應(yīng)管組成H橋。
1.2 驅(qū)動(dòng)電路設(shè)計(jì)
采用H橋電路控制電機(jī),控制原理如圖1所示。
圖1 H橋電路圖
它由2個(gè)P型場(chǎng)效應(yīng)管Q1、Q2與2個(gè)N型場(chǎng)效應(yīng)管Q3、Q4組成,故稱 P-NMOS管H橋。橋臂上的4個(gè)場(chǎng)效應(yīng)管相當(dāng)于四個(gè)開(kāi)關(guān),P型管在柵極為低電平時(shí)導(dǎo)通,高電平時(shí)關(guān)閉;N型管在柵極為高電平時(shí)導(dǎo)通,低電平時(shí)關(guān)閉。場(chǎng)效應(yīng)管是電壓控制型元件,柵極通過(guò)的電流幾乎為“零”。
當(dāng)控制臂1置高電平(U=VCC)、控制臂2置低電平(U=0)時(shí),Q1、Q4關(guān)閉,Q2、Q3導(dǎo)通,電機(jī)左端低電平,右端高電平,所以電流沿控制臂2向控制臂1流動(dòng)。設(shè)為電機(jī)正轉(zhuǎn)。
當(dāng)控制臂1置低電平、控制臂2置高電平時(shí),Q2、Q3關(guān)閉,Q1、Q4導(dǎo)通,電機(jī)左端高電平,右端低電平,所以電流沿控制臂1向控制臂2流動(dòng)。設(shè)為電機(jī)反轉(zhuǎn)。
當(dāng)控制臂1、2均為低電平時(shí),Q1、Q2導(dǎo)通,Q3、Q4關(guān)閉,電機(jī)兩端均為高電平,電機(jī)不轉(zhuǎn)。
當(dāng)控制臂1、2均為高電平時(shí),Q1、Q2關(guān)閉,Q3、Q4導(dǎo)通,電機(jī)兩端均為低電平,電機(jī)也不轉(zhuǎn)。
因?yàn)閱纹瑱C(jī)輸出電壓為0~5V,而小車使用的H橋的控制臂需要0V或7.2V電壓才能使場(chǎng)效應(yīng)管完全導(dǎo)通,PWM輸入0V或5V時(shí),柵極驅(qū)動(dòng)電路輸出電壓為0V或7.2V。
實(shí)際電路采用MC3886做電壓放大驅(qū)動(dòng)?xùn)艠O,P型管采用IRF4905,N型管采用IRF3205,并采用RS-540電機(jī)。實(shí)際測(cè)試驅(qū)動(dòng)效果良好,MOS微熱。如圖2所示。
圖2 驅(qū)動(dòng)電路圖
1.3 軟件編程
1.3.1 調(diào)速方法
PWM調(diào)速方法通常采用功率場(chǎng)效應(yīng)管作為開(kāi)關(guān)元件,通過(guò)改變開(kāi)關(guān)元件的導(dǎo)通方式及通斷比來(lái)改變輸出電壓的大小與極性。當(dāng)開(kāi)關(guān)管的柵極輸入高電平時(shí),開(kāi)關(guān)管導(dǎo)通,直流電機(jī)兩端有電壓Ud,t時(shí)間后,柵極輸入低電平,開(kāi)關(guān)管截止,電機(jī)兩端電壓為零。重復(fù)前面的工作,直流電機(jī)兩端電壓波形如圖3所示。
圖3 PWM調(diào)速控制輸出電壓波形
在電源電壓Ud不變的情況下,端電壓的平均值Uo取決于占空比的大小。即改變占空比的值可以改變電樞端電壓的平均值,從而達(dá)到調(diào)速的目的。此處采用定頻調(diào)寬法改變占空比的值[2]。
MC9S12XS128單片機(jī)PWM有8個(gè)輸出通道,每一個(gè)輸出通道都可以獨(dú)立進(jìn)行輸出。每一個(gè)輸出通道都有一個(gè)精確的計(jì)數(shù)器(計(jì)算脈沖的個(gè)數(shù))、一個(gè)周期控制寄存器和兩個(gè)可供選擇的時(shí)鐘源。每一個(gè)PWM輸出通道都能調(diào)制出占空比從0—100%變化的波形。
電機(jī)PWM初始化函數(shù)如下(C語(yǔ)言)
//**************** PWM2,3電機(jī)驅(qū)動(dòng),8KHz *****
void PWM_Init(void)
{
PWME=0; //禁止PWM
PWMPRCLK=0x11; //時(shí)鐘預(yù)分頻B=A=48M/2=24M
PWMSCLA=1; //時(shí)鐘SA=A/2/1=12M
PWMSCLB=15; //時(shí)鐘SB=B/2/15=800K
PWMCLK=0x0e; //時(shí)鐘源的選擇
PWMPOL=0xff; //極性設(shè)置
PWMCAE=0x0c; //對(duì)齊方式設(shè)置
PWMCTL=0; //控制寄存器設(shè)置
PWMPER2=100; //周期SB/100=8K
PWMPER3=100; //周期SB/100=8K
PWMDTY2=0; //占空比
PWMDTY3=0; //占空比
PWME=0x0e; //使能PWM1,2,3
}
初始化完成后,只要改變輸出占空比就能調(diào)節(jié)電機(jī)速度。實(shí)現(xiàn)算法如下:
/******改變電機(jī)前進(jìn)的占空比,輸出為PWM3口****/
//i=占空比,0-100
void ChangeSpeed_PWM(uchar i)
{
if (i〉100)
{
i=100;
}
PWMDTY3=i;//PWM3口占空比越大,速度越快
PWMDTY2=0;
}
//*****減速函數(shù),根據(jù)當(dāng)前占空比來(lái)確定反向時(shí)間****
void Stop_Moving(uint i)
{
uint j;
PWMDTY3=0;
for (;i〉0;i--)
{
PWMDTY2=i;
for(j=0;j〈30000;j++)//簡(jiǎn)單延時(shí),可以使減速更平滑
{;}
}
PWMDTY2=0;
}
至此,已完成了對(duì)電機(jī)的一些簡(jiǎn)單控制。如加速、減速、剎車、啟動(dòng)等。但由于行駛過(guò)程中存在慣性等干擾因素,必須進(jìn)一步提高電機(jī)的抗干擾性。為此,須引入自動(dòng)控制閉環(huán)調(diào)速系統(tǒng)。
1.3.2 速度閉環(huán)系統(tǒng)設(shè)計(jì)
圖4 速度閉環(huán)示意圖
PID 控制器是控制系統(tǒng)中技術(shù)比較成熟,而且應(yīng)用最廣泛的一種控制器。它的結(jié)構(gòu)簡(jiǎn)單,參數(shù)容易調(diào)整,因此在工業(yè)的各個(gè)領(lǐng)域都有應(yīng)用。隨著計(jì)算機(jī)的出現(xiàn),把它移植到計(jì)算機(jī)控制系統(tǒng)中,將原來(lái)的硬件實(shí)現(xiàn)功能用軟件代替,從而形成數(shù)字PID控制器,其算法則稱為數(shù)字PID算法。
速度閉環(huán)控制采用數(shù)字式PID控制算法,控制算式為:
算法實(shí)現(xiàn)如下:
//*********************離散式PID***********
float Speed_PID(float set_value,float current_value)
{
float diff,result;
e0=e1;
e1=set_value-current_value;
diff=e1-e0;
pid_sum+=e1;
result=Kp*e1+Ki*pid_sum+Kd*diff;
return result;
}
其中,e1是當(dāng)前速度與期望的誤差,e0是上一次的誤差。
實(shí)際電機(jī)控制中,因?yàn)榭紤]到微分項(xiàng)會(huì)放大誤差,微分項(xiàng)系數(shù)Kd取值很小,甚至為零。采用PID控制后取得了較好的效果。
2.1 信號(hào)感應(yīng)
要使舵機(jī)自主識(shí)別路徑,首先必須用傳感器獲取道路信息。本項(xiàng)目中要識(shí)別的是通有20kHz、100mA交變電流的導(dǎo)線產(chǎn)生的交變磁場(chǎng)。首先要對(duì)20KHz信號(hào)進(jìn)行放大,并且除去其他干擾信號(hào)影響。這里采用LC串并聯(lián)諧振電路來(lái)實(shí)現(xiàn)選頻。
2.2 信號(hào)調(diào)節(jié)放大
由于諧振出來(lái)的電壓比較小,一般是幾十毫伏,為了更精確地測(cè)量感應(yīng)電壓,需要對(duì)諧振電壓進(jìn)一步放大,通常放大到1-5V即可。所以需要放大電路具有100倍左右的放大倍數(shù)。采用一階共射三極管放大電路方案[3],因?yàn)榇朔桨负?jiǎn)單,可靠,實(shí)測(cè)放大倍數(shù)85倍左右,能夠滿足所需要求。放大之后的感應(yīng)電壓幅值測(cè)量采用二極管倍壓檢波電路獲得正比于交流電壓信號(hào)峰值的直流信號(hào),然后用單片機(jī)AD口進(jìn)行采集。二極管采用壓降僅有0.1-0.3V的肖特基二極管。傳感器電路如圖5所示。
圖5 傳感器電路圖
2.3 信號(hào)處理以及控制舵機(jī)
2.3.1 電磁傳感器的工作特性
電磁軌道與傳感器相對(duì)位置縱向剖面如圖6所示,若傳感器安裝高度為h,x為傳感器與賽道的橫向偏移,則r為傳感器與軌道的直線距離,s為傳感器的面積,B為傳感器處的磁感應(yīng)強(qiáng)度大小[4]。
圖6 電磁傳感器剖面圖
由電磁場(chǎng)理論得傳感器處的磁感應(yīng)強(qiáng)度大小為:
傳感器中的磁通為:
傳感器感應(yīng)電動(dòng)勢(shì)為:
通過(guò)放大檢波后傳感器輸出的感應(yīng)電動(dòng)勢(shì)為:
則有:
感應(yīng)電動(dòng)勢(shì)V隨線圈水平位置x的變化如圖7所示。
圖7 單線圈感應(yīng)電動(dòng)勢(shì)與線圈位置關(guān)系圖
可以看出,單個(gè)線圈感應(yīng)電動(dòng)勢(shì)V是x的偶函數(shù),因此無(wú)法分辨左右。為實(shí)現(xiàn)傳感器檢測(cè)偏移方向的目的,可以在軌道兩側(cè)等距設(shè)置雙電感,并進(jìn)行差分處理。也就是雙水平線圈布局方案。
圖8 雙水平線圈差分信號(hào)與線圈位置關(guān)系圖
根據(jù)式(5)可畫出差分信號(hào)的工作特性曲線[5](圖8)。該方案能夠很好的檢測(cè)偏移方向,在某個(gè)區(qū)間內(nèi)具有比較好的單調(diào)性,可以采用分段線性方程進(jìn)行擬合。但這里我們采用最簡(jiǎn)單,可行的查表方案。即每一個(gè)位置對(duì)應(yīng)一個(gè)道路誤差值,根據(jù)誤差值的大小輸出控制舵機(jī)的值。
2.3.2 雙水平線圈查表方案
圖9 雙水平線圈布局
如圖9所示,為了消除電流的影響,提取的誤差為:
這樣提取出來(lái)的誤差就是一個(gè)比值,不是具體的一個(gè)物理量,從而提高了智能車對(duì)軌道的適應(yīng)性。誤差范圍從-1~1。-1就是2號(hào)電感移到了導(dǎo)線的上方,0就是車模在中間位置,1就是1號(hào)電感移到了導(dǎo)線的上方。
算法實(shí)現(xiàn)誤差提取如下:
num=((float)AD_value0-AD_value1)/(AD_value0+AD_value1)*100;
其中乘上100是使精度能精確到小數(shù)點(diǎn)后兩位。
同時(shí)把舵機(jī)從右極限30度到左極限30度劃分成20份。也就是一個(gè)區(qū)間對(duì)應(yīng)舵機(jī)3度的轉(zhuǎn)向。
具體算法實(shí)現(xiàn)如下:
#define Direction_Divice 20 //把200MM的檢測(cè)產(chǎn)度劃分20個(gè)區(qū)間
#define Direction_PWM_Base 14850 //舵機(jī)最右角度時(shí)的占空比值
#define Direction_PWM_Max 22050 //舵機(jī)最左角度時(shí)的占空比值
#define Direction_PWM_Wide 360 //把轉(zhuǎn)角劃分為閾值區(qū)間值的脈沖增加值
#define Direction_PWM_Middle 18450 //正中PWM值
以上舵機(jī)角度PWM值是在完成舵機(jī)PWM初始化后,實(shí)際測(cè)量得到的值,采用的是SD-5數(shù)字舵機(jī)。舵機(jī)控制流程見(jiàn)圖10。
圖10 舵機(jī)控制流程圖
其算法實(shí)現(xiàn)如下:
//輸入為區(qū)間號(hào),輸出為轉(zhuǎn)角對(duì)應(yīng)的PWM波形
//改變?yōu)楫?dāng)前PWM周期結(jié)束有效
void ChangeDirection_PWM(char num)
{
uint Output_PWM;
if (num〉=-1&&num〈=1)
{
Direction_PWM_Set=0;
}
else
Direction_PWM_Set=(int)num*Direction_PWM_Wide;
//************舵機(jī)PD調(diào)節(jié)輸出**********
Output_PWM=Direction_PWM_Middle+ Direction_PWM_Set;
//************舵機(jī)死區(qū)保護(hù)************
if (Output_PWM〈=Direction_PWM_Base)
PWMDTY01=Direction_PWM_Base;
//PWM通道0和1級(jí)聯(lián)輸出控制舵機(jī)
else
if (Output_PWM〉=Direction_PWM_Max)
PWMDTY01=Direction_PWM_Max;
else
PWMDTY01=Output_PWM;
}
在智能車設(shè)計(jì)過(guò)程中,電機(jī)和舵機(jī)是兩大關(guān)鍵部分。智能車能否跑得又快又穩(wěn)與電機(jī)的設(shè)計(jì)相關(guān)。智能車能否準(zhǔn)確的尋跡與舵機(jī)的設(shè)計(jì)相關(guān)。本文著重從原理、電路設(shè)計(jì)以及程序?qū)崿F(xiàn)等幾方面研究了磁導(dǎo)航智能車電機(jī)和舵機(jī)的設(shè)計(jì)流程與方法。實(shí)際測(cè)試結(jié)果表明,電機(jī)采用PID控制算法,舵機(jī)采用查表算法時(shí),智能車行駛快速穩(wěn)定,具有良好自主尋線跟蹤能力。
[1]梁玉紅.智能車研究與發(fā)展策略.[J].電子技術(shù),2010,(6):1-2.
[2]王蘇.智力電機(jī)PWM調(diào)速研究及單片機(jī)控制實(shí)現(xiàn)[J].機(jī)電工程技術(shù),2008年,37(11):82.
[3]童詩(shī)白.模擬電子技術(shù)基礎(chǔ)(第四版)[M].高等教育出版社,2006:31-40.
[4]孫書詠.電磁軌道智能車賽道檢測(cè)方法研究[J].西安郵電學(xué)院學(xué)報(bào),2011,16(6):1.
[5]電磁組競(jìng)賽車模路徑檢測(cè)設(shè)計(jì)參考方案[OL].競(jìng)賽秘書處,2010-1,版本1.0:5-6.
圖3 花式流水燈實(shí)物
本設(shè)計(jì)以單片機(jī)為控制核心,使多路花式流水燈結(jié)構(gòu)大為簡(jiǎn)化,并且花式擴(kuò)展性強(qiáng),同時(shí)在硬件設(shè)中將流水燈布局為心型,加裝鐵盒,具有外形美觀、攜帶方便、性價(jià)比高、體積小等特點(diǎn),有較高的應(yīng)用價(jià)值。
參考文獻(xiàn)
[1]王莉莉,宋冬萍.基于單片機(jī)的花式流水燈的設(shè)計(jì)[J].廣西輕工業(yè),2011,11:82-83.
[2]陳高峰,熊剛,胡啟迪.單片機(jī)原理及應(yīng)用[M].北京:北京大學(xué)出版社,2012.
[3]鄭棣,徐迎春,劉雨.基于51單片機(jī)的多色點(diǎn)陣顯示系統(tǒng)設(shè)計(jì)[J].自動(dòng)化技術(shù)與應(yīng)用,2014,33(12)5:109-113.
作者簡(jiǎn)介:
熊剛(1985—),男,河南信陽(yáng)人,碩士,講師,研究方向:電氣自動(dòng)化控制技術(shù)。
王慧(1963-),女,副教授,研究方向:智能控制系統(tǒng)、太陽(yáng)能的利用、光纖傳感器的應(yīng)用。
項(xiàng)目支持:廣東省實(shí)驗(yàn)室研究基金項(xiàng)目(編號(hào):GDJ2012063)、廣東海洋大學(xué)創(chuàng)新強(qiáng)校工程科研項(xiàng)目(編號(hào):GDOU2014050240)。