基于STM8的智能超声发生器设计.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于STM8的智能超声发生器设计.doc

基于STM8的智能超声发生器设计   本文概述基于STM8单片机的智能超声发生器组成和特点,详细说明了超声波形产生、功率控制和自适应频率跟踪技术和基于时间触发合作式控制软件设计。实验证明该超声发生器工作稳定可靠。   【关键词】STM8 超声波发生器 SG3525A   1 引言   超声发生器是超声设备的重要组成部分,担负着向超声换能器提供电能的任务。为了使超声换能器可靠有效地工作,超声发生器不但要向其提供足够的功率,而且要求提供的电能与换能器的谐振频率一致。超声发生器有两种激励形式:一种是自激式;另一种是他激式。自激式振荡频率容易漂移,造成超声设备工作不正常。他激式电路复杂一些,但可靠性好,频率自动跟踪强。本文介绍的智能超声发生器采用他激式,充分利用了STM8单片机的特性,简化了超声发生器的电路设计;采用基于时间触发的合作式调度软件设计,具有抗干扰能力强,工作稳定可靠的特点。   2 超声发生器的总体设计   超声发生器的组成框图如图1所示,以STM8单片机为控制核心,由SG3525A PWM控制器构成频率可调的推挽功率放大单元,用数码管显示参数和状态,按键输入单元。   2.1 超声波形发生和功率控制   超声波形发生和功率控制采用SG3525A PWM控制器,图2为SG3525A内部原理图。由图2可知,当SG3525A的15脚建立正常工作电压后,通过其5、6脚外接阻容元件和7脚放电控制端,在5脚产生锯齿波,调节外接元件参数可控制锯齿波频率。5脚与9脚电压进行比较,调节9脚电压即可调节SG3525A推挽输出脉冲的宽度,实现超声发生器的功率控制。   2.2 频率控制   超声换能器的谐振频率为25K~38KHz,带宽小于100Hz,谐振频率会由于发热、负载变化、老化等原因发生改变,如不及时调整超声发生器的振荡频率,换能器的工作状态就会变化,轻则效率下降,重则停止振动。人工调整频率效率低下且不适应自动化生产的要求。采用STM8单片机控制的超声发生器具有自动频率跟踪能力,可以适应换能器谐振频率漂移。   图3中,调整R3和R5的参数,当频率控制端分别为低电平和高电平时,使SG3525A的输出频率分别为25KHz和38KHz。正常工作时,频率控制端为STM8单片机的PWM输出,由于STM8的PWM最大计数为1023,频率调节小于15,满足换能谐振带宽要求。   谐振频率搜索时,STM8在功率控制端输出固定占空比PWM波,使SG3525A的输出脉宽不变;改变频率控制端PWM占空比,使占空比从0至100%递增,同时用STM8片内AD采集电流反馈端的电压,电压最大时,换能器工作在谐振频率。记录此时送往频率控制端PWM的占空比。   3 软件设计   超声发生器软件需实现按键读取、电流反馈及其它采集、数码管显示刷新等周期性任务,还需要在适当时机送出功率调节和故障报警等信号。若采用单任务机制设计软件,程序只能按顺序依次执行,灵活性差,只能使用中断实时处理短小任务,而STM8单片机片内资源少,难以运行实时多任务操作系统,因此选用基于时间触发的合作式调度软件设计。合作式调度软件由于不需要进行任务切换,代码量小,并且它的行为可预测,容易通过测试和认证。   3.1 调度器结构   基于时间模式的合作式调度器,使用的数据结构占用存储器很少,可以满足STM8单片机的需要。数据结构如下。   typedef struct{   void (*pFunc)(void); // 任务指针   unsigned int Delay; // 任务下次运行延迟时间   unsigned int Period; //周期任务时间间隔   unsigned char isReady; // 任务准备好   } stTask;   3.2 定时中断服务程序   定时中断服务程序是调度器的刷新函数,它扫描任务队列,当某个任务存在且延时为0时,将任务准备好置1并把周期任务时间间隔赋给任务延时;否则,任务延时减1。   3.3 添加任务   添加任务函数将任务添加到任务队列上,以保证它们在需要的时候被调用。添加任务函数的形式参数为调度器结构中的所有数据成员, 每上任务的信息就是通过这些形式参数传递。   3.4 任务调度函数   任务调度函数循环运行,在调度函数中, 判断每个任务的是否准备好,准备好则立即执行任务, 执行任务之后若任务周期时间为0则删除该任务。   3.5 软件实现   使用合作式调度软件,无论在何种情况下,任何任务的运行时间要小于其时标间隔。超声发生器的主程序如下。   void main()   {   Init(); // 初始化   EnInt(); // 允许中断  

文档评论(0)

yingzhiguo + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:5243141323000000

1亿VIP精品文档

相关文档