AS5600は、12ビット解像度で角度を測定できる正確な磁気回転エンコーダーです。 I2Cまたはアナログ出力を介して通信し、ロボット工学、モーター制御、および位置センシングアプリケーションに最適です。このチュートリアルでは、ArduinoとAS5600を接続および使用することをガイドします。
あなたが必要とするもの
- AS5600磁気回転式エンコーダーモジュール
- Arduino委員会(例:UNO、MEGA、NANO)
- ブレッドボードとジャンパーワイヤ
- Arduino IDEがインストールされたコンピューター
ステップ1:AS5600モジュールの理解
AS5600は両方をサポートしています I2C そして アナログ 出力。 I2Cモードでは、非常に正確な角度データを提供します。アナログモードは、角度に比例した電圧を出力します。
ピンアウト
ピン | 関数 |
---|---|
VCC | 電源(3.3V/5V) |
GND | 地面 |
SDA | I2Cデータライン |
SCL | I2Cクロックライン |
外 | アナログ出力(オプション) |
監督 | 方向設定 |
モード | 出力モード構成 |
注記:
DIR
ピンは回転方向を構成しますMODE
PINは、I2Cまたはアナログ出力モードを選択します。 i2cの場合、接続しますMODE
GNDへ。
ステップ2:AS5600をArduinoに配線します
I2Cモード(デフォルト)
次のように、AS5600をArduinoに接続します。
AS5600ピン | Arduino Pin |
---|---|
VCC | 5V |
GND | GND |
SDA | A4 |
SCL | A5 |
注記: 他のArduinoボードについては、正しいI2Cピンを使用してください。
ステップ3:必要なライブラリをインストールします
AS5600の作業を簡単にするには、GithubまたはArduino Library Managerの「AS5600」ライブラリをインストールします。
インストールする手順:
- Arduino IDEを開きます。
- 行きます スケッチ > ライブラリを含めます > ライブラリを管理します.
- 「AS5600」を検索してクリックします インストール.
ステップ4:コードをアップロードします
I2Cを使用してAS5600の角度を読み取るためのサンプルコードを次に示します。
#include <Wire.h>
#include <AS5600.h>
AS5600 encoder;
void setup() {
Serial.begin(9600);
Wire.begin();
if (!encoder.begin()) {
Serial.println("AS5600 not detected. Check connections.");
while (1);
}
Serial.println("AS5600 initialized.");
}
void loop() {
// Read the current angle in degrees
float angle = encoder.getAngle();
Serial.print("Angle: ");
Serial.print(angle);
Serial.println(" degrees");
delay(100); // Update every 100ms
}
ステップ5:セットアップをテストします
- USBを介してArduinoをコンピューターに接続します。
- Arduino IDEを開き、正しいものを選択します ボード そして ポート の下 ツール メニュー。
- クリックしてコードをアップロードします アップロード.
- シリアルモニターを開きます(ツール > シリアルモニター)そして、ボーレートをに設定します
9600
. - AS5600センサーの前の磁石を回転させます。程度の角度はリアルタイムで表示する必要があります。
オプション:アナログ出力モードの使用
- 接続します
OUT
AS5600のピンからArduinoのアナログピン(A0)。 - コードを変更して、アナログ電圧を読み取ります。
const int analogPin = A0;
void setup() {
Serial.begin(9600);
pinMode(analogPin, INPUT);
}
void loop() {
int value = analogRead(analogPin); // Read analog voltage
float angle = map(value, 0, 1023, 0, 360); // Convert to degrees
Serial.print("Analog Angle: ");
Serial.print(angle);
Serial.println(" degrees");
delay(100);
}
AS5600のアプリケーション
- モーター位置センシング
- ロータリーノブエンコーダー
- ロボットの関節角測定
- カメラジンバル安定化システム
トラブルシューティング
- データなし: i2c接続を確認し、コードで正しいピンが定義されていることを確認します。
- 不安定な値: 磁石が正しく配置され、センサーに整列されていることを確認します。
-
アナログモードでは応答がありません: 確認してください
MODE
ピンは正しく構成されています。
結論
角度位置を測定するために、AS5600磁気回転式エンコーダーをArduinoと正常にインターフェースしました。 I2Cを正確な測定値に使用する場合でも、簡単にするためにアナログモードを使用している場合でも、このセンサーは回転測定を必要とするプロジェクトに汎用性の高いツールです。モーターコントロールまたはロボットプロジェクトに統合して、さらに実験してください!