AS5600 磁気ロータリポジションセンサ徹底解説:12bit高精度・非接触・Arduino/I2C実装ガイド
「ポテンショメータの接点摩耗・ノイズ・寿命が課題」「非接触で絶対角度を高精度測定したい」——そんなニーズに応えるのがAS5600 (ams OSRAM)です。ホール効果ベースの磁気ロータリエンコーダで、12bit(4096分解能)、I²C/PWM/アナログ出力、プログラマブル角度範囲、外部磁界耐性を備え、ロボット関節、モータ制御、ヒューマンインターフェース、自動車用途で採用実績多数。本記事では仕様・配線・動作原理・Arduino実装・応用まで完全解説します。
AS5600 概要
- 非接触磁気角度センサ:径方向磁化マグネット(オンアクシス)の回転角を検出
- 出力:I²C(12bit生データ)、PWM(デューティ比)、アナログ(レシオメトリック/VDD基準)
- 分解能:12bit = 4096カウント/回転 → 0.088°/LSB
- プログラマブル角度範囲:18°〜360° (スタート/ストップ位置設定可)
- 外部磁界補償:均一外部磁界の影響を自動除去(特許技術)
- 電源:3.3V / 5V 両対応、低消費電力(~100μA アイドル、~1.5mA 動作)
- 動作温度:-40℃ 〜 +125℃ (車載グレード対応)
- パッケージ:SOIC-8 / TSSOP-8 / WL-CSP
ピン配置 (SOIC-8 / TSSOP-8)
| Pin | 名称 | 機能 |
|---|---|---|
| 1 | GND | グランド |
| 2 | VCC | 電源入力 3.3V/5V |
| 3 | SDA | I²C シリアルデータ (オープンドレイン、プルアップ必須) |
| 4 | SCL | I²C シリアルクロック (オープンドレイン、プルアップ必須) |
| 5 | VDD (3V3) | 内部3.3Vレギュレータ出力/入力 (3.3V動作時は外部給電、5V動作時は出力/NC) |
| 6 | PGO (DIR) | プログラム用/方向出力。起動時スタート/ストップ位置設定モード入力、或いは回転方向出力 |
| 7 | OUT | PWM出力 / アナログ出力 / デジタル出力 (設定による) |
| 8 | NC | 未接続 |
主要特長
- 非接触 → 摩耗ゼロ、寿命半永久、振動/衝撃/汚れに強い
- I²Cでスタート/ストップ角度プログラム可能 (不揮発EEPROM内蔵)
- 3線式(VDD/GND/OUT)でプログラマ不要の簡易角度設定モード搭載
- 自動低電力モード(アイドル時スリープ)
- 出力モード切替:I²C生データ / PWM(12bit相当) / アナログ(レシオメトリック)
- I²Cアドレス固定 0x36 (7bit) — アドレス変更不可、バス上1個のみ
仕様サマリー
| パラメータ | 値 |
|---|---|
| 電源電圧 | 3.3V ±10% / 5V ±10% |
| 消費電流 | ~1.5mA (動作), ~100μA (アイドル) |
| 動作温度 | -40℃ 〜 +125℃ |
| I²Cアドレス | 0x36 (固定) |
| I²C速度 | Standard (100kHz) / Fast (400kHz) / Fast Plus (1MHz) |
| 角度分解能 | 12bit (4096 cpr) |
| 角度精度 | ±0.5° (典型, キャリブレーション後), ±1.5° (最大) |
| 更新レート | ~10kHz (I²C), ~1kHz (PWM/アナログ) |
| 磁界強度範囲 | 30〜100mT (推奨 40〜80mT) |
| センサ-マグネット距離 | 0.5〜3.0mm (垂直方向) |
動作原理:ホール効果 + 内部DSP
- ホール素子アレイが垂直磁界成分(Bz)を空間サンプリング
- CORDICアルゴリズム等で磁界ベクトル角度(atan2)を演算
- 12bit A/D変換 → 4096分解
- 外部均一磁界成分を共通モードとして除去(特許: 外部磁界リジェクション)
- プログラマブル角度マッピング(スタート/ストップ、回転方向、出力スケーリング)
- I²Cレジスタ読み出し、またはPWM/アナログ出力
最大角度設定例:18°〜360°可変 → 分解能 = 設定角度/4096。18°設定時 0.0044°/LSB 超高精度可能。
マグネット取付けガイド
- 径方向磁化(N-Sが半径方向)の円筒/リングマグネット (φ4〜6mm × 厚2.5〜3mm 推奨)
- 材質:ネオジム(NdFeB) N35〜N52、サマリウムコバルト(SmCo) 高温用
- センサ中心とマグネット中心を同軸合わせ (偏心<0.25mm推奨)
- ギャップ(Z距離) 0.5〜3.0mm で磁界強度30〜100mT確保
- フェライト/ゴム磁石は磁束密度不足で非推奨
Arduino / Seeeduino で動かす (I²C接続)
ハードウェア接続
- AS5600 VCC → 5V (または 3.3V)
- GND → GND
- SDA → A4 (UNO/Nano) / D2 (Leonardo) / SDA専用ピン
- SCL → A5 (UNO/Nano) / D3 (Leonardo) / SCL専用ピン
- SDA/SCL 各々 4.7kΩ プルアップ抵抗必須 (基板上未実装の場合)
- OUT/PGO は用途に応じて接続/未接続
ソフトウェア:ライブラリ導入・サンプル実行
- Arduino IDE → ライブラリマネージャ → 「AS5600」検索 → 「Seeed_AS5600」等インストール、または GitHub から手動導入
- ファイル → スケッチ例 → Seeed_AS5600 → readAngle 開く
サンプルコード要点 (Seeed_AS5600ライブラリ)
#include
#include
AS5600 as5600; // デフォルトアドレス 0x36
void setup() {
Wire.begin();
Serial.begin(115200);
// 接続確認
if (!as5600.begin()) {
Serial.println("AS5600 not found!");
while(1);
}
// 設定例: フルレンジ360°, 回転方向CW
as5600.setDirection(AS5600_CLOCKWISE);
// as5600.setStartPosition(0); // スタート角度設定(EEPROM保存)
// as5600.setStopPosition(4095); // ストップ角度設定
}
void loop() {
uint16_t rawAngle = as5600.getRawAngle(); // 0〜4095
float angleDeg = rawAngle * 360.0 / 4096.0;
Serial.print("Raw: "); Serial.print(rawAngle);
Serial.print(" Angle: "); Serial.print(angleDeg, 2); Serial.println("°");
delay(10); // 100Hzサンプリング
}
シリアルモニタ確認
- ツール → シリアルモニタ → ボーレート 115200
- マグネット回転に追従して 0〜360° 表示確認
- ノイズ/ジャンプあれば:磁界強度確認、ギャップ調整、プルアップ確認、I²Cバス長短縮
PWM/アナログ出力モード活用
- PWM出力:OUTピンから 12bit分解能 PWM (周波数 ~1kHz)。RCフィルタ(10kΩ+1μF)でアナログ電圧変換可能
- アナログ出力:レシオメトリック (VDD基準)。マイコンADC直結可能
- I²C不要で角度取得したい場合に有用。ただし精度/設定変更はI²C優位
主な応用例
| 分野 | 具体用途 | メリット |
|---|---|---|
| ホームアプライアンス | ダイヤル/ノブ/ダンパー制御 | 非接触・長寿命・防塵防滴容易 |
| ロボティクス | 関節角度フィードバック、ホイールエンコーダ | 高分解能、非接触、コンパクト |
| RC/ドローン | サーボ/ESC位置フィードバック、ジンバル制御 | 軽量、高速応答、振動耐性 |
| オーディオ | ボリュームノブ、イコライザコントロール | 接点ノイズ無、高級感 |
| 産業オートメーション | バルブ開度、アクチュエータ位置、コンベア同期 | 過酷環境耐性、メンテフリー |
| 自動車 | スロットル位置、ステアリング角、ペダルストローク、シフト位置 | AEC-Q100対応、高温/振動/EMC耐性 |
| 医療/ウェアラブル | 関節角度計測、リハビリ機器、薬剤投与ポンプ | 小型、低消費電力、生体適合性 |
よくあるトラブルと対策
| 症状 | 原因 | 対策 |
|---|---|---|
| I²C応答なし | アドレス違い/プルアップ欠如/配線間違い/電源電圧不足 | 0x36固定確認、4.7kΩプルアップ、SDA/SCL/GND/VCC確認、3.3V/5V確認 |
| 角度ジャンプ/ノイズ大 | 磁界弱い/偏心/外部磁界/電源ノイズ | マグネット接近/同軸化/シールド/電源デカップリング/移動平均フィルタ |
| 0°/360°境界でジャンプ | 仕様(ラップアラウンド) | ソフトウェアでアンラップ処理、或いはスタート/ストップ設定で回避 |
| PWM出力不安定 | RCフィルタ定数不適/負荷電流大 | バッファアンプ追加、フィルタ定数最適化 |
| 複数個使いたい | I²Cアドレス固定(0x36)でバス共有不可 | I²Cマルチプレクサ(TCA9548A等)使用、或いはPWM/アナログ出力で並列読取 |
結論
AS5600は「非接触・高精度・プログラマブル・外部磁界耐性・低コスト」を兼ね備えた、機械式ポテンショメータ/光学エンコーダの決定的代替デバイスです。I²Cで生データ取得、PWM/アナログで簡易読取、3線式で設定可能と、開発フェーズ・用途に合わせた柔軟なインターフェースが魅力。マグネット取付け精度(同軸/ギャップ/磁界強度)さえ守れば、量産品質の角度検出が手軽に実現できます。
ロボット関節、モータ制御、HMI、車載、産業機器への組み込み設計でお困りなら、回路・ファームウェア・磁気設計のトータルサポートを提供します。お気軽にお問い合わせください。
産業技術
- カムシャフトポジションセンサー徹底解説:エンジンをスムーズに回す重要部品の役割と故障サイン
- クランクシャフトポジションセンサー完全解説:精密なエンジンタイミングを支える要
- ハイデンハインの高性能ロータリエンコーダでロボット精度を飛躍的に向上
- コイルとオーディオ検出器によるAC磁界の検出
- 高精度ベアリング温度センサー:正確な検知と監視
- デジタル磁気ホールセンサ:基礎、設計、自動車応用
- IPS2200:産業用モータ向け高速・高精度誘導式位置センサ
- NASA開発の非接触誘導式位置センサーで精密モーション制御を実現
- NASAケネディ宇宙センター開発、非接触誘導型位置センサー
- モーターセンサ選定ガイド:レゾルバ・エンコーダ・ホールデバイスの特徴と用途別最適選択
- 高精度角度追跡のための先進RFIDロータリーポジションセンサー