基于STM32的汽車(chē)空調調速模塊信號發(fā)生器的設計
畢業(yè)論文,多少人心中的痛,過(guò)來(lái)人都體會(huì )過(guò)那種滋味。為了表示小編對畢業(yè)生們的無(wú)限同情,在這里直接送上物理學(xué)畢業(yè)論文一篇!

摘要:適應汽車(chē)電子技術(shù)的發(fā)展,根據汽車(chē)空調調速模塊生產(chǎn)中的測試需要,設計了一種支持多類(lèi)型信號輸出的汽車(chē)空調調速模塊信號發(fā)生器?芍С諳V-10V分辨率O.1V的直流輸出;頻率10Hz-lOOOHz,占空比O%-lOO%的PWM輸出;LIN-BUS總線(xiàn)輸出。涵蓋了目前主流的三種類(lèi)型信號,具有輸出精度高、輸出穩定、使用簡(jiǎn)單的特點(diǎn)。根據實(shí)際需要,設計了測試和老化兩種工作模式,測試模式用于人工測試產(chǎn)品使用,老化模式用于產(chǎn)品老化實(shí)驗階段自動(dòng)循環(huán)掃描輸出。
關(guān)鍵詞:DC;LIN;PWM
引言
近年來(lái),隨著(zhù)汽車(chē)電子技術(shù)的發(fā)展,汽車(chē)已經(jīng)深入人們的生活。汽車(chē)空調作為汽車(chē)舒適系統的重要部分,也越來(lái)越引起駕駛者的關(guān)注。汽車(chē)空調調速模塊主要用于控制空調鼓風(fēng)機的轉速,進(jìn)而改變空調出風(fēng)量的大小,是汽車(chē)空調系統里的重要組成部分也是最容易損壞的部件。從過(guò)去簡(jiǎn)單的純電阻分壓換擋到現在的電子開(kāi)關(guān)式調速模塊的無(wú)級調速,集成度越來(lái)越高,功能也越來(lái)越豐富。汽車(chē)空調控制器ECU發(fā)出的調速信號類(lèi)型也從DC直流、PWM占空比等模擬信號向LIN通信的數字化方向發(fā)展。以往測試模塊往往需要借助直流電源、DDS函數信號發(fā)生器,帶LIN通信的模塊測試時(shí),甚至需要購買(mǎi)整套空調控制系統才可進(jìn)行測試,成本高、操作復雜。本文設計的汽車(chē)空調調速模塊信號發(fā)生器則將上述幾種信號集成在了一個(gè)信號發(fā)生器里,并根據產(chǎn)品實(shí)際研發(fā)和生產(chǎn)需要,設計了簡(jiǎn)潔的人機界面,大大降低了對操作工人的技術(shù)水平要求。同時(shí)增加了老化模式,方便產(chǎn)品老化需要。
本文提出的汽車(chē)空調調速模塊信號發(fā)生器設計方案支持OV~10V直流電壓信號輸出,分辨率O.lV,數字步進(jìn)輸出;頻率范圍10Hz~1000Hz,0%~100%占空比下的PWM信號輸出:支持LIN2.0標準LIN-BUS總線(xiàn)通信輸出,數據幀內容可根據新增模塊進(jìn)行升級擴展。
一、硬件設計
圖1為系統硬件框圖,硬件由MCU系統電路、DC輸出電路、PWM輸出電路、LIN通信電路、人機界面、系統工作電源等幾部分組成。三種類(lèi)型信號通過(guò)繼電器切換選擇,最終在BNC公共端子上輸出。
1.1 MCU及相關(guān)電路
MCU選用當前主流ARMCortex-M3芯片,ST公司的STM32F103C8T6,其具有極高的性?xún)r(jià)比。它是一款TQFP48封裝的微控制器,系統工作時(shí)鐘最高可達72MHz,64KB flash、20K RAM,豐富的內存空間為以后的升級提供了保障。同時(shí)內部集成了硬件PWM、USART、I?C總線(xiàn)、內置復位、及看門(mén)狗電路等外設,適用很多高集成度、低成本的應用場(chǎng)合。通過(guò)外接一個(gè)8MHz的石英晶體振蕩器,保證了系統時(shí)鐘的準確性,將PWM輸出頻率和LIN-BUS總線(xiàn)的波特率誤差降到最低。外接了一片EEPROM芯片FM24CL16用于系統參數及用戶(hù)當前設置操作的掉電存儲,下次開(kāi)機可以直接調用歷史設置。
1.2 DC輸出電路
DC信號由PWM濾波得到,如圖2。STM32F103C8T6的硬件PWM定時(shí)器為16位,足夠滿(mǎn)足直流OV~10V量程下步進(jìn)O.lV的分辨率。使用其TIME1的CH1通道輸出頻率為lkHz的PWM,輸出為推挽方式。PWM輸出的高電平經(jīng)過(guò)基準芯片LM385BZ-2.5穩壓到2.5V,然后再經(jīng)由LM358構成的二階低通濾波放大電路輸出,為保證輸出直流信號的平滑度,又加了一級RC濾波:二階低通濾波器的截止頻率取16Hz。C23、C24直接取1μF,由f=1/2πRC計算可得R16、R17阻值為lOkQ;PWM的VPP為2.5V,為滿(mǎn)足DC最大10V輸出,至少需放大4倍,考慮預留余量取G=R18+R19/R18=4.3,同時(shí)為了使集成運放兩個(gè)輸入端對地的電阻平衡,取R18=lOkΩ, R19=33kΩ。輸出再經(jīng)過(guò)一級跟隨器,可保證輸出信號的低阻抗‘副。另為防止輸出被短路,輸出串聯(lián)了lkΩ輸出限流保護電阻R22,并使用二極管1N4148做了反向保護。D3、D4兩個(gè)鉗位二極管和D5反向二極管用于防止輸出被誤接其它外部信號時(shí)對電路造成損壞。
1.3 PWM輸出電路
使用TIME1的CH2通道輸出頻率范圍10Hz―lOOOHz,占空比O%~l00%的PWM信號。信號的幅值固定為SVVpp。為了提高PWM信號的驅動(dòng)能力,輸出采用三極管構建了一個(gè)圖騰柱驅動(dòng)電路。當PWM輸出低電平時(shí),Q2截止,Q3導通,Q4截止,最終PWM OUT輸出為高電平:當PWM輸出高電平時(shí),Q2導通,Q3截止,Q4導通,最終PWM~OUT輸出為低電平。為防止輸出被短路,在輸出端串聯(lián)了一個(gè)lOOmA的自恢復保險絲Fl,限制其最大輸出能力為lOOmA;D7的1N5819可防止與模塊連接時(shí)被誤反接進(jìn)而可能對本電路的損傷。PWM輸出電路見(jiàn)圖3。
1.4 LIN通信電路
目前LIN總線(xiàn)技術(shù)正被越來(lái)越廣泛的應用到車(chē)身電子中,它是面向汽車(chē)低端分布式應用的低成本、低速率、串行通信總線(xiàn)。LIN接口由兩部分組成:協(xié)議控制器、線(xiàn)路接口。協(xié)議控制器可在MCU的一個(gè)標準UART上實(shí)現,MCU軟件負責管理LIN協(xié)議并實(shí)現以下功能,發(fā)送/接收8位字節、構成請求幀(接收為應幀)、發(fā)送幀。線(xiàn)路接口,負責將LIN總線(xiàn)的信號翻譯成無(wú)干擾的RX信號傳入LIN協(xié)議控制器:或將協(xié)議控制器的RX信號進(jìn)行翻譯傳人LIN總線(xiàn)。物理層采用單線(xiàn)連接,兩個(gè)電控單元間的最大傳輸距離為40m,低傳輸速率小于20kb/s,采用NRZ編碼。在總線(xiàn)上發(fā)送的信息,有長(cháng)度可選的固定格式。每個(gè)報文幀都包括2、4或8個(gè)字節的數據以及3個(gè)字節的控制、安全信息(同步場(chǎng)、標識符場(chǎng)和校驗場(chǎng))。
STM32F103C8T6用作協(xié)議控制器,其內部的USART支持LIN模式。LIN接口則采用NXP公司的TJA1020,它是目前主流LIN物理接口芯片。信號發(fā)生器只向電子調速模塊發(fā)送調速指令的數據幀,故工作在master主機模式下。如圖4所示,LIN收發(fā)器的睡眠控制輸入NSLP引腳直接接到MCU工作電源3.3V上,使其一直處理喚醒狀態(tài)。本地喚醒NWAKE引腳則加限流電阻接到地上。TJA1020在主機應用下,需要增加一個(gè)額外的主機端電阻,通過(guò)在LIN和BAT引腳之間串聯(lián)一個(gè)反向電流二極管D12和電阻R35實(shí)現,為了提高EMC以及降低EMI,對地連接了一個(gè)電容負載C28。同樣為防止外部短路和反接,在輸出端還增加了一個(gè)loQ的限流電阻R36和lOOmA的自恢復保險絲F2,有效保護自身電路。
1.5 人機界面
人機界面用于輸出信號類(lèi)型、輸出模式、輸出值等狀態(tài)的設定和顯示,電路見(jiàn)圖5。采用上下兩行4聯(lián)共陰數碼管顯示數值,上行數碼管Ul用于顯示LIN通信類(lèi)型模塊的型號和PWM下的頻率值,下行數碼管U2則顯示DC信號下的輸出電壓值:PWM下的占空比:LIN下的輸出檔位等。數碼管驅動(dòng)電路采用一種集成化的串行輸入/輸出共陰極顯示驅動(dòng)器MAX7219,它連接微處理器與2個(gè)4聯(lián)共陰8段數碼管,具有自動(dòng)掃描、數字的譯碼與非譯碼選擇、模擬和數字亮度控制功能。并外接了8個(gè)LED燈用于當前選擇的信號類(lèi)型、測試/老化模式、輸出開(kāi)啟/關(guān)閉等狀態(tài)指示。
設計了4個(gè)獨立按鍵和一個(gè)旋鈕式編碼開(kāi)關(guān)做為用戶(hù)操作設置按鍵,使操作盡量簡(jiǎn)單化。分別為Sl信號類(lèi)型切換鍵、S2測試/老化模式切換鍵、S3輸出開(kāi)/關(guān)鍵、編碼開(kāi)關(guān)S4實(shí)現+/一及設置確定功能。
1.6 系統電源電路
系統直接采用220V市電供電,輸入首先經(jīng)過(guò)一個(gè)lOOmAl250V的自恢復保險絲,確保內部發(fā)生意外短路故障時(shí)能快速有效地保護系統。再通過(guò)Ll共模電感和Cl安規電容構成的EMI電路,提高系統受外部電網(wǎng)波動(dòng)或電源噪聲等EMI干擾。再使用15V/5W的工頻變壓器將電壓降到15V,并通過(guò)整流、濾波轉換成直流電壓輸出。系統需要較多種類(lèi)電源電壓,首先通過(guò)高效率的降壓型DC-DC芯片LM2576-ADJ將電壓穩壓到SV供PWM電路和切換信號輸出通道的繼電器使用:MCU及其外圍電路工作需要的3.3V電源則由一片LDO芯片LD1117-3.3將SV進(jìn)一步穩壓到3.3V得到。另外通過(guò)使用一片LDO芯片HT7550對地串聯(lián)一個(gè)6.8V穩壓管可直接將15V電源穩壓到12V,來(lái)為L(cháng)IN通信電路提供工作電源。圖6為系統電源電路。
電路中還設計了一個(gè)掉電檢測電路,當系統發(fā)生斷電情況時(shí)可迅速通知MCU將用戶(hù)當前的操作設定存入EEPROM中,下次開(kāi)機上電時(shí)再將數據讀取出來(lái)使用。將15V電源經(jīng)30k Q和lOk Q電阻分壓后接到比較器LM311的同相端,反相端接到由LM38582-2.5基準電路輸出的2.5V參考電壓上。當斷電瞬間電源電壓從15V跌到10V時(shí)比較器迅速反轉產(chǎn)生一個(gè)下降沿輸出,觸發(fā)MCU的外部中斷,通知其進(jìn)行掉電保護操作。
二、軟件設計
系統軟件采用C語(yǔ)言編寫(xiě),主程序包含了DC輸出及校準、PWM輸出、LIN通信幀編碼及輸出、顯示及按鍵掃描、掉電保護等幾個(gè)功能函數。
系統校準是廠(chǎng)家出廠(chǎng)前使用的校準程序,用于信號發(fā)生器首次上電開(kāi)機時(shí),DC通道的輸出值校準.校準采用上/下限兩點(diǎn)式線(xiàn)性校準方式,分別校準1V和10V輸出點(diǎn),校準公式為y=x*(y2-yl)/(x2-xl)+yl。只需校準一次,校準值存入EEPROM,斷電不丟失。
系統使用MCU內部鎖相環(huán)將系統8M外部主時(shí)鐘倍頻到72MHz,保證在PWM輸出時(shí)可通過(guò)分檔改變TIME1的時(shí)鐘預分頻系數,實(shí)現頻率1Hz~lkHz,占空比O%~100%范圍內1%的分辨率和準確度。DC輸出時(shí)則需要根據輸出設定值,結合兩點(diǎn)式線(xiàn)性校準公式調整輸出PWM的占空比,從而改變輸出的電壓值。
LIN通信則按照LIN 2.O總線(xiàn)標準,使MCU的USART工作在LIN模式下,并編寫(xiě)了一個(gè)LIN數據幀編碼及發(fā)送函數,波特率為9600,數據位8位,停止位1位,無(wú)校驗位。報文幀由報文頭和響應內容組成,見(jiàn)圖7:報文頭包括13位長(cháng)度的同步間隔,同步域Ox55,標識符場(chǎng)Ox61;響應內容為5個(gè)字節,包括datal(給定速度0~255間任意值)、data2、data3、data4分別為固定值Ox02、Ox20、Ox00。校驗和域是數據域所有字節的和的反碼。
系統采用一個(gè)外部中斷用于掉電檢測,當中斷事件發(fā)生時(shí),立即將用戶(hù)當前設定的參數寫(xiě)入EEPROM。等待下次開(kāi)機時(shí)再從EEPROM中讀取方便用戶(hù)繼續使用上次設定。存儲的主要參數有當前信號類(lèi)型、DC輸出值、PWM輸出頻率和占氣空比、LIN模塊型號和檔位、測試/老化模式等。測試模式下,用戶(hù)可手工設置當前輸出具體值,并作出任意調整。老化模式下,用戶(hù)則只需選擇信號類(lèi)型和模塊型號,信號發(fā)生器將定時(shí)每間隔5分鐘自動(dòng)每次按滿(mǎn)量程的10%步進(jìn)循環(huán)輸出。
三、結論
采用本方法設計的汽車(chē)空調調速模塊信號發(fā)生器已經(jīng)達到了設計要求,并已形成產(chǎn)品在汽車(chē)空調調速模塊產(chǎn)品的測試、老化等生產(chǎn)檢測環(huán)節中使用,并取得了良好的使用效果。
【基于STM32的汽車(chē)空調調速模塊信號發(fā)生器的設計】相關(guān)文章:
鐵道信號專(zhuān)業(yè)實(shí)習報告10-18
信號工作總結11-03
計算機輔助工業(yè)設計模塊化教學(xué)建設論文04-07
信號工工作總結12-19
信號工心得體會(huì )01-24
信號工工作總結5篇11-29
小班安全教案:交通信號燈08-13