基于单片机控制的高精密直流电流源的设计
高精密电流源能为精密仪器提供精度较高的电流供给,适用于半导体和材料科学研究中各种电阻的自动测量任务。具体应用中,对电流源的精度、可控性要求较高,使用单片机控制的高精密电流源设计,相对于现行的其他设计方法而言,可以较好地满足上述要求,并且具有设计容易、性价比高、开发周期短等特点。本设计使用了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配合使用的方法及相关算法适用于其他同类应用,也具有很好的实用性和通用性
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)