找回密码
 立即注册
楼主: 梁工

数控电源-恒压/恒流,STC32G-HSPWM做BUCK降压式开关电源-PID控制

  [复制链接]
  • 打卡等级:以坛为家I
  • 打卡总天数:393
  • 最近打卡:2026-07-04 17:13:30

83

主题

7888

回帖

1万

积分

超级版主

积分
16827
发表于 2026-5-30 22:54:47 | 显示全部楼层
xpz*** 发表于 2026-5-30 18:03
没看懂是如何控制下管的导通和关闭的,高占空比时,电流连续,直接输出互补PWMN就行,低占空比时,下管的开 ...

没有考虑关闭时机,那要做电流过0检测才行。不管占空比多少,都会是上管和下管轮流导通,类似于D类功放的输出+LC滤波,只是滤波电容很大而已。
回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:7
  • 最近打卡:2026-06-08 10:47:06
已绑定手机

0

主题

17

回帖

48

积分

新手上路

积分
48
发表于 2026-6-1 10:16:57 | 显示全部楼层
老师将12位的AD值 一阶滤波 直接乘以4,将ADC变成了14位。是否可以用真实的四次ADC采样,取代乘以4,这样是否能更精确?

通过学习代码,得知单个通道每次ADC转换约为2.92us,则四个通道耗时 3us*4=12us。若采样4次,12us*4=48,按50us算,距离 250us 还有足够的距离。

可能要将该语句放入 ADC_ISR 中断中:
adc_filter[VOL_OUTPUT]  = (adc_filter[VOL_OUTPUT] *3)/4  + adc[VOL_OUTPUT];       

不知是否可行,或不妥之处?

点评

一阶低通滤波是有滤波的功能,4次累加没有滤波功能,增加分辨率也有限。  详情 回复 发表于 2026-6-1 12:19
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:393
  • 最近打卡:2026-07-04 17:13:30

83

主题

7888

回帖

1万

积分

超级版主

积分
16827
发表于 2026-6-1 12:19:13 | 显示全部楼层
yzz*** 发表于 2026-6-1 10:16
老师将12位的AD值 一阶滤波 直接乘以4,将ADC变成了14位。是否可以用真实的四次ADC采样,取代乘以4,这样是 ...

一阶低通滤波是有滤波的功能,4次累加没有滤波功能,增加分辨率也有限。
回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:7
  • 最近打卡:2026-06-08 10:47:06
已绑定手机

0

主题

17

回帖

48

积分

新手上路

积分
48
发表于 2026-6-1 13:48:44 | 显示全部楼层
梁*** 发表于 2026-6-1 12:19
一阶低通滤波是有滤波的功能,4次累加没有滤波功能,增加分辨率也有限。 ...

我的意思是:在现在基础上,在重复采样3个循环。放在adc[通道号][0-3采样数]。一阶滤波还是同样。
因为现在只用了 12us(1个循环) ,在重复3个循环,共计约 50-60us。

点评

我不大明白你说的。 “将12位的AD值 一阶滤波 直接乘以4,将ADC变成了14位”,我的一阶滤波没有直接乘以4,我的算法 Yn = Yn*3/4 +adc,结果就是14位了,兼有一阶低通滤波及放大4倍的效果。  详情 回复 发表于 2026-6-1 14:47
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:393
  • 最近打卡:2026-07-04 17:13:30

83

主题

7888

回帖

1万

积分

超级版主

积分
16827
发表于 2026-6-1 14:47:45 | 显示全部楼层
yzz*** 发表于 2026-6-1 13:48
我的意思是:在现在基础上,在重复采样3个循环。放在adc[通道号][0-3采样数]。一阶滤波还是同样。
因为现 ...

我不大明白你说的。
“将12位的AD值 一阶滤波 直接乘以4,将ADC变成了14位”,我的一阶滤波没有直接乘以4,我的算法 Yn = Yn*3/4 +adc,结果就是14位了,兼有一阶低通滤波及放大4倍的效果。
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:157
  • 最近打卡:2026-07-05 08:06:06

0

主题

19

回帖

442

积分

中级会员

积分
442
发表于 2026-6-1 20:59:19 | 显示全部楼层
电流采样传递函数推导了一下,非常精确,计算结果与理论分析相同,图中x值为在采样电阻上的采样电压。当有一个问题在负反馈上加电容是否可取(个人意见),还请专家多多指教!!
截图202606012052242433.jpg

点评

加电容是为了滤除高频噪声,开关电源噪声无处不在。  详情 回复 发表于 2026-6-1 22:34
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:393
  • 最近打卡:2026-07-04 17:13:30

83

主题

7888

回帖

1万

积分

超级版主

积分
16827
发表于 2026-6-1 22:34:04 | 显示全部楼层
Ani*** 发表于 2026-6-1 20:59
电流采样传递函数推导了一下,非常精确,计算结果与理论分析相同,图中x值为在采样电阻上的采样电压。当有 ...

加电容是为了滤除高频噪声,开关电源噪声无处不在。
回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:7
  • 最近打卡:2026-06-08 10:47:06
已绑定手机

0

主题

17

回帖

48

积分

新手上路

积分
48
发表于 2026-6-2 09:12:16 | 显示全部楼层
我的算法 Yn = Yn*3/4 +adc,结果就是14位了,兼有一阶低通滤波及放大4倍的效果。
-----------------------------------------------
那么就是说要第四次采样后才能体现出来。
比如:采样序列(250us一个):0,1,2,3,4.....N,
这个公式的值要达到稳定(或者说体现出一阶滤波的效果)至少是第4次采样以后,就是序列[3]的值进入 一阶公式后。 这个后果就是 250us*4=1ms,,基本上延迟了1ms,会导致PID计算也延迟。 但ADC是能在 50-60us完成 4次采样的。


现在这个电源 稳定性、精度各方面感觉已经不错了。就是太慢。。。不知是否能提高一点速度换取 电源动态 性能提升。
或者,老师给个方向,继续优化这个PID电源。
回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:7
  • 最近打卡:2026-06-08 10:47:06
已绑定手机

0

主题

17

回帖

48

积分

新手上路

积分
48
发表于 2026-6-2 09:30:57 | 显示全部楼层
未修改 电压校准系数 的 电压值,同 115C的对比,精度另人满意。

截图202606020948082038.jpg
回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:7
  • 最近打卡:2026-06-08 10:47:06
已绑定手机

0

主题

17

回帖

48

积分

新手上路

积分
48
发表于 2026-6-2 09:31:22 | 显示全部楼层
输出 5V , 实际值 5.010V
截图202606020931138170.jpg

输入 19.47V,本电源显示 19.46V
截图202606020935276365.jpg


OLED显示屏:
截图202606020937594175.jpg



点评

祝贺复刻成功。  详情 回复 发表于 2026-6-2 10:56
回复

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2026-7-5 08:15 , Processed in 0.091679 second(s), 97 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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