《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 單片機實現自控飛艇舵控系統
單片機實現自控飛艇舵控系統
摘要: 以單片機為核心設計并實現了小型自控飛艇的舵機控制系統,對系統的硬件設計進行了說明,對軟件設計中的關鍵問題——串行通訊及幀識別、多單片機通訊及PWM波的軟件產生方法進行了詳細闡述。
Abstract:
Key words :

    以單片機為核心設計并實現了小型自控飛艇的舵機控制系統,對系統的硬件設計進行了說明,對軟件設計中的關鍵問題——串行通訊及幀識別、多單片機通訊及PWM波的軟件產生方法進行了詳細闡述。

        引言

  平流層飛艇是一種利用輕于空氣的氣體(如氦氣等)產生浮力作為升力的飛行于平流層區域的飛行器。它依靠飛艇內部裝載的輕于空氣的氣體產生的靜升力,通過控制飛艇上的舵面和動力裝置,以較小的能耗實現在平流層的飛行。小型自控飛艇是為了驗證平流層飛艇飛行特性和控制性能的小型軟式試驗飛艇,對其控制系統的研究是平流層飛艇研制中一個重要的過渡階段,具有極其重要的意義。

  1 小型自控飛艇舵控系統簡介

  舵機是小型自控飛艇執行機構中最主要的執行部件,能否快速、準確地完成對舵機的控制直接關系到飛艇的自主控制效果。因此,舵控系統成為小型飛艇自主飛行控制系統中最重要的組成部分之一,它的主要功能是接收艇載計算機發出的控制指令,實現對控制指令的采集、分析和處理,并根據控制指令向舵機輸出連續可調的舵控信號,操縱艇上各舵機完成預定動作。

  2 舵控系統硬件設計

  本飛艇舵控系統以多片P89C2051單片機為核心,配合電源模塊、驅動芯片及多路轉換開關等在一塊印制電路板上實現預定功能。舵控系統設計總體框圖如圖1所示。

  

舵控系統設計總體框圖

 

  舵控系統主控芯片(主控單片機1、2)選擇P89C51RA2xx型單片機,它具有8KB的并行可編程非易失性FLASH 程序存儲器,并可對器件串行在系統編程(ISP)和在應用中編程(IAP)。該型微控制器是80C51微控制器的派生器件,是采用先進的CMOS工藝制造的8位微控制器,指令系統與80C51完全相同。該器件有4組8位I/O口、3個16位定時計數器、多中斷源-4中斷優先級-嵌套中斷結構、1 個增強型UART、片內振蕩器及時序電路。舵控單片機采用Atmel公司的89C2051型單片機[2],其具體性能這里不再贅述。

  電源模塊采用美國國家半導體公司生產的LM2576系列產品,它是線性三端穩壓器件(如78xx系列端穩壓集成電路)的替代品。相比而言,它的熱損耗更低、工作效率更高、輸出電流驅動能力更強,同時對于電源的高頻干擾還有較強的抑制作用。利用該器件只需極少的外圍器件便可構成高效穩壓電路,為MCU穩定可靠的工作提供強有力的保證。

  此外,為增強信號的驅動能力,在輸出之前采用74LS245作為信號驅動芯片;串口電平轉換采用Max232芯片。

  該系統硬件設計比較簡單,值得一提的是其中的安全性設計部分,即當地面檢測到艇上自動控制系統已經失效時,為確保飛艇安全返回,需要將控制方式轉至遙控方式。如圖1所示,當艇載計算機發生故障時,舵控系統通過無線射頻接收機接收地面遙控信號,通過其輸出的多通道PWM波直接控制艇上舵機,控制飛艇安全返回。此處,控制方式的轉換是通過多路轉換開關實現的,開關的切換信號由艇載計算機看門狗電路在檢測到艇載計算機已不能正常工作時給出。

  3 舵控系統軟件設計

  3.1 軟件總體結構

  舵控系統各單片機程序均在Keil C51環境下采用C語言編寫。為了保證系統的實時性及快速性,軟件編寫采用了主程序+任務+中斷的結構。

  在三部分程序中,以主單片機1的外部中斷最多,包括串口中斷、與主單片機2的握手中斷以及艇載計算機看門狗的外部中斷,這幾個中斷的優先級排列順序是:艇載計算機看門狗中斷>串口中斷>握手中斷。主單片機1接收到艇載計算機通過RS232串口發來的信息幀后,首先進行幀識別,提取出前m個字節的數據,加上幀頭幀尾后由P1口發送給主單片機2;并將第m+1個字節數據作為開關量通道控制信號由P2口輸出,用作系統控制備用。

  主單片機2程序的主要任務是通過其P1口接收上位機傳來的數據,提取各控制信息,在相應控制指令的前面加上地址,依次由串口發送給下位舵控單片機。

  舵控單片機的主要任務是識別控制指令和地址指令,并根據收到的控制指令(舵機占空比信號)產生PWM波控制艇上舵機。

  該系統軟件設計中的關鍵問題包括以下幾個方面:(1)控制信號流程中數據幀的接收識別;(2)舵控系統中主從單片機之間的多機通信;(3)PWM波舵控信號的軟件產生方法。下面對這幾個問題進行詳細的闡述,并給出相應的解決方案。

   3.2 軟件設計中的關鍵問題

 

  (1)數據幀的串口接收及識別技術

  在舵控系統中,數據以二進制信息幀的格式進行傳遞。每個信息幀從標題開始都有固定的幀頭、幀尾,且長度固定,其基本數據格式如表1所示。

  

 

  在該舵控系統的設計中,串行通訊占有很重要的地位,如艇載計算機與主單片機1之間的通訊過程。下面以主單片機1的串口接收程序為例,對串行通訊的實現過程加以說明。

  在串行通信中,接收程序的任務是數據接收、幀識別和信息提取。常規的設計方法是設置一個比較大的緩沖區。串行接收中斷服務程序負責把接收到的數據壓入緩沖區,當緩沖區的數據足夠多時,再由主程序調用一個幀識別和解碼子程序對緩沖區中的數據進行處理。這種方法的好處是中斷服務程序比較短,不足之處為從一幀數據接收完畢到解碼時間較長,另外對緩沖區進行管理需要占用大量的的CPU時間,因而實時性較差,此處不宜使用。

  本文采用了中斷服務程序就地幀識別技術,即省掉緩沖區,數據接收、幀識別均由中斷服務程序完成,之后在主程序的循環中完成數據的提取和處理。就地幀識別技術的實現機理如下:把中斷服務程序看作是一個處理機,串行數據逐字節到來,程序先從數據序列中等到第一個幀頭,寫入該幀的存儲數組,同時置標志位 flag1,接收狀態推進一步;再判斷下一次中斷時,來到的數據是否符合第二個幀頭的特征。如果符合則存入相應數組,并置相應的標志位flag2,接收狀態繼續推進;如果幀頭兩個字節均符合,則將后面來到的數據依次存入指定數組;根據已接收到的字節數判斷,當符合該幀的數據部分接收完畢后,判斷下一字節是否為幀尾的第一個字節,如果是則置標志位flag3;之后依據同樣的方法判斷幀尾第二個字節是否來到,如果已接收到,則置該幀數據已完整接收到標志 flag4,同時接收狀態歸零,重新開始等待幀頭字符。在幀頭幀尾判斷期間,一旦有一項不符合要求,則將接收狀態歸零,以重新開始等待幀頭。主程序每循環一次便對“幀完整接收到”標志進行一次判斷,若為真則調用相應的數據提取子程序,并清flag4。

  串行中斷服務程序流程如圖2所示。采用中斷服務程序就地幀識別技術的優點在于數據接收后立即進行幀識別,省去了對緩沖區的管理工作,減少了存取次數,因而節省了大量的時間,極大地提高了接收程序的實時性。同時錯幀和斷幀被自動丟棄,不再占用資源。

  

 串行中斷服務程序流程

 

  圖2中各標志位含義為:

  flag1——接收到幀頭Head1標志;

  flag2——接收到完整幀頭標志;

  flag3——接收到幀尾End1標志;

  flag4——接收到完整幀標志。

  (2)單片機多機通訊

  在舵控系統設計中,各部分間的通訊是設計的重要內容,其中主要包括單片機與上位PC機間的通訊和單片機與單片機之間的通訊。在舵控系統中,主單片機1與上位PC機通訊是通過單片機自帶的一路異步串行通訊接口完成的;而主單片機1通過其P1口向主單片機2傳輸數據,這里不再贅述,重點介紹主單片機2如何通過其一路串口分別向下位的多個舵控單片機傳送指令。

  此系統中,主單片機2作為主機,m個舵控單片機作為從機,在主機與從機的通訊過程中,串口控制寄存器中SCON中的SM2位發揮了重要作用。當其中一個舵控單片機(89C2051)的SM2位為1時,該單片機只接收地址幀,對數據幀不理睬;而當SM2位為0時,該單片機接收所有發來的消息。具體通信過程如下:

  ①首先將主、從單片機工作方式選為模式3,所有從機的SM2位開始置1,處于只接收地址幀狀態。

  ②主機接收主單片機1發來的數據幀,從中提出數據部分(m個字節的指令對應m個舵控單片機),根據序號在控制指令字節前加上一個字節的地址信息。然后主機依次通過串口向下發送各舵控單片機的地址字節和數據字節。發送一幀地址信息,包含8位地址,第9位為1,表示發送的幀為地址幀。

  ③從機接收地址幀后,進入中斷,將發來的地址與自身比較;地址一致的從機就是被尋址的從機,它清除SM2位,接收主機發來的所有后續幀信息(數據信息)。未尋址的所有其他從機仍維持SM2=1,對主機發來的數據幀不理睬,直到發來新地址幀;之后在下一次中斷時被尋址的從機接收主機發來的數據信息(第9位為 0)。

  需要注意的是,如果對已經尋址的從機再發送地址幀,則該從機SM2=1,恢復初始狀態,和其他從機競爭。

   (3)舵控信號PWM波的產生

 

  對飛艇舵機的控制最終是通過舵控單片機產生PWM波來實現的。通常,產生PWM波不外乎硬件和軟件兩種方法。考慮到舵控單片機計算任務不大,本系統中采用軟件產生PWM波的方法。下面以定時器0產生PWM波為例,說明通過軟件產生PWM波舵控信號的實現方法。

  void timer0(void) interrupt 1 using 1

  {

  /*PWM波通過單片機P37口輸出,定時取反*/

  P37=!P37;

  /*Length代表一個周期的時間*/

  c=Length-c;

  /*重新定義計數初值*/

  TH0=-(c/256);

  TL0=-(c%256);

  /*判斷脈寬是否在正常范圍之內*/

  if(c>=border1&&c<=border2)

  c=a;

  else

  c=Length-a;

  }

  在程序中,由串口中斷接收上位機發送的脈寬指令,繼而通過改變入口參數a來調整PWM波的脈寬,并確保脈寬輸出在正常范圍之內。通過該方法產生PWM波切實可行,簡單有效,可以廣泛應用于舵機控制信號的產生中。

  4 實驗結果

  實驗中以FUTABA 3003舵機作為被控對象,由計算機模擬向舵控系統發送數據幀,通過示波器觀察舵控信號的變化。實驗結果表明,該舵控系統工作穩定,輸出PWM波脈寬準確可靠,被控舵機轉角線性度良好。

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲视频精选| 欧美成人一区二区三区| 亚洲国产精品毛片| 午夜在线精品偷拍| 亚洲视频一区二区在线观看| 亚洲国产一二三| 伊人久久成人| 国产亚洲精品自拍| 国产视频观看一区| 国产欧美日韩亚洲一区二区三区| 国产精品久久99| 国产精品v欧美精品v日本精品动漫| 欧美日韩成人| 欧美三区美女| 欧美特黄一级| 国产精品国内视频| 国产精品婷婷午夜在线观看| 国产精品激情电影| 国产精品捆绑调教| 国产精品实拍| 国产精品久在线观看| 国产精品永久免费视频| 国产精品亚洲综合久久| 国产精品最新自拍| 国产亚洲网站| 精品成人在线| 亚洲激情成人在线| 亚洲精品乱码久久久久久久久 | 久久久久国产精品一区| 久久精品九九| 久久婷婷国产综合国色天香| 久久久一本精品99久久精品66| 久久天堂国产精品| 免费亚洲电影在线| 欧美理论片在线观看| 欧美日韩在线观看视频| 国产精品麻豆欧美日韩ww| 国产精品综合| 伊人久久婷婷| 亚洲精品欧美精品| 亚洲天堂av综合网| 欧美中文在线观看| 亚洲六月丁香色婷婷综合久久| 夜夜狂射影院欧美极品| 亚洲在线视频网站| 久久久精品午夜少妇| 欧美电影在线| 国产精品成人一区二区网站软件| 国产精品视频一区二区高潮| 国产一区二区按摩在线观看| 在线精品福利| 99视频精品全国免费| 亚洲综合精品| 亚洲激情欧美激情| 亚洲天堂黄色| 久久久7777| 欧美精品福利| 国产精品系列在线| 亚洲电影免费观看高清完整版在线观看 | 国产精品老牛| 在线精品亚洲| 一区二区成人精品| 久久精品久久99精品久久| 99精品视频一区| 欧美主播一区二区三区| 欧美大胆成人| 国产视频在线观看一区| 亚洲精品欧美极品| 久久av一区二区三区| 一级日韩一区在线观看| 久久国产精品高清| 欧美区一区二| 狠狠色丁香久久综合频道| 一区二区三区日韩| 亚洲国产欧美不卡在线观看| 亚洲影院免费观看| 久久久久久婷| 国产精品入口福利| 亚洲日韩第九十九页| 久久福利资源站| 亚洲在线免费观看| 欧美精品不卡| 一区二区三区在线不卡| 亚洲一区二区三区四区中文| 亚洲美洲欧洲综合国产一区| 久久精品国产清高在天天线| 欧美无乱码久久久免费午夜一区 | 久久嫩草精品久久久精品| 欧美午夜一区| 亚洲国产一区二区视频| 欧美在线视频网站| 亚洲免费一在线| 欧美精品一二三| 在线免费一区三区| 性欧美激情精品| 亚洲影视在线播放| 欧美日韩精品在线观看| 有码中文亚洲精品| 欧美一区中文字幕| 欧美伊人久久久久久午夜久久久久| 欧美黑人在线播放| 伊人婷婷欧美激情| 欧美一区二区三区免费视| 亚洲男人天堂2024| 欧美午夜久久久| 99成人在线| 日韩视频免费看| 米奇777超碰欧美日韩亚洲| 国产一区二区在线免费观看| 亚洲在线成人| 亚洲欧美精品一区| 欧美日韩一区二区三区在线看 | 免费在线欧美黄色| 极品尤物av久久免费看| 欧美中文字幕精品| 久久av免费一区| 国产精品视频免费在线观看| 亚洲视频网站在线观看| 亚洲午夜视频在线观看| 欧美日韩免费区域视频在线观看| 亚洲欧洲一区二区在线观看 | 久久xxxx| 国产午夜精品一区二区三区视频| 亚洲女女女同性video| 午夜欧美精品| 国产欧美91| 亚洲男人的天堂在线| 欧美亚洲视频| 国产精品日本一区二区| 亚洲午夜激情| 午夜一区二区三区在线观看| 国产精品久久777777毛茸茸| 亚洲一区二区欧美日韩| 午夜日韩电影| 国产日韩欧美在线播放不卡| 午夜精品视频在线| 久久视频国产精品免费视频在线 | 久久国产精品久久久久久| 久久久久青草大香线综合精品| 国产一区二区三区高清在线观看| 欧美在线综合视频| 模特精品裸拍一区| 亚洲人成亚洲人成在线观看图片| 亚洲少妇最新在线视频| 国产精品久久久久久久电影| 亚洲综合第一| 久久视频免费观看| 亚洲欧洲日产国码二区| 亚洲一区二区三区乱码aⅴ| 国产精品剧情在线亚洲| 欧美一级黄色录像| 免费日韩av| 一本一本久久| 久久aⅴ国产紧身牛仔裤| 精东粉嫩av免费一区二区三区| 亚洲精品久久久久久久久久久| 欧美日本二区| 亚洲性xxxx| 老司机一区二区三区| 亚洲三级免费观看| 性色一区二区三区| 今天的高清视频免费播放成人| 99re6这里只有精品| 国产精品av久久久久久麻豆网| 午夜精品一区二区在线观看 | 国产精品久久久久久久久| 欧美专区福利在线| 欧美精品久久久久久久| 中文一区二区在线观看| 久久天天躁狠狠躁夜夜爽蜜月| 亚洲国产成人精品女人久久久| 亚洲视频免费看| 国产拍揄自揄精品视频麻豆| 亚洲日本中文字幕| 国产精品国产自产拍高清av| 亚洲盗摄视频| 欧美四级电影网站| 亚洲国产精品va在线看黑人| 欧美日韩国产在线播放网站| 欧美一级视频免费在线观看| 欧美福利视频| 午夜欧美电影在线观看| 欧美精品免费在线| 香港久久久电影| 欧美日韩美女| 久久精品一区二区| 国产精品国码视频| 亚洲精品视频在线观看免费| 国产乱码精品| 一二三区精品福利视频| 国内久久婷婷综合| 亚洲一区二区高清| 亚洲电影欧美电影有声小说| 午夜精品视频在线观看一区二区| 亚洲大胆女人| 欧美在线观看一区| 99国产麻豆精品| 免费看亚洲片| 欧美一区二区三区另类| 国产精品高清免费在线观看|