夏云生, 徐桥松
(中石化管道储运公司襄阳输油处, 湖北襄阳 441002)
PROTEUS嵌入式系统仿真与开发平台是由英国Labcenter公司开发的,是嵌入式系统设计与仿真平台[1]。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。PROTEUS从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。此外,由于PROTEUS 的仿真模型均根据相应器件的技术参数建立,因而其仿真结果极其接近实际,使其已经超越了一般意义的“虚拟仿真”,成为具有现实意义的教学、研发平台[2-3]。本文采用PROTEUS仿真软件,利用单片机技术进行了数控恒流源的开发。
通常实现数控电流源的首要任务就是实现电压的受控,一般使用单片机结合D/A转换器来实现。并行D/A转换器的引脚多,体积大占用单片机的硬件资源较多,而串行D/A转换器的体积小,占用单片机的资源少,决定采用美国德州仪器公司推出的串行10位DAC芯片TLC5615,最大功耗为1.75 mW,更新率为1.21 MHz。通过 3 根串行总线就可以完成10 位数据的串行输入,易于和工业标准的微处理器或微控制器接口,适用于数字失调与增益调整以及工业控制场合。利用PROTEUS v7.5平台绘制了电路原理图。本设计中AT89C52与TLC5615的接口电路原理图如图1所示。
图1 AT89C52与TLC5615的接口电路原理图
其中,U1为单片机AT89C52,U2为TLC5615转换器,U3~U5为光耦隔离器。光耦隔离器的作用是将电信号进行隔离,同时也易于实现功能电路的模块化。D1为LM358-1V2高精度电压基准源。本设计中TLC5615转换器电压增益为2,最大输出电压为2倍的基准电压,即2.4 V[4]。
对应Keil环境下的C驱动程序如下:
void TLC5615_Write_12Bits() //定义写入函数
{ int i;
SCL = 0;
CS = 0;
for(i=0;i<2;i++) //循2次,发送高两位;
{ if(gBitMsb) //高位先发;
{ SDA = 1;
SCL = 1;
SCL = 0; }
else
{ SDA = 0;
SCL = 1;
SCL = 0; }
gBitMsb <<= 1;
}
for(i=0;i<8;i++) //循环八次,发送低八位;
{ if(gBitLsb)
{ SDA = 1;
SCL = 1;
SCL = 0; }
else
{ SDA = 0;
SCL = 1;
SCL = 0; }
gBitLsb <<= 1;
}
for(i=0;i<2;i++) //循环2次,发送两个虚拟位;
{ SDA = 0;
SCL = 1;
SCL = 0; }
CS = 1;
SCL = 0;
}
void TLC5615_Start(int16u dacDat)//定义启动DAC函数
{ dacDat %= 1024;
gBitMsb = dacDat/256;
gBitLsb = dacDat%256;
gBitMsb <<= 6;
TLC5615_Write_12Bits();
}
图2是V/I转换电路原理图。该电路的主要作用是将D/A转换器输出的电压信号转化为电流信号。为了能够输出恒定的电流信号,运算放大器U1∶A按电流负反馈连接,输出端驱动NPN三极管具有较高的带载能力。运算放大器U1∶B按负反馈形式连接,输出端驱动PNP三极管产生恒流提供给负载[7-8]。
根据运算放大器的电压虚短和三极管的集电极、发射极电流饱和时近似相等的两个特性,可以得出以下关系式:
R1、R2和 RS的阻值分别选择 650 Ω、2 250 Ω和33 Ω。由公式(3)可知,负载电流IL的大小与VU1:A+成正比,其中R1、R2和RS的精度直接影响到输出电流线性度的好坏,一般实际应用中使用精度较高的金属膜电阻。
图2 V/I转换电路原理图
在PROTEUS软件中使用ANALOGUE模拟瞬态分析仪观察VU1:A+和IL两个变量。从图3中的V/I转换电路输入输出波形可以看到, 电压VU1:A+在0~2.46 V之间线性变化时,负载电流IL在4.44~21.30 mA范围内呈现出良好的线性关系。根据公式(3),当VU1:A+为2.46 V最大时,计算得出负载最大电流ILMAX为21.56 mA,结合实际观察和理论分析,可以知道,设计是可行的,可以满足4~20 mA标准电流信号的输出。
图3 V/I转换电路输入输出波形
基于PROTEUS仿真软件进行了数控恒流源的设计和仿真,利用软件中提供的虚拟分析仪观察输入输出波形,验证了设计的可行性。据此制作的4~20 mA硬件电路在通用二次仪表开发中得以广泛应用。
[1] 曹建树,夏云生,曾林春.51单片机实用教程[M].北京:中国石化出版社,2008:85.
[2] 吴小花.基于PROTEUS的电子电路设计与实现[J].现代电子技术,2011,34(15):174-176.
[3] 周灵彬,张靖武.PROTEUS的单片机教学与应用仿真[J].单片机与嵌入式系统应用,2008(1):76-79.
[4] 陈雷,陈爽.基于PROTEUS的数控恒流源仿真研究[J].国外电子测量技术,2011,30(2):24-27.
[5] 朱更军,彭永供.串行10 位D /A 转换器TLC5615 原理及与DSP 的接口[J].电子质量,2003(10):12-13.
[6] 李建波,高立新.串行数模转换器TLC5615的原理及其Proteus仿真设计[J].福建电脑,2008(10):21.
[7] 赵东波,郭荣幸,赵丙斌.基于单片机的数控直流电流源设计与实现[J].仪表技术,2008(6): 58-60.
[8] 马场清太郎,何希才.运算放大器应用电路设计[M].北京:科学出版社,2009:165-189.