謝作敏+臧天++劉俊楓+王勤湧+江琳
摘 要:首先設(shè)計基于ARM Cortex-M3內(nèi)核的智能小車控制系統(tǒng),利用模塊化的理念設(shè)計了無線通信、紅外傳感器、避障模塊、電機驅(qū)動、電機測速、電源管理等硬件模塊,采用NRF24L01設(shè)計了智能小車的無線通訊系統(tǒng),利用紅外傳感器沿白線尋跡,采用光電編碼器實現(xiàn)小車的測速功能,設(shè)計了小車行車程序,實現(xiàn)小車按控制者要求完成特定路線,并通過軟件速度調(diào)節(jié)實現(xiàn)小車啟停、勻速和加減速控制。
關(guān)鍵詞:NRF24L01無線傳輸;智能小車;紅外傳感器尋跡
引言
在當(dāng)代智能化的潮流下,通過智能化能從很大程度上減輕人工的工作負擔(dān),是今后的發(fā)展方向。本設(shè)計的智能尋跡小車,可以按照預(yù)設(shè)的模式在一個預(yù)先安置軌跡的環(huán)境里,根據(jù)指令在不同的預(yù)設(shè)節(jié)點間自行運作,并具避障能力。采用STM32F103VBT6芯片作為小車的檢測控制核心;采用以LM339電壓比較器為核心的紅外傳感器模塊進行循跡,并采用hc-sr04超聲波模塊檢測障礙物,使微處理器按照預(yù)設(shè)的模式控制小車進行尋跡和避障。
1 控制系統(tǒng)結(jié)構(gòu)和無線通信網(wǎng)絡(luò)設(shè)計
基于ARM Cortex-M3 內(nèi)核的STM32F103VBT6微處理器芯片和nRF24L01的智能小車涉及到傳感器應(yīng)用、無線傳輸?shù)取V悄苄≤嚿想姾?,可由上位機確定小車的工作方式(待機,循跡或避障等);循跡,避障模塊是根據(jù)相應(yīng)傳感器所檢測數(shù)據(jù)來執(zhí)行相應(yīng)動作。為了獲取對小車方位的精準(zhǔn)定位,這里選擇建設(shè)坐標(biāo)的方式并根據(jù)運行情況更新坐標(biāo)。
(1)要實現(xiàn)自動尋跡,智能小車的傳感器系統(tǒng)必須通過各類傳感器,獲取小車的狀態(tài)、場地環(huán)境特征兩種信號。
(2)預(yù)行軌道設(shè)計.本設(shè)計的預(yù)設(shè)主行駛軌跡分為橫向(Y軸)與縱向(X軸)。節(jié)點標(biāo)志為與主行駛軌跡垂直,且于主行駛軌跡等寬的一條線段與主行駛軌跡的交點。即主行駛軌跡X軸與Y軸的交點也視為一個節(jié)點。
2 控制系統(tǒng)硬件和軟件設(shè)計
智能小車的硬件采用模塊化設(shè)計理念,智能小車的硬件設(shè)計如圖2所示,主要包括以下幾個方面。
(1)處理器模塊。該模塊是智能小車的“大腦”,用于接收指令,發(fā)出控制命令,MCU選用了基于ARM Cortex-M3內(nèi)核的STM32F1
03VBT6微處理器芯片。
(2)循跡模塊。該模塊采用以LM339電壓比較器為核心制作的4路紅外傳感器,可識別白線和黑線。當(dāng)感應(yīng)到傳感器反射回來的紅外光時,紅色指示燈亮,輸出為低電平;當(dāng)味感應(yīng)到傳感器反射回來的紅外光時,指示燈不亮,輸出高電平。通過編程實現(xiàn)智能小車的尋跡。
(3)電機驅(qū)動模塊。設(shè)計采用TB6612FNG電機驅(qū)動模塊。TB6612FNG是基于MOSFET的H橋集成電路,效率遠高于晶體管H橋驅(qū)動器。相比L293D每通道平均600ma的驅(qū)動電流和1.2A的脈沖峰值電流,它的輸出負載能力提高了一倍。相比L298N的熱耗性和外圍二極管續(xù)流電路,它無需外加散熱片,外圍電路簡單,只需外接電源濾波電容就可以直接驅(qū)動電機,利于減小系統(tǒng)尺寸。對于PWM信號,高達100KHz的頻率相比以上2款芯片的5KHz和40KHz也具有非常大的優(yōu)勢。并配合4個直流減速電機和麥克納姆輪已達到可以隨意切換4個行進方向。
(4)無線通信模塊。采用nRF24L01,nRF24L01輸出功率頻道選擇和協(xié)議的設(shè)置可以通過SPI接口進行設(shè)置。幾乎可以連接到各種單片機芯片,并完成無線數(shù)據(jù)傳送工作。
電流消耗極低:當(dāng)工作在發(fā)射模式下發(fā)射功率為0dBm時電流消耗為11.3mA,接收模式時為12.3mA,掉電模式和待機模式下電流消耗更低。
(5)避障模塊。選用hc-sr04超聲波模塊檢測障礙物??紤]到在不同的場合下,照明光源可能不同,對于在車身上側(cè)的紅外傳感器可能會有未知的干擾。而且考慮到在工廠中可能會存在拋光金屬類的對紅外光漫反射性差的障礙物,可能對于紅外傳感器無法正確識別。超聲波對外界光線和電磁場不敏感,可用于黑暗、有灰塵或煙霧、電磁干擾強、有毒等惡劣環(huán)境中。本設(shè)計對于測距的要求不是很長,所以選用了超聲波傳感器。
3 紅外傳感器尋跡算法設(shè)計
//側(cè)方的紅外傳感器檢測到設(shè)定位置,控制電機停止
if(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_1)==Bit_RESET)
{
systick_config(10); while(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_1)==Bit_RESET)
{
forward(); //前進程序
}
stop(); //停止程序
x--;
systick_config(1000);
}
傳感器檢測到小車偏離軌道,自動校正回直線
if((GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_4)==Bit_RESET)&&(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_5)!=Bit_RESET))
{
Setleft(seep); //傳感器檢測到向右偏移,左電機加速,小車校正回原軌道
}
elseif((GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_5)==Bit_RESET)&&(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_4)!=Bit_RESET))
{
SetRight(seep); //傳感器檢測到向左偏移,右電機加速,小車校正回原軌道
}
else
{
hold(seep); //傳感器未檢測偏移,小車保持原來狀態(tài)行駛
}
4 結(jié)束語
本文主要分析紅外傳感器在智能小車尋跡方面的應(yīng)用,采用nRF24L01無線通訊模塊,實現(xiàn)了上位機對小車的控制,控制芯片基于ARM Cortex-M3內(nèi)核的微處理器,硬件采用模塊化設(shè)計理念設(shè)計無線通訊模塊、尋跡模塊、電機驅(qū)動模塊等硬件模塊,設(shè)計了智能小車上位機控制系統(tǒng),使得本智能小車能在多種場合使用,對于智能小車的控制研究和控制平臺的設(shè)計有十分重要的意義。
參考文獻
[1]申忠宇,鄭啟文,王川,等.無線通信網(wǎng)絡(luò)的多智能小車編隊控制系統(tǒng)[J].南大學(xué)學(xué)報,2013.
[2]強彥,葉文鵬,屈明月,等.基于紅外避障的智能小車的設(shè)計[J].太原理工大學(xué)計算機科學(xué)與技術(shù)學(xué)院,2013.
[3]陳暉,張軍國,李默涵.基于STC89C52和nRF24L01的智能小車設(shè)計[J].現(xiàn)代電子技術(shù)2012,35(17).
[4]張偉,陳迎,韓麗娜,等.智能小車系統(tǒng)的設(shè)計[J].實驗室研究與探索,2011,30(9).