霍尔传感器接口 无刷电机方波驱动(基于硬石F4以及cubeMX的配置)

霍尔传感器接口
TIMx_CR2的TI1S位,置1则开启定时器输入异或功能,此时TIMx_TI1、TI2和TI3连接一起,XOR输出的值是三者异或之后的值。(通用定时器和高级定时器都可开启霍尔传感器接口)
霍尔接口模式下
①在TI1,三个通道的信号进行异或,霍尔变换一次,进行一次跳变沿变换,同时将cnt的值付给ccr1并且清0
②在TI2,异或之后的信号可以作为触发源。比如TIM5开启霍尔模式,连接到TIM8,那么当tim5接收到异或跳变之后,tim5_cnt开始计数,当cnt>ccr时候(pwm2模式),(给tim8输出)输出一个高电平。Tim8接收到高电平就产生com事件;
在cubeMX上的配置:
在这里插入图片描述

                                 图1

一般hall传感器需要开启中断,因为检测到无刷电机到达位置之后又需要进行换相。
在这里插入图片描述
图2

无刷电机方波驱动
根据前面所学,无刷电机方波驱动基本思路:霍尔传感器读取永磁体当前位置,根据六个不同位置控制高级定时器的六个通道进行六步换相,不断循环换相过程,电机就转起来了。(原理参考以前笔记,此处不再赘述)

CubeMX配置:
1.关于霍尔传感器得分配置在上图
2.关于高级定时器的配置(引脚配置依照硬石F4原理图):
在这里插入图片描述
图3

其中,
2除应该设置为复位模式,在输出之后即使将cnt清零
3处参考下表(内部出发连接)
在这里插入图片描述
图4
4处正常配置为pwm输出通道和互补通道

在这里插入图片描述
图5
在这里插入图片描述
图6
图5是预分频系数以及周期的设置,记得设置死区时间
图6是6个通道的具体配置,初始pwm设置为0;

Keil:
在开始阶段定义变量pwm,对位置读取函数和六步换相函数进行声明
在这里插入图片描述
图7
在main函数里面,开启中断,使能com事件,并给电机一个初速度
在这里插入图片描述
图8
具体的两个函数:
在这里插入图片描述
图9
在这里插入图片描述
图10

图9是对tim5三个通道的读取,通道一是高位,所以需要左移;
图10是六步换相的函数

烧录之后,电机就“咕噜咕噜”地转起来了。

  • 9
    点赞
  • 57
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值