STM32实现simpleFOC控制无刷电机

一、FOC基础知识学习

使用simpleFOC控制无刷电机前,需要大概了解一下相关知识,包括力矩控制、速度控制、位置控制的原理和它们之间的联系。

推荐学习资料:

教你写一个比SimpleFOC更好的电机库_哔哩哔哩_bilibili

《灯哥手把手教你写FOC算法》课程讲义及库的官方文档网站:http://dengfoc.com

SimpleFOC、ODrive和VESC 教程链接汇总_odrive和simplefoc哪个好-CSDN博客

SimpleFOC学习笔记汇总(2025.02.09更新)_simple foc-CSDN博客

二、环境安装

1、开发工具

由于simpleFOC实现基于arduino,单片机的开发环境需要支持arduino。可选择两种方式:

(1)arduinoIDE

安装方法可参考如下链接:

Arduino开发环境配置 - Dapenson - 博客园

https://zhuanlan.zhihu.com/p/591784392

(2)VScode+platformIO

这种方式可以基于我们常用的VScode来开发单片机程序,查看库代码很方便。

安装方法可参考如下链接:

SimpleFOC---VSCode下载及PlatformIO安装SimpleFOC库-CSDN博客

【公开课】VSCode+PlatformIO开发环境的搭建_哔哩哔哩_bilibili

2、调试工具

可使用VOFA调试查看电压、电流等波形

【VOFA+速成】半小时入门VOFA+简明教程(快速上手一款强力的串口助手)-CSDN博客

三、硬件搭建

硬件环境可根据自己的项目需求选择单片机主控板和电机。以下是我选用测试的硬件。

主控板:STM32F103C8T6/ESP32

电机:2804无刷电机,扭矩仅有0.02Nm,扭矩太小了,只能学习用。

编码器:AS5600,用于测量电机旋转角度和方向。

驱动板:电机驱动芯片选用DRV8313,电流传感器选用INA240,这种电流传感器采用在线电流检测(不要用INA199之类的,这种是低侧电流采样,精度差,控制也很麻烦,需要PWM和采样ADC同步,但是有些商家为了降低成本没有告知,注意避坑)

电源:12V/2A直流电源

四、软件测试

可以用simpleFOC的库中的例程进行测试。测试时,根据选用的主控板改代码中的引脚。

可参考:

https://zhuanlan.zhihu.com/p/390682580

Document

DengFOC官方文档

需要注意的是,STM32测试串口通信的时候,arduino中需要将Serial改为Serial1(如果用的是第一路串口,其他的类推),否则跑不通。

5、相关功能或项目

【simpleFOC】一个电机如何模拟不同旋钮的手感反馈?

相关推荐
zhangrelay6 小时前
新版|-|单片机原理与接口技术-2026持续改进优化-从MEGA2560-ESP32与Wokwi到ROS2-Lyrical与具身智能栈
笔记·单片机·嵌入式硬件·学习
comyccccc7 小时前
STM32F103C8T6最小系统板设计全解析学习笔记
单片机·1024程序员节
Industio_触觉智能7 小时前
把NPU检测直接嵌进采集终端|RK3576 AI采集终端全链路拆解教程-下
嵌入式硬件·ai·硬件架构·npu·ai视觉·rk3576·采集终端
en.en..7 小时前
STM32 GPIO ODR 与 BSRR 寄存器完整对比详解
单片机·嵌入式硬件
HQB202610 小时前
EG1182|屹晶微电子 60V 内置高压管异步降压 DC‑DC
嵌入式硬件·硬件工程
LCG米12 小时前
STM32硬件SPI驱动SSD1306 OLED实测:上电黑屏排查、页寻址模式与取模扫描方向陷阱
stm32·单片机·嵌入式硬件·嵌入式
深圳老胡12 小时前
STM32C5A3ZG 网络调试总结:从启动失败到连续 Ping 稳定
笔记·stm32·单片机·代码规范
qq_4017004112 小时前
100 个 IoT 小项目,给 ESP32 入门补上实操
前端·网络·stm32
硅基造物主13 小时前
STM32 从 0 到 1 做智能家居(八):PWM 控制风扇、加热片与 SG90 窗帘
stm32·嵌入式硬件·智能家居·hal库·pwm
简单电磁炮13 小时前
关于adc采集
stm32·单片机