找回密码
 立即注册
楼主: huiyong828

基于STC32G12K128 主控芯片的开关电源设计问题请教

[复制链接]
  • 打卡等级:以坛为家II
  • 打卡总天数:406
  • 最近打卡:2025-05-13 02:05:39

16

主题

705

回帖

1024

积分

金牌会员

积分
1024
发表于 2024-4-1 07:41:11 | 显示全部楼层
chint*** 发表于 2024-3-30 12:44
还是用电源芯片稳妥一些,自已做的容易炸机呀!

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

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:3
  • 最近打卡:2024-05-07 14:11:58

6

主题

27

回帖

150

积分

注册会员

积分
150
发表于 2024-4-1 19:43:05 | 显示全部楼层
本帖最后由 huiyo*** 于 2024-4-1 19:51 编辑
huiyong828 发表于 2024-3-31 16:59
设置输出开关频率100KHz,占空比1%,芯片上电重启时序如下

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

截图202404011947558877.jpg   
这个是PWM没有更新输出的波形,很稳定。



中断函数如下:
  1. void PWMB_ISR(void) interrupt 27
  2. {
  3.         if(PWMB_SR1 & 0x01)
  4.         {
  5.                 PWMB_CCR6H = (uint8_t)(PWM6_Duty_Temp >>8);
  6.                 PWMB_CCR6L = (uint8_t)(PWM6_Duty_Temp);
  7.                 PWMB_CCR7H = (uint8_t)(PWM6_Duty_Temp >>8);
  8.                 PWMB_CCR7L = (uint8_t)(PWM6_Duty_Temp);
  9.                 PWMB_CCR8H = (uint8_t)(PWM5_Duty_Temp >>8);
  10.                 PWMB_CCR8L = (uint8_t)(PWM5_Duty_Temp);
  11.                 PWMB_SR1 &= ~0x01;
  12.         }
  13.         else if(PWMB_SR1 & 0x04)
  14.         {
  15.                 PWMB_CCR6H = (uint8_t)(PWM6_Duty_Temp >>8);
  16.                 PWMB_CCR6L = (uint8_t)(PWM6_Duty_Temp);
  17.                 PWMB_SR1 &= ~0x04;
  18.         }
  19.         else if(PWMB_SR1 & 0x08)
  20.         {
  21.                 PWMB_CCR7H = (uint8_t)(PWM6_Duty_Temp >>8);
  22.                 PWMB_CCR7L = (uint8_t)(PWM6_Duty_Temp);
  23.                 PWMB_SR1 &= ~0x08;
  24.         }
  25.         else if(PWMB_SR1 & 0x10)
  26.         {
  27.                 PWMB_CCR8H = (uint8_t)(PWM5_Duty_Temp >>8);
  28.                 PWMB_CCR8L = (uint8_t)(PWM5_Duty_Temp);
  29.                 PWMB_SR1 &= ~0x10;
  30.         }
  31.         else
  32.         {
  33.                 PWMB_SR1 = 0;
  34.         }
  35. }       
复制代码
问题3:为什么不能进入比较更新中断。





回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:32
  • 最近打卡:2025-04-24 11:40:18

8

主题

25

回帖

526

积分

高级会员

积分
526
发表于 2024-5-5 19:04:48 | 显示全部楼层
我感觉先做驱动变压器的方案,只需要一路PWM就可以了,简化了驱动控制部分
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:32
  • 最近打卡:2025-04-24 11:40:18

8

主题

25

回帖

526

积分

高级会员

积分
526
发表于 2024-5-5 19:06:36 | 显示全部楼层
huiyo*** 发表于 2024-3-31 16:59
设置输出开关频率100KHz,占空比1%,芯片上电重启时序如下

想要两组PWM完全同步还要兼具PI环,STC32G感觉跟不上
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:3
  • 最近打卡:2024-05-07 14:11:58

6

主题

27

回帖

150

积分

注册会员

积分
150
发表于 2024-5-5 21:40:47 | 显示全部楼层
菜鸟*** 发表于 2024-5-5 19:04
我感觉先做驱动变压器的方案,只需要一路PWM就可以了,简化了驱动控制部分 ...

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

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:3
  • 最近打卡:2024-05-07 14:11:58

6

主题

27

回帖

150

积分

注册会员

积分
150
发表于 2024-5-5 21:42:40 | 显示全部楼层
菜鸟*** 发表于 2024-5-5 19:06
想要两组PWM完全同步还要兼具PI环,STC32G感觉跟不上

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

使用道具 举报 送花

已绑定手机

0

主题

1

回帖

4

积分

新手上路

积分
4
发表于 2024-11-12 11:02:22 | 显示全部楼层
STC8A8K64D这个芯片已经很老了,频率够用?
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:326
  • 最近打卡:2025-05-12 09:49:15
已绑定手机

3

主题

35

回帖

1015

积分

金牌会员

积分
1015
发表于 2025-3-19 14:55:22 | 显示全部楼层
huiyo*** 发表于 2024-4-1 19:43
问题2:原因是PWM模块设置问题,设置PWM5为PWM模式,PMW6  ,PWM7, PWM8 输出比较模式,使能PMW6  ,PWM7, PW ...

用两组 互补pwm  使用单端驱动芯片  一组互补固定前段 另一组做移相后端 能完美解决全桥电源驱动 就是pwm精度不高
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-13 07:32 , Processed in 0.124070 second(s), 103 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表