文獻標(biāo)識碼: A
文章編號: 0258-7998(2012)03-0047-03
智能環(huán)境清潔器由于可代替人進行環(huán)境清潔工作,已日漸成為人們研究的焦點,。雖然它們實現(xiàn)了智能,,但大多結(jié)構(gòu)復(fù)雜、集成度高,,不利于開發(fā)者拓展其功能,。在研究并總結(jié)市場上相對成熟產(chǎn)品的基礎(chǔ)上,本文基于可編程性強的FPGA設(shè)計并實現(xiàn)了應(yīng)用于室內(nèi)的智能吸塵平臺,。平臺具備自我導(dǎo)航,、能清潔大部分空間,同時外形緊湊,、運行穩(wěn)定,、噪音小。更重要的是其結(jié)構(gòu)簡單,,具有人性化接口,,便于操作和功能的進一步開發(fā)。
1 平臺總構(gòu)成
本文提出的平臺整體框架設(shè)計如圖1所示,,用裝有四個輪子的小車作為整個平臺的載體,。以FPGA控制器作為整個平臺的主控器,通過I/O與光電傳感器jk1,、jk2,、jk3、jk4及碰撞開關(guān)jk5相連,,實現(xiàn)平臺障礙的檢測,;通過I/O輸出PWM波形,驅(qū)動揚聲器和高低電平的變化以驅(qū)動LED的亮滅,,組成聲光電路,;通過控制電機驅(qū)動器的信號控制線來驅(qū)動步進電機dj1、dj2和直流吸塵電機dj3,,實現(xiàn)平臺的移動和吸塵,。
2 硬件主體設(shè)計
系統(tǒng)主要由FPGA主控芯片、光電傳感器,、碰撞開關(guān),、由2個STC89C52單片機控制的無線遙控發(fā)射模塊、兩種模式選擇芯片,、聲光電路,、驅(qū)動電機、吸塵器電機和整個系統(tǒng)的供電電路組成,,如圖2所示,。
2.1 FPGA芯片的選擇
根據(jù)平臺的總體設(shè)計,可以得出對芯片的基本要求:(1)需要最少6路PWM波形輸出,。(2)需要一路串行通信接口,。(3)需要較高的12 V轉(zhuǎn)化為3.3 V的實時芯片。(4)較高的處理速度,。(5)I/O接口要多,。
綜合考慮這些條件,采用Altera公司生產(chǎn)的CycloneII系列FPGA中的EP2C35F672C6型號基本可滿足要求,。它具有出色的運算速度,,成本低且?guī)в蠨SP模塊,具有超大的內(nèi)部存儲器,、多通道PWM輸出以及靈活的設(shè)計和多種語言的綜合運用,,性價比較高[1,2],。
2.2 配置電路設(shè)計要點[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端口供電點壓為3.3 V,,內(nèi)核供電電壓為1.2 V。因為電機驅(qū)動系統(tǒng)是用控制器的5 V信號,,而FPGA的端口電壓是3.3 V,,必須將I/O電壓升壓到5 V,在這里利用的是74HCT245升壓芯片,。
(2)時鐘和復(fù)位電路:時鐘電路中用ZPB-26-16 M作為有源晶振,,頻率為16 MHz,使得串口波特率更加精確,。同時可支持芯片內(nèi)部的PPL功能及ISP下載功能,。復(fù)位電路采取硬件復(fù)位和軟件復(fù)位。
(3)調(diào)試JTAG和下載電路:因為FPGA內(nèi)部可以直接搭建軟核ISP和JTAG,,硬件電路接一個IDC-10的JTAG接口,。
(4)配置存儲電路:選用EPCS16作為FPGA的ROM,可以由下載電纜或其他設(shè)備進行重復(fù)編程,,也可以通過AS接口進行在線系統(tǒng)編程,。用FPGA芯片內(nèi)部自帶的4 MHz的On-Chip memory作為FPGA的RAM。
(5)傳感器和碰撞開關(guān):光電傳感器(光電開關(guān))選用滬工集團的E3F-DS5C4.P1R型號的光電開關(guān),,用于檢測障礙和樓梯,,此型號是圓柱型擴散式最遠距離5 cm、可調(diào)NPN型常開光電開關(guān),。碰撞開關(guān)主要與前傳感器配合完成對平臺前的保護,。當(dāng)平臺碰到前方障礙時,,觸發(fā)開關(guān),使平臺躲開障礙物,。
(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ù)碼管顯示設(shè)定時間,。清掃時間由FPGA內(nèi)部的定時器計時,,當(dāng)計時完成時,平臺即停止工作,。
3 程序設(shè)計要點
將程序分為硬件程序設(shè)計和軟件程序設(shè)計兩部分,,硬件程序設(shè)計要對硬件電路進行時序仿真以確定達到調(diào)試的效果。
3.1 硬件程序設(shè)計與仿真
平臺主要通過傳感器和碰撞開關(guān)產(chǎn)生輸入信號,,通過FPGA處理信號,,最后FPGA把處理后的信號傳到電機,由電機來完成一系列的動作,,如表1所示,。所以其邏輯設(shè)計是實現(xiàn)智能的關(guān)鍵。
結(jié)束硬件選型后,,利用Quartus II搭建硬件原理圖,,編譯后對jk1、jk2,、jk3,、 jk4進行時序仿真,,分析時序關(guān)系,估計設(shè)計的性能并檢查和消除競爭冒險[7-9],。仿真結(jié)果如圖3所示,。
時序仿真圖中,clk為輸入PWM信號,,clr和en兩個模塊的片選信號是由FPGA的SoPC通過軟件C語言控制。當(dāng)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,,說明平臺在正常前進遇到j(luò)k1=0、jk2&jk3=1時,,會停車一段時間接著左拐或者右拐20個PWM角度,。驅(qū)動器用的是4細分,輸出1個PWM波形步進電機會轉(zhuǎn)動0.45°,應(yīng)該旋轉(zhuǎn)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 軟件程序設(shè)計
硬件設(shè)計調(diào)試完成后,,還要進行軟件系統(tǒng)設(shè)計,。在C語言文件中編寫C程序進行SoPC的編程[10]。平臺工作總體算法流程如圖4所示,。平臺接通電源,,首先初始化進入自動清掃和手動遙控清掃二選一模式;當(dāng)選擇自動清掃模式時,,通過鍵盤輸入平臺自動清掃工作時間,,在清掃過程中通過傳感器判斷是否遇到障礙物或樓梯并進行處理。通過中斷,,時刻查詢是否到達設(shè)置時間,,如果沒到,則程序返回運行,;如果設(shè)置時間到,,則程序結(jié)束,,平臺停止工作。當(dāng)選擇遙控清掃時,,平臺運動受操作者的控制,。
通過硬件選型、搭建調(diào)試和軟件語言的編寫調(diào)試,,成功地制作出了簡易平臺,,實現(xiàn)了既定的各種功能。相比市場上的同類產(chǎn)品,,其結(jié)構(gòu)更簡單,、成本更低、靈活性和擴展性更強,,為研究者開發(fā)更多功能提供了一個硬件支持的平臺,,具有實用價值。隨著微處理器的不斷進步和傳感技術(shù)的發(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設(shè)計(高級篇)[M].北京:人民郵電出版社,,2005:7-115-13500-2.
[4] 褚振勇,翁木云.FPGA設(shè)計及應(yīng)用[M].西安:西安電子科技大學(xué)出版社,,2003.
[5] 趙雅興.FPGA原理設(shè)計及應(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è)計與應(yīng)用實例[M].北京:北京航天航空大學(xué)出版社,,2007.