图2.8 自制电源原理图
控制部分:220V电压经变压器输出两组独立的交流10V电源和一个交流15V电源。其中一路交流10V电源经整流、滤波、7805稳压后输 出+5V电压,给CPU和LCD供电;第二路交流10V电源经整流、滤波、7805稳压后输出-5V(正端接地)电压为运算放大器提供负工作电源。交流 15V输出电压经整流、滤波、7812稳压输出+12V电压,为运算放大器提供正工作电源,同时此+12V电源经过参考电源芯片MC1403,输 出+2.5V电压做为A/D,D/A的参考电压。
恒流源电路电源:220V电源经变压器降压输出交流19V电压,再经过整流、滤波、78H15稳压后输出+15V电压,直接作为恒流源电路电源。
2.软件设计
软件系统的任务主要有A/D转换、D/A转换、步进加减、键盘扫描、液晶显示、语音报警等功能。为了将所有任务有序的组织起来,软件系统采用前后台结构。
SPCE061A单片机拥有独立的时基发生器,无需占用定时器。系统设置了一个1024Hz的时基中断,为整个系统提供一个统一的运行节拍,保证了各个任务能有条不紊的工作。
对时间没有实时要求的任务如键盘扫描、液晶显示,放在主循环中。A/D,D/A转换任务需要定周期运行,放在时基中断服务子程序中运行。有效的保证了重要任务能及时被执行。 (1)主程序
系统加电后,主程序首先完成系统初始化,其中包括I/O口,中断系统,定时器/计数器等工作状态的设置,系统变量赋初值等工作;完成系统初始化后打开中 断;随之进入键盘扫描程序。键盘扫描获取键值后根据键值,完成设定预置电流值,步进加减,并通过LCD显示输出电流值及系统是否正常工作信号。主程序流程 图如图2.9所示。
图2.9 主程序流程图
(2)时基中断服务子程序
时基中断服务子程序流程图如图2.10所示。在此中断服务程序中控制进行A/D和D/A转换
图2.10 时基中断服务子程序
(3)A/D转换程序
A/D转换器ADS7816的接口形式为位串行接口,因此在对ADS7816进行操作时需要考虑到时序问题,ADS7816的控制流程图如图2.11所示。
图2.11 A/D转换程序
3、系统的保护及其抗干扰设计 (1)系统的保护
当系统工作不正常导致输出电流过大时,若无保护功能,将造成严重后果。 因此,在硬件方面,选取带有过流、过热、短路保护功能的集成线性稳压电路LM78H15K;在软件方面,当键盘设定电流超过2010mA或者A/D转换器 采样得到的电流值超过2000mA时,控制系统输出的控制信号会切换为0,则主电路输出的电流也相应为0,同时液晶显示\系统工作不正常\。这样系统得到 双重保护,能确保其工作安全可靠。
(2)系统抗干扰设计
系统工作于较强的电磁辐射环境中,容易受到各种干扰的影响。轻则使电流输出不稳定,纹波电流增加,严重时会导致整个系统工作不正常。因此,本系统从硬件和软件两方面采取抗干扰的措施,以保证系统的可靠运行。 a、硬件抗干扰设计
主电路和控制电路的电源由两个独立的变压器供电,消除了主电路对控制电路的电源干扰。
在220V电源进线端设置电源滤波器,消除电网上的各类高频干扰,防止电网电压突变对系统造成冲击。 在运算放大器的输入端加设滤波电容,对抑制纹波电流起到至关重要的作用。 合理布置接地系统中的数字地与模拟地,避免了数字信号对模拟信号的干扰。 b、软件抗干扰设计
系统中采用看门狗技术,若程序出现死循环或者跑飞现象,凌阳单片机内部的看门狗将使单片机复位,将单片机重新拉回有序的工作状态。
对A/D的转换结果采用数字滤波技术,保证控制系统的稳定。 三、测试说明
1、测试仪器
本系统的测试仪器见表3.1。
表3.1 测试仪器
序号 名称 型号 数量
1 2 3 4位数字万用表 低频毫伏表 滑线变阻器 DT9203A XSD-1 BX 7-24 1 1 1 2、测试电路与测试方法 测试电路如图3.1。
图3.1 测试电路示意图
测试方法:采用4 位数字万用表的电流档测试输出电流IL,用低频毫伏表测负载RL两端的电压值VL。负载采用滑线变阻器。
3、测试数据及结果分析
(1)输出电流范围:10mA~2000mA,达到发挥部分要求。 (2)输出电流与给定值偏差 测试数据如表3.2。
表3.2 输出电流与给定值偏差测试数据
序号 给定电流Id(mA) 显示电流(mA) 输出电流IL(mA) |Id-IL|(mA) Id×0.1%+3(mA) Id×1%+10(mA) 1 10 10 11 1 3.01 2 20 20 21 1 3.02 3 200 199 199 1 3.2 12 4 600 598 597 2 3.6 16 5 800 797 797 3 3.8 18 6 7 8 1700 1704 1704 4 4.7 27 9 2000 2004 2005 5 5 30 1300 1500 1303 1502 1303 1502 3 4.3 23 2 4.5 25 10.01 10.02
图3.2 绝对误差比较图
测试结果分析:如图3.2,实测绝对误差曲线在发挥要求的曲线下方。输出电流满足发挥部分的误差精度要求。同时,电流值小时,输出电流更接近给 定电流。电流值较大时,由于系统散热性能不够优良导致恒流源电源性能下降,引起误差增大。误差存在的原因主要是采样电阻制作误差,同时系统工作时采样电阻 发热,阻值变化引起误差。但总的看来,该电流源有较好的精度特性。 (3)步进电流
设定电流500mA,测得步进电流数据如表3.3和表3.4。
表3.3 步进电流数据一
第n次按“+” 输出电流IL(mA) In+1-In(mA) 1 502 \\ 2 504 2 3 506 2 4 508 2 5 510 2 6 512 2 7 514 2 8 516 2 表3.4 步进电流数据二
第n次按“-” 输出电流IL(mA) In+1-In(mA) 1 \\ 2 3 4 5 6 7 8 -2 498 496 494 492 490 488 486 484 -2 -2 -2 -2 -2 -2 测试结果分析:可实现步进2mA,满足≤10mA的基本要求。
(4)改变负载电阻,输出电压在10V以内变化时,输出电流值的情况。 a、 给定电流Id=200mA时, Id×0.1%+1mA=1.2(mA) Id×1%+10mA=12(mA)
表3.5 给定电流200mA时输出电流数据
负载电压VL(V) 输出电流IL(mA) |IL-Id|(mA) 1.31 2.47 3.56 5.1 6.33 7.78 9.57 200 201 200 200 199 200 200 0 1 0 0 1 1 0
图3.3 200mA恒流特性图
b、 给定电流Id=1000mA时, Id×0.1%+1mA=2(mA) Id×1%+10mA=20(mA)
表3.6 给定电流1000mA时输出电流数据
负载电压VL(V) 输出电流IL(mA) |IL-Id|(mA) 1.33 2.74 4.1 5.65 6.67 8.11 9.63 995 1006 992 990 990 988 985 5 6 8 10 10 12 15
图3.4 1000mA恒流特性图
c、 给定电流Id=1800mA时, Id×0.1%+1mA=2.8(mA) Id×1%+10mA=28(mA)
表3.7 给定电流1800mA时输出电流数据
负载电压VL(V) 输出电流IL(mA) |IL-Id|(mA) 0.94 2.13 3.85 5.11 6.51 7.65 9.1 1808 1795 1790 1785 1785 1780 1780 8 5 10 15 15 20 20
图3.5 1800mA恒流特性图
测试结果分析:如图3.5,负载电压变化,给定电流在200mA时,满足发挥部分要求,恒流特性较理想。给定电流在1000mA及1800mA时,输出电流变化绝对值较大,恒流特性变差,主要由于采样电阻不够精确引起,但仍可满足基本部分要求。 (5)纹波电流
取负载电阻RL=9.82Ω,纹波电流=纹波电压/负载电阻。测试数据如表3.8。
表3.8 纹波电流测试数据
给定电流Id(mA) 100 200 300 500 1000 1500 1800 2000 纹波电压(mV) 纹波电流(mA) 1.0 1.2 1.3 1.5 1.6 1.8 1.8 1.9 0.1 0.12 0.13 0.15 0.16 0.18 0.18 0.19
图3.6 纹波特性图
测试结果分析:如图3.6,系统设计过程中,主电路和控制电路独立供电,自制电源进行了稳压处理,同时进行了高频滤波,因此系统的纹波特性较理想。
四、结论
本系统以16位SPCE061A单片机控制与调整主电路的输出电流,并通过液晶显示电流 值,完成了数控恒流源的制作。实现了输出电流可调,步进加,减功能。除很好地满足了基本要求和较好地完成了发挥部分的要求外,电源滤波器的加入,有效地滤 去了电网的高次谐波,保证了恒流源输出较小的纹波。
难点分析:在恒流源的设计与制作过程中,本方案遇到的主要难点在于如何减少纹波,通过仔细 研究与分析,确定要使纹波尽可能小,需要运算放大器的电源和输入端信号要稳定,因此对运算放大器我们采用独立电源供电,保证了放大器有稳定电源电压,进而 使输出较小的纹波电流成为可能。然而,当将控制电路与主电路结合在一起时,输出纹波电流的增大又成为一大问题。这是由于控制电路的输出有纹波,加到运算放 大器的输入端将纹波放大,导致输出电流纹波加剧,为解决这一问题,我们在运放输入端并联电容,以达到滤波的目的,从而较好的解决纹波问题。
除了上述功能外,我们还考虑了其他功能,如语音报警,过载保护,开路保护,以及散热性能的加强,由于时间与资源的限制没有实现,另外,有些功能的实现方式还有待于进一步优化。 相关源代码下载:见下载那