Ai8051U通过HSPWM-DMA方式实现三相互差120°SPWM波形

Ai8051U, 同时输出三相50Hz的SPWM,相位互差120°,可做逆变器
使用内部IRC时钟40MHz给CPU,PLL倍频120MHz给高速PWM和TFPU使用
PWM输出的基频为100Khz,经过RC滤波后输出为50Hz正弦波,使能HSPWM功能
采用400点分辨率正弦数据表,纵向电压可调分辨率最小单位为(母线电压/1200)
正弦波电压变化幅度每路独立可调。
调节使用的是计算标准正弦数据表的数据填入PWM-DMA的数据缓冲区,
每隔1ms进行一次计算,使用环形跟踪计算方式。
分别调整以下变量的值即可,也可以用写其他的程序动态改变这个值,
完成PID电压闭环

float Set_Out_Gain1 = 0.5;                         // 范围0~1,1是最大值
float Set_Out_Gain2 = 0.5;                         // 范围0~1,1是最大值
float Set_Out_Gain3 = 0.5;                         // 范围0~1,1是最大值

这里只测量了两相,正弦波变化幅度为0.5(范围0~1)
同一时间内,波形存在相位差


调整两相为:

float Set_Out_Gain1 = 0.2;                         // 范围0~1,1是最大值
float Set_Out_Gain2 = 0.7;                         // 范围0~1,1是最大值
使用示波器测量PWM1P和PWM2P,并且打开余晖模式,可以看到波动幅度均为设定值。


程序在这里下载,输出口为P20,P21,P22,P23,P24,P25,互补输出,带死区

补充测试:


将试验箱上的J1B跳线帽接上,
允许P23(PWM2N)输出到RC滤波电路
同时将拨动开关拨到正弦波上,测量J16引脚上的电压,
即可得到通过I/O输出的SPWM滤波产生的正弦波
可以看到是一个非常标准的50HZ正弦波

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值