atz2000 发表于 2017-4-13 13:18:13

关于stm32驱动无感无刷电机的几个问题

问题1:采用端电压法测量过零点。通过ADC采样相电压和中性点电压。我的理解是换相后才有过零点出现,比如AB相导通,采集C相电压,STM32里的ADC采样是一直运行的吗,需不需要同步处理。能说说具体ADC怎么工作吗?


问题2:过零点检测到后,需要30°的电度角才能换相,延时如何处理,是上次过零点的时间间隔的一半吗?程序里是在ADC中断里等待吗?

各位大侠高手帮忙看看!谢谢了!

atz2000 发表于 2017-4-13 13:19:42

还有各位ST网站上有没有提供类似BLDC的无感无刷电机参考例子

atz2000 发表于 2017-4-13 14:58:34

本帖最后由 atz2000 于 2017-4-13 15:01 编辑

摘录他人写的内容:

AD采集分两种,一个是同步,一个是异步。同步中有三个采集通道,异步中有三个采集通道。同步中的通道为反电势通道、瞬时电流、平均电流。异步采集中通道为母线电压、温度值、电位器。
异步采集是在同步完成后进行的。同步采集是通过TIM1的通道4触发采集。
所以每个PWM周期采集2路模拟信号。异步采集的通道与PWM的ON与OFF状态无关,所以安排在异步采集中。同步采集中的反电势需要在PWM固定时刻采集,或ON或OFF,看BEMF的过零比较方案。瞬时电流一般在TON时刻采集。因为原来ST有PWM特殊时刻做了一路用户通道中,所以我就把平均电流加到这一通道上了。其实平均电流采集也可以放到异步中。无所谓了,功能实现是没问题的。

另外,异步采集中的反电势通道一直是设为浮空相的通道的。而且反电势的采集在D与Z之间,即退磁结束与过零点之间进行的异步采集均为反电势,而瞬时电流的采集是在Z与C之间,即过零与换相之间进行的异步采集均为瞬时瞬时电流。所以用户的通道(平均电流)就是在换相与退磁之间了。

ST的无感方案,启动方案感觉只能针对工业用电机,像在4极对下4K转速的电机,那启动参数不用怎么改。但如果改为航模电机,无论启动PWM改为多少,总是不能启动成功。可能是我还找到巧门,也可能没设对参数,对于高速电机,像这种无感启动可能是升频升压法启动才可靠。我早期写的例程,无论什么电机,用的是升频升压法,无论什么电机,都可以正常启动,只是启动过程(大约1S)电流从大到小,,至少正常运行至最小电流值。

dzzwoaizi 发表于 2017-8-2 19:24:51

首先,我想说一下,做好不要用ADC检测过零点的方式来做,最好要用比较器方式来做,下面给你提供个资料,读完之后这些问题你就知道了!

littlecrow 发表于 2017-8-25 22:51:37

赞,很有用

zero99 发表于 2017-8-30 13:25:16

这个无传感FOC是电流解耦方式,软件计算转子位置

690805492 发表于 2018-4-24 11:36:38

个无传感FOC是电流解耦方式,软

bailin2010 发表于 2018-4-27 15:12:24

好东西,下来看看

snowbey1 发表于 2018-7-12 18:59:55

谢谢楼主分享。谢谢

子曰好人 发表于 2018-7-13 15:23:06

atz2000 发表于 2017-4-13 14:58
摘录他人写的内容:

AD采集分两种,一个是同步,一个是异步。同步中有三个采集通道,异步中有三个采集通道 ...

通常硬件反电动势采集都是用的比较器来做,用ADC的很少,毕竟ADC和比较器相比,ADC更珍贵一些。
无传感FOC比较依赖电机参数问题,并不是只针对工业用电机,有电机参数大部分BLDC/PMSM电机都可以适应。
另外你摘录这个说的升频升压法其实就是V/F控制,可以理解为盲拖,轻载启动还行,航模电机大多可以通过这种方式启动。
页: [1] 2
查看完整版本: 关于stm32驱动无感无刷电机的几个问题