新聞中心

        EEPW首頁 > 汽車電子 > 設計應用 > 發動機轉速信號模擬器設計方案

        發動機轉速信號模擬器設計方案

        作者: 時間:2017-06-07 來源:網絡 收藏

        引言

        本文引用地址:http://www.104case.com/article/201706/350723.htm

        隨著發動機電控系統的結構和控制策略日趨復雜,電控系統的研發工作難度以及實驗工作量大大增加,成本也大幅度提高。V型開發模式已經成為發動機ECU(Electronic Control Unit,電子控制單元)開發流程的主流,其中的硬件在環仿真中,為了配合ECU軟件的開發,需要模擬發動機的來驗證軟件算法的正確性。

        目前已經有很多研發人員已經做了這方面的研究。例如,清華大學的章健勇開發的發動機轉速模擬器系統利用數字端口實現了大轉速范圍內發動機轉速霍爾信號的模擬;北京理工大學的王宇明設計的便攜式發動機工況信號模擬器,能夠比較真實地模擬發動機傳感器信號的類型、形態,基于模型的信號產生方法能夠較好地反映發動機工況變化中傳感器的內在關系,并且提出了把霍爾信號通過硬件逐步轉化成為磁電信號的方法;北京城建設計研究總院的趙華偉設計的轉速模擬器采用硬件方式產生頻率方波信號和電流信號的方法,不僅能夠提供發動機所需的方波信號,而且精度高,能夠實現電流的輸出。

        這些模擬器尚不能模擬得到理想的磁電信號,并且對發動機參數變化的適應性很差。本文提出一種生成標準的方法,并在此基礎上設計了一款便攜、靈活的發動機模擬系統。可以通過硬件轉化和軟件逼近兩種方法得到,實驗證明前者得到的磁電信號精度不高,與真實磁電信號差異較大,所以本文采用軟件逼近的方法。軟件分段逼近分為DA分段逼近和PWM分段逼近。DA分段逼近的方法需要外擴一塊D/A芯片,且轉化過程需要占用大量單片機資源,不能滿足高頻的需求,所以本文選用PWM分段逼近的方法。本系統以MC9S08為處理器,通過面板鍵盤或RS232通信方式來設定發動機參數和實時在線修改發動機轉速,并通過LCD實時顯示信息。

        1 系統總體方案設計

        發動機轉速模擬器系統原理框圖如圖1所示。整個系統包括電源模塊、中央處理器、面板按鍵輸入模塊、碼盤信號和霍爾信號輸入模塊、液晶顯示模塊、發動機信號輸出模塊、調理電路、分壓電路、繼電器驅動電路、通信模塊。

        電源模塊采用12 V供電,為整個系統提供5 V電源和士15 V電源。發動機型號、傳感器參數等信息可以選擇面板按鍵輸入方式或者上位機輸入方式。發動機實時轉速可以選用手動模式或者自動模式。若采用手動模式,由面板鍵盤輸入特定值;若采用自動模式,由上位機輸入隨時間變化的速度曲線,或者采集碼盤信息得到實時速度值。液晶模塊來顯示發動機、傳感器參數和當前發動機轉速。輸出模塊包括凸輪軸信號輸出和曲軸信號輸出,繼電器1為凸輪軸信號選擇模式,繼電器2為曲軸信號選擇模式。輸入模塊中有外部凸輪軸霍爾信號和外部曲軸霍爾信號,兩信號由單片機采集后,經輸出模塊轉換輸出磁電信號。

        2 硬件設計

        2.1 處理器選擇

        該模擬器是汽車電子系統開發中的一個重要工具,所以要選擇滿足寬溫度限、強抗電磁干擾等最基本要求的汽車級別單片機。同時,為了縮減成本,價格低廉也是非常必要的。模擬器選擇Freescale公司的8位處理器MC9S08DZ60。它具有4 KB的RAM、2 KB的EEPROM、60 KB的可編程Flash;包含2路定時脈沖寬度調節器,其中TPM1具有6個PWM通道,TPM2具有2個PWM通道。

        2.2 磁電信號調理電路

        實際發動機轉速的磁電信號是一組近似于正弦波信號的模擬信號,低速下其幅值為-1~+1,高速時幅值變化可達到-15~+15。本模擬器采用PWM信號逼近正弦的方式來生成磁電信號。

        磁電信號調理電路如圖2所示。

        信號的調理過程分為以下3個部分:

        ①整形。輸入信號是頻率固定為1 MHz的PWM信號,其占空比按照正弦規律變化,經過LMV931整形后得到向上平移后的正弦波。

        ②濾波。電容C1起到濾波的作用,濾除信號中的直流分量,正弦信號整體向下平移,得到標準的正弦波形。

        ③放大。標準正弦波最大幅值只有2.5 V,不能滿足磁電信號的要求,所以經過LM7332放大一次,放大倍數β=R1/R2。

        信號變換過程如圖3所示。


        3 軟件設計

        整個軟件部分分為模擬器配置狀態和模擬器輸出狀態。配置狀態主要功能為通過面板鍵盤或者RS232通信設定發動機參數。輸出狀態主要功能是根據發動機參數和傳感器的組合輸出當前需求轉速下的曲軸信號和凸輪軸信號。

        3.1 逼近

        模擬器是通過PWM信號軟件逼近的方式產生磁電信號。隨著一個周期所分段數的逐漸增加,逼近的精度也逐步提高。但為了防止高速時程序頻繁進出中斷會影響程序其他部分的運行,逼近所分段數不可過多。綜合逼近精度、單片機的總線頻率和正弦信號的對稱性考慮,把凸輪軸磁電信號的一個正弦周期平分20等份,通過不同占空比的PWM信號來逼近正弦信號中的20段,如圖4(a)所示;把曲軸信號的一個正弦周期平分12等份,通過不同占空比的PWM信號來逼近其中的12段,如圖4(b)所示。

        計算逼近各點時間間隔。計算公式如下:


        其中,TimeIntervalCrank為曲軸信號逼近各點時間的間隔計數值;TimeIntervalCam為凸輪軸信號逼近各點時間的間隔計數值;fbus為時鐘總線頻率(Hz);Cranknumber為曲軸齒數(60、48);Camwidth為凸輪軸齒寬(1,2,3…);n為發動機目標轉速(rpm)。

        圖4中,實線為逼近的目標曲線,虛線為逼近得到的曲線,逼近后的曲線相對于目標曲線向右平移了一小段相位,在程序中應提前逼近的開始時間,以消除逼近相位誤差。

        PWM通道的模數寄存器的值恒定為19,正弦信號最大值對應的值寄存器的值為Rang,如圖4中的“6”點和“4”點。為了保證正弦信號的幅值隨著轉速值而變化,Rang隨發動機轉速增加而增大,

        Rang=Rang(nspeed)。

        當逼近一個曲軸信號正弦波時,正弦信號中各點對應的正弦值如表1所列。各點對應的單片機值寄存器的值為TPM2CV0=Rang(nspeed)×Sin(Number)。同理,可以得到逼近凸輪軸磁電信號20個點對應值寄存器的值TPM2CV1。


        為了省去單片機做乘除法運算所占的時間,在程序中將各點對應的寄存器值做成數組,直接調用。如果要逼近與圖4極性相反(先負后正)的正弦波,只需顛倒各點逼近順序,即逼近順序為20,19,18,…,2,1。

        3.2 生成凸輪軸信號和曲軸信號

        曲軸信號流程如圖5所示。首先判斷曲軸信號模式。

        若模式為霍爾,則輸出PWM霍爾信號。在溢出定時中斷內累加曲軸齒數,若判斷曲軸缺齒有效,則改變PWM頻率,得到2個缺齒信號后,一個循環結束,曲軸齒數重新計數。在主程序中判斷何時輸出凸輪軸信號。

        若模式為磁電,則輸出PWM逼近信號,開始逼近定時。在定時中斷中設置逼近各點的占空比,記錄逼近點個數,一個正弦周期結束后,曲軸齒數累加1。若判斷缺齒有效,則輸出圖4中恒定“1”點所對應占空比的PWM信號,兩個缺齒后一個曲軸循環結束,曲軸齒數重新計數。在主程序中判斷何時輸出凸輪軸信號。

        凸輪軸信號流程:若信號模式為霍爾,則在主程序中通過I/O口輸出霍爾信號。若信號模式為磁電,則輸出逼近PWM信號,在定時中斷中設置逼近各點的占空比,記錄逼近點個數,一個正弦周期結束后結束逼近定時,輸出圖4中恒定“1”點所對應占空比的PWM信號。

        4 實驗驗證

        設定模擬器參數如下:曲軸齒數為(60-2)個齒,凸輪軸齒數為(4+1)個齒,凸輪軸齒寬為6個曲軸齒寬,多齒超缺齒12℃A(曲軸轉角是以℃A表示),凸輪多齒超凸輪1齒為60℃A。通過示波器觀察得到圖6所示的信號。


        圖6所示曲軸信號模式和凸輪軸信號模式均為磁電。模擬信號滿足設定參數要求,并且幅值、相位準確,相對相位準確,頻率穩定。上下兩組信號的轉速分別為2000rpm和1000 rpm。比較可知,磁電信號幅值隨轉速而變化。


        真實測得的磁電信號以及經ECU處理后的信號如圖7所示。該信號在ECU中經過比較器處理后轉換為方波信號,進而被單片機采集。模擬得到的磁電信號經過比較器后,同樣轉換為一個方波信號。雖然模擬信號與真實磁電信號存在差異,但是經過比較器后得到形同的方波信號,對單片機來說就是相同的信號,所以模擬信號能夠替代真實的磁電信號。

        5 結論

        實驗證明,PWM信號逼近正弦信號的方法可以在8位機上模擬出標準的磁電正弦信號,并且該信號可以替代真實的磁電信號。本模擬器系統可以在100~6000 rpm范圍內精確模擬發動機,滿足設計要求。由于8位單片機的處理能力有限,該模擬器不能實現磁電信號幅值隨著轉速連續、線性地變化,但是并不影響模擬器的功能。若改為使用。DSP處理器,采用級數逼近或者迭代逼近的方法即可實現。



        評論


        技術專區

        關閉
        主站蜘蛛池模板: 乐安县| 新巴尔虎右旗| 简阳市| 招远市| 云南省| 盘山县| 东台市| 巴彦县| 尚义县| 周至县| 宜章县| 井冈山市| 溧阳市| 乌海市| 扶沟县| 定州市| 宁海县| 若尔盖县| 大安市| 浏阳市| 慈利县| 股票| 卓资县| 南平市| 远安县| 阳江市| 伊川县| 潼南县| 册亨县| 六枝特区| 青神县| 班戈县| 阳谷县| 林州市| 成安县| 桦川县| 当雄县| 平远县| 新晃| 紫金县| 沙田区|