<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          關(guān) 閉

          新聞中心

          EEPW首頁 > 工控自動化 > 設(shè)計(jì)應(yīng)用 > 固定翼飛機(jī)豎直飛行控制系統(tǒng)方案設(shè)計(jì)

          固定翼飛機(jī)豎直飛行控制系統(tǒng)方案設(shè)計(jì)

          作者: 時間:2012-02-15 來源:網(wǎng)絡(luò) 收藏

          ·傳感器MMA7260QT輸出的三個軸的數(shù)據(jù)分別送入主控MCU的三個A/D輸入端ADP0、ADP1和ADP2,電源接一個電阻和電感可防止電源對傳感器的干擾。

          本文引用地址:http://www.ex-cimer.com/article/161120.htm

            ·整個電路的電源由J1從接收機(jī)引入,通過78FC33變?yōu)?.3V后給MCU和傳感器供電,J2、J3、J4分別是左右、油門和前后控制。

            ·主控MCU的第二路TPM的捕捉輸入端TPMCH1接接收機(jī)的信號輸出端。本遙控系統(tǒng)是9通道的,也就是可同時控制9個機(jī)構(gòu),這種9通道的信號見圖3。它是由間隔為20ms的一個個脈沖串組成,每個脈沖串有9個脈沖,連續(xù)兩個脈沖的上升沿的間隔就是遙控器送出的有效控制信號,此間隔最小1ms、最大2ms。TPM捕捉到9個脈沖的寬度后,就可以根據(jù)需要直接送給舵機(jī)或經(jīng)PID運(yùn)算后再送給舵機(jī)了。至于如何識別某一脈沖是上一個脈沖串的結(jié)尾還是下一個脈沖串的開頭,這里涉及到一個同步脈沖的概念,屬于軟件內(nèi)容,在此先不作解釋。

            

            ·主控MCU的串行輸出端接輔助MCU的串行輸入端。主控MCU想如何控制動作,只要通過串口把數(shù)據(jù)發(fā)送給輔助MCU就可以了,發(fā)送格式如表1所示,共8個字符,其中0xAA、0x55為引導(dǎo)位……

            

            ·三個LED,D1是電源指示燈,D3用于指示“我是控制電路,我已經(jīng)開始控制了”,D2是“出錯了,小心出問題,快切換回由你控制吧。”

          ·輔助MCU有兩個工作:一是讀主控MCU送來的串行數(shù)據(jù),找到引導(dǎo)字符后,把前后左右上下(油門)的數(shù)據(jù)送入相應(yīng)的數(shù)組貯存;二是每20ms把相應(yīng)的數(shù)組里的數(shù)據(jù)以脈沖形式發(fā)送出去。脈沖最小1ms、最大2ms。這個信號送入的執(zhí)行機(jī)構(gòu)——舵機(jī)后對應(yīng)的輸出規(guī)律見圖4。1ms的脈沖使舵機(jī)搖臂在最左邊的位置,1.5ms的脈沖使舵機(jī)搖臂位于中位,2ms的脈沖使舵機(jī)搖臂在最右邊的位置。舵機(jī)的搖臂連接飛機(jī)的各執(zhí)行機(jī)構(gòu),搖臂搖動時飛機(jī)的執(zhí)行機(jī)構(gòu)(如尾翼等)也跟著擺動。

            

          軟件描述

            主控MCU部分,流程圖見圖5。



          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();