基于Atmega88的發(fā)動(dòng)機(jī)轉(zhuǎn)速模擬系統(tǒng)設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
目前,V型開(kāi)發(fā)模式已經(jīng)成為發(fā)動(dòng)機(jī)ECU開(kāi)發(fā)流程的主流。其中的硬件在環(huán)仿真環(huán)節(jié)中,為了配合ECU軟件的開(kāi)發(fā),需要提供硬件仿真環(huán)境模擬發(fā)動(dòng)機(jī)的工作狀態(tài)來(lái)驗(yàn)證軟件算法的正確性。發(fā)動(dòng)機(jī)轉(zhuǎn)速信號(hào)是發(fā)動(dòng)機(jī)工作狀態(tài)的一個(gè)重要信號(hào),因此開(kāi)發(fā)實(shí)用的轉(zhuǎn)速模擬系統(tǒng)對(duì)于發(fā)動(dòng)機(jī)ECU軟件開(kāi)發(fā)具有重要意義。
1 發(fā)動(dòng)機(jī)轉(zhuǎn)速傳感器原理
轉(zhuǎn)速傳感器的主要作用是實(shí)時(shí)判斷曲軸和凸輪軸的瞬態(tài)位置,以滿足ECU決定點(diǎn)火、噴射的定時(shí)和脈寬需要。電控發(fā)動(dòng)機(jī)所有的點(diǎn)火噴射控制功能均是以轉(zhuǎn)速傳感器信號(hào)為基礎(chǔ),故轉(zhuǎn)速傳感器信號(hào)處理是所有信號(hào)處理中最重要的一部分。轉(zhuǎn)速信號(hào)一般采用曲軸和凸輪軸傳感器實(shí)現(xiàn),這些傳感器的觸發(fā)信號(hào)盤和曲軸或者凸輪軸同步旋轉(zhuǎn),其外圓上加工刻度均勻的凹齒或凸齒,通過(guò)一定的變換原理輸出的信號(hào)反映了瞬時(shí)轉(zhuǎn)速。除此以外,轉(zhuǎn)速傳感器還必須完成噴射判缸的功能,為了表征某一特定缸的特定位置,一般特意在觸發(fā)信號(hào)盤上加工特征齒,如加工多齒或少齒。由于曲軸一個(gè)工作過(guò)程旋轉(zhuǎn)兩周,特征齒不能反映到底是壓縮上止點(diǎn)還是燃燒上止點(diǎn),不能完成判缸功能;凸輪軸一個(gè)工作過(guò)程旋轉(zhuǎn)一周,特征齒能完成判缸,但凸輪軸傳感器信號(hào)的缺點(diǎn)是信號(hào)變化慢,頻率低,在發(fā)動(dòng)機(jī)低轉(zhuǎn)速情況下容易造成較大的誤差,故電控發(fā)動(dòng)機(jī)中一般是凸輪軸和曲軸傳感器信號(hào)相互配合,曲軸完成瞬時(shí)轉(zhuǎn)速測(cè)量,凸輪軸完成判缸,兩者共同構(gòu)成點(diǎn)火噴射功能的底層基礎(chǔ)[1]。
2 系統(tǒng)方案設(shè)計(jì)
發(fā)動(dòng)機(jī)轉(zhuǎn)速模擬系統(tǒng)設(shè)計(jì)應(yīng)具有穩(wěn)定性、靈活性、實(shí)用性。穩(wěn)定性是指要保證凸輪軸和曲軸的信號(hào)幅值相位準(zhǔn)確,相對(duì)相位也要非常準(zhǔn)確。靈活性是指轉(zhuǎn)速模擬系統(tǒng)能夠模擬各種型號(hào)的發(fā)動(dòng)機(jī)凸輪軸、曲軸信號(hào),在軟件上要能夠根據(jù)對(duì)應(yīng)曲軸、凸輪軸缺齒位置數(shù)量的變化很容易地修改相應(yīng)的設(shè)置達(dá)到所需要的信號(hào)輸出,同時(shí)能夠很靈活地修改轉(zhuǎn)速。實(shí)用性是指系統(tǒng)的成本要盡可能降低,以保證ECU開(kāi)發(fā)成本的降低。
針對(duì)以上系統(tǒng)設(shè)計(jì)需求,選用了Atmel公司的ATmega88單片機(jī)作為主控制器,這款單片機(jī)是高性能、低功耗的8位AVR單片機(jī),具有6通道PWM,8路10位ADC,可編程的串行USART接口,可工作于主機(jī)/從機(jī)模式的SPI串行接口,8KB可編程FLASH[2],能夠完全滿足系統(tǒng)的設(shè)計(jì)要求,同時(shí)該款單片機(jī)在價(jià)格方面也完全滿足系統(tǒng)開(kāi)發(fā)的要求。
在軟件方面,采用C語(yǔ)言編程,同時(shí)用串口RS232與PC機(jī)進(jìn)行通訊。采用RS232協(xié)議方式可以通過(guò)串口工具發(fā)送單個(gè)離散的轉(zhuǎn)速指令,也可以用Matlab工具發(fā)送發(fā)動(dòng)機(jī)實(shí)際工作狀態(tài)的連續(xù)轉(zhuǎn)速變化曲線。在脫離PC機(jī)的環(huán)境下,可以采用滑動(dòng)變阻器旋鈕輸入方式修改轉(zhuǎn)速。
系統(tǒng)的設(shè)計(jì)框圖如圖1。
3 硬件設(shè)計(jì)
系統(tǒng)電路由晶振電路、復(fù)位電路、RS232轉(zhuǎn)換電路、模擬量輸入電路、ISP下載電路、LED指示電路組成。
系統(tǒng)硬件接口電路連接如圖2所示。
硬件系統(tǒng)電源采用5V供電,可以用USB線進(jìn)行供電,AD采樣模塊采用外部參考電壓Vref輸入方式,因此輸入單片機(jī)Vref的5V需要進(jìn)行濾波處理。選用16MHz晶振,啟振電路采用2個(gè)22pF的電容。RS232接口電路采用MAX232芯片,通過(guò)配置單片機(jī)中USART模塊寄存器,設(shè)置通訊的波特率為38 400kb/s[3]。LED電路通過(guò)閃爍的頻率和順序來(lái)表示輸出轉(zhuǎn)速的大小。
4 軟件設(shè)計(jì)
本系統(tǒng)軟件包括主程序、AD采樣子程序、凸輪軸缺齒設(shè)置程序、曲軸缺齒設(shè)置程序、USART中斷接收程序、計(jì)數(shù)器配置程序等。主程序完成初始化后,系統(tǒng)選擇轉(zhuǎn)速方式。如果采用RS232控制轉(zhuǎn)速方式,系統(tǒng)初始化后,配置凸輪軸、曲軸的缺齒設(shè)置,按照默認(rèn)的轉(zhuǎn)速設(shè)置相應(yīng)的計(jì)數(shù)器寄存器,然后計(jì)算并輸出對(duì)應(yīng)的凸輪軸曲軸齒信號(hào)。當(dāng)進(jìn)入U(xiǎn)SART接收中斷時(shí),中斷函數(shù)接收RS232數(shù)據(jù),然后計(jì)算該轉(zhuǎn)速下相對(duì)應(yīng)的計(jì)數(shù)器寄存器設(shè)置,更新計(jì)數(shù)器,重新計(jì)算并輸出對(duì)應(yīng)的凸輪軸曲軸齒信號(hào),并修改PORTC對(duì)應(yīng)的LED燈的閃爍頻率。同時(shí)把轉(zhuǎn)速命令修改標(biāo)志位回發(fā)到PC機(jī),表示轉(zhuǎn)速成功修改。程序流程如圖3所示。
如果采用AD采樣方式修改轉(zhuǎn)速,系統(tǒng)完成初始化后,用查詢方式進(jìn)行AD采樣,采樣值進(jìn)行數(shù)字濾波后,計(jì)算出目標(biāo)轉(zhuǎn)速,然后修改計(jì)數(shù)器的寄存器,計(jì)算并輸出對(duì)應(yīng)的凸輪軸曲軸齒信號(hào),同時(shí)修改PORTC對(duì)應(yīng)的LED燈的閃爍頻率以表示轉(zhuǎn)速的變化。程序流程如圖4所示。
本轉(zhuǎn)速模擬系統(tǒng)設(shè)計(jì)的發(fā)動(dòng)機(jī)模擬轉(zhuǎn)速輸出如圖5所示。圖中曲軸信號(hào)盤60齒缺2齒,凸輪軸的高低電平各占一半時(shí)間間隔,表示發(fā)動(dòng)機(jī)轉(zhuǎn)速在960r/min下的曲軸凸輪軸信號(hào)。經(jīng)試驗(yàn)驗(yàn)證該轉(zhuǎn)速模擬裝置可以模擬發(fā)動(dòng)機(jī)的轉(zhuǎn)速范圍為15~1 000 000r/min,在該轉(zhuǎn)速范圍內(nèi)輸出的凸輪軸曲軸信號(hào)的電平和相位關(guān)系準(zhǔn)確,實(shí)際發(fā)動(dòng)機(jī)需要測(cè)量的轉(zhuǎn)速范圍為200~7 000r/min,因此本系統(tǒng)完全滿足實(shí)際發(fā)動(dòng)機(jī)轉(zhuǎn)速模擬的要求。
本系統(tǒng)能夠用很低的成本實(shí)現(xiàn)發(fā)動(dòng)機(jī)轉(zhuǎn)速信號(hào)的模擬,為發(fā)動(dòng)機(jī)ECU軟件中點(diǎn)火噴射控制程序的調(diào)試起了較大的作用,具有推廣價(jià)值。