rzsab 发表于 2023-11-19 17:33:46

请熟悉SPWM逆变的朋友指点迷津

本帖最后由 rzsab 于 2023-11-19 18:56 编辑

做三相逆变,可能是我的路子不对,如果我的路子不对,且能理解正确路子的话搞下去,否则就算了。

我是这么做的:主控CPU:MEGA2560,时钟16MHz,6路PWM,每个定时器从 0-806 循环计数产生 PWM,频率为 16M/807 = 19.8k;

每个 PWM 周期后均更新 OCRX 寄存器,以 396 次更新为一个 sin 波表循环,实现 19.8k/396= 50(Hz) 发波。

用六路PWM分三组控制三套全桥开关,现在问题时,正弦表最大值50、100(每个PWM周期仅有50、100时钟电平有效),输出电压幅度似乎成比例,而正弦表最大值超过100,输出电压幅度似乎不变了,超过500,波形开始畸变,

不是应该输出电压幅度一直和PWM脉冲宽度成比例的?

正弦表最大可达806,但是正弦表最大值100基本输出最大电压了,基本满幅输出了

编辑:原先表达极不清楚,将三楼表达搬过来了

MYQQ2021 发表于 2023-11-19 17:47:02

没看懂你表达的,说说当年鼓捣玩的三相逆变的参数吧,用的stc8系列的单片机,主频24M,5分频作为PWM模块的时钟就是4.8M,8位的PWM,也就是PWM频率(也称为载波频率)就是4.8M/256=18.75k,每周期375点,正好50Hz(18750/375),是上升沿触发中断还是下降沿触发中断忘记了,中断函数中设置占空比,每路取正弦表中数据的时候往后125(375/3)点,正好对应120°
这个计算过程非常清晰

t3486784401 发表于 2023-11-19 18:19:31

尝试理解下,看是否有出入:

1. 16M 主频带若干个定时器,每个定时器从 0-806 循环计数产生 PWM,频率为 16M/807 = 19.8k;
2. 每个 PWM 周期后均更新 OCRX 寄存器,以 396 次更新为一个 sin 波表循环,实现 19.8k/396= 50(Hz) 发波。

如果是这样的话,感觉后续低通/斩波可能存在类似轻载的问题

akey3000 发表于 2023-11-19 18:43:55

MYQQ2021 发表于 2023-11-19 17:47
没看懂你表达的,说说当年鼓捣玩的三相逆变的参数吧,用的stc8系列的单片机,主频24M,5分频作为PWM模块的 ...
(引用自2楼)

stc的mcu搞得定么,看网上三相逆变是基于ti的dsp

MYQQ2021 发表于 2023-11-19 20:07:11

akey3000 发表于 2023-11-19 18:43
stc的mcu搞得定么,看网上三相逆变是基于ti的dsp
(引用自4楼)

我那就是鼓捣着玩的,不考虑任何保护功能,波形没问题
页: [1]
查看完整版本: 请熟悉SPWM逆变的朋友指点迷津