基于單片機(jī)的風(fēng)洞模型姿態(tài)控制系統(tǒng)設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
1、 引言 風(fēng)洞是能人工產(chǎn)生和控制氣流,用以模擬飛行器或物體周圍氣體的流動(dòng),并可量度氣流對(duì)物體的作用以及觀察物體現(xiàn)象的一種管道試驗(yàn)設(shè)備。風(fēng)洞在空氣動(dòng)力學(xué)研究和飛行器設(shè)計(jì)中起著十分重要的作用,它的發(fā)展與航空航天技術(shù)的發(fā)展密切相關(guān)[1]?! D1總體設(shè)計(jì)方案 目前的風(fēng)洞大多以計(jì)算機(jī)為核心配以其它硬件資源完成風(fēng)洞的風(fēng)速及模型姿態(tài)控制。本文重點(diǎn)介紹以自整角機(jī)及其變送器代替?zhèn)鹘y(tǒng)的光電編碼器作為角度傳感器完成模型姿態(tài)控制的原理及方法?! ?、 硬件總體結(jié)構(gòu) 系統(tǒng)用單片機(jī)作控制器,采用定位精確的步進(jìn)電機(jī)作為模型姿態(tài)執(zhí)行元件,高精度的角位移傳感器做測(cè)量元件,實(shí)現(xiàn)對(duì)模型的精確控制。系統(tǒng)由微控制器、鍵盤、顯示、攻角及側(cè)滑角采集、姿態(tài)控制、風(fēng)速采集、試驗(yàn)計(jì)時(shí)等模塊組成,總體方案如圖1所示?! ?.1模型姿態(tài)測(cè)量與控制單元硬件組成 模型姿態(tài)即攻角α和側(cè)滑角β的測(cè)量控制如圖2所示。所選用fb900c系列角位傳感器及變送器其本身為一單片機(jī)系統(tǒng),與系統(tǒng)單片機(jī)采用串行通訊。工作過程為通過鍵盤設(shè)置α和β角度,通過角位傳感器和變送器測(cè)量系統(tǒng)當(dāng)前角度,計(jì)算出要轉(zhuǎn)過的角度,控制兩個(gè)步進(jìn)電機(jī)轉(zhuǎn)動(dòng)并送顯示?! D2模型姿態(tài)控制系統(tǒng)方框圖 系統(tǒng)采用atmel公司的at89c52單片機(jī),該芯片為51系列增強(qiáng)型,內(nèi)部有8k flash rom,三個(gè)16位定時(shí)計(jì)數(shù)器和256字節(jié)ram。 單片機(jī)與步進(jìn)電機(jī)接口使用p1.0~p1.3四條口線控制兩臺(tái)步進(jìn)電機(jī),p1.0和p1.2用來輸出方波信號(hào),p1.1和p1.3用來輸出方向信號(hào)?! b900c系列角位變送器采用自整角機(jī)或旋轉(zhuǎn)變壓器作檢測(cè)元件,運(yùn)用最新檢測(cè)技術(shù),將旋轉(zhuǎn)物體轉(zhuǎn)過的角度經(jīng)微處理器進(jìn)行處理后換算成角位移或直線位移,然后以4~20ma的模擬量或串行口輸出。該變送器用自整角機(jī)或旋轉(zhuǎn)變壓器組合相當(dāng)于8~16位的絕對(duì)編碼器測(cè)量精度,其性價(jià)比遠(yuǎn)高于編碼器測(cè)量方式,是工業(yè)現(xiàn)場(chǎng)最為理想的角位測(cè)量模塊?! ?.2模型姿態(tài)測(cè)量與控制程序設(shè)計(jì) 2.2.1 角度測(cè)量程序設(shè)計(jì) α、β兩個(gè)角度的測(cè)量是風(fēng)洞數(shù)據(jù)采集和控制系統(tǒng)的重點(diǎn),測(cè)量角度的精度直接影響到系統(tǒng)的控制精度。因此,測(cè)量中的各子程序的要求比較高,又由于角位移傳感器的輸出為ascⅱ碼,且數(shù)據(jù)最大為79 9999所以,程序中采用了浮點(diǎn)數(shù)運(yùn)算子程序、整數(shù)與浮點(diǎn)數(shù)之[2]間相互轉(zhuǎn)換子程序,角度測(cè)量程序[2]流程如圖3所示?! 〕绦蚴紫葟睦奂悠髦腥〉靡獪y(cè)量的方向,并把該方向存放在r2中,若r2的值錯(cuò)誤,程序直接返回不進(jìn)行任何操作。通過串口取得相應(yīng)方向角位置數(shù)據(jù)后,調(diào)用進(jìn)制轉(zhuǎn)換程序?qū)?shù)據(jù)轉(zhuǎn)換為浮點(diǎn)數(shù),此時(shí)對(duì)r2中的方向值進(jìn)行判斷,獲得該方向上的傳動(dòng)比,計(jì)算結(jié)果轉(zhuǎn)換為十進(jìn)制后也通過判斷r2中的方向值獲得數(shù)據(jù)存放的單元地址。 程序入口:傳感器編號(hào)存于a中?! 〕绦虺隹冢害两嵌却嬗?1h、β角度存于53h?! 〔糠殖绦蛉缦拢骸 s: clr ea ;關(guān)中斷 mov r2,a ;暫存?zhèn)鞲衅骶幪?hào) mov scon,#50h ;設(shè)置串口方式 mov rcap2h,#0ffh ;自動(dòng)裝載值 mov rcap2l,#0d9h ; mov th2,#0ffh mov tl2,#0d9h mov t2con,#34h ;啟動(dòng)波特率發(fā)生器 …… …… ;發(fā)送采集命令、進(jìn)制轉(zhuǎn)換 lcall fciv ;調(diào)浮點(diǎn)數(shù)運(yùn)算 …… …… ;進(jìn)制轉(zhuǎn)換、存數(shù)據(jù) setb ez ;開中斷 ret 圖3 角度測(cè)量流程圖 2.2.2 角度控制程序設(shè)計(jì) 風(fēng)洞中模型姿態(tài)的控制分兩部分,一個(gè)是當(dāng)前姿態(tài)的測(cè)量,一個(gè)是計(jì)算步進(jìn)電機(jī)需轉(zhuǎn)過的角度,角度的控制是在精確地測(cè)量當(dāng)前姿態(tài)的基礎(chǔ)上完成的,程序框圖如圖4所示?! 『徒嵌葴y(cè)量相似,模型姿態(tài)需要改變的角度放在累加器中,需要改變的方向放在22h單元中,符號(hào)放在23h單元中,通過計(jì)算得到驅(qū)動(dòng)模型轉(zhuǎn)動(dòng)給定角度所需要的脈沖數(shù),以及該方向電機(jī)的控制端口?! 〔糠殖绦蛉缦拢骸 jrun: jz aover mov r2,a ; 待轉(zhuǎn)角度存于a中 mov a,22h ; 模型變化方向 cjne a,#0ah,noaji ljmp adji ;攻角方向(α角) noaji: cjne a,#0bh,error5 ljmp bdji ;側(cè)滑角方向(β角) adji: mov a,23h cjne a,#0ah,adjinozh