基于AT89C52的数控直流电流源设计方案
时间:10-02
整理:3721RD
点击:
恒流源是电子仪器和设备中常用的一种电源。一般的恒流源往往存在调节范围小、稳定性差等缺点。本文设计的数控直流电流源能够很好地降低因元器件老化、温漂等原因造成的输出误差,输出电流在20—2000mA(可调)、输出电流可预置、输出电流信号可直接显示等功能。硬件电路采用单片机为控制核心,利用闭环控制原理,电路组成闭环负反馈进行稳流,最终实现精度高、稳定性好、输出范围宽的要求。
1 系统组成和原理
1.1 系统的组成
本电流源系统可分为稳压电源电路、单片机控制部分、A/D和D/A转换电路、恒流源电路、人机界面(包括键盘输入与LED显示)等几部分,其系统组成如图1所示。
系统原理如图1所示,系统通过稳压电源向恒流源提供24V电压,向单片机AT89C52、A/D和D/A转换器提供5V电压,通过键盘对电流值进行预置,利用单片机将电流步进值或电流设定值换算后输出相应的数字信号,经过D/A转换、信号放大,驱动恒流源输出电流信号,实际输出的电流再利用精密电阻采样变成电压信号,经过A/D转换,将信号反馈到单片机中,单片机将输出反馈信号再与预置值比较,送出调整信号,再输出新的电流,这样就形成系统的闭环调节,从而提高了输出电流的精度。显示电路用于显示电流设定值和当前电流测量值。
2 硬件系统的设计
2.1 单片机控制系统的设计
在本设计中,控制芯片主要完成与A/D、D/A的数据通信及对其数据的处理,实现对系统给定量的设定和对输出量的采样与显示。同时还检测各种故障信息,及时地发出相应的报警信号。此外,由于系统属于强的EMI源,对主控制器芯片的抗干扰性能和故障处理能力有较高的要求,所以,控制芯片采用 AT89C52单片机。
2.2 稳压电源
稳压电源采用三端稳压器7805、7824构成。由于78系列稳压器最大输出电流为1.5A,而系统输出最大电流为2000mA,为此,需外加功率管扩流。
2.3 A/D、D/A的转换电路设计
根据设计要求,系统要求输出的电流信号为20—2000mA,步进为1mA,且要求显示数值,因此,给定量的执行元件一D/A转换器与检测元件一A/D转换器至少需要11位的转换精度。结合系统的设计要求,并考虑到单片机的I/O接口资源紧张等因素,最终确定选用串行数据传送方式的ADS7841和DAC7512两款芯片(转换精度均为12位的集成芯片),其量化精度能达到1/4096<1/2000,完全能达到设计的精度要求。
ADS7841芯片用于将电流检测电路输出的模拟电压信号转换成数字信号,回送给单片机,由单片机将该反馈信号与预置值比较,根据两者间的差值调整输出信号大小,由此构成反馈调节,提高输出电流的精度。
同时,A/D转换器采样回来的电流经过单片机处理后传送到LED,用以显示当前的实际电流值。D/A转换器将设定的电流值转换为模拟信号并提供给压控恒流源,控制恒流源的输出大小。
ADS7841中,在电源输入端并联一个0.1IzF的电容去耦,同时并联一个101_LF的电解电容来提高供电的稳定性。根据其技术资料,将引脚端1和端2短接就能实现5V的基准源输出,并在引脚端6和7之间接一个0.1仙F的电容,能有效地提高抗干扰性能。
2.4 恒流源电路
恒流源模块电路的设计是本系统硬件设计的核心,它是用电压来控制电流的变化。为了能产生恒定的电流,我们采用电压闭环反馈控制。恒流源电路原理图如图2所示,该电路由运算放大器、大功率达林顿管、采样电阻Rs、负载电阻RL等组成。取样电阻RS从输出端进行取样,再与基准电压比较,并将误差电压放大后反馈到调整管,使输出电压在电网电压变动的情况下仍能保持稳定。电路中调整管采用大功率达林顿管TIPl27,既能满足输出电流最大达到2A的要求,也能较好地实现电压近似线性地控制电流。Rs选用热稳定性好的康铜丝,并选取较大的阻值(2Q),使得在电流较低时也能获得较大的电压值。运算放大器采用高精度的OP一27作为电压跟随器。当Ui一定时,运算放大器的Ui=Uf,Io=Is=U1/Rs,达林顿管的,Ic≈Ie。(基极电流相对很小,可忽略不计),所以Io=Is=Ui /Rs……正因为I0=Ui/Rs,电路输入电压配Ui控制电流Io,即I0不随RL的变化而变化,从而实现压控恒流。
输出电流采样电路测量Rs两端的电压差,根据,I=U/R换算得到电流值。电路原理图如图3所示。通过对电阻Rs两端的电压值进行采样,经过运算放大器送入A/D转换器ADS7841进行转换。因为A1、A2为电压跟随器,输入电阻高,所以采样端V1、V2几乎不分流,从而实现对电流的精确采样。因为采样电阻Rs两端有较高的电压,所以,差分电路中的运放器采用双电源供电。因为电流输出的范围较宽,所以放大倍数不能太大。Rs=2Ω,测量的电流范围为0—2000mA。
2.6 键盘和显示电路设计
人机界面包括键盘和显示电路,主要是为了实现对电流值的任意设定,对给定值和输出值实时显示。
输入设备采用轻触按键来实现,显示部分采用LED显示。由于显示的电流值最多为4位,所以在设计中使用了8个共阳极数码管,采用动态扫描的方式实现。
为了增强位选信号的驱动能力,将位选端口接在9012三极管的基极,使9012三极管工作在开关状态,大大提高了数码管显示的亮度。
3 系统的软件设计
为了提高代码的执行效率,系统软件设计均采用汇编语言编写。单片机软件主要包括主程序,A/D电流采样子程序,D/A输出电流给定值及键盘显示等程序。A/D采样子程序主要是采集电路中的电流信号,再通过单片机运算并显示当前的电流大小。D/A输出程序将用户设定的恒流值转换成为模拟信号,并提供给压控恒流源,实现恒流控制。键盘与显示程序用LED动态显示数据信息,在一个主程序周期中扫描检测一次键盘,察看是否有有效的键按下,再根据键盘状态做出相应的处理。系统软件流程图如图4所示。
采用数字万用表DT9904C(四位半)为测量仪器,以毫安档与负载串联,通过键盘预置输出的电流值,在不同的预置值下测量实际的电流值,检测结果如表1。
系统输出实际测试结果表明,本直流电流源的输出电流范围为20—2000mA,步进lmA或10mA可变。
改变负载电阻,输出电压在10V以内变化时,输出电流变化的绝对值小于输出电流值的0.1%+1mA,纹波电流小于O.2mA,是一个较为理想的直流电流源。
1 系统组成和原理
1.1 系统的组成
本电流源系统可分为稳压电源电路、单片机控制部分、A/D和D/A转换电路、恒流源电路、人机界面(包括键盘输入与LED显示)等几部分,其系统组成如图1所示。
系统原理如图1所示,系统通过稳压电源向恒流源提供24V电压,向单片机AT89C52、A/D和D/A转换器提供5V电压,通过键盘对电流值进行预置,利用单片机将电流步进值或电流设定值换算后输出相应的数字信号,经过D/A转换、信号放大,驱动恒流源输出电流信号,实际输出的电流再利用精密电阻采样变成电压信号,经过A/D转换,将信号反馈到单片机中,单片机将输出反馈信号再与预置值比较,送出调整信号,再输出新的电流,这样就形成系统的闭环调节,从而提高了输出电流的精度。显示电路用于显示电流设定值和当前电流测量值。
2 硬件系统的设计
2.1 单片机控制系统的设计
在本设计中,控制芯片主要完成与A/D、D/A的数据通信及对其数据的处理,实现对系统给定量的设定和对输出量的采样与显示。同时还检测各种故障信息,及时地发出相应的报警信号。此外,由于系统属于强的EMI源,对主控制器芯片的抗干扰性能和故障处理能力有较高的要求,所以,控制芯片采用 AT89C52单片机。
2.2 稳压电源
稳压电源采用三端稳压器7805、7824构成。由于78系列稳压器最大输出电流为1.5A,而系统输出最大电流为2000mA,为此,需外加功率管扩流。
2.3 A/D、D/A的转换电路设计
根据设计要求,系统要求输出的电流信号为20—2000mA,步进为1mA,且要求显示数值,因此,给定量的执行元件一D/A转换器与检测元件一A/D转换器至少需要11位的转换精度。结合系统的设计要求,并考虑到单片机的I/O接口资源紧张等因素,最终确定选用串行数据传送方式的ADS7841和DAC7512两款芯片(转换精度均为12位的集成芯片),其量化精度能达到1/4096<1/2000,完全能达到设计的精度要求。
ADS7841芯片用于将电流检测电路输出的模拟电压信号转换成数字信号,回送给单片机,由单片机将该反馈信号与预置值比较,根据两者间的差值调整输出信号大小,由此构成反馈调节,提高输出电流的精度。
同时,A/D转换器采样回来的电流经过单片机处理后传送到LED,用以显示当前的实际电流值。D/A转换器将设定的电流值转换为模拟信号并提供给压控恒流源,控制恒流源的输出大小。
ADS7841中,在电源输入端并联一个0.1IzF的电容去耦,同时并联一个101_LF的电解电容来提高供电的稳定性。根据其技术资料,将引脚端1和端2短接就能实现5V的基准源输出,并在引脚端6和7之间接一个0.1仙F的电容,能有效地提高抗干扰性能。
2.4 恒流源电路
恒流源模块电路的设计是本系统硬件设计的核心,它是用电压来控制电流的变化。为了能产生恒定的电流,我们采用电压闭环反馈控制。恒流源电路原理图如图2所示,该电路由运算放大器、大功率达林顿管、采样电阻Rs、负载电阻RL等组成。取样电阻RS从输出端进行取样,再与基准电压比较,并将误差电压放大后反馈到调整管,使输出电压在电网电压变动的情况下仍能保持稳定。电路中调整管采用大功率达林顿管TIPl27,既能满足输出电流最大达到2A的要求,也能较好地实现电压近似线性地控制电流。Rs选用热稳定性好的康铜丝,并选取较大的阻值(2Q),使得在电流较低时也能获得较大的电压值。运算放大器采用高精度的OP一27作为电压跟随器。当Ui一定时,运算放大器的Ui=Uf,Io=Is=U1/Rs,达林顿管的,Ic≈Ie。(基极电流相对很小,可忽略不计),所以Io=Is=Ui /Rs……正因为I0=Ui/Rs,电路输入电压配Ui控制电流Io,即I0不随RL的变化而变化,从而实现压控恒流。
输出电流采样电路测量Rs两端的电压差,根据,I=U/R换算得到电流值。电路原理图如图3所示。通过对电阻Rs两端的电压值进行采样,经过运算放大器送入A/D转换器ADS7841进行转换。因为A1、A2为电压跟随器,输入电阻高,所以采样端V1、V2几乎不分流,从而实现对电流的精确采样。因为采样电阻Rs两端有较高的电压,所以,差分电路中的运放器采用双电源供电。因为电流输出的范围较宽,所以放大倍数不能太大。Rs=2Ω,测量的电流范围为0—2000mA。
2.6 键盘和显示电路设计
人机界面包括键盘和显示电路,主要是为了实现对电流值的任意设定,对给定值和输出值实时显示。
输入设备采用轻触按键来实现,显示部分采用LED显示。由于显示的电流值最多为4位,所以在设计中使用了8个共阳极数码管,采用动态扫描的方式实现。
为了增强位选信号的驱动能力,将位选端口接在9012三极管的基极,使9012三极管工作在开关状态,大大提高了数码管显示的亮度。
3 系统的软件设计
为了提高代码的执行效率,系统软件设计均采用汇编语言编写。单片机软件主要包括主程序,A/D电流采样子程序,D/A输出电流给定值及键盘显示等程序。A/D采样子程序主要是采集电路中的电流信号,再通过单片机运算并显示当前的电流大小。D/A输出程序将用户设定的恒流值转换成为模拟信号,并提供给压控恒流源,实现恒流控制。键盘与显示程序用LED动态显示数据信息,在一个主程序周期中扫描检测一次键盘,察看是否有有效的键按下,再根据键盘状态做出相应的处理。系统软件流程图如图4所示。
采用数字万用表DT9904C(四位半)为测量仪器,以毫安档与负载串联,通过键盘预置输出的电流值,在不同的预置值下测量实际的电流值,检测结果如表1。
系统输出实际测试结果表明,本直流电流源的输出电流范围为20—2000mA,步进lmA或10mA可变。
改变负载电阻,输出电压在10V以内变化时,输出电流变化的绝对值小于输出电流值的0.1%+1mA,纹波电流小于O.2mA,是一个较为理想的直流电流源。
好贴,怎么没人顶
顶一个
怎么没程序,没电路
好贴
谢谢小编分享
顶一个
好贴,谢谢分享
顶起!
顶一个
还能看的懂!给力!
好贴
顶一个,不过貌似那个恒流源的电路不大对吧。
小编能不能打包个仿真,PCB,程序发给我呀,谢谢了
请问如果做成一个系统的话 恒流源那块15V如何提供 你这只是理论上的设计 工程应用不符合实际要求