Raspberry PiでAS5600を使用します

Using the AS5600 with the Raspberry Pi

AS5600は、360°までの角度を測定できる高解像度回転磁性位置センサーです。 I2Cインターフェイスにより、ロボット工学、自動化、およびその他のアプリケーションでの正確な角度測定のために、Raspberry Piと簡単に統合できます。このガイドでは、AS5600をRaspberry PIで使用して角度位置を読み取る方法について説明します。


あなたが必要とするもの

  1. Raspberry Pi (I2Cサポートを備えたモデル、例えばPI 3、PI 4)
  2. AS5600磁気回転式エンコーダーモジュール
  3. 磁石 (直径磁化)
  4. ブレッドボードとジャンパーワイヤ
  5. Raspberry Piまたは接続されたキーボードとモニターへのSSHアクセスを備えたコンピューター
  6. Raspberry PiにインストールされたPython

ステップ1:Raspberry Piでi2cを有効にします

  1. Raspberry Piの端末を開きます。
  2. Raspberry PI構成ツールを実行します。
    sudo raspi-config
    
  3. に移動します インターフェイスオプション> i2c、そしてそれを有効にします。
  4. 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:必要なツールとライブラリをインストールします

  1. RaspberryPiを更新します:
    sudo apt update && sudo apt upgrade -y
    
  2. I2Cツールのインストール:
    sudo apt install -y i2c-tools
    
  3. I2C通信用のPythonライブラリをインストールします。
    pip install smbus2
    

ステップ4:I2C接続を確認します

  1. I2CバスでAS5600を検出します。
    sudo i2cdetect -y 1
    
  2. デバイスアドレスが表示されます(例えば、 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は汎用性が高く、さまざまなプロジェクトで使用できます。

  1. ロボット工学: 正確な制御のためにジョイントまたはホイールの角度を測定します。
  2. エンコーダ: CNCマシンまたは3Dプリンター用のDIYロータリーエンコーダーを作成します。
  3. ノブコントロール: ボリュームまたはメニューナビゲーションのための高解像度のノブとして使用します。
  4. 位置追跡: 自動化システムの角度位置を追跡します。

トラブルシューティング

  1. 検出されていないデバイス:

    • SDAおよびSCL接続を確認します。
    • Raspberry PiでI2Cが有効になっていることを確認してください。
    • AS5600の動作電圧を確認してください。
  2. 不正確な測定値:

    • 磁石がAS5600センサーと正しく整列していることを確認してください。
    • 正確な測定のために、直径磁化された磁石を使用します。
  3. I2Cエラー:

    • I2Cバスで競合するデバイスを使用して確認してください i2cdetect.
    • AS5600のアドレスがスクリプトと一致することを確認します。

結論

AS5600磁気回転式位置センサーは、角度を測定するための強力で使いやすいツールです。このガイドに従うことにより、AS5600をRaspberry PIと統合して、ロボット工学、自動化などの正確な回転測定システムを作成できます。さまざまなアプリケーションを試して、この汎用性の高いセンサーの可能性を最大限に引き出してください!

コメントを残す

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.