基于單片機的發動機轉速和加速時間測量方法
1 引言
本文引用地址:http://www.104case.com/article/171793.htm某型航空發動機性能試驗,需要精確測量發動機各工作狀態的轉速及從慢車到最大狀態的加速時間,傳統的測量方法是采用指針表測量轉速和人工操作秒表測量時間。由于指針轉速表慣性大,分辨率低,加上人工秒表記時全靠手疾眼快,主觀影響大,因此很難實現精確測量。在本系統中,我們采用單片機內部計數器來完成轉速的精確測量,同時利用程序判別發動機從慢車到最大狀態過程的開始時刻和終止時刻,從而實現精確的加速過程時間的測量。
2 原理分析
轉速測量:
發動機傳感器輸出頻率與發動機轉速成正比,本系統采用頻率測量法,即通過測量發動機傳感器的輸出頻率來得到相應的轉速,由于轉速傳感器輸出信號的頻率太低,如果直接利傳感器輸出的頻率來計數,其轉速測量分辨率也很低,因此在轉速信號的預處理電路中對經放大整形后的脈沖信號還進行了鎖相倍頻處理,以提高轉速的測量分辨率和測量精度。
脈沖頻率的計數由單片機內部16位計數器完成,計數的閘門時間(時基)由晶振提供,閘門時間脈沖通過控制外部中斷來控制計數的開始與停止,此設計中還利用了數字濾波技術來提高轉速的測量精度和測量穩定性。
加速時間的測量:
典型的發動機加速過程如下圖1所示:
如圖中所示,測量發動機的加速時間通常是測量慢車狀態到最大狀態的時間。根據試車大綱的操作要求,從慢車狀態快推油門到最大,轉速從慢車轉速達到峰值的時間即為加速時間,即圖1中的t1時間。時間測量的開始時刻通過一個開關控制,在測量時由操作員在推油門的同時通過閉合該開關來啟動計時,因此,用單片機測量加速時間的關鍵是如何正確判別加速過程的終止時刻。
我們采用的判別方法如下:計時開始后,單片機程序一方面測量轉速,另一方面不斷將當前測量值與上次測到的轉速進行比較,如果大于上次的測量值則說明加速過程未結束,如果等于或小于上次的測量值則說明加速過程已結束,單片機通過輸出結束計數命令停止計數。
為了提高判別的可靠性,降低由于轉速擺動等干擾所造成的誤判,軟件設計規定必須在連續兩個閘門時間內的轉速測量值不大于上次的測量值,才被認為轉速的加速時間已結束,但由此引起判斷的時間的滯后(見圖1中的td)。因為閘門時間是確定的,所以可以很容易地通過軟件對滯后時間進行補償。
時間計數器件采用通用十進制計數器,計數脈沖由時基電路產生,頻率為10赫茲。加速時間的分辨率為0.1秒。
3 具體實現
3.1 測量頻率
根據實測數據,我們所用發動機轉速與頻率的對應關系是:轉速10000轉/分時傳感器輸出頻率為83.3333Hz,因此,根據前面的原理分析,為了減小誤差,首先要對轉速進行倍頻,根據對應關系,設計總倍頻系數300,并取閘門時間取為0.2S。51系列單片機內部設置了兩個16位可編程的定時器/計數器T0和T1,它們具有計數器和定時器兩種工作方式和4種工作模式,通過設置狀態字,可以方便的選擇適當的工作方式與工作模式;同時,單片機設有兩個外部中斷請求輸入線INT0和INT1,用于輸入外部中斷源的中斷請求信號。在此,我們采用計數器T1的16位計數模式,計數器計數 (83.3333*300)*0.2=5000,并從INT0輸入0.2秒的外部定時中斷,T1在0.2秒內計數5000,測量時,每次采到的頻率先乘以 2后再做運算。
3.2 上升時間的測量
用從晶振來的10Hz頻率信號作為時間測量的計數輸入,計數開始時間由開關(面板上的開始開關)和轉速輸入(轉速必須大于3000轉/分)決定。當轉速達到某個值(如3000轉/分),單片機系統準備計數,時間顯示器的小數點以每秒兩次的速度閃爍,提醒準備按計數起始按鈕。
具體計時由INT1中斷完成,在中斷程序中完成對外部0.1秒定時脈沖輸入的計時,計時的結束時間由轉速的峰值時刻決定。轉速峰值時刻的判斷方法:記錄用傳感器輸出頻率的2倍頻信號T1,當此次T1值如果大于上次T1值,則該次T1存入峰值單元;如果所測得的T1連續3次(0.6S)不大于所記錄峰值,則認為峰值已過。為補償0.6S滯后時間,接到“開始計時”指令時,延時0.6S才開始計時。
3.3 系統方框圖
圖2 系統方框圖
系統方框圖說明:
1 看門狗輸入脈沖;
2 看門狗復位脈沖;
3 系統設置開關,為提高測量顯示的穩定度,通過數字開關選擇濾波系數。濾波系數(平均次數)可在1-16之間由開關設定,濾波系數越大,轉速測量速度越慢,但測量顯示越穩定。
接地電阻相關文章:接地電阻測試方法
評論