BLDC踩坑之霍尔状态获取时刻

a90292cd1d78489aa8acc742838d113c.png霍尔状态在什么时刻获取的问题!!!!

 

UVW只要导通,线圈都会存在磁场,

从而影响霍尔。

所以:霍尔状态必须在线圈不存在磁场时获取!

但是

为什么在中断获取霍尔后,在定时器更新中断,也就是线圈不存在电流的时候进行6步换向就几乎正常运行呢

只要线圈pwm存在,磁场就会不断变化,只要磁场不断变化,霍尔输出就会不断变化,这样中断就会不断产生!!!

这时有个问题:中断产生的频率是多少呢?如果正好是和pwm的周期一样,那获取霍尔状态的时刻岂不是和在更新中断里一样!!

c3e10e36cd4348de911e5f6542397b15.jpg

 

因为设置霍尔中断的触发方式是,上升沿,下降沿双边触发,A状态为导通状态,等于电流产生,等于电磁场产生
b状态就不存在电流,此刻的磁场取决于转子位置。
所以霍尔中断的频率=pwm的频率+转子触发的频率
所以定时器在获取霍尔状态的时候,必然已经是正确的霍尔状态。因为更新中断导致pwm高低电平变化,必然触发了霍尔中断!!!这是转子触发的霍尔中断如果在前,后面更新中断从新获取了,所以不影响,在后呢,相当于获取了两次,也不影响。只有可能,频率快到单片机还没吧中断函数执行完,比如本来是011,写到01时就被另一个中断打断比如更新中断,这是更新中断读取霍尔状态就是错误的!


所以,把霍尔引脚配置成中断引脚,在中断里里获取霍尔状态是不行,且没必要的!!!

所以,一定要在线圈中不存在电流的时候获取霍尔状态!!!

所以,最简单可靠的方法就是,定时器更新中断时获取。
前提:定时器配置成向上计数模式!而且是PWM模式1,也就是计数值小于比较值时输出高电平!当更新中断产生的时候,计数值必然大于比较值,那必然就是低电平。
而mos上桥臂导通通常需要的是高电平,所以此刻必然没有电流产生!且不管是哪个通道

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值