一种数控DC电流源的设计与实现

分享到:

 系统硬件系统设计

本设计采用单片机作为主要控制部件,通过键盘预置输出电流值并采用液晶模块实时显示。整个系统硬件部分由微控制器模块、电压-电流转换模块、键盘模块、显示模块、直流稳压电源模块和语音提示模块组成。系统结构框图如图1所示。

 


图1 数控DC电流源系统

微控制器是整个系统的核心,负责整个系统的运作。为了能够做到硬件电路简单,系统性能稳定可靠,便于实现语音播报、键盘设置和信息实时显示等功能的协调,通过多种方案论证后,选用凌阳十六位单片机SPCE061A。该单片机采用现代电子技术——片上系统SOC(system on a chip)技术设计而成,内部集成有ADC、DAC、PLL、AGC、DTMF、LCD-DRIVER等电路(与IC型号有关)。它采用精简指令集(RISC),指令周期均以CPU时钟数为单位。另外,它还兼有DSP芯片功能,内置16位硬件乘法器和加法器,并配备有DSP拥有的特殊指令,大大加速了各种演算法的运行速度。同时可以在Windows环境下使用凌阳十六单片机应用开发工具,该工具支持标准C语言和凌阳单片机汇编语言,集汇编、编程、仿真等功能于一体,大大加快了软件开发过程。凌阳单片机具有高速度、低价、可靠、实用、体积小、功耗低等特点,用该单片机作为控制器比较合适,在硬件电路简单的前提下容易实现A/D、D/A转换、语音提示、PID运算等功能。

显示模块主要实现的功能是显示设置的电流输出值和其他人机交互信息。本部分可以采用七段数码LED显示器,实现显示数字、简单字母和小数点等信息,但由于其显示信息单一,人机交互不友好,在系统中采用字符型液晶显示屏LCDSMC1602A模块。该模块具有轻薄短小、低压微功耗、体积小、无辐射危险,平面直角显示及影像稳定不闪烁等优点。其方便用于显示字母、数字、符号等信息,而且不需要扩展过多外围电路,可由单片机直接进行控制输出显示。

电压-电流转换模块由精密运放与3个晶体管组成的达林顿管电路构成。转换电路利用晶体管平坦的输出特性和深度负反馈电路使输出电流稳定。如图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=10kΩ,R5=R6=1kΩ,则有Vf=ViR6/R2=Vi/10。若暂不考虑反馈时,Io=Vi/(10Rf)。

 


图2 V/I转换电路图

由此可见,输出电流的标定由D/A转换的输出电压Vi和Rf决定,为线性变换。Rf由大线径康铜丝制作,其温度系数很小(5×10-6/℃),大线径可以使其温度影响减至最小。3个三极管应选用大功率管TIP122,且使用散热片,以保证管子工作在线性区。

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

 


图3 三运放V/I转换电路

系统键盘模块可以采用独立式连接方式或行列式(矩阵式)连接方式,该模块的功能主要完成对输出电流和其他信息的设定。直流稳压电源模块为整个系统供电;语音模块实现语音提示,使系统设计更具人性化,系统具有友好的工作界面。凌阳单片机内部集成有ADC、DAC、PLL、AGC、DTMF等模块,语音功能可由软件编程实现,不需要外接任何电路,有效的利用了系统资源。

系统工作及软件流程

在工作过程中, SPCE061A单片机将被预置的电流值通过换算进行D/A转换,以输出电压驱动V/I转换电路实现电路输出,并将该电流值对应的电压值通过闭环回路,经A/D转换后输入单片机系统,再通过PID算法调整电流输出。整个系统工作流程图如图4所示。

 


图4 系统工作流程图

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

 


图5 主程序流程图

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所示。

 


图6 IRQ1中断服务程序的流程图

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%之内,并且运行稳定,达到了预期目的,还增添了特色的音频播放设计。

继续阅读
Microchip推出两大全新单片机系列

Microchip 8位MCU产品部副总裁Steve Drehobl表示:“新一代Arduino开发板选用ATmega4809器件,不仅加强了两家公司的合作关系,还为Arduino平台带来了CIP和智能模拟的优势”。

Microchip推出新款megaAVR单片机,结合特有耐辐射性能与低成本开发特性

为空间应用开发耐辐射系统不但需要很长的交期,而且成本非常高,因为系统必须具备极高的可靠性才能在恶劣的环境下长年工作。今天,NewSpace和其他重要的航空航天应用都要求加速开发,降低成本。为满足这些需求,Microchip Technology Inc.(美国微芯科技公司)推出了一种新型单片机(MCU),该器件结合了特有的耐辐射性能以及现有商用(COTS)器件的低成本开发特性。

如何用面包板搭建一个实验电路?

面包板是一种用于电路实验的器材,上面有很多孔,我们可以将元器件和导线插进去,组成我们需要的电路。如果发现电路有错,拔下元件和导线重新插接即可。电路做完后,所有元件还可以拔下来再次使用。

单片机控制板需要遵循哪些设计原则?

在元器件的布局方面,应该把相互有关的元件尽量放得靠近一些,例如,时钟发生器、晶振、CPU的时钟输入端都易产生噪声,在放置的时候应把它们靠近些。对于那些易产生噪声的器件、小电流电路、大电流电路开关电路等,应尽量使其远离单片机的逻辑控制电路和存储电路(ROM、RAM),如果可能的话,可以将这些电路另外制成电路板,这样有利于抗干扰,提高电路工作的可靠性。

Microchip的MPLAB Harmony软件升级,不但提高了代码效率,而且还增强了图形开发工具

Microchip Technology Inc.(美国微芯科技公司)日前宣布,现在可以从Microchip网站免费下载MPLAB® Harmony 2.0——适用于PIC32单片机的全功能固件开发框架。这一屡获殊荣的软件平台经过此次重要升级,使客户能够开发出更精简、更高效的代码,让器件速度更快,更具成本效益。除了质量更好的代码,此次升级还增加了许多可在MPLAB X集成开发环境(IDE)中使用的新工具。

©2019 Microchip Corporation
facebook google plus twitter linkedin youku weibo rss