周敬東, 程 釵, 周明剛, 黃云朋, 李敏慧
(湖北工業(yè)大學(xué)農(nóng)機(jī)工程研究設(shè)計(jì)院, 湖北 武漢 430068)
基于FPGA的電磁閥驅(qū)動(dòng)系統(tǒng)設(shè)計(jì)
周敬東, 程釵, 周明剛, 黃云朋, 李敏慧
(湖北工業(yè)大學(xué)農(nóng)機(jī)工程研究設(shè)計(jì)院, 湖北 武漢 430068)
[摘要]根據(jù)電磁閥驅(qū)動(dòng)的特點(diǎn),提出一種基于FPGA的電磁閥驅(qū)動(dòng)系統(tǒng)軟硬件設(shè)計(jì)方案,采用高壓開啟低壓PWM維持驅(qū)動(dòng)策略,提高電磁閥開啟、關(guān)斷響應(yīng)速度,降低能耗。采用RS485協(xié)議接收DSP圖像處理后結(jié)果,可靈活調(diào)整PWM系統(tǒng)參數(shù)、提高噴吹精度,同時(shí)系統(tǒng)擴(kuò)展性好,滿足多路電磁閥驅(qū)動(dòng)系統(tǒng)實(shí)時(shí)性高的要求。
[關(guān)鍵詞]電磁閥; 現(xiàn)場可編程門陣列; RS485; 脈沖寬度調(diào)制
目前,色選機(jī)在農(nóng)業(yè)、工業(yè)等領(lǐng)域的應(yīng)用越來越廣泛[1-2]。電磁閥作為色選機(jī)的執(zhí)行部件,在分選過程中起著重要作用。傳統(tǒng)的單片機(jī)控制系統(tǒng),由于單片機(jī)既要接收RS485數(shù)據(jù),又要進(jìn)行數(shù)據(jù)處理,然后判斷是否驅(qū)動(dòng)電磁閥,當(dāng)驅(qū)動(dòng)多路電磁閥時(shí),存在動(dòng)作響應(yīng)慢、功耗高等問題[3]。FPGA有著豐富的I/O口、觸發(fā)器和邏輯門,采用硬件語言編程,外部接口配置靈活,具有很好的并行性[4]。隨著分選速度的不斷提高,采用何種驅(qū)動(dòng)策略、通訊協(xié)議也是電磁閥驅(qū)動(dòng)系統(tǒng)的關(guān)鍵。
1電磁閥驅(qū)動(dòng)策略選擇
電磁閥是一種主要用來調(diào)整流量、方向、速度等參數(shù)的工業(yè)控制產(chǎn)品。目前的市場產(chǎn)品中典型的電磁閥驅(qū)動(dòng)電路主要有可調(diào)式電阻驅(qū)動(dòng)、雙電壓驅(qū)動(dòng)、PWM驅(qū)動(dòng)等3種方式??烧{(diào)電阻式驅(qū)動(dòng)方式電路簡單,實(shí)現(xiàn)起來方便,但是電路中有串聯(lián)電阻的存在,電路消耗的功率大,且電路集成度較低;雙電壓驅(qū)動(dòng)方式需要高低電壓驅(qū)動(dòng),對電源穩(wěn)定性要求較高,受電源波動(dòng)干擾比較大;PWM驅(qū)動(dòng)方式充分發(fā)揮了微處理器的作用,自動(dòng)化程度較高,能耗也低,也能滿足某些電磁閥的驅(qū)動(dòng),但是這種驅(qū)動(dòng)方式也不適用于驅(qū)動(dòng)精度較高的場合。
本文采用雙電壓驅(qū)動(dòng)和PWM驅(qū)動(dòng)方式相結(jié)合,采用高電壓100 V迅速開啟,低電壓12 V PWM維持,優(yōu)化了電流驅(qū)動(dòng)策略,具有響應(yīng)速度快,功耗低的特點(diǎn)[5]。所設(shè)計(jì)的電磁閥電流波形圖和控制邏輯波形圖如1所示。
圖 1 電磁閥電流波形圖和控制邏輯波形圖
當(dāng)選閥信號高有效時(shí),F(xiàn)PGA控制高低壓控制信號均為低電平時(shí),電磁閥兩端高壓100 V接通,電磁閥線圈電流迅速上升,電磁閥開啟。t2時(shí)刻關(guān)閉高壓電源,以減少能耗;當(dāng)線圈電流下降到t3時(shí)刻維持電流時(shí),F(xiàn)PGA控制高電壓控制信號為高,低電壓控制信號為低時(shí),電磁閥兩端高壓12 V接通,在t3-t4階段驅(qū)動(dòng)系統(tǒng)采用PWM方式維持穩(wěn)定電流,進(jìn)一步降低系統(tǒng)的能耗,同時(shí)也可以提高電磁閥關(guān)斷速度,t4時(shí)刻選閥信號為低,F(xiàn)PGA控制高低壓控制信號均為高電平,關(guān)斷電磁閥。
2驅(qū)動(dòng)系統(tǒng)硬件設(shè)計(jì)
本設(shè)計(jì)應(yīng)用于色選機(jī)的執(zhí)行機(jī)構(gòu),硬件電路要求具有靈活的擴(kuò)展性,多路電磁閥具有很好的并行性[6]。FPGA(現(xiàn)場可編程門陣列)具有豐富的可編程I/O、編程方式靈活,很方便擴(kuò)展多個(gè)外設(shè)、能滿足很好的并行性。整個(gè)系統(tǒng)設(shè)計(jì)以Altera公司的 EP3C5E144C8N FPGA為核心,該芯片價(jià)格低廉、144個(gè)I/O口、5136個(gè)邏輯單元。
色選機(jī)采用兩個(gè)相機(jī)對物料正反面同時(shí)拍照,所以電磁閥驅(qū)動(dòng)板中兩路RS485分別對應(yīng)DSP處理板輸出的前后線陣相機(jī)處理結(jié)果。FPGA接收兩路485數(shù)據(jù)通過數(shù)據(jù)處理判斷是否產(chǎn)生電磁閥驅(qū)動(dòng)信號。硬件總體框圖如圖2所示。
圖 2 系統(tǒng)硬件框圖
如圖3所示為單個(gè)電磁閥驅(qū)動(dòng)電路原理圖,Q11為場效應(yīng)管IRF9640,Q12為場效應(yīng)管IRF840,電磁閥采用雙端控制,DC100V高壓開啟,DC12VPWM低壓維持,通過FPGA的兩個(gè)引腳EX110、EX111控制一路電磁閥。當(dāng)EX110、EX111均輸出低電平時(shí),Q11、Q12同時(shí)導(dǎo)通,電磁閥J1兩端電壓為100 V,電磁閥迅速開啟;當(dāng)EX110、EX111分別輸出高電平和低電平時(shí),Q11截止、Q12導(dǎo)通,電磁閥J1兩端電壓為12 V,在電磁閥維持階段,EX110輸出低電平,EX111輸出PWM控制電磁閥。此外電磁閥為感性器件,在斷電后,電磁閥兩端會(huì)產(chǎn)生反向電動(dòng)勢,所以在電池閥兩端并聯(lián)續(xù)流二極管和電阻。
為了防止外部電流滲入FPGA內(nèi)部,造成FPGA的損壞,同時(shí)提高負(fù)載驅(qū)動(dòng)能力,在引腳FPGA1和FPGA2后接一個(gè)光電隔離裝置。選取PS2832-4光耦芯片,該光耦具有極高的電流轉(zhuǎn)移比率,高達(dá)2 500 (Vrms)隔離電壓,輸入端能承受反向電壓6 V,消耗功率為80 mW,輸出端VCEO= 300 V 、VECO= 300 V ,消耗功率為120 mW。這些都能夠滿足系統(tǒng)驅(qū)動(dòng)要求,也能夠負(fù)載12 V電壓作為后續(xù)MOSFET管柵極控制信號。
圖 3 單個(gè)噴吹閥驅(qū)動(dòng)電路圖
3FPGA程序設(shè)計(jì)
FPGA程序設(shè)計(jì)采用Altera公司QuartusII開發(fā)平臺(tái)。系統(tǒng)自帶仿真功能,能方便地檢測和驗(yàn)證電路邏輯。本系統(tǒng)采用高壓開啟、PWM低壓維持的驅(qū)動(dòng)策略[7],硬件電路實(shí)現(xiàn)功率放大,只有當(dāng)FPGA輸出正常的時(shí)序脈沖,電磁閥才能正常開啟和關(guān)閉。系統(tǒng)驅(qū)動(dòng)程序包括系統(tǒng)串口通訊程序、PWM生成程序、數(shù)據(jù)處理、測試程序。 FPGA接收DSP的兩路RS485數(shù)據(jù)幀,通過功能位確定FPGA執(zhí)行相應(yīng)的功能。程序結(jié)構(gòu)框見圖4。
圖 4 FPGA程序結(jié)構(gòu)框圖
3.1通信協(xié)議設(shè)定
色選機(jī)控制系統(tǒng)通過人機(jī)交互界面與DSP通信,F(xiàn)PGA與DSP通過RS485通訊,DSP發(fā)送的一幀數(shù)據(jù)報(bào)文為80位,包括8位起始位、8位地址位、8位功能碼、數(shù)據(jù)長度8位、數(shù)據(jù)32位、CRC檢驗(yàn)16位。一幀數(shù)據(jù)報(bào)文格式如圖5所示。
起始位地址位功能碼數(shù)據(jù)長度數(shù)據(jù)CRC校驗(yàn)8位8位8位8位32位16位
圖 5數(shù)據(jù)幀報(bào)文格式
根據(jù)系統(tǒng)設(shè)計(jì),有4塊電磁閥驅(qū)動(dòng)板,對應(yīng)的地址分別為00H、01H、02H、03H。功能碼為10H時(shí),接收上位機(jī)數(shù)據(jù);功能碼03時(shí),電磁閥測試模式;功能碼04時(shí),電磁閥延時(shí)參數(shù)設(shè)置;功能碼05時(shí),PWM脈寬參數(shù)設(shè)置。
3.2數(shù)據(jù)接收狀態(tài)機(jī)
狀態(tài)機(jī)的引入,提高了程序的可讀性和邏輯性,根據(jù)實(shí)際情況,狀態(tài)轉(zhuǎn)移圖如圖6所示,將接收過程分為以下幾個(gè)狀態(tài)。
圖 6 數(shù)據(jù)接收狀態(tài)轉(zhuǎn)移圖
IDEL:開機(jī)后,上位機(jī)通過DSP對FPGA初始化后,進(jìn)入該狀態(tài),等待接收起始數(shù)據(jù)幀。
S0:在等待狀態(tài)下接收到數(shù)據(jù)后立即進(jìn)入S0狀態(tài),取出接收到的數(shù)據(jù)與本機(jī)地址進(jìn)行比較,如果接收到的數(shù)據(jù)是本機(jī)地址, 則進(jìn)入S1狀態(tài),否則轉(zhuǎn)入IDEL狀態(tài)。
S1:在此狀態(tài)時(shí)接收數(shù)據(jù),接收到的數(shù)據(jù)如果不在功能碼列表中,系統(tǒng)轉(zhuǎn)入IDEL狀態(tài);如果在功能碼列表中,則將接收到的數(shù)據(jù)保存到功能寄存器,系統(tǒng)轉(zhuǎn)入S2狀態(tài)。
S2:將接收到的數(shù)據(jù)與系統(tǒng)設(shè)定的數(shù)據(jù)長度(Frame length)對比,如果相等,系統(tǒng)轉(zhuǎn)入S3狀態(tài),否則轉(zhuǎn)入IDEL狀態(tài)。
S3:在此狀態(tài)系統(tǒng)接收有效數(shù)據(jù),將接收到的數(shù)據(jù)同時(shí)賦給RAM讀寫模塊和CRC模塊,當(dāng)數(shù)據(jù)計(jì)數(shù)器Data count等于Frame length時(shí),系統(tǒng)轉(zhuǎn)入S4狀態(tài),否則繼續(xù)進(jìn)入S3狀態(tài)。
S4:將接收到的數(shù)據(jù)與CRC模塊輸出結(jié)果高8位對比,如果相等,系統(tǒng)轉(zhuǎn)入S5狀態(tài),否則轉(zhuǎn)入IDEL狀態(tài)。
S5:將接收到的數(shù)據(jù)與CRC模塊輸出結(jié)果低8位對比,如果相等,系統(tǒng)轉(zhuǎn)入S6狀態(tài),否則轉(zhuǎn)入IDEL狀態(tài)。
如圖7所示,通過接收狀態(tài)機(jī),電磁閥驅(qū)動(dòng)板接收本機(jī)地址,通過識別功能號,執(zhí)行相應(yīng)操作。在S6狀態(tài)時(shí),表示接收完一幀數(shù)據(jù),并同時(shí)將數(shù)據(jù)寫入RAM中,寫入完畢后,拉高Frame done信號,等待PWM模塊讀取RAM數(shù)據(jù)。
圖 7 數(shù)據(jù)接收模塊仿真
3.3PWM模塊程序設(shè)計(jì)
要實(shí)現(xiàn)色選機(jī)電磁閥高速、準(zhǔn)確、并行的特性,在電磁閥驅(qū)動(dòng)軟件上采用高壓開啟、低壓PWM維持的驅(qū)動(dòng)策略。PWM模塊包括電磁閥驅(qū)動(dòng)程序頂層控制模塊和PWM生成模塊[8]。
為了實(shí)現(xiàn)電磁閥噴吹動(dòng)作的精準(zhǔn)控制,在PWM程序頂層模塊可以通過上位機(jī)設(shè)置合適的TOD(數(shù)據(jù)從RAM讀出到電池閥開啟延遲時(shí)間)、TH(電磁閥100V高壓持續(xù)時(shí)間)、TL(PWM低壓維持時(shí)間)、KW(電磁閥過程中PWM占空比)。當(dāng)接頂層模塊接在isdone(讀取RAM中電磁閥控制信號完成標(biāo)志)為高時(shí)收到32位電磁閥控制信號pwm_data_in[31:0],其中每一位相當(dāng)對應(yīng)的一個(gè)電磁閥開關(guān)使能,當(dāng)pwm_data_in[n](0≤n≤31)為高電平時(shí),如圖3中所示,選閥信號為高(FPGA2引腳為低電平),同時(shí)FPGA1引腳輸出PWM信號,通過光耦隔離、MOSFET驅(qū)動(dòng)電路,加載在電磁閥引腳兩端驅(qū)動(dòng)電磁閥正常工作,過一定時(shí)間后復(fù)位isdone信號。同時(shí)底層模塊在isdone信號為高時(shí)進(jìn)入PWM生成模塊狀態(tài)機(jī),經(jīng)過TOD延時(shí),開啟高壓持續(xù)時(shí)間TH,開啟低壓持續(xù)時(shí)間TL,再輸出占空比為KWP的PWM脈沖持續(xù)時(shí)間,然后復(fù)位選閥脈沖和PWM脈沖,等待下一個(gè)isdone脈沖的到來。PWM時(shí)序仿真如圖8所示,在isdone脈沖為高時(shí),pwm_data_in接收電磁閥驅(qū)動(dòng)信號,圖中選閥信號pwm_en[31]為低電平,表示開啟31號電磁閥,PWM先持續(xù)TOD時(shí)間的高電平后,PWM變?yōu)榈碗娖?,電磁閥高壓開啟,持續(xù)時(shí)間TH,然后PWM變?yōu)楦唠娖?,維持低壓持續(xù)時(shí)間TL,最后輸出占空比kW的PWM波形維持電磁閥。
圖 8 PWM模塊時(shí)序仿真
4結(jié)論
基于FPGA的電磁閥驅(qū)動(dòng)系統(tǒng)電路結(jié)構(gòu)簡單,可擴(kuò)展性好,電磁閥驅(qū)動(dòng)采用高壓開啟,低壓PWM維持的策略,提高了電磁閥開啟和關(guān)斷相應(yīng)速度,另外其具有功耗低的特點(diǎn)。采用RS485自定義的協(xié)議,減小了數(shù)據(jù)幀長度,同時(shí)在系統(tǒng)調(diào)試時(shí)可以方便設(shè)置PWM各項(xiàng)參數(shù),以便達(dá)到更高的噴吹精度。
[參考文獻(xiàn)]
[1]譙洋. 基于F P GA的光電分選機(jī)檢測系統(tǒng)的設(shè)計(jì)[D].大連:大連理工大學(xué), 2007.
[2]張海順. CCD色選機(jī)控制系統(tǒng)研究[D].天津:天津大學(xué), 2010.
[3]Wei Fu ,HaiBin YU .Using FPGA and FPGA ICs to achieve High-frepuency PWM[J].Advanced Materials Research s. 2011,271-273: 314-319.
[4]吳厚航. FPGA設(shè)計(jì)實(shí)戰(zhàn)演練(邏輯篇)[M].北京.清華大學(xué)出版社,2015
[5]密剛剛,周文華.柴油機(jī)高速電磁閥驅(qū)動(dòng)模塊設(shè)計(jì)與故障診斷[J].浙江大學(xué)學(xué)報(bào)(工學(xué)版),2012,46(9) :1654 -1659.
[6]Appiah K,Andrew H.A single-chip FPGA implementation of real-time adaptive background model[J].IEEE International Conference on Field Programmable Technology,Singapore,2005,11-14:95-102.
[7]羅小巧,廖小芳. 基于FPGA的PWM信號發(fā)生器設(shè)計(jì)[J].電子測量技術(shù),2007,30(12) :87-90.
[8]翟慶鐘,馮靜安 .基于PWM技術(shù)的比例電磁閥的控制方法[J].中國農(nóng)機(jī)化學(xué)報(bào),2015,36(1) :71 -73.
[責(zé)任編校: 張眾]
Design of Driving Electromagnetic Valve Based on FPGA
ZHOU Jingdong, CHENG Chai, ZHOU Minggang, HUANG Yunpeng ,LI Minhui
(ResearchandDesignInstituteofAgriculturalMechanicalEngin.,HubeiUniv.ofTech.,Wuhan430068,China)
Abstract:According to the characteristics of the electromagnetic valve, a hardware and software design scheme based on FPGA was put forward for electromagnetic valve drive system in this paper. Due to the high voltage opening and low voltage PWM maintaining strategy, the solenoid valve’s opening and shutting off response speed was improved, and the energy consumption was also reduced. RS485 protocol was adopted to receive the DSP image processing result. Flexible adjustment of PWM system parameters improved the precision of injection; at the same time this system was of good expansibility, could meet the high real-time requirements of multiple electromagnetic valve drive systems.
Keywords:electromagnetic valve;FPGA; RS485; PWM
[收稿日期]2016-01-06
[基金項(xiàng)目]國家自然科學(xué)基金(51174084); 湖北省自然科學(xué)基金(CDB085)
[作者簡介]周敬東(1973-), 男, 湖北黃石人,工學(xué)博士,湖北工業(yè)大學(xué)副教授,研究方向?yàn)闄C(jī)電一體化技術(shù)
[通訊作者]程釵(1987-),男,湖北黃石人,湖北工業(yè)大學(xué)碩士研究生,研究方向?yàn)闄C(jī)電一體化技術(shù)
[文章編號]1003-4684(2016)02-0001-04
[中圖分類號]S24
[文獻(xiàn)標(biāo)識碼]:A