段麗娜
(華中科技大學武昌分校 湖北 武漢 430064)
隨著FPGA從可編程邏輯芯片升級為可編程系統級芯片,其在電路中的角色已經從最初的邏輯膠合延伸到數字信號處理、接口、高密度運算等廣闊的范圍,應用領域也從通信延伸到消費電子、汽車電子、工業控制、醫療電子等更多領域。本文在研究嵌入式操作系統的基礎上,提出了基于FPGA的智能小車設計方案,旨在自動實現工作現場、危險工作地段等特殊環境進行監視和控制,采用Altera公司的CycloneⅡEP2C5T這款芯片為控制核心,同時采用了紅外傳感器及超聲波傳感器,設計了一種具有避障循跡功能的智能小車系統。
本設計要實現一個能自動循跡自動避障的智能小車控制系統,采用FPGA芯片實現了智能小車的控制等的功能,選擇常見的電機模型車為機械平臺,通過細化設計要求,結合傳感器技術和電機控制技術相關知識實現小車的各種功能。設計完成以由紅外線自動尋跡、超聲波自動避障組成的硬件模塊結合軟件設計組成多功能智能小車,共同實現小車的前進倒退、轉向行駛,自動根據地面黑線尋跡導航,檢測障礙物后避障,并實時顯示障礙物距離等功能,實現智能控制。
智能小車由傳感器信號處理模塊、電機驅動模塊和控制模塊,與車上的傳感系統以及電機驅動電路相配合,實現小車自主運動的功能,其中各個系統模塊均用VHDL語言描述并在FPGA芯片中實現自動循跡避障,在LED屏顯示障礙物距離等功能。該邏輯電路的工作原理是根據紅外傳感器發回來的數據,系統采用了4個紅外對射傳感器,通過FPGA來檢測傳感器信號實現小車躲避障礙物。超聲波測距原理一般采用渡越時間法TOF,首先測出超聲波從發射到遇到障礙物返回所經歷的時間,再乘以超聲波的速度就得到二倍的聲源與障礙物之間的距離了。控制車模運行狀態,如前進、后退、左轉、右轉,服務器端打開GPIO驅動,通過GPIO端口輸出控制信號,控制FPGA輸出占空比可調的PWM信號,即可控制車模的運行狀態。電機控制采用PWM脈沖寬度調制方式來控制汽車的前進速度。PWM信號送入電機驅動芯片的控制端來調節速度。小車系統框圖如圖1所示。
圖1 智能小車系統框圖Fig.1 Car intelligent system block diagram
TCRT5000光電傳感器模塊是基于TCRT5000紅外光電傳感器設計的一款紅外反射式光電開關。傳感器采用高發射功率紅外光電二極管和高靈敏度光電晶體管組成,輸出信號經施密特電路整形,穩定可靠。傳感器的紅外發射二極管不斷發射紅外線,當發射出的紅外線沒有被反射回來或被反射回來但強度不夠大時,光敏三極管一直處于關斷狀態,此時模塊的輸出端為低電平,指示二極管一直處于熄滅狀態;被檢測物體出現在檢測范圍內時,紅外線被反射回來且強度足夠大,光敏三極管飽和,此時模塊的輸出端為高電平,指示二極管被點亮。TCRT5000反射式光電傳感器是經常使用的傳感器,這個系列的傳感器種類齊全、價格便宜、體積小、使用方便、質量可靠、用途廣泛。此傳感器含一個反射模塊(發光二極管)和一個接收模塊(光敏三極管)。通過發射紅外信號,看接收信號變化判斷檢測物體狀態的變化,圖2為TCRT5000傳感器模塊電路原理圖及實物圖。
圖2 TCRT5000傳感器模塊原理圖及實物圖Fig.2 TCRT5000 sensormodule principle and the real figure
當小車在白色地面行駛時,裝在車下的紅外發射管發射紅外線信號,經白色反射后,被接收管接收,一旦接收管接收到信號,那么圖中光敏三極管將導通,比較器輸出為低電平;當小車行駛到黑色引導線時,紅外線信號被黑色吸收后,光敏三極管截止,比較器輸出高電平,從而實現了通過紅外線檢測信號的功能。將檢測到的信號送到控制模塊的I/O口,當 I/O口檢測到的信號為高電平時,表明紅外光被地上的黑色引導線吸收了,表明小車處在黑色的引導線上;同理,當 I/O口檢測到的信號為低電平時,表明小車行駛在白色地面上。
回滯比較器LM324在系統中起到抗干擾的作用,LM324為四運放集成電路,采用14腳雙列直插塑料封裝。內部有四個運算放大器,有相位補償電路。電路功耗很小,工作電壓范圍寬,可用正電源 3~30 V,或正負雙電源±1.5~±15 V工作。在黑線檢測電路中用來確定紅外接收信號電平的高低,以電平高低判定黑線有無。在電路中,LM324的一個輸入端需接滑動變阻器,通過改變滑動變阻器的阻值來提供合適的比較電壓,圖3為LM324的管腳圖。
圖3 LM324的管腳圖Fig.3 LM324 pin drawing
圖4為紅外對管黑線檢測電路。
圖4 紅外對管黑線檢測電路Fig.4 Infrared tube black line detection circuit
超聲波發生器測距原理是經發射器發射出長約6mm,頻率為 40 kHz的超聲波信號,此信號被物體反射回來由接受頭接受,接收頭實質上是一種壓電效應的換能器。它接受到信號后產生mv級的微弱電壓信號。超聲波傳感模塊如圖5所示。
圖5 超聲波傳感模塊Fig.5 Ultrasonic sensingmodule
超聲波測距是借助于超聲脈沖回波渡越時間法來實現的。原理框圖如圖6所示。
超聲波發射電路如圖7所示。
圖6 超聲波測距原理圖Fig.6 Ultrasonic ranging principle diagram
圖7 超聲波發射電路Fig.7 Ultrasonic emission figure
電機驅動模塊采用專用芯片L298N作為電機驅動芯片,L298N是一個具有高電壓大電流的全橋驅動芯片,其響應頻率高,一片L298N可以分別控制兩個直流電機。表1為L298N功能表。L298N的 5、7、10、12四個引腳接到 FPGA上,通過對FPGA的編程就可實現兩個直流電機的PWM調速控制,其驅動電路的設計如圖8所示。
圖8 L298N電機驅動電路Fig.8 L298Nmotor drive circuit
表1 L298N輸入輸出關系Tab.1 L298N input output relationship
本系統采用PWM來調節直流電機的速度,通過VHDL語言編程實現FPGA的邏輯門控制。小車進入循跡模式后就開始不停地掃描與紅外探測器連接的單片I/O口,一旦檢測到某個I/O口有信號變化,就執行相應的判斷程序,把相應的信號發送給電動機從而糾正小車的運行狀態。小車循跡避障流程圖分別如圖9、圖10所示。
圖9 小車循跡流程圖Fig.9 Car tracking chart
圖10 小車避障流程圖Fig.10 Car obstacle avoidance chart
為了測試智能小車系統的正常運行情況,設計場景對循跡小車系統進行測試。測試路線是用黑色的電工膠布來鋪設,鋪設在淺色地板上,該軌道為S型,在起點處以及各個目的地的終點處,有一條貫穿軌道的黑色橫線,以此來指明停車點,S型軌道結束后,地面的任意擺上幾個障礙物,走完障礙物路面到達指定地點停車。
通過軟硬件調試,在Quartus II軟件上得到的仿真波形如圖11所示。
圖11 仿真波形圖Fig.11 Simulation waveform graph
文中設計的智能小車,采用紅外傳感器TRTC5000為循跡模塊、FPGA為主要控芯片。小車使用單元模塊化的電路設計,使得系統簡潔,響應快、性能穩定,經測試小車實現了避障循跡功能。
[1]劉遠明,李道霖,韓緒鵬.感應式循跡小車的設計與實現[J].電子設計工程,2011,19(10):70-73.LIU Yuan-ming,LI Dao-lin,HAN Xu-peng.Design and implementation of induction self-tracking car[J]Electronic Design Engineering,2013,21(3):70-73.
[2]王子輝,葉云岳.基于CMOS傳感器的智能循跡小車圖像識別技術研究[J].傳感技術學報,2009,22(4):484-488.WANG Zi-hui,YE yun-yue,Research on image acquisition of self-tracing car based on CMOS camera sensor[J].Chinese Journal of Sensors and Actuators,2009(24):484-488.
[3]田耘,徐文波.Xilinx FPGA開發實用教程[M].北京:清華大學出版社,2008.
[4]楊兵,劉偉杰.一種基于可視圖的機器人避障路徑規劃[J].電腦知識與技術,2009(2):434-435.YANG Bin,LIU Wei-jie.A method based on of robot path planning[J].Computer Knowledge and Technology,2009(2):434-435.
[5]董濤,劉進英,蔣蘇.基于單片機的智能小車的設計與制作[J].計算機測量與控制,2009(2):380-382.DONG Tao,LIU Jin-ying,JIANG Su.Design and manufacture smart car based on single chip[J].Computer Measurement&Control,2009(2):380-382.
[6]蘭羽.基于紅外傳感器ST188的自動循跡小車設計[J].電子設計工程,2013,21(3):64-66.LAN Yu.Design of automatic tracking car based on infrared sensor ST188[J].Electronic Design Engineering,2013,21(3):64-66.