DIY一个50V 50A 最大300-500W的恒流电子负载,缓慢更新中
wwwajjlcn2015/04/01电气电工 IP:广东
我是个电子爱好者,老爸本来是修家电的,手边有大量电路板与零件,从小我就在这样的环境中长大,久而久之我也混熟了这些东西。
我也比较喜欢上X宝网淘一些洋垃圾电源来折腾,便宜量又足,偶尔也修修电源、改装电源,也会折腾一些二手电池。
但一直苦于没有一个像样的电子负载,虽然有个3KW大电炉可以勉强做负载用,但是还是太麻烦,给电池放个电一不小心就过放了,真闹心。
偶尔也上X宝看看电子负载,但是看看那价格........看看那功率.........再看看我腰包........呵呵...!




于是打算要做个电子负载。

[s:42]
来自:电气工程 / 电气电工
103
 
已屏蔽 原因:{{ notice.reason }}已屏蔽
{{notice.noticeContent}}
~~空空如也
wwwajjlcn 作者
9年9个月前 IP:广东
760168
首先来推敲一下我所需要的电气参数吧~~~~
有时我会修修5V40A 200W的电源,所以负载电流应该达到50A,功率要达到300W
有时候可能会测试一下48V电动车电池组,所以耐压应该要达到60V以上,具体要看负载管的耐压了

至于检流电阻么,由于50A不是个小电流,所以直接采用手头上现有的10毫欧2512贴片电阻,5组分流,5个MOS负载管,5个散热器,分散功率,每个电阻最大耗散1W功率,MOS管的参数要求也可以放低,也容易散热。


功率部分大概就是这样,然后是控制部分。


由于我还懂一些电脑C++编程,51单片机C语言,STM8单片机编程,数字电路啥的。。所以决定用单片机做控制板了。
51单片机直接PASS,已经被STC这丫的伤了我的心,BUG真多,已经不敢用了。所以决定采用STM8,便宜量又足,外设多,IO多,稳定。

然后嘛,电脑联机通讯应该是要有的,利用电脑的强大功能,实现数据记录、数据处理、还有多种多样的功能。
既然都用到电脑通讯了,干脆连屏幕、按键啥的都省了,全部功能用电脑控制,电脑不是有个大到用不完的屏幕和多到用不完的按键吗?哈哈哈哈....
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
wwwajjlcn作者
9年9个月前 IP:广东
760184
下一步,选择拓扑结构。
我的宗旨是,使用常见、易得的器件,做出精度尽量高的仪器。

下面就是简化版的拓扑示意图:

恒流、测流拓扑.png


测压拓扑.png
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
wwwajjlcn作者
9年9个月前 IP:广东
760187
到这里就暂告一段落了,因为遇到了一个难题。。。。这个问题就是,拓扑图中所谓的“高精度PWM”到底要如何实现。。。

我的PWM精度目标是,50A的电流范围内,控制能力要达到1mA,也就是说,PWM的精度应该要达到16位(65536级)。
如果使用传统的PWM方法,以STM8单片机的16M时钟频率来使出16位PWM,频率只能达到244HZ,这么低的频率,先不说那超垃圾的RC滤波响应速度,光是纹波都大的要命,还谈何“高精度”?

这个问题,在我的N次蹲坑静思之后,终于想出了解决方案!


欲知后事如何,请听下回分解~~~~[s:33]先睡觉去
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
wwwajjlcn作者
9年9个月前 IP:广东
760189
引用 21006091:
这电路图怎么就和我家的羊肠小道那么像呢?
哈哈,简单的东西,懒得用制图软件了,还是直接画来的自由,画成这样还真是别有一番风味
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
wwwajjlcn作者
9年9个月前 IP:广东
760219
引用 blueness:
坐等楼主更新。

是外搭了PWM控制器么?再通过MCU控制?
12345终端恒流板最后一致性可能有点难调。
MOS管用的是什么型号?增强型有点困难吧
PWM稍后会说到,没有使用专用PWM控制器。
根据LM324的最大失调电压计算,各终端板间的最大相差电流会达到0.4A,但是不用管,只要总电流控制精确就行了。
MOS管是采用电动车控制器的管子,电流大,功率大,内阻低
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
wwwajjlcn作者
9年9个月前 IP:广东
760221
引用 沉默羔羊:
说实话,我也非常恶心STC那傻B到爆的广告,但芯片还没那么不堪,在国内C51行业还算是老大的地位。你的那些要求51足够,你不会想上STM32吧?
STC我经常用15F系列,外部中断不能用这个BUG已经爆出很久了。。。这个倒是没什么。。。

然后就是IO容易受干扰的问题,我做的一个调光天花灯,挂一根30CM按钮线下来,IO设定为弱上拉模式。。前面几个月倒是平安使用没问题,到了一年之后,非常容易受干扰,这个灯随机随时会变亮度档位。。。。这个倒也可以接受,大不了加强上拉电阻。。。

然后就是上电时钟频率管理也有BUG,把5V电源线滋啦滋啦多刮几次频繁复位,经常能看见时钟速度随机变,原本设定的25M已经跑下到几M了。。。这个就不能忍了

于是换了STM8,现在用的不亦乐乎,外设太丰富了
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
wwwajjlcn作者
9年9个月前 修改于 9年9个月前 IP:广东
760250
好了,直入PWM正题。

高精度PWM.png

此电路图经过multisim 11 模拟验证过,滤波后纹波低至20uV



为了达到最好的PWM精度,有几点地方要注意


1、高8位与低8位电阻的阻值选择,它们的阻值比例应该尽量接近256:1,否则会出现“越级失真”,比方说0xAAFD、0xAAFE、0xAAFF值的PWM输出还是有序、平滑的,到了0xAB00就突然偏差了几个字


2、PWM驱动器的内阻应该尽量低,避免因为驱动器的高低电平驱动能力有区别而导致线性失真,尤其是高8位PWM,我的做法是使用74HC04反相器多门并联驱动。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
wwwajjlcn作者
9年9个月前 修改于 9年9个月前 IP:广东
760254
现在主要结构已经想的差不多了,下一步就是完善详细参数。以下就是当时写的参数表,直接贴上来算了


【检流电阻】
单个电阻阻值:10mR
电阻并联数量:5
等效总阻值:2mR
最大总电流:50A
电阻最大压降:100mv


【差分电流放大】
输入失调电压:0.15mv
放大倍数:49
放大后的失调电压:7.35mv
最大差分输入电压:0.1v(放大后为4.9v)
最佳输出偏置电压:+50mv(容许范围:+30mv ~ +70mv)


【单片机ADC】
基准电压:5v
最大分辨率范围:10位(1024级)
使用的分辨率范围:1000/1024(4.8828125v)
最小电压分辨率:4.8828125mv(48.828125ma电流)


【PWM DAC】
基准电压:5v
数字分辨率:16位(65536级,最小步进76.3uV)
低8位电阻值:2.56M欧
高8位电阻值:10K欧
线性精度:优于千分之一(误差小于5mv)
高8位PWM输出内阻:小于10欧(两片74HC04,共12个门并联)
RC滤波结构:10K + 22nF + (4 * (1K + 22nF))
滤波后总内阻:14K(带载3nA 偏移42uV)
纹波:小于20uV
最大响应时间:15mS(误差值达到1个字以内)


【在PWM DAC基础上的逐次逼近型ADC】
最大转换时间:15mS * 16位 = 240mS
采样限流电阻:1K
采样保持电容:10uF
采样保持时间:3nA负载,250mS偏离量小于74uV
采样最大充电时间:113mS(误差值达到1个字以内)



PS:上表中的“带载3nA”是指OP07运放的输入电流
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
wwwajjlcn作者
9年9个月前 IP:广东
760261
关于琢磨具体电路,此处省略一万字..........

电路图什么的考虑到可能还不成熟,可能有BUG,还需要长时间调试、修改,暂时还是先不贴出来误人子弟,直接上制作照片吧。。

PCB是直接从Protel 99 SE画的,没有电路图纸。


画好之后激光打印、热转印机,出来实物了

IMG_20141228_172102.jpg




IMG_20141228_175836.jpg

上大电炉,55V5A持续加热腐蚀PCB。
话说各位不知道有没有觉得这个电源很眼熟?
48V50A怪兽功率超小体积超高效率,不要799,也不用399,只要179即可拥有,还能改调流(0-50A)调压(40-60V),型号ZXD2400



IMG_20141228_212616.jpg

腐蚀完毕,左为主控板,右为终端板
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
wwwajjlcn作者
9年9个月前 IP:广东
760274
引用 1176764177:
这个电源应该可以改0-60v
改是可以改,就是网上有很多人说,电压低的时候拉满50A电流很容易炸机。。低压的时候不敢上高电流
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
wwwajjlcn作者
9年9个月前 IP:广东
760302
引用 1176764177:
我这正憋着做数控的纯线性电源
准备是运放做电压电流环然后用mcu的dac做ref你用过stm32的dac么电压稳定度如何需不需要做一个电压输出器或者rc滤波
不建议使用MCU参与电流控制,速度慢,对负载很不利,尤其是实验级电源,一不小心短路啥的来不及关断。除非用来做LED灯调光啥的大老粗负载倒可以。建议只使用MUC的PWM来做可调稳压基准,电流控制环路采用运放控制
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
wwwajjlcn作者
9年9个月前 IP:广东
760307
IMG_20141230_233911.jpg
做终端板,焊好元件,找个铝条涂上导热胶贴上,用弹簧丝夹几小时晾干





IMG_20141231_133646.jpg
搞个铜片堆上导热胶给电阻散热,降低热漂移,再夹上弹簧丝
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
wwwajjlcn作者
9年9个月前 IP:广东
760308
引用 baiwenglong:
后排听故事。。。
功率管用75NF75之类的就差不多吧,很便宜,多并联几个,耐压电流都达标,烧坏了也不会很心疼
不过用IRF2907之类的暴力牛管的话也可以吧,两个并联估计就差不多了,这样电路能简单点,没有均流的一些问题。。散热貌似不太...
我喜欢STM8的单线调试,体积小IO多,性能够用也没必要搞STM32,做小板子也容易,我经常会做点小板子藏进电源适配器里控制恒流输出,然后驱动LED大灯。STM8的工作电压也宽,适用范围也广

至于上位机软件,还是别太期待,我是实用主义,直接用C语言控制台来控制,懒得写界面了。说不定以后蛋疼了也会做做界面。。。

至于显示和控制嘛,由于我的电脑离的很近,就直接用电脑控制了,鼠标键盘用起来也比编码器啥的方便吧,也懒得写MCU的屏幕、按键驱动代码了
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
wwwajjlcn作者
9年9个月前 修改于 9年9个月前 IP:广东
760319
然后该搞主控板了,第一个目标就是MCU的串口通讯功能。

为了设备与电脑的安全与稳定,串口通讯采用光耦隔离设计,然后,问题就来了。。。

1.png

最先,是使用这种电路,结果在传输的时候,收到的数据总是错的。。。用示波器一看,我的乖乖~~~~~波形都成了这样了
3.png






问题就是光耦的截止速度太慢了,开通速度倒是凑合。然后我就加了一组光耦,做成推挽的,于是问题解决




2.png

4.png






IMG_20150101_221938.jpg
IMG_20150101_222238.jpg
光耦没地儿放了,只能叠双层再飞线



.
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
wwwajjlcn作者
9年9个月前 IP:广东
760351
调好串口了,然后继续焊接其他零件,飞线连接PWM相关的功能模块


IMG_20150102_234623.jpg


趁着这个照片角度这么正,顺便也介绍一下各个IC的作用吧


22.png



PS:板子上那两根超粗的线路就是5V基准电压,为了低压降,并且板子有空间,我都尽量铺粗线路了,哪怕电流只有几毫安。。。虽说有些蛋疼,这大概就是强迫症了吧[s:30]



PPS:板子上所有的地线都是相通的,电源线都不一定通,需要飞线,还有很多信号线都要飞
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
wwwajjlcn作者
9年9个月前 IP:广东
760357
开始测试PWM


先是从0开始,万能表打到200mV档,显示000.0mV。电脑上控制PWM一个字一个字地往上加,表显示的末位数也跟着一个个加,每隔几个字停顿一次,微电压控制非常精细,完全秒杀三位半的VC890万用表,表的精度不够用了。。。


然后就是测试“越级失真”了
先设定PWM为0x00FF,表显示19.3和19.4跳来跳去
再设定0x0100,表显示定在了19.4
再设定0x0101,表显示19.5了,效果很不错,看不出来有“越级失真”,简直堪称完美。


再测试一下200mV左右的越级失真,根据计算,PWM应该为0x0A00左右
先设定0x09FF,表显示195.1和195.2跳来跳去
设定0x0A00,表显示195.2
设定0x0A01,表显示195.3,精度依然完美,看来那一对高低位PWM电阻精度很不错,匹配的很好


再高的已经没法测了,高档位精度不够了
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
wwwajjlcn作者
9年9个月前 IP:广东
761481
下一步就是连接主控板的所有功能模块了,继续飞线,飞线,飞、飞、飞。。。。然后嘛


我了个去,飞不动了,线太杂乱,很多焊点都被遮住了,万一还要改个电阻啥的怎么办?


郁闷了一阵子,然后就是拆线,拆、拆、拆......找来一些网线,剥开取单股铜线,走高架线



IMG_20150110_213215.jpg


IMG_20150110_213312.jpg
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
wwwajjlcn作者
9年9个月前 修改于 9年9个月前 IP:广东
761485
信号线就飞好了,然后是电源线,正面太挤了,就从背面飞吧。

找来个小钻头,手动拧着钻洞洞

IMG_20150110_214805.jpg

一不小心手一抖,钻头断了.....

默哀5秒,默默拿出钻头盒,从9根备用钻头中取出一根,继续开工

IMG_20150110_214528.jpg


钻好了之后就接线,白线是-5V,蓝线是12V

IMG_20150110_231747.jpg
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
wwwajjlcn作者
9年9个月前 IP:广东
761491
下一步,该找主控板的盒子了,一顿翻找垃圾堆,找到一个铝制电源盒,看着挺合适的


一顿加工之后,成了这样


IMG_20150110_231828.jpg


再把主控板裁小,放上去,恩,简直是天作之合


IMG_20150110_231837.jpg



这个电源盒本身还有个铝盖的,当时忘了拍照了,要看成品图只能等后面的帖子了



铝壳本身导热性能就非常好,不但检流电阻得到了较好的散热,主控板放在里面也有较好的抗电磁干扰效果
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
wwwajjlcn作者
9年9个月前 修改于 9年9个月前 IP:广东
761504
然后就是散热系统了

图中的那个管子只是个13007,是用于演示效果的

IMG_20150113_171957.jpg


IMG_20150113_172012.jpg


IMG_20150113_172019.jpg
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
wwwajjlcn作者
9年9个月前 IP:广东
761506
引用 1176764177:
你太浪费了这是钨钢的钻头很脆用手纯粹是浪费啊。。
至少也得是台钻啊
钻头是淘宝上的翻新钻头,一块钱左右一根也挺好用,不可惜了。。
我也没有台钻,顶多就是个手电钻,钻很重,难度更高,所以还是用手来了,而且精度也容易控制,PCB很软也易钻
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
wwwajjlcn作者
9年9个月前 IP:广东
761515
然后,到了喜闻乐见的找管子环节


跑到附近的电动车专卖店,一番交涉,最终以10块钱一个的价格买了一麻包袋的坏电动车控制器
(这简直是高兴死我了,控制器里全是一堆好几十伏、好几十安的MOS管,以后不愁没管子用了[s:20])


从中挑选出一个电流最大的控制器,拆开一看,满满一排的大功率MOS管,型号都是RU75N08R,75V80A 8毫欧 280W等的馋人参数 IMG_20150113_183430.jpg


IMG_20150113_183513.jpg
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
wwwajjlcn作者
9年9个月前 IP:广东
761519
装上管子、双风扇,用锡纸围好风道,气流的方向是四周吸入再向上喷出


风扇测试运行中.........

IMG_20150113_201926.jpg


搞好散热器,然后是做支架。


看了下手边有的木头材料,一顿比划、思考,做成了这样。


上层是可拆卸的,下层与四条腿是固定的,下层用来放主控盒与电源等
IMG_20150113_215722.jpg
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
wwwajjlcn作者
9年9个月前 修改于 9年9个月前 IP:广东
761535
散热器系统就绪,下面就是连接终端恒流板了




接线端子焊接中.......
IMG_20150113_235822.jpg




接线完毕,准备测试拉负载了。


给终端板供上12V,找个10K电位器,电位器1脚接地,2脚做恒流控制信号接入终端板、3脚接12V。


IMG_20150114_022138.jpg


电位器旋到最低,电源设定到12V1A,把MOS负载线一接.....
电压直接被拉到了零点几V,一番检查发现有一个MOS是坏的,换掉,继续测试。


再次接上负载线,显示0电流,OK。
慢慢调大电位器,电流逐渐上升到0.87A
IMG_20150114_022141.jpg



此时去测试所有MOS的G极,均为3.7v-3.9V,每个管子都有工作,OK。


把电源的电流放宽到5A,慢慢调大电位器,控制它停到4.8A附近
IMG_20150114_022532.jpg





此时拿出我的直流钳表,测量各路MOS管的电流,都在0.7A-1.0A范围内,达到预期目标
IMG_20150114_023125.jpg





测试一番之后,散热器温度已经开始烫手了,给风扇接上12V,十几秒就凉下来了,散热效果不错
引用
评论
1
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
wwwajjlcn作者
9年9个月前 IP:广东
761548
下一步,连接主控板


线简直是太杂乱了,焊接难度相当高,尤其是大电流线粗又硬在那挡着,拨开他们的时候总怕把PCB铜箔给掀了......


IMG_20150114_171854.jpg



顺带一提,上图中间黑黑的那个东西是HKS05003降压模块,输入12V用它来产生-5V






接好了主控板,连上USB串口、ST-Link,开始写MCU程序了
IMG_20150115_205907.jpg
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
wwwajjlcn作者
9年9个月前 IP:广东
762594
引用 baiwenglong:
钻头这么用确实有点浪费的。。这钻头大概是雕刻机之类的数控机器上的钻头。。
起码要用台钻吧。。很脆用手钻很容易断掉啊。。而且转速低了不好用的。。。
其实75N08这种管子真心算不上什么强管。。。就是电动车控制器用的便宜管子而已。。参数不算...
管子嘛,我也不求很NB,够用就行。。电动车控制器的管子性能也还算可以了,平时无论做什么东西都够强大了,也容易入手。


搞那么大强大的管子,散热器也未必跟得上呀,平时DIY最常用就是铝散热器了,一个破铝要把热量传导那么远再散出去也是比较不实用的~~


然后,谢谢你推荐贴子给我,我会收藏起来,不过也没什么时间研究就是了。我平时工作也算忙的,就是我这个电子负载现在都还处于半烂尾状态,程序都没完善,只是勉强能用、能测电池这样简单的功能。。


其实,我做的这个电子负载也没什么高深的技术,也只是凭着自己的性子乱做而已,最终能做到的精度也只有10ma左右(OP07运放漂的),读数跳动2ma/每秒采样2次(OP07运放速度太慢了)
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
wwwajjlcn作者
9年9个月前 IP:广东
762598
引用 1211:
具体理论依据不能省啊,这个帖子再补充点理论分析就可以加学分了。
理论依据啊.....我这个电路结构都是基础的不能再基础的东西,感觉都没什么说的啊。。。
而且最终的精度与使用效果也有些不尽人意的地方,这样都还要我解析原理的话我感觉很不好意思啊,干脆还是当作一个图帖来发好了[s:55]
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
wwwajjlcn作者
9年9个月前 IP:广东
762600
引用 GB913759593:
为什么钳表能测直流电????
恩?哈哈这个是交直流钳表,型号UT203,是用霍尔来测量电流的
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
wwwajjlcn作者
9年9个月前 IP:广东
762607
好了现在继续更新,现在要搞的就是MCU程序了


使用的编程软件是IAR for STM8

QQ截图20150413221542.png



设定一下选项字节AFR0
因为STM8在默认情况下,PC5、PC6、PC7三只脚是用作SPI功能的,这样的话我的PWM路数就不够用了(我一共要用6路PWM),设置这个选项字节之后这三只脚就可以用做定时器PWM输出了
选项字节.png
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
wwwajjlcn作者
9年8个月前 IP:广东
762611
给STM8编程,第一个任务就是搞定电压ADC了


STM8自带的ADC先不管,直接搞高精度的PWM-ADC


这是简化的PWM-ADC结构图
PWM-ADC结构.png






至于算法,我采用的是逐次逼近型ADC方法,具体举例如下:


先接通光耦260ms,把被测电压存到电容里,断开光耦,开始ADC。


MCU先PWM输出0-65536的中间值32768,延时15ms等待PWM滤波稳定,运放比较两个电压,如果32768比被测电压小,那么PWM要继续加大
PWM重新调整到32768-65536的中间值49152,等15ms,再读取比较结果,这次PWM偏高了,下次要减小
PWM再调整到32768-49152的中间值40960,等15ms,再读取比较结果.................


如此重复16次,逐渐缩小PWM范围,最终就能逼近到最后一位数,PWM就和被测电压相等了,总过程500ms


然后跳到第一步,开始新一轮ADC






理论说的挺好听,到了实际电路实验的时候,恩,遇到麻烦了
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
wwwajjlcn作者
9年8个月前 IP:广东
762613
啊,突然饿了,今天就先到这了,我去逛小吃街了,哈哈哈
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
wwwajjlcn作者
9年8个月前 IP:广东
762718
引用 yanjian:
晕,
你还自己折腾一ADC出来!
要考虑你那个PWM DAC建立时间啊
我倒是有个建议,先用STM8S的ADC采集数据,然后在结果附近使用你的外置ADC来精确测量。
PWM DAC建立时间已经用仿真软件模拟过了,从0v跳变到5v,15MS就能达到1个字误差内了,所以采用15MS延时足够了。
至于你的建议,我最终就是这样处理了
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
wwwajjlcn作者
9年8个月前 IP:广东
762726
引用 yanjian:
其实简单点,你直接考虑用单片机自带的ADC多次采样求平均值算了。
考虑用自带12位ADC的单片机,或者直接用外置16位ADC得了
自带ADC尝试过了,精度与稳定性不达标,详情可以关注后续贴子。
用高精度外置ADC芯片?这个在最初设计的时候考虑过了,不采用的原因有几点:
1、16位ADC芯片卖家少,我最爱的【着迷zheng】店里没的卖,所以懒得跨店购买了
2、基准电压采用的是最常见的TL431,因为本身性能不咋的,用16位ADC芯片感觉会浪费
3、运放采用OP07,性能感觉也配不上16位ADC芯片
4、16位ADC芯片有点小贵,一般卖20再+10邮费,自己的电路设计经验还少,不敢贸然采用,免的浪费



当时我也对自己的高精度PWM很有信心,想着OP07也只是当个电压比较器而已,有静态偏差的话大不了校正好就是了


后来上实际电路测试,PWM确实能达到精度要求,就是在OP07上栽了跟头,这是没预想到的,详情可以关注后续帖子
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
wwwajjlcn作者
9年8个月前 修改于 9年8个月前 IP:广东
762743
好了继续更帖,PWM-ADC的调试


最初的ADC算法是 15ms的PWM延时 x 16次对折逼近 ,电压输入端口直接短接为0v,最终读数640多,7个字的读数抖动范围,这稳定性真惨。。。


为什么会这样?想不通。
尝试在16次对折逼近之后 再增加2次PWM微调逼近,也就是说在最后时刻再读取两次OP07的电压比较结果,每次微调PWM增或减一个数字。


这样优化之后,抖动范围降低到了4个字。嘿嘿有效果哎?
继续增加PWM的微调次数到4次,抖动范围还是4个字.....什么情况?增加到6次微调,也还是4个字......


遇到瓶颈了,又想不通了。折腾了一整天,尝试了各种方法,毫无收获。


然后怒接示波器,一看OP07的输出波形,真相大白。。
(此图中的电压刻度乘以10才是实际值,测量点是OP07输出电阻之后的电压,也就是74HC14的输入端,被自动钳位在-0.6到5.6v之间)
2015-01-22 比较器反应太慢,最长跳变时间长达20MS.png



OP07的输出跳变速度有快有慢,ADC过程刚开始的时候,电压区别大的时候,跳变快;到后面PWM电压越来越接近,就越来越慢了。
最慢的跳变时间都超过了20ms,都比我的PWM建立时间15ms还要慢了,只延时15ms就读OP07原来是太急了呀。


继续深入研究跳变时间,控制PWM电压在被测电压的一两个字附近调整,跳变时间居然超过了40ms.......你让我情何以堪?这么慢还怎么做ADC末位的高精度?只能是降标使用咯~~~
(此图中的电压刻度乘以10才是实际值,测量点是OP07的输出脚)
645跳到646.png








646跳到644.png



最终,为了改善PWM-ADC精度,ADC算法调整为:
在采样电容充电期间,先用STM8自带的10位ADC来预先测量电压的大概值(64次采样再求平均值)
得到低精度的内置ADC结果,保守取其8位精度,在目标电压的附近,再用PWM-ADC来进一步ADC(15ms x 8次逼近 + 60ms x 2次微调)
ADC速度为每秒2次,最终得到了抖动2个字的结果,至此,不折腾了
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
wwwajjlcn作者
9年8个月前 IP:广东
762748
见OP07这寒碜的性能,突然想了解一下STM8自带的10位ADC到底有着什么样的水准,经过一番测试,得出了下面的图表


下图的Y轴数值是ADC结果的相对抖动范围,X轴是采样次数,每秒采样2次。


内置ADC是64次采样结果相加,合成的16位结果
PWM-ADC直接是输出的16位结果
电压测试来源是一个12V电瓶,电池放电是用一个220V灯泡当放电负载,所以电压下降比较慢

电压ADC采样稳定度测试.png
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
wwwajjlcn作者
9年8个月前 IP:广东
762751
ADC程序写好了,然后就是做上位机软件了。


之前测试ADC读数的时候就已经开始做上位机软件了,只是功能还没完善,只能显示ADC数值,电压还是不知道的。
现在就要给它加上电压显示功能了,为了方便,ADC->电压转换的功能直接交给上位机了,因为以后可能还要频繁调校。


把软件电压表简单调校一下之后(只做单段量程校准),就开始测试电压ADC的精度了。无需多言直接上图


IMG_20150131_194519.jpg


IMG_20150131_031922.jpg


IMG_20150131_031954.jpg


IMG_20150131_032251.jpg
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
wwwajjlcn作者
9年8个月前 IP:广东
763151
引用 hackerboygn:
出2个坏电动车控制器给我吧,我也跟着玩,感觉还是TO220的封装好固定一些
找零件不用非要找我呀,淘宝上3毛钱一个,大把的有
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
wwwajjlcn作者
9年8个月前 IP:广东
763663
引用 a941960336:
请问楼主,在MCU附近的 595 是起什么作用的呢?
有几个作用
1、扩展多个输出接口。与MCU接3根线,就能获得8个输出接口。
2、增强输出接口的负载力。MCU的电源是经过一个电阻从12V拿来的,总电流只有15MA,除去MCU、PWM的电流消耗,只剩几MA可用了。而595的电源是通过7805稳压下来的,负载力较强。
3、分隔模拟、数字电源。MCU的电源是TL431,电流小,精度好;595的电源是7805,精度差,电流大,专门用于对精度不重要的外设驱动。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
wwwajjlcn作者
9年8个月前 IP:广东
764811
出差了几天又忙了几天,现在继续更新


电压ADC搞好了,该搞电流ADC了。
因为这俩ADC的电路结构是一样的,所以只要把代码复制粘帖,再改改变量名就搞定了


对了,趁现在介绍一下MCU程序的结构,方便进一步说明细节
程序结构.png

如图所示,MCU程序采用定时轮询的运行方式,优点是扩展方便、多任务处理性能好、实时性较好
程序固定每秒循环8192圈,算下来每一圈都有1953个CPU周期可以使用,也就是说每个循环都必须要在1953个CPU周期内处理完所有事情,若处理超时的话会影响到下一个循环的时间,严重的话会影响整个系统的稳定性。
所以在这次搞电流ADC的时候,我就把电流ADC与电压ADC的操作时间错开了,尽量避免多个任务扎堆在同一个循环里处理。
为了系统稳定性,我也在每个循环的末尾增加了超时检测,一旦发现循环超时就向电脑发出CPU过载警告,好及时修正程序,避免酿成大BUG。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
wwwajjlcn作者
9年8个月前 IP:广东
764820
写好电流ADC程序之后,直接开始测试,与电压ADC一样都是2个字的跳动范围,初步感觉运行良好。


串上万用表,开始校准。由于我的实验电源只有5A,所以就以4.9A为准,进行单段校准。


校准好了,设定几个电流值试试看。
0.jpg


1.jpg


2.jpg


3.jpg


4.jpg


5.jpg





貌似,还行的样子
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
wwwajjlcn作者
8年11个月前 IP:广东
804147
引用 q872529868:
我按你这个焊出来的电路为什么波纹有10+MV,你这个电路用示波器测过波纹,还是只是模拟过。
我没有实测过,直接模拟的。这么简单的电路不可能模拟出错的,每过一级电容的纹波都会下降很多,5级就超级纯净了,只要电路处理好就包有好效果。但是为了以防万一,刚才我就拿示波器测试了,外界干扰都盖过了纹波,一点都看不出滤波不干净,测试第一级电容有几十mv,第二级电容几mv,后面都看不出了。

你说的10+MV肯定是电路没处理好,或者引入了干扰波。应该注意下地线的布局,还有注意下负载能力,这个RC滤波出来建议直接送入运放一比一跟随放大再使用,以保证最高精度。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
wwwajjlcn作者
8年11个月前 IP:广东
804150
引用 3DA502:
用两路高速的8bit分辨率的 PWM,滤波产生两路参考电压,然后把这两路电压通过运算放大器按1:256相加,这样可以做出比较精确的16bit分辨率,LZ那样直接混合PWM的方法是非线性的,输出值和PWM数字不是线性对应的

滤波的临界点...
对于你说的非线性问题我持反对意见,我先是电脑模拟过,各种占空比都尝试过,输出的电压是完全线性的。
做出实物后,也用万用表测试了多个电压,线性度也是无可挑剔。
能够影响线性度的因素也就只有输出门的内阻与电阻精度了,所以我用了10门并联输出,理论上线性精度能够压制到千分之一了。

至于,你说的运放混合方式,我倒是觉得运放的线性度也不咋的,存在着零点漂移、增益范围等等的因素,还是喜欢一切从简,暴力堆门,肯定没副作用。。。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
wwwajjlcn作者
8年11个月前 IP:广东
804205
引用 novakon:
楼主这么神的帖子,我今天才看到,实在是罪过。
班门弄斧一下。


1. 内置ADC和PWM互相影响的问题
STM8输出PWM的时候,即便外部负载很小,但端口本身仍为pF级别负载。如果您使用的STM8是单组电源脚的最便宜型号,ADC...
终于遇到一个有深度的回帖了,幸会幸会!

回复一下你说的一些问题

1、端口pF级电容,还是你想的周到。我虽然知道有这个电容,但是电容太小我都给忽略了。但是重新想想,端口跳变速度这么高,产生的尖刺干扰也挺可观的了,况且STM8的一个PWM口还并接了10个输入门。


2、我只会C++了,平时时间少,也懒得再学了,C++小巧轻便无需运行库,以前也经常写小程序小玩具发上贴吧分享,倒也喜欢C++。


3、电阻全是1%的。


4、这个项目对于RC速度要求不大,但是当时我考虑了OP07的输入端会有3nA(Max)的拉电流,为了达到1LSB的负载偏离度,所以尽量减小了PWM内阻。


5、光耦是手头有的,懒得买而已,大量料板随便拆。


6、FIR滤波?对于这玩意我一点不懂,刚才也看了好一会百度,依然费解,全是专业名词,先作罢。难道使用了FIR这玩意就能让10位ADC达到16位有效精度?能秒杀多次采样再取平均的方法?要是真的话就太碉堡了,必须学习!
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
wwwajjlcn作者
8年11个月前 IP:广东
804207
引用 XXXXX:
我也挺想做一个电子负载,手上也有元件,只可惜....不会数电
数电是非常有用的,如果数电模电两手抓,真是快活过神仙,做出来的东西就算是为自己服务都太值了!
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
wwwajjlcn作者
8年11个月前 IP:广东
804211
引用 航模发烧友:
我是不太明白这些大功率管的腿那么细,怎么过那么大的电流?
电流照样过,顶多就是发热很大,但是热量会传给散热器。如果是电线,架在空中自然散热,估计得着火,但是未必要融化
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
wwwajjlcn作者
8年11个月前 IP:广东
804444
引用 novakon:
1%电阻,分压不准,有条件建议用0.1%,或者用高位表筛选电阻阻值。
FIR我讲过头了,准确的说是FIR形式的低通滤波器。技术资料还是不要看百度了,多上谷歌,多看维基百科比较好。
简单的讲,楼主用10bitADC连续采样64次叠加,得到...
滤波效果好是好,但是最终的精度还是受制于STM8的ADC呀,STM8手册写了ADC本身就几个LSB的精度。

所以我就想另做一个高精度的ADC,理想很美好,当然,说不定在无意中把精度做成垃圾也不奇怪,业余条件也就没办法检验它的精度了。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
wwwajjlcn作者
8年11个月前 IP:广东
805705
出了点问题,来更新下帖子。

这个电子负载平时测试5V40A是一点事情都没有,这几天想测试48V电动车电池的容量,开1A没事,一开10A就秒炸一只MOS,并且也把这一路的检流电阻烧断了,我串接的15A玻璃保险丝倒是屁事没有?管子都穿了也不烧保险。。

一开始我以为是环路震荡了,改了电路,减慢了运放加强负反馈电容,示波器看很稳定,再次试机48V,1A没事,开2A又秒炸,检流电阻着火了,15A保险丝还是屁事没有,艹,什么破保险丝。

现在我开始怀疑是管子的耗散功率曲线有问题,查看手册,从1V到最高75V都是可以跑175W功率的,曲线不衰减;但是我去找个进口IRF3205的手册做参考对比,发现人家3205在1V时才有最大170W功率,到了最高55V就只有30来W了,降额幅度还真大!我这国产山寨管子牛B吹大了?
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
wwwajjlcn作者
8年11个月前 IP:广东
806025
我重新选择了MOS管,翻了许多DIY电子负载的帖子,对比了多款MOS的参数,包括IRFPS3810(580W)、IRFP4368PBF(520W)、IRFP250(180W)等等,发现还是IRFP250比较可以,功率是实打实的,其他管子的功率很多是虚的,一上高压就萎了,还发现了IRFP250N(注意多了个N字尾)倒是个废柴,一字之差竟有如此大的性能区别,下面来解说一下。


先来看IR品牌的IRFP250,参数为:200V、33A、0.085欧、180W。
IRFP250.png
大家看DC的那条线,DC的意思是持续能承受的功率,例如10ms就是短时间10毫秒的瞬间能承受的功率。
可以看到,最高电压200V的时候,能有0.9A,耗散功率就是实打实180W,全程不降额(当然现实情况是不可能用满的,散热性能会限制这个功率)







再看IR品牌的IRFP250N(注意多了个N字尾),参数为:200V、30A、0.075欧、214W。
乍一看好像比上面的牛B多了,来看看功率曲线。
IRFP250N.png
没有标出DC曲线,最多只有10ms的曲线。
没关系,咱用这个10ms曲线与上面的10ms曲线来参考对比一下。
IRFP250N:最高电压200V * 1.5A = 300W,最高电流4.5V * 60A = 270W
IRFP250:最高电压200V * 3A = 600W,最高电流7.5V * 80A = 600W
可以看出,功率明显萎了很多,是不是不好意思画出DC线了?所以我猜,这个N字尾是针对开关电源优化设计的管子,功率耐量小,内阻更低,工艺成本更低。






再看IR品牌的IRFPS3810,参数为:100V、170A、0.009欧、580W。乍一看参数牛B爆了。
1.png

看曲线图,依然没有DC线,只能用10ms线做参考。
最高电压100V * 4.5A = 450W,最高电流3V * 300A = 900W
可以看出,低压的时候很牛B,一上到高压就功率折半,高压的瞬间功率耐量居然比标称功率580W还低,降额严重。
从推测上来说,如果低压时能持续耗散580W功率,那么到最高压折半到290W吧?但我依然不放心,10ms曲线到末尾100V的时候开始出现一了个下滑,鬼知道DC线能滑成什么样?我宁愿老老实实用IRFP250。






再看IR品牌的IRFP4368PbF,参数为:75V、350A、0.00146欧、520W。这电流、内阻参数吓坏我了。
2.png

这个有DC线,直接看DC线就行了。最高电压15V * 1A = 15W,最高电流1V * 400A = 400W
我没看错吧?号称520W的管子就只能用到15V?还只有15W?工作电压一超过5V就迅速尿崩到渣也不剩,这参数对电子负载来说已经是垃圾到爆了。





【总结】
研究了这么多管子,发现了一些规律:
1、越是低内阻的管子,就越不能上高压吃功率。现在的MOS管基本上都是“HEXFET”型的,通俗的说就是一个大电流MOS里面是用无数个小MOS密麻排列并联而成的,所以我有个猜想,低内阻设计的MOS,都是使劲“堆细胞”,细胞堆的越多,一致性就越难控制,低压大电流没什么,但是上高压了,就很容易出现电流不平衡,只要有一个细胞过流损坏,整只管子就废了。
2、型号后面带后缀字符的,基本都功率缩水,是针对开关电源优化设计的。




所以,回到此帖主题,我已经下单了IRFP250,等到货装机测试。
另外为了避免再烧检流电阻,我也专门订购了几米1.5MM康铜丝,用这玩意检流肯定皮实,爱用几欧就剪多长,我就不信干不过你个破保险丝。
终端恒流小板要重新设计,旧的板子烧个检流电阻都没法换,已经用导热胶封死了
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
wwwajjlcn作者
8年10个月前 IP:广东
808816
IMG_20160131_003156.jpg
重新做了终端恒流控制板,用1.5MM康铜丝,我看你还敢不敢烧断?
康铜丝检流长度3.8cm,电阻大约10毫欧。

康铜丝下面填充导热胶,一帮助散热降低温漂,二帮助固定(预防热胀冷缩扯脱PCB铜箔)。
IMG_20160215_154000.jpg


校准后开始测试,接上48V电池,串个15A保险丝,从1A开始一直到10A慢慢加,正常运行。
10A时为46V,总功率460W,平均每个管吃92W功率,气温18度,最热的MOS管表面98度,散热器最热位置52度,出风大约40度。


现在来计算下功率裕量,单管最大功率180W,最高结温150,热阻0.7K/W,导热硅脂热阻取0.2K/W计算。
如果让一个管子吃100W,就是【150度-100瓦*(0.7+0.2)=60度】,也就是说散热器要在60度以下才安全,我的散热器冬天都52度了,夏天估计要超标,所以如果不改进散热的话,负载总功率应该控制在400W以下才安全。


至此,高压大功率的问题总算是解决了。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
wwwajjlcn作者
7年9个月前 IP:广东
831722
好久没更新了,这个电子负载依然烂尾,凑合使用中。。。

但是今天有个偶然的机会,用锤子砸开了IRFP250和IRFP250N看看对比,发现了带N和不带N的更直观区别,特地来补个照片

IRFP250小字.jpg
IRFP250大字.jpg
IRFP250N小字.jpg

可以发现带N字的管芯更小,做电子负载还是不带N的更合适
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论

想参与大家的讨论?现在就 登录 或者 注册

所属专业
上级专业
同级专业
wwwajjlcn
进士 笔友
文章
4
回复
65
学术分
0
2013/08/16注册,6年11个月前活动
暂无简介
主体类型:个人
所属领域:无
认证方式:邮箱
IP归属地:未同步
文件下载
加载中...
{{errorInfo}}
{{downloadWarning}}
你在 {{downloadTime}} 下载过当前文件。
文件名称:{{resource.defaultFile.name}}
下载次数:{{resource.hits}}
上传用户:{{uploader.username}}
所需积分:{{costScores}},{{holdScores}}下载当前附件免费{{description}}
积分不足,去充值
文件已丢失

当前账号的附件下载数量限制如下:
时段 个数
{{f.startingTime}}点 - {{f.endTime}}点 {{f.fileCount}}
视频暂不能访问,请登录试试
仅供内部学术交流或培训使用,请先保存到本地。本内容不代表科创观点,未经原作者同意,请勿转载。
音频暂不能访问,请登录试试
支持的图片格式:jpg, jpeg, png
插入公式
评论控制
加载中...
文号:{{pid}}
投诉或举报
加载中...
{{tip}}
请选择违规类型:
{{reason.type}}

空空如也

加载中...
详情
详情
推送到专栏从专栏移除
设为匿名取消匿名
查看作者
回复
只看作者
加入收藏取消收藏
收藏
取消收藏
折叠回复
置顶取消置顶
评学术分
鼓励
设为精选取消精选
管理提醒
编辑
通过审核
评论控制
退修或删除
历史版本
违规记录
投诉或举报
加入黑名单移除黑名单
查看IP
{{format('YYYY/MM/DD HH:mm:ss', toc)}}