国产亚洲精品91-国产亚洲精品aa在线观看-国产亚洲精品aa在线看-国产亚洲精品xxx-国产亚洲精品不卡在线

樹人論文網一個專業的學術咨詢網站!!!
樹人論文網

電子風扇控制系統軟件開發

來源: 樹人論文網發表時間:2021-09-02
簡要:摘 要:電子風扇可以通過按需分配的方式工作,有效提高發動機冷卻系統的效率,及時降低發動機溫度。文章根據以 S9S08DZ60 單片機為基礎開發的電子風扇控制器的工作需求,分析了各

  摘 要:電子風扇可以通過按需分配的方式工作,有效提高發動機冷卻系統的效率,及時降低發動機溫度。文章根據以 S9S08DZ60 單片機為基礎開發的電子風扇控制器的工作需求,分析了各個功能所需要的程序,確定了相應寄存器的配置,設計出了各個底層控制程序及總體框架程序。包括傳感器信號采集程序、開關量信號輸入程序及 CAN 總線通訊程序等在內的一系列軟件程序,從而控制單片機的正常運行,以實現對電子風扇的控制,并且滿足實際應用要求。

電子風扇控制系統軟件開發

  張世強; 蘇士斌; 郭興; 馬曉龍; 紀少波; 程勇, 汽車實用技術 發表時間:2021-08-25

  關鍵詞:電子風扇;軟件開發;程序設計;寄存器配置

  前言

  冷卻系統是保證汽車發動機在正常溫度下工作的重要部分,主要包括水泵、散熱器、冷卻風扇、節溫器等部件;其中冷卻風扇可以保證汽車在低速行駛或發動機溫度過高時及時散熱,維持正常工作溫度。電子風扇是冷卻風扇的一種,能夠起到很好的節能作用,并且由于其獨立運行、調節能力平滑等優勢得到了大量應用,國內外有很多學者對其進行了研究。相對來說,國外研究起步較早,早在 20 世紀 80 年代就已有學者在專利中提到電子風扇,之后,在八十年代末期, Roger Clemente[1]提出將電子風扇裝在載貨汽車上。在國內,上世紀 90 年代才開始對電子風扇的相關研究。其中,張鵬飛 [2]對電子風扇的標定匹配問題開展研究,使用 CATIA 建立了電子風扇的三維結構模型,并且在電子風扇的匹配設計過程中,提出了一種根據風扇結構參數計算其散熱性能的可行方法。

  一般來說,電子風扇控制器需要硬件與軟件相互配合,二者相輔相成,硬件用以支持電子風扇控制器的運行,軟件用以控制硬件,保證電子風扇控制器各個模塊協調有序地工作。周碧[3]介紹了一種以 AT89C52 單片機為控制核心的車用發動機電控冷卻系統的設計,并據此繪制出了系統電路圖,設計出了可行的硬件和電路。完成電子風扇控制系統的硬件設計之后,還需要設計相應的軟件代碼,軟件代碼包括總體框架程序和各功能模塊的底層驅動程序,前者用于管理整個控制過程,后者通過配置微處理器的寄存器,令其按照設定的工作模式工作。兩種程序都是通過 Freescale 單片機專用單片機編譯環境 CodeWarrior[4]實現的。下面對兩種程序的設計進行詳細介紹。

  1 功能分析

  目前電子風扇控制系統具有采集傳感器信號、輸入開關量信號、PWM 輸出控制、風扇狀態診斷等功能[5-6],實現以上功能,需要合理設計電路等硬件,并進行相關的測試與優化[7],還需要軟件代碼對相關模塊進行控制。因此需要針對各個模塊設計程序,主要包括晶振配置程序、傳感器信號采集及處理程序、PWM 輸出控制程序、風扇狀態診斷程序、開關量信號讀入程序、CAN 總線通訊程序、狀態顯示程序等程序;此外,電子風扇控制器工作時需要處理多個任務,為了各個任務能夠有序執行,基于多任務時間規劃機制,設計了系統總體框架程序。

  2 程序代碼設計

  2.1 系統總體框架程序

  多任務時間規劃機制是根據處理任務的重要性不同,將不同任務分配以不同的優先級,并按照優先級高低依次執行程序;當較高優先級的程序執行完畢時,便降至最低優先級,并根據各程序執行所需要的時間,將各程序的優先級及時恢復,從而保證程序工作持續進行。

  程序中的實時時鐘模塊保證了優先級恢復的正常進行:通過該模塊配置最小時間片段,各個程序段依據其運行所需要的時間間隔,結合當前的時間片段,經過累加得到一個變量,當該變量達到一定值時,將程序段優先級的恢復,進入下一次的運行。

  系統總體框架程序實現了系統中各個程序的有序進行,下面對各底層驅動程序模塊進行介紹。

  2.2 晶振配置程序

  控制器是基于 S9S08DZ60 單片機設計的,該單片機中含有多功能時鐘發生器(MCG)模塊,模塊中包含 1 個鎖頻環(FLL)和一個鎖相環(PLL),并且可以選擇其中任一個作為單片機的系統時鐘,也可選用外部參考時鐘作為 MCU 系統時鐘。在單片機的時鐘源配置中,主要用到了 MCGSC、 MCGC1、MCGC2 及 MCGC3 這 4 個特殊功能寄存器,本系統中時鐘配置步驟如下:

  單片機復位會使時鐘模塊處于 FEI 模式,因此首先需要通過寄存器配置將 FEI 模式轉換為 FBE 模式;這個步驟中需要完成外部振蕩器的配置,選擇外部參考時鐘為系統時鐘源等。將 FBE 模式轉為 BLPE 模式,進而轉為 PBE 模式,在這個步驟中需要選擇 PLL 模式。之后,將 PBE 模式轉為 PEE 模式,完成時鐘頻率的設置。

  2.3 傳感器信號采集及處理程序

  傳感器信號是控制器通過模數轉換模塊實現的,使用模數轉換模塊時,首先應配置工作模式,即配置采樣精度、采樣速度、采樣模式及采樣通道,該過程涉及到 ADCCFG、 ADCSC1、ADCSC2、APCTL1、APCTL2 及 APCTL3 等特殊功能寄存器。通過寄存器配置設定數模轉換單元采用低功耗模式,轉換精度為 12 位,以總線頻率作為時鐘,模數轉化速度為總線頻率的一半;通過配置,在使能數據轉換完成后進入中斷功能,配置用到的引腳為模數轉換功能,屏蔽 IO 功能。

  完成上述配置,便可控制單片機模數轉換功能,采集后續數據時,可通過 ADCSC1 指定采樣通道,并啟動單次采樣工作模式,采集相應通道的數據,完成采集后進入模數轉換中斷函數,并將采樣結果暫存,置位相關變量,告知有新的數據到來。

  采集完成后,需要通過標度變換將采集到的數字量轉化為對應的物理量,此處通過查表實現。在此,建立不同的數組,用來存儲數字量與實際溫度值的對應關系,模數轉換完成后,對數組中的數據進行查表及線性插值處理,得到對應的物理量。針對不同溫度區間數據的使用頻率,設置不同的溫度步長,不常用的溫度區間采取較大的步長,常用的溫度區間則采用較小的步長,這可以減少數組的規模,提高查表速度以及插值的精度。

  2.4 PWM 輸出控制程序

  PWM 輸出是通過單片機的定時器脈沖寬度調節器實現的,該模塊支持邊緣對齊及中央對齊 PWM 模式,此處選擇邊緣對齊模式。該定時器脈沖寬度調節器包含TPM0和TPM1 兩個模塊,其中 TPM1 模塊在此用于邊緣對齊 PWM 輸出, TPM0 模塊用于其他功能。在 PWM 輸出功能中,需涉及到 TPMnSC、TPMnMOD、TPMnCxSC、TPMnCNT 及 TPMnCxV 等特殊功能寄存器,通過配置這些寄存器,控制 TPM1 定時器溢出中斷使能、采用非中央對齊 PEM 輸出功能、功能模塊的時鐘總線為總線速率時鐘、總線速率時鐘二分頻后得到 TPM1 的時鐘源。然后設定計數終點,即 TPM1 定時器的模值,定時器在達到該值后計入溢出中斷,該寄存器的值可指定PWM信號的頻率。TPM2C0SC寄存器可設置及改變TPM1 模塊中第 0 通道的功能模式,在此設置為普通 IO 口,TPM1 模塊其他通道的初始化也如此設置。最后,將 TPM1 計數寄存器清 0,計數寄存器復位。

  上述特殊寄存器設置完成后,才可進入正常工作模式,現以 TPM1 的第 0 通道為例,對 PWM 信號輸出的代碼進行說明。

  首先需要根據 PWM 輸出占空比,對 TPM2C0SC 進行初始化設置。當占空比為 0%時,需要 PWM 輸出引腳保持輸出低電平,此時將該引腳設置為普通 IO 口,然后通過代碼控制引腳輸出低電平。當 PWM 輸出占空比不為 0%時,則需將該通道設置為邊緣對齊 PWM 模式,此時使配置 TPM2 -C0SC 寄存器,并設置 PWM 相應的輸出電平模式,從而使該通道為邊緣對齊 PWM 模式。然后根據該模式中當前的時鐘頻率、TPM1 的模值以及當前占空比計算出對應的計數值,并賦值給通道值寄存器 TPM2C0V,當 TPM1 的計數值與 TPM2C0V 的值相等時,便控制相應的引腳動作,實現 PWM 信號的輸出。圖 1 為通過 TPM1 模塊發出的不同占空比的 PWM 信號。

  2.5 風扇狀態診斷程序

  該程序主要讀取風扇故障狀態及風扇轉速,研究的電子風扇內部具有故障診斷功能,當電子風扇出現溫度、壓力過高等故障時,相應的引腳便輸出高電平,可據此判斷電子風扇是否有故障。該電平信號是在控制器給電子風扇發出的 PWM 信號為低電平時輸出,且 PWM 信號的占空比是實時變化的,即 PWM 信號為低電平的情況也是一直在變化的,因此便需要一個模塊來捕捉風扇電平信號,此處采用 TPM0 模塊的輸出比較功能來捕捉 PWM 信號為低的時刻。

  首先,需要對 TPM0 模塊進行初始化配置,包括時鐘源、時鐘頻率以及計數寄存器等,其配置過程與上文中 TPM1 模塊相似,每次通過 TPM1 進行 PWM 占空比配置時,同步對 TPM0 進行配置,實現輸出比較功能。這需要通過對通道狀態控制寄存器進行配置,該寄存器允許中斷使能,將引腳功能配置為輸出比較模式。為了能夠準確捕捉風扇狀態電平,將輸出比較的中斷時刻設定在 PWM 信號低電平的中間位置,這里通過對通道值寄存器的配置實現,此時信號的狀態穩定,更容易獲取準確的狀態。圖 2 為不同占空比下,讀取風扇狀態電平的時刻示意圖,其中黃線是輸出的 PWM 信號,綠色線表征另外一根引腳的反轉時刻,以便觀察中斷時刻。由以下三個圖可知,在這三種占空比狀態下,都可以在 PWM 信號的低電平位置出現中斷,這也是讀取風扇狀態電平的最佳時刻。

  其次,要獲取風扇的轉速信息,了解風扇運轉狀態,但是電子風扇在實際應用中,轉速信號難以直接測量,因此需要用其他參數來間接獲取,而風扇轉速與 PWM 信號的占空比又是一一對應的,因此可以通過確定兩者之間的關系,依據 PWM 占空比來獲取電子風扇的轉速。在不用電壓下, PWM 占空比與風扇轉速的對應曲線如圖 3 所示。由圖可知,工作電壓在 24 V 以上時,工作電壓對風扇轉速的影響不大;當占空比不變時,隨著工作電壓的下降,對應的風扇轉速也隨之降低。

  2.6 開關量信號讀入程序

  開關量信號讀入包括風扇故障狀態、啟動開關信號及駕駛員發來的反轉控制信號三部分,在上文中已經介紹風扇故障狀態信號的讀取,其他兩個開關量信號的讀取方法與之相同。在讀取前需要對單片機的 IO 口初始化配置,并且需要指定 IO 口的方向,這一功能通過 PTnDD 特殊功能寄存器實現;而后通過 PTAD_PTAD3 的狀態來確定 PA3 引腳電平的高低,其值為 1 時 PA3 收到的是高電平,反之為低電平。該方法可獲取各開關輸入信號的狀態。

  2.7 CAN 總線通訊程序

  該程序包含了 CAN 模塊的初始化、CAN 數據的發送和接收等過程,實現該程序的功能需要利用 Freescale 單片機的局域網通信控制器 MSCAN,MSCAN 具有監聽模式、MSCAN 睡眠模式、MSCAN 初始化模式、MSCAN 關機模式及環回自測模式五個工作模式,使用時首先需要進行初始化,配置工作模式、傳送波特率、數據幀類型及中斷功能。在正常使用過程中,主要使用發送和接收兩個功能,接收時可以采用查詢方式或中斷方式,在此采用中斷方式以提高程序的運行效率。

  在 CAN 模塊的初始化中,首先判斷 CAN 模塊是否啟動,若未啟動,則直接開始系統初始化;若已啟動,則在 MSCAN 沒有等待發送數據幀的前提下,設置模塊進入初始化狀態,在模塊進入初始化狀態后,再向下運行后面的程序。CAN 模塊進入初始化狀態后,需要對 CAN 通訊的波特率進行配置,這里通過 CANBTR0 和 CANBTR1 兩個特殊功能寄存器實現。前者用來配置 CAN 計時參數,包括同步跳轉寬度和波特率的預分頻值;后者根據傳輸速率的高低,設定數據傳輸時的樣本數量,可選擇 1 個或者 3 個。且該寄存器也可以設定每個位時間的時鐘周期數和采樣點的位置。

  此外,在數據接收過程中,需要對不需要接收的數據進行過濾,這一過程可通過配置標識符掩碼寄存器 CANIDMRn、接收寄存器 CANIDARn 及標識符驗收控制寄存器 CANIDAC 實現。其中,掩碼寄存器用于配置需要比較的位,接收寄存器則代表比較的地址值。針對不同標識符需要應用不同的寄存器,擴展標識符需要應用四個接收和掩碼寄存器,標準標識符只應用前兩個寄存器,即 CANIDAR0/1 和 CANIDMR0/1。

  當上述寄存器配置完成后,通過判斷 CANCTL0 和 CANCTL1 寄存器中的標志位,回到正常工作模式,且與總線時鐘進行同步,開始進行數據的收發。為了提高系統的執行效率,將數據的接收配置為中斷模式,這里通過 CANRIER 寄存器中的 RXFIE 位進行配置。

  上述過程完成了 CAN 模塊的初始化,之后便可進行數據的發送和接收。首先,需要將發送過程封裝為一個函數,以便進行數據的發送操作,該函數需判斷發送的數據類型及個數是否正確,且在發送過程中,還需通過發送器標志寄存器來確定當前為空的發送緩沖器。確定好發送緩沖器后,再通過選擇寄存器來選定該緩沖器進行數據發送。

  發送的 CAN 報文包含標識符和數據兩部分,在發送時,標識符需裝載在 CANTIDRn 寄存器中,單片機的 CAN 模塊具備 CANTIDR0~CANTIDR3 共計 4 組標識符寄存器,用于滿足標準幀和擴展幀的標識符加載的需要。對于擴展幀而言,標識符由 29 位組成,4 組標識符寄存器中還有 3 位特殊的標志位(SRR、IDE 及 RTR)。在進行標識符加載時,需要通過移位或者與或處理等將地址標識符及 3 位特殊的標志位加載到 CANTIDRn 的 4 組寄存器中。

  同理,發送的數據也需要通過數據段寄存器 CANTDSRn 加載相應的數據實現。此外,在發送數據前還需要通過寄存器 CANTDLR 指定發送的數據幀中的字節數量;通過 CANTTBPR 指定數據幀的優先級;通過 CANTFLG 指定前述確定的發送緩沖器;最終由 CAN 模塊自動實現數據的發送。

  對于 CAN 數據的接收,需要采用中斷模式,一旦接收的數據通過了接收濾波器的校驗,即可觸發 CAN 模塊的中斷,并進入中斷函數中。在進入 CAN 中斷函數中后,首先需要判斷接收的 CAN 數據的類型是否正確,進而確定當前數據幀中的數據字節數量;由于標識符寄存器中 3 個特殊標志位的存在,需要對接收的標識符寄存器通過變換,得到真正的地址標識符;最后需要將 CAN 數據幀的各字節數據依次取出,完成整個數據接收過程。

  2.8 狀態顯示程序

  狀態顯示是通過數碼管完成的,在此采用 16 通道等電流數碼管驅動芯片 MBI5024。狀態顯示程序包括底層驅動程序和顯示內容控制程序兩個方面。

  顯示裝置使用了 2 位數碼管,共 16 個碼段,MBI5024 底層驅動程序包含對數碼管各碼段的控制引腳的規劃。 MBI5024 通過串行通訊傳遞顯示信息,在此需要兩個字節數據,即 16 位數據來控制 16 個碼段,圖 16 為 2 位數碼管各碼段與控制字節的對應關系,在工作時,發送的第一個字節數對應右邊的數碼管,用于控制 a->h 各碼段的數據;發送的第 2 個字節是左邊的數碼管,即 A->H 的數據。確定好數碼管的各碼段與字節數據之間的關系后,便建立了數碼管顯示內容的真值表,將真值存入數組中,在使用時根據需要顯示的內容查表便可確定需要發出的字節數據的內容。

  顯示程序包括四部分,分別是總體控制程序、數字顯示控制程序、特殊字符顯示控制程序以及 MBI5024 通訊程序,通過這四部分,可以控制數碼管顯示各種信息,包括控制器當前工作狀態、傳感器測試信號、風扇點擊的故障狀態等信息。其中總體控制程序可根據控制器當前的狀態確定顯示內容,顯示內容包括數字和特殊字符,數字和特殊字符的顯示控制分別由各自的顯示控制程序實現,此外,還需要控制器將數據發送到 MBI5024,即需要通訊程序,將數字顯示及特殊字符顯示程序確定的字節內容向外發送,并且可在通訊程序中通過優化的發送機制實現發送速度的調整。

  3 實車測試

  在設計完成后,需要檢測其功能是否完善,各個模塊能否有序協調的工作,是否滿足使用要求。因此,將總體框架程序、各底層驅動程序與電子風扇控制器硬件相結合,在實驗場對電子風扇控制器進行實車測試,對電磁離合器風扇及電子風扇系統的油耗進行了對比分析,對其使用效果進行相關評價,實驗結果表明采用電子風扇后,在各測試工況下都具有明顯的節油效果。

  實驗在空車、中載和重載三種不同載荷下進行,裝有電磁離合器風扇的車輛和同種裝有電子風扇的車輛分別在各種載荷下采取不同速度測試四到五次,記錄各自的油耗進行對比,如圖 5。

  實驗結果可知,不同載荷下節油率稍有變化,但整體電子風扇能夠起到很好的節油作用,設計出的軟件可以很好地控制各個硬件模塊有序協調地進行,具有很好的實用性。

  4 結論

  (1)本文分析了電子風扇控制系統在工作時的功能需求,提出了相應的軟件代碼設計方案。

  (2)基于 Freescale 單片機專用編譯環境 CodeWarrior 對各功能模塊的底層驅動程序進行設計,包括晶振配置程序、傳感器信號采集及處理程序、PWM 輸出控制程序、風扇狀態診斷程序、開關量信號讀入程序、CAN 總線通訊程序、狀態顯示程序等,能夠控制電子風扇控制系統有序工作。

  (3)進行了總體框架的的設計,設計了多任務時間規劃機制實現了上述多種功能的協調工作。

主站蜘蛛池模板: 无码精品日韩中文字幕 | 99re热视频这里只有精品5 | 美国大片成人性网 | 欧美日韩久久中文字幕 | 色屁屁www影院免费观看入口 | 欧美高清v | 看中国一级毛片 | 亚洲人成在线免费观看 | 欧美一级毛片片aa视频 | 欧美亚洲国产成人精品 | 国产精品嫩草影院一二三区 | 911精品国产亚洲日本美国韩国 | 在线观看亚洲专区 | 欧美黑人乱大交灬太大了视频 | 一级欧美在线的视频 | 欧美毛片aaaaa片久久久久 | 亚洲高清在线观看看片 | 日本人一级毛片免费完整视频 | 深夜福利视频在线看免费 | 香港一级a毛片在线播放 | 亚洲欧美日韩综合二区三区 | 日韩日日日| 久久香蕉国产线看观看乱码 | 香蕉视频色 | 国产在线视频自拍 | 大片免费播放 | 亚洲一区二区三区播放在线 | 国产网站精品 | 国产最新精品2020好看的 | 91视频香蕉视频 | 亚洲国产精品久久人人爱 | 视频在线一区二区三区 | 国产做爰一区二区 | 欧美成人精品一区二三区在线观看 | 91最新在线 | 男女很黄很色床视频网站免 | 亚洲高清不卡视频 | 亚洲欧美日韩国产精品网 | 国产毛片在线高清视频 | 亚洲精品国产第一区第二区国 | 一区二区免费在线观看 |