• 回复
  • 收藏
  • 点赞
  • 分享
  • 发新帖

【我是工程师第四季】数字电源设计之同步Buck转换器

打算年前做个开源的数字同步buck转换器Demo板,开源电路和软件代码,平时比较忙做不完年后抽空接着搞一搞。好久不来电源网了,主要是本人不做开关电源,也很遗憾,本科接触开关电源以后就把它作为一种业余爱好了,废话不多说。数字电源多半采用 DSP,有的还用FPGA。对刚入门的人来说用DSP来设计数字电源有点难上手。STC推出了一增强型的51单片机STC15W4K32S4,具有6路15位占空比可调的PWM,PWM波形发生器还可在15位的PWM 计数器归零时触发ADC转换,AD采样率可达300K次/秒。

 

 

设计目标:

1.做一个小功率的数字同步buck转换器,主要是为了阐述数字电源软硬件的实现方式,给没有入门数字电源的工程师一个小参考,大佬就别来砸我的场子了,初步规划分两块板子,一块单片机控制板,一块功率板,当然也可以考虑做到一起,处理好地就行了。

2.软件采用C语言编写,采用PI做闭环调节,其实代码方面主要就是PWM与ADC中断控制还有PI调节函数,控制流程也不麻烦,其实想明白流程以后,用代码表述出来其实是很简单的,主要是写代码前要彻底想清楚整个控制流程与架构,之后就是改代码不断调试的过程了。因为单片机可以通过PWM触发外部事件,所以可以做成逐周期PI调节,最大开关频率可以达到50KHz左右

帖子规划:

 

 

1.先完成buck功率部分电路硬件设计、PCB设计,对各位来说很简单吧。

2.单片机部分电路设计,主要是最小系统、扩展口等,很简单。

3.C语言程序设计,完成PI闭环调节。

4.测试结果,开源软硬件。 

 

 

    

今天先挖坑,后面慢慢补,本人水平一般,各位大佬轻喷~谢谢,希望与大家一起学习进步。后续有问题欢迎指出。

全部回复(12)
正序查看
倒序查看
zwcyqxzcx
LV.6
2
2018-01-17 21:14

今天抽时间把原理图搞完了,事情多啊,下面上图吧

单片机部分,很简单,该单片机不需要外部晶振与外部复位即可工作,下载程序也可以直接用USB下载,不需要USB转串口芯片

非常方便,单片机的PWM6和PWM7输出PWM分别控制高位MOS和低位MOS,ADC1/ADC2/ADC3分别采样输出电流输入电压和输

出电压。另外做了五个按键方便后期开发,比如可以加入电压电流调节功能等。

辅助电源,直接从输入取电给驱动芯片和单片机以及运放供电

buck电路,这个很常规,驱动芯片采用IR2304S,采样电流放大用A00B,后期既可以做成恒压源也可以做成恒流源。 

耽误了几天,今天抽时间吧封装搞了一下(本人画板子少,都得临时搞),然后布了局大致如下,明天抽空完成走线投板。。

除了单片机和按键全是贴片的,因为单片机和按键是现成就有的不想买了。。。(1.29)

0
回复
2018-01-17 21:54
@zwcyqxzcx
今天抽时间把原理图搞完了,事情多啊,下面上图吧单片机部分,很简单,该单片机不需要外部晶振与外部复位即可工作,下载程序也可以直接用USB下载,不需要USB转串口芯片非常方便,单片机的PWM6和PWM7输出PWM分别控制高位MOS和低位MOS,ADC1/ADC2/ADC3分别采样输出电流输入电压和输出电压。另外做了五个按键方便后期开发,比如可以加入电压电流调节功能等。[图片]辅助电源,直接从输入取电给驱动芯片和单片机以及运放供电[图片]buck电路,这个很常规,驱动芯片采用IR2304S,采样电流放大用A00B,后期既可以做成恒压源也可以做成恒流源。 [图片]耽误了几天,今天抽时间吧封装搞了一下(本人画板子少,都得临时搞),然后布了局大致如下,明天抽空完成走线投板。。除了单片机和按键全是贴片的,因为单片机和按键是现成就有的不想买了。。。(1.29)[图片][图片]
期待楼主大作,坐等学习。
0
回复
2018-01-17 22:18
顶贴学习,输入输出参数是什么?
0
回复
ruohan
LV.9
5
2018-01-18 08:30
@心如刀割
顶贴学习,输入输出参数是什么?

软件采用C语言编写,采用PI做闭环调节,其实代码方面主要就是PWM与ADC中断控制还有PI调节函数,控制流程也不麻烦,其实想明白流程以后,用代码表述出来其实是很简单的,主要是写代码前要彻底想清楚整个控制流程与架构,之后就是改代码不断调试的过程了

怎么做闭环调节,希望把代码给看看

0
回复
zwcyqxzcx
LV.6
6
2018-01-18 10:25
@心如刀割
顶贴学习,输入输出参数是什么?
就输入20V左右,降压几V到十几V吧,数字控制电压调节很方便的,改单片机ADC的参考电压就行。
0
回复
001study
LV.4
7
2018-01-19 12:08
@zwcyqxzcx
就输入20V左右,降压几V到十几V吧,数字控制电压调节很方便的,改单片机ADC的参考电压就行。
分辨率和响应速度是问题
0
回复
zwcyqxzcx
LV.6
8
2018-01-23 23:23
@001study
分辨率和响应速度是问题[图片]

分辨率要求不要太高就没问题。。毕竟做个Demo而已。这个单片机计算PI很费劲,所以ADC只用了8bit,最近STC又推出了新

51单片机STC8系列,听说贼强,ADC采样速度800K,16路12bit ADC

另外响应速度基本上是这样的,你看看,以前做的。时间轴500us,电压轴200mV,输出空载到满载的响应速度(满载9V1.5A)

带负载瞬间掉了800mV,恢复时间1.5ms。震荡也不明显。。。

0
回复
ruohan
LV.9
9
2018-01-24 08:38
@zwcyqxzcx
分辨率要求不要太高就没问题。。毕竟做个Demo而已。这个单片机计算PI很费劲,所以ADC只用了8bit,最近STC又推出了新51单片机STC8系列,听说贼强,ADC采样速度800K,16路12bitADC另外响应速度基本上是这样的,你看看,以前做的。时间轴500us,电压轴200mV,输出空载到满载的响应速度(满载9V1.5A)带负载瞬间掉了800mV,恢复时间1.5ms。震荡也不明显。。。[图片]

能否把程序贴出来看看,怎么做PI调节的算法

0
回复
zwcyqxzcx
LV.6
10
2018-01-24 11:25
@ruohan
能否把程序贴出来看看,怎么做PI调节的算法
你好,这个后面做好板子了会开原的,一步步来
0
回复
zwcyqxzcx
LV.6
11
2018-01-30 23:34
@zwcyqxzcx
今天抽时间把原理图搞完了,事情多啊,下面上图吧单片机部分,很简单,该单片机不需要外部晶振与外部复位即可工作,下载程序也可以直接用USB下载,不需要USB转串口芯片非常方便,单片机的PWM6和PWM7输出PWM分别控制高位MOS和低位MOS,ADC1/ADC2/ADC3分别采样输出电流输入电压和输出电压。另外做了五个按键方便后期开发,比如可以加入电压电流调节功能等。[图片]辅助电源,直接从输入取电给驱动芯片和单片机以及运放供电[图片]buck电路,这个很常规,驱动芯片采用IR2304S,采样电流放大用A00B,后期既可以做成恒压源也可以做成恒流源。 [图片]耽误了几天,今天抽时间吧封装搞了一下(本人画板子少,都得临时搞),然后布了局大致如下,明天抽空完成走线投板。。除了单片机和按键全是贴片的,因为单片机和按键是现成就有的不想买了。。。(1.29)[图片][图片]

今天抽时间吧板子画好了,如下图,明天发出去打样,开始撸PID代码了,敬请期待!(1.30)

板子已经发出去打样了。顺丰加急。。。。。(1.31)

0
回复
zwcyqxzcx
LV.6
12
2018-02-02 19:25
@zwcyqxzcx
今天抽时间吧板子画好了,如下图,明天发出去打样,开始撸PID代码了,敬请期待!(1.30)[图片]。。。板子已经发出去打样了。顺丰加急。。。。。(1.31)。。[图片]

板子打样回来啦!如下图,周末抽空焊接好就可以开始调试了

0
回复
appleY
LV.5
13
2018-06-09 11:05
@zwcyqxzcx
今天抽时间把原理图搞完了,事情多啊,下面上图吧单片机部分,很简单,该单片机不需要外部晶振与外部复位即可工作,下载程序也可以直接用USB下载,不需要USB转串口芯片非常方便,单片机的PWM6和PWM7输出PWM分别控制高位MOS和低位MOS,ADC1/ADC2/ADC3分别采样输出电流输入电压和输出电压。另外做了五个按键方便后期开发,比如可以加入电压电流调节功能等。[图片]辅助电源,直接从输入取电给驱动芯片和单片机以及运放供电[图片]buck电路,这个很常规,驱动芯片采用IR2304S,采样电流放大用A00B,后期既可以做成恒压源也可以做成恒流源。 [图片]耽误了几天,今天抽时间吧封装搞了一下(本人画板子少,都得临时搞),然后布了局大致如下,明天抽空完成走线投板。。除了单片机和按键全是贴片的,因为单片机和按键是现成就有的不想买了。。。(1.29)[图片][图片]

R4上拉应该接到输入端,Q2,DS接反了

0
回复