《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 基于FPGA的室內(nèi)智能吸塵平臺(tái)設(shè)計(jì)與實(shí)現(xiàn)
基于FPGA的室內(nèi)智能吸塵平臺(tái)設(shè)計(jì)與實(shí)現(xiàn)
來源:電子技術(shù)應(yīng)用2012年第3期
李 濤1,,許悅雷1,,田 松1,辛 凱2
1.空軍工程大學(xué) 工程學(xué)院,,陜西 西安710038,; 2.南昌航空大學(xué) 信息工程學(xué)院,江西 南昌330063
摘要: 采用FPGA,、多種傳感器和其他硬件協(xié)同工作的方法,;在硬件的選型、仿真和組裝,,軟件的設(shè)計(jì),、編程與調(diào)試等方面做了大量的實(shí)驗(yàn)。通過實(shí)驗(yàn)找到了軟硬件中存在的問題并進(jìn)行了改善,。得到了一個(gè)具有遙控和自主吸塵功能,、結(jié)構(gòu)簡(jiǎn)單、成本低,、能夠智能躲避障礙物的基于FPGA的室內(nèi)智能吸塵平臺(tái),。
中圖分類號(hào): TP242.6
文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 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)境清潔器由于可代替人進(jìn)行環(huán)境清潔工作,,已日漸成為人們研究的焦點(diǎn),。雖然它們實(shí)現(xiàn)了智能,但大多結(jié)構(gòu)復(fù)雜,、集成度高,,不利于開發(fā)者拓展其功能。在研究并總結(jié)市場(chǎng)上相對(duì)成熟產(chǎn)品的基礎(chǔ)上,,本文基于可編程性強(qiáng)的FPGA設(shè)計(jì)并實(shí)現(xiàn)了應(yīng)用于室內(nèi)的智能吸塵平臺(tái),。平臺(tái)具備自我導(dǎo)航、能清潔大部分空間,,同時(shí)外形緊湊,、運(yùn)行穩(wěn)定、噪音小,。更重要的是其結(jié)構(gòu)簡(jiǎn)單,,具有人性化接口,便于操作和功能的進(jìn)一步開發(fā),。

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

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

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

 


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

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

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

    通過硬件選型,、搭建調(diào)試和軟件語言的編寫調(diào)試,,成功地制作出了簡(jiǎn)易平臺(tái),實(shí)現(xiàn)了既定的各種功能,。相比市場(chǎng)上的同類產(chǎn)品,,其結(jié)構(gòu)更簡(jiǎn)單、成本更低,、靈活性和擴(kuò)展性更強(qiáng),,為研究者開發(fā)更多功能提供了一個(gè)硬件支持的平臺(tái),具有實(shí)用價(jià)值,。隨著微處理器的不斷進(jìn)步和傳感技術(shù)的發(fā)展,,其性能可不斷改進(jìn),成本也可不斷下降,。但在仿真和實(shí)現(xiàn)過程中發(fā)現(xiàn)其具體的流程算法不夠嚴(yán)謹(jǐn),,日后有必要繼續(xù)對(duì)其進(jìn)行改進(jìn)。
參考文獻(xiàn)
[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設(shè)計(jì)(高級(jí)篇)[M].北京:人民郵電出版社,2005:7-115-13500-2.
[4] 褚振勇,,翁木云.FPGA設(shè)計(jì)及應(yīng)用[M].西安:西安電子科技大學(xué)出版社,,2003.
[5] 趙雅興.FPGA原理設(shè)計(jì)及應(yīng)用[M].天津:天津大學(xué)出版社,1999.
[6] 周立功.SoPC嵌入式系統(tǒng)基礎(chǔ)教程[M].北京:北京航天航空大學(xué)出版社,,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軟件的可編程邏輯器件應(yīng)用與開發(fā)[M].北京:國防工業(yè)出版社,,2002.
[10] 孫愷,,程世恒.NiosII系統(tǒng)開發(fā)設(shè)計(jì)與應(yīng)用實(shí)例[M].北京:北京航天航空大學(xué)出版社,2007.

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