直流电流源作为稳定电源的分支,在工程技术和测量领域中有着重要的实用价值,其涉及的应用由稳定电磁场、校正电流表等扩展至激光、超导、现代通信和传感技术等领域。基于模拟电路的电流源虽然可以实现高精度、宽电流范围输出,但其结构复杂, 调整困难,指示不直观。随着单片机技术的发展,数字控制电流源开始出现,其以控制灵活、调节方便等特点展示了良好的应用前景。
一般的恒流电流源往往是电流值固定,或是有限数值档的电流值输出,不便于通用。数字控制的电流源则通过单片机作为核心控制器,通过键盘设置所需的电流值,电流值取值范围大,使用方便灵活。
本文将介绍数字电流源设计方案,实现基于单片机控制的程控电流源硬件及软件设计。
数控电流源硬件设计
数字控制电流源可以有多种方案,如基于PWM技术的开关电源、基于模拟器件的模拟反馈压控,以及基于微控制器的数字反馈数控方案。本设计采用基于微处理控制器的数字控制方案,硬件系统框图如图1所示。利用单片机AT89C51将输入的控制信号进行处理输出数字量,再把输出的数字量转换成模拟电压量,最后把转换后的模拟电压量进行电压/电流的转换供给负载。
图1 硬件电路框图
1 单片机控制与显示电路
直流数控电流源原理图如图2所示。控制电路由AT89C51、晶振、按键等构成,包括单片机时钟电路、复位电路以及按键输入电路。
该电路的工作原理为:AT89C51单片机通电后复位,P0和P1口均输出高电平。当按键输入电路给电路输入控制信号后,通过程序控制经过内部处理,在P0及P1口输出处理后的信号。P0的信号送至DAC0832的数字输入端进行数模转换,P1的输出信号送至显示电路进行显示。
键盘作为输入控制的信号,如图2所示,总共有8个按键,具体功能为:++键用于实现步进加,--键用作实现步进减,S1~S4用于实现从最低位至最高位设置时的位选,位选后,由+、-键调节各位的数值。
显示电路用于指示输出电流的数值,电路主要由四个相连的共阳极数码管和驱动电路组成。AT89C51的P1和P2口连接显示电路,其中,P1口的8个引脚用来控制数码管的段码。用三极管V5~V8组成数码管四个位的驱动电路,再分别与单片机的P2.4~P2.7相连实现对位的控制。
图2 直流数控电流源原理图
2 D/A转换电路
D/A转换电路由数模转换器DAC0832和运放LM324构成。DAC0832芯片是一个8位D/A转换器,有8个数码输入端,1个模拟输出端,能将控制电路输出的8位二进制数字量转换成模拟量的输出,送给后级的V/I转换电路。
运放A4输出电压为:
(1)
式中,Vref为外接参考电压,D7~DO为8位输入数字量。
当输入数字量在00000000~11111111之间变化时,其对应的输出模拟电压U1在0~-Vref之间,电压分辨率为:△V=5V/(28-1)=19.6mV。
3 V/I转换电路
V/I转换电路是整个电流源的关键部分,其电路图2所示,主要由运放LM324和电流扩展电路构成。运放A1构成加法器,有U2=-(U1+U5)。三极管V1、V2、V3、V4构成电流扩展电路,以便有足够的输出电流。A2构成电压跟随器,有U4=U3。A3是反相器,有U5=-U4,则U5=-U3。
电阻RM上的压降UM为:UM=U2-U3=-(U1-U3)-U3=-U1,则通过负载RL的电流I为:I=UM/RM=-U1/RM。
可见,输出电流I仅由电压U1和电阻RM决定。当U1和RM一定时,I保持恒定。U1是由数模转换器得到,则该恒流源的电流大小由数字量决定。
软件编程
图3 软件流程图
软件流程如图3所示,程序采用C语言编写。用仿真机进行功能调试,实现全部功能,然后把程序写入AT89C51芯片,固化成功后,便可进行独立运行。
主程序部分代码。
void main()
{unsigned char Debugging=0;
unsigned char Sampling=0;
while (1)
{ Sampling =P2|0xf0; //采样键盘信号
if (Sampling!=0xff) //如果有键盘按下执行下列程序
┇ //处理键盘程序
┇ //显示程序
┇ //电流输出程序
}}
实验结果
测试结果表明(见表1),负载RL阻值在0~5Ω变化时,最大绝对误差△I=|测试电流值-输出电流值|=10mA;相对误差为=绝对误差/显示电流值=1%;
另一测试结果表明(见表2),最大纹波系数=纹波电流值/设定输出电流值=1.5%;
表3所示为部分设定输出值与实际测试值的数据对照。设定输出值和测试值的比较曲线如图4所示,从图中可得,步进误差较小,其设定输出在0~1000mA时,实际测试值为0~990mA,最大绝对误差△I=10mA,最大相对误差为1%。
图4 设定输出值和测试值的比较曲线
若电流精度不够(设定输出值与实际测试值存在较大误差)时,可采用12位的D/A,并增加模数转换采样电路,将输出值反馈回单片机,并由单片机程序实现校正。此外,电路中RM可以选用精密电阻以减少误差。
结语
本文详细介绍了一种基于单片机控制的直流数控电流源。该电源由单片机接收键盘的输入数据,将设定的电流值通过D/A转换器转换为控制电压,再转换为电流输出,同时将设定电流在数码管上显示。整个数控电流源具有很高的性价比,稳态精度高,控制部分电路简明,结构紧凑,工作稳定可靠,应用前景广阔。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)