这次分享的是我大学时候的毕业设计,题目是自己出的,不是很难,旨在温习一下基础知识,对分离式开关电源的设计和参数调试有更直接的认知,也让我在闲暇之余不再那么累(偷下懒哈哈,因为刚刚考过研)。

闲话不多说,上要求:
本设计拟采取buck拓扑,利用同步整流技术和数字闭环技术,设计实现一个可调的恒压/恒流源。该电源指标如下:具有恒压/恒流模式切换功能;整机最大功率大于200W;整机效率大于92%;系统输入DC5V-100V,恒压模式输出电压1V-50V步进可调,恒流模式输出电流0.5A-15A且步进可调;输出电压纹波小于20mVPP;

接下来分享大致的设计过程:

<一>总体摘要
本研究旨在设计一个集恒流和恒压一体化的智能电源。在具体设计实现上,本系统以STC15W4K58S4单片机作为MCU,以BUCK同步整流电路作为功率主拓扑,辅以栅极驱动电路、电压/电流采样电路、蓝牙、OLED显示等模块组成。使用该单片机的16位高精度PWM波,经过栅极驱动电路去驱动主拓扑的功率对管,用该单片机进行输出电压采样和电流采样,从而形成电流环和电压环,通过PID调节PWM波的占空比进而实现恒流/恒压控制。测试表明,该电源峰值功率接近100W,峰值电流7A以上,基本达到题目要求,且该设计原理对恒流控制具有启发意义。最终的实现:本系统实现了超高效率(最高效率98%,平均整体效率94%以上),超低纹波(10mVpp以内的纹波电压,指得是恒压模),超小面积(长宽高=1054cm)和智能控制(手机APP控制)。

<二>总体设计方案
NOTE:具体的设计原理在本博客中不详细给出,需要读者自行找资料了解或者联系我索取。

step1:由前所述,恒流/恒压的实现方法多种多样,也各有优缺点。现在对本设计的方案进行原理上的论证。系统的总体功能框图如图3-1所示,从中得知,恒流、恒压的关键在于两个环路──电流环和电压环。从手机端通过蓝牙串口助手发送指令,经蓝牙转串口模块得到串口数据传给MCU,这一条链为指令控制链。MCU得到相应的指令并解码后,由PWM模块控制输出PWM波,去控制功率电路的功率开关管,因为直接由MCU输出的PWM信号的驱动能力有限且,功率电路采用的是同步整流结构,故存在功率对管,所以栅极驱动电路起到以下作用:增加PWM波的驱动电流并隔离MCU和功率电路;由一路输入得到两路互补的带死区控制的PWM信号(死区控制:防止功率对管同时导通而烧坏管子);最重要的是该电路实现了电压自举,从而能够去驱动BUCK电路的高端ENMOS(关于该点,在后续内容中会详细叙述),故栅极驱动电路作用不小。
在输出端,分别进行电压和电流取样,其中电流可以通过运放实现IV转换,最后取样量均是电压,然后将这两个取样量馈送至MCU,经过比例计算可以得到实际的输出值,将实际输出值与设置的预期值进行比较,然后实时调整PWM波的占空比以让输出值对预设值做趋向运动。
实际上,用一句话说,上述恒流/恒压的原理就是利用两个环路实现PID闭环调节得到恒定输出。所以,经上述分析,该方案具有可行性。

上图 恒流/恒压源总体功能框图

step2:整体设计的原理图

step3:软件设计部分
先上图–>

后解释–>
现对流程图进行必要的说明。经过3次程序优化后,程序最终只采用了两个中断,Timer0中断和Uart1中断,Uart1中断为高优先级,Timer0中断为低优先级,其作用是电源模式选择和设定输出值以及开关PWM,这样设置就保证了USER的指令不会丢失(虽然存在丢失现象,但概率已经非常低了,经测试,基本上100次指令只出现2-3次指令丢失),因为USER发送指令后,指令的接收是放在Uart1中断中完成的,Uart1中断可以打断Timer0中断和主函数的执行。Timer0中断来实现PWM的占空比的修改、限流和限压以及系统心跳指示灯的闪烁,采用16位自动重装方式,每隔1ms程序会进入Timer0中断(忽略Uart1中断的打断)。

系统上电后,首先完成OLED、Uart1、PWM、ADC以及Timer0的初始化,然后进入初始化界面显示。此时各部分已准备就绪,主循环等待串口指令的到来,并设定标志位flag_Uart,进入串口中断后置flag_Uart = 1。程序默认串口先进行模式选择,然后才是输出电流或电压的设定。模式选择是SBUF = ‘+’表示恒压,SBUF = '-'表示恒流,并分别置flag_mode为1和0。收到第一次模式指令后flag_Uart = 1,会在OLED上显示电源模式,然后置flag_Uart = 0和Adj = 1。当判断flag_Uart = 0且Adj = 1后,程序进入ADC采集,通过ADC4和ADC5对电压环和电流环反馈值进行采样,此时,若收到输出值设定指令,程序会调用Pwm_Adj函数实现增量型PID调节,PID调节的实际上是PWM波的DUTY,在这个函数中会不断改变DUTY,然后每隔1ms进入Timer0中断生效DUTY的修改值,并且ADC一直处于采集状态,Pwm_Adj也在时刻进行,当达到设定的精度后,实际输出值会趋近设定值,从而实现恒流和恒压功能。

关于限流和限压,是在Timer0中断中进行的。实现的方法其实很简单,通过调试得到DUTY和输出值的关系,然后在中断里加入if判断进行软件限定。但是这种设定,对于不同的输入,设定的输出限流值和限压值会发生变化,因为BUCK电路的输出计算公式 Vout=DVin=VinTon/T(其中,D表示PWM波的占空比,T表示PWM波的周期,Ton表示PWM波高电平持续时间)。

关于软件的设计,总共经历了多次修改。其中一次修改如下:开始时,由恒压部分程序的影响,一直寻找电流和占空比的关系,由于这两者之间的关系十分复杂或者一般不讨论它们的关系,从而使得软件设计陷入僵局。最后改变思路,形成了软件比较器的方案,即比较器的其中一个输入由用户自定义输入(这个值就是预定的输出值),另一个输入值则通过ADC实时采集输出值(分压或转换得到合适的AD值),两者比较并设定精度范围,最后再调节DUTY,进而实现实际输出值趋向设定值。

step4:上板调试
假设硬件电路设计已经完成,随后在文末给出PCB设计图,这里不过多赘述。

这里给出栅极驱动器ir2109的关键波形(因为总有很多的童鞋弄不好这个东西,希望后来的学弟学妹能够少走弯路)。
直接上图:
测试条件,直流供给电压为VIN = 20V,IR2104供电电压为VCC = 10.5 V;

高端HO输出波形:

低端LO输出波形:

悬浮端VB输出波形:

悬浮端VS输出波形:

还是说几句吧,由理论分析可知,电压VB = VS + VCC(最大值),如图5-6、图5-7所示,满足上述关系。HO与LO波形相位相反(不考虑死区时间),且在PWM给高电平期间,Ug = 30.8V,VS = 21.6V,Ugs = 9.2V满足ENMOS管开启电压的要求,完美实现高端MOS的升压驱动。
由于在NMOS关断时刻,由于流过电感的电流不能不变,而是呈现线性下降的趋势,所以输出电压会迅速下降,并减小至-1V(一般考虑续流二极管压降为-1V),此时由电感,负载,二极管形成放电回路,由于续流二极管的钳位作用,会使得VS端的电压下降到-1V而不再下降。所以,VS端最低电压是-1V。
到这,一切都很ok,驱动波形也是十分的给力,好,go on!

接下来进入参数测试阶段:
化繁为简,上关键测试图:

极限参数测试(最高效率没做记录,记得是97.9%):

恒压模式测试结果简表:

恒流模式测试结果简表:

恒压模式纹波( 恒压5V时输出纹波):

恒流模式纹波(恒流输出1.3A时的纹波电压):

step5:结论
结论1:由上表测试结果可知,恒压源输出可从1V-20V连续可调(24V输出没有测量);负载越重(电阻值越小),相对地纹波越大;在低电压输出测试时,相对误差比较大,主要是因为硬件电路的ADC采集误差较大;电流在整个测试范围内,相对误差小于等于3%;关于电压纹波,最大值约10mVpp。
结论2:恒流源输出电流范围为0.5A-7A(下限可以继续降低,但是误差会比较大,上限在现有条件下可以达到8A,但是不建议长时间大电流使用);电流的调节步进为0.15A,相对误差在低电流输出时比较大,主要原因也是ADC采集误差较大,相对误差小于等于4%。

NOTE:低纹波实现源于采用两级滤波结构,另一部分原因也与PCB布局有关,布局见下。

补充1:PCB设计图
啥也别说了,正面:

反面:

效果图:

实物:

补充二:蓝牙APP界面
蓝牙设计采用的易安卓设计。

NOTE:原文太长了,这里结合关键做了简要描述,到此整个电源设计基本完成!

欢迎指正交流!

可调恒流/恒压源设计相关推荐

  1. 可调恒流驱动LED电路分析

    https://www.icxbk.com/article/detail?aid=884 常规使用的pwm调亮度不仅会导致频闪,而且在长时间使用的时候,有损坏led的风险,所以这次设计了一个恒流调亮度 ...

  2. LED恒流驱动设计不简单,贵有贵道理的,如何简单辨别真伪?

    高品质的LED照明采用的是恒流驱动,其中效率最高的是用开关电源芯片做的恒流驱动.效率通常可达90%以上:电路比阻容降压复杂很多,决定了其成本比较高. LED恒流驱动电路的输入电源必须为直流电,图1和图 ...

  3. 恒流、限流功能驱动 WLED 方案

    产品简介 AP5414 是一种输入电压范围宽(0.8~5.5V),可调恒定电流和限定电流两种模式来 驱动白光 LED 而设计的升压型 DC/DC 变换器.该器件能利用单节或双节干电池驱动单 颗大功率白 ...

  4. 升压恒流驱动 LED开关 手电筒 太阳能灯 背光模式 方案分享

    产品简介 AP5414 是一种输入电压范围宽(0.8~5.5V),可调恒定电流和限定电流两种模式来 驱动白光 LED 而设计的升压型 DC/DC 变换器.该器件能利用单节或双节干电池驱动单 颗大功率白 ...

  5. 舞台灯恒流芯片 无频闪无噪音 多路共阳 调光深度0.1% 方案分享

    舞台灯无频闪无噪音设计IC方案 描述 H6228采用线性调光和 PWM 调光.65536(256*256)级高辉调光. H6228 是一款采用PWM 工作模式,高效率.外围元器件少.外置功率 MOS ...

  6. LED高效恒流驱动电源的设计指导书

    参考链接 LED高效恒流驱动电源的设计指导书 LED灯驱动电源设计 LED恒流驱动电路(精) LED恒流驱动电路 led灯驱动电源电路图 led灯的驱动原理电路图方案详解 KIA MOS管 一.LED ...

  7. 【大功率摄影灯/舞台灯RGB调光驱动方案】DC-DC降压恒流LED双路调光芯片FP7126,共阳极高辉无频闪调光,调光深度可达万分之一

    方案名称 [大功率摄影灯/舞台灯RGB调光驱动方案]DC-DC降压恒流LED双路调光芯片FP7126,共阳极高辉无频闪调光,调光深度可达万分之一 描述 FP7126 是平均电流模式控制的 LED 驱动 ...

  8. 深力科电子SND101系列兼容代替SLM561A 支持PWM调光 线性恒流LED驱动芯片

    深力科电子SND101系列兼容代替SLM561A 支持PWM调光 线性恒流LED驱动芯片 深力科电子SND101系列是用于产生单通道.高精度恒流 源的 LED 驱动芯片,在各种 LED 照明产品中非 ...

  9. SND0611支持PWM调光功能的线性恒流LED驱动芯片 完美代替SLM411A 用于在各种LED照明产品

    深力科电子SND0611支持PWM调光功能的线性恒流LED驱动芯片 完美代替SLM411A 用于在各种LED照明产品 SND0611 系列产品是用于产生单通道.高精度恒 流源的 LED 驱动芯片,在各 ...

最新文章

  1. Sublime Text 3 遇到的一些小坑的解决方法
  2. 【渝粤教育】国家开放大学2018年秋季 0706-22T行政管理学导论 参考试题
  3. 再谈angularjs DI(Dependency Injection)
  4. php返回原界面,thinkphp实现登录后返回原界面
  5. 如何添加WebService调用时的用户认证
  6. Nutanix超融合基础架构和桌面虚拟化解决方案助力新松机器人加速数字化转型
  7. 十次方社交系统开发项目 源码 视频 文档 工具 合集百度云下载地址
  8. C语言时间片轮转调度算法
  9. 信息论——最大流最小割定理
  10. selenium弹窗处理,包括Javascript弹窗、HTML弹出层和Windows弹窗
  11. UE4读取BackBuffer缓冲区贴图(屏幕表面)
  12. 群主微信sdk说明地址
  13. 常用的Windows命令提示符
  14. HDU-4126(Genghis Khan the Conqueror)
  15. c语言解矩阵方程ax=b,用初等变换的方法求解矩阵方程AX=B
  16. matlab要掌握什么,学习matlab需要什么基础?
  17. BST、AVL、BTree、B+Tree、B*Tree、23Tree、234Tree、TTree、RBTree、LLRBTree、AATree、SplayTree、Treap、无旋Treap、scap
  18. Seq2Seq模型介绍
  19. 新H3C服务器做RAID
  20. 电驴不显示链接不上服务器,电驴连接不上服务器是什么原因?原因及解决方法步骤...

热门文章

  1. 粉丝基础助推TikTok网红成为品牌宠儿
  2. 盘点海口最好吃的西餐厅top10
  3. Python项目-加减乘除计算闯关小游戏
  4. MATLAB利用全局优化曲线拟合-段曹辉
  5. 有名的国外商城系统汇总
  6. “四位一体”智慧产业全力打造丝绸之路经济带核心区信息中心
  7. 在云服务器中云磁盘如何挂载
  8. 第十三届蓝桥杯(Web 应用开发)线上模拟赛
  9. Google免费GPU Colab使用教程
  10. 英飞凌-极简电力电子学,简到崩溃