《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于FPGA的室內(nèi)智能吸塵平臺設計與實現(xiàn)
基于FPGA的室內(nèi)智能吸塵平臺設計與實現(xiàn)
來源:電子技術應用2012年第3期
李 濤1,許悅雷1,田 松1,辛 凱2
1.空軍工程大學 工程學院,陜西 西安710038; 2.南昌航空大學 信息工程學院,江西 南昌330063
摘要: 采用FPGA、多種傳感器和其他硬件協(xié)同工作的方法;在硬件的選型、仿真和組裝,軟件的設計、編程與調(diào)試等方面做了大量的實驗。通過實驗找到了軟硬件中存在的問題并進行了改善。得到了一個具有遙控和自主吸塵功能、結構簡單、成本低、能夠智能躲避障礙物的基于FPGA的室內(nèi)智能吸塵平臺。
中圖分類號: TP242.6
文獻標識碼: A
文章編號: 0258-7998(2012)03-0047-03
Design and implement of the smart platform for interior cleaning based on FPGA
Li Tao1,Xu Yuelei1,Tian Song1,Xin Kai2
1.Engineering College, Air Force Engineering University,Xi′an 710038,China; 2.School of Information Engineering,Nanchang Hangkong University,Nanchang 330063,China
Abstract: On the basis of coordinating work of FPGA,variety of sensors and other hardware,hardware selection, simulation, and assembly, software design, programming and commissioning of the experiment were largely done. Through experiments problems were found and had to improve in software and hardware,a remote control and self-cleaning feature, simple structure, low cost, to intelligently avoid obstacles FPGA-based platform for indoor smart dust were be got.
Key words : FPGA;the smart platform for interior cleaning;Quartus II;Nios II

    智能環(huán)境清潔器由于可代替人進行環(huán)境清潔工作,已日漸成為人們研究的焦點。雖然它們實現(xiàn)了智能,但大多結構復雜、集成度高,不利于開發(fā)者拓展其功能。在研究并總結市場上相對成熟產(chǎn)品的基礎上,本文基于可編程性強的FPGA設計并實現(xiàn)了應用于室內(nèi)的智能吸塵平臺。平臺具備自我導航、能清潔大部分空間,同時外形緊湊、運行穩(wěn)定、噪音小。更重要的是其結構簡單,具有人性化接口,便于操作和功能的進一步開發(fā)。

1 平臺總構成
    本文提出的平臺整體框架設計如圖1所示,用裝有四個輪子的小車作為整個平臺的載體。以FPGA控制器作為整個平臺的主控器,通過I/O與光電傳感器jk1、jk2、jk3、jk4及碰撞開關jk5相連,實現(xiàn)平臺障礙的檢測;通過I/O輸出PWM波形,驅(qū)動揚聲器和高低電平的變化以驅(qū)動LED的亮滅,組成聲光電路;通過控制電機驅(qū)動器的信號控制線來驅(qū)動步進電機dj1、dj2和直流吸塵電機dj3,實現(xiàn)平臺的移動和吸塵。

2 硬件主體設計
    系統(tǒng)主要由FPGA主控芯片、光電傳感器、碰撞開關、由2個STC89C52單片機控制的無線遙控發(fā)射模塊、兩種模式選擇芯片、聲光電路、驅(qū)動電機、吸塵器電機和整個系統(tǒng)的供電電路組成,如圖2所示。

2.1 FPGA芯片的選擇
    根據(jù)平臺的總體設計,可以得出對芯片的基本要求:(1)需要最少6路PWM波形輸出。(2)需要一路串行通信接口。(3)需要較高的12 V轉化為3.3 V的實時芯片。(4)較高的處理速度。(5)I/O接口要多。
    綜合考慮這些條件,采用Altera公司生產(chǎn)的CycloneII系列FPGA中的EP2C35F672C6型號基本可滿足要求。它具有出色的運算速度,成本低且?guī)в蠨SP模塊,具有超大的內(nèi)部存儲器、多通道PWM輸出以及靈活的設計和多種語言的綜合運用,性價比較高[1,2]。
2.2 配置電路設計要點[3-6]

 


    (1)電源電路:供電系統(tǒng)采用12 V電源作為輸入電源,利用L7805CV將其降壓為5 V,再由TPS37HD301將5 V轉化為3.3 V和1.2 V,F(xiàn)PGA的I/O端口供電點壓為3.3 V,內(nèi)核供電電壓為1.2 V。因為電機驅(qū)動系統(tǒng)是用控制器的5 V信號,而FPGA的端口電壓是3.3 V,必須將I/O電壓升壓到5 V,在這里利用的是74HCT245升壓芯片。
    (2)時鐘和復位電路:時鐘電路中用ZPB-26-16 M作為有源晶振,頻率為16 MHz,使得串口波特率更加精確。同時可支持芯片內(nèi)部的PPL功能及ISP下載功能。復位電路采取硬件復位和軟件復位。
    (3)調(diào)試JTAG和下載電路:因為FPGA內(nèi)部可以直接搭建軟核ISP和JTAG,硬件電路接一個IDC-10的JTAG接口。
    (4)配置存儲電路:選用EPCS16作為FPGA的ROM,可以由下載電纜或其他設備進行重復編程,也可以通過AS接口進行在線系統(tǒng)編程。用FPGA芯片內(nèi)部自帶的4 MHz的On-Chip memory作為FPGA的RAM。
    (5)傳感器和碰撞開關:光電傳感器(光電開關)選用滬工集團的E3F-DS5C4.P1R型號的光電開關,用于檢測障礙和樓梯,此型號是圓柱型擴散式最遠距離5 cm、可調(diào)NPN型常開光電開關。碰撞開關主要與前傳感器配合完成對平臺前的保護。當平臺碰到前方障礙時,觸發(fā)開關,使平臺躲開障礙物。
    (6)無線發(fā)送與接收模塊:選用匯睿微通XL02-232AP1型號無線模塊,XL02-232AP1是UART接口半雙工無線傳輸模塊,可以工作在433 MHz公用頻段,滿足無線管制要求。
    (7)驅(qū)動和吸塵電機:平臺采用前輪雙驅(qū)動,電機選擇深圳步科公司生產(chǎn)的兩相混合式步進電機,吸塵器電機采用直流電機。步進電機的主要電器參數(shù)為:①步距角:1.8°;②相電流:0.87 A;③保持扭矩:0.24 nm;④相電阻:3.3 Ω;⑤相電感:5.0 mH;⑥重量:0.2 kg。
    (8)聲光電路和自動清掃時間輸入顯示電路:聲光電路主要由發(fā)光二極管和蜂鳴器組成,直接連FPGA,提醒平臺工作狀態(tài)。利用4個按鍵(確定、初始、上調(diào)、下調(diào))輸入清掃時間,再由三個數(shù)碼管顯示設定時間。清掃時間由FPGA內(nèi)部的定時器計時,當計時完成時,平臺即停止工作。
3 程序設計要點
    將程序分為硬件程序設計和軟件程序設計兩部分,硬件程序設計要對硬件電路進行時序仿真以確定達到調(diào)試的效果。
3.1 硬件程序設計與仿真
    平臺主要通過傳感器和碰撞開關產(chǎn)生輸入信號,通過FPGA處理信號,最后FPGA把處理后的信號傳到電機,由電機來完成一系列的動作,如表1所示。所以其邏輯設計是實現(xiàn)智能的關鍵。

    結束硬件選型后,利用Quartus II搭建硬件原理圖,編譯后對jk1、jk2、jk3、 jk4進行時序仿真,分析時序關系,估計設計的性能并檢查和消除競爭冒險[7-9]。仿真結果如圖3所示。
    時序仿真圖中,clk為輸入PWM信號,clr和en兩個模塊的片選信號是由FPGA的SoPC通過軟件C語言控制。當jk1=0、jk2&jk3=1時,output(PWM控制信號)會出現(xiàn)一段等于0之后產(chǎn)生20個波形。需要說明的是:圖3(a)時序仿真圖中,output出現(xiàn)一段PWM后出現(xiàn)低電平后接著出現(xiàn)了20個PWM,說明平臺在正常前進遇到jk1=0、jk2&jk3=1時,會停車一段時間接著左拐或者右拐20個PWM角度。驅(qū)動器用的是4細分,輸出1個PWM波形步進電機會轉動0.45°,應該旋轉90°但是波形個數(shù)為:n=(90/0.45)=200個,在此用20個代替200個說明問題(圖3(b)的波形個數(shù)都會以此情況說明)。
    由圖3(b)可以看到前段時間jk4為高電平,pwmout輸出正常脈沖,說明此時平臺處于正常吸塵狀態(tài)。后段時間jk4變?yōu)榈碗娖剑琾wmout時延后輸出一小段脈沖,說明此時平臺檢測到樓梯,停車一段時間后調(diào)整方向。

3.2 軟件程序設計
    硬件設計調(diào)試完成后,還要進行軟件系統(tǒng)設計。在C語言文件中編寫C程序進行SoPC的編程[10]。平臺工作總體算法流程如圖4所示。平臺接通電源,首先初始化進入自動清掃和手動遙控清掃二選一模式;當選擇自動清掃模式時,通過鍵盤輸入平臺自動清掃工作時間,在清掃過程中通過傳感器判斷是否遇到障礙物或樓梯并進行處理。通過中斷,時刻查詢是否到達設置時間,如果沒到,則程序返回運行;如果設置時間到,則程序結束,平臺停止工作。當選擇遙控清掃時,平臺運動受操作者的控制。

    通過硬件選型、搭建調(diào)試和軟件語言的編寫調(diào)試,成功地制作出了簡易平臺,實現(xiàn)了既定的各種功能。相比市場上的同類產(chǎn)品,其結構更簡單、成本更低、靈活性和擴展性更強,為研究者開發(fā)更多功能提供了一個硬件支持的平臺,具有實用價值。隨著微處理器的不斷進步和傳感技術的發(fā)展,其性能可不斷改進,成本也可不斷下降。但在仿真和實現(xiàn)過程中發(fā)現(xiàn)其具體的流程算法不夠嚴謹,日后有必要繼續(xù)對其進行改進。
參考文獻
[1] ALTERA Corporation.cyclone device handbook[M].2008,1(5).
[2] ALTERA Corporation.cyclone device family data sheet  [EB/OL].2008.5.http://www.altera.com/literature/hb/cyc/cyc_c5v1_01.pdf.
[3] 王誠,范麗珍.Altera FPGA/CPLD設計(高級篇)[M].北京:人民郵電出版社,2005:7-115-13500-2.
[4] 褚振勇,翁木云.FPGA設計及應用[M].西安:西安電子科技大學出版社,2003.
[5] 趙雅興.FPGA原理設計及應用[M].天津:天津大學出版社,1999.
[6] 周立功.SoPC嵌入式系統(tǒng)基礎教程[M].北京:北京航天航空大學出版社,2006.
[7] 鄭亞民,董曉舟.可編程邏輯器件開發(fā)軟件Quartus II[M]. 北京:國防工業(yè)出版社,2006.
[8] ALTERA Corporation.Quartus II version 5.0 handbook[EB/OL].2005-04/2006-03.http://www.altera.com.cn/support/software/quartus2/design_flow/des-qms-q21.html.
[9] 鄭燕.基于VHDL語言與QuartusII軟件的可編程邏輯器件應用與開發(fā)[M].北京:國防工業(yè)出版社,2002.
[10] 孫愷,程世恒.NiosII系統(tǒng)開發(fā)設計與應用實例[M].北京:北京航天航空大學出版社,2007.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權禁止轉載。