基于边沿处理的相位差测量系统设计

2016-05-14 22:40唐军
数字技术与应用 2016年7期

唐军

摘要:近年来,功率超声技术的应用在各行业得到了极大发展,功率超声技术的关键功率超声电源。功率超声电源最核心的工作是控制好电源信号与超声换能器的匹配,匹配的依据就是加上换能器两端的电压与换能器回路上的电流信号相位差的大小。本文对功率超声电源中,电压信号与电流信号的相位差的测量进行了研究,设计了一套基于边沿处理的相位差测量系统。本系统采用CPLD(EPM1270)和ARM(STM32)为核心,将边沿处理的相位差测量测量算法放到CPLD中进行,ARM配合CPLD工作,产生控制信号,并对采集出的原始相位时间信号进行换算,得到真实的相位差大小信号,本设计可以为超声电源的调谐工作提供高速、可靠的依据。

关键词:相位差测量 功率超声 边沿处理

中图分类号:TM933.312 文献标识码:A 文章编号:1007-9416(2016)07-0141-02

近年来,功率超声技术的发展开拓了其在化学、化工、食品、生物、制糖、医药等学科的应用研究。在功率超声技术中,超声换能器在超声电源的控制下,将电信号转换为超声信号。大功率的超声换能器通常埋在管道内,而管道内介质的温度、压强经常发生变化从而导致换能器的状态也要随之改变,这种变化反应在电路参数上,会影响换能器的电压与电流的相位差,而此相位差又是超声电源控制换能器的主要参数之一,因此,设计出一套能及时测量换能器与超声电源之间工作状态的相位差测量系统是十分有必要的。

1 相位差测量系统系统设计

相位差测量系统要解决的问题是测量换能器上的电压和电流的相位差,而这个相位差包含两方面的信息,即以电压信号为基准,电流是超前还是滞后及超前滞后大小量的关系。为了解决这个问题,我们设计了含CPLD和ARM两个核心处理单元的相位差测量系统如图1所示。

在这个系统中,CPLD和STM32共同完成边沿处理的相位差测量,测量工作在CPLD中完成,STM32在中断触发信号Interrupt的作用下,发送数据发送信号Send和计数器清零信号RST完成CPLD控制。同时,STM32取出CPLD传送在端口D和Phase_Data端口上的相位差数据信号,并通过LCD12864完成显示。CPLD依据边沿处理算法,在STM32发送的控制信号Send和RST作用下,完成相位差测量,并依据测量出的相位差信号,产生MOSFET驱动信号。

2 边沿处理的相位差测量算法设计

边沿处理的相位差测量算法,是在CPLD完成的,STM32发出控制信号Send和RST,并取走相位差数据D与Phase_Data如图2所示。

在此算法中,Volatage、ample为来自于取样模块转换后的电压与电流信号,clk为50MHz的时钟信号。系统上电正常工作,将电压信号Volatage和电流信号anple送到CPLD中,CPLD中,在每一个电压信号Volatage 的上升沿读取电流信号ample的值赋值给q(q_bar为取反),则:q=1时,表示的是电流超前的情况;q=0时,表示的是电流滞后的情况。至此,还需要解决第二个问题:超前滞后量的大小问题。为此,设计了一个计数器:Counternumber,其使能信号为CPLD输出信号endcount_out,来自于U、I异或取反。当endcount_out为低电平时,中间变量countnumber开始计数,为高电平时停止计数。同时,ARM将endcount_out配置为上升沿触发中断信号,一旦ARM中断被触发,则发送一个send脉冲信号给CPLD,在send的上升沿,将countnumber里的数据发送到data端口,CPLD将data里的数据发送给ARM单片机,这时,ARM单片机向CPLD2发送一个rst信号,当rst信号为低电平时,把中间变量countnumber里的数据清零,为下一次的工作做准备。

3 STM32软件设计

在STM32的软件设计,分成两个部分进行,首先是完成系统的初始化,然后设计STM32的中断服务函数,在中断服务函数中,还需要完成对测量数据相位的修正。

3.1 STM32系统初始化设计

在STM32系统初始化中,主要完成以下功能:

(1)RCC系统时钟配置;

(2)GPIO端口配置;

(3)NVIC和EXTI配置;

在RCC系统时钟配置中,将外围8M时钟经过PLL倍频成72MHz;GPIO端口配置中,由于PA0端口配置成中断端口,故在此将其配置成下拉输入,其余端口,依据其输入输出属性完成配置,其中,输入端口配置成下拉输入,而输出端口配置成推挽输出;在NVIC和EXTI配置中,选择优先级分组为0,并在最后使能中断。

3.2 STM32中断服务函数设计

在STM32中断服务函数服务函数中,首先发送出send脉冲,其脉宽通过设计为1us,然后取出q和Phase_Data的值,最后发出清零信号RST,完成此动作后,还需要注意完成相位的数据修正。其中,Phase_Data和频率数据Counter_Design为16位的值,来自于CPLD,均需要用一个完整端口去接收。

3.3 相位数据计算

在STM32的中断服务函数中,接收到的相位大小Phase_Data,为CPLD中对相位差计数得到的时间信号,它与相位有关,但并在此时,并不能与相位的值划上等号。原因在于,测量出的实际上是一个时间信号,要想转化成相位信号,还必须得到实时的频率数据。由于电压驱动信号在CPLD中产生,因此,可以非常方便的将频率数据Counter_Design实时的传送出来。

3.3.1 相位时间数据Phase_Data与真实角度的关系

为了方便说明,首先我们假设接收到的相位时间数据Phase_

Data=35,由于功率超声电源工作的频率通常为15KHz到30KHz之间,我们通过Matlab进行数据仿真,得到了相位时间数据Phase_Data在不同频率下所代表的相位差角度,如图3所示。

从图上可以看出,固定相位时间数据Phase_Data=35,在不同频率下,其所代表的真实相位角度是不一样的,并随着频率的升高而升高。在最低的15KHz,相位时间数据Phase_Data=35代表的真实角度为3.7°,而在30KHz处,就变成了约7.5°。从上图可以得出结论,同一个相位时间数据,在不同的频率下,所代表的角度是不一样的。

3.3.2 频率数据Counter_Design的物理含义

现在已经有的数据为相位时间数据Phase_Data和频率数据Counter_Design,我们将推导出真实角度与他们之间的关系,在此之前,首先对频率数据Counter_Design的物理含义进行说明。

由于电压驱动信号在CPLD中产生,CPLD的基准时钟通常选择为50MHz,通常是通过CPLD进行分频得到我们所需的信号。举个例子,如果我们需要得到一个20KHz的信号,那么,应该用50MHz/20KHz得到在一个20KHz的周期内,能够跑过的50MHz脉冲个数为2500,在依据这个数据2500设计一个计数器,让这个计数器的值在2500的时候归0,而要得到的20HKz信号在计数器小于1250的时候为脉冲的高电平,在大于1250的时候为低电平,而Counter_Design的含义就在于这个计数器归零点的值2500,换句话说,Counter_Design

就代表了在50MHz计数脉冲下,目标频率信号的周期。

3.3.3 相位角度的算法

我们对原来的Phase_Data进行修正,具体公式为:

式中为具体角度。在上式中,Counter_Design代表的一个周期的时间,对应的角度为360°,而Phase_Data是相位差的时间数据,对应的实际角度为,由此,得到的计算公式为:

4 电压电流信号采集

电压信号采集与变压器,后边利用光耦6N137进行隔离,比较简单,在此重点介绍电流信号采集。

图4为电流信号采样设计图,首先在主回路里边加入一个采样电阻,取出电流波形,为正弦信号,后边利用LM7171BIN运放构建的电压跟随进行数据采集,然后送给比较器LM393进行数据比较,将正弦信号变成方波信号。

5 实验数据分析

按上述方法,我们制作了相位差测量系统,并利用示波器进行了测试。

在测试中,为方便调试,我们用一个独立的CPLD产生两路方波,方波的相位差固定为预设为30(phase_Data),然后改变频率参数,选择了20KHz、25KHz、10Khz等几个不同频率进行测试,得到了如下表1数据。

表格第一列为Counter_Design,第二列为由信号发生器产生信号频率,第三列为固定的的相位时间值脉冲个数30,在STM32中断服务函数内,我们按公式编程,得到了真实的相位差数据Phase_Data_amend,这个与我们在示波器上观测的结果一致。

随后,我们将该测量系统用到了新型功率超声电源的研制中实际测试,也得到了较好的结果。

6 结语

本文设计了一种边沿处理的相位差测量系统,在该系统中,测量出相位时间数据后,引入实时频率数据对相位时间数据进行处理,得到了实时的相位差值数据,实验表明,该系统工作快速稳定,结果正确。

参考文献

[1]钱卫忠.超声波电机驱动源的频率跟踪.天津大学学报,2003,375-377.

[2]马立.功率超声电源的频率跟踪电路.苏州大学学报,2010,4,11-14.

[3]鲍善惠.超声波清洗机的阻抗匹配电路.洗净技术,2013,14-16.