基于单片机控制的高精密直流电流源的设计

基于单片机控制的高精密直流电流源的设计
高精密电流源能为精密仪器提供精度较高的电流供给,适用于半导体和材料科学研究中各种电阻的自动测量任务。具体应用中,对电流源的精度、可控性要求较高,使用单片机控制的高精密电流源设计,相对于现行的其他设计方法而言,可以较好地满足上述要求,并且具有设计容易、性价比高、开发周期短等特点。本设计使用了atmel公司生产的at89s系列高性价比的52单片机进行设计,体积轻小,实用性强,具有很好的应用前景。
1 系统组成及工作原理
本设计通过at89s52单片机实现对d/a转换芯片dac714和a/d转换芯片tlc2543的控制,来产生直流电压信号,经输出采样电路的电压/电流转换、放大,输出稳定的直流电流。系统中使用d/a输出、a/d采样,与主控单片机形成闭环控制系统。可用键盘进行电流数值设定,用led(发光二极管)进行显示。如图1所示。
690)this.width=690;if(this.height>690)this.height=690;>
2 系统硬件电路设计
2.1键盘及显示电路
预设电流值用4×4矩阵键盘进行输入,用p0口进行扫描,因单片机的i/o口比较充裕,所以采用性价比较高的三-八译码方式对4个独立的7段led进行译码和驱动,74ls138译码器多余引脚用做扩展端预留。具体接法如图2所示。
690)this.width=690;if(this.height>690)this.height=690;>
2.2闭环系统
以at89s52单片机作为控制核心,用p2.0~p2.3作为dac714的时序控制线,用p2.4~p2.7作为tlc2543的时序控制线。其接口电路如图3所示。
690)this.width=690;if(this.height>690)this.height=690;>
dac714输出引脚vout根据单片机写入的数据输出直流电压,然后经输出采样电路,使负载获得直流电流,为了让负载获得精确的直流电流,通过tlc2543采样电阻r0上的电压得到采样数据并送入单片机,单片机通过算法更新写入dac714的数据,从而更新输出电流,保证了负载的稳定。输出采样电路如图4所示。
690)this.width=690;if(this.height>690)this.height=690;>
谨慎选取和焊接采样电路中r0、t1、l几个关键元件是本系统的重点,图中采样电阻r0必须使用高精密大功率电阻,因为r0在电路中有两大作用:一是通过r0将电压转换为电流,如果r0精度过低,将直接引起输出电流偏离预设值;二是tlc2543通过采样r0上的电压值为单片机进行闭环控制提供数据。因本设计最大输出电流为5 a,所以r0的功率应足够大。本系统用的是精度为0.1%、功率为25 w的1 ω精密电阻,因tlc2543采样输入脚和运放op07负输入端的输入电阻均为兆欧级以上,所以tlc2543对r0采样时不会有任何影响。电路中t1也应选取大功率管,本系统采用集电极电流可达25 a、集电极耗散功率为120 w的npn型管2sd2256。电路中l应选取电感量较大和承受电流值较大的电感,以达到良好的滤波效果。
在实际连接此电路时,接地的方法对输出电流将产生很大影响,因为负载rl上的电流等于r0上的电流,而r0上的电流值等于dac714输出电压除以r0的阻值,假设dac714输出电压为1 v,r0的一端到地的电阻为0.1ω,则r0上的电流值为:ir0=1/(1+0.1)=0.91 a,与预设值1 a相差0.09 a。由此可见,若电路接地方法不当将引起很大的误差结果。所以,在本设计中,适合采用单点接地,且各接地线应尽量短和粗。同时,使用散热片对r0和t1进行良好的散热。
3 闭环系统实现恒流控制过程
tlc2543第14脚ref+为模拟输入的正基准电压端,13脚ref-为负基准电压端,这2只引脚的电压差决定了最大输入电压值。本系统将ref+接于+5 v,ref-接于0v,所以vmaxin=vref+-vref-=5 v。dac714被设置为输出0~+10 v。表1为dac714工作于单极0~+10 v输出模式下的数据输入与输出电压对应关系。表2为tlc2543输入电压与输出数据的对应关系。
690)this.width=690;if(this.height>690)this.height=690;>
由表1可知,当dac714工作在单极0~10 v输出模式时,输出电压分辨率为10/216≈0.153 mv。由于本系统输出电流为0~5 a,所以只使用表1中8000h~ffffh与输出的对应关系。由表2可知,tlc2543的分辨率为5/212≈1.22 mv。
下面以一例详细介绍系统闭环控制原理及过程,如图5所示。
690)this.width=690;if(this.height>690)this.height=690;>
图中:iuser为用户预设电流值;icrrent为当前实际输出电流值;cuscr为用户预设电流值的初始控制数据;cin为单片机写入:dac714的控制数据字;cout为tlc2543采样数据;cerror为tlc2543采样值与预设值的误差,初始值为0。
由图5中的算法可见,该闭环控制电路能有效地更正因各种原因产生的输出误差,保证了电流源的稳定度和精度。在进行数据测试时发现,当用户键人预设值并按确定后,输出电流在前2 s内不断更新,3 s后输出电流基本稳定不变,仅有第4位稍有跳变,即输出精度为10-3a。可见,由于系统内、外部引起的误差是存在的,但经过闭环系统的控制稳定了输出。
4 单片机软件设计
图6为系统软件设计流程图。
690)this.width=690;if(this.height>690)this.height=690;>
上电后,单片机首先初始化,显示初始值为0,其次扫描键盘,查看是否有键按下,有键按下则进行按键处理,然后送显示数据到led,接着写入到dac714的控制字,即为led显示值的对应数据,单片机再通过tlc2543采样数据,并对采样值、预设值进行运算和处理,更新显示、输出等有关数据。
5 结束语
本文阐述了利用单片机进行高精密直流电流源的设计过程,所设计的电流源精度为电流值10-3a。验证通过,性能稳定,适用于半导体和材料科学研究中各种电阻的自动测量任务。此外,d/a与a/d配合使用的方法及相关算法适用于其他同类应用,也具有很好的实用性和通用性

系统崩溃的原因
浅谈小间距LED屏视频处理器的几大关键技术
如何突围前沿科技领域“卡脖子”困境?
训练神经网络的数据主要来自大陆测试车队?
MAX485和RS485发热停止工作的解决办法
基于单片机控制的高精密直流电流源的设计
CPLD实现DDS正弦信号发生器设计
优化嵌入式软件时可以遵循几个通用技巧盘点
如何解决Linux进程调度优先级数字混乱的问题?详细实例分析
各国家长对AI技术应用于孩子教育和医疗的接受程度如何?
基于AL101芯片和单片机实现网络交换机的软硬件设计
5G技术激活行业专网建设走上快车道
对包络检波解调电路进行Multisim仿真
Jade Solutions用松下设备协助解决叉车调动问题
为什么电视厂商极少使用DP接口?
全球5G辐射问题再次引起争议有组织称5G是对人类最大的威胁
年出货量35亿颗MCU的瑞萨电子全面拥抱AI
加强监管下的数字货币交易所和以前有什么不一样
商用 LED 灯具的 0-10V 调光演变
AI视觉分析技术在校园监控中的应用