新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 單片機實現自控飛艇舵控系統

        單片機實現自控飛艇舵控系統

        作者: 時間:2011-09-23 來源:網絡 收藏
        (3)舵控信號PWM波的產生

        本文引用地址:http://www.104case.com/article/172480.htm

          對舵機的控制最終是通過舵控產生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>=border1c=border2)

          c=a;

          else

          c=Length-a;

          }

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

          4 實驗結果

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


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 色达县| 巴楚县| 全椒县| 乌苏市| 东阳市| 临夏县| 正安县| 库伦旗| 武隆县| 明星| 永靖县| 抚顺县| 县级市| 周至县| 上杭县| 绥宁县| 巴里| 肥乡县| 东乡县| 巢湖市| 莱西市| 修水县| 五大连池市| 固始县| 广东省| 新郑市| 徐州市| 芒康县| 惠州市| 盱眙县| 任丘市| 龙胜| 天台县| 柳林县| 深水埗区| 宜丰县| 凯里市| 祥云县| 库伦旗| 莲花县| 德化县|