APP下载

微型扬声器线圈温度测量系统设计

2020-08-31段志杰刘凌云

湖北工业大学学报 2020年4期
关键词:扬声器线圈电流

段志杰,刘凌云

(湖北工业大学电气与电子工程学院,湖北 武汉 430068)

工作中的微型扬声器90%以上的电能转化为了热能,因此在对扬声器进行声学测试时需要监控线圈温度,防止温度过高导致热损坏[1-2]。文献[3]提出一种光纤频域反射法(OFDR)对工作中的线圈温度进行直接测量,但是测量设备价格昂贵,而且由于扬声器线圈本身密封结构等问题,线圈温度无法通过温度计或者热电偶等常规方法[4]以及OFDR直接测得,大多采用间接测量或者通过模型仿真计算的方式,并且在获取结果后并没有对结果给出可靠的验证方案。文献[5]提出一种有限元流体热仿真的方式计算线圈温度,计算复杂且偏差较大;文献[6]提出一种功率-线圈温度模型,将功率与环境温度作为输入,线圈温度作为输出,但是需要实时监控环境温度的变化否则会产生较大偏差;目前间接的测量方法通常是在测量信号中叠加低频信号,测量扬声器在该低频下对应的直流阻抗,根据直流阻抗与线圈温度对应关系计算出线圈温度[7-11]。其中低频信号大多使用芯片AD9850产生,信号叠加均使用加法电路,低频信号的测量均使用有效值测量芯片。间接测量方法中基本都是硬件实现方式,成本较高且不能根据实际需要进行灵活改变。针对上述问题,本文提出在低频信号的产生、叠加、有效值测量均以软件的方式实现,可以按需随意产生、叠加、测量多个低频信号,还可以对多个低频信号下温度计算结果求取平均值,进一步提高测量精度,不受硬件实现上的约束,节约了成本,灵活性高。并且创造性的提出了一种温箱测试实验对系统测量结果进行验证,还可以对未知型号扬声器的线圈温度系数进行测量,此前并无相关文献提出此种验证方案,解决了间接测量方案测量结果的可靠性问题。

1 改进型Goertzel算法

1.1 改进型Goertzel算法介绍

Goertzel算法单频选择性强,可以计算特定频点的DFT,相比于FFT算法计算效率更高[12]。在传统Goertzel算法的基础上,改进型Goertzel算法令传递函数分子分母同乘以相同的因子,省去了很多不必要的复数运算,进一步提高了计算效率,近些年广泛应用于通讯领域,比如电话拨号、对讲机等[13-15]。根据上述特性,引入改进型Goertzel算法对线圈中叠加的低频信号幅值进行测量。对于传统Goertzel算法有

(1)

图1 传递函数为Hk(z)的滤波器结构图

当n=N时,有X(k)=yk(N),则该滤波器的第N个输出即为所要求的X(k)。只需要N个点的数据即可算出所需X(k),相比于FFT运算时,将N条谱线全部算出,Goertzel算法可以只计算k值所对应频率谱线,改变k值即可计算其他所需频率的谱线,运算量大幅减小。

(2)

根据公式(2)进一步变换可得

(3)

由公式(3)可知计算yk(n)仅有一次复数运算,又由于实际计算扬声器线圈温度只需要知道低频信号对应的幅度信息,进一步可得

(4)

1.2 改进型Goertzel算法编程实现

计算机编程时,求某一频率时域的幅值时,有

其中:K表示目标频率f0对应的谱线的编号;R为信号的采样率;N为采样的点数。预先计算如下常数

文献[19]中指出,除了确定性规则,一些较高置信度的可能性规则也经常用以决策,然后将研究的注意力放在置信度不小于给定阈值θ的规则上(θ取值一般建议大于0.5)。然而,这样只关注了规则的准确性,规则的覆盖能力并未考虑。例如,考虑一个训练集,它包含80个正类样例和100个负类样例。假如有如下两条规则:

则可得频率f0在时域的振幅

2 扬声器线圈温度测量整体设计方案

整体设计方案包括硬件设计方案、下位机软件设计方案、上位机软件设计方案。其中硬件设计部分主要是电压电流采样电路的设计,使用差分放大电路将扬声器两端的电压差分信号、测流电阻两端的电压差分信号转换为单端信号。下位机软件部分主要是对STM32H7内部ADC同步采样模式的配置,使用DUAL ADC模式对电压、电流实现同步采样。上位机软件部分主要是使用改进型Goertzel算法对电压、电流信号进行处理,计算扬声器线圈温度并进行显示和存储。上位机与下位机之间使用USB进行数据传输,使用队列缓存机制来防止数据丢帧。信号流向如图2所示。

图2 测量系统信号流向整体示意图

其中使用AUDACITY软件将待测的音源信号与50 Hz音频信号放入不同的音轨,电脑连接声卡后,使用AUDACITY软件同时播放这两路音轨的信号,即可将混合后的音频信号输出给功率放大器。

3 扬声器线圈温度测量硬件设计方案

如图3所示功率放大器,单声道信号由INP端输入,经过功率放大输出给扬声器,扬声器与测流电阻串联,其中VOP、VON为数字输出方式,即均为方波输出,在无输入信号的空闲状态时,VOP、VON输出的方波相同。因此在测量扬声器两端电压时,需要分别使用一个RC低通滤波器将开关调制的方波信号滤除,方波信号的频率一般在几百kHz以上。

图3 扬声器与功率放大器信号输入与输出示意图

由于功率放大器输出的音频信号是差分信号,因此在使用ADC对电压进行采集时需要先将差分信号转换为单端信号,电压电流测量示意图见图4,使用差分放大电路将扬声器两端电压SV+、SV-,与测流电阻两端电压RV+、RV-经过低通滤波器后的电压值进行差值后放大适当倍数,使用ADC1 master,ADC2 slave对电压电流进行同步采样。

图4 电压电流测量方案示意图

具体实现电路见图5。

图5 电压电流测量方案具体实现原理图

V+ 、V-表示扬声器两端电压或者测流电阻两端电压,先经过由R1C1、R2C2组成的低通滤波器,低通滤波器的截止频率可以设置为30 kHz,保证音频范围信号不损失又能滤除高频方波即可。再通过由OPA1、OPA2构成的电压跟随器实现隔离,输出后接入由OPA3组成的差分放大电路,在差分放大电路中加入由OPA4组成的电压跟随器产生的VDD/2的电压偏置,防止差分放大电路输出Vout为负电压,其中R3=R4,R6=R5,R7=R8。

4 扬声器线圈温度软件设计方案

4.1 下位机软件实现流程

下位机STM32H7需要对电压电流进行同步采样然后通过USB上传到PC端,由于音频范围上限为20 kHz,因此采样率选择为20 kHz的两倍并留有一定裕量定为50 kHz。STM32H7单片机程序流程见图6。

图6 下位机软件实现流程图

首先需要实现ADC初始化的配置,将ADC配置为DUAL ADC模式;然后对USB模块进行初始化,随后配置Tim8定时器实现50 kHz的触发事件,每次触发事件启动单次ADC转换,转换完成后的数据存入缓存中,数据量达到一定大小后使用USB进行上传。

4.2 电压电流同步采样方案

对扬声器电压电流的采样要求同步,采用STM32自带的DUAL ADC模式,配置ADC1为master模式,ADC2为slave模式,使用time8定时器的Trigger事件作为定时触发源。ADC同步采样见图7。

图7 ADC双通道同步采样模式示意图

Trigger信号触发后,Master ADC与Slave ADC会同时开始对CH1与CH16通道同步采样,当这一对通道扫描过后会继续扫描通道CH2、CH14,直到将16对通道扫描完成。由于此处只需要测量一个扬声器电压与电流,因此只需要配置扫描通道参数为1,使得每次只扫描CH1、CH16这一对通道即可。数据采集及存储过程见图8。

图8 ADC数据采集及存储过程

当每次转换完成后数据存储在ADC_CDR寄存器中,DMA会自动将数据搬运到1K字节大小的SEND_BUF中,当SEND_BUF存满时会触发DMA中断,在中断处理函数中对数据进行入队处理。由于下位机的数据传输与上位机的数据接收并不能完全同步,因此上位机及下位机软件均需要使用队列缓存机制来防止数据丢失。

4.3 上位机软件实现流程

上位机软件实现流程见图9,首先从下位机接收电压电流数据,使用改进型Goertzel算法计算出50 Hz电压电流信号的振幅,使用50 Hz频率下的阻抗作为扬声器的直流阻抗,根据扬声器直流阻抗与线圈温度的对应关系计算线圈温度,然后进行实时显示及保存。

图9 上位机软件实现流程

4.4 扬声器线圈温度计算方案

已知采样率R为50 kHz,目标频率f0为50 Hz,选择采样点数N为50 k,则50 Hz对应的谱线编号K为50,即可计算出常数C为2。使用改进型Goertzel算法计算出50 Hz电压与电流的振幅后,得到50 Hz条件下的阻抗作为扬声器的直流阻抗,根据直流阻抗与扬声器线圈温度对应关系计算线圈温度,对应关系如下

其中:Rt是线圈温度为Tt时扬声器的直流阻抗;R0是在测试之前室温为T0时的直流阻抗;T0为25℃;Tcoeff是线圈的温度系数,一般取值0.0034。

5 测量结果及结论

由于线圈温度为计算结果,因此需要对计算结果进行验证。设计如下验证方案:将扬声器放置于温箱之中,只播放50 Hz音频,将扬声器线圈视作温度传感器,设置不同的温箱温度,等待线圈温度与温箱温度相同时,读取记录上位机计算显示的线圈温度与温箱设置温度进行对比。

其中50 Hz音频信号作用到扬声器的电压有效值为0.17 v,对线圈温度影响可以忽略不记。温箱从25℃开始设置,每隔至少30 min读取记录一次上位机线圈温度读数,以读数趋于稳定作为最终读取温度时间间隔的标准,然后调整一次温箱温度。选用同一批次的3只温度上限值为100℃、线圈温度系数为0.0034的扬声器进行测试。

第1只按照10℃为间隔进行测试,测试结果见表1。

第2只一开始按照20℃为间隔进行测试,随后的3次测试随机选择温度点,测试结果见表2。

第3只在25℃条件下测试完成后,直接将温度设置到65℃,测试结果见表3。

实验结果显示,上位机计算所得同一批次3只线圈温度与温箱设定温度基本一致,偏差在2 %以内,绝对偏差温度不超过2℃。

表1 第一次实验测量结果

表2 第二次实验测量结果

表3 第三次实验测量结果

以上结果说明笔者所提出的系统设计方案对扬声器线圈温度能进行有效的实时监控,实用价值高。已发表研究中只能给出线圈温度计算结果,并不能对计算结果进行验证,本文设计的温箱实验可以对计算结果进行有力的验证,在此基础上还可以对未知型号扬声器的线圈温度系数进行测量。此外,文中只是进行了50 Hz条件下的测试,还可以更换为其他低频信号,寻找最佳低频点,或者叠加其他低频信号,使用不同低频组合计算出来的结果取平均值,进一步提高测量精度,再使用温箱实验对测量结果作进一步验证。

猜你喜欢

扬声器线圈电流
基于LSTM的汽轮发电机线圈的早期异常检测
Focal&Naim同框发布1000系列嵌入式扬声器及全新Uniti Atmos流媒体一体机
电流“勤劳”的体现
神奇的电流
像乐高一样的扬声器,还能为手机无线充电!
超小型薄壁线圈架注射模设计
大地震 正式发布Cinenova系列扬声器
泉州大剧院选用L-ACOUStiCS、DiGiCo
10kV配变低压侧计量电流异常故障处理
一种改进的定频数字滞环电流控制策略