基于STM32的超声波发生器扫频信号源的实现
2017-10-31张加岭李善波侯颖钊
张加岭,李善波,侯颖钊,赵 杰
(国网徐州供电公司,江苏徐州221000)
1 前言
近几年来,我国对超声技术的研究十分活跃,科学技术的快速发展,学科之间的相互渗透,超声工程学在很多领域起着至关重要的作用,按其研究内容可以分为检测超声和功率超声两种。超声波获取信息,然后在通信上的应用,叫做检测超声,检测超声主要用于超声波流量计、超声波探伤、超声波测厚仪、水下超声定位与探测、超声对浓度的检测等方面。用超声使物体或物性变化的功率应用,叫做功率超声,功率超声主要应用于焊接、清洗、治疗等方面。
目前,超声技术研究和应用已经从电力、冶金和机械等领域扩展到越来越多的领域,并取得了很好的社会效益和经济效益,成为一种高新技术领域。随着超声技术的成熟,其应用越来越广泛。在控制方式上,传统的感应加热电源控制采用模拟技术,存在由于元件易老化、工作点漂移和一致性差等原因引起的产品升级换代困难等缺点。随着数字集成芯片、单片机、DSP、FPGA的出现,使感应加热电源数字化成为一种趋势,数字化的感应加热电源控制灵活、系统升级方便,只要修改相应的控制算法,而不必对硬件电路进行很大的改动。随着电力电子器件的发展,电路控制技术也在飞速发展。控制电路最初以相位控制为手段、由分立元件组成,发展到集成控制器,再到计算机控制,向着高频率、低损耗和数字化的方向发展。超声波发生器应用数字化控制技术一般有3种形式:MCU控制、DSP控制、FPGA控制。其中MCU控制中,STM32凭借低功耗、高性能、低成本在工业领域得到广泛的应用。
本文主要介绍以STM32F103RB单片机为核心,输出2路互补PWM波,带死区时间控制,为超声波电源的半桥逆变电路提供信号源,占空比频率均可调,实现4k范围的锯齿波扫频,扫频精度达到10Hz,扫频速度达到100us,并给出扫频程序流程图。
2 超声波换能器电路模型等效
超声波发生器能够提供一定频率及一定功率的超声频电能,要将此电能高效率的传输给换能器,必须在超声波发生器与换能器之间设置匹配电路,且功率超声波设备能否高效而安全的工作,很大程度取决于匹配电路的设计。匹配电路主要有静态匹配和动态匹配2种,动态匹配一般采用频率跟踪与功率跟踪技术;静态匹配是在超声波频电发生器输出频率与换能器静态谐振频率相同的条件下,电端输出阻抗与换能器静态输入阻抗匹配,它应用于换能器输出频率固定的场合。
压电器件在远离某一谐振频率的其他频率上没有另外的谐振发生,则在这个谐振频率附近可以把压电器件近似看成一个集总系统。其高频梅森等效电路图如图1所示,图1中的动态电阻R1(即换能器串联支路的电阻)的计算公式为:
图1 非谐振点图
式中GMAX为换能器谐振时的导纳值的实部。
动态电感L1(即换能器串联支路的电感)计算公式为:
式中R1为动态电阻;f2f1为半功率点。
动态电容C1(即换能器串联支路的电容)计算公式为:
静态电容C0计算公式为:
式中CT为换能器在1kHz频率下的电容值。
式中fS为振频率(换能器等效电路中串联支路的谐振频率,称为串联谐振频率),当匹配一致时,在这个频率下换能器的阻抗最小。
由式(2)-式(6)化简得出:
由上述推导可见换能器发生串联谐振时,总电路阻抗不是纯组态,在电路中加入匹配电感使电路呈纯组态,此时的等效电路图如图2所示:
电路总阻抗Z的计算公式:
图2 串联谐振点图
由式(1)-式(8)结合谐振定义可推导出匹配电感L0计算公式为:
3 系统结构
为了产生高精度的超声波扫频信号源,需要建立相应的系统调试电路对程序进行调试分析,其中STM32外围电路如图3所示,包括串口电路、按键电路、复位电路、JTAG下载电路等。PC机上用Keil的MDK软件进行C语言的编写,通过串口电路下载到STM32F103RB单片机,从GPIO口连接到示波器进行显示,JATG下载电路进行硬件调试,按键电路可对占空比进行控制,并可作为频率变化精度测量电路。
图3 系统调试结构图
3.1 STM32 简介
STM32系列基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARM Cortex-M3内核。按性能分成两个不同的系列,STM32F103“增强型”系列和STM32F101“基本型”系列。增强型系列时钟频率达到72MHz,是同类产品中性能最高的产品;基本型时钟频率为36MHz,以16位产品的价格得到比16位产品大幅提升的性能,是16位产品用户的最佳选择。两个系列都内置32K到128K的闪存,不同的是SRAM有最大容量和外设接口的组合。时钟频率72MHz时,从闪存执行代码,STM32功耗36mA,是32位市场上功耗最低的产品,相当于 0.5mA/MHz。1μs的双 12 位 ADC,4兆位/秒的 UART,18 兆位/秒的 SPI,18MHz 的 I/O翻转速度,具有11个定时计数器,其中2个高级定时器、4个普通定时器、个基本定时器。
3.2 占空比调节
STM32的高级定时器具有互补输出功能,通过TIM1_CCMR1寄存器设置为PWM输出模式,调节输出PWM的高电平时间来控制占空比,通过外部按键电路改变TIM1_CCR1寄存器的值来改变高电平的计数值,从而改变占空比,占空比调节范围0%-100%连续可调。占空比D计算公式如下:
从公式(11)中可以看出,占空比不仅和TIM1_CR1的值有关,还和预分频器TIM1_Period的值有关。可通过改变寄存器TIM1_CCR1和TIM1_Period的值,这两种途径来改变占空比。
3.3 频率调节
TIM1定时计数器的时钟频率为72MHz,使能自动重载寄存器TIM1_ARR,通过改变TIM1_ARR的值来改变预分频器TIM1_Period的值,输出PWM波的频率f为:
从公式(11)和公式(12)可以看出,当调节频率时,占空比会随之改变,为了在调频的同时保证占空比恒定,在改变TIM1_Period预分频器值的时,必须同时改变TIM1_CCR1寄存器的值,为此推导出预分频器TIM1_Period和寄存器TIM1_CCR1两者值之间的数值关系如下:
其中Y代表TIM1_CCR1的变化量,X表示TIM1_Period的变化量,由于寄存器TIM1_CCR1的值恒小于预分频器TIM1_Period的值,即式(13)中在X变化不大的情况下,Y恒为0,即使X变化很大,公式(13)得到的值也是极其不准确的,所以不可取。通过实验论证,提出如下解决方案:
设初始占空比为50%,按键按下一次,占空比改变i,预分频器的值每次改变1个单位,则TIM1_CCR1(用 T表示)的值如公式(14)所示:
式中左边T是频率改变前TIM1_CCR1的值。
为了清晰地观察到调频的同时,正频宽也随之变化,将频率变化步长设置为 18.8Hz。如图4和图5所示,频率由25.9916kHz 经过6次扫频到26.0104kHz 时,正频宽由19.31uS 变化到 19.21uS。
图4 初始扫频的频率、正频宽
图5 扫频6次后的频率、正频宽
3.4 死区时间的设置
嵌入死区时间是为了防止在驱动半桥逆变或者全桥逆变电路过程中出现同一桥臂上2管同时导通,造成短路现象损坏器件。STM32的高级寄存器具有死区时间嵌入功能,通过高级定时器的死区寄存器TIM1_BDTR嵌入死区时间,死区时间的设置与上升时间和下降时间有关,通过示波器检测上升时间和下降时间在 20ns到108ns之间变化,所以设置死区时间为110ns,由于在高频情况下,死区时间设置过大,会导致占空比损失严重,所以需要根据具体情况设置死区时间。图6所示为带死区时间的互补PWM输出波形。
图6 带死区的互补PWM
3.5 扫频
扫频有3种方式:正弦波扫频、三角波扫频和锯齿波扫频,由于扫频精度达到10Hz,扫频速度达到100uS,即采用锯齿波扫频或三角波扫频。扫频分为自动扫频和手动扫频,用手动按键扫频的方式检测每次扫频频率的变化量,即扫频精度。自动扫频通过通用定时器TIM3中断的方式来实现,即扫频的速度由定时器中断时间决定,中断时间可由公式(1-5)得:
其中Tclk为TIM3的输入时钟频率(单位为kHz), 此 时 设 置 为72000kHz;
arr为定时计数器TIM3的自动重装值;
psc为定时计数器TIM3的预分频器的值。
图7 开机扫频流程图
4 扫频程序流程图
经试验证明换能器串联谐振频率在正常的条件下波动不会超过3kHz范围,为了节约开机扫频时间,目前设置扫频范围为4kHz。扫频程序流程图如图7所示。