arm的PWM模块脉宽调制及超声波系统设计

2020-03-24来源: elecfans关键字:arm  PWM模块  脉宽调制  超声波系统

近年来以微电子学和计算机技术为基础的信息技术飞速发展,超声无损检测仪器也得到了前所未有的发展动力,为了提高检测的可靠性和提高检测效率,研制数字化、智能化、自动化、图像化的超声仪是当今无损检测领域发展的一个重要趋势。而传统的超声波检测仪存在准确性差、精度低、体积大、功耗大、人机界面不友好等问题。而超声波发射与控制电路正是在一种基于ARM的超声波检测系统的基础上,以arm微控制器为核心,使用C语言编程,方便地实现了发射频率与激励电压脉冲幅度的调节。


1 超声波检测系统的总体设计结构

基于ARM超声波检测系统的总体结构框图,如图1所示。该系统主要由3部分组成:超声波前端发射接收电路、DSP和arm处理器。

超声波前端发射电路负责产生激励脉冲电压和重复频率可调的超声波。接收电路首先将反射回来的微弱信号经放大、滤波等电路处理,然后通过A/D转换电路对信号进行采集并将采集的信号经数据缓冲FIF0送入DSP.
    
DSP接收由A/D转换器经FIF0缓冲后的数据,主要完成计算结构复杂的信号处理算法,提高超声探伤仪器的精度和数据处理能力。


arm处理器主要完成两部分功能:一是控制功能,调节激励脉冲的宽度和重复频率以及放大电路的放大倍数;二是实现信号的实时显示、存储以及和外部的通信等功能。ARM微处理器采用基于arm920T的16/32位RISC微处理器S3C2440A.其内核频率最高为400 MHz,功耗低,体积小,集成外设多,数据处理能力好,因而可广泛应用于手持设备等。
    
2 超声波发射电路  
根据被测件的材料、厚度等不同条件,所需的相应超声波探头的频率、发射电压也不同。发射的超声波频率一般为几MHz,高压激励脉冲一般为几十到几百伏,脉冲的上升时间不超过100 ns.根据频谱分析,激励脉冲宽度探头频率之间存在着最佳关系式,当脉冲宽度满足这一关系式时,接收探头的接收信号质量最好。该关系式即为:

式中,f0为探头频率,2a为脉冲宽度。本设计所选探头频率为2.5 MHz,由式(1)确定的脉冲宽度为600 ns,所以放电时间应尽量控制在600 ns。


超声波探伤法的种类很多,实际运用中,大部分选用脉冲反射法,其发射电路多选用非调谐式,超声波发射电路如图2所示。电路由可调高压电源、电阻R1和R2、能量存储电容C、绝缘栅型双极晶体管(IGBT)VQ、快速恢复型二极管VD1、VD2和探头组成,设二极管等效电阻为R3,开关等效电阻为R4。arm微处理器的PWM模块产生频率和占空比可调的脉冲,经IGBT的驱动和保护电路后送入开关管VQ的栅极形成控制脉冲V1。当V1为负脉冲时,IGBT关断,高压电源通过R1、VD2对电容C充电,充电时间常数为τ1=C(R1+R3)。当t>5τ1时,认为电容C充满。当V1为正脉冲时,IGBT开通,电容C通过开关管VQ、R2和二极管VD1对探头放电,放电时间常数为τl=C(R2+R3+R4)。超声波探头收到高压负脉冲的激励后便产生一定频率的超声波。

电路中元件作用:

1)电阻R1用来限制充电时高压电源对电容C的充电电流,即起到限流作用,并减小发射单元工作时对电源的影响,从这点考虑,要求电阻R1阻值越大越好。另一方面,电路的重复频率f较高,为了使电容C在触发前能充满电,就必须满足CR1<1/5f。所以要选择合适的电阻R1的阻值。


2)电阻R2有2个作用:一是调节放电时间和发射功率,二是作为阻尼电阻,调节超声脉冲宽度。R2的阻值越小,发射功率越小,发射脉冲越窄;R2阻值越大,发射功率越大,发射脉冲越宽。


3)快速恢复型二极管Vd1、Vd2滤去充电脉冲,使A点只有放电时的负电压激励脉冲。

充电时,电流i与电压UR的关系式如式(2)~式(3)所示。

所研制的电路板可激发探头产生0.5~10 MHz的超声波,激励脉冲电压最高可达830 V,脉冲的上升时间小于50 ns。


3 基于arm的PWM脉冲的产生

arm嵌入式处理器是具有极低功耗、极低成本的高性能处理器,运算速度快、精度高,而且便于实时操作系统的移植,真正成为实时多任务系统。S3C2440A内嵌PWM脉冲模块含4通道16位定时器,占空比、频率、极性可编程,且具有自动重载和双缓冲功能。主频FCLK最高达400M-Hz,APB总线设备使用的PCLK最高达68 MHz。具体过程为:首先,开启自动重载功能,对PWM脉冲的各个参数通过PWM寄存器进行设置,如定时器配置寄存器(TCFGn),定时器控制寄存器(TCON),定时器计数缓存寄存器(TCNTBn),定时器比较缓存寄存器(TCMPBn),定时器计数观察计数器(TCNTOn)等的设置。其次,设置相应定时器的手动更新位,然后设置开始位,在等待时间后定时器开始倒计数,当TCNTn和TCMPn的值相同时,TOUTn的逻辑电平由低变为高。当TCNTn为0,TCNTn用TCNTBn的值自动重载。如果要重新设置TCNTn的初始值,则要执行手动更新。


通过使用TCMPBn来执行PWM功能,PWM的频率由TCNTBn来决定。双缓冲功能允许对下个PWM周期在当前PWM周期任意时间点由ISR或其他程序改写TCMPBn。


4 高压电源及其控制

超声波发射电路对激励电压脉冲要求较高,需要一定的幅值,而且脉冲宽度要求越小越好,且须有一定的发射功率,这决定了超声波探伤的灵敏度,还关系到工件探伤的深度。如果要穿透较厚的工件,就需将较大的电功率转换成声功率。发射功率为:

式中,uA0为电容放电时的瞬间电压,C为电容容量,t为放电时间,P为有效功率。


当放电时间常数确定后,放电时间和C即确定。所以加大发射电压是提高发射功率的主要途径,由放电电压公式可知,除电路中的各个电阻影响外,高压电源的电压是一个主要因素。但电压又不能太高,否则会使压电芯片加速老化。一般发射电压不超过1 800 V。


这里采用美国Ultravoh公司的高压电源模块。其中“V”系列的型号为1V12-P0.4电源模块,能完全满足该设计的需求,其输入电压为12 V,输出电压为0~1 000 V,控制电压为0~5 V,功率为0.4 W。低功耗、体积小、重量轻,并带有输出电压监测和自保护电路。高压电源控制电路如图3所示。

arm微处理器输出的控制信号经D/A转换后可输出0~5 V的控制信号V2,相应的高压电源模块即可输出0~1 000 V的电压。


5 仿真及分析

为验证本设计是否能满足实验的需要,对电路进行软件仿真。因为t=5τ1,约为500μs时认为充电电容充满,所以把开关频率设置为1kH-z。仿真结果如图4和图5所示。

图4中,高压电源输出为725V,R1=10 kΩ,R2=100 Ω,C=0.01μF,得到的激励脉冲约为600 V,宽度为600 ns。此脉冲满足本设计中超声波频率为2.5 MHz时,探头对激励脉冲宽度的要求。


图5中,当高压电源输出最大为1 000 V,R1=10 kΩ,R2=100 Ω,C=0.01μF时,得到的激励脉冲约为830 V,宽度为600 ns。


由于带充电电阻器的高压直流电源效率不是很高,所以激励脉冲的电压也不能达到高压电源的电压。通过arm微处理器发射不同频率和占空比的控制脉冲,可以控制发射电路发射宽度和重复频率可调的激励脉冲。


6 结论

通过对发射电路工作原理以及各个元件作用的分析,得出了各个元件对超声波所起的不同作用,以及arm的PWM模块如何对激励脉冲宽度和重复频率进行调制。经验证。该电路发射的超声波功率、脉冲宽度和重复频率均可调。能满足多种检测需求。

关键字:arm  PWM模块  脉宽调制  超声波系统 编辑:什么鱼 引用地址:http://news.eeworld.com.cn/mcu/ic492479.html 本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:第20课 SPI协议详解及裸机程序开发分析
下一篇:tiny4412开发板GPIO试验

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

ARM七种异常源和异常处理流程(四大步三小步)
                                                    ARM异常处理(处理器对特定的异常事件进行的处理)的进入过程(硬件自动完成):四大步(两备份两修改)三小步:(1)拷贝 CPSR (当前程序状态寄存器current program status register)到 SPSR_<mode>(保存当前
发表于 2020-03-08
ARM七种异常源和异常处理流程(四大步三小步)
arm开发板的一些常用命令
这写记录是我经常忘记的东西:做个笔记在这里1、reboot 是重启的意思。2、source 是使那些修改的文件立即生效,避免了重启之后才能生效的问题,例如我们修改了/etc/profiile,修改之后不能立即生效。这时我们输入 source /etc/profile 就可以生效了这些以后还会继续更新。3、chmod -R 777 /home/edu/practice 设置practice文件夹里面的所有的文件权限为7774、压缩单个文件:gzip -v etc.c   生成的压缩名为:etc.c.gz5、压缩多个文件:gzip -v  *     //压缩当前目录下的所有文
发表于 2020-03-08
ARM处理器的未定义指令异常处理过程分析
在前面的两篇文章中已经介绍了ARM处理器的工作模式和ARM异常中断处理流程。这篇文章我们通过代码来详细介绍ARM处理器未定义指令的异常中断处理;当发生未定义指令异常中断时,CPU进入未定义指令模式。可以通过读取CPSR寄存器的值来判定是否真的进入了未定义指令模式。开发板:tiny4412;工具链版本:gcc version 4.5.1 (ctng-1.8.1-FA)主要设置以下几个文件:start.S文件,详细内容如下:.text.global _start_start: b reset /* vector 0x46000000 reset*/ ldr pc, _undefined_instruction
发表于 2020-03-08
【ARM裸板】启动文件与栈的简略分析
unsigned int *)0x56000054; *pGPFCON = 0x100; *pGPFDAT = 0; return 0;}3.问题函数的调用规则ATPCS:ARM-THUMB procedure call standard(ARM-Thumb过程调用标准)参考文章 Arm汇编学习笔记(六)——函数调用栈空间以及fp寄存器3.1 为什么要设置栈?因为C函数所需保存局部变量保存LR等寄存器(返回地址)调用者如何传递参数给被调用者被调用者如何传返回这给调用者怎么从栈中恢复那些寄存器调用者和被调用者通过r0-r3寄存器传递参数和返回值在函数中,r4-r11可能被使用,所以:在入口保存他们,在出口恢复他们高标号寄存器存放在高地
发表于 2020-03-08
【ARM裸板】启动文件与栈的简略分析
【ARM裸板】S3C2440 时钟设置与分析
由时钟树分析,时钟源通过选择器接入给MPLL(Main PLL)与UPLL(USB PLL)经过MPLL得到FCLK提供给CPU[ARM920T]FCLK分别通过HDIVN与PDIVN分频得到HCLK与PCLKHCLK接入给AHB总线,再给各种高速设备(Nand Flash、内存控制器、中断控制器…)PCLK接入给APB总线,再给各种低速设别(I2C、PWM、GPIO、UART…)1.时钟源最大值2.时钟源2.1 两种时钟源1.晶振2.外部引脚时钟输入2.2 选择时钟源通过改变OM[3:2]引脚来选择时钟源JZ2440 OM[3:2]接入GND,则主时钟源与USB时钟源都选择外部晶振3.上电时钟分析复位等待, 等待电源稳定
发表于 2020-03-08
【ARM裸板】S3C2440 时钟设置与分析
【ARM裸板】内存控制器、SDRAM基础与代码重定位
1.CPU如何控制外设?CPU控制相应外设的寄存器,有外设控制器发出特定的波形2.CPU如何选择寄存器?CPU通过内存控制器选择发出地址addr根据地址选择不同的模块CPU内存控制器读写数据3.外设共用地址、数据总线,如何互不干扰?通过片选CS引脚,选择不同的外设4.谁控制片选引脚发出地址addr根据地址发出片选信号CPU内存控制器使能相应的外设由芯片手册得知:当CPU发出地址是0x00000000时 nGCS0为低电平选择(有效)5.CPU如何读写数据的方向?通过外设芯片的读写引脚控制6.CPU不同位宽设备如何连接并读取数据【内存控制器】6.1 连接方式8bit ROM (从A0开始对应连接)16bit ROM (A0不接,从A1
发表于 2020-03-06
【ARM裸板】内存控制器、SDRAM基础与代码重定位
小广播
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2020 EEWORLD.com.cn, Inc. All rights reserved