摘要:介绍隔离型高D/A转换器的设计方法:由单片机89C52产生PWM,经过光电隔离和一个双RC电路,将数字信号转换为直流电压信号,再经过电压/电流转换电路,输出0~20mA电流信号;通过软件校正,达到高。
本文介绍的电路可作为0~20mA的恒流源输出,所以实用性非常地广泛,可进行长距离信号传输,或者为各种仪器仪表输出标准电流。
1 电路原理
该电路通过扩展键盘/显示器可任意设置输出电流值(0.00~20.00mA),达到±0.1%;通过串行口,采用PC机控制输出电流的大小,并且可以在PC机上同步显示输出的电流值。电路原理如图1所示。
(1)脉宽调制波(PWM)的产生
启动单片机的定时器T0和T1,设定时器T0和T1工作于16位定时器方式,利用中断实现PWM输出(设定1个脉冲对应0.01mA)。
定时器T0中预置数据--PWM的脉宽数据的补码。
定时器T1中预置数据--PWM的周期数据的补码。
中断子程序如下:
TT0:CLR TR0
CLR P3.4
MOV TL0,#DATA_L ;输入数据低八位
MOV TH0,#DATA_H ;输入数据高八位
RETI
TT1:CLR TR1
SETB P3.4
MOV TL1,PWM_TL
MOV TH1,PWM_TH;置周期
SETB TR1
SETB TR0
RET1
采用定时器定时和定时器中断服务子程序共同完成脉宽制波的产生。
(2)电压/电流转换电路
如图1所示,在a点处得到0~5V的直流电压,作为运放的正向输入信号。图1中的运放构成一个跟随器,NPN型三极管G1、G2构成电流放大器。本电路要求R10是精密电阻,则流过R10的电流大小与Ua点的电压成正比。
(3)光电隔离及RC电路
采用光电耦合器U4,使MCU电路与输出相隔离。欲使输出电流较高的,一般应采用开关速度较快的光电隔离器。在光电隔离后,对PWM信号采用双RC电路(R5,R6及C7,C8)来获取直流电压分量。
(4)微机通信
本系统中设计了ICL232串口芯片,完成TTL电平与串口电平之间的转换,这样单片机与PC机就可以进行双向通信了。单片机采用定时器T2作波特率发生器,波特率设为2 400 bps,串行口工作方式设为方式1.
2 测量结果
经过实测得到表1所示测量数据。
表1 未校正前电流输出测量值 单位:mA
| 设置值 | 输出值 | 设置值 | 输出值 | 设置值 | 输出值 | 设置值 | 输出值 |
| 0.5 | 0.486 9 | 5.5 | 5.529 | 10.5 | 10.557 | 15.5 | 15.608 |
| 1 | 0.990 0 | 6 | 6.032 | 11 | 11.062 | 16 | 16.111 |
| 1.5 | 1.492 8 | 6.5 | 6.534 | 11.5 | 11.567 | 16.5 | 16.614 |
| 2 | 2.000 | 7 | 7.037 | 12 | 12.072 | 17 | 17.118 |
| 2.5 | 2.504 | 7.5 | 7.540 | 12.5 | 12.577 | 17.5 | 17.621 |
| 3 | 3.008 | 8 | 8.042 | 13 | 13.082 | 18 | 18.124 |
| 3.4 | 3.513 | 8.5 | 8.545 | 13.5 | 13.587 | 18.5 | 18.628 |
| 4 | 4.017 | 9 | 9.048 | 14 | 14.093 | 19 | 19.131 |
| 4.5 | 4.521 | 9.5 | 9.551 | 14.5 | 14.598 | 19.5 | 19.634 |
| 5 | 5.026 | 10 | 10.054 | 15 | 15.103 | 20 | 20.14 |
| 设置值 | 输出值 | 设置值 | 输出值 | 设置值 | 输出值 | 设置值 | 输出值 |
| 0.5 | 0.489 9 | 5.5 | 2.518 | 10.5 | 10.509 | 15.5 | 15.517 |
| 1 | 0.990 0 | 6 | 6.019 | 11 | 11.011 | 16 | 16.019 |
| 1.5 | 1.499 9 | 6.5 | 6.517 | 11.5 | 11.513 | 16.5 | 16.518 |
| 2 | 2.000 | 7 | 7.016 | 12 | 12.014 | 17 | 17.016 |
| 2.5 | 2.502 | 7.5 | 7.514 | 12.5 | 13.015 | 17.5 | 17.519 |
| 3 | 3.002 | 8 | 8.014 | 13 | 13.015 | 18 | 18.019 |
| 3.5 | 3.501 | 8.5 | 8.511 | 13.5 | 13.515 | 18.5 | 18.518 |
| 4 | 4.002 | 9 | 9.009 | 14 | 14.016 | 19 | 19.018 |
| 4.5 | 4.502 | 9.5 | 9.503 | 14.5 | 14.518 | 19.5 | 19.519 |
| 5 | 5.002 | 10 | 10.001 | 15 | 15.017 | 20 | 20.020 |
校正之后,达到±0.1%.
4 结论
本电路的硬件部分采用通用器件,简单的结构,低廉的成本;充分利用了89C52的定时器资源,使用了定时器T0、T1、T2.89C52的其它端口和引脚都没有被占用,该电路就能很容易地移植到其它控制系统和测量系统中;软件采用对输出电流进行校正的方法,使得达到±0.1%;还具有串行接口,组网控制也变的方便;因此,本电路具有光电隔离、强大的通用性、高、低成本的特点,且有较高的实用价值。
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。