文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2012)03-0047-03
智能環(huán)境清潔器由于可代替人進(jìn)行環(huán)境清潔工作,已日漸成為人們研究的焦點(diǎn)。雖然它們實(shí)現(xiàn)了智能,但大多結(jié)構(gòu)復(fù)雜、集成度高,不利于開(kāi)發(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)一步開(kāi)發(fā)。
1 平臺(tái)總構(gòu)成
本文提出的平臺(tái)整體框架設(shè)計(jì)如圖1所示,用裝有四個(gè)輪子的小車(chē)作為整個(gè)平臺(tái)的載體。以FPGA控制器作為整個(gè)平臺(tái)的主控器,通過(guò)I/O與光電傳感器jk1、jk2、jk3、jk4及碰撞開(kāi)關(guān)jk5相連,實(shí)現(xiàn)平臺(tái)障礙的檢測(cè);通過(guò)I/O輸出PWM波形,驅(qū)動(dòng)揚(yáng)聲器和高低電平的變化以驅(qū)動(dòng)LED的亮滅,組成聲光電路;通過(guò)控制電機(jī)驅(qū)動(dòng)器的信號(hào)控制線(xiàn)來(lái)驅(qū)動(dòng)步進(jìn)電機(jī)dj1、dj2和直流吸塵電機(jī)dj3,實(shí)現(xiàn)平臺(tái)的移動(dòng)和吸塵。
2 硬件主體設(shè)計(jì)
系統(tǒng)主要由FPGA主控芯片、光電傳感器、碰撞開(kāi)關(guān)、由2個(gè)STC89C52單片機(jī)控制的無(wú)線(xiàn)遙控發(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)基本可滿(mǎn)足要求。它具有出色的運(yùn)算速度,成本低且?guī)в蠨SP模塊,具有超大的內(nèi)部存儲(chǔ)器、多通道PWM輸出以及靈活的設(shè)計(jì)和多種語(yǔ)言的綜合運(yùn)用,性?xún)r(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ù)編程,也可以通過(guò)AS接口進(jìn)行在線(xiàn)系統(tǒng)編程。用FPGA芯片內(nèi)部自帶的4 MHz的On-Chip memory作為FPGA的RAM。
(5)傳感器和碰撞開(kāi)關(guān):光電傳感器(光電開(kāi)關(guān))選用滬工集團(tuán)的E3F-DS5C4.P1R型號(hào)的光電開(kāi)關(guān),用于檢測(cè)障礙和樓梯,此型號(hào)是圓柱型擴(kuò)散式最遠(yuǎn)距離5 cm、可調(diào)NPN型常開(kāi)光電開(kāi)關(guān)。碰撞開(kāi)關(guān)主要與前傳感器配合完成對(duì)平臺(tái)前的保護(hù)。當(dāng)平臺(tái)碰到前方障礙時(shí),觸發(fā)開(kāi)關(guān),使平臺(tái)躲開(kāi)障礙物。
(6)無(wú)線(xiàn)發(fā)送與接收模塊:選用匯睿微通XL02-232AP1型號(hào)無(wú)線(xiàn)模塊,XL02-232AP1是UART接口半雙工無(wú)線(xiàn)傳輸模塊,可以工作在433 MHz公用頻段,滿(mǎn)足無(wú)線(xiàn)管制要求。
(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ò)傳感器和碰撞開(kāi)關(guān)產(chǎn)生輸入信號(hào),通過(guò)FPGA處理信號(hào),最后FPGA把處理后的信號(hào)傳到電機(jī),由電機(jī)來(lái)完成一系列的動(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通過(guò)軟件C語(yǔ)言控制。當(dāng)jk1=0、jk2&jk3=1時(shí),output(PWM控制信號(hào))會(huì)出現(xiàn)一段等于0之后產(chǎn)生20個(gè)波形。需要說(shuō)明的是:圖3(a)時(shí)序仿真圖中,output出現(xiàn)一段PWM后出現(xiàn)低電平后接著出現(xiàn)了20個(gè)PWM,說(shuō)明平臺(tái)在正常前進(jìn)遇到j(luò)k1=0、jk2&jk3=1時(shí),會(huì)停車(chē)一段時(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è)說(shuō)明問(wèn)題(圖3(b)的波形個(gè)數(shù)都會(huì)以此情況說(shuō)明)。
由圖3(b)可以看到前段時(shí)間jk4為高電平,pwmout輸出正常脈沖,說(shuō)明此時(shí)平臺(tái)處于正常吸塵狀態(tài)。后段時(shí)間jk4變?yōu)榈碗娖?,pwmout時(shí)延后輸出一小段脈沖,說(shuō)明此時(shí)平臺(tái)檢測(cè)到樓梯,停車(chē)一段時(shí)間后調(diào)整方向。
3.2 軟件程序設(shè)計(jì)
硬件設(shè)計(jì)調(diào)試完成后,還要進(jìn)行軟件系統(tǒng)設(shè)計(jì)。在C語(yǔ)言文件中編寫(xiě)C程序進(jìn)行SoPC的編程[10]。平臺(tái)工作總體算法流程如圖4所示。平臺(tái)接通電源,首先初始化進(jìn)入自動(dòng)清掃和手動(dòng)遙控清掃二選一模式;當(dāng)選擇自動(dòng)清掃模式時(shí),通過(guò)鍵盤(pán)輸入平臺(tái)自動(dòng)清掃工作時(shí)間,在清掃過(guò)程中通過(guò)傳感器判斷是否遇到障礙物或樓梯并進(jìn)行處理。通過(guò)中斷,時(shí)刻查詢(xún)是否到達(dá)設(shè)置時(shí)間,如果沒(méi)到,則程序返回運(yùn)行;如果設(shè)置時(shí)間到,則程序結(jié)束,平臺(tái)停止工作。當(dāng)選擇遙控清掃時(shí),平臺(tái)運(yùn)動(dòng)受操作者的控制。
通過(guò)硬件選型、搭建調(diào)試和軟件語(yǔ)言的編寫(xiě)調(diào)試,成功地制作出了簡(jiǎn)易平臺(tái),實(shí)現(xiàn)了既定的各種功能。相比市場(chǎng)上的同類(lèi)產(chǎn)品,其結(jié)構(gòu)更簡(jiǎn)單、成本更低、靈活性和擴(kuò)展性更強(qiáng),為研究者開(kāi)發(fā)更多功能提供了一個(gè)硬件支持的平臺(tái),具有實(shí)用價(jià)值。隨著微處理器的不斷進(jìn)步和傳感技術(shù)的發(fā)展,其性能可不斷改進(jìn),成本也可不斷下降。但在仿真和實(shí)現(xiàn)過(guò)程中發(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] 王誠(chéng),范麗珍.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] 鄭亞民,董曉舟.可編程邏輯器件開(kāi)發(fā)軟件Quartus II[M]. 北京:國(guó)防工業(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語(yǔ)言與QuartusII軟件的可編程邏輯器件應(yīng)用與開(kāi)發(fā)[M].北京:國(guó)防工業(yè)出版社,2002.
[10] 孫愷,程世恒.NiosII系統(tǒng)開(kāi)發(fā)設(shè)計(jì)與應(yīng)用實(shí)例[M].北京:北京航天航空大學(xué)出版社,2007.