Skip to content
  • Add anything here or just remove it...
yesio.netyesio.net
  • yesio
  • GoSUMO相撲擂台
  • 創新應用與紀實
    • 2026太平洋盃X華紙公益
    • 2025華紙盃支援專頁
  • 應用速查
  • 獎項與肯定

dual2s基礎使用手冊

4
  • 【簡介】dual2s-mini控制器(2026)
  • 【簡介】dual2s-v2控制器(2025)
  • 【基礎】韌體程式學習 | How To
  • 【SWSP】dual2s快速應用系統

程式開發環境設定

3
  • 2026 競賽技術資料
  • dual2s函數庫與開發環境
  • 【進階】dual2s.h函數庫說明

Vibe - dual2s開發版

5
  • 【Vibe】Vibe教學,選用Agent還是Browser呢?
  • 【Vibe】U01. AI 寫韌體容易「翻車」,WHY?
  • 【Vibe】U02. 一位稱職的韌體架構師
  • 【Vibe】U03. 建立你的AI韌體助手/專屬家教
  • 【Vibe】U04. 硬體控制變換練習

ros32控制器

1
  • GoYak – 4Dof全向輪式智慧機器手臂

社群開源專題

9
  • 競賽/活動地圖開源模型說明
  • 【活動】地圖開源模型
  • 【機構】獨角仙主動防禦 / RhinoSUMO
  • 【GoSUMO】外掛套件_機械鏟
  • 【GoSUMO】外掛護甲_2023年式
  • 【車體】ezBot專題/dual2s/esp32
  • 【機構】GoARM組裝-社群創作版
  • 【GoSUMO】外掛護甲_2025年式
  • 【船體】aquaBot雙體船型/SDGs永續

競賽活動相關

2
  • 【活動】地圖開源模型
  • 2026 太平洋盃場地與設備

dual2s單元控制

12
  • 【顯示】狀態燈使用 | ws2812b
  • 【聲音】蜂鳴器 | buzzer
  • 【感測】超音波 | HCSR04
  • 【感測】近紅外線感測 – line | IR3CH
  • 【感測】近紅外線感測 – 相撲 | IR3CH
  • 【制動】DC馬達 | Motor
  • 【制動】舵機 MG995/SG90s | ServoMotor
  • 【感測】電壓監控 | Power
  • 【通訊】PS3搖桿 | PS3 GamePad
  • 【通訊】P3x搖桿控制MG995歸90度
  • 【運動】APP控制模式 | dual2s (2025)
  • 【運動】P3x搖桿(鎖址式) | dual2s (2025)

dual2s微專題

3
  • 【微專題】RFID門控基礎 / dual2s/mini
  • 【組裝】GoSUMO 組裝程序 2025
  • 【組裝】GoARM 2025 組裝程序
View Categories
  • Home
  • 應用速查
  • dual2s基礎使用手冊
  • dual2s單元控制
  • 【制動】舵機 MG995/SG90s | ServoMotor

【制動】舵機 MG995/SG90s | ServoMotor

1 min read

簡介 #


伺服馬達(又稱舵機)就像是機器人的「關節」,它能根據指令精確地旋轉並固定在特定角度,而不像一般馬達只能無休止地轉動。在現實生活中,這種精準控制技術無處不在:從自動門的開關機制、遙控飛機的機翼轉動,到監視器的鏡頭掃描,甚至是工廠裡的機械手臂抓取動作。透過控制馬達的角度,機器人便能實現如擺頭偵測、抓取物體或調整方向等細膩的物理動作。

在機器人專案中,角度控制是實現互動功能的關鍵。dual2s 函式庫針對常見的 MG995 與 SG90s 伺服馬達進行了驅動優化,讓開發者只需透過簡單的角度指令(0° 至 180°),即可精確驅動硬體。本範例展示了如何宣告多組伺服馬達物件、設定物理轉向限制,以及執行基礎的角度定位運動。

硬體規格與連接 #

  • MG995 (大舵機):具備金屬齒輪與高扭力,適合用於支撐重量或需要強力抓取的地方。
  • SG90s (小舵機):體積輕小、反應快,適合用於感測器擺頭或輕量化機構。
  • 硬體腳位:dual2s 控制板預留了專用腳位:
    • G18:DUAL2S_HW::MG18
    • G19:DUAL2S_HW::MG19
    • G2:可作為第三組舵機擴充(需注意與 WS2812B 共用情形)。

核心功能說明 #

  1. 安全初始化 begin(): 為了防止機構因過度旋轉而損壞(卡死或撞擊),begin() 函式允許設定三個關鍵參數:
    • 最小/最大角度限制:限制馬達實際運行的物理範圍(如 10°~170°)。
    • 預設位置:開機瞬間馬達會立即移動到的安全初始位置,避免不可預期的動作。
  2. 精確角度寫入 write():
    • 指令方式:直接輸入目標角度(例如 s18.write(90) 代表轉向中位)。
    • 執行邏輯:函式庫會將角度自動轉換為底層 ESP32 的 PWM 信號寬度(通常為 500μs 至 2500μs)。

開發重點建議 #

  • 等待時間 (Delay):伺服馬達從一個角度轉到另一個角度需要物理時間。在程式中更新角度後,務必配合足夠的 delay(),以確保馬達有足夠時間到達指定位置。
  • 電源供應:MG995 等大電流馬達在啟動瞬間會消耗較多電力。若使用多組舵機,請確保 dual2s 的電池電量充足,避免電壓驟降導致 ESP32 重啟。
  • 機構防護:在使用 write() 之前,建議先手動測試馬達旋轉範圍,並透過 begin() 設定正確的物理限位,以保護馬達齒輪與連桿機構。

dual2s控制器與環境 #


AI學伴 #


互動(1):基於函數庫 – dual2s #

互動(2):基於範例程式 #

👉 你也可以在dual2s函數庫(./example/basic)中找到此範例程式。

/*=====================================================================================
yesio.net / 2026.03.12 / by nick
# Filename:05_ServoMotor.ino
# Function:伺服馬達(MG995/SG90s)之使用範例, 
  Examples of dual2S's application in Servo Motor(MG995/SG90s).
# Toolchain & Libs:ESP32 Arduino Core v3.3.5 (ESP-IDF v5.1), dual2s
======================================================================================*/
#include "dual2s.h"

//支援MG995大扭矩伺服馬達, GPIO 18, 19, 2
//物件宣告使用內建namespace, 也可以直接填入指定GPIO腳位號
ServoMotor s18(DUAL2S_HW::MG18); 
ServoMotor s19(DUAL2S_HW::MG19);

void setup() {
  // 初始化並設定物理限制 0~180 度
  // 參數順序:最小限制、最大限制、開機預設角度
  s18.begin(0, 180, 180); 
  s19.begin(0, 180, 90);
  delay(1000);
}

void loop() {
  s18.write(10);  // 設定目標角度
  s19.write(0);
  delay(1500);    // 等待 1 秒讓舵機轉到位
  
  s18.write(170);
  s19.write(90);
  delay(1500);
  while(1);
}
Updated on 24 8 月, 2026

What are your Feelings

  • Happy
  • Normal
  • Sad

Share This Article :

  • Facebook
  • X
  • LinkedIn
  • Pinterest
【制動】DC馬達 | Motor【感測】電壓監控 | Power

Powered by BetterDocs

發佈留言 取消回覆

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

大綱 outlines
  • 簡介
    • 硬體規格與連接
    • 核心功能說明
    • 開發重點建議
  • dual2s控制器與環境
  • AI學伴
    • 互動(1):基於函數庫 - dual2s
    • 互動(2):基於範例程式
Copyright 2026 © 宏川智控有限公司
  • yesio
  • GoSUMO相撲擂台
  • 創新應用與紀實
    • 2026太平洋盃X華紙公益
    • 2025華紙盃支援專頁
  • 應用速查
  • 獎項與肯定
  • -
  • Newsletter