带电子负载的数控稳压稳流电源
带电子负载的数控稳压稳流电源这个设计源于我十多年前制作的一个恒流、充电放电器,当时是应朋友的需要制作的,现在我把它重新设计制作成用M16单片机控制的多功能数控电源,这个电源可作稳压、稳流电源使用,也可作为一个直流电子负载使用(恒流放电),可以用来测试电池容量或给电池充放电、元器件测试等用途。
电源的输出电压0-25.00V连续可调,步进值0.025*2=0.05V。
电源的输出电流0-2.500A连续可调,步进值0.0025*2=0.005A。
恒流型电子负载放电电流0-2.500A连续可调,步进值0.0025*2=0.005A。
有充电、放电计时器,最小计时时间1分钟,最大计时时间99小时,可以精确控制充电时间,记录放电时间,测量电池容量。
一个由DS18B20组成的温度测量装置,可以设置控制温度0~120℃。
电源可以工作在稳压状态,也可以工作在稳流状态,可在稳压、稳流状态自动切换。当把输出电流设置到大于负载电流时,Q7饱和导通,这时电源作为一个稳压电源使用。当把输出电压设置到大于负载电压时,Q5饱和导通,这时电源作为一个恒流电源使用。当设定好输出电压、输出电流时,电源可跟据负载变化情况,在稳压、稳流之间自动转换。
为了电源运行可靠,电源设置一个散热控制系统,设有调整管子超功耗报警,电子负载超功耗报警,电子负载超电压报警,低压差设计。
这是电源的外观:
http://cache.amobbs.com/bbs_upload782111/files_44/ourdev_670821H68U0K.jpg
(原文件名:dc01.jpg)
键盘与LCD显示器:
http://cache.amobbs.com/bbs_upload782111/files_44/ourdev_670822ZFVV93.jpg
(原文件名:dc02.jpg)
稳压稳流器的工作原理:
运放U3A,U3C,Q2,Q5,Q9等组成稳压电路,其中Q9控制稳压稳流器是否工作,当单片机端口PD2为高电平时,Q9饱和导通,稳压稳流器处于工作状态,当PD2为低电平时关闭稳压稳流器。运放U3C是为了消除电源电流取样电阻R43上的电压降对电源输出电压的影响而设置的,它与R1、R2共同组成对电源的输出电压进行取样。电路的工作原理用文字说明比较烦琐,我把它用一个数学表达式来说明,有什么问题咱们可以共同讨论,电源的输出电压由下式决定 (见原理图) :
输出电压Uout:
http://cache.amobbs.com/bbs_upload782111/files_44/ourdev_670823D2YA9U.png
(原文件名:dc05.png)
输出电压Uout1:
http://cache.amobbs.com/bbs_upload782111/files_44/ourdev_670824AKZFAF.png
(原文件名:dc06.png)
UR43上的电压:
http://cache.amobbs.com/bbs_upload782111/files_44/ourdev_670825T1TX4E.png
(原文件名:dc07.png)
输出电压Uout:
http://cache.amobbs.com/bbs_upload782111/files_44/ourdev_670826KIBDUN.png
(原文件名:dc08.png)
式中Uout是电源的输出电压(负载两端的电压),Iout是输出电流,Vpwmv是M16的DA转换电压,跟据设定条件可产生0~5V的参考电压。这里有必要说明的是,这个电源给单片机的供电电压不是用5V而是用5.12V,这样在用PWM作DA转换时是步进值为一个整数,以方便计算和显示数值,电源也是以它作为基准的,它的精确程度与稳定度基本上决定了电源的精度及稳定性能,R43是测量电源电流的取样电阻。
运放U3B,U3D,Q7等组成稳流电路,输出电流的大小由下式决定:
http://cache.amobbs.com/bbs_upload782111/files_44/ourdev_670827MK9T1L.png
(原文件名:dc09.png)
式中Vpwma是M16的DA转换电压,跟据设定条件可产生0~5V的参考电压,用来控制稳定电流的大小。
电源是工作在稳压状态还时恒流状态是通过单片机adc4端口,测量运放U3A输出电压来判断的,当运放U3A输出电压>11V,Q5进入饱和状态,电路工作在恒流状态,LCD相关位置显示“CC”。当运放U3A输出电压<1V时,电路工作在稳压状态,LCD相关位置显示“CV”。
为了降低调整管功耗,电源的输入电压分为两档,由继电器K1切换,Q3,R20,D1,单片机端口PA7,组成K1的控制电路,当输出电压<10.1V时,切换到13V档,当输出电压≥10.10V时自动切换到13+13=26V档。
电子负载的工作原理:
当单片机端口PD2输出低电平时,Q4处于截止状态,电子负载进入工作状态,U4A,U4B,Q6等组成恒流型电子负载电路,它的输出电流由下列式子决定:
http://cache.amobbs.com/bbs_upload782111/files_44/ourdev_670828FK1UMW.png
(原文件名:dc10.png)
式中的Iload是流过电子负载的电流,大小由Vpwma决定。
元器件选择及制作注意事项:
电阻R43是电源电流测量的取样电阻,选用0.1Ω 2W的金属膜电阻,其余电阻选用1/4W精度1%的金属膜电阻。电阻R1,R2取值尽可能准确,R37,R38取值尽可能相等。电容全部用独石电容,见元件表。
制作时先安装好板子上除Q6与M16、LCD以外的全部元件,Q2、Q6、VR1、D2它们共用一个散热器,应与散热器绝缘安装。用一个1K 的多圈微调电阻替代R42与R42*,用一个5K 的多圈微调电阻替代R3与R3*,用一个50K的多圈微调阻替代R51与R51*。
在VR2的输出端接一个数字电压表,调整1K的多圈微调电阻,使VR2的输出电压到5.12V,这个电源是以它为基准的,请仔细准确调整。然后把它更换为固定电阻,如果不是标称值,可用两个电阻串联,尽可能的与调试值保持一致,电路板上有两个位置。
安装好M16与LCD,用ISP下载线下载程序(烧写时把mydc25.hex文件写入EEPROM)。按S3、S4调整预置电压到1.5V~1.9V区间的一个任意的电压值,按S5、S6调整预置电流到2.500A,输出端接一数字电压表,按S1启动电源,测量电源空载时的输出电压,记下这个电压值,再接一个1Ω5W左右的负载电阻到电源输出端,调整5K的多圈微调电位器,使输出电压与空载时的输出电压一值,这个非常重要,请仔细调整。最后用固定电阻替换多圈微调电阻。
输出电流的调整,接一个1Ω5W左右的负载电阻到电源输出端,按S5、S6调整预置电流到0.500A,按S1启动电源,按S3、S4调整电源输出电压,使电源进入恒流状态,LCD相关位置显示“CC”,调整50K的多圈微调电阻,使输出电流与预置电流一致。
通过上述几个步骤的调整,这时电源稳压恒流部分就可以正常工作了。可以安装上Q6,电子负载部分不用再调试就可以正常工作了。
http://cache.amobbs.com/bbs_upload782111/files_44/ourdev_670829XL0P00.jpg
(原文件名:dc11.jpg)
这是电源上电后显示状态。图中第一行的第一项“Power”显示电源工作在稳压稳流模式。第二项“OFF”表示电源关闭,电源启动后跟据不同的工作状态显示“CV”或“CC”。第三项“Uo 0.00, 4.20V”逗号前表示实时输出电压,逗号后面显示的是预置电压(充电时是充电终止电压)。第二行的第一顶“Po 0.00W”显示电源的输出功率。第二项“Io0.000,0.400A”逗号前表示实时输出电流,逗号后面表示的是预置电流(充电时是充电预置电流)。
S1电源启动停止按键,启动时蜂鸣器响一声,停止时响两声, 启动时长按下存储当前预置电压、电流值到EEPROM中,LCD第二行第一项显示“save powe”数秒,下次开机后就可以直接使用这些设置。
S2是模式选择按键,按动它可以在(稳压稳流、电子负载、电池测试)这三个工作模式之间循环切换,当电源在稳压稳流、电子负载工作模式下启动后,按动该键可以选择显示输出功率或显示当前温度。
S3、S4电压+、电压-按键,用来预置输出电压或实时调整输出电压,长按下可以快速步进。
S5、S6电流+、电流-按键,用来预置输出电流或实时调整输出电流,长按下时可以快速步进。
http://cache.amobbs.com/bbs_upload782111/files_44/ourdev_670830GFO1F0.jpg
(原文件名:dc12.jpg)
按动S2一次,电源进入电子负载工作模式。第一行第一项显示“Load”,其余各项与上一工作模式相同,第三项“UL 0.00, 3.00V”逗号前表示实时负载电压,逗号后面显示的是预置电压(电池放电时是放电终止电压)。第二行的第一顶“PL 0.00W”显示负载消耗功率。第二项“IL0.000,0.600A”逗号前表示当前流过负载的电流,逗号后面表示的是预置电流(放电时是放电预置电流)。
各按键功能与上一工作模式相同。启动时长按S1存储当前预置电压、电流到EEPROM,LCD第二行第一项显示“save load”数秒。
http://cache.amobbs.com/bbs_upload782111/files_44/ourdev_670831ZGXP4P.jpg
(原文件名:dc13.jpg)
再次按动S2一次,电源进入电池测试工作模式中的电池充电状态。第一行第一项显示“Bat_C”。此时按S4可以切换设置充电时间“TS”与温度“ts”,用S5、S6预置充电时间与温度。长按S4可以把当前预置数据存入EEPROM,LCD第二行第一项显示“save Tsts”数秒。电池的的充电电流,充电电压是在“Power”工作模式设置的,如果需要可以返回到该模式设置。
按S1启动充电,这时“Ti”显示当前充电时间,“te”显示当前测量温度。“UO”显示当前电池电压,预置充电终止电压。“IO”显示当前充电电流,预置充电电流。当充电到满足下面任一条件时充电终止,1.电池电压达到预置值时充电终止,相关位置显示“UFF”。2.充电时间到达预设值时充电终止,相关位置显示“TFF”。3.当电池温度到达预置值时充电终止,相关位置显示“tFF”。这样就可以判断充电是在什么条件下结束的。
http://cache.amobbs.com/bbs_upload782111/files_44/ourdev_670832UA42S2.jpg
(原文件名:dc14.jpg)
按动S3可以切换到电池放电状态。在电池测试工作模式,电池是充电还是放电是由S3来切换的。第一行第一项显示“Bat_L”。按S4可以显示放电时间“Ti”,电池容量“CT”,温度“te”。放电终止电压、放电电流是在“Load”工作模式设置的。如果需要更改可返回到该模式设置。
S1启动放电,“Ct”显示当前电池容量,“Ti”当前放电时间,“te”当前电池温度。“UL”显示当前电池电压,放电终止电压,“IL”显示当前放电电流,预置放电电流。当电池放电满足下列条件之一,放电被终止。1.当电池温度达到预设温度时放电被终止,LCD相关位置显示“tFF”。2.当电池电压下降到预置的放电电压时放电被终止,LCD数关位置显示“UFF”,电池容量显示“CF”,这个数值是电池实际容量。
电源更多功能,源代码里有详细的注释,可以参考。
原理图:
http://cache.amobbs.com/bbs_upload782111/files_44/ourdev_670833XIJFDU.png
(原文件名:dc15.png)
PCB图:
http://cache.amobbs.com/bbs_upload782111/files_44/ourdev_670834OTJG5D.png
(原文件名:dc16.png)
代码(ICCAVR):
点击此处下载 ourdev_670876LZLJ3K.rar(文件大小:127K) (原文件名:DC25_ICC.rar)
元件表:
点击此处下载 ourdev_670884P756Z9.rar(文件大小:10K) (原文件名:带电子负载的稳压稳流电源元件表.rar)
上面原理图,PCB图打开时间过长的可以下载(原理图,PCB图):
点击此处下载 ourdev_670938WN8AG8.rar(文件大小:210K) (原文件名:net.rar) 本帖最后由 jun427 于 2013-1-11 19:41 编辑
带电子负载的稳压稳流电源程序更新 DC25-V3.0
这个用于LCD2402显示屏
本次更新内容:
1.稳压稳流,电子负载,电池充电,电池放电可以独立工作,长按S2可在这四个状态之间循环切换。
使用方法:稳压稳流,电子负载状态,S3、S4调整电压,S5、S6调整电流,短按S2可以切换显示电源的输出功率或当前测量温度。
电池充电,电池放电状态电压、电流调整同上,但在电源启动后不能调整,短按S2可选择充电时间,温度控制上限调整,在电源启动后不能调整,只能切换显示。
2.新增可存储30组数据的功能,
使用方法:
数据存入,在稳压稳流、电子负载或电池充电、电池放电状态,调整好电压、电流、时间、温度,长按S1进入数据存储介面,短按S5、S6(长按可连续增减)选择要存储号码,按S2存储数据,这时相关的电压、电流、时间项,显示当前存入值,短按S1返回稳压稳流工作介面。
数据读取,长按S1进入数据存储介面,短按S5、S6(长按可连续增减)选择要读取数据号码,这时相关的电压、电流、时间项,显示当前要读取值(温度没有被显示),短按S1读取数据并返回稳压稳流或电池充电工作介面,长按S1则放弃对当前显示值读取,返回稳压稳流或电池工作介面。
源代码: 带电子负载的数控稳压稳流电源程序更新
这个用于RCU6093 LCD显示屏 电压电流用大字符显示
DC25-V3.0
本次更新内容:
1.稳压稳流,电子负载,电池充电,电池放电可以独立设置,长按S2可在这四个状态之间循环切换。
使用方法:稳压稳流,电子负载状态,S3、S4调整电压,S5、S6调整电流。电池充电状态电压、电流调整同上。短按S2可切换到充电时间,温度控制上限调整(set标记)S3、S4调整时间,S5、S6调整温度上限,充电时间、温度控制上限,电源启动后不能调整。电池放电状态电压、电流调整同上。S5、S6调整温度上限。
2.新增可存储30组数据的功能
使用方法:
数据存入,在稳压稳流、电子负载或电池充电、电池放电状态,调整好电压、电流、时间、温度,长按S1进入数据存储介面,短按S5、S6(长按可连续增减)选择要存储号码,按S2存储数据,这时相关的电压、电流、时间项,显示当前存入值,短按S1返回稳压稳流工作介面。
数据读取,长按S1进入数据存储介面,短按S5、S6(长按可连续增减)选择要读取数据号码,这时相关的电压、电流、时间项,显示当前要读取值(温度没有被显示),短按S1读取数据并返回稳压稳流或电池充电工作介面,长按S1则放弃对当前显示值读取,返回稳压稳流或电池工作介面。
源代码:
楼主又出山了,呵呵,我的沙发呵呵
楼主见多识广,想问问楼主知道哪种器件电流可以双向流过,而且是可以控制的,电流小于等于10A;
起初的想法是把两个mos管串接,不知楼主有更好的方法么??
顺便借楼主的光,希望PCB高手帮我解决这个问题:
http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=4994729&bbs_page_no=1&bbs_id=9999
谢谢 先顶后学。 好啊 感谢分享 楼主的东西做的很不错 支持楼主 楼主的作品都很实用. 学习 前十! jun427又出好东西了,有得研究了! 顶,好动西!要好好学习。 mark 重磅出击啊 强啊 强啊 一直想自己弄个一个没有时间,就买了个.看到这个又开始... 楼主又有好东西给大家学习了,呵呵 原理图看不太清,还得借助BOM表,才能慢慢分辨。东西做得实在是不错 好贴呀! 回1楼网友:
想不起来有什么器件可以这样工作,也许用一组电路完成可能是比较好的方案。 楼主又有好东西给大家学习了,呵呵 请教一下楼主,怎么工作在恒流状态?感觉好像PWMB更多的时候是用来设置恒压状态下的过流值。 这个电源用两路PWM作为DA转换,一路控制电压,一路控制电流。 强大的设计~~~ 虽用不上,但还是要顶一个啊,不错的设计。 一直在找这个东西呢。谢谢楼主 mark LZ喜欢用直插封装的元件 感谢分享! mark 非常好!顶! 学习 刚刚仿制成功LZ的M8 LC Meter。请问能分享PCB文件吗?我想自己做板子玩玩。或者LZ有富裕的板子,可以转让也可以。天津的,帮顶了。 你好,我手上有多余的板子10块,需要可电子邮件联系。junsheng427@126.com 回复【32楼】jun427
-----------------------------------------------------------------------
漂亮,必须顶。
有套件吗? 楼主作品都是精品! 楼主把PCB卖一块给我吧.已发邮件 mark LZ你好,已经给你发邮件了。要一块电路板。 回复【32楼】jun427
-----------------------------------------------------------------------
敢问公子这部分电路中运放那个起什么作用?难道是为了补偿采样电阻的压降吗?还要劳烦公子介绍一下工作原理
http://cache.amobbs.com/bbs_upload782111/files_44/ourdev_671535K8C70Y.jpg
(原文件名:未命名.jpg) 回复【39楼】mkliop 幻瞑少主柳梦璃
-----------------------------------------------------------------------
运放U3C是为了消除电源电流取样电阻R43上的电压降对电源输出电压的影响而设置的,它与R1、R2共同组成对电源的输出电压进行取样。 mark 有点不懂,敢问下 Q6(BUZ345),为何这样设计?不会烧了么,不烧也很烫 回复【42楼】yjiang2008
-----------------------------------------------------------------------
只是为了保证单节电池也能以最大电流2500mA恒流放电,选用了功率场效应管BUZ345,它有很小的导通电阻0.045欧,IR=U,2.5*0.045=0.1125V,就是说在它完全导通时,2.5A电流流过它时,它的管压降只有0.1125V。电流取样电阻R43上电压2.5*0.1=0.25V,0.1125+0.25=0.3625V,只要负载两端的电压>0.3625V,这个电路就可以工作在恒流状态。一般我们所用到镍氢电池的放电终止电压为1V,远大于0.3625V。
大电流,高电压放电时它会很热,电源温度控制系统会自动启动,另外也限制了它的功耗,>25W时会报警并停上其工作。 mark 回复【31楼】wblqx
刚刚仿制成功lz的m8 lc meter。请问能分享pcb文件吗?我想自己做板子玩玩。或者lz有富裕的板子,可以转让也可以。天津的,帮顶了。
-----------------------------------------------------------------------
LZ可以给个m8 lc meter的链接吗?先谢了 mark 回复【45楼】tonyone
-----------------------------------------------------------------------
http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=3279392&bbs_page_no=1&search_mode=3&search_text=jun427&bbs_id=9999 mark 先顶,好久没看见楼主的帖子了。 ./emotion/em006.gif 老前辈 有出新作了 好东西啊。 楼主的设计不错 恩确实很震撼啊,学习中 真不错 支持jun427! 敢问楼主 U3A U3B设计有何作用? 敢问楼主 U4A作用是什么?电子负载功能如何实现?可否具体说明下 敢问楼主 如何计算的电子负载电流Iload公式? 请问楼主,在计算Iload电路时,那个公式如何得出的,能否具体说下。多谢 回复【59楼】proteler
-----------------------------------------------------------------------
结合原理图,看下面图示。有什么问题咱们继续讨论。
http://cache.amobbs.com/bbs_upload782111/files_45/ourdev_672329MVM66R.png
(原文件名:dc10-1.png) 早点看到这个就好了~ LZ的板子已经收到,制作精美。 m 楼主强牛 正在学习当中 回复【47楼】jun427
回复【45楼】tonyone
-----------------------------------------------------------------------
http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=3279392&bbs_page_no=1&search_mode=3&search_text=jun427&bbs_id=9999
-----------------------------------------------------------------------
多谢,改天仿制一个看看。 学习 多谢楼主详细解释,想再问个问题。。。
U3A和U3B的两个运放是作为电压比较器么,他们的输出分别驱动Q5和Q7。如果是电压比较器那么两端电压基本相当时输出电压不就非常小,会不会小到驱动不了Q5或Q7时呢?多谢 LZ 有没有成品出售 想买个现成的使用 看不懂Uout1后面+【-R1/R2 *......】为什么后面要-R1/R2*运放输出反向电压
请赐教,谢谢 回复【68楼】proteler
-----------------------------------------------------------------------
回复【68楼】proteler
多谢楼主详细解释,想再问个问题。。。
u3a和u3b的两个运放是作为电压比较器么,他们的输出分别驱动q5和q7。如果是电压比较器那么两端电压基本相当时输出电压不就非常小,会不会小到驱动不了q5或q7时呢?多谢
-----------------------------------------------------------------------
如果小到Q5、Q7驱动不了时,电源就没有输出了,实际上它们中有一个截止电源就没有输出,这也是电源的一个正常工作状态。关闭电源就是使用的这个状态。程序中用这两个语句来关闭电源的:
v_pwm =0;
a_pwm =0; 楼主,有没有做成成品出售?想买个现成的使用 。谢谢! 回复【72楼】huy666
-----------------------------------------------------------------------
没有成品的,只制作了一个。 自己做的话得花不少功夫了 变压器、散热器这种只做一个会很贵吧 MARK jun哥又出新作品了!收藏之! 马克一下 哇塞~~~mark哦~~~这个绝对是个好东东!!! mark 回复【70楼】wzr200408
看不懂uout1后面+【-r1/r2 *......】为什么后面要-r1/r2*运放输出反向电压
请赐教,谢谢
-----------------------------------------------------------------------
http://cache.amobbs.com/bbs_upload782111/files_45/ourdev_673546RZA71B.png
(原文件名:dc06-1.png) 非常不错,记号一下。 请问LZ能发布一个PDF格式的电路图和印制板图吗?照片格式的文件看不清楚啊! 非常好,非常实用,用于测试老化电池不错,建议置酷 回复【82楼】wblqx
请问lz能发布一个pdf格式的电路图和印制板图吗?照片格式的文件看不清楚啊!
-----------------------------------------------------------------------
点击此处下载 ourdev_673788H3KM16.pdf(文件大小:344K) (原文件名:DC25原理PCB文件.pdf) 想问下楼主这个上面的变压器哪里可以买到啊? 熔丝位怎么设置呢? jun427 好强大··· 支持 熔丝位怎么设置呢? 想问下楼主这个上面的变压器哪里可以买到啊? 熔丝位怎么设置呢? mark 一下 好东西 mark 好东西,学习 mark 回复【88楼】6sfmwd
熔丝位怎么设置呢?
-----------------------------------------------------------------------
熔丝位设置:
http://cache.amobbs.com/bbs_upload782111/files_45/ourdev_674004ELP0N3.jpg
(原文件名:熔丝位.jpg) 请问楼主,那个7912与7812手上没有的话换成7909,7809可以吗? 好贴,强顶,莫老大这样的好贴还让裸奔? 果断马克,学习了 顶 好咚咚!学习了!