<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Arduino篇—舵機的控制

冬至子 ? 來源:X的創客課堂 ? 作者:MRXY ? 2023-11-02 10:12 ? 次閱讀

課程目標

  • 舵機的組成與工作原理
  • 舵機的控制方式與應用

相關知識

**舵機:**是一種位置(角度)伺服的驅動器,適用于那些需要角度不斷變化并可以保持的控制系統。

**舵機的結構組成:**一般來講舵機主要由以下幾個部分組成,舵盤、減速齒輪組、位置反饋電位計、直流電機、控制電路等。

圖片

**舵機工作原理:**舵機安裝了一個電位器(或其它角度傳感器檢測輸出軸轉動角度,控制板根據電位器的信息能比較精確的控制和保持輸出軸的角度。這樣的直流電機控制方式叫閉環控制,所以舵機更準確的說是伺服馬達。

圖片

舵機角度控制: 舵機轉動的角度是通過調節PWM(脈沖寬度調制)信號的占空比來實現的。標準的PWM信號的周期固定為20ms,理論上脈寬分布應該在1ms到2ms之間,實際上可由0.5ms到2.5ms之間,脈寬與轉角0°—180°相對應。不同廠家不同型號的舵機也會有所差異。

圖片

電路搭建

所需材料:

ArduinoUNO * 1
SG90舵機 *1
杜邦線若干

電路連接:

舵機一般都外接三根線,分別用棕、紅、橙三種顏色進行區分,由于品牌不同,顏色也會有所差異,棕色為接地線,紅色為電源正極線,橙色為信號線。Arduino如果需要控制多個舵機,需要外接電源以及使用專用的舵機控制板。
圖片

程序編寫

練習一:舵機往返運動

編寫控制程序,實現舵機在0°和180°間不間斷轉動。

圖形化方式:

圖片

代碼方式:

/* 項目名稱:舵機0~180°往返運動
 * 項目時間:2022.03.22
 * 項目作者:MRX
 */
#include < Servo.h >


Servo myservo;  // 定義Servo對象來控制
int pos = 0;    // 角度存儲變量


void setup() {
  myservo.attach(6);  // 控制線連接數字6
}


void loop() {
  for (pos = 0; pos <= 180; pos ++) { // 0°到180°
    myservo.write(pos);              // 舵機角度寫入
    delay(5);                       // 等待轉動到指定角度
  }
  for (pos = 180; pos >= 0; pos --) { // 從180°到0°
    myservo.write(pos);              // 舵機角度寫入
    delay(5);                       // 等待轉動到指定角度
  }
}

練習二:可控的舵機

通過旋轉電位器來控制舵機的轉動角度。

電路連接:

舵機連接到UNO的6號腳,電位器連接UNO的A0。

圖片

圖形化方式:

圖片

代碼方式:

/* 項目名稱:電位器控制舵機運動
 * 項目時間:2022.03.22
 * 項目作者:MRX
 */
#include < Servo.h >


Servo myservo;  // 定義Servo對象來控制
int pos = 0;
void setup() {
  myservo.attach(6);  // 控制線連接數字6
  pinMode(A0,INPUT);
}


void loop() {
  pos = map(analogRead(A0),0,1024,0,180);//將電位器讀取的值映射為舵機選擇角度
  myservo.write(pos);              // 舵機角度寫入
  delay(5);                       // 等待轉動到指定角度
}

程序分析:

用Arduino控制舵機一般有兩種方法:

  • 通過Arduino的普通數字引腳產生占空比不同的方波,模擬產生PWM信號進行舵機控制。
  • 直接利用Arduino自帶的Servo庫進行控制。

Servo庫常用函數:

  • Attach(接口)—設定舵機接口。
  • Write(角度)—用于設定舵機旋轉的角度,可設定范圍0°—180°。
  • Read()—用于讀取舵機角度的語句,可理解為讀取最后一條write()命令中的值。
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 電位器
    +關注

    關注

    14

    文章

    964

    瀏覽量

    66047
  • 控制電路
    +關注

    關注

    81

    文章

    1609

    瀏覽量

    134935
  • 舵機
    +關注

    關注

    17

    文章

    239

    瀏覽量

    40397
  • 伺服驅動器
    +關注

    關注

    21

    文章

    389

    瀏覽量

    30535
  • Arduino
    +關注

    關注

    184

    文章

    6428

    瀏覽量

    184858
收藏 人收藏

    評論

    相關推薦

    第42期《Arduino入門》善假 05:舵機的PWM控制原理#硬聲創作季

    PWM控制舵機Arduino
    電子學習
    發布于 :2022年10月28日 21:01:43

    arduino學習筆記21 - 舵機控制實驗

    舵機是什么這里就不詳細介紹了,詳情請看論壇里《舵機詳解》帖子這里使用arduino duemilanove通過電位器控制一個舵機轉動使用原件
    發表于 10-24 10:16

    Arduino2560 控制圓周舵機

    求各位大神,Arduino2560 控制圓周舵機怎么編寫程序啊~急求~
    發表于 05-04 20:17

    Arduino如何利用紅外感應控制舵機

    實現功能:當紅外感應到人時,控制舵機轉動180度參考:基于Arduino的多種方式控制舵機舵機
    發表于 06-28 11:17

    Arduino控制舵機的方法有哪幾種???

    什么是舵機?用Arduino控制舵機的方法有哪幾種???分別有什么優點?Arduino是如何控制
    發表于 07-21 06:36

    如何在arduino中利用電位器控制舵機

    如何在arduino中利用電位器控制舵機一.簡介舵機是電機的一種,通上電并采取合適的方式就可以使他轉動,而電位器是一種電路元件,通過扭動電位器的旋鈕就可以讓通過電位器的電壓和電流發生變
    發表于 09-07 07:15

    arduino如何控制舵機?

    arduino如何控制舵機?
    發表于 01-19 06:04

    請問arduino如何控制兩路舵機?

    請問arduino如何控制兩路舵機?
    發表于 01-20 07:51

    如何通過Arduino對RC522刷卡控制舵機轉動開門?

    如何通過Arduino對RC522刷卡控制舵機轉動開門?
    發表于 01-24 07:06

    怎么用arduino控制舵機轉動一定角度?

    怎么用arduino控制舵機轉動一定角度
    發表于 10-18 06:16

    arduino如何控制舵機及詳細步驟

    本文首先介紹了舵機控制方法,其次闡述了Arduino控制舵機的兩種方法,最后詳細闡述了arduino
    的頭像 發表于 05-11 14:28 ?16.2w次閱讀
    <b class='flag-5'>arduino</b>如何<b class='flag-5'>控制</b><b class='flag-5'>舵機</b>及詳細步驟

    舵機控制原理是什么_舵機控制方法

    本文首先介紹了舵機工作原理,其次闡述了舵機控制原理及舵機的追隨特性,最后介紹了舵機控制方法和
    的頭像 發表于 05-30 11:13 ?13.9w次閱讀
    <b class='flag-5'>舵機</b><b class='flag-5'>控制</b>原理是什么_<b class='flag-5'>舵機</b>的<b class='flag-5'>控制</b>方法

    使用Arduino為微控制器打造能用舵機控制的游戲平臺

    本文主要介紹了使用Arduino為微控制器打造能用舵機控制的游戲平臺.
    發表于 06-25 10:00 ?14次下載

    Arduino UNO驅動數字舵機

    Arduino UNO驅動數字舵機舵機數字舵機工作原理數字舵機與模擬舵機區別EMAX ES08M
    發表于 11-30 12:06 ?15次下載
    <b class='flag-5'>Arduino</b> UNO驅動數字<b class='flag-5'>舵機</b>

    通過Arduino控制舵機

    本文主要介紹通過Arduino控制舵機,步進電機以及循環的使用。對于Arduino控制舵機的方法
    發表于 03-23 13:52 ?1次下載
    通過<b class='flag-5'>Arduino</b><b class='flag-5'>控制</b><b class='flag-5'>舵機</b>
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>