跳到主要内容

磁编码器

本教程介绍如何将 14 位磁编码器 MT6701 与 Aotenjo One 结合使用。

准备工作​

本教程使用以下硬件:

您需要 ST-LINK V2 克隆版来将固件上传到开发板。您可以以低于 5 美元的价格购买廉价的 ST-LINK V2 克隆版。

USB 转串口适配器​

由于 Aotenjo One 开发板没有 USB 端口,因此您需要一个 USB 转串口适配器才能通过串行方式与开发板进行通信。 本教程使用 BlackPill STM32 开发板作为 USB 转串口适配器。也可以使用现成的 USB 转串口适配器,或其他支持此功能的开发板。

提示

您可以使用以下开发板作为 USB 转串口适配器:

  • BlackPill STM32 板
  • BluePill STM32 板
  • ESP32-DevKitC

USB 转串口适配器图

如果您不确定如何使用BlackPill STM32板作为USB转串口适配器,您可以参考串口通信教程。

配置开发环境​

VSCode 与 PlatformIO​

您可以从 VSCode 扩展市场安装 PlatformIO。

STM32CubeProgrammer​

您需要它来将固件烧录到开发板。

克隆代码仓库​

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

磁编码器的示例代码位于examples/MT6701目录中,因此如果您使用Linux或macOS,请运行以下命令将示例代码复制到src目录中:

rm src/*
cp examples/MT6701/main.cpp src/
cp examples/MT6701/platformio.ini platformio.ini

对于 Windows,您可以手动复制文件。

快速入门​

  1. 将磁铁放在电机轴上。

电机轴上的磁铁

  1. 将 Aotenjo One 板连接到 ST-LINK V2 编程器。

    ST-LINK V2 <-> Aotenjo One
    3.3V <---> 3.3V
    GND <---> GND
    SWDIO <---> SWDIO
    SWCLK <---> SWCLK
    RST <---> NRST
    信息

与 BlackPill 不同,STM32G4 系列还需要将控制板的 NRST 引脚连接到 ST-LINK V2 编程器。 或者,您可以在上传过程中按住Aotenjo One板上的NRST按钮来达到相同的效果。 ::: 3. 将 ST-LINK V2 编程器连接到计算机。 4. 在 VSCode 中打开项目文件夹。 5. 单击左侧栏上的 PlatformIO 选项卡,然后单击 Upload 按钮将固件上传到开发板。

  1. 将 USB 转串口适配器连接到 Aotenjo One 开发板,如下所示:

    Aotenjo One <-> Blackpill STM32
    3.3V <---> 3.3V
    TX <---> PA3 (RX)
    RX <---> PA2 (TX)
    GND <---> GND
    备注

您需要将 TX 连接到 RX,并将 RX 连接到 TX。 ::: 5. 使用 USB 电缆将 USB 转串口适配器连接到您的计算机,如下所示:

  1. 单击左侧边栏上的 PlatformIO 选项卡,然后单击 Monitor 按钮以打开串口监视器。 PlatformIO 监视器

现在您应该在串口监视器中看到电机的角度(以弧度为单位)和速度(以弧度/秒为单位)。由于这些值以弧度为单位,因此 6.28rad 对应于 360 度 — 一整圈。您可以旋转电机以查看值是否相应变化。

MT6701串口输出

参考​