求助,BLDC电机无感控制,高速反电势过零点如何检测?
无感控制,电机最高转速30000RPM,2对极,转速达到一半后,控制不稳。分析原因:载频采样16kHz,一个PWM中断去读一次过零点比较信号,连续读5次高电平,就认为是高电平。这样做,低转速时采集的过零点信号准确,随着转速的增高,过零点信号延迟越大,甚至漏掉几个反电势的过零点。
请问,高速无感控制,过零点检测该怎么做会好一点? 基频略高,把位置估计加上去水下。 diankongweilai 发表于 2020-03-19 03:46
基频略高,把位置估计加上去水下。
这是bldc控制,反电势过零就是无位置控制 先解决两个问题,滤波5次如果是5个PWM那么要处理,滤波时间太久;0.1u电容太大,改为101就可以了 18201975434 发表于 2020-3-19 07:19
先解决两个问题,滤波5次如果是5个PWM那么要处理,滤波时间太久;0.1u电容太大,改为101就可以了
谢谢大神,我改一下试试 xiaoxiao201005 发表于 2020-03-19 07:00
这是bldc控制,反电势过零就是无位置控制
看你用的是霍尔呀 diankongweilai 发表于 2020-03-19 22:13
看你用的是霍尔呀
https://ximo.app1.magcloud.net/public/emotion/face_020.pnghttps://ximo.app1.magcloud.net/public/emotion/face_020.pnghttps://ximo.app1.magcloud.net/public/emotion/face_020.pnghttps://ximo.app1.magcloud.net/public/emotion/face_020.pnghttps://ximo.app1.magcloud.net/public/emotion/face_020.pnghttps://ximo.app1.magcloud.net/public/emotion/face_020.pnghttps://ximo.app1.magcloud.net/public/emotion/face_020.pnghttps://ximo.app1.magcloud.net/public/emotion/face_020.pnghttps://ximo.app1.magcloud.net/public/emotion/face_020.png 30000RPM, 2对极,对应的电气转速就是30000/60*2=1Khz。
以16KHZ PWM来算,一个电气周期里面只有16个PWM脉冲,也就是说采样16次。
一个电周期里面有6次过零点,也就是说每次过零采样区间(60度)只有16/6 个点,按3个点算,对应的采样误差高达20度,控制效果肯定好不了。
解决方法如下:
1. 提高PWM的频率,这个最简单,不过需要看下PWM中断是不是来得及
2. 看看你的那个单片机有没有比较器,如果有比较器的话, 可以参考下附件里面的方法
3. ADC由PWM单次触发,改为连续转换模式,如果你的ADC有 adc watchdog功能(STM8/32就有),在PWM高的时候,使能连续采样,一旦采样值超出预定范围,自动触发中断,见方法3
lightorange 发表于 2021-2-19 18:48
30000RPM, 2对极,对应的电气转速就是30000/60*2=1Khz。
以16KHZ PWM来算,一个电气周期里面只有16个PWM ...
方法3有实现过吗 硬件滤波时间太长,软件滤波时间太长 18201975434 发表于 2020-3-19 07:19
先解决两个问题,滤波5次如果是5个PWM那么要处理,滤波时间太久;0.1u电容太大,改为101就可以了
请问一下,N或者S正对线圈时,这个线圈产生的感应电动势为0. 为什么是对齐为零? 对齐的时候,应该磁场最大,感应的最感应电动势最大啊
页:
[1]