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

          新聞中心

          EEPW首頁 > 模擬技術 > 設計應用 > 基于VC++的模擬舵機系統(tǒng)設計

          基于VC++的模擬舵機系統(tǒng)設計

          作者: 時間:2016-10-16 來源:網(wǎng)絡 收藏

          摘要:在無人機半物理仿真實驗中,為了節(jié)約實驗成本,提出用系統(tǒng)代替真實的方法?;?a class="contentlabel" href="http://www.ex-cimer.com/news/listbylabel/label/VC">VC++設計了系統(tǒng)。在半物理仿真系統(tǒng)中連入舵機,并用該系統(tǒng)模擬副翼、升降舵、油門的舵機。通過實驗驗證了該模擬舵機系統(tǒng)的有效性。實驗結果表明,該模擬舵機系統(tǒng)具有實時性好,可模擬多種舵機的特點。
          關鍵詞:模擬舵機;多媒體定時器;PCL-836;PCL-812;PCL-726

          0 引言
          無人機飛行控制仿真主要包括數(shù)字仿真和半物理仿真。半物理仿真將系統(tǒng)部分實物引入仿真回路,盡可能真實模擬現(xiàn)場情況,比數(shù)字仿真更能有效驗證飛行控制系統(tǒng)的可靠性,尤其在其在初期試飛調參以及后期控制策略改進階段應用廣泛。
          做無人機的半物理仿真時,需要使用真實舵機,而舵機價格比較昂貴,且多次實驗時存在損壞的風險,無形中增加了實驗成本。本文根據(jù)舵機在飛行控制系統(tǒng)中的作用及特點,基于++設計模擬舵機;該模擬舵機由綜合記錄計算機和若干板卡構成,運行于綜合記錄計算機中;代替實現(xiàn)真實舵機的功能,節(jié)約了實驗成本。

          1 模擬舵機硬件設計
          模擬舵機系統(tǒng),首先要能模擬舵機在半物理仿真中的功能;其次要不影響半物理仿真接入真實舵機。這個是通過PCLD-785B(繼電器輸出板)來選擇的,當DO不輸出任何值時,Ci和NCi是導通的,當DO輸出時,Ci和NOi導通(i=0,1,2,…,9)。
          系統(tǒng)硬件設計如圖1所示,為了簡潔,省去PCL-880接線板。

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

          b.JPG


          圖1中的PCLD-782B是光電隔離板,為了隔離PCLD-785B帶來的噪聲和提高電壓(飛控盒輸出電壓是3.3 V,提高到TTL電平)。而PCL-836(頻率采集卡)和PCL-726(D/A輸出卡),PCL-812(A/D采集卡)和位于綜合記錄計算機內,在++中的操作方法如圖2所示。

          c.JPG



          2 舵機函數(shù)關系的輸入
          為了仿真多種舵機的需要,舵機函數(shù)關系應該可調;同時系統(tǒng)要滿足自動獲取接在圖1仿真舵機上舵機的舵機函數(shù)。系統(tǒng)用PCL-836發(fā)出PWM波,PCL-726采集反饋電壓。程序界面如圖3所示。

          a.JPG


          圖中k,b為V=kT+b中的系數(shù),V代表反饋電壓,T代表脈寬(單位:ms)。

          3 模擬舵機軟件設計
          3.1 PWM波采集方法
          對PWM的采集是程序的難點,這里使用PCL-836的事件計數(shù)功能來實現(xiàn)對PWM的測量。PCL-836共有6路計數(shù)器,其中CLK5用來產(chǎn)生時鐘信號。在PWM的下降沿時去讀計數(shù)器的值,然后根據(jù)時鐘的頻率算出PWM高電平的時間。檢測PWM下降沿的常見的方法是使用中斷和查詢。在PWM每次下降沿時觸發(fā)中斷,在中斷程序里去讀計數(shù)器的值。但是PCL-836只支持一個外接中斷,并且是上升沿觸發(fā)中斷,而整個仿真需要4個舵機,在目前的硬件條件下并不能直接實現(xiàn),需要一定的輔助電路,如非門等。其次用查詢的方法,用一個線程來讀DI,在下降沿時去讀計數(shù)器的值。但這樣CPU的占用很高,影響系統(tǒng)的整體性能。所以不使用查詢和中斷的方法。為了能夠檢測PWM下降沿,并考慮現(xiàn)實性,決定用1 ms定時器來實現(xiàn)。如果上次讀到高定平,而這次讀到低電平,就認為是下降沿。雖然有不定的延遲,但是延遲小于1 ms,同時可以得到正確的值,而且系統(tǒng)占用要遠遠低于查詢方法。
          3.2 使用多媒體定時器采集PWM波
          微軟提供了精確定時器的底層API,支持能夠提供高精度的定時器服務,利用多媒體定時器可以精確地讀出系統(tǒng)的當前時間,并在很精確的時間間隔內處理事件,可以到1 ms的精度。多媒體定時器的回調函數(shù)的程序流程圖如圖4所示。

          d.JPG


          用多媒體定時器采集PWM的方法帶來的不定延遲,加上Windows系統(tǒng)的實時性差帶來的延遲,使得模擬舵機系統(tǒng)實時性變差。但是飛控盒發(fā)出的PWM波幾乎是同時發(fā)出,即上升沿在時間上是一致的。所以可以用中斷加查詢的方法來檢測,用一路PWM做中斷源,每次中斷的時候去查詢,最終檢測到下降沿。
          3.3 中斷加查詢采集PWM波
          PCL-836支持一路外部中斷,上升沿觸發(fā)。首先使用DRV_EnableEvent函數(shù)使能中斷,開始中斷線程,在中斷線程里用DRV_CheckEvent函數(shù)檢測中斷。中斷線程流程圖如圖5所示。

          e.JPG


          使用中斷加查詢的方法采集PWM,實時性比較好,系統(tǒng)占用高于定時器方法,但是低于查詢方法。

          4 仿真分析
          在半物理仿真系統(tǒng)中連人該模擬舵機,系統(tǒng)模擬副翼、升降舵、油門三個舵機。使用該系統(tǒng)采集飛控盒發(fā)出的PWM,并反饋電壓給模型機。經(jīng)仿真采集到各舵機的PWM曲線如圖6~圖8,可知該系統(tǒng)實現(xiàn)具有實時性好,可模擬多種舵機的特點。

          f.JPG

          g.JPG



          5 結語
          本文基于VC++設計的模擬舵機系統(tǒng),實現(xiàn)了無人機飛行控制半物理仿真中真實舵機的功能,一定程度上降低了實驗成本。該系統(tǒng)功能全面,設計靈活,可實現(xiàn)多種類型舵機,是一種行之有效的仿真方法。



          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁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); })();