38度发烧友论坛--38Hot Volt-Nuts 仪表 基准 工具 电子爱好者专业论坛

搜索
24寸长虹
24寸长虹,正面橙色好,后盖发现有局部破损,开机屏幕闪现一下提示关闭,看标签有拆过,没有其他测试, [详情]
全新12伏10安户外开关电源5只,7
全新12伏10安户外开关电源5只,75包周边 [详情]
查看: 5475|回复: 49

平民版PWM 10V电压源的制作

  [复制链接]
发表于 2019-2-19 16:55:43 | 显示全部楼层 |阅读模式
PWM10V参考级电压源
  
  熟悉开关电源的朋友,对PWM(脉冲宽度调制)应该相当熟悉,参考级电压源本质也是一种特殊的电源,PWM技术用于参考电压源有许多经典案例,我们称之为PWM DA(数模)转换,原理简单而言就是不同的脉冲宽度可以得到对应的精密电压。以目前的技术,脉冲宽度的细分精确度可以比电压高几个数量级,因此这种技术在电学多功能标准源中得到广泛应用,也是其核心部分。设计用料得当的产品,线性度,温度系数比商品DA芯片的性能优1-2个数量级,并且成本可以很好控制。以目前性能最好的20AD5791为例,要700RMB,如果PWMDA实现20位,成本可以在150RMB内,性能还可以优于AD5791。参考级电压源的经典产品DATRON4910,性能在固态基准中,就是标杆,尽管停产多年,在发烧友手中还是炙手可热的产品,一机难求,还出现了好几个复刻版本。
PWM波形的产生
  PWM波形产生的方式最常见的是用74LS163系列的芯片级联分频,每位计数的输出与异或门与输入接口进行比较,得到需要时延,然后用JK触发器产生PWM,输入接口可以设定PWM波形的任意宽度。DATRON4000系列机就是这种。这种方式级联理论可以任意多位,但实用的级联最多做到16位,高于16位后,时钟的频率提升,单个脉冲宽度低于100nS后,由于PCB时延,JK触发器不能可靠翻转,我最多用这个方式做了17位的PWM波形发生器。另外一种方式是商品芯片计数器,68B4082C55等,这种芯片内部有2-3个独立的16位计数器,通过设置计数器的不同工作方式,也可以生成PWM波形。68B40在一些比较老的电压源中能见到,原上海电表厂的YJ93,进口机Vahalla 2701C用到68B40FLUKE 公司的5440B,5500A5700系列机用的82C55PWM波形生成。最近的产品倾向于使用FPGA(CPLD)FLUKE 5520A 5080A系列机用FPGAPWM波形生成。FPGACPLD)使用灵活,产品线丰富,选择多,还可以集成其他功能,得到广泛应用。我的这款制作中也选用CPLD,目前在售的CPLD都逻辑单元多,相应地引脚也多,做PWM波形发生部分资源浪费,我一直想做引脚数量少,内部逻辑单元多的型号,没有找到合适的主流型号。最后选取了ATF750CL24个引脚,比较老,功耗也大,适当降低工作电压,功耗可以成倍下来。750CL兼容著名的22V10P系列,但是前者内部资源多于后者。一片可以做13位的任意占空比PWM发生器,2片可以做26位的两路合成方案。适当限制占空比的调节范围,单片可以做到14位,固定值的电压基准源占空比调节范围在70%附近,这次制作通过限制占空比,实现14位,2位由软件固定设置,12位可以任意调节,刚好对应38421 BCD编码器。
ATF750CL芯片比较老,逻辑相对简单,编程软件我选用了最容易上手的WinCupl,语法简单,逻辑功能定义语句少,很接近我们熟悉的逻辑门电路,编程界面简单清爽,编译也快,还有比较完善的自纠自查报错。这个软件由于不适合目前的复杂CPLD,在2005年就停止了更新升级,只适合我们这个非专业的人员编译简单的CPLD
Name    14BITPWM ;
PartNo   00 ;
Date     2019-1-10;
Revision 01 ;
Designer THY ;
Company  THY888 ;
Assembly None ;
Location THY ;
Device  V750C ;
/* ***************INPUT PINS *********************/
PIN    1 =  CLK;   /*                                 */
PIN    2=   A1;    /*                                 */
PIN    3 =  A8;    /*                                 */
PIN    4=   A2;    /*                                 */
PIN    5=   A4;    /*                                 */
PIN    6=   B1;    /*                                 */
PIN    7=   B8;    /*                                 */
PIN    8=   B2;    /*                                 */
PIN    9=   B4;     /*                                */
PIN    10=  C1;    /*                                 */
PIN    11=  C8;    /*                                 */
PIN    13=  C4;    /*                                 */
PIN    14=  C2;    /*                                */
/* ***************OUTPUT PINS *********************/
PINNODE 25  = Q1;
PINNODE 17  = Q2;
PINNODE 27  = Q3;
PINNODE 28  = Q4;
PINNODE 20  = Q5;
PINNODE 31  = Q6;
PINNODE 32  = Q7;
PINNODE 33  = Q8;
PINNODE 34  = Q9;
PINNODE 35  = Q10;
PINNODE 42  = Q11;
PINNODE 43  = Q12;
PINNODE 44  = Q13;
PIN 16=Q14 ; /*                                */
PIN  18=Q0 ; /*                                 */
PIN  15=K1 ; /*                                 */
PIN  19=K2 ; /*                                 */
Q0.D=(J&!Q0)#(!K&Q0);
Q1.T='b'1;
Q2.T=Q1;
Q3.T=Q1&Q2;
Q4.T=Q1&Q2&Q3;
Q5.T=Q1&Q2&Q3&Q4;
Q6.T=Q1&Q2&Q3&Q4&Q5;
Q7.T=Q1&Q2&Q3&Q4&Q5&Q6;
Q8.T=Q1&Q2&Q3&Q4&Q5&Q6&Q7;
Q9.T=Q1&Q2&Q3&Q4&Q5&Q6&Q7&Q8;
Q10.T=Q1&Q2&Q3&Q4&Q5&Q6&Q7&Q8&Q9;
Q11.T=Q1&Q2&Q3&Q4&Q5&Q6&Q7&Q8&Q9&Q10;
Q12.T=Q1&Q2&Q3&Q4&Q5&Q6&Q7&Q8&Q9&Q10&Q11;
Q13.T=Q1&Q2&Q3&Q4&Q5&Q6&Q7&Q8&Q9&Q10&Q11&Q12;
Q14.T=Q1&Q2&Q3&Q4&Q5&Q6&Q7&Q8&Q9&Q10&Q11&Q12&Q13;
J=Q1&Q2&Q3&Q4&Q5&Q6&Q7&Q8&Q9&Q10&Q11&Q12&Q13&Q14;
K=(A1$Q1)&(A2$Q2)&(A4$Q3)&(A8$Q4)&(B1$Q5)&(B2$Q6)&K1&K2;
K1=(B8$Q8)&(C1$Q9)&(B4$Q7);
K2=(C4$Q11)&(C2$Q10)&(C8$Q12)&('b'0$Q14)&('b'1$Q13);
[Q14..0].ck = CLK;
[Q14..0].sp = 'b'0;
以上就是这个14PWM的语句部分,熟悉逻辑电路的朋友看懂不难。750CL的时钟脚是固定的,输入和输出脚是不兼容的,现在的CPLD输入和输出可以任意设置,时钟也可以自由定义。程序的第一部分是引脚定义,2-14脚是12位设定端子,A段最低位,每一档占空比变化小,C段是最高位,每一档可以有较大的占空比变化,可以根据PCB的布局定义输入脚,输出引脚和中间节点的设置要最大化利用内部资源,需要一定的技巧,否则编译通不过。程序的核心部分是14位计数器级联,每一级就是一个T计数器,其次是输入逻辑的异或门和与运算逻辑。750CL内部没有JK触发器逻辑单元,由D触发器逻辑单元定义成JK触发器来产生PWM波形。
  程序编译后,自动生成烧写文件,用支持ATF750CL的任何一款编程器就可以烧写,与烧写ROM完全一样,我使用了数年前买的天津的VP-490编程器,顺利烧写。
PWMDA的实现
  ATF750CL生成的PWM矩形波通过隔离器,隔离干扰后送到D触发器,在时钟的同步下,裂解为完全对称的两路矩形波信号,用于控制模拟开关ADG411中上下开关,上开关开通,无极点有源滤波器被充电,下开关开通滤波器被放电。把采样来的10V信号,调制成幅度稳定,占空比稳定的矩形波,经过3阶无极点有源滤波器的充放电平衡后得到平滑的直流电压,这个电压大小与占空比对应,实现了精密DA转换。开关后的精密矩形波,不能有任何的能量损失增添,这部分损失来源与开关自身的泄漏或者被无关电压注入,无极点滤波的漏电,和运放的噪音注入,否则就是无中生有或者跑冒滴漏了。模拟开关和滤波部分的电路设计和器件选型,以至于安装工艺在商品机上都是非常考究的,甚至要通过器件的筛选搭配才能满足一些指标。
基准部分
  基准部分视要求而选择,这里选择的LM399,这个是6.5位数表基准的标配,产量大,廉价易得,附属电路简单,无需调整,焊接无误都可以满意工作。
  
输出和误差反馈
  输出部分的核心就是一个受控的放大器,这个同相放大器放大LM3997VREF10V附近,放大比例由图中的电阻决定,一般放大倍数在1.4左右。这个值不要特别准确,输出在9.5-10.5V都可以被调整。输出值被缓冲后,送入精密开关电路和滤波器部分,得到精密的直流电压7V左右,然后送入误差积分放大器,与LM3997VREF比较,得到误差信号,这个信号再送入输出放大器的反相输入端,控制放大器的精确放大倍数,形成一个闭环的控制过程,这个环路内只有输出放大器的输出可能会变(主因电阻比例),采样缓冲和PWMDA ,误差积分部分都认为不变,那么输出的变化就可以被稳定,一旦输出有变化,采样反馈后就会被拉回来。只要在闭环的有效控制区间内,输出仅与7VREFPWM的脉冲宽度有关,
   
Vout=7VREF/VR,     VR-------相当于占空比。
当然这是比较理想的情况,实际情况误差放大器,缓冲放大器的失调温度系数,滤波器的噪音,开关的泄漏都会有影响,目前的器件水平可以把影响控制到非常理想的水平,忽略不计。这个电路的方式巧妙地避开的电阻比例问题,电阻的比例问题是目前费力都做不好的。
  更加详细的工作原理理解可以参考DATRON 4910的使用说明书

回复

使用道具 举报

 楼主| 发表于 2019-2-19 17:01:17 | 显示全部楼层
14BITPWM10V V1原理.rar (85.54 KB, 下载次数: 447)
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-2-19 17:02:42 | 显示全部楼层
PCB已经去加工,到时焊接看看效果,原理图供参考,器件值我焊接调试后发布
回复 支持 反对

使用道具 举报

发表于 2019-2-19 17:21:00 | 显示全部楼层
顶唐老师,想要一个
回复 支持 反对

使用道具 举报

发表于 2019-2-19 17:43:26 | 显示全部楼层
期待成品的好表现
回复 支持 反对

使用道具 举报

发表于 2019-2-19 17:44:00 | 显示全部楼层

顶唐老师,想要一个
回复 支持 反对

使用道具 举报

发表于 2019-2-19 17:54:41 | 显示全部楼层
顶唐老师,期待
回复 支持 反对

使用道具 举报

发表于 2019-2-19 18:00:02 38hot手机频道 | 显示全部楼层
顶唐老师,也要一个
回复 支持 反对

使用道具 举报

发表于 2019-2-19 18:20:48 38hot手机频道 | 显示全部楼层
定一个啊。
回复 支持 反对

使用道具 举报

发表于 2019-2-19 19:42:21 | 显示全部楼层
原理其实就是用数字化的PWM控制能力来实现足够浮点精度的模拟电压值转化吧,利用数字化处理技术实现更精准的从LM399的基准转化,同时对误差实现自反馈调整。

期待成品的效果,如果ok,凑热闹订一份成品。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关于我们|Archiver|手机版|38度发烧友 ( 粤ICP备14041877号-2 )

Powered by Discuz! X3.3 © 2001-2012 Comsenz Inc. Designed by 999test.cn

声明:论坛所有内容均由网友个人自主发表,并不代表本站立场。相关内容仅供参考,由此造成的人身伤害或财产损失均需自行承担。

  

GMT+8, 2020-8-11 12:12 , Processed in 0.137812 second(s), 27 queries , Gzip On.

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