找回密码
 立即注册

QQ登录

只需一步,快速开始

开启左侧

M451 产生 SVPWM 代码

[复制链接]
Angus 发表于 2016-8-10 16:46:56 | 显示全部楼层 |阅读模式
本帖最后由 Angus 于 2017-7-28 11:15 编辑

本代码不仅配置好了PLL时钟,UART, PWM0 等, 而且写好了由 Vq 和 Vd 生成 SVPWM 的两个函数 。
M451 仅需 1.2 微秒就可以由失量 Va, Vb 和 Vdc, Ts 算出三路 PWM 的时间!


M451_SVPWM.zip (1.57 MB, 下载次数: 992)
回复

使用道具 举报

wood123 发表于 2016-9-20 10:52:09 | 显示全部楼层
请问为什么附件中没有工程文件,只有一些零散的文件?
回复 支持 反对

使用道具 举报

 楼主| Angus 发表于 2016-9-21 22:41:55 | 显示全部楼层
后缀 eww 就是,IAR 环境
回复 支持 反对

使用道具 举报

Uwen 发表于 2016-11-25 21:54:39 | 显示全部楼层
楼主这两个函数,在程序里面没有展示出来啊?
1>, 测三相电流 Ia, Ib, Ic 算出 Id, Iq
2>, 由 Id, Iq 和 PI 参数算出 Vd, Vq
回复 支持 反对

使用道具 举报

 楼主| Angus 发表于 2016-11-27 21:41:44 | 显示全部楼层
Uwen 发表于 2016-11-25 21:54
楼主这两个函数,在程序里面没有展示出来啊?
1>, 测三相电流 Ia, Ib, Ic 算出 Id, Iq
2>, 由 Id, Iq 和 PI ...

目前只做到按霍尔位置算电压失量,还没做到电流失量控制那一步
回复 支持 反对

使用道具 举报

Uwen 发表于 2016-11-30 02:39:25 | 显示全部楼层
请教个问题,  
  Voltage_dc = 100000 ;                                    // PWM 周期是 4000, 母线数值太大无意义
  Voltage_q  =  40000 ;                                    // Vd,Vq 范围 -65535 ~ 65535
   Voltage_d  =   1000 ;                                    // Vq,Vd 的模超母线的 0.577 倍波形会消顶
这三个参数怎么选择的,或者通过什么样的算法,能把这几个参数求出来,谢谢。。。。
回复 支持 反对

使用道具 举报

Uwen 发表于 2016-11-30 02:42:45 | 显示全部楼层
请教一个楼主问题,关于程序里面的:
Voltage_dc = 100000 ;                                    // PWM 周期是 4000, 母线数值太大无意义
Voltage_q  =  40000 ;                                    // Vd,Vq 范围 -65535 ~ 65535
  Voltage_d  =   1000 ;                                    // Vq,Vd 的模超母线的 0.577 倍波形会消顶
这几个参数怎么算出来的?通过什么样的算法可以求出来? 有例程吗
谢谢。。。。
回复 支持 反对

使用道具 举报

Uwen 发表于 2016-11-30 17:03:31 | 显示全部楼层
Angus 发表于 2016-11-27 21:41
目前只做到按霍尔位置算电压失量,还没做到电流失量控制那一步

hello:
        读了一下程序,发现有几个值没整清楚。
Voltage_dc = 100000 ;                                    // PWM 周期是 4000, 母线数值太大无意义
Voltage_q  =  40000 ;                                    // Vd,Vq 范围 -65535 ~ 65535
Voltage_d  =   1000 ;                                    // Vq,Vd 的模超母线的 0.577 倍波形会消顶
这几个值,如果电机不一样,输入电压有变化,怎么选择?有怎么样的算法?有例程吗? 谢谢!!!
回复 支持 反对

使用道具 举报

 楼主| Angus 发表于 2016-12-3 12:05:18 | 显示全部楼层
本帖最后由 Angus 于 2017-3-14 22:11 编辑

看一下 FOC 控制框图,系统控制的输入量是 Id,Iq 的设定值。Vd,Vq 是 PI 计算出来的理想值,再由 Vd,Vq算出 PWM 的占空比。
若想提高调节精度,一方面要增大 PWM 周期,PWM 周期为 4000 时,调节1,电压只调整了 1/4000。另一方面要提高由 Vd, Vq 计算 PWM 的精度。采用定点数,只能提高 Vd, Vq 的数值,而 Vd,Vq 的最大取值受限于母线的最大取值。
   由此可见,母线数值选的越大,Vd,Vq 被允许的范围就越大,计算精度就越高。母线最大数值若超过 PWM 周期的四倍以上,电压的舍入误差已小于 PWM 所能达到的精度的 1/4,PWM 已无法完成如此精细的电压调节。
回复 支持 反对

使用道具 举报

rete0786 发表于 2017-3-14 13:32:11 | 显示全部楼层
哈哈,好东西,赞一个
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

新唐MCU