楊賢沛,王振華,朱成瑋,肖進(jìn)
(上海交通大學(xué) 動(dòng)力機(jī)械與工程教育部重點(diǎn)實(shí)驗(yàn)室,上海 200240)
自由活塞發(fā)電機(jī)(Free Piston Linear Generator, FPLG)是將自由活塞發(fā)動(dòng)機(jī)與直線電機(jī)串聯(lián)耦合的動(dòng)力系統(tǒng),具有結(jié)構(gòu)簡單、熱效率高、功率質(zhì)量比大等優(yōu)點(diǎn),可以作為新能源汽車增程器,具有廣泛應(yīng)用前景[1-3]。自由活塞式發(fā)動(dòng)機(jī)的上、下止點(diǎn)會(huì)隨燃燒工況變化,發(fā)動(dòng)機(jī)穩(wěn)定運(yùn)行對(duì)于噴油、點(diǎn)火控制的精確度和優(yōu)化策略有較高要求[4-5]。近年來處理器和存儲(chǔ)技術(shù)快速發(fā)展,美國國家儀器公司(NI)的嵌入式控制器性能已經(jīng)可以滿足自由活塞發(fā)電機(jī)的控制需求。LabVIEW作為NI公司開發(fā)的軟件產(chǎn)品,允許圖形編程,編程難度較低。本文運(yùn)用LabVIEW進(jìn)行模塊化編程,實(shí)現(xiàn)對(duì)自由活塞發(fā)電機(jī)的控制[6]。
圖1 自由活塞發(fā)電機(jī)示意圖
對(duì)置式自由活塞發(fā)電機(jī)的結(jié)構(gòu)如圖1所示,兩個(gè)對(duì)置的二沖程自由活塞發(fā)動(dòng)機(jī)位于直線電機(jī)兩端,連桿通過螺紋將直線電機(jī)的動(dòng)子和兩個(gè)發(fā)動(dòng)機(jī)的活塞串聯(lián)。啟動(dòng)時(shí)電機(jī)為驅(qū)動(dòng)狀態(tài),電機(jī)動(dòng)子驅(qū)動(dòng)活塞向左運(yùn)動(dòng),控制器采集燃燒室的缸壓、動(dòng)子的位移信號(hào)、進(jìn)氣溫度信號(hào),計(jì)算燃燒所需噴油量、點(diǎn)火時(shí)間,在設(shè)定位置驅(qū)動(dòng)左側(cè)氣缸噴油器、點(diǎn)火線圈。左缸燃燒后,活塞受膨脹力驅(qū)動(dòng)向右運(yùn)動(dòng),電機(jī)由驅(qū)動(dòng)狀態(tài)轉(zhuǎn)換為發(fā)電狀態(tài),電機(jī)動(dòng)子切割磁感線產(chǎn)生電流。當(dāng)活塞運(yùn)動(dòng)到右側(cè)氣缸設(shè)定的噴油位置和點(diǎn)火位置時(shí),右缸的噴油器和點(diǎn)火線圈工作使右缸燃燒,驅(qū)動(dòng)活塞向左運(yùn)動(dòng)。當(dāng)噴油或點(diǎn)火控制不精確,噴油或點(diǎn)火與設(shè)定位置有較大偏差時(shí),發(fā)動(dòng)機(jī)容易失火。而如果直線電機(jī)不在設(shè)定時(shí)刻轉(zhuǎn)換工作狀態(tài),發(fā)動(dòng)機(jī)可能撞缸或者失火。
圖2 系統(tǒng)硬件總體架構(gòu)
圖3 濾波模塊
圖4 進(jìn)氣溫度傳感器外電路
圖5 點(diǎn)火線圈驅(qū)動(dòng)電路
如圖2所示,系統(tǒng)采用NI公司的cRIO9039作為控制器,通過控制板卡讀取數(shù)據(jù)、輸出命令,并存儲(chǔ)數(shù)據(jù)。該控制器包含有1.91 GHz的四核CPU、2 GB運(yùn)行內(nèi)存、16 GB閃存和Kintex-7 FPGA,可以使整個(gè)程序運(yùn)行周期短至0.05 ms,實(shí)時(shí)保存進(jìn)氣溫度、進(jìn)氣壓力、活塞位置、缸內(nèi)壓力等數(shù)據(jù)??刂破鞑宀壑杏?個(gè)C系列模塊,其中NI9205數(shù)據(jù)采集卡讀取各個(gè)傳感器數(shù)據(jù),NI9401信號(hào)輸出卡控制點(diǎn)火和繼電器,NI9751驅(qū)動(dòng)噴油器。
NI9205信號(hào)采集模塊可以識(shí)別±200 mV到±10 V的電壓信號(hào),32個(gè)AI端口滿足信號(hào)處理需求,并且為控制系統(tǒng)功能擴(kuò)展預(yù)留端口?;钊灰菩盘?hào)是兩個(gè)相隔1/4磁極距的霍爾信號(hào)傳感器輸出的差分信號(hào)±sin、±cos,信號(hào)范圍在2.25到2.75。位移傳感器位于直線電機(jī)中,由于電機(jī)動(dòng)子運(yùn)行時(shí)振動(dòng)和環(huán)境影響,信號(hào)會(huì)受到較多干擾,需要將信號(hào)經(jīng)濾波器濾波后,再接入NI9205板卡。Butterworth濾波通帶特性平坦,阻帶衰減速度快,故采用7階巴特沃斯無源LC低通濾波器。如圖3所示,其中R1=50 Ω,R2=50 Ω,L1=470 nH,L2=820 nH,L3=470 nH,C1=56 pF,C2=267 pF,C3=267 pF,C4=68 pF。
進(jìn)氣溫度值與傳感器中熱敏電阻值相關(guān)。如圖4所示,將進(jìn)氣傳感器與3 kΩ外接電阻串聯(lián),接入5 V電源兩端。由外接電阻兩端電壓計(jì)算出熱敏電阻阻值,查表可得進(jìn)氣溫度值。
Kistler 6125C缸壓傳感器的信號(hào)經(jīng)電荷放大器轉(zhuǎn)換為電壓信號(hào),由設(shè)定電壓與壓力比例關(guān)系得到缸壓值。進(jìn)氣壓力傳感器直接輸出電壓信號(hào),查表得進(jìn)氣壓力值。
Kistler 6125C缸壓傳感器的信號(hào)經(jīng)電荷放大器轉(zhuǎn)換為電壓信號(hào),由設(shè)定電壓與壓力比例關(guān)系得到缸壓值。進(jìn)氣壓力傳感器直接輸出電壓信號(hào),查表得進(jìn)氣壓力值。
噴油驅(qū)動(dòng)采用NI 9751,該板卡是3通道直噴器驅(qū)動(dòng)模塊,可以直接驅(qū)動(dòng)系統(tǒng)的兩個(gè)直噴噴油器。點(diǎn)火驅(qū)動(dòng)電路如圖5所示,采用Fairchild公司的FGBS3040 IGBT模塊,控制信號(hào)為NI9401輸出的5 V TTL信號(hào)。當(dāng)控制信號(hào)為高電平時(shí),12 V電源為點(diǎn)火線圈充電,高電平時(shí)間達(dá)到設(shè)定Dwell Time后,控制信號(hào)變?yōu)榈碗娖?,點(diǎn)火線圈通過火花塞釋放存儲(chǔ)的電能。
圖6 電機(jī)切換電路
電機(jī)狀態(tài)切換電路由兩個(gè)三相繼電器和一個(gè)三相整流橋構(gòu)成。通過NI9401輸出的5 V TTL信號(hào)控制繼電器開關(guān)。當(dāng)繼電器1閉合、繼電器2斷路時(shí),電機(jī)處于驅(qū)動(dòng)狀態(tài);當(dāng)繼電器1斷路、繼電器2閉合時(shí),電機(jī)處于發(fā)電狀態(tài),輸出的三相交流電經(jīng)整流橋整流后轉(zhuǎn)換為直流電,電能通過整流橋后的電阻消耗。電機(jī)切換電路執(zhí)行時(shí)間為10 ms,自由活塞發(fā)電機(jī)的運(yùn)行頻率為15~30 Hz,滿足需求。
系統(tǒng)程序分為FPGA程序和Real-Time程序。FPGA程序運(yùn)行在控制器的FPGA中,直接通過底層邏輯執(zhí)行,時(shí)鐘為48 MHz,實(shí)時(shí)性高,但是FPGA資源有限,所以FPGA程序只是通過與C系列模塊的通訊,實(shí)現(xiàn)數(shù)據(jù)I/O,進(jìn)行簡單且重復(fù)性高的信號(hào)處理。Real-Time程序運(yùn)行在cRIO的實(shí)時(shí)控制器中,可調(diào)用較多資源,實(shí)現(xiàn)信號(hào)分析、復(fù)雜控制邏輯等功能[7]。
FPGA程序主要實(shí)現(xiàn)傳感器信號(hào)的讀取和噴油器、點(diǎn)火線圈、繼電器信號(hào)輸出端口的設(shè)置。如圖7所示,設(shè)置模塊4(NI9205)的0-7端口為各個(gè)傳感器信號(hào)的輸入端口,模塊1(NI9401)的3、4端口對(duì)應(yīng)繼電器1、繼電器2的控制端口。其中繼電器1和繼電器2的信號(hào)為相反關(guān)系,使得繼電器1閉合時(shí)繼電器2斷開。
圖7 FPGA傳感器和繼電器信號(hào)I/O
圖8中定時(shí)循環(huán)程序設(shè)置NI9751模塊參數(shù)的接口,如噴油器通道使能、噴油器類型、噴油電流參數(shù)。
圖8 噴油驅(qū)動(dòng)設(shè)置
圖9 點(diǎn)火驅(qū)動(dòng)端口設(shè)置
圖9的While循環(huán)程序設(shè)置點(diǎn)火驅(qū)動(dòng)的控制信號(hào)端口,當(dāng)點(diǎn)火使能為True時(shí),NI9401輸出一個(gè)周期的PWM波形,高電平時(shí)間為設(shè)定值dwell。
如圖10所示,Real-Time程序分為信號(hào)處理模塊、噴油點(diǎn)火模塊和狀態(tài)切換模塊。程序在一個(gè)定時(shí)循環(huán)結(jié)構(gòu)內(nèi),處理FPGA傳遞過來的信號(hào),計(jì)算噴油與點(diǎn)火參數(shù),判斷電機(jī)工作狀態(tài),輸出命令到FPGA的噴油器、點(diǎn)火線圈和繼電器控制端口。
圖10 Real-Time程序總框圖
圖11 信號(hào)處理模塊程序
圖12 位移處理模塊
圖13 狀態(tài)切換程序框圖
如圖11所示,信號(hào)處理模塊將FPGA程序讀取的進(jìn)氣壓力、進(jìn)氣溫度、缸壓、位移電壓信號(hào)由對(duì)應(yīng)關(guān)系轉(zhuǎn)換為信號(hào)實(shí)際值,并將這些信號(hào)傳遞到狀態(tài)轉(zhuǎn)換和噴油點(diǎn)火模塊。
圖12為信號(hào)處理中的位移處理模塊,位移信號(hào)由歸一化后的霍爾傳感器信號(hào)sinθ和cosθ計(jì)算得到,其中θ為電氣角度。由于該自由活塞發(fā)電機(jī)的最大行程為83 mm,電機(jī)磁極距為71.2 mm,不同磁極距時(shí)位移計(jì)算方法不同。通過計(jì)數(shù)值K判斷當(dāng)前磁極距,K的初始值為0,活塞每經(jīng)過一次磁極距交接點(diǎn),K值就加1。當(dāng)K為偶數(shù)時(shí),當(dāng)前磁極距為第一磁極距;位移L計(jì)算公式為:
當(dāng)K為奇數(shù)時(shí),當(dāng)前磁極距為第二磁極距;位移L計(jì)算公式為:
圖13為狀態(tài)切換模塊,程序分噴油點(diǎn)火啟動(dòng)判斷模塊、電機(jī)力輔助模塊、撞缸保護(hù)模塊。在自由活塞發(fā)電機(jī)啟動(dòng)過程中,電機(jī)處于驅(qū)動(dòng)狀態(tài),活塞被驅(qū)動(dòng)壓縮做功,當(dāng)燃燒室內(nèi)壓力達(dá)到設(shè)定值后,噴油點(diǎn)火啟動(dòng)判斷模塊啟動(dòng)噴油點(diǎn)火功能,將使能信號(hào)傳遞到噴油點(diǎn)火模塊,自由活塞發(fā)動(dòng)機(jī)會(huì)在下一個(gè)循環(huán)的噴油點(diǎn)火設(shè)定位置噴油點(diǎn)火。撞缸保護(hù)模塊同樣運(yùn)行在啟動(dòng)過程中,如果電機(jī)力過大,活塞會(huì)撞到缸蓋,為防止撞缸,撞缸保護(hù)模塊會(huì)在設(shè)定位置斷開電機(jī)力。電機(jī)力輔助模塊會(huì)在左缸噴油點(diǎn)火后,選取點(diǎn)火后缸壓的峰值,如果峰值大于設(shè)定值,則該缸燃燒,電機(jī)力斷開,電機(jī)轉(zhuǎn)換為發(fā)電狀態(tài);如果缸壓峰值小于設(shè)定值,則左缸失火,電機(jī)力會(huì)持續(xù)到右缸的點(diǎn)火位置,若右缸點(diǎn)火后缸壓達(dá)到設(shè)定值,則點(diǎn)火成功,電機(jī)轉(zhuǎn)換為發(fā)電狀態(tài),否則電機(jī)仍然處于驅(qū)動(dòng)狀態(tài),直到發(fā)動(dòng)機(jī)點(diǎn)火成功。
圖14 噴油點(diǎn)火模塊框圖
圖14為噴油點(diǎn)火模塊,由于噴油和點(diǎn)火動(dòng)作都是在壓縮過程中執(zhí)行的,所以將噴油點(diǎn)火模塊放在同一個(gè)條件結(jié)構(gòu)下。當(dāng)狀態(tài)切換模塊的噴油點(diǎn)火使能信號(hào)傳遞過來時(shí),噴油和點(diǎn)火程序同時(shí)被使能。
圖15為噴油控制模塊,該模塊負(fù)責(zé)噴油壓力、噴油脈寬、噴油位置的控制。由進(jìn)氣溫度和掃氣結(jié)束壓縮開始時(shí)刻的缸壓計(jì)算出噴油量,然后通過噴油量和噴油壓力在噴油器特性曲線查表得到對(duì)應(yīng)的噴油脈寬,噴油器在壓縮起始位置噴射。當(dāng)自由活塞發(fā)電機(jī)需要停機(jī)時(shí),停機(jī)模塊會(huì)執(zhí)行,逐步減小噴油脈寬,直到停機(jī)。
圖15 噴油控制模塊
圖16為點(diǎn)火控制模塊,控制點(diǎn)火位置和點(diǎn)火能量。點(diǎn)火模塊使能后,活塞經(jīng)過點(diǎn)火位移時(shí),點(diǎn)火控制模塊會(huì)按照設(shè)定的Dwell值,通過NI9401輸出PWM波形的點(diǎn)火命令。
圖16 點(diǎn)火控制模塊
a)位移-時(shí)間圖 b)缸壓-時(shí)間圖圖17 FPLG啟動(dòng)過程
在自由活塞發(fā)電機(jī)上驗(yàn)證設(shè)計(jì)的控制系統(tǒng),樣機(jī)最大行程為84 mm,缸徑為50 mm,直線電機(jī)啟動(dòng)力為100 N,噴油壓力為5 MPa,點(diǎn)火延遲時(shí)間為1.5 ms,燃油當(dāng)量比為0.6,點(diǎn)火位置為33 mm,噴油位置為11.3 mm,失火判斷缸壓為1.3 MPa。圖17為自由活塞發(fā)電機(jī)啟動(dòng)過程,9.1 ms時(shí)左側(cè)缸壓達(dá)到0.9 MPa,噴油點(diǎn)火模塊啟動(dòng),電機(jī)轉(zhuǎn)換為發(fā)電狀態(tài)?;钊蛴腋走\(yùn)動(dòng)過程中,發(fā)動(dòng)機(jī)開始噴油點(diǎn)火, 右缸混合氣體點(diǎn)燃, 缸壓峰值為1.486 MPa,活塞受膨脹力作用,向左運(yùn)動(dòng);左側(cè)氣缸噴油點(diǎn)火,左缸點(diǎn)燃,缸壓峰值1.45 MPa,活塞向右運(yùn)動(dòng);右側(cè)氣缸噴油點(diǎn)火,缸壓峰值為0.946 MPa,右缸失火,電機(jī)轉(zhuǎn)換為驅(qū)動(dòng)狀態(tài),驅(qū)動(dòng)活塞往復(fù)運(yùn)動(dòng),直到10 ms后活塞再次向右運(yùn)動(dòng),右缸點(diǎn)燃,電機(jī)轉(zhuǎn)換為發(fā)電狀態(tài)。
1)利用cRIO9039作為控制器,NI9205、NI9751、NI9751等C系列模塊作為控制板卡,基于LabVIEW編程實(shí)現(xiàn)了對(duì)自由活塞發(fā)電機(jī)的檢測和控制,能夠準(zhǔn)確、及時(shí)地在設(shè)定位置噴油、點(diǎn)火以及轉(zhuǎn)換直線電機(jī)的工作狀態(tài)。
2)設(shè)計(jì)電機(jī)力輔助控制策略。根據(jù)缸壓信號(hào)判斷氣缸失火狀態(tài),直線電機(jī)會(huì)在氣缸失火時(shí)轉(zhuǎn)換為驅(qū)動(dòng)狀態(tài),保證系統(tǒng)的連續(xù)運(yùn)行。
3)控制系統(tǒng)采用模塊化設(shè)計(jì),可擴(kuò)展性高,有利于進(jìn)一步優(yōu)化控制策略。
參考文獻(xiàn):
[1]Mikalsen R, Roskilly A P. Performance simulation of a spark ignited free-piston engine generator[J].Applied Thermal Engineering, 2008, 28(14):1726-1733.
[2]Xiao J, Li Q, Huang Z. Motion characteristic of a free piston linear engine[J].Applied energy, 2010, 87(4): 1288-1294.
[3]林濱濱, 肖進(jìn), 張磊. 基于Simulink和GT-Power的自由活塞發(fā)動(dòng)機(jī)仿真[J].內(nèi)燃機(jī)與動(dòng)力裝置, 2017, 34(1):17-23.
[4]張磊, 肖進(jìn). 基于Matlab/Simulink的自由活塞式發(fā)電機(jī)運(yùn)動(dòng)仿真分析[J].內(nèi)燃機(jī)與動(dòng)力裝置, 2016, 33(1):59-64.
[5]李慶峰, 劉濤, 肖進(jìn),等.基于MC9S12的自由活塞式內(nèi)燃機(jī)電控系統(tǒng)設(shè)計(jì)[J].內(nèi)燃機(jī)工程, 2011, 32(1):19-23.
[6]陳樹學(xué),劉萱. LabVIEW 寶典[M].北京: 電子工業(yè)出版社,2011.4-5.
[7]美國國家儀器公司. CompactRIO開發(fā)者指南[EB/OL].ftp://ftp.ni.com/pub/branches/china/2012CompactRIODevGuide.pdf. 2012.