您现在的位置:首页 > >

在电子设备中经常用到稳定性好精度高输出可预置的直流电流源


在电子设备中经常用到稳定性好、精度高、输出可预置的直流电流源。本文设计 的数控直流电流源能够很好地降低因元器件老化、温漂等原因造成的输出误差, 输出电流在 20mA~2000mA 可调,输出电流可预置、具有“+”、“-”步进调整、输 出电流信号可直接显示和语音提示等功能。硬件电路采用凌阳单片机 SPCE061 A 为控制核心,利用闭环控制原理,加上反馈电路,使整个电路构成一个闭环, 在软件方面主要利用 PID 算法来实现对输出电流的精确控制。该系统可靠性高、 体积小、操作简单方便、人机界面友好。

图 1 数控直流电流源的基本模块方框图 系统硬件实现方案 本设计采用单片机作为主要控制部件,通过键盘预置输出电流值并采用液晶 模块实时显示。整个系统硬件部分由微控制器、电压-电流转换、键盘、显示、 直流稳压电源和语音提示等模块组成。系统组成框图如图 1 所示。 微控制器是整个系统的核心,负责整个系统的运作。为了实现简化硬件电路、 系统性能稳定可靠, 便于实现语音播报、键盘设置和信息的实时显示等功能的协 调,通过多种方案论证后,微控制器选用凌阳公司的 SPCE061A,该单片机内 部集成有 ADC、DAC、PLL、AGC、DTMF、LCD-Driver 等电路(与 IC 型号有 关)。它采用精简指令集(RISC),指令周期均以 CPU 时钟数为单位。另外,它还 兼有 DSP 功能,内置 16 位硬件乘法器和加法器,并配备有 DSP 拥有的特殊指 令,大大加速了各种算法的运行速度。同时可以在 Windows 环境下使用凌阳单 片机应用开发工具,该工具支持标准 C 语言和凌阳单片机汇编语言,集汇编、 编程、仿真等功能于一体,大大加快了软件开发过程。用该单片机作为控制器比 较合适,在硬件电路简单的前提下,容易实现 A/D 和 D/A 转换、语音提示、PI D 运算等功能。

图 2 V/I 转换电路图 显示模块主要实现的功能是显示设置的电流输出值和其它人机交互信息。本 部分可以采用七段数码 LED 显示器,显示数字、简单字母和小数点等信息,但 由于其显示信息单一,人机交互不友好,本文采用字符型液晶显示屏 LCDSMC 1602A 模块。该模块具有轻薄短小、低压微功耗、体积小、无辐射、平面直角 显示及影像稳定不闪烁等优点,且可视面积大、面效果好、分辨率高、抗干扰能 力强,适合用于显示字母、数字、符号等信息,而且不需要扩展过多外围电路, 可由单片机直接进行控制输出显示。 电压-电流转换模块由精密运放与三个晶体管组成的达林顿管电路构成。转 换电路利用晶体管平坦的输出特性和深度负反馈电路使输出电流稳定,如图 2 所示,此 V/I 转换电路的带负载能力强,电流输出范围达 0~3A。输出电流 Io 经 反馈电阻 Rf 得到一个反馈电压 Vf,Vf= V11-V12,通过 R5、R6 加到运算放大 器的两输入端,设运放两端的电为 V1、V2,Vi 由单片机 DAC 输出。因为理想 运放的输入电流约等于零,且 V1=V2,则: V12[1-R6/(R2+R6)]+ViR6/(R2+R6)=V11R1(R1+R6) 由于 V12 =V11-Vf,则: V11R2/(R2+R6)+(ViR6-VfR2)/(R2+R6)=V11R1/(R1+R5) 令 R1=R2=10kW ,R5 =R6 =1kW ,则有 Vf=ViR6/R2=Vi/10 若暂不考虑反馈时, Io=Vi/(10Rf) 由此可见,输出电流的标定由 D/A 转换所得输出电压 Vi 和 Rf 的阻值决定, 成线性变换。Rf 由大线径铜丝制作,其温度系数很小(5ppm/℃),大线径可以使 其温度影响减至最小。3 个三极管应选用大功率管 TIP122,且使用散热片,以 保证管子工作在线性区。

图 3 三运放 V/I 转换电路 电压-电流转换模块还有另外一种方案,即采用三个运放构成输出电流可变的 电流源,如图 3 所示。输出电流 I=Vi/R1,为使 R1 两端的电压保持恒定,由差 分放大器 IC1b 通过射随器 IC1c 监测 R1 两端的电位,此电位经 IC1b 的 7 脚加 到比较器 ICa 的反相输入端与 Vref 比较, 根据比较结果使比较器的输出端变化, 直到平衡为止,即 Vr1=Vi。电路中的电容用于补偿 ICa 的频率,减少控制环路 的延时。只要 R1=R2=R3=R4=R5,此电路的性能较好,但带负载能力不强,环 路延时补偿对电路的稳定有较大影响。

图 4 系统工作流程图 系统键盘模块可以采用独立式或行列式(矩阵式)连接方式, 该模块主要完成对 输出电流和其它信息的设定。 直流稳压电源模块为整个系统供电,语音模块实现 语音提示,使系统设计更具人性化,系统具有友好的工作界面。凌阳单片机内部 集成有 ADC、DAC、PLL、AGC、DTMF 等模块,语音功能可由软件编程实现, 不需要外接任何电路,有效利用了系统资源。 系统工作及软件流程 通过以上对各模块的分析, 系统在工作过程中由 SPCE061A 单片机将被预置 的电流通过换算进行 D/A 转换,以输出电压驱动 V/I 转换电路,并将该电流对应 的电压通过闭环回路,经信号处理电路作 A/D 转换后输入单片机系统,通过 PI D 算法调整电流输出。整个系统工作流程如图 4 所示。

图 5 主程序流程图图 系统软件设计在凌阳十六单片机应用开发工具 unSPIDE1.16.1 中进行,采用 凌阳单片机汇编语言和标准 C 语言对单片机进行编程,以实现各种功能。主要 包括: (1)系统的初始化,包括各外围接口设备的初始化;(2)键盘输入;(3)D/A、 A/D 转换; (4)PID 算法进行电流调整;(5)语音提示和电流显示。其主程序流程 如图 5 所示。

图 6 IRQ1 中断服务程序的流程图 A/D 转换部分程序主要用于将采样电阻采集的模拟电压信号转换为数字信 号。采样信号由 IoA6 输入并直接送入缓冲器 P_ADC_MUX_Data,在 ADC 自

动方式被启用后,会产生一个启动信号,此时 RDY=0,DAC0 的电压模拟量与 外部的采样模拟量相比较,以尽快找出外部信号模拟量的数字量,A/D 转换的结 果保存在 SAR 内。当 10 位 A/D 转换完成时,RDY=1,此时,通过读 P_ADC_ MUX_Data 单元, 可以获得 10 位 A/D 转换的数据。其 IRQ1 中断服务程序的流 程如图 6 所示。 PID 算法主要用于修正实际输出的电流值和设定值的偏差,调节下一次的输 出值,使输出更接近于设定值,提高精度。具体控制过程为:单片机经 A/D 转 换芯片读出实际电流 Ik,然后和设定的电流 Is 比较,得出偏差值 Ek=Is-Ik,单片机 根据 Ek 的大小,调用 PID 公式,计算出本次电流调节的增量 ΔIk,然后根据前 一次的 D/A 转换输出电流 Iq-1,计算出本次的输出电流 Iq。 离散增量 PID 的计算公式为 ΔIk=Kp[(Ek-Ek-1)+K1Ek+KD(Ek-2Ek-1+Ek-2)] =Kp(Ek-Ek-1)+K1’Ek+KD’(Ek-2Ek-1+Ek-2) 式中: K1’= Kp*K1, KD’=Kp * KD,Ek 为本次采样的电流误差, Ek-1 为上 次采样电流误差, Ek-2 为再次采样电流误差值。 结语 为了测试系统运行的准确性和可靠性,可以对设定量与反馈量进行测试,误 差在 0.01%之内,并且运行稳定,达到了预期目的,还增添了特色的音频播放设 计。凌阳 SPCE061A 单片机在该系统中使用,使系统功能齐全、外围电路简单、 输出精确,软件编程采用C和汇编混合编程来实现,集两种优点于一身,丰富了 编程思想,体现了很大的优越性。



友情链接: 幼儿教育 小学教案 初中教案 高中教案 职业教育 成人教育