成樂凱 張 鵬 瞿 丹 劉振興 張 明
河北農(nóng)業(yè)大學,河北保定 071001
近年來,智能小車已成為車輛工程領(lǐng)域的熱點,出現(xiàn)在各個高校的比賽、競賽中。絕大多數(shù)的小車都是采用紅外傳感器來實現(xiàn)循跡,但是這類的循跡方法只能在有光照的前提下實現(xiàn)。因此本文設計了一種電磁循跡式智能分揀小車。該小車依照提前鋪設好的電磁軌道,利用電磁傳感器進行數(shù)據(jù)采集,實現(xiàn)小車自動循跡功能,規(guī)避了外界環(huán)境對小車行走路線的干擾,使機器人在白天、黑夜都可以進行工作。
1.1.1 STC12C5A60S2單片機
STC12C5A60S2單片機是一個單時鐘高速的單片機,屬于8051系列單片機,不但和stc89c51的引腳完全一致,而且還具有更高容量的存儲器。與其他的51系列單片機相比有許多優(yōu)點:
(1)相同的晶振情況下,速度是一般51的8~12倍;
(2)配置了8路10位AD;
(3)比其他的多了兩個定時器,帶PWM輸出功能;
(4)具有EEPROM;
(5)有1K的內(nèi)部擴展RAM;
(6)多了一個串口;
(7)中斷優(yōu)先級可以定義四種狀態(tài)。
1.1.2 電磁傳感器
電磁傳感器是把被測物理量轉(zhuǎn)換為感應電動勢的一種傳感器,又稱電磁感應式或電動力式傳感器。主要是針對測速齒輪而設計的發(fā)電型傳感器,將被測量在導體中感生的磁通量變化,轉(zhuǎn)換成輸出信號變化。
1.1.3 顏色識別傳感器
GY-31 TCS3200可以將物體的表面顏色轉(zhuǎn)換成相應的電壓或頻率輸出,來實現(xiàn)對物體的識別,實現(xiàn)智能分揀。
ADC轉(zhuǎn)換模塊
void InitADC() //初始化AD函數(shù)
{
P1ASF=0X06; // 1110 0111 //定義為AD轉(zhuǎn)換的IO口
ADC_RES=0;
ADC_CONTR=0xe8;
Delay(2);
}
void GetADCResult(BYTE ch) //讀取AD的函數(shù)
{
ADC_CONTR &=!ADC_FALG;
for(ch=0;ch<2;ch++){
switch(ch)
{
case 0: ADC_CONTR=0xe9; //定義P1.1為AD轉(zhuǎn)換 1110 1001
式中,S(r)是噪聲源的分布強度,F(xiàn)(ω)是功率譜。假設所有噪聲源都具有共性,那么通過以上討論可得出:
_nop_();
_nop_();
_nop_();
_nop_();
while(!(ADC_CONTR&ADC_FALG));
ADC_CONTR&=~ADC_FALG; //清除falg位
cg1=ADC_RES; //把傳到P1.1口的AD值(二進制)賦值給cg1
break;
case 1: ADC_CONTR=0xea; //定義P1.2口為AD轉(zhuǎn)換 1110 1010
_nop_();
_nop_();
_nop_();
_nop_();
while(!(ADC_CONTR&ADC_FALG));
ADC_CONTR&=~ADC_FALG;
cg2=ADC_RES; //把傳到P1.2口的AD值(二進制)賦值給cg2
break;
default: break;
}
圖1 硬件連接
圖2 程序流程圖
路徑中央的導線通有正弦規(guī)律變化的電流,由比奧-薩伐爾定律可知,變化的電場激發(fā)變化的磁場,且磁場和電場的變化規(guī)律一致。對于通有穩(wěn)恒電流I長度為L的直導線,周圍會產(chǎn)生磁場,在小車前方安裝有對稱的電磁傳感器,當小車自動行駛過程中偏離通中心線,前方的電磁傳感器會產(chǎn)生感應電動勢。在理想情況下,通電導線正好穿過小車的中心軸,則兩邊電磁傳感器產(chǎn)生大小相等、方向相同的感應電動勢,其差值為零。如果小車在行駛過程中偏移了方向,兩邊的電磁傳感器會產(chǎn)生電動勢差值,通過AD轉(zhuǎn)換器將電動勢差值轉(zhuǎn)換成數(shù)字信號由單片機進行處理[2],從而控制舵機給出轉(zhuǎn)角調(diào)整其行駛方向。當遇到指定物體時,紅外傳感器發(fā)出指示,顏色傳感器開始識別,控制機械臂抓取物體實現(xiàn)分揀。
本裝置采用了基于電磁傳感器式的循跡方式,解決了無法在無光照的情況下的工作的問題。應用了STC12C5A60S2單片機,相比于51單片機而言,多了AD轉(zhuǎn)換模塊,反應更迅速、更靈敏、反應能力更強。不僅具有結(jié)構(gòu)簡單、體積小巧、操作簡單、效率較高、成本較低等特點,還加入了避障功能,因此還具備安全穩(wěn)定的特點。實用性很高。