STM32读取AS5600磁编码器(M创动工坊)

M创动工坊 提供 mcdgf.taobao.com

  • 硬件准备

STM32核心板,AS5600磁编码器带线(M创动工坊提供),ST-link,USB线等

  • 软件准备
  1. 安装微软的Vscode,网上很多教程,且有说明书

安装好stlink驱动

  1. 打开vscode并安装PlatformIO插件。其他的一些中文插件、AI插件等等,根据需要安装

  1. 打开插件,新建工程

  1. 重要的设置

  1. Ini文件设置,这是关键

lib_deps =

        askuric/Simple FOC@ 2.3.4

board_build.mcu = stm32f103c6t6

board_upload.maximum_size = 32768

upload_protocol = stlink

debug_tool = stlink

build_flags = -Os

写好后,记得点保存,就开始自动下载库,右下角

设置到这里就结束了。

  • 接线

根据程序定义,接线

编码器与STM32接线:

  1. 编码器的SDA接STM32板子的B7
  2. 编码器的SCL接B6
  3. 编码器的VCC接3V3
  4. 编码器的GND接GND

STM32与ST-Link接线

按STM32和ST-link的丝印接即可

STM32与USB转串口模块接线

这里使用串口2,详见程序内定义。

USB供电,microUSB接口。

到此,线已接完。

  • 编程
  1. 开始编程

打开默认是这样的

  1. 按arduino格式,写入以下代码,代码就不做注释了,可以直接复制粘贴到AI,如DEEPSEEK上,让它帮忙逐行解析。

#include <Arduino.h>

#include <HardwareSerial.h>

#include <SimpleFOC.h>

// 定义 I2C 引脚

#define I2C_SCL PB6 // SCL 引脚为 PB6

#define I2C_SDA PB7 // SDA 引脚为 PB7

// AS5600 I2C 配置

// MagneticSensorI2C(chip_address, bit_resolution, angle_register_msb, bits_used_msb)

// chip_address: AS5600 的 I2C 地址,通常为 0x36

// bit_resolution: AS5600 为 12 位

// angle_register_msb: AS5600 的 MSB 寄存器地址为 0x0E

// bits_used_msb: MSB 寄存器使用的位数

MagneticSensorI2C as5600 = MagneticSensorI2C(0x36, 12, 0x0E, 4);

// 或者使用 SimpleFOC 提供的快速配置方式

// MagneticSensorI2C as5600 = MagneticSensorI2C(AS5600_I2C);

void setup()

{

  // 初始化串口用于调试

  Serial2.begin(115200);

  // 初始化 I2C,指定 SCL 和 SDA 引脚

  Wire.setSCL(I2C_SCL);

  Wire.setSDA(I2C_SDA);

  Wire.begin();

  Wire.setClock(200000); // 设置 I2C 频率为 200kHz

  // 初始化 AS5600 传感器

  as5600.init();

  // 等待传感器初始化完成

  delay(1000);

  Serial2.println("AS5600 initialized successfully!");

}

void loop()

{

  // 更新传感器数据

  as5600.update();

  // 获取角度(弧度)

  float angle = as5600.getAngle();

  // 获取角速度(弧度/秒)

  float velocity = as5600.getVelocity();

  // 打印角度和角速度

  Serial2.print("Angle: ");

  Serial2.print(angle);

  Serial2.print(" rad, Velocity: ");

  Serial2.print(velocity);

  Serial2.println(" rad/s");

  // 稍微延时以便观察

  delay(100);

}

  • 实现
  1. 编译烧录

  1. 插上USB,开始烧录

确定驱动安装正确,设备管理器中,可以看到这两个。

  1. 烧录成功

  1. 打开串口监视

到此,测试结束!本文档主要针对M创动工坊淘宝店提供硬件,mcdgf.taobao.com

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

M创动工坊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值