电机控制
直播中

王萍

7年用户 1322经验值
私信 关注
[问答]

关于stm32驱动无感无刷电机ADC采样疑问?

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

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

回帖(5)

李英

2019-11-6 09:35:58
首先,我想说一下,做好不要用ADC检测过零点的方式来做,最好要用比较器方式来做
举报

李秀兰

2019-11-6 09:36:28

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

王萍

2019-11-6 09:37:10
摘录他人写的内容:

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

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

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

h1654155275.5748

2019-11-6 09:37:53
通常硬件反电动势采集都是用的比较器来做,用ADC的很少,毕竟ADC和比较器相比,ADC更珍贵一些。
无传感FOC比较依赖电机参数问题,并不是只针对工业用电机,有电机参数大部分BLDC/PMSM电机都可以适应。
另外你摘录这个说的升频升压法其实就是V/F控制,可以理解为盲拖,轻载启动还行,航模电机大多可以通过这种方式启动。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分