闞兆成,李衛星
(中國直升機設計研究所,江西 景德鎮 333001)
?
無人直升機發動機轉速采集方法研究
闞兆成,李衛星
(中國直升機設計研究所,江西 景德鎮 333001)
針對某樣例無人直升機發動機轉速采集波動的問題,進行了詳細分析,制定了相應的改進措施,提出了信號濾波算法與計數均值改進算法。試驗結果表明,改進措施可行有效,并可用于解決其他類似轉速采集波動的問題。
無人直升機;轉速采集;計數均值算法
對于無人直升機來說,旋翼轉速的穩定控制對飛行控制系統非常重要。而旋翼轉速與發動機轉速之間是一定的比例關系,對旋翼的轉速控制即是對發動機的轉速控制[1]。只有穩定可靠的發動機轉速控制,才能保證無人直升機的穩定飛行。 當無人直升機起飛后,旋翼負載發生變化,導致發動機負載發生變化,此時應保證發動機轉速保持不變。穩定的發動機轉速控制不但需要最優的控制器,還需要高品質的發動機轉速信號,發動機轉速信號的好壞直接影響了整個飛行控制系統的穩定性與無人直升機的飛行品質。本文結合某樣例無人直升飛機的發動機轉速信號采集出現的問題進行了分析與研究,提出了若干發動機轉速采集問題的改進措施。
樣例無人直升機采用進口先進的4缸4沖程化油器發動機,最大轉速為5800r/min。考慮無人直升機總體需求以及發動機的性能,設定工作轉速為5500r/min。圖1為發動機轉速的實際采集曲線,可以觀察到有很多毛刺,圖2為發動機轉速毛刺的局部放大圖。

圖1 發動機轉速曲線

圖2 毛刺局部放大
通過對發動機轉速毛刺現象進行初步分析,認為毛刺現象主要由以下幾個原因導致:
1) 讀取數據順序錯誤會導致毛刺產生;
2) 信號中存在毛刺會導致毛刺產生;
3)計數器計數算法不夠精確導致毛刺產生。
2.1 讀取數據順序錯誤的分析及改進措施
樣例無人直升機的轉速采集的實際電路設計方法和寄存器定義為:
COUNT:頻率測量計數寄存器;
初始狀態:上電或系統復位0x00;
該寄存器為頻率測量計數寄存器,由三個字節組成,采取的方式是計周期的方式,單位是1μs。
頻率計算方法為:F=1000000/COUNT。
CNT0:脈沖計數寄存器低8位。
CNT1:脈沖計數寄存器中8位。
CNT2:脈沖計數寄存器高8位。
通過周期性地讀取三個寄存器頻率數值得到轉速,讀取完CNT0后,進行寄存器頻率值的刷新。
截取某段毛刺數據,如表1所示,其中頻率量高八位固定為0,不在表中列出,只分析中八位和低八位;從表中可知,該段數據的轉速正常值在5090轉左右,對應軟件讀到的原始數據為0x2E08,單位為μs,有些小的波動,采樣值在0x2E08和0x2DF5左右波動,此時第一個毛刺的峰值為5199.73,對應的采樣值為0x2D13,數據剛好和正常值0x2E08的D7~D0和0x2DF5的D15~D8組合值類似,毛刺極小值為4990.8,對應的采樣值為0x2EF6。該數據剛好和正常值0x2E08的D15~D8和0x2DF5的D7~D0組合值類似,分析其它毛刺,也有同樣的特征。經分析,數據讀取的順序會使采樣信號產生毛刺。

表1 原始記錄的發動機轉速測試數據
當前頻率采集驅動的讀順序是先讀CNT0,然后讀CNT1,最后讀CNT2,這樣在一次讀取過程中,如果讀CNT0后,此時有脈沖更新,數據將更新,那么讀到的CNT1為下一個數據的中8位,產生毛刺數據,和數據分析中的錯誤吻合。
由于讀一次頻率數據需要完成三個讀操作,因此必須對寄存器進行保護,以保證讀取過程中數據沒有變化。因此本文針對這種情況進行了讀保護:先讀CNT2,并把讀到的頻率值進行鎖存,不允許更新數據,讀完CNT0后,結束鎖存,允許刷新,如圖3所示,正確的讀取頻率的方法是:先讀CNT2,然后讀CNT1,最后讀CNT0。

圖3 讀寄存器的保護邏輯
2.2 信號中存在毛刺的分析與改進措施
信號中若存在毛刺,也會對采樣結果產生影響,因此需采用相應的濾波措施。
1) 對信號濾波
實際數據波形的高電平周期為1ms左右,因此更小的信號周期應為干擾,應予濾除。設定毛刺上限值為30μs,小于30μs的信號,認為是毛刺,進行濾除。濾波算法的邏輯如圖4所示。

圖4 濾波算法流程圖
2) 對毛刺濾波
經對實際使用環境了解,實際工作中,在穩定工作情況下,頻率的變化量率不會大于10%,因此針對采樣數據中出現超過10%的數據進行濾除。針對硬件特點,設置濾波門限為1/8Hz。如果變化率超過1/8Hz,則為錯誤數據,進行濾除。濾波算法如圖5所示。

圖5 濾波算法流程圖
2.3 計數器計數改進措施
1) 原計數均值算法
原計數算法如圖6所示,測試的是兩個脈沖之間的時間間隔T,計算頻率如下:
①刷新模式下,頻率測量的是單周期的時間T0,計算頻率F=1/T0;
② 2次平均模式下,頻率測量的是2周期的時間T1,計算頻率F=2/T1;
③ 4次平均模式下,頻率測量的是4周期的時間T2,計算頻率F=4/T2;
④ 8次平均模式下,頻率測量的是8周期的時間T3,計算頻率F=8/T3;
該算法,在較高頻率下,實時性比較好,但測量的是點頻,在刷新率不高的情況下,用戶數據的頻率跳動會比較大。

圖6 原計數器均值算法
2) 計數均值改進算法
改進算法如圖7所示,采用了設置更新時間的方式,頻率測量更新時間為Tset,在Tset設置時間內,對外部輸入脈沖計數,計數值為N,N個脈沖的時間為T,則F=N/T。該種算法在高頻,低刷新率的情況下,采取多次平均,可提高測試精度。

圖7 計數器均值改進算法
經過調整寄存器的讀取順序,并通過對模擬實驗數據的分析,可以進一步確認所讀取數據的正確性。設計兩個交替變換的周期,頻率數據為0x2DE2和0x2E10,采取錯誤的讀取方式,可能讀到0x2D10和0x2EE2的情況,數據和實際毛刺數據吻合,改讀取方式后,未出現錯誤數據。
通過發動機開車試驗,由于讀寫順序引起的較大的毛刺已經消除,但是整個發動機轉速的曲線小的毛刺仍然較多,頻率較高,如圖8、圖9所示。

圖8 發動機轉速曲線

圖9 發動機轉速局部放大曲線
更改信號采集濾波算法與計數器計數的平均值算法,得到發動機轉速曲線如圖10、圖11所示,發動機轉速信號平滑連續,實時可靠,可作為發動機控制的反饋信號使用。

圖10 發動機轉速曲線圖

圖11 發動機轉速局部放大曲線
無人直升機發動機轉速的波動,可能是控制引起的,也有可能是原始信號采集不精確導致的。本文針對無人直升機發動機轉速采集過程中信號品質差的問題,逐步分析,對相應的轉速波動現象采取了改進措施,提出了新的轉速信號濾波算法與計數均值改進算法。試驗結果表明,該改進措施明顯提高了發動機轉速信號的品質,可用于解決其他類似轉速采集波動的問題。
[1] 嚴 峰.小型無人直升機發動機控制設計[J].系統仿真學報,2009, 21(3):830-832.
Research on Engine Speed Acquisition of Unmanned Helicopter
KAN Zhaocheng, LI Weixing
(China Helicopter Research and Development Institute, Jingdezhen 333001, China)
In this paper, after the engine speed unstable acquisition of unmanned helicopter was analyzed, the relevant improved methods were made, and the signal filtering and the count average algorithms were advanced. According to the test results, the improved methods were available, and could also be used to solve the similar problems of other speed acquisition.
unmanned helicopter; speed acquisition; count average algorithm
2015-05-20
闞兆成(1985-),男,山東臨沂人,碩士研究生,工程師,無人直升機飛控。
1673-1220(2015)04-038-05
V233.7+42
A