搜索
bottom↓
回复: 24

单片机实现BUCK或BOOST电路的控制逻辑,求指教

[复制链接]

出0入0汤圆

发表于 2013-8-29 08:56:17 | 显示全部楼层 |阅读模式
单片机实现BUCK电路或者BOOST电路的话,最合适的控制方法是什么?需要用PID算法吗?有这方面的资料吗?求电源大神指教!

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入362汤圆

发表于 2013-8-29 10:34:05 | 显示全部楼层
不合适,单片机太慢.
如果是要用单片机控制dc-dc的输出电压, 就用单片机的dac或pwm输出, 运放搭个减法器, 驱动dc-dc的fb脚.

出0入0汤圆

发表于 2013-8-29 10:47:32 | 显示全部楼层
肯定是PWM了,根据输出电压来控制占空比。根据控制要求来确定要不要上PID啊。STM32F303的12位AD采样周期只要0.5us左右了,我觉得是够快了。

出0入0汤圆

发表于 2013-8-29 14:54:58 | 显示全部楼层
如果只做一路buck或者boost的话,应该是比较简单的吧,一个单闭环,用pwm不断的开关就可以了,pid是要用的,但如果只是一个单闭环的话,pid也不难的

出0入0汤圆

 楼主| 发表于 2013-8-29 22:01:59 | 显示全部楼层
tomzbj 发表于 2013-8-29 10:34
不合适,单片机太慢.
如果是要用单片机控制dc-dc的输出电压, 就用单片机的dac或pwm输出, 运放搭个减法器,  ...

我是用单片机产生PWM驱动BUCK电路,ADC采样输出电压,我只是做了简单的比较,如果输出电压大于目标电压,PWM减小,反之PWM增大。我在想这种控制逻辑会不会太简陋了,我在做的过程中,出现控制频率没有调整好引起输出纹波很大。

出0入0汤圆

 楼主| 发表于 2013-8-29 22:17:30 | 显示全部楼层
笑笑我笑了 发表于 2013-8-29 10:47
肯定是PWM了,根据输出电压来控制占空比。根据控制要求来确定要不要上PID啊。STM32F303的12位AD采样周期只 ...

我的系统里,单片机是stm32f103,每间隔4秒读2路18B20的温度回来,每隔1秒钟刷新一次LCD,spi接口,驱动2路BOOST,2路BUCK,还要一直累积每一路输出了多少功率,我的想法是,想让ADC转换完成后产生一个中断,在中断里计算出输出电压值,再与目标值做比较,如果大于目标值,PWM减小,反之PWM增大。这样控制速度会足够快的。还有如果用PID的话,有相关的资料或者代码可以参考吗?

出0入0汤圆

 楼主| 发表于 2013-8-29 22:18:25 | 显示全部楼层
ljbskx 发表于 2013-8-29 14:54
如果只做一路buck或者boost的话,应该是比较简单的吧,一个单闭环,用pwm不断的开关就可以了,pid是要用的 ...

如果用PID的话,有相关的资料或者代码可以参考吗?

出0入362汤圆

发表于 2013-8-30 12:43:16 | 显示全部楼层
aiqinger 发表于 2013-8-29 22:01
我是用单片机产生PWM驱动BUCK电路,ADC采样输出电压,我只是做了简单的比较,如果输出电压大于目标电压, ...


再次建议你别折腾了
PWM用8位的?理论上最多只有1/256的精度,频率只能达到MCU主频的1/256。avr主频一般最高16M,这样你的PWM频率只能到62.5K。
随便哪个现成的PWM IC不比这个强 ?

BUCK就用LM2596、AOZ1016之类,BOOST可以用UC3843之类,低压供电的话有MAX1771、LM3478、LTC1700等等,都很好用。
要求不高也可以用MC34063.

一定要这么试的话,可以用ATTINY26试试,它可以用高频PLL作为PWM的分频源,这样理论上PWM频率可以到64M/256=250K左右。不过tiny的话也干不了多少别的事了,还得再上其他MCU。

出0入0汤圆

 楼主| 发表于 2013-8-31 23:24:24 | 显示全部楼层
tomzbj 发表于 2013-8-30 12:43
再次建议你别折腾了
PWM用8位的?理论上最多只有1/256的精度,频率只能达到MCU主频的1/256。avr主频一般 ...

STM32系列单片机,PWM频率100K,精度1/720。如果是做产品,从成本或者难易程度上来说 PWM控制芯片是最好的选择,有时候这种不能满足所有要求,比如我做BUCK电路的MPPT,需要用到单片机来增加一些特殊的功能。我是想知道使用单品机来做,哪种方法是最正确的。

出0入0汤圆

发表于 2013-11-18 13:23:39 | 显示全部楼层
如果你单片机死机了 你就死定了

出0入0汤圆

发表于 2013-11-18 13:56:32 | 显示全部楼层
观看        

出0入0汤圆

发表于 2013-11-18 14:07:25 来自手机 | 显示全部楼层
我暑假做过,做闭环的时候采样都有问题,纹波问题,这个应该叫数字电源。我做的时候资源都被这个用了,干不了其他事了,还不如直接专用芯片。

出0入0汤圆

发表于 2013-11-22 14:34:26 | 显示全部楼层
参考一下ATMEL的例程,avr450: 为SLA、NiCd 和Li-Ion 电池设计的充电器。

出0入0汤圆

发表于 2013-11-22 15:14:54 | 显示全部楼层
PIC的16F785,16F1783都可以实现。可以下载相应的应用笔记

出0入0汤圆

发表于 2013-11-25 11:07:13 | 显示全部楼层
本帖最后由 xionghuioo7 于 2013-11-25 11:15 编辑

曾经用AVR瞎整过,主要是PWM波分辨率和频率之间的矛盾,还有就是反馈速度。PWM波的分辨率8位是远远不够的,BUCK电路还好点,BOOST就玄乎得很了。这东西原理是很简单,实际工程实现起来局限性太大。没有透彻的搞过电源的话,最好还是用专用的PWM控制器吧。

出0入0汤圆

发表于 2013-11-29 21:50:36 | 显示全部楼层
单单是一个电路用单片机没问题的,我用430做过,自带的AD采集输出电压,然后调节占空比即可

出0入0汤圆

发表于 2016-7-13 20:56:09 | 显示全部楼层
aiqinger 发表于 2013-8-31 23:24
STM32系列单片机,PWM频率100K,精度1/720。如果是做产品,从成本或者难易程度上来说 PWM控制芯片是最好 ...

请问楼主做出来了吗?最近也在搞buck电路的MPPT。谢谢

出0入0汤圆

发表于 2016-7-13 21:21:19 | 显示全部楼层
STM32F030系列够了。 PID 反馈是必须的要不然怎么稳压。

出20入34汤圆

发表于 2017-11-13 10:13:37 | 显示全部楼层
aiqinger 发表于 2013-8-29 22:17
我的系统里,单片机是stm32f103,每间隔4秒读2路18B20的温度回来,每隔1秒钟刷新一次LCD,spi接口,驱动2 ...

做一个很大的表 可以省掉计算的过程 速度很快

出0入0汤圆

发表于 2017-11-13 10:25:53 | 显示全部楼层
我做过,,逐次逼近就可以了,最好不要用PID , 太难搞,,,,如果PWM精度高一些,就逐次逼近就可以做到很稳定了,但是跟真正的DC DC 没法比,特别是短路保护,

出0入0汤圆

发表于 2017-11-14 07:45:19 | 显示全部楼层
jackiezeng 发表于 2017-11-13 10:25
我做过,,逐次逼近就可以了,最好不要用PID , 太难搞,,,,如果PWM精度高一些,就逐次逼近就可以做到很 ...

但是 负载变化大的场合 稳压搞不定吧!

出0入0汤圆

发表于 2017-11-14 08:53:34 | 显示全部楼层
fjourdev 发表于 2017-11-14 07:45
但是 负载变化大的场合 稳压搞不定吧!

是搞不定,从AD , 到 PWM 调整 相对于专业的DC DC 来说是差,,,这个没法避免~!

出0入0汤圆

发表于 2017-11-14 09:06:00 | 显示全部楼层
STM32F334是专门设计来实现数字电源的,官网上有一些方案资料可以找到,文档里面也有介绍用PID控制实现的,也有源代码例程做参考

出0入0汤圆

发表于 2017-11-14 09:08:24 | 显示全部楼层
这个要看你的负载是什么.
你这个里面有个关键是你要读18B20,这个总线的读取占用时间比较多(不清楚你是用什么方式读定时器中断?指令延时?在读取18B20时DC-DC可能就控制不了).
因为做原来做移动电源就是用单片机做BOOST(升压放电)或BUCK(降压充电),这种方案现在依然在做.没有PID,就是加减处理.

出0入0汤圆

发表于 2017-11-14 09:16:36 | 显示全部楼层


AN4449
Application note
Buck-boost converter using the STM32F334 Discovery kit 这篇文章里面有详细的介绍,我今年初的时候买了一块二手F334的板子,研究了一阵子,F334 HRTIM频率和精度可以很高,等效时钟可达144MHZ*32好像,可想DIY个数字电源玩玩,后来因为一直买不到靠谱的 高速MOS半桥驱动芯片,所以后来就荒废了。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-3-29 15:23

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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