DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 96|回复: 0
打印 上一主题 下一主题

直流数控电流源的设计与实现

[复制链接]
跳转到指定楼层
楼主
发表于 2012-1-16 16:18:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
直流电流源作为稳定电源的分支,在工程技术和测量领域中有着重要的实用价值,其涉及的应用由稳定电磁场、校正电流表等扩展至激光、超导、现代通信和传感技术等领域。基于模拟电路的电流源虽然可以实现高精度、宽电流范围输出,但其结构复杂, 调整困难,指示不直观。随着单片机技术的发展,数字控制电流源开始出现,其以控制灵活、调节方便等特点展示了良好的应用前景。

一般的恒流电流源往往是电流值固定,或是有限数值档的电流值输出,不便于通用。数字控制的电流源则通过单片机作为核心控制器,通过键盘设置所需的电流值,电流值取值范围大,使用方便灵活。
本文将介绍数字电流源设计方案,实现基于单片机控制的程控电流源硬件及软件设计。
数控电流源硬件设计
数字控制电流源可以有多种方案,如基于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转换器转换为控制电压,再转换为电流输出,同时将设定电流在数码管上显示。整个数控电流源具有很高的性价比,稳态精度高,控制部分电路简明,结构紧凑,工作稳定可靠,应用前景广阔。  
                          
                       
                          
                               
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-9-27 22:54 , 耗时 0.108449 秒, 19 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表