小飞侠 发表于 2024-4-1 07:41:11

chint2012 发表于 2024-3-30 12:44
还是用电源芯片稳妥一些,自已做的容易炸机呀!

佩服楼主的创新精神,开关电源确实不容易做,还是使用专业的芯片靠谱,毕竟术业有专攻

huiyong828 发表于 2024-4-1 19:43:05

本帖最后由 huiyong828 于 2024-4-1 19:51 编辑

huiyong828 发表于 2024-3-31 16:59
设置输出开关频率100KHz,占空比1%,芯片上电重启时序如下



问题2:原因是PWM模块设置问题,设置PWM5为PWM模式,PMW6,PWM7, PWM8 输出比较模式,使能PMW6,PWM7, PWM8 比较更新中断


这个是PWM没有更新输出的波形,很稳定。



中断函数如下:
void PWMB_ISR(void) interrupt 27
{
        if(PWMB_SR1 & 0x01)
        {
                PWMB_CCR6H = (uint8_t)(PWM6_Duty_Temp >>8);
                PWMB_CCR6L = (uint8_t)(PWM6_Duty_Temp);
                PWMB_CCR7H = (uint8_t)(PWM6_Duty_Temp >>8);
                PWMB_CCR7L = (uint8_t)(PWM6_Duty_Temp);
                PWMB_CCR8H = (uint8_t)(PWM5_Duty_Temp >>8);
                PWMB_CCR8L = (uint8_t)(PWM5_Duty_Temp);
                PWMB_SR1 &= ~0x01;
        }
        else if(PWMB_SR1 & 0x04)
        {
                PWMB_CCR6H = (uint8_t)(PWM6_Duty_Temp >>8);
                PWMB_CCR6L = (uint8_t)(PWM6_Duty_Temp);
                PWMB_SR1 &= ~0x04;
        }
        else if(PWMB_SR1 & 0x08)
        {
                PWMB_CCR7H = (uint8_t)(PWM6_Duty_Temp >>8);
                PWMB_CCR7L = (uint8_t)(PWM6_Duty_Temp);
                PWMB_SR1 &= ~0x08;
        }
        else if(PWMB_SR1 & 0x10)
        {
                PWMB_CCR8H = (uint8_t)(PWM5_Duty_Temp >>8);
                PWMB_CCR8L = (uint8_t)(PWM5_Duty_Temp);
                PWMB_SR1 &= ~0x10;
        }
        else
        {
                PWMB_SR1 = 0;
        }
}       
问题3:为什么不能进入比较更新中断。





菜鸟大神 发表于 2024-5-5 19:04:48

我感觉先做驱动变压器的方案,只需要一路PWM就可以了,简化了驱动控制部分

菜鸟大神 发表于 2024-5-5 19:06:36

huiyong828 发表于 2024-3-31 16:59
设置输出开关频率100KHz,占空比1%,芯片上电重启时序如下




想要两组PWM完全同步还要兼具PI环,STC32G感觉跟不上

huiyong828 发表于 2024-5-5 21:40:47

菜鸟大神 发表于 2024-5-5 19:04
我感觉先做驱动变压器的方案,只需要一路PWM就可以了,简化了驱动控制部分 ...

一路不可以,后期需要做移相控制,需要四路PWM输出方式实现.

huiyong828 发表于 2024-5-5 21:42:40

菜鸟大神 发表于 2024-5-5 19:06
想要两组PWM完全同步还要兼具PI环,STC32G感觉跟不上

STC32G芯片用于相位差90度,四路PWM不太合适,现在已经改用STC8A8K64D芯片
正在调试中

cjtdyl 发表于 2024-11-12 11:02:22

STC8A8K64D这个芯片已经很老了,频率够用?

proktv 发表于 2025-3-19 14:55:22

huiyong828 发表于 2024-4-1 19:43
问题2:原因是PWM模块设置问题,设置PWM5为PWM模式,PMW6,PWM7, PWM8 输出比较模式,使能PMW6,PWM7, PW ...

用两组 互补pwm使用单端驱动芯片一组互补固定前段 另一组做移相后端 能完美解决全桥电源驱动 就是pwm精度不高
页: 1 [2]
查看完整版本: 基于STC32G12K128 主控芯片的开关电源设计问题请教