專利名稱::一種共軸式無人直升機(jī)的雙余度姿態(tài)控制系統(tǒng)及調(diào)試方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及一種飛機(jī)姿態(tài)控制系統(tǒng),尤其涉及一種共軸式無人直升機(jī)的雙余度姿態(tài)控制系統(tǒng)及調(diào)試方法,屬于無人機(jī)控制
技術(shù)領(lǐng)域:
。
背景技術(shù):
:共軸式直升機(jī)的姿態(tài)控制系統(tǒng)主要用于改善飛行過程的穩(wěn)定性和操作性,可由模擬控制或數(shù)字控制兩種方法實(shí)現(xiàn)。為了改善模擬控制中各部分電路耦合密切、調(diào)試復(fù)雜、參數(shù)不準(zhǔn)確、控制模式固定等缺點(diǎn),本發(fā)明采用全數(shù)字控制。同時(shí),采用數(shù)字控制可以使系統(tǒng)具有良好的可繼承性,且利于系統(tǒng)升級(jí),提高了控制的靈活性和功能模塊的可重用性。由于直升機(jī)的穩(wěn)定性很差,而駕駛員無法針對(duì)短周期運(yùn)動(dòng)進(jìn)行頻繁操作,所以姿態(tài)控制系統(tǒng)是保證共軸式無人直升機(jī)飛行穩(wěn)定的核心組件,其自身可靠性的重要性可見一斑。為了降低飛行過程中的失控概率,本發(fā)明將雙余度控制的思想運(yùn)用到共軸式無人直升機(jī)姿態(tài)控制系統(tǒng)的設(shè)計(jì)中,采用雙CPU進(jìn)行數(shù)字化控制,且實(shí)現(xiàn)了兩者之間的相互備份和實(shí)時(shí)監(jiān)控,以及系統(tǒng)異常情況下的控制切換和平穩(wěn)過渡。
發(fā)明內(nèi)容1、目的本發(fā)明的目的在于提供一種共軸式無人直升機(jī)的雙余度姿態(tài)控制系統(tǒng)及調(diào)試方法。它同時(shí)適合于飛機(jī)和舵機(jī)姿態(tài)控制,根據(jù)位置給定值,以及位置、速度的采集值,通過數(shù)字比例、積分、微分(PID)計(jì)算以脈寬調(diào)制(PWM)形式控制后級(jí)大功率管的工作狀態(tài),實(shí)現(xiàn)飛機(jī)姿態(tài)控制。本發(fā)明采用全數(shù)字化控制,按照輸入和輸出要求,靈活多樣地確定控制模式;其采用的雙余度控制體制,大大提高了姿態(tài)控制系統(tǒng)的可靠性。同時(shí),該參數(shù)調(diào)試方法可以方便地實(shí)現(xiàn)相關(guān)參數(shù)的調(diào)試和存儲(chǔ);通過此方法,無需改變本發(fā)明的硬件和固件架構(gòu),即可根據(jù)控制需求確定多種陀螺、舵機(jī)的有效參數(shù)設(shè)計(jì)。2、技術(shù)方案(1)見圖1,本發(fā)明一種共軸式無人直升機(jī)雙余度姿態(tài)控制系統(tǒng),它是由串口通信模塊、脈沖編碼調(diào)制(PCM)解碼模塊、AD采集模塊、PWM輸出模塊和CPU控制模塊等部分組成的。這些功能模塊全部由CPU調(diào)度,配合CPU的集成外設(shè)實(shí)現(xiàn);它們之間的邏輯關(guān)系是串口通信模塊、PCM解碼模塊、AD采集模塊作為系統(tǒng)輸入,由CPU控制模塊進(jìn)行改進(jìn)的數(shù)字PID控制,以PWM脈沖的形式由PWM輸出模塊輸出,在簡(jiǎn)單的外圍邏輯電路配合下,實(shí)現(xiàn)對(duì)后級(jí)大功率管的控制;同時(shí),CPU控制模塊的主要功能還包括雙CPU的相互監(jiān)測(cè)、備份和切換,從而實(shí)現(xiàn)“雙余度”控制;所述串口通信模塊是由軟件初始化并控制CPU的串口控制器(UART單元)實(shí)現(xiàn),該UART單元繼承了傳統(tǒng)51單片機(jī)的串口發(fā)送和接收結(jié)構(gòu);本發(fā)明利用RS422電平標(biāo)準(zhǔn)的外圍串口轉(zhuǎn)換芯片實(shí)現(xiàn)CPU串口電平標(biāo)準(zhǔn)和外部傳輸電平標(biāo)準(zhǔn)的轉(zhuǎn)換;并利用其中斷服務(wù)程序?qū)C(jī)載主控制計(jì)算機(jī)的數(shù)據(jù)進(jìn)行處理;為了達(dá)到機(jī)載主控制計(jì)算機(jī)同時(shí)控制本發(fā)明的多個(gè)實(shí)體的目的,并且減小誤碼率的產(chǎn)生,本發(fā)明設(shè)計(jì)了一種能夠?qū)崿F(xiàn)多機(jī)通信的協(xié)議,如表ι所示表1適用于多機(jī)通信的串口通信協(xié)議<table>tableseeoriginaldocumentpage6</column></row><table>其中,“幀頭”用于機(jī)載主控制計(jì)算機(jī)與本發(fā)明之間串口通信的同步;“地址”是為本發(fā)明的多個(gè)實(shí)體預(yù)先分配的地址,實(shí)體可根據(jù)地址確認(rèn)執(zhí)行自身的控制信息,而機(jī)載主控制計(jì)算機(jī)可根據(jù)地址確認(rèn)各實(shí)體當(dāng)前的工作狀態(tài);“長(zhǎng)度”是由幀頭到校驗(yàn)和的字節(jié)數(shù),發(fā)送端可根據(jù)此信息實(shí)現(xiàn)數(shù)據(jù)量不定的串口通信,接收端可通過長(zhǎng)度信息和幀尾信息驗(yàn)證接收數(shù)據(jù)是否正確;“校驗(yàn)和”用來判斷此次通信是否出現(xiàn)無碼情況,其校驗(yàn)方法是將幀頭至幀尾的全部字節(jié)依次進(jìn)行位異或操作;“幀尾”是一幀數(shù)據(jù)的結(jié)束標(biāo)志;其控制流程如圖2所示當(dāng)串口接收中斷標(biāo)志被置位時(shí),串口中斷服務(wù)程序根據(jù)“幀頭”、“地址”分別進(jìn)行幀同步和信息過濾,在接收到本機(jī)所需的控制信息后根據(jù)數(shù)據(jù)幀“長(zhǎng)度”預(yù)測(cè)“幀尾”位置,并根據(jù)“校驗(yàn)和”信息進(jìn)行數(shù)據(jù)驗(yàn)證,確定無誤后進(jìn)行有效數(shù)據(jù)的存儲(chǔ)和處理;所述PCM解碼模塊是由CPU的外部中斷和定時(shí)器配合實(shí)現(xiàn),用于對(duì)手持無線電遙控器(Futaba)發(fā)送的PCM脈沖的接收與解碼量化;其解碼流程如圖3所示本發(fā)明通過將定時(shí)器配置為外部中斷觸發(fā)計(jì)數(shù)的模式,在外部中斷的下降沿中斷服務(wù)程序中獲得PCM脈沖測(cè)量值,并設(shè)計(jì)了一種簡(jiǎn)單易行的PCM解碼量化方法a)計(jì)算定時(shí)器對(duì)PCM脈沖計(jì)數(shù)值最值Vm與中心位置計(jì)數(shù)值Vtl之間的差值;b)計(jì)算AD采集值的最值A(chǔ)m與陀螺或舵機(jī)中立位置的AD采集值A(chǔ)tl之間的差值;c)根據(jù)兩差值的比例關(guān)系設(shè)計(jì)比例系數(shù)K;d)計(jì)算定時(shí)器對(duì)PCM脈沖計(jì)數(shù)值Vi與中心位置計(jì)數(shù)值Vtl之間的差值,可將此差值直接量化為后續(xù)PID計(jì)算所需的整型數(shù)據(jù)Pi,其量化公式為Pi=(Vi-V0)XK其中=々-J;。該P(yáng)CM解碼模塊與串口通信模塊組成了本發(fā)明的給定值輸入模塊,為了提高控制靈活性,本發(fā)明為兩路輸入設(shè)置了優(yōu)先級(jí),且后者優(yōu)先級(jí)高于前者后者在有效狀態(tài)下可以被前者搶占,且系統(tǒng)切換至PCM脈沖控制模式;而前者在有效狀態(tài)下系統(tǒng)忽略串口接收的有關(guān)定值部分的命令,系統(tǒng)工作在PCM脈沖控制模式;當(dāng)且僅當(dāng)系統(tǒng)判定PCM脈沖控制失效時(shí),退出當(dāng)前控制狀態(tài),使能串口命令控制,系統(tǒng)進(jìn)入串口命令控制模式;所述AD采集模塊是由CPU的集成模數(shù)轉(zhuǎn)化(ADC)單元配合外圍差分電路實(shí)現(xiàn);該ADC單元的采集功能完全在CPU內(nèi)部實(shí)現(xiàn),量化數(shù)據(jù)直接被CPU的控制模塊使用,加快了數(shù)據(jù)傳輸?shù)乃俾?,提高了控制效率;本發(fā)明的AD采集模塊輸入方式可參照后列表2進(jìn)行分類,它具有四通道和兩通道兩種模式;為了減小直流分量等干擾對(duì)采集值精度的影響,各通道均采用差分輸入的方式;所述PWM輸出模塊是由CPU的集成可編程的計(jì)數(shù)器陣列(PCA)單元組成,配合外圍協(xié)調(diào)電路,以電流驅(qū)動(dòng)的形式控制后級(jí)大功率管系統(tǒng);該P(yáng)CA單元具有六路獨(dú)立的捕捉/比較模塊和輸出,并共用一個(gè)計(jì)數(shù)/定時(shí)器;本發(fā)明使用其中三路,并配置其工作在8位PWM輸出狀態(tài)下,輸出地PWM脈沖具有255位量化精度,最小分辨率由系統(tǒng)時(shí)鐘與量化精度共同決定;為了保護(hù)后級(jí)大功率管,本發(fā)明提供兩路控制電平與兩路PWM脈沖同步輸出,由外圍匹配電路將兩者耦合,用于控制后級(jí)大功率管的正轉(zhuǎn)、反轉(zhuǎn)和截止?fàn)顟B(tài),其流程如圖4所示判斷當(dāng)前PID計(jì)算結(jié)果與前一次PID計(jì)算結(jié)果是否為異號(hào),若為異號(hào)則需改變后級(jí)大功率管的轉(zhuǎn)向,此時(shí)需要400us延時(shí)輸出,兩路電平為高,控制其工作在截止?fàn)顟B(tài);在截止時(shí)期內(nèi)繼續(xù)進(jìn)行PID計(jì)算和判斷過程,如再異號(hào)則清零計(jì)數(shù),繼續(xù)400us延時(shí),以此反復(fù)直至延時(shí)結(jié)束,輸出PWM脈沖并改變電平狀態(tài);此過程可以降低陀螺或舵機(jī)在穩(wěn)定位置上由于給定值和采集值的誤差而產(chǎn)生的抖動(dòng)現(xiàn)象的出現(xiàn)幾率;所述CPU控制模塊是由本發(fā)明新設(shè)計(jì)的軟件部分實(shí)現(xiàn),其主要功能包括協(xié)調(diào)系統(tǒng)工作狀態(tài)和PID控制流程,進(jìn)行改進(jìn)的數(shù)字PID計(jì)算以及雙余度控制的實(shí)現(xiàn)等;為了實(shí)現(xiàn)上述功能并且提高系統(tǒng)軟件的邏輯性、可讀性和可移植性,本發(fā)明通過模塊化的方式加以區(qū)分與設(shè)計(jì);此部分為本發(fā)明的主要?jiǎng)?chuàng)新點(diǎn),包括系統(tǒng)工作狀態(tài)協(xié)調(diào)模塊、PID控制模塊、改進(jìn)的數(shù)字PID計(jì)算模塊和雙余度控制模塊等;其間的相互關(guān)系為系統(tǒng)工作狀態(tài)協(xié)調(diào)模塊通過改變系統(tǒng)在飛行環(huán)境下的工作狀態(tài),調(diào)整系統(tǒng)其他模塊的具體實(shí)施流程;在確定工作狀態(tài)的前提下,雙余度控制模塊根據(jù)實(shí)時(shí)監(jiān)測(cè)信息改變CPU當(dāng)前身份,從而重置PID控制流程;PID控制模塊受制于前面兩個(gè)模塊的輸出,用于在不同工作狀態(tài)下對(duì)當(dāng)前PID計(jì)算的流程進(jìn)行控制;改進(jìn)的數(shù)字PID計(jì)算模塊被PID控制模塊調(diào)用,是本發(fā)明中核心控制理論,即PID算法的具體實(shí)現(xiàn);該系統(tǒng)工作狀態(tài)協(xié)調(diào)模塊是本發(fā)明在飛行環(huán)境下確定和更改當(dāng)前控制模式標(biāo)識(shí)的唯一途徑;它根據(jù)當(dāng)前給定值的獲得渠道確定當(dāng)前系統(tǒng)的工作狀態(tài),即等待PCM脈沖或串口控制命令狀態(tài),PCM脈沖使能狀態(tài)和串口控制命令使能狀態(tài);系統(tǒng)工作狀態(tài)還可由雙余度控制模塊進(jìn)行自主切換,即當(dāng)CPU檢測(cè)自身或備份CPU出現(xiàn)故障時(shí),可改變自身的工作狀態(tài);該P(yáng)ID控制模塊是通過改變一個(gè)雙向鏈表的當(dāng)前節(jié)點(diǎn)來實(shí)現(xiàn)的,此雙向鏈表中的節(jié)點(diǎn)是由PID計(jì)算中涉及到的變量和參數(shù)組成的結(jié)構(gòu)體;它主要用于協(xié)調(diào)PID控制流程;本發(fā)明為了提高控制精度和反應(yīng)速度,詳細(xì)設(shè)計(jì)了一套PID控制流程,并對(duì)PID計(jì)算進(jìn)行了C語言的代碼優(yōu)化;本發(fā)明的PID控制流程可分為兩種情況,即接收到有效的PCM控制脈沖或串口命令獲得給定值初值時(shí)的及時(shí)響應(yīng)過程;以及在完成上述過程后,PID流程進(jìn)入的微調(diào)狀態(tài);該改進(jìn)的數(shù)字PID計(jì)算模塊是由當(dāng)前給定值、采集值、比例系數(shù)和微分系數(shù)等變量,按照數(shù)字PID算法進(jìn)行的運(yùn)算,此模塊的輸入與輸出均被量化為整數(shù)行變量;它采取了多項(xiàng)措施提高PID計(jì)算的靈活性對(duì)當(dāng)前給定值與采集值的差值進(jìn)行分區(qū),并據(jù)此采取協(xié)調(diào)P、D參數(shù)、設(shè)立“死區(qū)”等方法進(jìn)行分段式的PID計(jì)算等;該雙余度控制模塊是由“檢測(cè)”、“判決”和“切換”三個(gè)階段組成;本發(fā)明的硬件板卡中包括兩片CPU,被初始化為主、從兩種身份;“檢測(cè)”是由主CPU的信號(hào)源檢測(cè)和CPU的實(shí)時(shí)互監(jiān)測(cè)兩部分組成,其中主CPU通過對(duì)PCM脈沖和串口命令狀態(tài)進(jìn)行具有優(yōu)先級(jí)的信號(hào)源檢測(cè),而CPU之間通過輸出信號(hào)進(jìn)行互相監(jiān)視,即實(shí)時(shí)互監(jiān)測(cè);“判決”根據(jù)檢測(cè)結(jié)果,結(jié)合CPU身份實(shí)時(shí)判別系統(tǒng)工作狀態(tài);“切換”根據(jù)當(dāng)前判決結(jié)果異常,以及雙CPU的當(dāng)前身份進(jìn)行自主切換,同時(shí)為避免兩者同主或同從的情況特別設(shè)計(jì)了切換方案;它主要用于CPU工作狀態(tài)備份和切換;兩者同步完成自身的輸入處理、流程協(xié)調(diào)和PID計(jì)算,為相互備份和切換時(shí)飛機(jī)姿態(tài)控制的平穩(wěn)過渡做好準(zhǔn)備;兩點(diǎn)主要區(qū)別在于主CPU負(fù)責(zé)最終PWM脈沖的輸出,而從CPU在此期間處于靜默狀態(tài);根據(jù)CPU身份不同進(jìn)行系統(tǒng)初始化,并選擇不同的實(shí)時(shí)監(jiān)控信號(hào)以及異常情況下的身份變更和重初始化。(2)本發(fā)明一種共軸式無人直升機(jī)的雙余度姿態(tài)控制系統(tǒng)的調(diào)試方法,其主要目的在于降低PID控制中比例參數(shù)和微分參數(shù)的調(diào)試復(fù)雜程度,提高參數(shù)準(zhǔn)確度,并實(shí)時(shí)保存有效的參數(shù)值。它所涉及的參數(shù)為各層PID計(jì)算的比例參數(shù)Kp和微分參數(shù)Kd,控制源為Futaba,需為四路AD采集通道提供外接設(shè)備,其中兩路外接可調(diào)電位器模擬Kp和Kd;另外兩路與飛行環(huán)境相同,分別與舵機(jī)的位置傳感器和速度傳感器相接;輸出端接舵機(jī)的大功率管控制器,通過PWM脈沖控制舵機(jī)位置;所采用的數(shù)字PID核心算法是y(k)=KpX{e(k)-KdX[e(k)_e(k_l)]}其中y(k)為時(shí)刻k的輸出量,e(k)為給定值與采集值在k時(shí)刻的差,Kp為比例系數(shù),Kd為微分系數(shù)。試驗(yàn)環(huán)境下的PID控制流程如圖5所示CPU上電后通過對(duì)特定I/O端口的檢測(cè)區(qū)分當(dāng)前工作環(huán)境,即飛行環(huán)境和試驗(yàn)環(huán)境。飛行環(huán)境是指各層PID參數(shù)均已確定的情況下,姿態(tài)控制器真正工作的環(huán)境,此時(shí)各層PID參數(shù)由閃存(FLASH)的“數(shù)據(jù)存儲(chǔ)區(qū)”讀取并在外部數(shù)據(jù)存儲(chǔ)單元(XRAM)中賦值;試驗(yàn)環(huán)境是指PID參數(shù)調(diào)試環(huán)境,可分為“位置PID相關(guān)參數(shù)調(diào)試”和“轉(zhuǎn)速PID相關(guān)參數(shù)調(diào)試”兩個(gè)狀態(tài)。以“舵機(jī)位置相關(guān)參數(shù)調(diào)試”為例,試驗(yàn)環(huán)境下所需的外圍設(shè)備和信號(hào)為a)為Futaba輸出的控制脈沖設(shè)定門限,在門限范圍內(nèi)CPU把控制脈沖以舵機(jī)位置給定值形式處理;超出這個(gè)門限時(shí),CPU接收到“寫FLASH使能”信號(hào),把當(dāng)前的Kp或Kd寫入預(yù)先分配的FLASH數(shù)據(jù)存儲(chǔ)單元中。b)提供四路AD采集通道,其中兩路外接電位器,通過調(diào)整電位器模擬Kp和Kd;另外兩路與飛行環(huán)境相同,分別與舵機(jī)的位置傳感器和速度傳感器相接。c)輸出端接舵機(jī)的大功率管控制器,通過PWM脈沖控制舵機(jī)位置。本發(fā)明一種共軸式無人直升機(jī)的雙余度姿態(tài)控制系統(tǒng)的調(diào)試方法,其具體步驟如下步驟一根據(jù)參數(shù)調(diào)試對(duì)象即“位置”或“速度”的K1^PKd,連接已定義的I/O端口至高或低電平端,用以系統(tǒng)上電后對(duì)實(shí)現(xiàn)環(huán)境的檢測(cè);步驟二調(diào)節(jié)電位器為K1^PKd提供初始參數(shù),通過Futaba以PCM脈沖的形式發(fā)送陀螺或舵機(jī)位置給定值,系統(tǒng)按照試驗(yàn)環(huán)境下的PID控制流程對(duì)后級(jí)大功率管進(jìn)行控制;步驟三保持Futaba的中立位置不變,按照每次試驗(yàn)只調(diào)節(jié)一個(gè)電位器的原則,即固定其中一個(gè),只調(diào)整另一個(gè),使舵機(jī)達(dá)到自激抖動(dòng)的臨界狀態(tài);在當(dāng)前參數(shù)的作用下PID控制的靈敏度和穩(wěn)定度最佳,Kp和Kd為最優(yōu)化參數(shù);步驟四操作Futaba輸出超過脈沖門限的信號(hào),CPU在解析出第一個(gè)“寫FLASH使能”信號(hào)后將當(dāng)前Kp或Kd的采集值量化并寫入FLASH,并忽略之后連續(xù)到達(dá)的寫使能信號(hào);步驟五操作Futaba返回中心位置,CPU復(fù)位當(dāng)前狀態(tài),繼續(xù)等待下一次有效的寫使能信號(hào)的到來,結(jié)束一次調(diào)試。3、優(yōu)點(diǎn)及功效本發(fā)明通過全數(shù)字化的,雙余度的控制方式實(shí)現(xiàn)了對(duì)共軸式無人直升機(jī)的姿態(tài)控制,簡(jiǎn)化了硬件結(jié)構(gòu),降低了干擾,提高了控制靈活性、系統(tǒng)穩(wěn)定性和響應(yīng)速度。本發(fā)明的架構(gòu)體系便于后期的系統(tǒng)維護(hù)、升級(jí)和改造,為同類型姿態(tài)控制系統(tǒng)的設(shè)計(jì)提供了一種可實(shí)施方案。同時(shí),本發(fā)明中所涉及到的參數(shù)調(diào)試方法操作簡(jiǎn)單,大大提高了調(diào)試效率以及參數(shù)的精確度。圖1本發(fā)明總體架構(gòu)示意圖圖2串口控制流程3PCM解碼及量化流程4PWM輸出控制流程5試驗(yàn)環(huán)境下PID控制流程6系統(tǒng)初始化流程7(a)陀螺位置PID控制的邏輯關(guān)系7(b)舵機(jī)位置PID控制的邏輯關(guān)系8系統(tǒng)工作狀態(tài)協(xié)調(diào)模塊的狀態(tài)轉(zhuǎn)移9PID控制模塊控制流程10改進(jìn)的數(shù)字PID計(jì)算模塊處理流程11雙余度控制模塊的CPU身份切換轉(zhuǎn)移中符號(hào)說明如下A串口通信模塊;BPCM解碼模塊;CAD采集模塊;DPWM輸出模塊;ECPU控制模塊;ViPCM脈沖計(jì)數(shù)值ΛPCM中心位置計(jì)數(shù)值力PID計(jì)算結(jié)果;KPCM給定值與AD采集值的比例系數(shù);Al第一層PID計(jì)算(PIDΝ01);Bl第二層PID計(jì)算(PIDΝ02)Cl第三層PID計(jì)算(PIDΝ03);Dl第四層PID計(jì)算(PIDΝ04)Α2等待PCM脈沖或串口控制命令狀態(tài);Β2PCM脈沖使能狀態(tài);C2串口控制命令使能狀態(tài);now雙向鏈表當(dāng)前使能節(jié)點(diǎn);head雙向鏈表頭;tail雙向鏈表尾;now->nextnow的順序下一節(jié)點(diǎn);now—>prenow的逆序上一節(jié)點(diǎn);e(k)給定值與采集值在k時(shí)刻的差;Kp比例系數(shù);Kd微分系數(shù);MpKp的分段比例系數(shù);MdKd的分段比例系數(shù);y(k)時(shí)刻k的PID計(jì)算輸出量;Effline(k)的最小值;具體實(shí)施例方式(1)見圖1,本發(fā)明一種共軸式無人直升機(jī)雙余度姿態(tài)控制系統(tǒng),它是由串口通信模塊A、PCM解碼模塊B、AD采集模塊C、PWM輸出模塊D和CPU控制模塊E等部分組成的。它們之間的邏輯關(guān)系是串口通信模塊A、PCM解碼模塊B、AD采集模塊C作為系統(tǒng)輸入,由CPU控制模塊E進(jìn)行改進(jìn)的數(shù)字PID控制,以PWM脈沖的形式由PWM輸出模塊D輸出,在簡(jiǎn)單的外圍邏輯電路配合下,實(shí)現(xiàn)對(duì)后級(jí)大功率管的控制;同時(shí),CPU控制模塊E的主要功能還包括雙CPU的相互監(jiān)測(cè)、備份和切換,從而實(shí)現(xiàn)“雙余度”控制。所述串口通信模塊是由軟件初始化并控制CPU的串口控制器(UART單元)實(shí)現(xiàn),該UART單元繼承了傳統(tǒng)51單片機(jī)的串口發(fā)送和接收結(jié)構(gòu);本發(fā)明利用RS422電平標(biāo)準(zhǔn)的外圍串口轉(zhuǎn)換芯片實(shí)現(xiàn)CPU串口電平標(biāo)準(zhǔn)和外部傳輸電平標(biāo)準(zhǔn)的轉(zhuǎn)換;并利用其中斷服務(wù)程序?qū)C(jī)載主控制計(jì)算機(jī)的數(shù)據(jù)進(jìn)行處理;為了達(dá)到機(jī)載主控制計(jì)算機(jī)同時(shí)控制本發(fā)明的多個(gè)實(shí)體的目的,并且減小誤碼率的產(chǎn)生,本發(fā)明設(shè)計(jì)了一種能夠?qū)崿F(xiàn)多機(jī)通信的協(xié)議,如下列表1所示,“幀頭”用于機(jī)載主控制計(jì)算機(jī)與本發(fā)明之間串口通信的同步;“地址”是為本發(fā)明的多個(gè)實(shí)體預(yù)先分配的地址,實(shí)體可根據(jù)地址確認(rèn)執(zhí)行自身的控制信息,而機(jī)載主控制計(jì)算機(jī)可根據(jù)地址確認(rèn)各實(shí)體當(dāng)前的工作狀態(tài);“長(zhǎng)度”是由幀頭到校驗(yàn)和的字節(jié)數(shù),發(fā)送端可根據(jù)此信息實(shí)現(xiàn)數(shù)據(jù)量不定的串口通信,接收端可通過長(zhǎng)度信息和幀尾信息驗(yàn)證接收數(shù)據(jù)是否正確;“校驗(yàn)和”用來判斷此次通信是否出現(xiàn)無碼情況,其校驗(yàn)方法是將幀頭至幀尾的全部字節(jié)依次進(jìn)行位異或操作;“幀尾”是一幀數(shù)據(jù)的結(jié)束標(biāo)志;其控制流程如圖2所示當(dāng)串口接收中斷標(biāo)志被置位時(shí),串口中斷服務(wù)程序根據(jù)“幀頭”、“地址”分別進(jìn)行幀同步和信息過濾,在接收到本機(jī)所需的控制信息后根據(jù)數(shù)據(jù)幀“長(zhǎng)度”預(yù)測(cè)“幀尾”位置,并根據(jù)“校驗(yàn)和”信息進(jìn)行數(shù)據(jù)驗(yàn)證,確定無誤后進(jìn)行有效數(shù)據(jù)的存儲(chǔ)和處理;表1適用于多機(jī)通信的串口通信協(xié)議<table>tableseeoriginaldocumentpage10</column></row><table>所述PCM解碼模塊是由CPU的外部中斷和定時(shí)器配合實(shí)現(xiàn),用于對(duì)Futaba發(fā)送的PCM脈沖的接收與解碼量化;其解碼流程如圖3所示本發(fā)明通過將定時(shí)器配置為外部中斷觸發(fā)計(jì)數(shù)的模式,在外部中斷的下降沿中斷服務(wù)程序中獲得PCM脈沖測(cè)量值,并設(shè)計(jì)了一種簡(jiǎn)單易行的PCM解碼量化方法a)計(jì)算定時(shí)器對(duì)PCM脈沖計(jì)數(shù)值最值¥111與中心位置計(jì)數(shù)值Vtl之間的差值;b)計(jì)算AD采集值的最值A(chǔ)m與陀螺或舵機(jī)中立位置的AD采集值A(chǔ)tl之間的差值;c)根據(jù)兩差值的比例關(guān)系設(shè)計(jì)比例系數(shù)K;d)計(jì)算定時(shí)器對(duì)PCM脈沖計(jì)數(shù)值Vi與中心位置計(jì)數(shù)值Vtl之間的差值,可將此差值直接量化為后續(xù)PID計(jì)算所需的整型數(shù)據(jù)Pi,其量化公式為<formula>formulaseeoriginaldocumentpage10</formula>該P(yáng)CM解碼模塊與串口通信模塊組成了本發(fā)明的給定值輸入模塊,為了提高控制靈活性,本發(fā)明為兩路輸入設(shè)置了優(yōu)先級(jí),且后者優(yōu)先級(jí)高于前者后者在有效狀態(tài)下可以被前者搶占,且系統(tǒng)切換至PCM脈沖控制模式;而前者在有效狀態(tài)下系統(tǒng)忽略串口接收的有關(guān)定值部分的命令,系統(tǒng)工作在PCM脈沖控制模式;當(dāng)且僅當(dāng)系統(tǒng)判定PCM脈沖控制失效時(shí),退出當(dāng)前控制狀態(tài),使能串口命令控制,系統(tǒng)進(jìn)入串口命令控制模式;所述AD采集模塊是由CPU的集成ADC單元配合外圍差分電路實(shí)現(xiàn);該ADC單元的采集功能完全在CPU內(nèi)部實(shí)現(xiàn),量化數(shù)據(jù)直接被CPU的控制模塊使用,加快了數(shù)據(jù)傳輸?shù)乃俾?,提高了控制效率;本發(fā)明的AD輸入方式可參照后列表2進(jìn)行分類,它具有四通道和兩通道兩種模式,為了減小直流分量等干擾對(duì)采集值精度的影響,各通道均采用差分輸入的方式;所述PWM輸出模塊是由CPU的集成PCA單元組成,配合外圍協(xié)調(diào)電路,以電流驅(qū)動(dòng)的形式控制后級(jí)大功率管系統(tǒng);該P(yáng)CA單元是一個(gè)可編程的計(jì)數(shù)器陣列,具有六路獨(dú)立的捕捉/比較模塊和輸出,并共用一個(gè)計(jì)數(shù)/定時(shí)器;本發(fā)明使用其中三路,并配置其工作在8位PWM輸出狀態(tài)下,輸出地PWM脈沖具有255位量化精度,最小分辨率由系統(tǒng)時(shí)鐘與量化精度共同決定;為了保護(hù)后級(jí)大功率管,本發(fā)明提供兩路控制電平與兩路PWM脈沖同步輸出,由外圍匹配電路將兩者耦合,用于控制后級(jí)大功率管的正轉(zhuǎn)、反轉(zhuǎn)和截止?fàn)顟B(tài),其流程如圖4所示判斷當(dāng)前PID計(jì)算結(jié)果與前一次PID計(jì)算結(jié)果是否為異號(hào),若為異號(hào)則需改變后級(jí)大功率管的轉(zhuǎn)向,此時(shí)需要400us延時(shí)輸出,兩路電平為高,控制其工作在截止?fàn)顟B(tài);在截止時(shí)期內(nèi)繼續(xù)進(jìn)行PID計(jì)算和判斷過程,如再異號(hào)則清零計(jì)數(shù),繼續(xù)400us延時(shí),以此反復(fù)直至延時(shí)結(jié)束,輸出PWM脈沖并改變電平狀態(tài);此過程可以降低陀螺或舵機(jī)在穩(wěn)定位置上由于給定值和采集值的誤差而產(chǎn)生的抖動(dòng)現(xiàn)象的出現(xiàn)幾率;所述CPU控制模塊是由本發(fā)明新設(shè)計(jì)的軟件部分實(shí)現(xiàn),其主要功能包括協(xié)調(diào)系統(tǒng)工作狀態(tài)和PID控制流程,進(jìn)行改進(jìn)的數(shù)字PID計(jì)算以及雙余度控制的實(shí)現(xiàn)等;為了實(shí)現(xiàn)上述功能并且提高系統(tǒng)軟件的邏輯性、可讀性和可移植性,本發(fā)明通過模塊化的方式加以區(qū)分與設(shè)計(jì);此部分為本發(fā)明的主要?jiǎng)?chuàng)新點(diǎn),包括系統(tǒng)工作狀態(tài)協(xié)調(diào)模塊、PID控制模塊、改進(jìn)的數(shù)字PID計(jì)算模塊和雙余度控制模塊等;其間的相互關(guān)系為系統(tǒng)工作狀態(tài)協(xié)調(diào)模塊通過改變系統(tǒng)在飛行環(huán)境下的工作狀態(tài),調(diào)整系統(tǒng)其他模塊的具體實(shí)施流程;在確定工作狀態(tài)的前提下,雙余度控制模塊根據(jù)實(shí)時(shí)監(jiān)測(cè)信息改變CPU當(dāng)前身份,從而重置PID控制流程;PID控制模塊受制于前面兩個(gè)模塊的輸出,用于在不同工作狀態(tài)下對(duì)當(dāng)前PID計(jì)算的流程進(jìn)行控制;改進(jìn)的數(shù)字PID計(jì)算模塊被PID控制模塊調(diào)用,是本發(fā)明中核心控制理論,即PID算法的具體實(shí)現(xiàn);該系統(tǒng)工作狀態(tài)協(xié)調(diào)模塊是本發(fā)明在飛行環(huán)境下確定和更改當(dāng)前控制模式標(biāo)識(shí)的唯一途徑;它根據(jù)當(dāng)前給定值的獲得渠道確定當(dāng)前系統(tǒng)的工作狀態(tài),即等待PCM脈沖或串口控制命令狀態(tài),PCM脈沖使能狀態(tài)和串口控制命令使能狀態(tài);系統(tǒng)工作狀態(tài)還可由雙余度控制模塊進(jìn)行自主切換,即當(dāng)CPU檢測(cè)自身或備份CPU出現(xiàn)故障時(shí),可改變自身的工作狀態(tài);該P(yáng)ID控制模塊是通過改變一個(gè)雙向鏈表的當(dāng)前節(jié)點(diǎn)來實(shí)現(xiàn)的,此雙向鏈表中的節(jié)點(diǎn)是由PID計(jì)算中涉及到的變量和參數(shù)組成的結(jié)構(gòu)體;它主要用于協(xié)調(diào)PID控制流程;本發(fā)明為了提高控制精度和反應(yīng)速度,詳細(xì)設(shè)計(jì)了一套PID控制流程,并對(duì)PID計(jì)算進(jìn)行了C語言的代碼優(yōu)化;本發(fā)明的PID控制流程可分為兩種情況,即接收到有效的PCM控制脈沖或串口命令獲得給定值初值時(shí)的及時(shí)響應(yīng)過程;以及在完成上述過程后,PID流程進(jìn)入的微調(diào)狀態(tài);該改進(jìn)的數(shù)字PID計(jì)算模塊是由當(dāng)前給定值、采集值、比例系數(shù)和微分系數(shù)等變量,按照數(shù)字PID算法進(jìn)行的運(yùn)算,此模塊的輸入與輸出均被量化為整數(shù)行變量;它采取了多項(xiàng)措施提高PID計(jì)算的靈活性對(duì)當(dāng)前給定值與采集值的差值進(jìn)行分區(qū),并據(jù)此采取協(xié)調(diào)P、D參數(shù)、設(shè)立“死區(qū)”等方法進(jìn)行分段式的PID計(jì)算等;該雙余度控制模塊是由“檢測(cè)”、“判決”和“切換”三個(gè)階段組成;本發(fā)明的硬件板卡中包括兩片CPU,被初始化為主、從兩種身份;“檢測(cè)”是由主CPU的信號(hào)源檢測(cè)和CPU的實(shí)時(shí)互監(jiān)測(cè)兩部分組成,其中主CPU通過對(duì)PCM脈沖和串口命令狀態(tài)進(jìn)行具有優(yōu)先級(jí)的信號(hào)源檢測(cè),而CPU之間通過輸出信號(hào)進(jìn)行互相監(jiān)視,即實(shí)時(shí)互監(jiān)測(cè);“判決”根據(jù)檢測(cè)結(jié)果,結(jié)合CPU身份實(shí)時(shí)判別系統(tǒng)工作狀態(tài);“切換”根據(jù)當(dāng)前判決結(jié)果異常,以及雙CPU的當(dāng)前身份進(jìn)行自主切換,同時(shí)為避免兩者同主或同從的情況特別設(shè)計(jì)了切換方案;它主要用于CPU工作狀態(tài)備份和切換;兩者同步完成自身的輸入處理、流程協(xié)調(diào)和PID計(jì)算,為相互備份和切換時(shí)飛機(jī)姿態(tài)控制的平穩(wěn)過渡做好準(zhǔn)備;兩點(diǎn)主要區(qū)別在于主CPU負(fù)責(zé)最終PWM脈沖的輸出,而從CPU在此期間處于靜默狀態(tài);根據(jù)CPU身份不同進(jìn)行系統(tǒng)初始化,并選擇不同的實(shí)時(shí)監(jiān)控信號(hào)以及異常情況下的身份變更和重初始化。為了提高系統(tǒng)的數(shù)字化程度,減少飛行狀態(tài)下系統(tǒng)硬件電路各部分的EMC影響,本發(fā)明選擇外設(shè)資源頗為豐富的SiliconLiboratories公司出品的C8051F121單片機(jī),它把UART、外部中斷INT、定時(shí)器Timer、ADC模塊和PCA模塊等集成在片內(nèi)。本發(fā)明將上述的五個(gè)邏輯模塊全部置于CPU內(nèi)部實(shí)現(xiàn),配置少量調(diào)理電路,即可實(shí)現(xiàn)由輸入、處理到輸出的完整功能。A由UART實(shí)現(xiàn),B由INT和Timer實(shí)現(xiàn),C由ADC模塊實(shí)現(xiàn),D由PCA模塊實(shí)現(xiàn)。通過配置C8051F121單片機(jī)通用I/O的交叉編譯開關(guān),可以按照優(yōu)先級(jí)順序?qū)⑺栀Y源配置在I/O端口上。串口通信模塊A、PCM解碼模塊B和AD采集模塊C組成輸入部分,PWM輸出模塊D是輸出部分。按照兩者物理意義的劃分,本發(fā)明的工作模式可以歸納為三種,如表2所示表2本發(fā)明的三種工作模式輸入物理量輸出物理量位置給定值A(chǔ)D采集值PWM脈沖陀螺位置--------------------用于舵機(jī)1陀螺轉(zhuǎn)速陀螺位置-----------轉(zhuǎn)速調(diào)整的舵機(jī)1位置------------------------------PWM脈沖舵機(jī)1轉(zhuǎn)速舵機(jī)1位置用于舵機(jī)1舵機(jī)1位置-----------------轉(zhuǎn)速調(diào)整的舵機(jī)1轉(zhuǎn)速pWM脈沖舵機(jī)2位置用于舵機(jī)2舵機(jī)2位置-轉(zhuǎn)速調(diào)整的舵機(jī)2轉(zhuǎn)速PWM脈沖“位置給定值”是指期望的陀螺或舵機(jī)的轉(zhuǎn)角位置,在本系統(tǒng)中所使用的有效范圍為相對(duì)預(yù)定的中立位置士45°之間?!癆D采集值”是指由傳感器反饋回來的電壓信號(hào),其中的“轉(zhuǎn)速”是指陀螺或舵機(jī)的旋轉(zhuǎn)速度。輸出量是一個(gè)連續(xù)的PWM脈沖序列,實(shí)際物理意義是期望的舵機(jī)轉(zhuǎn)速。結(jié)合后期測(cè)試情況,為了保證姿態(tài)控制的穩(wěn)定性和準(zhǔn)確性,必須協(xié)調(diào)各層PID計(jì)算時(shí)間和流程。同時(shí),為了減小外部獨(dú)立晶振誤差,保證主、從CPU的同步,本發(fā)明由C8051F121的片內(nèi)晶振驅(qū)動(dòng),并通過內(nèi)部PLL倍頻,系統(tǒng)時(shí)鐘為73.5MHZ。根據(jù)CPU身份的不同,需要使能不同的集成硬件資源。本系統(tǒng)中所使用的硬件資源如表3所示表3系統(tǒng)硬件資源占用情況<table>tableseeoriginaldocumentpage13</column></row><table>PCM脈沖信號(hào)經(jīng)過比較器CPO的整形,輸入至INTlJfTimerl配置為INTl觸發(fā)的計(jì)時(shí)方式,完成PCM脈沖寬度的測(cè)量,通過量化獲得給定值。UART被用來接收串口數(shù)據(jù),采用適合于遠(yuǎn)距離傳輸?shù)腞S422電平協(xié)議,1位起始位、1位停止位和8位數(shù)據(jù)位,無校驗(yàn)位,波特率57600。脈沖控制周期約為14ms,串口控制周期約為20ms。AD采集具有四通道和兩通道兩種模式,且各通道均采用差分輸入的方式。差分輸入信號(hào)為電壓量,輸入范圍受C8051F120端口極限電壓的控制,為03.3V。本發(fā)明采用ADCO模塊,采樣頻率為2MHZ,量化精度為12bit,量化值左對(duì)齊輸出。配置ADCO使其工作在跟蹤模式,除了轉(zhuǎn)換期間之外ADCO輸入被連續(xù)跟蹤,每次轉(zhuǎn)換之前都有3個(gè)SAR時(shí)鐘的跟蹤周期。適合于本發(fā)明中ADCO所處的采集通道被連續(xù)頻繁切換的情況。集成的PCA模塊用來實(shí)現(xiàn)PWM脈沖的輸出。本發(fā)明提供三路PWM脈沖輸出,其中兩路與通用I/O電平配合,通過或非門4001協(xié)調(diào)輸出控制后級(jí)大功率管的工作狀態(tài),另外一路作為從CPU監(jiān)視主CPU工作狀態(tài)的監(jiān)測(cè)信號(hào)。鑒于后級(jí)大功率管的反映速度,通過配置PCA時(shí)鐘源的方式獲得適當(dāng)?shù)腜WM脈沖的輸出頻率。本發(fā)明采用TimerO的溢出作為PCA時(shí)鐘源,255位量化的PWM脈沖輸出頻率為8KHZ,最小分辨率為0.49us。本發(fā)明采用KeilC編程實(shí)現(xiàn)了姿態(tài)控制系統(tǒng)的全部流程,集成開發(fā)環(huán)境為KeiluVision3,代碼大小為10.Ik字節(jié),使用片內(nèi)RAM83字節(jié),片上外部RAM124字節(jié)。為了保證本發(fā)明在飛行環(huán)境下的系統(tǒng)穩(wěn)定性,采用看門狗復(fù)位和軟件復(fù)位兩種方式重新初始化系統(tǒng)軟硬資源。其中看門狗復(fù)位在處理超時(shí)情況使能,軟件復(fù)位在CPU在實(shí)時(shí)檢測(cè)過程中,發(fā)現(xiàn)系統(tǒng)異常情況下使能。CPU復(fù)位后初始化流程如圖6所示。根據(jù)CPU原始身份的不同,需要按照復(fù)位方式對(duì)集成硬件資源進(jìn)行不同初始化。而主、從CPU復(fù)用的硬件資源需要按照當(dāng)前CPU身份完成不同的功能。根據(jù)C8051F121的特性,其初始化過程應(yīng)該符合一定的先后順序,在配置其他資源之前,首先應(yīng)完成I/O端口和系統(tǒng)時(shí)鐘的初始化。系統(tǒng)工作狀態(tài)協(xié)調(diào)模塊的狀態(tài)轉(zhuǎn)移圖見圖8,其中Al為等待PCM脈沖或串口控制命令狀態(tài),Bl為PCM脈沖使能狀態(tài),Cl為串口控制命令使能狀態(tài)。按照當(dāng)前給定值的獲得渠道,該系統(tǒng)的工作狀態(tài)協(xié)調(diào)模塊可確定和更改本發(fā)明在飛行環(huán)境下的系統(tǒng)的工作狀態(tài)。本發(fā)明采取PCM脈沖和串口命令兩種控制模式,且前者的控制優(yōu)先級(jí)高于后者后者在有效狀態(tài)下可以被前者搶占,且系統(tǒng)切換至PCM脈沖使能模式;而前者在有效狀態(tài)下系統(tǒng)忽略串口接收的有關(guān)定值部分的命令,系統(tǒng)仍工作在PCM脈沖使能模式。系統(tǒng)工作狀態(tài)還可由雙余度控制模塊進(jìn)行自主切換,即當(dāng)CPU檢測(cè)自身或備份CPU出現(xiàn)故障時(shí),可改變自身的工作狀態(tài)當(dāng)系統(tǒng)判定PCM脈沖控制失效時(shí),退出當(dāng)前PCM使能狀態(tài),切換至串口命令控制,系統(tǒng)進(jìn)入串口命令使能模式;當(dāng)系統(tǒng)判定串口故障時(shí),退出當(dāng)前串口命令使能模式,等待兩路信號(hào)源的再次使能。PID控制模塊的控制流程圖見圖9,在判定系統(tǒng)為飛行環(huán)境的前提下,根據(jù)當(dāng)前系統(tǒng)的工作狀態(tài),以及是否需要及時(shí)響應(yīng)外部信號(hào)源的更新信息來控制PID計(jì)算流程。在對(duì)姿態(tài)控制系統(tǒng)進(jìn)行軟件需求分析的基礎(chǔ)上,本發(fā)明清晰地進(jìn)行了變量管理和控制流程設(shè)計(jì)主流程通過對(duì)特定I/O端口的檢測(cè)區(qū)分當(dāng)前工作環(huán)境,即飛行環(huán)境和試驗(yàn)環(huán)境。兩種環(huán)境下,主流程均圍繞協(xié)調(diào)各層PID計(jì)算順序展開,為了簡(jiǎn)化其過程,針對(duì)每層PID所涉及到的數(shù)據(jù)資源建立了一個(gè)以“AD采集通道號(hào)”為索引的雙向鏈表結(jié)構(gòu),其成員變量包括當(dāng)前AD通道采集次數(shù)、上一時(shí)刻給定值與采集值的差值、當(dāng)前給定值、當(dāng)前AD采集值、比例系數(shù)和采集系數(shù)。各板卡中的固件,按照其用途或輸入物理量的種類,通過預(yù)編譯的方法建立此鏈表結(jié)構(gòu),并初始化,鏈表順序如圖7(a)、圖7(b)所示。圖9中“now”為當(dāng)前鏈表節(jié)點(diǎn),“head”為鏈表頭,“tail”為鏈表尾。在保證當(dāng)前PID計(jì)算完整的前提下,主流程可被各種中斷源中斷。按照功能模塊劃分,包括串口命令處理、PCM控制脈沖處理、ADC采集結(jié)束、復(fù)位檢測(cè)、CPU工作狀態(tài)監(jiān)測(cè)、FLASH讀寫等。在所有中斷源中,串口中斷和INTl享有高優(yōu)先級(jí),滿足系統(tǒng)對(duì)控制命令的及時(shí)響應(yīng)。按照鏈表結(jié)構(gòu)定義,每次AD采集和PID計(jì)算流程可分為兩種情況當(dāng)接收到有效的PCM控制脈沖或串口命令后,獲得給定值初值,根據(jù)中立位置和與AD采集值之間的比例關(guān)系量化獲得給定值,改變當(dāng)前使能節(jié)點(diǎn)指針至鏈表頭,按照鏈表的順序依次進(jìn)行AD采樣和PID計(jì)算,及時(shí)響應(yīng)外界控制;在完成上述響應(yīng)后,PID流程進(jìn)入微調(diào)狀態(tài),即由底層PID開始,按照如下規(guī)則進(jìn)行計(jì)算對(duì)每層PID控制進(jìn)行計(jì)數(shù),滿足4次后,計(jì)數(shù)清零,并按照逆序改變當(dāng)前使能節(jié)點(diǎn)指針,進(jìn)行一次AD采集和PID計(jì)算;如計(jì)數(shù)次數(shù)小于4,且當(dāng)前使能節(jié)點(diǎn)指針不指向鏈表尾,則按照順序依次進(jìn)行一次AD采集和PID計(jì)算,且此次PID控制不被計(jì)數(shù)。通過試驗(yàn)驗(yàn)證,本發(fā)明所采取的PID計(jì)算策略具有響應(yīng)速度快,控制穩(wěn)定性強(qiáng)、精度高等優(yōu)點(diǎn)。此外,在沒有接收到控制命令之前,以各通道的AD采集值作為對(duì)應(yīng)PID計(jì)算的給定值,維護(hù)飛機(jī)姿態(tài)的穩(wěn)定。圖9中“now->next”為“now”的順序下一節(jié)點(diǎn),“now->pre"為“noW”的逆序上一節(jié)點(diǎn),“count”為本層PID計(jì)算的次數(shù),"count_max"為本層PID計(jì)算的最大次數(shù)。改進(jìn)的數(shù)字PID計(jì)算模塊的處理流程見圖10。本發(fā)明采用改進(jìn)的數(shù)字PID控制理論實(shí)現(xiàn)對(duì)飛機(jī)姿態(tài)的控制,以及自動(dòng)調(diào)整,所采用的數(shù)字PID核心算法是y(k)=KpX{e(k)-KdX[e(k)_e(k_l)]}其中y(k)為時(shí)刻k的輸出量,e(k)為給定值與采集值在k時(shí)刻的差,Kp為比例系數(shù),Kd為微分系數(shù)。根據(jù)直升機(jī)飛行過程中的運(yùn)動(dòng)特性的實(shí)際測(cè)試結(jié)果,提高控制系統(tǒng)的反應(yīng)速度,本發(fā)明只進(jìn)行比例運(yùn)算和微分運(yùn)算,省略積分運(yùn)算。如表2中的分類所示,根據(jù)共軸式無人直升機(jī)機(jī)械部分的設(shè)計(jì)結(jié)構(gòu),本發(fā)明的PID計(jì)算分為四層和兩層兩種情況控制系統(tǒng)中有關(guān)陀螺位置的PID計(jì)算分為四層進(jìn)行,邏輯關(guān)系如圖7(a)所示;而有關(guān)舵機(jī)位置的PID計(jì)算分為兩層,邏輯關(guān)系如圖7(b)所示。為了進(jìn)一步提高PID控制的靈活性,且保證與脈沖控制序列的接收頻率和串口命令的速率相匹配,本發(fā)明針對(duì)不同層次PID計(jì)算的物理需求進(jìn)行兩個(gè)方面的改進(jìn)對(duì)陀螺和舵機(jī)位置的PID計(jì)算中的e(k)設(shè)定“死區(qū)”的概念,當(dāng)e(k)落入死區(qū)后,下一層的PID計(jì)算給定值以“0”計(jì)算;同時(shí),根據(jù)各層e(k)值的范圍進(jìn)行分級(jí),針對(duì)不同的分級(jí),協(xié)調(diào)Kp與Kd。圖10中Mp和Md分別為Kp與Kd的比例系數(shù)。為了保證在新的PCM控制脈沖或串口命令到來之前,系統(tǒng)能夠最優(yōu)地執(zhí)行本次控制命令,實(shí)現(xiàn)飛機(jī)姿態(tài)的準(zhǔn)確調(diào)整,需要將一次完整的PID控制流程限制在合理的時(shí)間范圍內(nèi)。本發(fā)明對(duì)PID控制的要求為在系統(tǒng)時(shí)鐘為73.5MHZ的前提下,按照之前的PID流程設(shè)計(jì),耗時(shí)最長(zhǎng)的一次PID控制(陀螺位置PID控制)在控制信息間隔時(shí)長(zhǎng)內(nèi)必須被等間隔的執(zhí)行三次以上。通過對(duì)軟件各模塊進(jìn)行耗時(shí)統(tǒng)計(jì)與剖析,最為耗時(shí)的部分為PID計(jì)算。鑒于無人直升機(jī)在飛行中所處的動(dòng)態(tài)平衡狀態(tài),可減小PID計(jì)算的精度以提高速率。本發(fā)明采用的方法為通過原始數(shù)據(jù)的量化和匹配,將浮點(diǎn)數(shù)運(yùn)算全部改變?yōu)檎芜\(yùn)算,并利用C8051F121提供的硬件乘法累加器進(jìn)行長(zhǎng)整形的運(yùn)算。通過以上優(yōu)化,本發(fā)明中一次PID計(jì)算約62us,則一次最長(zhǎng)PID控制過程約4.7ms,可以滿足需求。雙余度控制模塊的CPU身份切換轉(zhuǎn)移圖見圖11。本發(fā)明中的兩片CPU,在明確自身初始工作狀態(tài)后,通過實(shí)時(shí)的、周期的檢測(cè)自身或彼此之間用于工作狀態(tài)指示的信號(hào)來判別當(dāng)前CPU的工作狀態(tài)。在異常情況下進(jìn)行切換,并實(shí)現(xiàn)系統(tǒng)的平穩(wěn)過渡。具體流程如下所述主CPU的檢測(cè)包括控制命令檢測(cè)和從CPU工作狀態(tài)檢測(cè)兩個(gè)部分a)對(duì)有效控制信號(hào)進(jìn)行周期檢測(cè)。在外部中斷服務(wù)程序和串口中斷服務(wù)程序中復(fù)位、重置Timer4進(jìn)行計(jì)時(shí);一旦Timer4溢出,則說明接收到的信號(hào)間隔時(shí)長(zhǎng)大于PCM控制脈沖或串口信息的速率規(guī)定,或者檢測(cè)到串口信息誤碼率連續(xù)偏高,則啟動(dòng)軟件復(fù)位功能,改變自身當(dāng)前的身份為從CPU,并進(jìn)行重初始化,執(zhí)行從CPU對(duì)主機(jī)信號(hào)的檢測(cè);在Timer4的溢出中斷服務(wù)程序中還需結(jié)合控制輸入優(yōu)先級(jí)的設(shè)置和當(dāng)前CPU的工作狀態(tài)進(jìn)行判斷,以避免由于沖突產(chǎn)生的虛假錯(cuò)誤。b)對(duì)從CPU的工作狀態(tài)進(jìn)行檢測(cè)。把從CPU的用于檢測(cè)工作狀態(tài)的一路PWM信號(hào)線與主CPU的比較器CPl鏈接,由于從CPU不應(yīng)有PWM脈沖輸出,所以一旦CPl檢測(cè)到PWM脈沖出現(xiàn),說明從CPU出現(xiàn)故障,或說明出現(xiàn)了兩片CPU同時(shí)為主的狀態(tài)。此時(shí)的CPU身份需改變?yōu)閺腃PU身份。從CPU的檢測(cè)只包含對(duì)主CPU工作狀態(tài)的檢測(cè)。把主CPU的用于檢測(cè)工作狀態(tài)的一路PWM信號(hào)線與從CPU的比較器CPl鏈接,同時(shí)在CPl中斷中復(fù)位、重啟Timer4,通過檢測(cè)Timer4來判斷主CPU是否有連續(xù)的、有效的PWM脈沖輸出,一旦超時(shí)則將當(dāng)前CPU身份設(shè)置為主,并進(jìn)行重初始化。為了避免由于串口數(shù)據(jù)源或PCM控制脈沖信號(hào)自身異常所導(dǎo)致的CPU身份頻繁切換的狀態(tài),若此CPU原始身份為主,需在此時(shí)判斷上一次CPU復(fù)位的歷史記錄,若為軟件復(fù)則放棄對(duì)控制命令的檢測(cè)。通過以上流程可以實(shí)現(xiàn)兩CPU之間的切換和相互配合,并能夠自動(dòng)解除由于時(shí)鐘失拍或切換延時(shí)等原因造成的“同主”或“同從”狀態(tài),避免狀態(tài)機(jī)中的死鎖和死環(huán)情況的發(fā)生。同時(shí),CPU每次切換為主的情況下,需要保證切換后飛機(jī)姿態(tài)的穩(wěn)定性。本發(fā)明采用兩種方法參照初始狀態(tài)時(shí),以各通道的AD采集值作為對(duì)應(yīng)PID計(jì)算的給定值,等待控制命令的到來;利用單片機(jī)外存擴(kuò)展技術(shù)將兩者聯(lián)系起來,在正常的PID控制流程中實(shí)時(shí)記錄相關(guān)數(shù)據(jù),在CPU發(fā)生切換時(shí),當(dāng)前主CPU可通過I/O總線獲得原主CPU的控制信息,從而保證飛機(jī)姿態(tài)的平穩(wěn)過渡。(2)根據(jù)之前參數(shù)調(diào)試方案中的設(shè)計(jì),連接外圍設(shè)備,設(shè)置所需的中立位置。本發(fā)明一種共軸式無人直升機(jī)的雙余度姿態(tài)控制系統(tǒng)的調(diào)試方法,如圖5所示,具體的實(shí)現(xiàn)步驟如下步驟一根據(jù)參數(shù)調(diào)試對(duì)象即“位置”或“速度”的K1^PKd,連接已定義的I/O端口至高或低電平端,用以系統(tǒng)上電后對(duì)實(shí)現(xiàn)環(huán)境的檢測(cè);步驟二調(diào)節(jié)電位器為K1^PKd提供初始參數(shù),通過Futaba以PCM脈沖的形式發(fā)送陀螺或舵機(jī)位置給定值,系統(tǒng)按照試驗(yàn)環(huán)境下的PID控制流程對(duì)后級(jí)大功率管進(jìn)行控制;步驟三保持Futaba的中立位置不變,按照每次試驗(yàn)只調(diào)節(jié)一個(gè)電位器的原則,即固定其中一個(gè),只調(diào)整另一個(gè),使舵機(jī)達(dá)到自激抖動(dòng)的臨界狀態(tài);在當(dāng)前參數(shù)的作用下PID控制的靈敏度和穩(wěn)定度最佳,Kp和Kd為最優(yōu)化參數(shù);步驟四操作Futaba輸出超過脈沖門限的信號(hào),CPU在解析出第一個(gè)“寫FLASH使能”信號(hào)后將當(dāng)前Kp或Kd的采集值量化并寫入FLASH,并忽略之后連續(xù)到達(dá)的寫使能信號(hào);步驟五操作Futaba返回中心位置,CPU復(fù)位當(dāng)前狀態(tài),繼續(xù)等待下一次有效的寫使能信號(hào)的到來,結(jié)束一次調(diào)試。權(quán)利要求一種共軸式無人直升機(jī)雙余度姿態(tài)控制系統(tǒng),其特征在于它是由串口通信模塊、PCM解碼模塊、AD采集模塊、PWM輸出模塊和CPU控制模塊等部分組成的;它們之間的邏輯關(guān)系是串口通信模塊、PCM解碼模塊、AD采集模塊作為系統(tǒng)輸入,由CPU控制模塊進(jìn)行改進(jìn)的數(shù)字PID控制,以PWM脈沖的形式由PWM輸出模塊輸出,在簡(jiǎn)單的外圍邏輯電路配合下,實(shí)現(xiàn)對(duì)后級(jí)大功率管的控制;同時(shí),CPU控制模塊的主要功能還包括雙CPU的相互監(jiān)測(cè)、備份和切換,從而實(shí)現(xiàn)“雙余度”控制;所述串口通信模塊是由軟件初始化并控制CPU的串口控制器即UART單元實(shí)現(xiàn),該UART單元繼承了傳統(tǒng)51單片機(jī)的串口發(fā)送和接收結(jié)構(gòu);本系統(tǒng)利用RS422電平標(biāo)準(zhǔn)的外圍串口轉(zhuǎn)換芯片實(shí)現(xiàn)CPU串口電平標(biāo)準(zhǔn)和外部傳輸電平標(biāo)準(zhǔn)的轉(zhuǎn)換;并利用其中斷服務(wù)程序?qū)C(jī)載主控制計(jì)算機(jī)的數(shù)據(jù)進(jìn)行處理;為了達(dá)到機(jī)載主控制計(jì)算機(jī)同時(shí)控制本系統(tǒng)的多個(gè)實(shí)體的目的,并且減小誤碼率的產(chǎn)生,設(shè)計(jì)了一種如下表所示的適用于多機(jī)通信的串口通信協(xié)議名稱幀頭地址長(zhǎng)度數(shù)據(jù)校驗(yàn)和幀尾字節(jié)(byte)211N11其中,“幀頭”用于機(jī)載主控制計(jì)算機(jī)與本系統(tǒng)之間串口通信的同步;“地址”是為本系統(tǒng)的多個(gè)實(shí)體預(yù)先分配的地址,實(shí)體可根據(jù)地址確認(rèn)執(zhí)行自身的控制信息,而機(jī)載主控制計(jì)算機(jī)可根據(jù)地址確認(rèn)各實(shí)體當(dāng)前的工作狀態(tài);“長(zhǎng)度”是由幀頭到校驗(yàn)和的字節(jié)數(shù),發(fā)送端可根據(jù)此信息實(shí)現(xiàn)數(shù)據(jù)量不定的串口通信,接收端可通過長(zhǎng)度信息和幀尾信息驗(yàn)證接收數(shù)據(jù)是否正確;“校驗(yàn)和”用來判斷此次通信是否出現(xiàn)無碼情況,其校驗(yàn)方法是將幀頭至幀尾的全部字節(jié)依次進(jìn)行位異或操作;“幀尾”是一幀數(shù)據(jù)的結(jié)束標(biāo)志;當(dāng)串口接收中斷標(biāo)志被置位時(shí),串口中斷服務(wù)程序根據(jù)“幀頭”、“地址”分別進(jìn)行幀同步和信息過濾,在接收到本機(jī)所需的控制信息后根據(jù)數(shù)據(jù)幀“長(zhǎng)度”預(yù)測(cè)“幀尾”位置,并根據(jù)“校驗(yàn)和”信息進(jìn)行數(shù)據(jù)驗(yàn)證,確定無誤后進(jìn)行有效數(shù)據(jù)的存儲(chǔ)和處理;所述PCM解碼模塊是由CPU的外部中斷和定時(shí)器配合實(shí)現(xiàn),用于對(duì)手持無線電遙控器即Futaba發(fā)送的PCM脈沖的接收與解碼量化;本系統(tǒng)通過將定時(shí)器配置為外部中斷觸發(fā)計(jì)數(shù)的模式,在外部中斷的下降沿中斷服務(wù)程序中獲得PCM脈沖測(cè)量值,并設(shè)計(jì)了一種簡(jiǎn)單易行的PCM解碼量化方法a)計(jì)算定時(shí)器對(duì)PCM脈沖計(jì)數(shù)值最值Vm與中心位置計(jì)數(shù)值V0之間的差值;b)計(jì)算AD采集值的最值A(chǔ)m與陀螺或舵機(jī)中立位置的AD采集值A(chǔ)0之間的差值;c)根據(jù)兩差值的比例關(guān)系設(shè)計(jì)比例系數(shù)K;d)計(jì)算定時(shí)器對(duì)PCM脈沖計(jì)數(shù)值Vi與中心位置計(jì)數(shù)值V0之間的差值,可將此差值直接量化為后續(xù)PID計(jì)算所需的整型數(shù)據(jù)Pi,其量化公式為Pi=(Vi-V0)×K其中該P(yáng)CM解碼模塊與串口通信模塊組成了本系統(tǒng)的給定值輸入模塊,為了提高控制靈活性,本系統(tǒng)為兩路輸入設(shè)置了優(yōu)先級(jí),且后者優(yōu)先級(jí)高于前者后者在有效狀態(tài)下可以被前者搶占,且系統(tǒng)切換至PCM脈沖控制模式;而前者在有效狀態(tài)下系統(tǒng)忽略串口接收的有關(guān)定值部分的命令,系統(tǒng)工作在PCM脈沖控制模式;當(dāng)且僅當(dāng)系統(tǒng)判定PCM脈沖控制失效時(shí),退出當(dāng)前控制狀態(tài),使能串口命令控制,系統(tǒng)進(jìn)入串口命令控制模式;所述AD采集模塊是由CPU的集成模數(shù)轉(zhuǎn)化即ADC單元配合外圍差分電路實(shí)現(xiàn);該ADC單元的采集功能完全在CPU內(nèi)部實(shí)現(xiàn),量化數(shù)據(jù)直接被CPU的控制模塊使用;該AD采集模塊輸入方式具有四通道和兩通道兩種模式,為了減小直流分量的干擾對(duì)采集值精度的影響,各通道均采用差分輸入的方式;所述PWM輸出模塊是由CPU的集成可編程的計(jì)數(shù)器陣列即PCA單元組成,配合外圍協(xié)調(diào)電路,以電流驅(qū)動(dòng)的形式控制后級(jí)大功率管系統(tǒng);該P(yáng)CA單元具有六路獨(dú)立的捕捉/比較模塊和輸出,并共用一個(gè)計(jì)數(shù)/定時(shí)器;本系統(tǒng)使用其中三路,并配置其工作在8位PWM輸出狀態(tài)下,輸出地PWM脈沖具有255位量化精度,最小分辨率由系統(tǒng)時(shí)鐘與量化精度共同決定;為了保護(hù)后級(jí)大功率管,本系統(tǒng)提供兩路控制電平與兩路PWM脈沖同步輸出,由外圍匹配電路將兩者耦合,用于控制后級(jí)大功率管的正轉(zhuǎn)、反轉(zhuǎn)和截止?fàn)顟B(tài),判斷當(dāng)前PID計(jì)算結(jié)果與前一次PID計(jì)算結(jié)果是否為異號(hào),若為異號(hào)則需改變后級(jí)大功率管的轉(zhuǎn)向,此時(shí)需要400us延時(shí)輸出,兩路電平為高,控制其工作在截止?fàn)顟B(tài);在截止時(shí)期內(nèi)繼續(xù)進(jìn)行PID計(jì)算和判斷過程,如再異號(hào)則清零計(jì)數(shù),繼續(xù)400us延時(shí),以此反復(fù)直至延時(shí)結(jié)束,輸出PWM脈沖并改變電平狀態(tài);所述CPU控制模塊其功能包括協(xié)調(diào)系統(tǒng)工作狀態(tài)和PID控制流程,進(jìn)行改進(jìn)的數(shù)字PID計(jì)算以及雙余度控制的實(shí)現(xiàn);為了實(shí)現(xiàn)上述功能并且提高系統(tǒng)軟件的邏輯性、可讀性和可移植性,該CPU控制模塊是通過模塊化的方式加以區(qū)分與設(shè)計(jì),它包括系統(tǒng)工作狀態(tài)協(xié)調(diào)模塊、PID控制模塊、改進(jìn)的數(shù)字PID計(jì)算模塊和雙余度控制模塊;其間的相互關(guān)系為系統(tǒng)工作狀態(tài)協(xié)調(diào)模塊通過改變系統(tǒng)在飛行環(huán)境下的工作狀態(tài),調(diào)整系統(tǒng)其他模塊的具體實(shí)施流程;在確定工作狀態(tài)的前提下,雙余度控制模塊根據(jù)實(shí)時(shí)監(jiān)測(cè)信息改變CPU當(dāng)前身份,從而重置PID控制流程;PID控制模塊受制于前面兩個(gè)模塊的輸出,用于在不同工作狀態(tài)下對(duì)當(dāng)前PID計(jì)算的流程進(jìn)行控制;改進(jìn)的數(shù)字PID計(jì)算模塊被PID控制模塊調(diào)用,即PID算法的具體實(shí)現(xiàn);該系統(tǒng)工作狀態(tài)協(xié)調(diào)模塊是本系統(tǒng)在飛行環(huán)境下確定和更改當(dāng)前控制模式標(biāo)識(shí)的唯一途徑;它根據(jù)當(dāng)前給定值的獲得渠道確定當(dāng)前系統(tǒng)的工作狀態(tài),即等待PCM脈沖或串口控制命令狀態(tài),PCM脈沖使能狀態(tài)和串口控制命令使能狀態(tài);系統(tǒng)工作狀態(tài)還可由雙余度控制模塊進(jìn)行自主切換,即當(dāng)CPU檢測(cè)自身或備份CPU出現(xiàn)故障時(shí),可改變自身的工作狀態(tài);該P(yáng)ID控制模塊是通過改變一個(gè)雙向鏈表的當(dāng)前節(jié)點(diǎn)來實(shí)現(xiàn),此雙向鏈表中的節(jié)點(diǎn)是由PID計(jì)算中涉及到的變量和參數(shù)組成的結(jié)構(gòu)體;它主要用于協(xié)調(diào)PID控制流程;設(shè)計(jì)一套PID控制流程,并對(duì)PID計(jì)算進(jìn)行C語言的代碼優(yōu)化;該P(yáng)ID控制流程分為兩種情況,即接收到有效的PCM控制脈沖或串口命令獲得給定值初值時(shí)的及時(shí)響應(yīng)過程;以及在完成上述過程后,PID流程進(jìn)入的微調(diào)狀態(tài);該改進(jìn)的數(shù)字PID計(jì)算模塊是由當(dāng)前給定值、采集值、比例系數(shù)和微分系數(shù)變量,按照數(shù)字PID算法進(jìn)行的運(yùn)算,此模塊的輸入與輸出均被量化為整數(shù)行變量;它采取了下列措施提高PID計(jì)算的靈活性對(duì)當(dāng)前給定值與采集值的差值進(jìn)行分區(qū),并據(jù)此采取協(xié)調(diào)P、D參數(shù)、設(shè)立“死區(qū)”進(jìn)行分段式的PID計(jì)算;該雙余度控制模塊是由“檢測(cè)”、“判決”和“切換”三個(gè)階段組成;本系統(tǒng)的硬件板卡中包括兩片CPU,被初始化為主、從兩種身份;“檢測(cè)”是由主CPU的信號(hào)源檢測(cè)和CPU的實(shí)時(shí)互監(jiān)測(cè)兩部分組成,其中主CPU通過對(duì)PCM脈沖和串口命令狀態(tài)進(jìn)行具有優(yōu)先級(jí)的信號(hào)源檢測(cè),而CPU之間通過輸出信號(hào)進(jìn)行互相監(jiān)視,即實(shí)時(shí)互監(jiān)測(cè);“判決”根據(jù)檢測(cè)結(jié)果,結(jié)合CPU身份實(shí)時(shí)判別系統(tǒng)工作狀態(tài);“切換”根據(jù)當(dāng)前判決結(jié)果異常,以及雙CPU的當(dāng)前身份進(jìn)行自主切換,同時(shí)為避免兩者同主或同從的情況特別設(shè)計(jì)了切換方案;它用于CPU工作狀態(tài)備份和切換;兩者同步完成自身的輸入處理、流程協(xié)調(diào)和PID計(jì)算,為相互備份和切換時(shí)飛機(jī)姿態(tài)控制的平穩(wěn)過渡做好準(zhǔn)備。FSA00000111179900021.tif2.一種共軸式無人直升機(jī)的雙余度姿態(tài)控制系統(tǒng)的調(diào)試方法,它所涉及的參數(shù)為各層PID計(jì)算的比例參數(shù)Kp和微分參數(shù)Kd,控制源為Futaba,需為四路AD采集通道提供外接設(shè)備,其中兩路外接可調(diào)電位器模擬!^和&;另外兩路與飛行環(huán)境相同,分別與舵機(jī)的位置傳感器和速度傳感器相接;輸出端接舵機(jī)的大功率管控制器,通過PWM脈沖控制舵機(jī)位置;所采用的數(shù)字PID核心算法是y(k)=KpX{e(k)-KdX[e(k)_e(k_l)]}其中y(k)為時(shí)刻k的輸出量,e(k)為給定值與采集值在k時(shí)刻的差,Kp為比例系數(shù),Kd為微分系數(shù)CPU上電后通過對(duì)特定I/O端口的檢測(cè)區(qū)分當(dāng)前工作環(huán)境,即飛行環(huán)境和試驗(yàn)環(huán)境;飛行環(huán)境是指各層PID參數(shù)均已確定的情況下,姿態(tài)控制器真正工作的環(huán)境,此時(shí)各層PID參數(shù)由閃存的“數(shù)據(jù)存儲(chǔ)區(qū)”讀取并在外部數(shù)據(jù)存儲(chǔ)單元中賦值;試驗(yàn)環(huán)境是指PID參數(shù)調(diào)試環(huán)境,可分為“位置PID相關(guān)參數(shù)調(diào)試”和“轉(zhuǎn)速PID相關(guān)參數(shù)調(diào)試”兩個(gè)狀態(tài);其特征在于該調(diào)試方法的具體步驟如下步驟一根據(jù)參數(shù)調(diào)試對(duì)象即“位置”或“速度”的~和Kd,連接已定義的I/O端口至高或低電平端,用以系統(tǒng)上電后對(duì)實(shí)現(xiàn)環(huán)境的檢測(cè);步驟二調(diào)節(jié)電位器為~和Kd提供初始參數(shù),通過Futaba以PCM脈沖的形式發(fā)送陀螺或舵機(jī)位置給定值,系統(tǒng)按照試驗(yàn)環(huán)境下的PID控制流程對(duì)后級(jí)大功率管進(jìn)行控制;步驟三保持Futaba的中立位置不變,按照每次試驗(yàn)只調(diào)節(jié)一個(gè)電位器的原則,即固定其中一個(gè),只調(diào)整另一個(gè),使舵機(jī)達(dá)到自激抖動(dòng)的臨界狀態(tài);在當(dāng)前參數(shù)的作用下PID控制的靈敏度和穩(wěn)定度最佳,Kp和Kd為最優(yōu)化參數(shù);步驟四操作Futaba輸出超過脈沖門限的信號(hào),CPU在解析出第一個(gè)“寫FLASH使能”信號(hào)后將當(dāng)前Kp或Kd的采集值量化并寫入FLASH,并忽略之后連續(xù)到達(dá)的寫使能信號(hào);步驟五操作Futaba返回中心位置,CPU復(fù)位當(dāng)前狀態(tài),繼續(xù)等待下一次有效的寫使能信號(hào)的到來,結(jié)束一次調(diào)試。全文摘要一種共軸式無人直升機(jī)雙余度姿態(tài)控制系統(tǒng),它由串口通信模塊、PCM解碼模塊、AD采集模塊、PWM輸出模塊和CPU控制模塊組成,串口通信模塊、PCM解碼模塊、AD采集模塊作為系統(tǒng)輸入,由CPU控制模塊進(jìn)行改進(jìn)的數(shù)字PID控制,以PWM脈沖的形式由PWM輸出模塊輸出,實(shí)現(xiàn)對(duì)后級(jí)大功率管的控制;其調(diào)試方法有五個(gè)步驟,即(一)根據(jù)參數(shù)調(diào)試對(duì)象連接已定義的I/O端口至高或低電平端;(二)調(diào)節(jié)電位器為Kp和Kd提供初始參數(shù),對(duì)后級(jí)大功率管進(jìn)行控制;(三)保持Futaba的中立位置不變,調(diào)節(jié)電位器,使舵機(jī)達(dá)到自激抖動(dòng)的臨界狀態(tài);(四)操作Futaba輸出超過脈沖門限的信號(hào);(五)操作Futaba返回中心位置。該方法實(shí)現(xiàn)了相關(guān)參數(shù)的調(diào)試和存儲(chǔ),降低了干擾,提高了系統(tǒng)穩(wěn)定性和響應(yīng)速度。文檔編號(hào)G05D1/08GK101833336SQ201010162559公開日2010年9月15日申請(qǐng)日期2010年4月28日優(yōu)先權(quán)日2010年4月28日發(fā)明者吳智杰,王修桐,胡繼忠,趙琦申請(qǐng)人:北京航空航天大學(xué)