当前位置: 首页 > news >正文

stm32F407 实现有感BLDC 六步换相 cubemx配置及源代码(一)

六步换相是驱动BLDC最简单的方式,对于带霍尔的有感BLDC来说,六步换相就是在霍尔信号每次变化时,stm32芯片控制三相桥臂进行切换导通。

如果想了解六步换相的基本原理,可以看几篇关于六步换相的文章,本文不再多余赘述。既然是采用stm32芯片来实现六步换相,那么最简单的程序编写方式就是:

1.将六步换相代码放在霍尔中断中执行,根据当前霍尔中断中捕获到的霍尔状态,进行六步换相函数调用即可。

2.在写程序前,需要明确两个问题,第一个是开发者所用BLDC的霍尔真值与电机旋转方向对应关系。我手上的BLDC电机 在电机正转时,霍尔状态是 5-4-6-2-3-1 。电机反转时,霍尔状态是5-1-3-2-6-4 弄清楚对应关系,方便进行程序调试。第二个是所用BLDC的换相逻辑,这个需要看BLDC厂家的资料,不是所有的BLDC霍尔状态对应的相导通顺序都是一样的。

主要程序架构已经了解,下一步就是对相关的底层进行配置,首先将配置的时钟贴出来,方便大家计算定时器的频率,本文设置定时器的PWM频率为1KHz。

然后配置霍尔相关:

这里我选择TIM4作为霍尔接口,配置为异或/霍尔传感器模式,TIM4的预分频与周期重载值与电机速度有关,电机速度越小,说明两个霍尔信号之间隔的时间越长,这时候就需要较大的一个周期重载值,不然太小了会溢出。

同时不要忘记把TIM4的中断开启,这个是关键的霍尔中断。

对于发波定时器的配置如下所示:

配置完毕,具体代码放到第二篇

http://www.lryc.cn/news/606555.html

相关文章:

  • MySQL 中的聚簇索引和非聚簇索引的区别
  • 【STM32】HAL库中的实现(一)GPIO/SysTick/EXTI
  • Cesium 快速入门(五)坐标系
  • 【JavaEE】(7) 网络原理 TCP/IP 协议
  • Python 环境配置
  • React的介绍和特点
  • 学习曲线之TS
  • 检索召回率优化探究二:基于 LangChain 0.3集成 Milvus 2.5向量数据库构建的智能问答系统
  • 结构体、共用体,位运算
  • MPU6050模块
  • 谷歌正在美国测试一项基于机器学习的年龄识别技术
  • 7月31日作业
  • Qt之CJSON:从基础到进阶的 JSON 数据处理指南
  • langchain--2--invoke、batch、stream、ainvoke、abatch、astream
  • 远程仓库地址发生变化
  • HTTP性能优化实战
  • Redis实战(4)-- BitMap结构与使用
  • ASIC芯片简介
  • [12月考试] C
  • 【UEFI系列】Event
  • 超简单的跳动爱心
  • 【SpringMVC】拦截器,实现小型登录验证
  • 逻辑回归——银行贷款案例分析
  • Lomsat gelral 树上启发式合并
  • Coze是什么?能做什么?
  • Dify插件安装失败,一直处于安装状态?
  • 【智能体agent】入门之--1.初体验
  • OpenCV学习day2
  • RabbitMQ的特点和消息可靠性保障
  • 【neo4j】跨版本升级数据库