0~100 mV精密电压源的设计与仿真
2012-09-29王东锋黎映相
王东锋,黎映相
(1.空军第一航空学院,河南 信阳464000;2.天利航空科技公司,广东 深圳 518172)
0~100 mV精密电压源是航空发动机温度控制盒等重要控制系统定检时必不可少的激励信号源,设计时要求该精密信号源的输出信号偏移量 ΔUomax≤0.02 mV,最大输出驱动电流 Iomax=20mA,输出范围:0≤Uo≤100 mV,对系统的稳定性要求非常高。对此要求,传统的精密电压源一般采用模拟电路,由精密电位器调节生成,需要很高的D/A分辨率和抗干扰能力[1]。这种电压源不但操作不方便,而且随温度等外界条件影响较大,因而还要加上恒温箱和冷却风扇等辅助措施,大大增加了定检设备的体积和成本,而且输出精度和驱动能力也难以满足要求。
针对上述问题,本文提出了一种新的设计方案。为确保系统软硬件设计的正确性和缩短开发周期,本文基于Proteus平台对系统的软硬件设计进行了仿真。Protues具有强大的电路仿真功能,独一无二地支持外围数电/模电与处理器的协同仿真[2],真正实现了虚拟物理原型功能,在目标板还没有制作前,就可以对软硬件系统的功能和性能指标进行充分调整,极大地增加了设计的准确性,并显著缩短了开发时间。
图1 系统的组成框图
1 系统的工作原理
该系统的组成框图如图1所示。系统的工作原理是:上位机将需要输出的精密电压对应的控制码通过RS232串口发送给单片机,单片机再控制D/A转换芯片将数字信号转换为模拟电压信号;为减小系统控制误差以及温度、电源电压波动等因素对输出电压的干扰,还需对D/A转换后的模拟电压进行衰减,其衰减倍数由以下分析确定。
假定采用的D/A转换芯片的参考电压Vref=5V=5×106μV,则转换输出的模拟电压 Uo与输入数字 D之间的计算公式如下:
式中,N为D/A转换芯片的位数。如果采用16 bit D/A转换芯片 (N=16),则即使当输入数字变动一个最小单位:ΔD=1,由式(1)计算可得输出电压增量 ΔU=76.29 μV。 该结果远远超出了电压源的输出信号偏移量ΔUomax≤0.02 mV的精度要求,为此,系统增设了电阻衰减网络将输出电压再衰减100倍。考虑到环境温度的变化和元器件自身的温度漂移特性,系统增设了A/D转换模块和微型液晶显示模块用以输出监控。
2 系统硬件选择与仿真设计
2.1 硬件选择
系统主控单片机选用Atmel公司的AT89S51单片机;D/A芯片选用ADI公司的高精度、完全集成的低成本16 bit D/A转换器 AD5422,其输出量程设置为0~10 V;A/D芯片选择Linear公司推出的16 bit逐次逼近型A/D转换器LTC1865,若将LTC1865的参考电压设定为1 V,则该芯片的分辨率为1 000 mV/216=0.015 mV,可以满足系统输出信号偏移量ΔUomax≤0.02 mV的要求;显示器件采用1602LCD微型液晶显示器。
2.2 系统仿真设计
系统的仿真原理图可分为图2(a)所示的D/A转换电路和图2(b)所示的A/D采集与显示电路两部分。
D/A转换电路的工作原理是:AD5422在单片机的3个 I/O 口(P1.0、P1.1、P1.2)的控制下,将转换后的模拟电压由Vout引脚输出。为确保输出电压稳定,在Vout引脚和+Vsense引脚之间通过电阻R1引入负反馈。输出电压经电阻 R3、R4串联分压(衰减)后,再送入高精密放大器LM2902进行放大,可得精密电压输出信号Vout。
A/D采集与显示电路的工作原理是:图2(a)输出的精密电压信号Vout送入16 bit A/D芯片LTC1865的CH0通道,该芯片在单片机的 3个 I/O口(P1.4、P1.5、P1.6)的控制下,可将模拟电压转换为数字信号,并将转换结果通过SDO引脚送入单片机的P1.7引脚。单片机通过对A/D采集结果的分析,即可实现对输出信号的反馈控制。同时,还可利用A/D采集结果计算出输出电压Vout,并通过单片机P0口送入LCD1602微型液晶显示器进行实时显示。
3 系统软件设计
本文采用上位机(PC)向单片机串口发送数字的方式来控制精密电压的输出,从而替代传统的调节电位器的模拟电压控制方式。为保证单片机能对上位机发送来的数字进行实时处理,需利用单片机的串口中断服务程序控制D/A转换。系统软件设计包括 4个模块:(1)串口中断模块,用于接收上位机发来的数字信号;(2)D/A转换驱动模块,用于驱动AD5422将串口接收的数字信号转换为模拟电压;(3)A/D采集模块,用于驱动 LTC1865将输出的精密电压转换为数字信号,实现对输出电压的修正;(4)LCD显示模块,用于实时显示输出电压。系统的软件流程图如图3所示。系统软件采用C语言设计,在 Keil μVision3环境下编译调试。
4 系统的仿真与试验
取AD5422的输入数字D=0x8000、增益系数Gain=2,由于 R12=1 kΩ,R11=100 kΩ,则其对应输出电压:
图3 系统软件流程图
图4即为输入数字D=0x8000时系统软硬件的Proteus仿真结果,结果表明系统软硬件设计正确。
图4 系统的仿真结果
(1)16 bit D/A转换芯片AD5422输出电压的控制误差及温度偏移误差经后级精密电阻衰减网络衰减100倍后,完全可以满足设计要求。
(2)将16 bit A/D芯片的参考电压选定为1 V,可以实现分辨率为0.015 mV的输出电压反馈控制,从而对输出误差进行实时修正。
(3)本文设计的 0~100 mV精密电压源的输出信号偏移量 ΔUomax≤0.02 mV,最大输出驱动电流为 20 mA,可很好地满足定检要求。
[1]乐千桤,徐静.高精密程控电压源的设计与实现[J].现代电子技术,2008,12(1):25-26.
[2]张靖武,周灵彬.单片机系统的Proteus设计与仿真[M].北京:电子工业出版社,2008.