STM32实现simpleFOC控制无刷电机

news2025/5/11 1:51:51

一、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】一个电机如何模拟不同旋钮的手感反馈?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2372772.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

项目实战-基于信号处理与SVM机器学习的声音情感识别系统

目录 一.背景描述 二.理论部分 三.程序设计 编程思路 流程图 1.信号部分 创建数据 generate_samples.py 头文件 生成函数 generate_emotion_sample 传入参数 存储路径 生成参数 创建基础正弦波信号 调制基础正弦波 对于愤怒可以增加噪声 归一化信号 存储 主函…

【论文笔记】SOTR: Segmenting Objects with Transformers

【题目】:SOTR: Segmenting Objects with Transformers 【引用格式】:Guo R, Niu D, Qu L, et al. Sotr: Segmenting objects with transformers[C]//Proceedings of the IEEE/CVF international conference on computer vision. 2021: 7157-7166. 【网…

23盘古石决赛

一,流量分析 1. 计算流量包文件的SHA256值是?[答案:字母小写][★☆☆☆☆] 答案:2d689add281b477c82b18af8ab857ef5be6badf253db1c1923528dd73b3d61a9 解压出来流量包计算 2. 流量包长度在“640 - 1279”之间的的数据包总共有多少…

LLM量化方法:ZeroQuant、LLM.int8()、SmoothQuant、GPTQ、AWQ

文章目录 TLDR;量化分类量化时机量化粒度ZeroQuant: Efficient and Affordable Post-Training Quantization for Large-Scale Transformers细粒度硬件感知量化低成本逐层知识蒸馏(Layer-by-layer Knowledge Distillation, LKD) LLM.int8(): 8-bit Matrix…

【深度学习】【目标检测】【Ultralytics-YOLO系列】YOLOV3核心文件detect.py解读

【深度学习】【目标检测】【Ultralytics-YOLO系列】YOLOV3核心文件detect.py解读 文章目录 【深度学习】【目标检测】【Ultralytics-YOLO系列】YOLOV3核心文件detect.py解读前言if name ‘main’parse_opt函数main函数run函数不同命令参数的推理结果常规推理命令推理命令(新增…

耳机插进电脑只有一边有声音怎么办 解决方法分享

当您沉浸在音乐或电影中时,如果突然发现耳机只有一边有声音,这无疑会破坏您的体验。本文将提供一系列检查和修复方法,帮助您找出并解决问题,让您的耳机恢复正常的立体声效果。 一、检查耳机连接是否正常 首先需要确认耳机与播放设…

Dp通用套路(闫式)

闫式dp分析法: 从集合角度来分析DP问题。 核心思想: DP是一种求有限集中的最值或者个数问题 由于集合中元素的数量都是指数级别的,直接用定义去求,把每种方案都用dfs暴力枚举一遍,时间复杂度很高,此时用…

华为设备端口隔离

端口隔离的理论与配置指南 一、端口隔离的理论 基本概念 端口隔离(Port Isolation)是一种在交换机上实现的安全功能,用于限制同一VLAN内指定端口间的二层通信。被隔离的端口之间无法直接通信,但可通过上行端口访问公共资源&#…

RabbitMq(尚硅谷)

RabbitMq 1.RabbitMq异步调用 2.work模型 3.Fanout交换机(广播模式) 4.Diret交换机(直连) 5.Topic交换机(主题交换机,通过路由匹配) 6.Headers交换机(头交换机) 6…

GAF-CNN-SSA-LSSVM故障诊断/分类预测,附带模型研究报告(Matlab)

GAF-CNN-SSA-LSSVM故障诊断/分类预测,附带模型研究报告(Matlab) 目录 GAF-CNN-SSA-LSSVM故障诊断/分类预测,附带模型研究报告(Matlab)效果一览基本描述程序设计参考资料 效果一览 基本描述 本研究提出的GA…

数据分析怎么做?高效的数据分析方法有哪些?

目录 一、数据分析的对象和目的 (一)数据分析的常见对象 (二)数据分析的目的 二、数据分析怎么做? (一)明确问题 (二)收集数据 (三)清洗和…

stm32之TIM定时中断详解

目录 1.引入1.1 简介1.2 类型1.2.1 基本定时器1.2.2 通用定时器1. 触发控制单元 (Trigger Control Unit)2. 输入捕获单元 (Input Capture Unit)3. 输出比较单元 (Output Compare Unit)4. CNT 计数器5. 自动重装载寄存器 (ARR)6. 预分频器 (PSC)7. 中断与 DMA 事件8. 刹车功能 (…

【el-admin】el-admin关联数据字典

数据字典使用 一、新增数据字典1、新增【图书状态】和【图书类型】数据字典2、编辑字典值 二、代码生成配置1、表单设置2、关联字典3、验证关联数据字典 三、查询操作1、模糊查询2、按类别查询(下拉框) 四、数据校验 一、新增数据字典 1、新增【图书状态…

【LUT技术专题】ECLUT代码解读

目录 原文概要 1. 训练 2. 转表 3. 测试 本文是对ECLUT技术的代码解读,原文解读请看ECLUT。 原文概要 ECLUT通过EC模块增大网络感受野,提升超分效果,实现SRLUT的改进,主要是2个创新点: 提出了一个扩展卷积&…

大物重修之浅显知识点

第一章 质点运动学 例1 知识点公式如下: 例2 例3 例4 例5 例6 第四章 刚体的转动 例1 例2 例3 例4 例5 例6 第五章 简谐振动 例1 例2 例3 第六章 机械波 第八章 热力学基础 第九章 静电场 第十一章 恒定磁场…

并发设计模式实战系列(16):屏障(Barrier)

🌟 大家好,我是摘星! 🌟 今天为大家带来的是并发设计模式实战系列,第十六章屏障(Barrier),废话不多说直接开始~ 目录 一、核心原理深度拆解 1. 屏障的同步机制 2. 关键参数 二…

算法探秘:和为K的子数组问题解析

算法探秘:和为K的子数组问题解析 一、引言 在算法的奇妙世界里,数组相关的问题总是层出不穷。“和为K的子数组”问题,看似简单,实则蕴含着丰富的算法思想和技巧。它要求我们在给定的整数数组中,找出和为特定值K的子数组个数。通过深入研究这个问题,我们不仅能提升对数组…

电力MOSFET的专用集成驱动电路IR2233

IR2233是IR2133/IR2233/IR2235 系列驱动芯片中的一种,是专为高电压、高速度的电力MOSFET和IGBT驱动而设计的。该系列驱动芯片内部集成了互相独立的三组板桥驱动电路,可对上下桥臂提供死区时间,特别适合于三相电源变换等方面的应用。其内部集成了独立的运算放大器可通过外部桥…

Qt 的原理及使用(1)——qt的背景及安装

1. Qt 背景介绍 1.1 什么是 Qt Qt 是⼀个 跨平台的 C 图形⽤⼾界⾯应⽤程序框架 。它为应⽤程序开发者提供了建⽴艺术级图形 界⾯所需的所有功能。它是完全⾯向对象的,很容易扩展。Qt 为开发者提供了⼀种基于组件的开发模 式,开发者可以通过简单的拖拽…

范式之殇-关系代数与参照完整性在 Web 后台的落寞

最近参加了一个PostgreSQL相关的茶会,感慨良多。原本话题是PostgreSQL 在 SELECT 场景中凭借其成熟的查询优化器、丰富的功能特性和灵活的执行策略,展现出显著优势。在窗口函数(Window Functions)、JOIN 优化、公共表表达式&#…