基于PIC16F877的飛機迎、側角自動檢測系統
迎角、側滑角傳感器提供收音機飛行時的迎角和側滑角數據,并以電壓信號的方式輸入到瞄準具,用以修正航炮、導彈發射具有射擊方位,因此,其測量準確性對收音機的射擊精度有很大的影響。由于傳感器風標安裝在空速管上,在飛行中受高速氣流的沖擊,不停振動,可能造成軸磨損、翼片變形、傳感器電位計斷絲以及接觸不良等故障,導致測量角存在較大誤差。目前在檢測迎、側滑角傳感器時,主要采用以人工定性判斷為主、測角儀定量測試為輔的手段。人工檢測只能查出明顯的故障和缺陷,可靠性不高。用測角儀檢測時,安裝不方便,操作不繁瑣,并且存在調整,指示和判讀誤差,測量精度不高。 針對這種情況,我們提出了一種自動檢測的方法,可準確地檢測迎角、側滑角風標的角度和相應的電壓,并對加溫計加溫電流、電壓進行檢測。我們設計了一種基于pic16f877單片機的迎、側角自動檢測系統,它能夠準確檢測風標的電壓、角度、加溫電流,通過led顯示測量數據,通過步進電機控制風標的轉動,通過位移傳感器風標的角度,還能與計算機進行通信,并具有打印功能。該系統在硬件和軟件方面都采取了抗干擾措施,運行穩定,性價比較高。
本文引用地址:http://www.104case.com/article/20809.htm1 系統工作原理
迎、側角檢測系統的組成框圖如圖1所示,迎角傳感器、側滑角傳感器、位移傳感器、霍爾傳感器(電流傳感器)信號,這四路模擬信號經單片機a/d轉換成數字信號,經cpu處理,在led上顯示,通過鍵盤設定我們所需的工作條件,風標在步進電機的帶動下轉動,位移傳感器測量相對于初始點的位移,通過位置關系可以把直線位移轉換成角位移,也就是說可以把角位移轉換成電壓信號,霍爾傳感器把加溫電流轉化為電壓。如果測定的角度值和風標傳感器的電阻值與理論值在誤差允許之內,電流值在規定范圍之內,就認為傳感器工作正常。串行通信部分完成與工控機的通信,微打控制部分控制微型打印機,完成打印功能。整套系統質量較輕,控制方便,運行可靠。

2 硬件電路的設計
2.1 控制器的選擇
對迎角和側滑角傳感器信號要求達到1%的精度。pic16f877內含8路10位的a/d轉換器,對于本控制系統來說,其最高精度可以達到0.005v,完全能夠滿足系統的精度要求。
pic16f877自帶256字節的電可擦寫eeprom存儲器,儲存每次測量的基準值,也可以重新按鍵設定并寫入eeprom儲存。另外,它擁有18k×14bit的flash存儲器,368×8bit的數據sram、豐富的中斷源、標準的rs232串口設計,具有體積小、功耗低的特點。看門狗可以提高軟件運行的可靠性,risc(精簡指令集計算機)指令易學易用、icsp(在線可編程)方便可調。
2.2 模擬輸入電路、鍵盤及顯示部分
模擬輸入為四路傳感器信號,其中,迎角傳感器、側滑角傳感器為空速管自帶的傳感器。位移傳感器的測量精度能夠達到測量的要求。對傳感器信號進行一定的濾波處理,輸入到單片機的四個a/d轉換接口(ra0~ra3),轉換成10位的數字信號。步進電機和位移傳感器安裝在同一個支架上。如步進電機和位移傳感器安裝在迎角的風標上,通過鍵盤“選擇迎角”來選擇對迎角的測量,然后按“設置”鍵,設置需要測量的風標的角度。設置完成后,步進電機帶動風標和傳感器移動,移動完成后,led分時顯示角度值、電阻值、誤差值和加溫電流值。

顯示器選用8位led,每四個led為一個顯示單元,兩個單元分時顯示為設定角度值、風標電阻值、加溫電流值和測量誤差百分比。rd口提供段驅動,rd0~rd6分別連接到led的a~g,rd7為小數點控制位。每個led以5ms的頻率進行掃描顯示,對于肉眼來說該顯示是連續的。74138為3線8線譯碼器,作為位驅動。
鍵盤由ra5和rb口構成。主要功能鍵有:設置、顯示迎角、選擇迎角、選擇側滑角、顯示加溫電流值、打印、顯示誤差。設置ra5、rb0~rb3為輸出,作為行掃描線;設置rb4~rb7為輸入,作為列掃描線,從而組成4×5鍵盤。rb4~rb7初始化輸入低電平,ra5、rb0~rb3初始化輸出高電平。當有按鍵被按下時,對應的列輸入線變為高電平,由于rb4、rb5、rb6、rb7具有輸入電平變化中斷功能,發生中斷。因此,可以準確地對鍵值進行掃描,作出正確的處理。
2.3 步進電機及微打控制部分
步進電機為四相制步進電機,工作在四相十拍的時序下,步進角為0.9°。步進電機通過輪軸帶動風標的轉動和位移傳感器的移動,每次步進對應的風標轉動約為0.05°。步進電機的分頻由單片機cpu來完成,rc0~rc3四個端口作為脈沖輸出控制端。74244起數據緩沖的使用,c0328為功放模塊。為防止電流過大,采用了繼電器來保護步進電機。

微型打印機主要功能是打印測量數據,這里采用的是gp系列打印機,由rd0~rd3作為打印機狀態輸入控制與顯示端口,能夠顯示微打目前的工作狀態,采用的是中斷控制方式。
rd0~rd7為并行數據交換端口,與打印機數據線相聯。re口為讀寫控制端口,在re控制下,rd口為8位的并行從動數據總線。 rd端口作為顯示和微打控制的復用端口,執行打印命令,rd端口作為并行從動端口,由re0、re1、re2控制端口的方向,這時,關閉led的顯示。由于完成一次檢測往往只需打印一次,這是不矛盾的。
2.4 串行通信電路
本系統能夠與工控機進行通信,通過工控機我們可以進行遠程監控和測量。本系統設置單片機的串行通信接口sci工作在全雙工異步從動方式下。sci是利用rc6、rc7兩個引腳作為通信線的二線制串行接口,max232實現ttl/cmos數據轉化為rs232數據。把rc6和rc7分別設置成串行通信接口的發送/時鐘線和接收/數據線。單片機通過響應中斷來實現與工控機的通信,通信原理圖如圖4所示。

串行通信接口異步工作方式有以下重要部伯:波特率發生器(brg)、采樣電路、異步接收器、異步發送器。8位的brg用來驅動來自振蕩器的時鐘,產生標準的波特率。接收線rc7通過1個三中取二檢測電路對其采樣三次,以決定rc7引腳上的電平是高電平還是低電平。sci的發送器和接收器在功能上是獨立的,但他們所用的數據格式和波特率是相同的。串行通信采用標準的不歸零格式,即1位起始位、8位數據位和1位停止位。sci接收和發送順序是從低位到高位依次進行的。
3 軟件設計
在軟件設計中,既綜合了系統的功能、性能要求及硬件電路,又考慮了軟件的易維護性。利用看門狗結構提高軟件的穩定性。軟件晝采用模塊化設計,并盡量做到各模塊的獨立性。主要模塊有:鍵盤事件的處理、led的顯示、步進電機驅動、異步串行通信、數據采集與處理。
3.1 主程序設計
主程序的流程圖如圖5所示。
3.2 中斷處理程序設計
為了充分利用微控制器資源,提高系統的可控性和穩定性,系統使用了較多的中斷處理。pic16f877提供了豐富的中斷源,但它的中斷入口地址只有0004h一個,每種中斷都要通過它進入中斷程序,因此,中斷程序開始現場保存后,要進行各種中斷標志位的順序檢測和判斷。當判斷到中斷標志位時,轉到相應的中斷服務子程序中。根據檢測標志位的順序,可以人為地定義中斷優先級,先判斷的優先級就高。本系統根據實際情況,四種中斷優先級由高到低依次為:串行通信中斷、鍵盤中斷、打印中斷、定時中斷。中斷服務程序流程圖如圖6所示。

另外,中斷也存在嵌套問題。由于中斷入口地址只有一個,因此,當出現中斷嵌套時,各級中斷返回的地址正確與否是很重要的。中斷現場保護是中斷技術的重要組成部分,由于pic單片機中的指令系統沒有push(入棧)、pop(出棧)指令,中斷現場數據不是保留在堆棧中,而是保留在所選擇的寄存器中,所以,存儲器和存儲體的選擇是非常重要的。
4 結束語
該系統工作穩定可靠,具有良好的可控性,性價比較高。經試用單位驗證,該系統工作穩定,精確度高。可控性較強,達到國內先進水平,具有較大的推廣前景。
霍爾傳感器相關文章:霍爾傳感器工作原理
霍爾傳感器相關文章:霍爾傳感器原理
評論