基于ARM的PWM模块的超声波检测系统方案设计

发布者:SparklingStar最新更新时间:2012-08-11 来源: 21ic 关键字: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)所示。

  

[page]
 所研制的电路板可激发探头产生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为放电时间,

为有效功率。

 

  当放电时间常数确定后,放电时间和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模块  超声波检测 引用地址:基于ARM的PWM模块的超声波检测系统方案设计

上一篇:AT91RM9200 PIO中断在短波通信系统中的应用
下一篇:基于SoC的X86到ARM二进制翻译和执行功能的系统设计

推荐阅读最新更新时间:2024-03-16 13:05

基于ARM的直流系统接地故障检测应用程序设计
0 引言 发电厂、变电站的直流供电系统是控制和信号系统、继电保护及自动装置的工作电源,对保障电力系统安全运行是十分重要的,这就要求直流系统及其网络必须具有高可靠性。当直流系统发生一点接地时,应能及时找出和处理。目前,国内外基于单片机的绝缘监测装置大多是基于传统的平衡电桥法、低频信号注入法等研制的,但要解决直流系统大电容接地和环网影响等问题,则需要采用更为先进的处理方法,如基于小波变换的检测方法,而单片机有限的资源限制了这类方法的使用。 本文通过基于ARM的嵌入式系统进行直流系统接地故障检测装置的设计,并在该装置中实现基于小波变换的检测方法解决直流系统大电容接地和环网影响等问题,并重点阐述了基于该系统的应用程序的设计。 1
[单片机]
基于<font color='red'>ARM</font>的直流系统接地故障<font color='red'>检测</font>应用程序设计
基于ARM9处理器的嵌人式音频系统设计
引言   随着 Internet技术和多媒体技术的快速发展,语音通信技术的应用越来越广泛,也越来越受到重视 。如今的嵌人式设备日益复杂化,功能比以前更加丰富,性能也越来越高。在多种嵌人式终端产品中,音频处理功能已成为不可缺少的重要组成部分,高质量的音效是当前发展的重要趋势。   本文利用 ATMEL公司 的 AT91RM9200型微处理器 和 Philips公司的 UDA1341型立体声音频编解码器设计了一种嵌入式音频系统。该嵌入式音频系统硬件部分采用基于IIS总线的音频系统体系结构,其主要硬件电路后文作了详细的介绍。软件上,笔者以嵌入式Linux操作系统作为平台,重点介绍该音频系统在此平台下的驱动程序的实现。   2 AT9
[单片机]
基于<font color='red'>ARM</font>9处理器的嵌人式音频系统设计
ARM学习之Nand FLash控制器
今天学习了Nand Flash的一些内容。在此做下回忆和总结: 1.什么是Nand Flash? 答:Nand FLash是一种非易失性的存储性介质,一般用于保存嵌入式系统运行所必需的操作系统、应用程序、用户数据等,地位和PC上的硬盘类似。一般来说,它的接口引脚不像SDRAM那样多(SDRAM有20多根),一般也就是十几根。以三星公司的K9F1208U0M为例,如下所示。 正因为它的数据引脚较少,所以它的命令、地址、数据都是公用这一组IO引脚再配上ALE、CLE等其他使能信号进行传输的。操作Nand Flash(读、写、擦除)也和简单,基本上是按照传输命令、传输地址、最后读写数据这样一个流程实现的。这些命令在具体的芯片手册上都
[单片机]
IBM三星TI力挺ARM 为成立合资公司提供支持
  IBM、德州仪器、三星、ARM等六家公司宣布成立一家合资公司,专门研发基于ARM处理器的产品,如平板电脑等。ARM芯片光广泛应用于手机、智能手机,以及即将大批涌现的平板电脑,其设计和制造厂商包括德州仪器、高通、Nvidia、飞思卡尔、ST-爱立信和三星等一大批企业。  北京时间6月3日消息,IBM、德州仪器、三星、ARM等六家公司宣布成立一家合资公司,专门研发基于ARM处理器的产品,如平板电脑等。   新成立的合资公司名称为Linaro,在资金上将获得上述巨头的鼎力支持。   通常情况下,想要研发基于ARM的设备的公司都需要跨越由不同操作系统以及这些操作系统的不同版本所形成的泥潭。这些系统包括Android、Chrome
[手机便携]
快速学Arm(7)--uC/OS-II微小内核提供的14个用户接口函数
这个系列的文章基本上记录了我学习的经过,我平时很忙,学什么东西都力争在最短的时间学到最多的东西.有时候因为太忙了,很多学习过程被中途打断,然后要隔一段时间才能重新再继续.学习方法对于我们掌握知识非常重要,我时常会抱怨下属或同事的学习速度慢,但又无法一下把经验传授出去.而且有些人的个人习惯也无法一下改变.现在技术发展很快,要学的东西很多,类似传统的学习方法肯定是跟不上时代的. 前几篇文章,我介绍了如何让我把运行的环境搭起来,这些学习的第一步,很多本本先生是不喜欢这一步骤的,因此他们永远把知识停留在书本上,理论上头头是道,实际却什么都做不了, 秀才 . 接下来,的想法是打开Sample,找到main()函数,同样,我们也不着急
[单片机]
未来五年华为将向基于Arm的服务器芯片注入4.36亿美元
陷入困境的中国电子产品制造商华为表示,未来五年将向基于Arm的服务器芯片开发投入30亿日元(4.36亿美元)。 该公司希望开发更多产品,例如最近推出的基于Arm的Kunpeng 920--一款主频为2.6GHz的64核兽,采用7nm工艺制造。 华为的轮值主席Eric Xu表示,Kunpeng产品线将为云和人工智能工作负载提供支持。 “在多元化计算时代,华为将与行业合作伙伴合作,围绕Kunpeng构建计算生态系统,并为各行业提供基于Kunpeng处理器的领先IT基础架构和应用,”他说。 为了帮助更多客户建立新架构,华为推出了一个门户网站,其中包含加速库,编译器,工具链
[嵌入式]
未来五年华为将向基于<font color='red'>Arm</font>的服务器芯片注入4.36亿美元
ARM体系架构下的同步操作
处理器在访问共享资源时,必须对临界区进行同步,即保证同一时间内,只有一个对临界区的访问者。 当共享资源为一内存地址时,原子操作是对该类型共享资源同步访问的最佳方式。 随着应用的日益复杂和SMP的广泛使用,处理器都开始提供硬件同步原语以支持原子地更新内存地址。 CISC处理器比如IA32,可以提供单独的多种原子指令完成复杂的原子操作,由处理器保证读-修改-写回过程的原子性。 而RISC则不同,由于除Load和Store的所有操作都必须在寄存器中完成, 如何保证从装载内存地址到寄存器,到修改寄存器中的值,再到将寄存器中的值写回内存中可以原子性的完成,便成为了处理器设计的关键。 从ARMv6架构开始,ARM处理器提供了Exclu
[单片机]
vxworks Arm 架构下的中断
中断的处理分为三个部分: 1、中断检测: arm架构下,中断监测部分的代码是需要用户自己开发的,可以参考ambaIntrCtl.c,需要实现函数xxxIntLvlVecChk、xxxIntLvlVecAck、xxxIntLvlChg、xxxIntLvlEnable、xxxIntLvlDisable和xxxIntDevInit,在函数xxxIntDevInit中把其他几个函数分别挂载在sysIntLvlVecChkRtn、sysIntLvlVecAckRtn、sysIntLvlChgRtn、sysIntLvlEnableRtn和sysIntLvlDisableRtn这几个钩子函数上。xxxIntDevInit在sysLib.c中的sy
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

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

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved