跳到主要内容

CAN总线

在本教程中,我们将探讨如何通过 CAN 总线控制 Aotenjo One 板并运行闭环角度控制。

如果您还没有设置CAN总线,请参阅Aotenjo One CAN总线教程以获取详细的接线和配置说明。

什么是CAN总线?

CAN 总线(控制器局域网)是一种强大的车辆总线标准,旨在允许微控制器和设备在没有主机的情况下相互通信。由于其可靠性和效率,它被广泛应用于汽车和工业应用。

为什么将 CAN 总线与 Aotenjo 一起使用?

将 CAN 总线与 Aotenjo 板结合使用具有以下几个优点:

  • 稳健的通信:CAN 总线设计用于处理嘈杂的环境,使其成为电机控制应用的理想选择。
  • 多设备支持:多个 Aotenjo One 板可以连接到单个 Aotenjo 主板,从而实现复杂的多电机设置。
  • 实时控制:CAN 总线可实现实时通信,这对于精确的电机控制和反馈至关重要。
  • 可扩展性:轻松将更多 Aotenjo One 板添加到您的系统中,无需对接线或软件进行重大更改。
  • 降低接线复杂性:CAN总线采用两线差分信号系统,与传统串行通信方法相比,减少了所需的接线量。

先决条件

在本教程中,使用以下硬件:

  • Aotenjo One Board 单片机:STM32G431CBU6 版本:Aotenjo One V1.4
  • Aotenjo主板 单片机:STM32G431CBU6 版本:Aotenjo Master V1.1
  • 径向磁化圆盘磁铁(Aotenjo One 附带)
  • ST-LINK V2克隆
  • BlackPill STM32 板
  • BE4108 75T云台电机
  • 电源(12V)

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

安装

VScode 与 PlatformIO

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

STM32CubeProgrammer

您需要它来将固件刷新到主板上。

克隆存储库

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

快速入门

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

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

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

  1. 断开 ST-LINK V2 编程器,然后在 Aotenjo Master 和 Aotenjo One 板之间连接用于电源的 JST XH 电缆和用于 CAN 总线的 JST PH 电缆。

  2. 通过 USB 将 Aotenjo Master 板连接到计算机。

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

  4. 打开电源,电机开始旋转,初始化FOC(磁场定向控制)。

  5. 在串口监视器中输入以下命令并按回车键:

    M06.28

M0 电机将完成一整圈并停止在初始位置。您可以通过更改弧度值来调整目标角度。 您还可以输入负值,例如M0-6.28,以相反方向旋转电机。

要读取 M0 电机的当前角度,请输入:

M0P

要将电机置于睡眠模式,请使用以下命令:

ESTOP

这正是我们使用 CAN 总线与 Aotenjo Master 和 Aotenjo One 板进行通信来控制绕线机的方式! 希望您喜欢使用 Aotenjo 构建您的项目!