---
# System prepended metadata

title: 編碼器 / CAN 編碼器 / 馬達
tags: [硬體]

---

# 編碼器 / CAN 編碼器 / 馬達
FRC 中的馬達控制精準性會依賴感測器，其中「編碼器（Encoder）」扮演關鍵角色。

---

##  一、編碼器（Encoder）基本概念

| 類型 ( 根據使用方式 )        | 說明                                 |
|----------------|--------------------------------------|
| Incremental    | 相對編碼器（常見於旋轉、移動）         |
| Absolute       | 絕對編碼器（可記錄"精確"位置）           |
| Rotary         | 旋轉型編碼器，偵測軸旋轉角度或圈數     |
| Linear         | 線性型編碼器，偵測直線移動距離         |

 回傳資訊：
- 位置（Position）
- 速度（Velocity）
- 有些可推導加速度（Acceleration）

 [WPILib Encoder Class Docs](https://docs.wpilib.org/en/stable/docs/software/hardware-apis/sensors/encoders-software.html)

---

##  二、常見編碼器類型與接法


###  **CAN-based encoder（透過 CAN 傳輸）**
- 直接整合進 CAN 裝置（如 Spark MAX、Kraken、Talon FX）
- 資料透過 CAN 匯流排傳輸 → 不占用 RoboRIO IO 口
- 可取得速度、位置、溫度、電流等資訊

 常見：
- Spark MAX + NEO（整合型感測器）
- Kraken X60（內建高解析度感測器）
- Talon FX（內建 Falcon 500 的感測器）

 [Spark MAX Sensor Modes](https://docs.revrobotics.com/sparkmax/sensors/using-encoders)

---

###  **Absolute Encoder（絕對式）**
![image](https://hackmd.io/_uploads/BkFZZ2wzee.png)

- 通電後可直接讀出角度位置（不需歸零）
- 支援 PWM、Analog、CAN 等通訊方式

 例子：
- 用於 Swerve 輪子方向/ Arm 角度等需絕對位置的情境
- CTRE CANcoder

---

##  三、常見馬達與感測器整合

| 馬達型號         | 感測器類型                     | 特點                                  |
|------------------|--------------------------------|---------------------------------------|
| NEO![image](https://hackmd.io/_uploads/Sk8jM2DGxl.png)| Hall Sensor（內建）            | 高效能無刷馬達，搭配 Spark MAX 使用  |
| Kraken X60![image](https://hackmd.io/_uploads/rkbFGhPMlx.png)| 高精度感測器 ( 內建 )             | 新型高功率馬達，支援 CAN 通訊        |
| NEO 550   ![image](https://hackmd.io/_uploads/ryRwfhPMxe.png)| 較小型無刷馬達                | 適合 Intake、Shooter 等快速應用      |
| CIM / Mini CIM ![image](https://hackmd.io/_uploads/HJaZG3PMle.png)| 無內建感測器                  | 可額外安裝 Encoder         |

---

##  四、選擇建議與實戰經驗

| 應用場景           | 建議搭配                               |
|--------------------|----------------------------------------|
| 驅動系統（Swerve） | ( NEO ) + Kraken + Absolute Encoder |
| 機械手臂（Arm）     | NEO + CANcoder + Spark MAX                |
| Shooter           | NEO550 + Spark MAX                     |
| Intake            | NEO550 / Brushed + 無需編碼器           |

 
---

##  延伸 / 官方連結

-  [WPILib Encoders 概覽](https://docs.wpilib.org/en/stable/docs/software/hardware-apis/sensors/index.html)
-  [REV Motor Guide](https://docs.revrobotics.com/brushless/)
-  [FRC CAN Network 教學](https://docs.wpilib.org/en/stable/docs/software/can-devices/index.html)
-   [REV NEO Documentation](https://docs.revrobotics.com/brushless/)
-    [Falcon 500 Overview](https://store.ctr-electronics.com/falcon-500-powered-by-talon-fx/)



---

###  <font color="#f50">   ! 都看完了，我要回家 !  </font>

##  [好](https://hackmd.io/ACI3uWclSO6rAX9mMNIxcQ)

