磁気エンコーダ
このチュートリアルでは、Aotenjo One で 14 ビット磁気エンコーダ MT6701 を使用する方法を説明します。
前提条件
このチュートリアルでは、次のハードウェアが使用されます。
- 青天井ワンボード MCU: STM32G431CBU6 バージョン: 青天井 One V1.4
- 直径方向着磁ディスクマグネット(Aotenjo Oneに付属)
- ST-LINK V2 クローン
- BlackPill STM32 ボード
- BE4108 75T ジンバルモーター
ファームウェアをボードにアップロードするには、ST-LINK V2 クローンが必要です。安価なクローン ST-LINK V2 は 5 ドル以下で購入できます。
USB - シリアルアダプター
Aotenjo One ボードには USB ポートがないため、シリアル経由でボードと通信するには USB - シリアル アダプターが必要です。 このチュートリアルでは、Blackpill STM32 ボードを USB - シリアル アダプターとして使用して Aotenjo One ボードと通信しますが、安価な USB - シリアル アダプターや Blackpill などの別の STM32 ボードを USB - シリアル アダプターとして使用することもできます。
次の開発ボードを USB - シリアル アダプターとして使用できます。
- BlackPill STM32 ボード
- BluePill STM32 ボード
- ESP32-DevKitC

BlackPill STM32 ボードを USB - シリアル アダプタとして使用する方法がわからない場合は、シリアル通信チュートリアル] を参照してください。
インストール
VScode と PlatformIO
PlatformIO は、VSCode 拡張機能マーケットプレイスからインストールできます。
STM32CubeProgrammer
これはファームウェアをボードにフラッシュするために必要です。
クローンを作成 リポジトリ
git clone https://github.com/aotenjo-xyz/one.git
cd one
LED 点滅のサンプル コードは examples/MT6701 ディレクトリにあるため、Linux または macOS を使用している場合は、次のコマンドを実行してサンプル コードを src ディレクトリにコピーします。
rm src/*
cp examples/MT6701/main.cpp src/
cp examples/MT6701/platformio.ini platformio.ini
Windows の場合、ファイルを手動でコピーできます。
クイックスタート
- モーターのシャフトに磁石を置きます。

-
Aotenjo One ボードを ST-LINK V2 プログラマに接続します。
ST-LINK V2 <-> Aotenjo One3.3V <---> 3.3VGND <---> GNDSWDIO <---> SWDIOSWCLK <---> SWCLKRST <---> NRST備考
blackpill ボードとは異なり、NRST ピンを STM32G4 シリーズの ST-LINK V2 プログラマに接続する必要があります。
あるいは、アップロード中に Aotenjo One ボードの NRST ボタンを押し続けると、同じ効果が得られます。
:::
3. ST-LINK V2 プログラマをコンピュータに接続します。
4. VSCode でプロジェクト フォルダーを開きます。
5. 左側のサイドバーの「PlatformIO」タブをクリックし、「Upload」ボタンをクリックしてファームウェアをボードにアップロードします。
-
次のように、USB - シリアル アダプターを Aotenjo One ボードに接続します。
Aotenjo One <-> Blackpill STM323.3V <---> 3.3VTX <---> PA3 (RX)RX <---> PA2 (TX)GND <---> GND注記
TX を RX および RX を TX に接続する必要がありま す。 ::: 5. 次のような USB ケーブルを使用して、USB - シリアル アダプタをコンピュータに接続します。
- 左側のサイドバーにある [PlatformIO] タブをクリックし、[
Monitor] ボタンをクリックしてシリアル モニターを開きます。
これで、モーターの角度 (ラジアン単位) と速度 (ラジアン/秒) がシリアル モニターに表示されるはずです。値はラジアン単位であるため、6.28rad は 360 度、つまり 1 回転に相当します。モーターを回転させて、それに応じて値が変化するかどうかを確認できます。
