AS5600は、360°までの角度を測定できる高解像度回転磁性位置センサーです。 I2Cインターフェイスにより、ロボット工学、自動化、およびその他のアプリケーションでの正確な角度測定のために、Raspberry Piと簡単に統合できます。このガイドでは、AS5600をRaspberry PIで使用して角度位置を読み取る方法について説明します。
あなたが必要とするもの
- Raspberry Pi (I2Cサポートを備えたモデル、例えばPI 3、PI 4)
- AS5600磁気回転式エンコーダーモジュール
- 磁石 (直径磁化)
- ブレッドボードとジャンパーワイヤ
- Raspberry Piまたは接続されたキーボードとモニターへのSSHアクセスを備えたコンピューター
- Raspberry PiにインストールされたPython
ステップ1:Raspberry Piでi2cを有効にします
- Raspberry Piの端末を開きます。
- Raspberry PI構成ツールを実行します。
sudo raspi-config
- に移動します インターフェイスオプション> i2c、そしてそれを有効にします。
- RaspberryPiを再起動します:
sudo reboot
ステップ2:AS5600をRaspberry Piに配線します
AS5600は、通信にI2Cプロトコルを使用しています。次のようにラズベリーPIに接続します。
AS5600ピン | ラズベリーPIピン |
---|---|
VCC | 3.3V(ピン1) |
GND | グラウンド(ピン6) |
SDA | SDA(ピン3、GPIO2) |
SCL | SCL(ピン5、GPIO3) |
注記: AS5600モジュールの動作電圧がRaspberry Piの3.3Vロジックレベルと一致することを確認します。
ステップ3:必要なツールとライブラリをインストールします
- RaspberryPiを更新します:
sudo apt update && sudo apt upgrade -y
- I2Cツールのインストール:
sudo apt install -y i2c-tools
- I2C通信用のPythonライブラリをインストールします。
pip install smbus2
ステップ4:I2C接続を確認します
- I2CバスでAS5600を検出します。
sudo i2cdetect -y 1
- デバイスアドレスが表示されます(例えば、
0x36
)出力内。そうでない場合は、配線を確認してください。
ステップ5:AS5600のデータを読み取ります
AS5600は、I2Cを介して12ビット角度データを提供します。次のPythonスクリプトを使用して、角度の位置を読んで表示できます。
Pythonコードの例
import smbus2
import time
# Define I2C address and bus
AS5600_ADDR = 0x36
ANGLE_REG = 0x0E
bus = smbus2.SMBus(1)
def read_angle():
# Read two bytes from the angle register
raw_data = bus.read_i2c_block_data(AS5600_ADDR, ANGLE_REG, 2)
angle = (raw_data[0] << 8) | raw_data[1] # Combine MSB and LSB
angle = angle & 0x0FFF # Mask to 12 bits
return (angle / 4096.0) * 360.0 # Convert to degrees
try:
while True:
angle = read_angle()
print(f"Angle: {angle:.2f} degrees")
time.sleep(0.5)
except KeyboardInterrupt:
print("Exiting...")
ステップ6:AS5600のアプリケーション
AS5600は汎用性が高く、さまざまなプロジェクトで使用できます。
- ロボット工学: 正確な制御のためにジョイントまたはホイールの角度を測定します。
- エンコーダ: CNCマシンまたは3Dプリンター用のDIYロータリーエンコーダーを作成します。
- ノブコントロール: ボリュームまたはメニューナビゲーションのための高解像度のノブとして使用します。
- 位置追跡: 自動化システムの角度位置を追跡します。
トラブルシューティング
-
検出されていないデバイス:
- SDAおよびSCL接続を確認します。
- Raspberry PiでI2Cが有効になっていることを確認してください。
- AS5600の動作電圧を確認してください。
-
不正確な測定値:
- 磁石がAS5600センサーと正しく整列していることを確認してください。
- 正確な測定のために、直径磁化された磁石を使用します。
-
I2Cエラー:
- I2Cバスで競合するデバイスを使用して確認してください
i2cdetect
. - AS5600のアドレスがスクリプトと一致することを確認します。
- I2Cバスで競合するデバイスを使用して確認してください
結論
AS5600磁気回転式位置センサーは、角度を測定するための強力で使いやすいツールです。このガイドに従うことにより、AS5600をRaspberry PIと統合して、ロボット工学、自動化などの正確な回転測定システムを作成できます。さまざまなアプリケーションを試して、この汎用性の高いセンサーの可能性を最大限に引き出してください!