xiangbin099 发表于 2018-5-14 20:29:21

采用SVPWM的FOC给一个旋转电角度,电机旋转异常

最近在研究有感FOC控制,参考Ti的电机库移植到STM32上,刚实现park逆变换和SVPWM,想让电机开环旋转起来。于是给一个旋转的电角度和一定的力矩,正常来说电机会按一定速度旋转,可是奇怪的是,电机要么转转停停,要么一直抖动。把SVPWM的占空比打印出来画图,也没错。不知道哪出问题了,还是说这种开环方式就不对?

xiangbin099 发表于 2018-5-14 20:34:17

其实就是给一个旋转磁场,让电机开环旋转。之前用BLDC,直接按照六步法,每一步延时一点时间电机就转起来了,不知道为什么FOC不行。

霸气侧漏 发表于 2018-5-24 17:40:54

svpwm你弄懂了?我在研究这个,一直不懂,尴尬

大风起兮 发表于 2018-5-24 19:06:35

pwm三项直接给10% 20% 50%试试 看输出有没有按照给定的值输出

ljh407055315 发表于 2018-5-24 19:14:42

感觉像是电机位置反馈没对

colinzhao 发表于 2018-5-24 20:45:37

你这是连电流环也没有吧!全开环啊

xiangbin099 发表于 2018-5-24 21:01:13

colinzhao 发表于 2018-5-24 20:45
你这是连电流环也没有吧!全开环啊

对,实际上电角度也没有,只是给了一个旋转磁场。

xiangbin099 发表于 2018-5-24 21:01:54

大风起兮 发表于 2018-5-24 19:06
pwm三项直接给10% 20% 50%试试 看输出有没有按照给定的值输出

这个量过,互补PWM没问题

xiangbin099 发表于 2018-5-24 21:02:38

霸气侧漏 发表于 2018-5-24 17:40
svpwm你弄懂了?我在研究这个,一直不懂,尴尬

我也没有一项一项的去推导,Ti的文档挺全的,里面有变换过程。

霸气侧漏 发表于 2018-5-25 09:58:20

xiangbin099 发表于 2018-5-24 21:02
我也没有一项一项的去推导,Ti的文档挺全的,里面有变换过程。

把这个TI 资料发出来呗

xiangbin099 发表于 2018-5-25 10:11:35

霸气侧漏 发表于 2018-5-25 09:58
把这个TI 资料发出来呗

好,晚上回去整理一下共享给大家。

霸气侧漏 发表于 2018-5-25 10:17:11

xiangbin099 发表于 2018-5-25 10:11
好,晚上回去整理一下共享给大家。

感谢感谢{:lol:}

重庆酱油仔 发表于 2018-5-25 11:08:17

我告诉你,应该是让你的电气角度和机械角度同步,这才叫同步电机,随便乱给电气角度是不行的。

xiangbin099 发表于 2018-5-25 23:39:01



安装Ti的controlSUITE在\ti\controlSUITE\development_kits\HVMotorCtrl+PfcKit_v2.1里面包含所有的文档和代码。

wind2100 发表于 2018-5-26 08:13:35

开环很容易实现的 , 看相电流就知道对不对了. 每相相位差120度你这个波形明显不对

timom333 发表于 2018-5-26 08:50:45

开环控制, 有位置传感器的情况下.
如果转动不正常, 可以通过给定Vd(同时Vq=0), 来验证电压, 电流和转子位置之间的问题.
具体波形可以参照芯片厂家提供的资料.

希望对楼主的问题有帮助

chensi007 发表于 2018-5-26 08:54:59

抖是你线圈里边的磁场跑快了。定子一加磁场,后边一推,转子刚想往前动,然后又来了个反的磁场一吸。{:lol:}

xiangbin099 发表于 2018-5-26 09:17:11

chensi007 发表于 2018-5-26 08:54
抖是你线圈里边的磁场跑快了。定子一加磁场,后边一推,转子刚想往前动,然后又来了个反的磁场一吸。{:lol: ...

旋转磁场的频率降低也是效果不佳。可能真的是我自己理解有问题,现在我把电角度和霍尔对应好,给一个力矩值,发现能够正常旋转了。下一步是考虑电流闭环

xiangbin099 发表于 2018-5-26 09:24:16

timom333 发表于 2018-5-26 08:50
开环控制, 有位置传感器的情况下.
如果转动不正常, 可以通过给定Vd(同时Vq=0), 来验证电压, 电流和转子位 ...

不是很理解你的意思,一般不都是给Vq(力向量)Vd=0 嘛,给一个Vd(磁向量)是?

timom333 发表于 2018-5-26 16:15:02

本帖最后由 timom333 于 2018-5-26 16:16 编辑

xiangbin099 发表于 2018-5-26 09:24
不是很理解你的意思,一般不都是给Vq(力向量)Vd=0 嘛,给一个Vd(磁向量)是? ...

两个磁场相交90度的时候产生的力矩最大, 所以就有了旋转坐标系d-q轴的概念

假设: 当Vq=0, Vd=0.1时, 再施加一个固定转速(5rpm)
这时候电机的电压和电流相位相同, 就可以排查你的SVPWM和坐标变换是否正确了

回复完才看到楼上的帖子, 看来你已经解决了, 恭喜!

LVmcu 发表于 2018-5-27 10:15:11

楼主这图很漂亮,是怎么生成的?

xiangbin099 发表于 2018-5-27 11:17:28

LVmcu 发表于 2018-5-27 10:15
楼主这图很漂亮,是怎么生成的?

串口打印出来,用matlab画的

小黑人嘿嘿 发表于 2018-6-1 15:25:13

转速给太快失步了吧

haso2007 发表于 2018-6-6 15:58:39

有源码,先mark,以后再研究

苹果520 发表于 2018-10-24 17:14:23

xiangbin099 发表于 2018-5-27 11:17
串口打印出来,用matlab画的

楼主,可以把这部分源代码共享出来吗?我也正在学习这个方面。

lhj200304 发表于 2018-10-24 17:24:40

那起码你要有一个电流环或者VF呀?又不是异步机比较皮

lhj200304 发表于 2018-10-24 17:24:59

调整一下电压看看

carefree1986 发表于 2018-10-24 17:27:47

说明给定的电压角度不对

carefree1986 发表于 2018-10-24 17:28:46

霸气侧漏 发表于 2018-5-24 17:40
svpwm你弄懂了?我在研究这个,一直不懂,尴尬


svpwm只是调制不是foc哦

霸气侧漏 发表于 2018-10-24 19:48:26

carefree1986 发表于 2018-10-24 17:28
svpwm只是调制不是foc哦

嗯,这个调制原理不太懂,

苹果520 发表于 2018-10-25 08:50:26

carefree1986 发表于 2018-10-24 17:28
svpwm只是调制不是foc哦

现在就想实现SVPWM输出部分,还没想过让电机旋转起来。但好像自己也还是没弄懂!!

lidg2014 发表于 2018-10-25 10:03:16

学习了,感谢

懒羊羊fbi 发表于 2018-12-6 17:12:52

要给电机实际的电角度

苹果520 发表于 2018-12-8 11:32:41

懒羊羊fbi 发表于 2018-12-6 17:12
要给电机实际的电角度

电机的实际角度, 你是怎么判断他是正确的

懒羊羊fbi 发表于 2018-12-8 23:49:23

苹果520 发表于 2018-12-8 11:32
电机的实际角度, 你是怎么判断他是正确的

根据反电势判断

苹果520 发表于 2018-12-10 08:50:00

懒羊羊fbi 发表于 2018-12-8 23:49
根据反电势判断

有没有更具体的思路··

chenchaoting 发表于 2018-12-10 13:28:32

苹果520 发表于 2018-12-10 08:50
有没有更具体的思路··

无感反电势定位

苹果520 发表于 2018-12-10 14:21:32

chenchaoting 发表于 2018-12-10 13:28
无感反电势定位

需要哪些工具,我现在是开环的时候电机转得还不错(固定的Vq 而Vd=0),加入PI执行的电流环计算就出现抖动········

xie010101 发表于 2019-1-6 16:58:34

请问一下,最后SVPWM算出来的有负值,这怎么给PWM输出呢?

xiangbin099 发表于 2019-1-6 20:52:17

xie010101 发表于 2019-1-6 16:58
请问一下,最后SVPWM算出来的有负值,这怎么给PWM输出呢?

计算量最后都要加上PWM占空比的一半

STM32LOU 发表于 2019-1-6 20:54:16

PWM占空比问题吧.

xie010101 发表于 2019-1-7 11:07:20

xiangbin099 发表于 2019-1-6 20:52
计算量最后都要加上PWM占空比的一半

想请教一下FOC的调试流程,我根据文档写出了变换和SVPWM,但是不知道该怎么调试?
是不是应该这样?
1.给定Vd = 0,Vq为一个固定值,然后给一个累加的电角度,比如每一秒加30度,然后电机应该可以旋转起来了。(这时候应该观察PWM波形是否是相位相差120度的正弦波吗?)
2.电机可以开环旋转起来之后再加PI

xie010101 发表于 2019-1-7 11:08:21

xiangbin099 发表于 2019-1-6 20:52
计算量最后都要加上PWM占空比的一半

最后SVPWM算出来会有负值吗?最后不知直接占空比吗?不应该有负值吧,我现在SVPWM算出来没有负值了

hadio 发表于 2019-1-7 16:28:02

xie010101 发表于 2019-1-7 11:08
最后SVPWM算出来会有负值吗?最后不知直接占空比吗?不应该有负值吧,我现在SVPWM算出来没有负值了 ...

请问测试得怎样了呢?我最近也在测试,开环状态下,无论用SPWM或SVPWM,电机都是走走停停,一个旋转周期内刚好停六次,不知道怎么回事?

xie010101 发表于 2019-1-7 17:36:54

hadio 发表于 2019-1-7 16:28
请问测试得怎样了呢?我最近也在测试,开环状态下,无论用SPWM或SVPWM,电机都是走走停停,一个旋转周期 ...

还在弄呢,开环状态下我没有转起来,电机再抖动,可以加我微信:983370044 一起交流
页: [1]
查看完整版本: 采用SVPWM的FOC给一个旋转电角度,电机旋转异常