陸振先,王倩
(1.南京理工大學(xué) 自動化學(xué)院,江蘇 南京 210094;2.上海大學(xué)機電工程與自動化學(xué)院,上海 200072)
基于PIC16F877A單片機的無線遙控智能小車設(shè)計與實現(xiàn)
陸振先1,王倩2
(1.南京理工大學(xué) 自動化學(xué)院,江蘇 南京 210094;2.上海大學(xué)機電工程與自動化學(xué)院,上海 200072)
設(shè)計了基于PIC16F877A單片機的無線遙控智能小車,使其具有無線遙控駕駛和自動駕駛兩種模式,無線遙控駕駛模式能在300 m范圍內(nèi)對小車進行高精度控制,并能夠?qū)崿F(xiàn)小車的前進、后退、加速、減速、左轉(zhuǎn)彎、右轉(zhuǎn)彎的遙控功能.自動駕駛模式能夠?qū)崿F(xiàn)小車左右避障功能.無線模塊采用射頻無線收發(fā)技術(shù),克服了傳統(tǒng)紅外遙控的控制范圍小、抗干擾性不高的缺點.在小車上還配備液晶顯示屏,能實時顯示小車的行駛速度、方向、駕駛模式等信息.
無線遙控小車;單片機;電機驅(qū)動
隨著電子技術(shù)的發(fā)展,無線遙控小車作為一種新型的職能小車在軍事偵察、防火、防爆以及在一些污染危險的場所代替人工作業(yè)發(fā)揮著重要的作用[1].本文基于抗干擾性較好的PIC系列單片機設(shè)計了無線遙控小車的硬件系統(tǒng)、軟件系統(tǒng),并實現(xiàn)了小車的制作.
系統(tǒng)主要分為兩個部分,即遙控部分和小車主體部分,小車主體部分主要由單片機模塊、可充電電源模塊、紅外感應(yīng)避障模塊、電機驅(qū)動模塊、電機組成.小車采用三輪機械結(jié)構(gòu),其中后兩輪為驅(qū)動輪.小車部分的電路模塊設(shè)計分布如圖1所示,其中單實線表示單片機與其他模塊的電路和通信示意,雙線箭頭表示系統(tǒng)電源的能流示意.
2.1 控制器選擇
控制器采用微芯(Microchip)公司推出的PIC16F877A單片機[2],PIC單片機采用精簡指令集(RISC)和哈
佛總線結(jié)構(gòu),使得PIC單片機具有出色的運算速度,其最短指令周期僅為200 ns.此外,PIC單片機還具有極強的抗干擾能力,使其在遙控控制領(lǐng)域具有自己的優(yōu)勢.
2.2 無線收發(fā)模塊
無線收發(fā)模塊選用nRF9E5無線通信芯片,該芯片采用無線射頻通信技術(shù),有效地改善傳統(tǒng)紅外遙控控制距離短[3],發(fā)射和接收器之間不能有障礙的重要缺陷,nRF9E5集接受發(fā)送功能為一體,最高發(fā)射速率為50 kB/s,最遠有效通信距離達到300 m,完全能夠滿足小車的控制任務(wù).圖 2為nRF9E作為無線射頻收發(fā)器的典型接線圖[4].
2.3 紅外避障模塊
2.3.1 紅外避障模塊硬件設(shè)計
本文設(shè)計的避障系統(tǒng)采用雙路交叉避障的模式,實現(xiàn)對障礙物的全方位避障,克服了紅外傳感器的點避障模式[5].在智能小車的前端設(shè)置左右兩個紅外避障傳感器,它們的探測方向不再平行于小車的行車路線,而是各成一個角度進行交叉探測,從而實現(xiàn)避障功能.
如圖3所示為紅外避障電路原理,通過紅外信號的發(fā)射與接收,得到反射回來的信號,然后將反射回來的信號放大,檢測,進而輸入控制器進行障礙判別.圖中S1發(fā)射紅外信號,S2接收紅外信號.LM567第5、6腳為譯碼中心頻率設(shè)定端,一般通過調(diào)整其外接可變電阻改變捕捉的中心頻率.紅外載波信號來自LM567的第5腳,載波信號與捕捉中心頻率一致,能夠極大的提高抗干擾特性.
2.3.2 雙路交叉避障設(shè)計
如圖4所示,本設(shè)計要求小車行駛兩側(cè)障礙物在與小車縱向車身距離為Lw時發(fā)出避障信號觸發(fā)控制,交叉避障角度選為35°(為LM567最大有效避障角度),小車的寬度為Cw,所以小車交叉避障閾值必須設(shè)為Ls=(Cw+Lw)/cosθ(LM567避障范圍為1-80 cm可調(diào)).所以,在小車前行的過程中會實時的檢測距小車前方Lf=(Cw+Lw)tanθ的障礙物,當一方檢測到障礙物時,此時對應(yīng)側(cè)會收到障礙物反射回來的信號,從而觸發(fā)對應(yīng)側(cè)避障控制位Ar(右側(cè)避障控制位),和Al(左側(cè)避障控制位),進而做出相應(yīng)的避障響應(yīng).
由圖4分析可知:小車前行過程中避障的范圍是覆蓋寬度為Cw+2Lw的帶狀區(qū)域.從而克服傳統(tǒng)紅外避障模式有避障盲區(qū)的缺點.
2.4 電機驅(qū)動模塊
電機驅(qū)動采用SGS公司的產(chǎn)品L298N,其內(nèi)部包含4通道邏輯驅(qū)動電路[6],是一種兩相和四相電機專用
驅(qū)動器.本文采用典型的L298N驅(qū)動電路接線法如圖5所示.其中OUT1、OUT2和OUT3、OUT4之間分別接2個電動機.IN1、IN2、IN3、IN4引腳連接單片機的控制電平,控制電機的正反轉(zhuǎn)動,ENA,ENB為兩個電機轉(zhuǎn)??刂剖鼓芏?,L298N的邏輯功能如表1所示.
2.5 LCD顯示模塊
為了能夠?qū)崟r直觀地獲知小車的運行狀況,在小車的控制板上方懸插一塊LCD液晶顯示屏.實時地顯示小車的運行動態(tài),包括小車行駛速度、行駛方向、行駛模式等相關(guān)信息.
本文采用LCM12864J-1無字庫型號12864芯片,采用字符取模編程方法驅(qū)動液晶屏幕,可以達到預(yù)期的效果.動態(tài)實時信息顯示如圖6所示.
軟件系統(tǒng)設(shè)計主要采用模塊化編程思想,程序主要分為自動控制模塊、遙控模塊、初始化模塊、通信模塊四個方面.這樣有利于修改,方便程序調(diào)試.另外,程序的具體開發(fā)和編譯采用基于C語言的MAPLAB_IDE軟件,具體程序流程如圖7所示.
系統(tǒng)上電后,首先進入初始化模塊,對單片機的中斷標志位、寄存器,通信關(guān)鍵字以及與無線射頻模塊的第一次通信握手等進行初始化設(shè)置.
初始化完畢以后進入主程序掃描,等待小車運行模式觸發(fā)選擇,即遙控模式和自動運行模式的選擇.若選擇遙控模式運行小車,則進入遙控模式子程序,此子程序包括無線射頻電路的接收和分解,繼而對分解信號進行信號判斷和相應(yīng)指令的操作,包括加速、減速、轉(zhuǎn)彎、前進、倒退,停止等控制.若選擇自動運行小車,則進入自動運行模式子程序,此子程序最重要的就是紅外避障控制程序,小車以勻速前行,當檢測到任何一方有障礙時,小車減速,障礙在左側(cè)時,小車減速右轉(zhuǎn)彎,同理,障礙在右側(cè)時,小車減速左轉(zhuǎn)彎,當左右兩側(cè)都檢測到障礙物時,小車減速原地掉頭.
在硬件和軟件設(shè)計完成后,需要對小車的運行狀況進行測試,并且針對測試的結(jié)果對系統(tǒng)進行調(diào)試和改進,本文設(shè)計的小車在調(diào)試過程中發(fā)現(xiàn):在遙控模式下,能夠準確遙控的距離為280 m,最快速度能夠達到0.8 m/s.而在自動駕駛模式下,調(diào)試中會出現(xiàn)避障不及時,容易沖撞到障礙物等問題.針對出現(xiàn)的問題,我們對紅外避障模塊的硬件電路和軟件程序模塊進行分析,發(fā)現(xiàn)紅外避障模塊在檢測到障礙存在時,其判斷閾值過大,導(dǎo)致避障信號的靈敏度下降.所以,當把判斷閾值改小以后,避障信號辨別的靈敏
度增大,使小車能夠及時的避障.
本文采用無線射頻收發(fā)技術(shù),使用抗干擾性比較好的PIC16F877A單片機作為主控芯片,使得系統(tǒng)的穩(wěn)定性和可控距離比傳統(tǒng)的紅外無線小車得到很大的提升,同時使用LCD把小車的相關(guān)信息直觀的顯示出來,方便人機交互.
整個系統(tǒng)采用了模塊化設(shè)計的方法,為無線遙控小車的開發(fā)提供了一種結(jié)構(gòu)清晰簡單實用穩(wěn)定可靠的設(shè)計方案.
[1]姜寶華,齊強.基于單片機的無線遙控智能小車設(shè)計與制作[J].電子技術(shù),2013(2):24-25.
[2]謝暉,王體見,曾擁軍.基于PIC單片機的無線遙控小車設(shè)計[J].今日電子,2012(6):58-60.
[3]李紅巖,高陽東.基于LPC2131的RF遙控智能小車的設(shè)計[J].專題研究,2012(12):10-13.
[4]左德參,馮敏華,陳文元,等.基于NRF9E5射頻無線遙控系統(tǒng)的設(shè)計[J].電子設(shè)計,2007,23(12):633-637.
[5]強彥,葉文鵬,屈明月,等.基于紅外避障的智能小車的設(shè)計[J].微電子學(xué)與計算機,2013(2):140-143.
[6]葉鄭凱,朱建鴻,李琳,等.基于單片機的無線遙控智能小車的設(shè)計與實現(xiàn)[J].計算機與現(xiàn)代化,2012(10):65-67.
Design and Realization of Wireless Remote Control Smart Car Based on PIC16F877A MCU
LU Zhen-xian1,WANG Qian2
(1.School of Automation,Nanjing University of Science and Technology,Nanjing,210094;
2.School of Mechatronic Engineering and Automation,Shanghai University,Shanghai 200072,China)
The paper designs a wireless remote control smart car based on PIC16F877A MCU.The car operates with two run-modes∶ wireless remote control run mode and automatic run mode.The wireless remote control run mode is able to make an accurate control with in 300 meters with the function of forwardness,backwardness acceleration,deceleration,left turn,and right turn.The automatic run mode has the obstacle avoidance in the right and left direction ahead.The wireless controlmode adopts the RF technology,which overcomes the disadvantages of traditional infrared ray wireless control for the short-distance control and susceptible to interference.The car is equipped with a LCD screen,which displays the current state of the car including run speed,run direction,run mode,etc.The car runs normally and steadily in testing.
wireless remote control car;MCU;motor drive
TP242.2
A
1008-2794(2014)04-0104-04
2014-01-16
陸振先,碩士研究生,研究方向:伺服控制系統(tǒng)、機器人,E-mail:luzhenxian12@126.com.