一种基于STM32的高精度程控电流源设计

电源设计应用

419人已加入

描述

  低纹波、高精度电流源是一种重要的仪器设备;广泛应用于电光源、电化学、通信、测量技术、电子仪器等领域。目前,市场上的电流源不具备连续可调功能;并且输出电流范围小、精度低、纹波大、价格昂贵;为应对市场需求;本文设计了输出电流为0~5A;最大功率为100W的高精度程控电流源;主要技术指标为:电流源工作电压220V/50Hz;输出电流范围0~5A连续可调;线路调整率《0。05%+0。1MA;负载调整率《0。05%+1MA;设准确度≪0。05%+2MA;回读准确度《0。05%+2MA;系统设定分辨率为0。1MA;回读分辨率为0。01MA。

1、线性稳流原理

数控式线性稳流电路结构如图1所示,它由调整管、误差放大器、电流检测器、D/A、A/D、MCU控制系统组成。当调整管工作在放大状态下,通过控制调整管基极电位,从而控制管压降UCE的大小,为了使输出电流稳定,当负载变化或者输入电压UI波动时,需要调整UCE,使输出电流保持不变。采用电流检测和误差放大器构成负反馈电路结构来达到稳流目标ꎮ假设UI或RL增大,输出电流增大,电流检测电路输出电压U+增大,若控制电压UC保持不变,误差放大器输出U0l减小,调整管的管压降UCE上升,使输出电流保持不变。设电流检测电路电压放大倍数为K,由运算放大器的虚短、虚断特性可得:

U+=KRI=Uc(1)

从而得到,I=UC/KR。因此,该电路能达到稳流目的。由式(1)可知,通过改变控制电压UC的大小,可改变输出电流的大小。MCU系统通过D/A器件可达到输出电流程控目的。

电流源

图1  线性稳流电路原理

2、电流源硬件设计

电流源硬件框图如图2所示,由T频变压器、单相桥式整流滤波、一次稳压、线性稳流、辅助电源、STM32系统、D/A和A/D组成。辅助电源采用LM317、LM337、LM7805、LM7905、AMS1117电源管理芯片,提供电路中芯片正常工作的电压。STM32单片机系统通过D/A控制线性稳流输出,通过A/D读取输出值,从而到达程控目的。

电流源

图2  基于STM32的电流源硬件框图

2.1、STM32单片机系统设计

采用STM32F407VGT6作为核心处理器。该处理器是基于ARMCortex-M4内核的低成本处理器,具有丰富的外设资源,主要用于电机控制,自动化,电子测量等应用领域。STM32单片机系统硬件框图如图3所示,由RS232串口电路,液晶显示模块,按键及旋转编码器,串行FLASH组成。系统通过按键和编码器获取用户输入,通过显示模块进行人机交互,RS232串口用于传送SCPI控制指令,实现计算机与系统连接,串行FIASH采用SST25VF芯片,用于掉电时储存运行数据。

电流源

图3  STM32单片机系统硬件框图

2.2、变压器抽头选择电路设计

为了提高程控电流源的精度以及减小系统功耗,在交直流变换中通过改变变压器抽头选择与设置电压相近的电压。变压器抽头选择电路,主要由滞回比较器和继电器组成。如图4所示,变压器有34V、28V、22V、16V以及10V交流输出.STM32处理器计算相应的电压量程后,通过控制S1、S2、S3、S4继电器开关来选择交流输入电压,本电路默认输入10V的交流电压。电流源输出电压经Ris与R19分压得来,为了稳定输出电压,在电路中加入滞回比较器,并把输出电压接到比较器正相端。

电流源

图4 变压器抽头选择电路

2.3、程控稳流电路设计

程控稳流电路如图5所示,主要有电流检测电路、误差放大电路、误差放大稳压电路组成。电流检测电路主要有电流检测芯片INA286以及检测电阻(R59)组成,当电流通过R59时,R59产生一个电压从而把检测电流转换成电压,通过INA286将此电压进一步放大得到Usence,并其输入到误差放大器。通过OPA2188将Usence与设置电压(DA—Vin)比较后控制控制调整管的导通程度,从而控制电流大小。调整管采用两个达林顿管TIP147并联构成,降低单管电流,提高调整管的使用寿命。

考虑到本电路输出最大电流为5A,检测电流电阻的精度会影响到系统的精度,若电阻阻值选择过大,在大电流情况下发热严重,导致电阻阻值变化,从而影响系统的精度。采用DALE的高精度低温漂电阻作为电流检测电阻,阻值为0.01欧,在最大电流情况下该电阻的功率为0.25W.

电流源

图5 稳流电路

2.4、A/D和D/A电路设计

如图6所示,由于电流源要求设定分辨率为0.1mA,需要采用13bit以上的D/A转换芯片作为电流控制功能。本文采用TI公司的DAC8830转换芯片。电路输出5A时,电流检测输出为SV。考虑到给予输出电流一定的余量,电流源设计成最大输出为5.5A。D/A转换器基准电压采用2.5V,在5.5A输出时,D/A电路需要输出s.sV,因此需要在D/A输出端加入一级电压放大器。此时,D/A的控制精度为1LSB=5.5/2‘6=0.084mA。

电流源

图6AD和DA电路

电流源的设计指标要求回读分辨率为0.01mA,需要采用19bit以上的A/D才能满足设计要求。本文采用24bit模数转换芯片LTC2400。通过R4和R5的分压使输入电压不会超过2.048V基准电压。电流回读精度为0.68uA。

3、电流源软件设计

电流源软件设计分为界面显示和控制两部分,主要功能有恒流输出,任意波形电流输出,按上次运行参数输出。同时,设计了基于串口通信的SCPI指令解析器,PC端可通过SCPI指令对电流源进行控制。

3.1、程控界面软件设计

电流源采用5inch800x480分辨率TFT显示模块进行界面显示,通过按键和旋转编码器设置运行参数。系统移植了嵌入式uCGUI界面系统,通过函数库调用完成界面设计。界面控制流程图如图7所示,完成界面创建后,系统等待输入信号。当输入信号来到时,系统根据信号类型进入对应的子函数。

电流源

图7界面控制流程图

3.2、电流输出控制程序设计

电流输出分为恒流输出和任意波形输出。恒流输出需要设置输出电流值,运行时间。恒流输出开始时,系统获取设置参数,并将设置电流值转换为D/A设置值,启动系统计时器,控制D/A输出并通过A/D读取输出电流。当运行结束信号有效时,输出结束。任意波形输出需要设置每个步序的上升时间,升毕电流值,顶部维持时间。具体控制流程如图8所示,系统获取输人参数后,启动定时器,根据上升时间判断该时间阶段是否处于电流上升阶段,若是,计算上升斜率值,控制D/A输出;否则,系统根据顶部维持时间判断该时间段是否处于电流维持阶段,若是,输出D/A值不变;否则,本步序输出结束。

电流源

图8任意波形电流输出控制流程图

3.3、SCPI指令解析器设计

SCPI指令是针对串口和GPIB接口的通信命令,由标准ASCⅡ码组成.IEEE488.2中定义SCPI命令位于硬件层之上,可实现对不同仪器的控制功能。PC端可通过SCPI指令实现对电流源的监测和控制。本文设计两类SCPI指令,一类是SCPI公用指令,以字符‘*’开始,如查询设备信息,系统复位等。另一类是电流源专用指令,分别为电流设置命令,电流回读命令,状态查询命令,输出使能/无效命令。一条SCPI指令包括指令题头,分隔符,指令参数。例如CURR:DCl.0,CURR:AC是本条指令题头,表示电流设置,设置为恒流模式,1.0是指令参数,表示设定恒流输出为1A。表1列出了本电流源系统用到的专用指令。

表1  电流源专用SCPI指令列表

电流源

本文采用查表法实现SCPI指令解析。当接收到SCPI指令时,系统首先判断指令的语法是否正确,若语法错误,返回错误代码,若正确,则对指令进行预处理,并在已存的指令表中查找对应的人口函数。软件流程如图9所示。

电流源

图9SCPI指令解析流程

4、实验验证

4.1、电流源输出精度实验

高精度程控电流源样机如图10所示,为了验证电流源输出精度,将4Q电阻负载接人电流源,采用UT61E电流表进行测量,在输出0—5A测得对应的输出值。表2列出了部分实验数据,从中可得到,本电流源设置精度可达到0.05%+2mA,回读分辨率可达到0.05%+2mA,满足设定的指标。

图10  高精度程控电流源样机

表2电流源输出精度数据          单位:mA

电流源

5、结束语

采用线性稳流结构,设计了一种高精度程控电流源系统。电流源最大输出功率为100W.输出电流范围0—5A,设置精度可达到0.05%+2mA,回读分辨率可达到0.05%+2mA。软件上设计了SCPI指令解析器,可通过指令实现控制功能。通过实验证明,该电流源工作稳定,精度高,电流输出范围大,满足工程需要。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
评论(0)
发评论
李大侠_610 2022-08-16
0 回复 举报
好文 收起回复

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分