DSP實(shí)現無(wú)人飛行器控制系統

圖5 系統控制流程圖
所有任務(wù)的啟動(dòng)都和飛控系統總線(xiàn)上的小周期計數息息相關(guān), 其中與接收總線(xiàn)數據相關(guān)的任務(wù)都是由消息分發(fā)線(xiàn)程啟動(dòng), 當接收的消息為PSP發(fā)送的同步數據碼時(shí), 終端對象同步自己的小周期計數, 并按現在所處的小周期啟動(dòng)相應的任務(wù)。所有的任務(wù)都包含在消息處理線(xiàn)程中, 每個(gè)終端都有一個(gè)這樣的線(xiàn)程, 各個(gè)線(xiàn)程獨立工作, 使各個(gè)終端處于并行工作方式。系統全部邏輯控制功能, 均采用周期運行方式, 每隔10ms由定時(shí)中斷程序喚醒。利用CPLD 進(jìn)行邏輯運算及數據處理, 并檢測模擬量輸入信號, 判斷各監控對象的工作狀態(tài)并按照系統控制邏輯決定輸出量。在其狀態(tài)發(fā)生變化時(shí)通知DSP, 協(xié)助DSP完成系統的自檢測功能。在狀態(tài)監測中, 將當前檢測到的狀態(tài)量與存儲的上一個(gè)狀態(tài)量相比較, 如果兩次狀態(tài)相同, 則不進(jìn)行任何操作; 如果發(fā)生變化,則向DSP發(fā)出中斷信號INT, 通知DSP讀取數據。
在接收DSP發(fā)送的控制指令時(shí), 將該指令與當前狀態(tài)相比較, 若符合就不再發(fā)送控制指令, 這樣就能防止多次發(fā)送控制指令引起的誤動(dòng)作。
在飛行過(guò)程中, 控制系統的任務(wù)主要包括采集無(wú)人機的姿態(tài)數據, 計算控制量并輸出到舵機等執行機構, 接受地面站的指令并傳輸無(wú)人飛行器的位置等信息。利用設計的控制板進(jìn)行伺服控制算法的實(shí)現, 完成對執行機構舵機的控制。圖6為控制系統輸出的其中一路舵機的PWM 控制信號波形。

圖6 舵機控制信號
5 結束語(yǔ)
經(jīng)過(guò)調試, 該系統在實(shí)際運行中性能穩定, 達到了設計要求。本系統體積小、重量輕、成本低, 具備一定的擴展性, 適合于構成較強的實(shí)時(shí)性、小型化和低成本的小型無(wú)人飛行器。
評論