近年来,许多单片机生产厂家,如Atmel、Analog DivICes、Intel、Philips、Dallas、Maxim等等,纷纷推出了新型的高速单片机。它们的指令执行周期仅是原来的1/3~1/十几,并在单片机中集成了EEPROM、WDT、A/D转换器和D/A转换器,大大地提高了单片机的性能,方便了用户。然而,许多单片机中的D/A转换器的输出都采用了脉宽调制(PWM)的形式。PWM十分适用于开关电源、可控硅等器件的控制,也可使用于LCD亮度控制、音频输出等不需要输出精确电压的场合。由于PWM没有基准电压,它的输出脉冲的幅度不是很恒定,这就限制了PWM的使用范围。在要求输出精密控制电压的场合,如精密可调电压源、电机变频器等等,就无法使用PWM。
然而,只需使用2片廉价的集成电路就可以把幅度不恒定的PWM输出转换成精密的PWM输出电压。
1 电路原理
使用三端精密基准电源和模拟开关得到电压精密的PWM脉冲的电路原理如图1所示。D1为TL431三端基准电压集成电路,U1采用单刀双掷的模拟开关MAX4544;电阻R1、R2、R3根据具体的需要而定。当然,也可以采用其它型号的集成电路。
当PWM脉冲为高电平(逻辑1)时,U1的COM端掷向常闭端(NC),TL431的调整脚与正电压脚相连,输出电压值为2.5 V。当PWM脉冲为低电平(逻辑0)时,U1的COM端掷向常开端(NO),TL431的输出电压经过R2、R3 分压后送到调整脚,此时输出电压值等于[(R2+R3)/R3]×2.5 V。本例中输出电压等于8 V。这样,当U1的IN 脚输入PWM信号时,电路相应地输出高电平为8 V,低电平为 2.5 V的PWM脉冲,其振幅为 8 V - 2.5 V = 5.5 V 。如果需要输出低电平为零的PWM信号,则再加上1个差分放大器就可解决。
在对于精密度的要求不是很高的场合,可以采用更简单的方法。图2为使用精密稳压二极管对PWM脉冲进行稳压限幅的电路图。在图2中,PWM信号经过高速运算放大器U1放大成为±12 V的输出电压,在经过R1的限流和D1的稳压后,得到 ±6.5 V 的PWM脉冲输出。
2 误差分析
图1中,只要基准电源选取恰当,基准电源本身的误差完全可以忽略。除此之外,误差的来源主要有以下几个方面:
(1)模拟开关的导通电阻引起的误差
模拟开关导通时有一定的导通电阻。TL431调整脚输入电流通过模拟开关时就会形成电压降,产生误差。MAX4544的导通电阻为35 Ω,而TL431的调整脚输入电流则在4 μA以下。由此而导致基准电压的误差小于140 μV,为2.5 V的 0.000 056,相当于二进制14位的精度。
(2)开关延迟时间引入的误差
开关延迟时间将会引起脉冲占空比的变化,从而导致PWM输出脉冲产生误差。MAX4544的导通时间为30 ns,关断时间为25 ns。计算可知,当PWM频率为10 kHz时,由此产生的误差最大为0.0003,相当于12位的精度。如果PWM的频率选得较低,则开关延迟时间的影响相应减小。例如选取1 kHz时,引入误差为0.000 03,相当于15位的精度。
上述两项中真正影响输出电源精度的是这些参数随温度和时间的漂移。由于这两项参数本身的绝对值非常小,可以推知它们的漂移更小。
从以上的分析可知,由于附加电路引入的误差完全能够满足PWM的精度需求。
图2电路中,引起误差的原因主要有3个方面:
(1)稳压二极管的动态电阻引入的误差
稳压二极管的动态电阻比较大,一般在几十Ω左右(工作电流5~10 mA时);而运算放大器的驱动能力比较小,只能使稳压二极管工作在较小的工作电流下。另外,稳压二极管小电流工作时的动态电阻更大,更容易引起电压变化。
(2)稳压二极管温度漂移引入的误差
2DW7(2DW230~236)内部结构可以认为是2个稳压二极管对接串联而成的。其中一个二极管的正向电压降(具有负温度系数)对另一个稳压二极管的温度漂移(具有正温度系数)进行补偿,得到很低的温度系数。然而,当2DW7反向应用时,其温度漂移就不能得到恰当的补偿,从而导致负脉冲部分的温度系数较高。
(3)运算放大器引入的误差
运算放大器的输入失调电压的漂移可直接导致脉冲振幅的误差;而转换速率(SR)过低,将导致脉冲方波波形的失真,继而引起电压的误差。失调电压温度漂移低并且转换速率高的运算放大器的价格将会很高。
但是,对于8~10位的PWM而言,该电路已经能够满足要求。对于要求更低的场合,可以用2个廉价的稳压二极管对接来代替2DW7。
3 应用实例
利用单片机的PWM输出,在图1的基础上增加RC滤波电路和1级运算放大器,得到0~10 V直流输出电压,作为变频器的控制信号,取得了良好的效果。图 3 所示为使用PWM输出控制变频器的实例。
这里还没有内容,您有什么问题吗?
电子电路资源推荐
- 电力电子技术哈尔滨工业大学课件讲义
来源:下载中心
- 超声诊断设备原理与设计
来源:下载中心
- 小功率 DC-DC 换流器设计常用技巧
来源:大学堂
- 开关电源原理与维修
来源:大学堂
- 常用的13种半导体功率器件介绍
来源:电路图
- 电阻的串联、并联及混联电路介绍及作用
来源:电路图
推荐帖子 最新更新时间:2024-11-13 09:08
- 关于枚举作为函数返回值的问题
- 在书上看见如下代码:不是特别理解,求解释。。。 enum type_tag {one,two,three}; enum type_tag calss_string(void) { if(.....) return one; if(.....) return t
- zhangdaoyu编程基础
- 关于各FPGA厂家编译软件的问题
- 小弟,刚开始接触FPGA,现在最火的FPGA供应商有两家,一个是XILINX一个是ALTERA。他们都有各自的免费编译软件供我们使用分别是xilinx ise和quartus II,我想问一下:他们必须是xilinx ise对应xilinx的芯片吗?能否用xilinx ise来编
- 在学习的路上FPGA/CPLD
- 防盗报警联动视频监控系统应用解析
- 报警服务业是商业化的安全防范服务行业,是防盗报警服务运营商在提供防盗报警产品基础上延伸的一系列安保服务。目前,报警服务业在日本、英国、美国、澳大利亚等发达国家,已经成为一种较为普及的安全服务行业,据不完全统计,约20%的家庭和企业在接受着这种服务。而在中国,普及率还不足3%。那么
- xyh_521安防电子
- 安卓程序接口的问题
- 我用安卓做了个用蓝牙读取身份证的小东西。今天领导说,我做的这个玩意, 别人如果想用它,我能提供什么样的接口。我甚是不解,我感觉一个函数比较好 提供接口,一个带有主进程的程序软件,如何提供接口呢?谢谢! 安卓程序接口的问题 请问安卓程序可不可以做成库的形式? 据说通过jni的方式
- chenbingjyLinux与安卓
- 大概就是接受上位机传过来的66种指令,然后做出相应动作
- 比如,接受到指令 1 ,我需要PA1,2,3,4,变成HLLH。目前的方案是接受中断里面读出指令,然后主函数6个case,做出对应的动作。这样会不会有什么问题。或者有什么更好的方式实现吗 大概就是接受上位机传过来的66种指令,然后做出相应动作 66个case,感觉有点效率低
- kaka009stm32/stm8
- 新人提问,,请大家帮帮忙,关于windows Embedded
- 我用的是华为的MAS.里面采用的是Windows Embedded sp1 问题有几个 第一个是 我想装一下IIS,可是添加删除里面无法安装.我应该怎么操作 第二个是 华为MAS的某些自带的程序可能组件化了.我该如何停止掉呢 第三个是 我打SP2补丁上去好像就无法远程连接了..是
- zcx027嵌入式系统
- 用二极管做热探针的传感器
- 100分求sdk包for wince 4.2 armv4,在线等
- EK430-RF2500适用心得(二)
- 触摸屏丢up中断
- 今天开始玩ARM
- 【转载】娴熟的老员工在入职或者离职要做的八件大事,做了职业生涯扶摇直上.
- 不用单片机开发而实现单片机功能
- F7评测⑤——读取ADC值
- 移动增值业务平台解决实例
- 手机蓝牙键盘
- ADS1.2的编译器有得难用啊,少写个分号,居然可以报30多个错误
- STM32 调试可以运行退出调试跑飞
- 谁能指点下dsp的spwm波的变频问题????????
- 无线电爱好者读本(上、下册。PDF版本)
- 不使用PIC的N个理由 PK 使用PIC的N个理由
- IAR-CCS和mspgcc对中断处理
- wince 蓝牙文件拷贝问题
- 0R电阻,磁珠及电感
- 关于STM32I2C的理解(欢迎讨论)
- 这是什么情况