- 相關(guān)推薦
三軸慣性陀螺測(cè)試轉(zhuǎn)臺(tái)控制系統(tǒng)的研制
摘要:介紹了三軸慣性陀螺測(cè)試轉(zhuǎn)臺(tái)的工作方式及其控制系統(tǒng)的功能,研究了以8051單片機(jī)為系統(tǒng)控制核心的轉(zhuǎn)臺(tái)控制器的硬件及軟件設(shè)計(jì)問(wèn)題,提出了采用8051單片機(jī)及Intel8254定時(shí)/計(jì)數(shù)器對(duì)步進(jìn)電機(jī)進(jìn)行開環(huán)位置及速度控制的解決方案。
關(guān)鍵詞:陀螺測(cè)試轉(zhuǎn)臺(tái)單片機(jī)步進(jìn)電機(jī)運(yùn)動(dòng)控制
導(dǎo)航系統(tǒng)是飛行器的重要組成部分。慣性陀螺儀表普遍應(yīng)用于各種類型的飛行器的導(dǎo)航系統(tǒng)中,它反映了飛行器的飛行姿態(tài)以及其它重要導(dǎo)航信息,保證了人為或自動(dòng)駕駛儀對(duì)飛行器進(jìn)行控制的安全性與準(zhǔn)確性。為了確保慣性陀螺儀表工作的可靠性,需要對(duì)儀表進(jìn)行定期的校驗(yàn),用測(cè)試轉(zhuǎn)臺(tái)測(cè)試陀螺儀表是比較常用的方法。某機(jī)場(chǎng)所使用的測(cè)試轉(zhuǎn)臺(tái)大部分存在老化嚴(yán)重以及功能單一的問(wèn)題,尤其是部分轉(zhuǎn)臺(tái)還是老式的手動(dòng)轉(zhuǎn)臺(tái),很難保證校準(zhǔn)精度,所以需要研制新型數(shù)字化的低成本的高精度陀螺測(cè)試轉(zhuǎn)臺(tái)及其控制系統(tǒng)。
。蓖勇轀y(cè)試轉(zhuǎn)臺(tái)及其控制系統(tǒng)介紹
陀螺測(cè)試轉(zhuǎn)臺(tái)主要由高精度轉(zhuǎn)臺(tái)及其控制系統(tǒng)組成。三軸轉(zhuǎn)臺(tái)由ψ軸轉(zhuǎn)臺(tái)、θ軸轉(zhuǎn)臺(tái)、φ軸轉(zhuǎn)臺(tái)三個(gè)子系統(tǒng)組成,分別實(shí)現(xiàn)三個(gè)軸的轉(zhuǎn)動(dòng)。各子系統(tǒng)由臺(tái)體、驅(qū)動(dòng)系統(tǒng)、轉(zhuǎn)動(dòng)系統(tǒng)以及執(zhí)行機(jī)構(gòu)組成。選用步進(jìn)電機(jī)作為各子系統(tǒng)驅(qū)動(dòng)裝置,經(jīng)蝸輪蝸桿及齒輪減速后輸出旋轉(zhuǎn)運(yùn)動(dòng)。轉(zhuǎn)臺(tái)的三個(gè)子系統(tǒng)中,θ軸轉(zhuǎn)臺(tái)固定在ψ軸轉(zhuǎn)臺(tái)的轉(zhuǎn)盤上,φ軸轉(zhuǎn)臺(tái)固定在θ軸轉(zhuǎn)臺(tái)的轉(zhuǎn)盤上。將被測(cè)試陀螺儀表固定于φ軸轉(zhuǎn)臺(tái)的轉(zhuǎn)盤上,按測(cè)試要求控制轉(zhuǎn)臺(tái)各軸進(jìn)行旋轉(zhuǎn),模擬飛機(jī)飛行中的各種姿態(tài),陀螺儀表則輸出相應(yīng)的姿態(tài)信息,比較轉(zhuǎn)臺(tái)的姿態(tài)與儀表的輸出即可校對(duì)儀表偏差。
各子系統(tǒng)的運(yùn)轉(zhuǎn)由其控制器控制?刂破鞯闹饕δ苁墙邮詹僮魅藛T的控制指令,對(duì)控制面板輸入的控制參數(shù)進(jìn)行計(jì)算或轉(zhuǎn)換,變?yōu)椴竭M(jìn)電機(jī)的運(yùn)轉(zhuǎn)控制信號(hào),輸出到測(cè)試轉(zhuǎn)臺(tái);轉(zhuǎn)臺(tái)在控制器的控制下可工作在速度、轉(zhuǎn)角、自動(dòng)等模式;轉(zhuǎn)臺(tái)控制器能夠與上位計(jì)算機(jī)進(jìn)行串行通訊,并執(zhí)行上位計(jì)算機(jī)的控制指令。轉(zhuǎn)臺(tái)與控制器之間通過(guò)航空插頭連接起來(lái),其傳輸?shù)男盘?hào)包括步進(jìn)電機(jī)的驅(qū)動(dòng)信號(hào)和慣性陀螺儀的反饋信號(hào)。
。厕D(zhuǎn)臺(tái)控制系統(tǒng)的硬件設(shè)計(jì)
轉(zhuǎn)臺(tái)控制系統(tǒng)主要由面板控制模塊、控制面板及液晶顯示屏、各子系統(tǒng)軸控模塊、步進(jìn)電機(jī)驅(qū)動(dòng)器和機(jī)箱、電源等組成,圖1為系統(tǒng)硬件組成示意圖。面板控制模塊和各子系統(tǒng)軸控模塊均采用AtmelAT89C52單片機(jī)作為控制核心。液晶屏采用SEIKOEPSON公司生產(chǎn)的SED1335液晶顯示屏及其控制電路,其顯示RAM具有字符和圖形顯示特區(qū),通過(guò)字符發(fā)生器不僅可以調(diào)用固化的160種點(diǎn)陣字符,還可以擴(kuò)展其它需要的字符。步進(jìn)電機(jī)驅(qū)動(dòng)器采用RORZE公司的RD-023MS兩相步進(jìn)電機(jī)驅(qū)動(dòng)器。
。玻笨刂泼姘宓墓芾
面板控制模塊選用四片8255通用擴(kuò)展并口作為單片機(jī)與各子系統(tǒng)軸模塊和面板按鍵、指示燈之間的接口。單片機(jī)的P0口作為數(shù)據(jù)傳輸端口,P2口作為各8255的片選及端口選擇地址。與各子系統(tǒng)軸模塊通訊的三片8255的A口和B口分別作為數(shù)據(jù)的發(fā)送口和接收口,C口提供握手信號(hào)。AT89C52單片機(jī)的串口通過(guò)1488-1489RS232電平轉(zhuǎn)換電路與上位計(jì)算機(jī)的串口連接。
。玻裁姘迥K與軸控模塊的通信
面板模塊與軸控模塊之間通過(guò)兩片8255完成運(yùn)轉(zhuǎn)參數(shù)和狀態(tài)信息的傳遞。圖2所示為軸控模塊8255與面板模塊8255的接口電路示意圖。電路中使用了RS觸發(fā)器74LS74,通過(guò)發(fā)送、查詢、接收、置位等方式,控制數(shù)據(jù)在兩片8255之間傳輸。觸發(fā)器1的輸出信號(hào)Q1作為面板模塊8255向軸控模塊8255傳送數(shù)據(jù)的狀態(tài)標(biāo)志位,當(dāng)Q1為“1”時(shí)表示面板模塊所要傳送的數(shù)據(jù)已經(jīng)準(zhǔn)備好,為“0”時(shí)表示數(shù)據(jù)已被軸控模塊接收或數(shù)據(jù)未到達(dá)狀態(tài)。觸發(fā)器1由面板模塊8255的C0和軸控模塊8255的C4共同控制,由面板8255的C4和軸控模塊8255的C0查詢Q1的狀態(tài)。同理,觸發(fā)器2控制由軸控模塊8255發(fā)送到面板模塊8255的數(shù)據(jù),Q2的輸出值表示數(shù)據(jù)傳送的狀態(tài)。
。玻巢竭M(jìn)電機(jī)脈沖產(chǎn)生及控制電路
系統(tǒng)采用8254定時(shí)/計(jì)數(shù)器產(chǎn)生控制步進(jìn)電機(jī)運(yùn)轉(zhuǎn)的方波脈沖,并對(duì)輸出脈沖進(jìn)行計(jì)數(shù)。將8254的計(jì)數(shù)器0設(shè)定在方波發(fā)生器工作方式,計(jì)數(shù)器2設(shè)定在計(jì)數(shù)器方式。圖3為用8254分頻產(chǎn)生控制脈沖的原理圖。由AT89C52內(nèi)部定時(shí)/計(jì)數(shù)器2產(chǎn)生的方波脈沖送入8254計(jì)數(shù)器0進(jìn)行分頻并輸出控制脈沖。計(jì)數(shù)器2對(duì)輸出的脈沖進(jìn)行計(jì)數(shù)。當(dāng)脈沖數(shù)與計(jì)數(shù)器2的計(jì)數(shù)值相等時(shí)?計(jì)數(shù)器2的輸出端產(chǎn)生電平變化,并被AT89C52的P1.1口監(jiān)測(cè)查詢。當(dāng)AT89C52的晶體振蕩頻率為24MHz時(shí),通過(guò)調(diào)節(jié)其RCAP2H和RCAP2L的值可使其定時(shí)/計(jì)數(shù)器2產(chǎn)生92Hz~6MHz的方波脈沖。通過(guò)對(duì)8254計(jì)數(shù)器0的數(shù)據(jù)寄存器寫入分頻值N,使其輸出相應(yīng)頻率的方波脈沖?來(lái)控制步進(jìn)電機(jī)的轉(zhuǎn)速,計(jì)數(shù)器2通過(guò)記錄計(jì)數(shù)器1輸出的脈沖數(shù)量來(lái)控制電機(jī)的轉(zhuǎn)角。步進(jìn)電機(jī)的輸出轉(zhuǎn)速由下式?jīng)Q定:
ω=Δ·fo/N(度/秒)??(1)?
步距角Δ=[360/(200·i·m)](度/脈沖)?(2)?
式中,步進(jìn)電機(jī)旋轉(zhuǎn)一周的步數(shù)為200;
。闉檗D(zhuǎn)臺(tái)傳動(dòng)機(jī)構(gòu)減速比;
m為步進(jìn)電機(jī)驅(qū)動(dòng)器細(xì)分?jǐn)?shù);
。妫盀檩斎耄福玻担吹拿}沖源頻率;
。螢榉诸l數(shù),即寫入8254計(jì)數(shù)器0的值。
表1各軸分頻值N的設(shè)定
轉(zhuǎn)軸轉(zhuǎn)速范圍/simΔ(度/脈沖)分頻數(shù)N高速(fo=6MHz)低速(=10kHz)軸0.01~5020500.0018216~63529112~1800軸0.05~5480500.00007590~9000--軸0.05~5280500.00012857154~15428--
各子系統(tǒng)寫入8254計(jì)數(shù)器0的分頻值如表1所示。由于對(duì)8254計(jì)數(shù)器寫入的分頻值只能為正整數(shù),而通過(guò)計(jì)算得出的分頻值N不一定為正整數(shù),因此要對(duì)輸入8254計(jì)數(shù)器0的分頻值進(jìn)行四舍五入。產(chǎn)生的驅(qū)動(dòng)脈沖頻率大小具有舍入誤差,其大小不超過(guò):
±(1/2)/N×100%?(3)?
三軸的最小分頻值N=90(θ軸),轉(zhuǎn)速最大誤差為0.56%。
3轉(zhuǎn)臺(tái)控制系統(tǒng)的軟件設(shè)計(jì)
。常泵姘迥K軟件的設(shè)計(jì)
面板模塊程序流程圖如圖4所示。上電開始后,軟件首先對(duì)AT89C52的內(nèi)部寄存器、液晶顯示屏以及8255并口進(jìn)行初始化。程序用一個(gè)字節(jié)作為系統(tǒng)工作狀態(tài)寄存器,寄存器中各標(biāo)志位分別記錄串口以及面板的鎖定及解鎖情況以及各運(yùn)轉(zhuǎn)軸的當(dāng)前運(yùn)轉(zhuǎn)方向和高低速狀態(tài)。液晶顯示初始化設(shè)定LCD的顯示邊界及范圍,以及清空液晶顯示模塊顯存。串行通訊的波特率定為9600bit/s。
面板初始化完成后,軟件將同時(shí)檢測(cè)面板各按鍵信號(hào)并等待串口的中斷信號(hào),當(dāng)檢測(cè)到一種信號(hào)后,將另一種信號(hào)屏蔽。在“ψ軸(或θ軸、φ軸)”鍵按下后,系統(tǒng)鎖定在面板工作方式,并關(guān)閉串口中斷。進(jìn)入面板工作方式后,軟件按流程執(zhí)行轉(zhuǎn)軸選擇、模式設(shè)定、參數(shù)設(shè)定、運(yùn)轉(zhuǎn)執(zhí)行等功能。控制面板按鍵包括ψ、θ、φ軸選擇鍵,運(yùn)轉(zhuǎn)模式選擇鍵,數(shù)字鍵,確定、停止鍵以及手動(dòng)控制鍵。讀取控制面板按鍵信號(hào)后,將選取的運(yùn)轉(zhuǎn)軸、運(yùn)轉(zhuǎn)模式以及設(shè)定的速度角度等參數(shù)記錄于指定的寄存器中。待軟件檢測(cè)到“運(yùn)行”鍵按下后,將數(shù)據(jù)送入與相應(yīng)軸通訊的8255寄存器中,并將該8255的C0位置高,通知軸控模塊讀取。
面板控制模塊與上位計(jì)算機(jī)之間制定了串行通訊協(xié)議。串行通訊指令采用ASCII碼的形式,上位計(jì)算機(jī)指令和控制器返回信息都以“$”字符開頭。面板模塊檢測(cè)到串口接收到字符“$”時(shí),則認(rèn)為上位計(jì)算機(jī)開始發(fā)送信息,信息以回車符結(jié)束。“$”后面是轉(zhuǎn)軸標(biāo)識(shí)符,用“X”或“Y”或“Z”表示,分別對(duì)應(yīng)ψ、θ、φ三個(gè)轉(zhuǎn)軸。轉(zhuǎn)軸標(biāo)識(shí)符后依次為速度、轉(zhuǎn)角、時(shí)間的ASCII碼表示值。程序?qū)⒔邮盏降纳衔豢刂浦噶钪械模粒樱茫桑纱a參數(shù)值轉(zhuǎn)換為軸控模塊可識(shí)別的十六進(jìn)制參數(shù)值,并發(fā)送到相應(yīng)的軸控模塊。
。常草S控模塊軟件的設(shè)計(jì)
子系統(tǒng)軸控模塊程序流程圖如圖5所示。程序開始后先初始化8255各I/O口和8254各計(jì)數(shù)器的工作方式。軟件通過(guò)查詢8255的C0口,檢測(cè)是否得到了由面板模塊發(fā)送來(lái)的數(shù)據(jù)。軸控模塊接收到面板模塊發(fā)來(lái)的指令后,將速度、角度數(shù)據(jù)經(jīng)計(jì)算轉(zhuǎn)換成為8254計(jì)數(shù)器0的分頻值N和計(jì)數(shù)器2所需要記錄的脈沖數(shù)。參數(shù)轉(zhuǎn)換完成后,程序根據(jù)設(shè)定指令進(jìn)入相應(yīng)運(yùn)轉(zhuǎn)模式。
當(dāng)各轉(zhuǎn)軸轉(zhuǎn)速達(dá)到或超過(guò)1°/s時(shí),為了使步進(jìn)電機(jī)在有外加負(fù)載及高速運(yùn)轉(zhuǎn)下不丟步,確保在高速啟動(dòng)或停止時(shí)保持穩(wěn)定,程序?qū)Σ竭M(jìn)電機(jī)的高速啟動(dòng)和停止進(jìn)行了加減速控制。程序采用勻加減速方法。由式(1)可知,分頻值N是角速度ω的反比例函數(shù),設(shè)定ω1=1°/s為加速過(guò)程的初始速度和減速過(guò)程的最終速度,并設(shè)定加減速過(guò)程中每隔10ms速度差值△ω=1°/s,所以有:
。危保(Δ·f0)/ω1
N2=(Δ·f0)/ω2=(Δ·f0)/2ω1=N1/2
…………………………
。危椋(Δ·f1)/ωi=(Δ·f0)/iω1=N1/i
即每經(jīng)過(guò)10ms延時(shí)循環(huán)送給8254定時(shí)器0的分頻值Ni就是將ω=1°/s對(duì)應(yīng)的分頻值N1除以當(dāng)前的循環(huán)次數(shù)得到的。程序?qū)⒚恳徊郊訙p速送入8254的Ni值保存到起始地址為2000H的內(nèi)存單元中,制成分頻值Ni的數(shù)表。在加速過(guò)程中,依次將分頻值Ni送入8254計(jì)數(shù)器0中,一直到從數(shù)表中讀入的分頻數(shù)不大于設(shè)定速度對(duì)應(yīng)的分頻值Nmax,并將Nmax作為最終分頻值為止。減速過(guò)程則與加速過(guò)程相反。
4性能指標(biāo)及結(jié)論
表2列出了控制器控制轉(zhuǎn)臺(tái)運(yùn)轉(zhuǎn)的模式及技術(shù)指標(biāo)。經(jīng)過(guò)調(diào)試運(yùn)行,測(cè)試轉(zhuǎn)臺(tái)能夠在規(guī)定模式下按要求運(yùn)轉(zhuǎn)。轉(zhuǎn)臺(tái)控制器交互性良好,每次輸入指令前液晶屏上都有信息提示相應(yīng)操作。各軸子系統(tǒng)在高速下經(jīng)加減速后均運(yùn)轉(zhuǎn)平穩(wěn),無(wú)丟步現(xiàn)象。同時(shí),能夠利用上位計(jì)算機(jī)的圖形界面設(shè)定運(yùn)轉(zhuǎn)指令參數(shù),并通過(guò)串口發(fā)送指令給轉(zhuǎn)臺(tái)控制器,控制轉(zhuǎn)臺(tái)運(yùn)轉(zhuǎn)。以51單片機(jī)為控制核心的三軸慣性陀螺測(cè)試轉(zhuǎn)臺(tái)及其控制系統(tǒng)的研制,不僅使測(cè)試設(shè)備成本降低,而且在測(cè)試功能、測(cè)試指標(biāo)及測(cè)試精度上均滿足了儀表校驗(yàn)的要求。
表2控制器控制功能及指標(biāo)
功能說(shuō)明指標(biāo)速度模式控制轉(zhuǎn)臺(tái)各軸按指定的速度和時(shí)間段運(yùn)轉(zhuǎn)ψ軸子系統(tǒng):0.01°/s~50°/s
θ軸子系統(tǒng):0.01°/s~5°/s
φ軸子系統(tǒng):0.01°/s~5°/s位置模式控制轉(zhuǎn)臺(tái)軸按指定的速度運(yùn)轉(zhuǎn)某一角度各子系統(tǒng)轉(zhuǎn)角苗:0.01°~999°自動(dòng)模式設(shè)定轉(zhuǎn)臺(tái)各軸運(yùn)轉(zhuǎn)的速度和時(shí)間,在此時(shí)間內(nèi)各軸按指定的速度某一方向運(yùn)轉(zhuǎn);完成后,此軸暫停運(yùn)轉(zhuǎn),間隔2秒鐘后向反方向旋轉(zhuǎn),如此反復(fù)各軸系統(tǒng)的運(yùn)轉(zhuǎn)速度的范圍為速度模式下相應(yīng)軸的運(yùn)轉(zhuǎn)速度范圍手動(dòng)模式作調(diào)整用,每按一次按鍵,相應(yīng)輸出軸以0.1°/s的速度旋轉(zhuǎn)0.1°,持續(xù)按下則1°/s的速度連續(xù)旋轉(zhuǎn),直至按鍵釋放單擊按鍵運(yùn)轉(zhuǎn)速度:0.1°/s持續(xù)按下按鍵運(yùn)轉(zhuǎn)速度:1°/s串行通訊控制器與上位機(jī)通過(guò)串口相互傳遞信息遵守上位機(jī)與控制器的通訊協(xié)議
【三軸慣性陀螺測(cè)試轉(zhuǎn)臺(tái)控制系統(tǒng)的研制】相關(guān)文章:
慣性、慣性現(xiàn)象08-17
慣性系和非慣性系08-17
論慣性08-05
慣性 (人教版)08-17
“慣性”教學(xué)的三點(diǎn)體會(huì)08-17
慣性思維作文05-12
教案示例·慣性現(xiàn)象08-17