<li id="8g3ty"><tbody id="8g3ty"><th id="8g3ty"></th></tbody></li>
    <label id="8g3ty"><samp id="8g3ty"></samp></label>
  • <span id="8g3ty"></span>

    1. <center id="8g3ty"><optgroup id="8g3ty"></optgroup></center>
    2. <bdo id="8g3ty"><meter id="8g3ty"><bdo id="8g3ty"></bdo></meter></bdo><center id="8g3ty"><optgroup id="8g3ty"></optgroup></center>
      <label id="8g3ty"><samp id="8g3ty"></samp></label>

    3. 電子開發(fā)網(wǎng)

      電子開發(fā)網(wǎng)電子設計 | 電子開發(fā)網(wǎng)Rss 2.0 會員中心 會員注冊
      搜索: 您現(xiàn)在的位置: 電子開發(fā)網(wǎng) >> 基礎入門 >> 伺服電機步進電機與控制 >> 正文

      使用servo.h控制SG90舵機,伺服電機控制編程

      作者:佚名    文章來源:本站原創(chuàng)    點擊數(shù):    更新時間:2019/5/30

      本文將繼續(xù)圍繞舵機的控制進行,我們將以Tower Pro (輝盛)SG90舵機的控制為例,因為SG90是市面上價格較便宜,也是實驗中用得最多的產(chǎn)品之一。

      舵機

      使用servo.h控制SG90舵機 

      舵機(servo motor),常用于遙控模型飛機,所以又常稱為RC伺服電機(RC Servo,Radio Control Servo,Remote Control Servo)。詳見:什么是舵機?

      舵機里含有直流馬達、齒輪箱、軸柄、以及控制電路,我們可透過信號控制軸柄的轉動角度,大概都是0到180度,但不同廠牌型號會有不同的范圍;經(jīng)由齒輪箱降速后,變成適當可用的轉速,并且提供更高的轉矩(扭力)。詳見:舵機的工作原理

      不過每個廠牌型號的舵機可允許旋轉的角度各不相同,也就是說可接受的信號脈沖范圍也不相同,必須查閱產(chǎn)品資料規(guī)格書,若超出范圍可能會損害舵機。下面是Tower Pro SG90的規(guī)格:

      111

      重量:9g

      尺寸:23*12.2*29mm

      工作電壓:4.8V轉矩:1.8kg-cm,當工作電壓為4.8V時

      運轉速度:0.1秒 ∕ 60度 ,當工作電壓為4.8V時

      脈沖寬度范圍:500~2400µs

      死頻帶寬度(dead band width):10µs

      從中我們可知,可允許的脈沖范圍是500~2400µs,也就是0.5~2.4ms,比剛剛說的一般范圍還要寬,也就代表這個舵機能旋轉的角度更大。另外有項值得一提的數(shù)據(jù)是死頻帶寬度,意思是說,因為信號可能不穩(wěn)定而上下起伏,當這一次脈沖寬度與上一次相差不超過死頻帶寬度時,舵機便不會動作。

      servo.h控制舵機

      本次試驗,我們直接用Arduino的5V腳為舵機供電。若使用超過兩個舵機,則應該使用獨立的電源為舵機供電,記得共地。信號腳使用Arduino的D9。 Arduino內建操控舵機的標準庫,使用方法非常簡單。在如何使用Arduino舵機庫servo.h一文中,我們也進行了相關函數(shù)的介紹。下面以操控舵機的旋轉角度為例,來看看servo.h如何控制舵機。本實驗使用此servo.h代碼庫時,D9與D10無法輸出PWM信號,于是我們將舵機的信號線接在數(shù)位腳位9或10。 代碼如下:

      #include <Servo.h>
      Servo myservo; // 建立Servo實例,控制舵機
      void setup()
      {
      myservo.attach(9); // 連接D9,舵機的信號線
      }
      void loop()
      {
      for(int i = 0; i <= 180; i+=1){
      myservo.write(i); // 使用write,傳入角度值,從0度轉到180度
      delay(20);
      }
      for(int i = 180; i >= 0; i-=1){
      myservo.write(i);// 使用write,傳入角度值,從180度轉到0度
      delay(20);
      }
      }
      

      不過Servo.h預設的脈沖寬度范圍是544到2400µs,跟SG90舵機的500到2400差了一些些,我們可修正此點。

      #include <Servo.h>
      Servo myservo;
      void setup()
      {
      myservo.attach(9, 500, 2400); // 修正脈沖寬度范圍
      myservo.write(90); // 開始先置中90度
      delay(3000);
      }
      void loop()
      {
      for(int i = 500; i <= 2400; i+=100){
      myservo.writeMicroseconds(i); // 直接以脈沖寬度控制
      delay(300);
      }
      for(int i = 2400; i >= 500; i-=100){
      myservo.writeMicroseconds(i);
      delay(300);
      }
      }
      

      這里需要注意的,使用舵機前必須查詢舵機的規(guī)格參數(shù)表,查到正確的脈沖寬度范圍,如果與servo.h的預設范圍有偏差,需要采用“myservo.attach(9, 500, 2400)”的方式進行修正。使用writeMicroseconds函數(shù)時也要注意,不能傳入超出范圍的值,否則可能會損壞舵機。

      Tags:舵機,伺服電機  
      責任編輯:admin
      請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
      1分 2分 3分 4分 5分

      還可以輸入 200 個字
      [ 查看全部 ] 網(wǎng)友評論
      關于我們 - 聯(lián)系我們 - 廣告服務 - 友情鏈接 - 網(wǎng)站地圖 - 版權聲明 - 在線幫助 - 文章列表
      返回頂部
      刷新頁面
      下到頁底
      晶體管查詢
      主站蜘蛛池模板: 一本色道久久88加勒比—综合| 一本色道久久综合网| 一本一道久久综合久久| 亚洲婷婷第一狠人综合精品| 亚洲人成在久久综合网站| 婷婷国产天堂久久综合五月| 久久综合九色综合久99| 亚洲国产综合久久天堂| 激情伊人五月天久久综合| 国产亚洲综合视频| 婷婷综合久久中文字幕蜜桃三电影| 图图资源网亚洲综合网站| 狠狠色丁香婷婷综合久久片| 色欲久久久天天天综合网精品| 亚洲第一综合天堂另类专| 久久精品国产91久久综合麻豆自制| 色综合久久久久网| 久久九九精品国产综合喷水 | 色综合小说天天综合网| 伊人久久综合精品无码AV专区 | 99久久国产综合精品swag| 亚洲国产综合精品一区在线播放| 久久婷婷五月综合色高清| 国产在线五月综合婷婷| 狠狠人妻久久久久久综合蜜桃| 香蕉尹人综合在线观看| 91精品国产综合久久香蕉| 久久综合丁香激情久久| 狠狠色婷婷久久综合频道日韩| 国产综合久久久久久| 国产成人综合精品| 亚洲综合成人婷婷五月网址| 麻豆久久婷婷综合五月国产| 国产色丁香久久综合| 91色综合综合热五月激情| 亚洲综合久久一本伊伊区| 亚洲综合综合在线| 2021精品国产综合久久| 狠狠色丁香婷婷久久综合蜜芽| 色欲香天天综合网站| 亚洲精品第一国产综合精品99|