發(fā)動(dòng)機(jī)轉(zhuǎn)速信號(hào)模擬器設(shè)計(jì)方案
引言
本文引用地址:http://www.ex-cimer.com/article/201706/350723.htm隨著發(fā)動(dòng)機(jī)電控系統(tǒng)的結(jié)構(gòu)和控制策略日趨復(fù)雜,電控系統(tǒng)的研發(fā)工作難度以及實(shí)驗(yàn)工作量大大增加,成本也大幅度提高。V型開(kāi)發(fā)模式已經(jīng)成為發(fā)動(dòng)機(jī)ECU(Electronic Control Unit,電子控制單元)開(kāi)發(fā)流程的主流,其中的硬件在環(huán)仿真中,為了配合ECU軟件的開(kāi)發(fā),需要模擬發(fā)動(dòng)機(jī)的轉(zhuǎn)速信號(hào)來(lái)驗(yàn)證軟件算法的正確性。
目前已經(jīng)有很多研發(fā)人員已經(jīng)做了這方面的研究。例如,清華大學(xué)的章健勇開(kāi)發(fā)的發(fā)動(dòng)機(jī)轉(zhuǎn)速模擬器系統(tǒng)利用數(shù)字端口實(shí)現(xiàn)了大轉(zhuǎn)速范圍內(nèi)發(fā)動(dòng)機(jī)轉(zhuǎn)速霍爾信號(hào)的模擬;北京理工大學(xué)的王宇明設(shè)計(jì)的便攜式發(fā)動(dòng)機(jī)工況信號(hào)模擬器,能夠比較真實(shí)地模擬發(fā)動(dòng)機(jī)傳感器信號(hào)的類(lèi)型、形態(tài),基于模型的信號(hào)產(chǎn)生方法能夠較好地反映發(fā)動(dòng)機(jī)工況變化中傳感器的內(nèi)在關(guān)系,并且提出了把霍爾信號(hào)通過(guò)硬件逐步轉(zhuǎn)化成為磁電信號(hào)的方法;北京城建設(shè)計(jì)研究總院的趙華偉設(shè)計(jì)的轉(zhuǎn)速模擬器采用硬件方式產(chǎn)生頻率方波信號(hào)和電流信號(hào)的方法,不僅能夠提供發(fā)動(dòng)機(jī)所需的方波信號(hào),而且頻率調(diào)節(jié)精度高,能夠?qū)崿F(xiàn)電流的輸出。
這些模擬器尚不能模擬得到理想的磁電信號(hào),并且對(duì)發(fā)動(dòng)機(jī)參數(shù)變化的適應(yīng)性很差。本文提出一種生成標(biāo)準(zhǔn)磁電正弦信號(hào)的方法,并在此基礎(chǔ)上設(shè)計(jì)了一款便攜、靈活的發(fā)動(dòng)機(jī)轉(zhuǎn)速信號(hào)模擬系統(tǒng)。磁電正弦信號(hào)可以通過(guò)硬件轉(zhuǎn)化和軟件逼近兩種方法得到,實(shí)驗(yàn)證明前者得到的磁電信號(hào)精度不高,與真實(shí)磁電信號(hào)差異較大,所以本文采用軟件逼近的方法。軟件分段逼近分為DA分段逼近和PWM分段逼近。DA分段逼近的方法需要外擴(kuò)一塊D/A芯片,且轉(zhuǎn)化過(guò)程需要占用大量單片機(jī)資源,不能滿足高頻的需求,所以本文選用PWM分段逼近的方法。本系統(tǒng)以MC9S08為處理器,通過(guò)面板鍵盤(pán)或RS232通信方式來(lái)設(shè)定發(fā)動(dòng)機(jī)參數(shù)和實(shí)時(shí)在線修改發(fā)動(dòng)機(jī)轉(zhuǎn)速,并通過(guò)LCD實(shí)時(shí)顯示信息。
1 系統(tǒng)總體方案設(shè)計(jì)
發(fā)動(dòng)機(jī)轉(zhuǎn)速模擬器系統(tǒng)原理框圖如圖1所示。整個(gè)系統(tǒng)包括電源模塊、中央處理器、面板按鍵輸入模塊、碼盤(pán)信號(hào)和霍爾信號(hào)輸入模塊、液晶顯示模塊、發(fā)動(dòng)機(jī)信號(hào)輸出模塊、調(diào)理電路、分壓電路、繼電器驅(qū)動(dòng)電路、通信模塊。
電源模塊采用12 V供電,為整個(gè)系統(tǒng)提供5 V電源和士15 V電源。發(fā)動(dòng)機(jī)型號(hào)、傳感器參數(shù)等信息可以選擇面板按鍵輸入方式或者上位機(jī)輸入方式。發(fā)動(dòng)機(jī)實(shí)時(shí)轉(zhuǎn)速可以選用手動(dòng)模式或者自動(dòng)模式。若采用手動(dòng)模式,由面板鍵盤(pán)輸入特定值;若采用自動(dòng)模式,由上位機(jī)輸入隨時(shí)間變化的速度曲線,或者采集碼盤(pán)信息得到實(shí)時(shí)速度值。液晶模塊來(lái)顯示發(fā)動(dòng)機(jī)、傳感器參數(shù)和當(dāng)前發(fā)動(dòng)機(jī)轉(zhuǎn)速。輸出模塊包括凸輪軸信號(hào)輸出和曲軸信號(hào)輸出,繼電器1為凸輪軸信號(hào)選擇模式,繼電器2為曲軸信號(hào)選擇模式。輸入模塊中有外部凸輪軸霍爾信號(hào)和外部曲軸霍爾信號(hào),兩信號(hào)由單片機(jī)采集后,經(jīng)輸出模塊轉(zhuǎn)換輸出磁電信號(hào)。
2 硬件設(shè)計(jì)
2.1 處理器選擇
該模擬器是汽車(chē)電子系統(tǒng)開(kāi)發(fā)中的一個(gè)重要工具,所以要選擇滿足寬溫度限、強(qiáng)抗電磁干擾等最基本要求的汽車(chē)級(jí)別單片機(jī)。同時(shí),為了縮減成本,價(jià)格低廉也是非常必要的。模擬器選擇Freescale公司的8位處理器MC9S08DZ60。它具有4 KB的RAM、2 KB的EEPROM、60 KB的可編程Flash;包含2路定時(shí)脈沖寬度調(diào)節(jié)器,其中TPM1具有6個(gè)PWM通道,TPM2具有2個(gè)PWM通道。
2.2 磁電信號(hào)調(diào)理電路
實(shí)際發(fā)動(dòng)機(jī)轉(zhuǎn)速的磁電信號(hào)是一組近似于正弦波信號(hào)的模擬信號(hào),低速下其幅值為-1~+1,高速時(shí)幅值變化可達(dá)到-15~+15。本模擬器采用PWM信號(hào)逼近正弦的方式來(lái)生成磁電信號(hào)。
磁電信號(hào)調(diào)理電路如圖2所示。
信號(hào)的調(diào)理過(guò)程分為以下3個(gè)部分:
①整形。輸入信號(hào)是頻率固定為1 MHz的PWM信號(hào),其占空比按照正弦規(guī)律變化,經(jīng)過(guò)LMV931整形后得到向上平移后的正弦波。
②濾波。電容C1起到濾波的作用,濾除信號(hào)中的直流分量,正弦信號(hào)整體向下平移,得到標(biāo)準(zhǔn)的正弦波形。
③放大。標(biāo)準(zhǔn)正弦波最大幅值只有2.5 V,不能滿足磁電信號(hào)的要求,所以經(jīng)過(guò)LM7332放大一次,放大倍數(shù)β=R1/R2。
信號(hào)變換過(guò)程如圖3所示。
3 軟件設(shè)計(jì)
整個(gè)軟件部分分為模擬器配置狀態(tài)和模擬器輸出狀態(tài)。配置狀態(tài)主要功能為通過(guò)面板鍵盤(pán)或者RS232通信設(shè)定發(fā)動(dòng)機(jī)參數(shù)。輸出狀態(tài)主要功能是根據(jù)發(fā)動(dòng)機(jī)參數(shù)和傳感器的組合輸出當(dāng)前需求轉(zhuǎn)速下的曲軸信號(hào)和凸輪軸信號(hào)。
3.1 逼近磁電正弦信號(hào)
模擬器是通過(guò)PWM信號(hào)軟件逼近的方式產(chǎn)生磁電信號(hào)。隨著一個(gè)周期所分段數(shù)的逐漸增加,逼近的精度也逐步提高。但為了防止高速時(shí)程序頻繁進(jìn)出中斷會(huì)影響程序其他部分的運(yùn)行,逼近所分段數(shù)不可過(guò)多。綜合逼近精度、單片機(jī)的總線頻率和正弦信號(hào)的對(duì)稱性考慮,把凸輪軸磁電信號(hào)的一個(gè)正弦周期平分20等份,通過(guò)不同占空比的PWM信號(hào)來(lái)逼近正弦信號(hào)中的20段,如圖4(a)所示;把曲軸信號(hào)的一個(gè)正弦周期平分12等份,通過(guò)不同占空比的PWM信號(hào)來(lái)逼近其中的12段,如圖4(b)所示。
計(jì)算逼近各點(diǎn)時(shí)間間隔。計(jì)算公式如下:
其中,TimeIntervalCrank為曲軸信號(hào)逼近各點(diǎn)時(shí)間的間隔計(jì)數(shù)值;TimeIntervalCam為凸輪軸信號(hào)逼近各點(diǎn)時(shí)間的間隔計(jì)數(shù)值;fbus為時(shí)鐘總線頻率(Hz);Cranknumber為曲軸齒數(shù)(60、48);Camwidth為凸輪軸齒寬(1,2,3…);n為發(fā)動(dòng)機(jī)目標(biāo)轉(zhuǎn)速(rpm)。
圖4中,實(shí)線為逼近的目標(biāo)曲線,虛線為逼近得到的曲線,逼近后的曲線相對(duì)于目標(biāo)曲線向右平移了一小段相位,在程序中應(yīng)提前逼近的開(kāi)始時(shí)間,以消除逼近相位誤差。
PWM通道的模數(shù)寄存器的值恒定為19,正弦信號(hào)最大值對(duì)應(yīng)的值寄存器的值為Rang,如圖4中的“6”點(diǎn)和“4”點(diǎn)。為了保證正弦信號(hào)的幅值隨著轉(zhuǎn)速值而變化,Rang隨發(fā)動(dòng)機(jī)轉(zhuǎn)速增加而增大,
Rang=Rang(nspeed)。
當(dāng)逼近一個(gè)曲軸信號(hào)正弦波時(shí),正弦信號(hào)中各點(diǎn)對(duì)應(yīng)的正弦值如表1所列。各點(diǎn)對(duì)應(yīng)的單片機(jī)值寄存器的值為T(mén)PM2CV0=Rang(nspeed)×Sin(Number)。同理,可以得到逼近凸輪軸磁電信號(hào)20個(gè)點(diǎn)對(duì)應(yīng)值寄存器的值TPM2CV1。
為了省去單片機(jī)做乘除法運(yùn)算所占的時(shí)間,在程序中將各點(diǎn)對(duì)應(yīng)的寄存器值做成數(shù)組,直接調(diào)用。如果要逼近與圖4極性相反(先負(fù)后正)的正弦波,只需顛倒各點(diǎn)逼近順序,即逼近順序?yàn)?0,19,18,…,2,1。
3.2 生成凸輪軸信號(hào)和曲軸信號(hào)
曲軸信號(hào)流程如圖5所示。首先判斷曲軸信號(hào)模式。
若模式為霍爾,則輸出PWM霍爾信號(hào)。在溢出定時(shí)中斷內(nèi)累加曲軸齒數(shù),若判斷曲軸缺齒有效,則改變PWM頻率,得到2個(gè)缺齒信號(hào)后,一個(gè)循環(huán)結(jié)束,曲軸齒數(shù)重新計(jì)數(shù)。在主程序中判斷何時(shí)輸出凸輪軸信號(hào)。
若模式為磁電,則輸出PWM逼近信號(hào),開(kāi)始逼近定時(shí)。在定時(shí)中斷中設(shè)置逼近各點(diǎn)的占空比,記錄逼近點(diǎn)個(gè)數(shù),一個(gè)正弦周期結(jié)束后,曲軸齒數(shù)累加1。若判斷缺齒有效,則輸出圖4中恒定“1”點(diǎn)所對(duì)應(yīng)占空比的PWM信號(hào),兩個(gè)缺齒后一個(gè)曲軸循環(huán)結(jié)束,曲軸齒數(shù)重新計(jì)數(shù)。在主程序中判斷何時(shí)輸出凸輪軸信號(hào)。
凸輪軸信號(hào)流程:若信號(hào)模式為霍爾,則在主程序中通過(guò)I/O口輸出霍爾信號(hào)。若信號(hào)模式為磁電,則輸出逼近PWM信號(hào),在定時(shí)中斷中設(shè)置逼近各點(diǎn)的占空比,記錄逼近點(diǎn)個(gè)數(shù),一個(gè)正弦周期結(jié)束后結(jié)束逼近定時(shí),輸出圖4中恒定“1”點(diǎn)所對(duì)應(yīng)占空比的PWM信號(hào)。
4 實(shí)驗(yàn)驗(yàn)證
設(shè)定模擬器參數(shù)如下:曲軸齒數(shù)為(60-2)個(gè)齒,凸輪軸齒數(shù)為(4+1)個(gè)齒,凸輪軸齒寬為6個(gè)曲軸齒寬,多齒超缺齒12℃A(曲軸轉(zhuǎn)角是以℃A表示),凸輪多齒超凸輪1齒為60℃A。通過(guò)示波器觀察得到圖6所示的信號(hào)。
圖6所示曲軸信號(hào)模式和凸輪軸信號(hào)模式均為磁電。模擬信號(hào)滿足設(shè)定參數(shù)要求,并且幅值、相位準(zhǔn)確,相對(duì)相位準(zhǔn)確,頻率穩(wěn)定。上下兩組信號(hào)的轉(zhuǎn)速分別為2000rpm和1000 rpm。比較可知,磁電信號(hào)幅值隨轉(zhuǎn)速而變化。
真實(shí)測(cè)得的磁電信號(hào)以及經(jīng)ECU處理后的信號(hào)如圖7所示。該信號(hào)在ECU中經(jīng)過(guò)比較器處理后轉(zhuǎn)換為方波信號(hào),進(jìn)而被單片機(jī)采集。模擬得到的磁電信號(hào)經(jīng)過(guò)比較器后,同樣轉(zhuǎn)換為一個(gè)方波信號(hào)。雖然模擬信號(hào)與真實(shí)磁電信號(hào)存在差異,但是經(jīng)過(guò)比較器后得到形同的方波信號(hào),對(duì)單片機(jī)來(lái)說(shuō)就是相同的信號(hào),所以模擬信號(hào)能夠替代真實(shí)的磁電信號(hào)。
5 結(jié)論
實(shí)驗(yàn)證明,PWM信號(hào)逼近正弦信號(hào)的方法可以在8位機(jī)上模擬出標(biāo)準(zhǔn)的磁電正弦信號(hào),并且該信號(hào)可以替代真實(shí)的磁電信號(hào)。本模擬器系統(tǒng)可以在100~6000 rpm范圍內(nèi)精確模擬發(fā)動(dòng)機(jī)轉(zhuǎn)速信號(hào),滿足設(shè)計(jì)要求。由于8位單片機(jī)的處理能力有限,該模擬器不能實(shí)現(xiàn)磁電信號(hào)幅值隨著轉(zhuǎn)速連續(xù)、線性地變化,但是并不影響模擬器的功能。若改為使用。DSP處理器,采用級(jí)數(shù)逼近或者迭代逼近的方法即可實(shí)現(xiàn)。
評(píng)論