摘 要:介绍了一种可以产生两路独立0~10 V电压的程控电源及其保护系统的设计方法,采用ST公司32 bit处理器STM32F103VET6作为控制芯片,用来接收上位机的电压输出命令,通过不断对输出采样得到多组数据,先后利用最小二乘法曲线拟合及二分法进行自适应调整,以达到稳定输出的目的。本方案还采用软件保护和硬件保护双保险的设计,确保电源及用电器的安全。此外,还具有电流实时监控,设定电流阈值等功能。在负载测试、短路测试以及变载输出测试中均可稳定工作。
关键词:自适应;最小二乘法;二分法;过流保护
智能电源可以通过计算机控制输出不同的精准电压,并且具有完整的保护电路。其典型的应用领域是在自动在线测试(ICT)仪器中,根据不同的需求变换参数,只需将要发送的命令写入流程中即可,免除人工操作,提高生产效率,降低成本并且操作也相对灵活。目前这种小型程控电源多被国外仪器厂垄断,价格也比较昂贵。本文提出了由STM32F103RBT6控制输出电压,然后根据实际情况配以相应算法进行自适应调整的一种方案。STM32作为一款当前比较流行的微处理器芯片,外设比较丰富,市场价格比较低,但是工作频率也相对较低,因此,本系统采用两种不同的算法依次对输出进行自适应调整,大大减少了处理器的运算量,从而提高了自适应调整的速度。
1 系统整体结构
本设计可由PC机或者PLC远程控制,它们通过USB接口通信,USB接口由串口通过FT232RL转换得来,其作用除了与上位机通信,还可以作为程序调试接口。本系统有两路独立输出,充分利用了STM32的外设,图1所示为其中一个通道的硬件结构图。
系统中唯一的外部输入电压为12 V,设计中用到的所有其他电压值均由其转换得来。
2 电压的输出及反馈系统
总体的思路为片内D/A输出一个电压,通过放大电路后得到所需电压值,并且由A/D对输出参数采样,在此使用A/D的注入型通道(Injected channel),因为这个采样过程不是连续循环扫描模式,而是配合定时器,以一定的频率采样,在定时器中断函数中运行算法并自适应调整的工作过程。系统中,STM32的供电由NCP1117提供,放大及反馈电路如图2所示。
调整过程中,首先考虑放大器本身及外围电阻的误差所导致的输出误差;其次,由于电源稳定输出的过程中,负载的变化也会导致输出电压的微小变化,这时也要快速对输出进行微调以确保在负载变化的情况下也可以稳定输出,整个调整的过程可以称作自适应的过程。由于所用处理器STM32F103VET6最高的处理速度只有72 MHz,因此在选择调整算法的时候必须考虑到运算量问题,如果连续采用运算量较大的算法调整,必定会影响整个系统的工作效率。本系统采用两种不同的算法,既会较快地对输出进行调整,又不会产生太大的运算量。
首先采用的方法是最小二乘法数据拟合算法调整。
最小二乘法数据拟合是曲线拟合的一种,使用比较简单,比较适用于在非DSP处理芯片中使用,其主体思想为:根据N个样点拟合一条小于(N-1)次的曲线,并使这条曲线与所有样点的距离平方和最小[4]。
在此设计中,使用这个算法做输出前调整。由于开始时实际输出和期望输出的差值会比较大,如果直接较大幅度及较高频率的跳变有可能会造成尖峰和震荡,这样从时间和精度上都会为自适应调整过程造成一定的不良影响。所以采用数据曲线拟合的方法,调整之前,在目标电压周围采集若干个点,通过这若干个点拟合一条曲线,然后沿曲线向目标电压移动,次数根据调整幅度确定,当误差小于10 mV的时候停止移动,并打开保护开关开始向用电器输出电压,同时启用另一种算法来持续自适应调整,具体分析步骤如下。
根据已知点数n确定一个多项式模型:
按照要求,当y=6时,方程的有效解为x=5.620,此时变换D/A输出参数,将5.620 V作为调整系统的输入,通过A/D采样测得实际的输出为5.996 V,此时的误差仅为4 mV,故证明,这个调整算法是可行的,并且在速度和准确度方面都能够得到较好的效果。
上述实验及使用中的多次实践证明,经过最小二乘法数据拟合方法调整过的输出电压是接近要求值的,这时打开保护开关,开始向用电器供电,然而由于电源从空载到带载转变时,其输出会产生细微变动,所以在打开保护开关之前,启用另外一种算法(二分法),对输出进行持续的自适应调整,即不断地根据采样值细微改变输出,并贯穿于整个工作过程。
这两种算法中,最小二乘法相对复杂,运算量较大,但是调整次数较少,用在输出之前的幅度较大的自适应调整,有效避免了电压振荡;相反,二分法的运算量相对较少,适用于在整个工作过程中的自适应调整,调整频率为100 Hz,即每10 ms进行一次,较高的调整频率有效抑制了纹波。
3 过流保护
过流保护是电源设计中非常重要的部分,当输出过载或者短路的时候,承担着保护电源本身及用电器的作用。本设计中的过流保护部分采用了软件保护和硬件保护双保险的设计。保护电路如图5所示。
通断开关采用FDN360P,为单通道P型MOSFET,其反应时间短及多次导通截止不易损坏的特点,使其成为此处的最佳选择。软件保护和硬件保护是平行、独立工作的,任何一个起作用都会使FDN360P截止,停止供电。
(1)protectpoint_1为软件保护端,MAX4372为电流放大器[2],在此为10倍放大R10两端的电压,通过不断扫描A/D采样值的方法软件监控电流大小,采用A/D的规则通道(Regular channel)以及连续转换模式(Continuous conversion mode),这样在电流过大的情况下,处理器端可以及时检测到。同时启用A/D模拟看门狗(AWD)功能,如果采样值大于预设阈值,则启动软件保护,即PD12置高,FDN360P截止,停止输出。
(2)protectpoint_2为硬件保护端,LMV358用作电压比较器,TLC555构成一个单稳态触发器[3],当MAX4372的输出端电压大于2 V时,即电流超过1 A,则比较器输出低电平,触发单稳态,TLC555输出为高电平,FDN360P截止,停止供电。同时,电容C7不断充电,当V0升高到2VCC/3时,输出为低电平,FDN360P导通,电源正常供电,此时如果电流依然过大,则再次触发保护,这样就形成了一个不断尝试导通的过程,直到负载正常为止。此种保护为硬件保护,反应时间快,单稳态触发器及FDN360P动作时间之和大约40 ns,可以有效保护电源本身及用电器的安全。
本系统包含了电压的预设、采样、校准、自适应调整、输出以及保护的软件和硬件的设计,避开了硬件自身及外界环境的不良影响。成功将数据拟合及二分法移植到本系统中,两种算法的巧妙配合大大减少了乘加运算次数,使其在主频不是很高的小型嵌入式产品上得到实现,同时调整速度也比使用单一算法调整快。电路设计中,数字地和模拟地是隔离开的,很大程度上降低了高频数字信号对电源输出精度的影响。保护电路方面,软硬件双层保护大大提升了系统的稳定性。系统与远程控制端的接口采用通用的USB接口,使其兼容性更强、应用范围更广。
参考文献
[1] 张旭,亓学广,李世光,等.基于STM32电力数据采集系统的设计[J].电子测量技术,2010,33(11):90-93.
[2] 杨红红,张琛等.电流传感放大器MAX471/MAX472的原理及应用[J].电子技术应用,2000(2):64-65,68.
[3] 谭琦耀.基于555电路的单稳态触摸开关设计[J].煤炭技术,2012(6).
[4] 陆毅,翟丽芳.基于最小二乘法拟合的热电偶温势特性的虚拟设计[J].系统仿真技术,2010(1):49-52.
[5] RM0008 Reference manual. ST Semiconductors. Doc ID 13902 Rev 9.