メインコンテンツまでスキップ

CANバス

このチュートリアルでは、Aotenjo One ボードを CAN バス通信用に準備し、閉ループ角度制御を実行する方法を紹介します。

備考

Aotenjo One V2.x と Aotenjo Master v2.x の両方をお持ちの場合は、代わりに CAN FD 通信チュートリアル を参照してください。

AotenjoでCANバスを使用する理由

1 台の Aotenjo Master ボードで複数の Aotenjo One ボードを制御する場合は、Aotenjo ボードとの CAN バス通信を使用することをお勧めします。 Aotenjo で CAN Bus を使用する利点の詳細については、Aotenjo Master CAN Bus チュートリアル を参照してください。

事前準備

このチュートリアルでは、以下の機器を使用します。

ファームウェアをボードにアップロードするには、ST-LINK V2 クローンが必要です。安価なクローン ST-LINK V2 は 5 ドル以下で購入できます。

CANバス接続

通信には CAN_HCAN_L、電源と共通のグランド基準には VCCGND を使用し、基板をデイジーチェーン接続します。

信号の反射を抑えるため、CAN バスの物理的な両端それぞれに、CAN_H と CAN_L の間を接続する 120 Ω の終端抵抗が必要です。バスの途中にある基板では終端抵抗を有効にしないでください。下図は CAN 信号線の接続を示しており、電源線とグランド線は省略しています。

Aotenjo One の終端抵抗を有効にする方法

お使いの基板に搭載されている方式に合わせて設定してください。

  • はんだジャンパーを搭載した基板: バスの物理的な末端に配置する場合は、終端ジャンパーのパッド間をはんだで接続します。バスの途中に配置する場合は、パッド間を未接続にするか、接続しているはんだを取り除いてください。
  • CAN 終端スイッチを搭載した基板: バスの物理的な末端に配置する場合は CAN TERMON に、途中に配置する場合は OFF に設定します。

接続例:巻線機

当社の巻線機では、以下の順序でデイジーチェーン接続しています。この順序は物理的な接続を表しており、通信の方向を示すものではありません。

Aotenjo Master — Aotenjo One (M3) — Aotenjo One (M2) — Aotenjo One (M1) — Aotenjo One (M0)

この構成では、Aotenjo Master v2.1 の内蔵終端抵抗がバスの一方の末端を終端します。もう一方の末端にある Aotenjo One M0 では、はんだジャンパーまたは CAN 終端スイッチで終端抵抗を有効にしてください。M1、M2、M3 の終端抵抗は無効にします。

同じ位置に CAN 終端スイッチ付きの Master 基板を使用する場合は、Master のスイッチも ON に設定してください。

開発環境の準備

VSCode と PlatformIO

PlatformIO は、VSCode 拡張機能マーケットプレイスからインストールできます。

STM32CubeProgrammer

ファームウェアを基板に書き込むためのツールです。

リポジトリの取得

git clone https://github.com/aotenjo-xyz/one.git
cd one
git checkout v1.0

クイックスタート

  1. モーターのシャフトに磁石を置きます。

モーターシャフトの磁石

  1. Aotenjo One ボードを ST-LINK V2 書き込み器に接続します。

    ST-LINK V2 <-> Aotenjo One
    3.3V <---> 3.3V
    GND <---> GND
    SWDIO <---> SWDIO
    SWCLK <---> SWCLK
    RST <---> NRST
    備考

STM32G4 シリーズでは、BlackPill と異なり、基板の NRST ピンも ST-LINK V2 に接続する必要があります。 あるいは、アップロード中に Aotenjo One ボードの NRST ボタンを押し続けると、同じ効果が得られます。 ::: 3. ST-LINK V2 書き込み器を PC に接続します。 4. VSCode でプロジェクトフォルダーを開きます。 5. 左側のサイドバーの「PlatformIO」タブをクリックし、「Upload」ボタンをクリックしてファームウェアをボードにアップロードします。

これで、CAN バス通信を使用してモーターを制御する準備が整いました。

次の手順については、Aotenjo Masterボード CAN Bus チュートリアル を参照してください。