基于STM32的脉冲式及扫频式超声波除垢信号源设计

基于STM32的脉冲式及扫频式超声波除垢信号源设计
李连通;张伟光;李金博
【摘 要】介绍了一种基于STM32主控芯片产生两种不同信号源的实现]脉冲信号源可以产生四路互补的带死区的脉冲束,脉冲束的频率可以通过旋钮编码器旋转的圈数进行调节,其频率从5 ~ 30 kHz变化,作为磁致伸缩换能器或压电陶瓷换能器超声波除垢设备的信号源.扫频信号源可以产生连续循环变化的扫频方波信号,频率在1 ~ 30 kHz之间扫频,作为电磁扫频式除垢设备的信号源.充退磁控制器
【期刊名称】《哈尔滨师范大学自然科学学报》
风力摆控制系统【年(卷),期】2019(035)001
【总页数】防爆雷达液位计6页(P57-62)
【关键词】STM32;脉冲信号;死区;旋钮编码器;扫频信号
【作 者】李连通;张伟光;李金博
【作者单位】哈尔滨师范大学;哈尔滨师范大学;哈尔滨师范大学羟甲基丙烯酰胺
【正文语种】中 文
【中图分类】TB55
0 引言
传统的超声波除垢设备中的信号源通常分为两种,一种是磁致伸缩或压电陶瓷类的超声波除垢设备,需要脉冲束信号源控制[1];另一种是电磁扫频类超声波除垢设备,需要扫频信号通过功放电路,在线圈内产生变化磁场,进而干扰容器中离子结合.这两种除垢设备都需要各自的信号源,一台除垢设备不能同时驱动两种换能器[2].该文提供设计方案将以上两种信号源,通过一个主控芯片产生,满足两种不同工作方式的换能器,节约了设备成本,减少了设备体积,更方便调试和维护.
1 系统设计
如图1所示,有以下几部分构成:(1)电源部分:稳压模块将接入的交流220V电压降压成3.3
V为STM32主控芯片提供工作电压;(2)主控部分:STM32F103RBT6芯片产生两种信号源;(3)外设部分:旋钮编码器通过控制旋钮编码器,选择脉冲式信号源最佳工作频率送给驱动电路,保证除垢设备在最大效率下工作使除垢效果达到最佳;(4)信号放大电路:STM32信号经过光耦隔离,在功放电路驱动下控制大功率开关原件.
图1 系统设计框图
2 脉冲信号源设计
2.1 磁致伸缩类超声波除垢信号源需求
图2 脉冲式信号源波形示意图
因磁致伸缩材料的问题,驱动信号不能是连续的方波,这样会导致材料发热,影响工作效率,所以采用STM32主从定时器间隔驱动方案.STM32的每个定时器都可以由另一个定时器触发启动定时器一般是通过软件设置而启动,STM32的每个定时器也可以通过外部信号触发而启动,还可以通过另外一个定时器的某一个条件被触发而启动.这里所谓某一个条件可以是定时到时、定时器超时、比较成功等许多条件.这种通过一个定时器触发另一个定时
器的工作方式称为定时器的同步,发出触发信号的定时器工作于主模式,接受触发信号而启动的定时器工作于从模式.
图3 各个定时器主从关系图
根据上述,磁致伸缩类的超声波除垢设备信号源的波形(如图2所示)应满足图3所示的示意图.T1时间不变,在该时间内包含着5~30 kHz可变的带死区占空比为50%的方波,这段时间是对磁致伸缩材料有效做作用时间.T2时间代表两次有效作用时间的时间间隔,同样也不会改变[4].
2.2 硬件设计
1旋钮编码器是一种将角位移或者角速度转换成一连串电数字脉冲的旋转式传感器,1、2引脚外接上拉电阻输出波形送给单片机STM32处理,5脚接STM32外部中断引脚,因为在程序中设置为下降沿触发,所以需要外接上拉电阻防干扰,旋转编码器内部结构如图4所示.
图4 旋钮编码器内部结构
编码器轴每旋转一圈,A相和B相都发出相同的脉冲个数,但是A相和B相之间存在一个90°(电气角的一周期为360°)的电气角相位差,可以根据这个相位差来判断编码器旋转的方向是正转还是反转,正转时,A相超前B相90°先进行相位输出,反转时,B相5超前A相90°先进行相位输出(引脚输出波形如图5所示)[5].
mide008图5 引脚输出波形图
2.3 软件具体实现
stm32控制编码器可以采用Timer的编码器模式,Tim1~8的CH1和CH2分别对应A相和B相.选择编码器接口模式的方法是:如果计数器只在TI2的边沿计数,则置TIMx_SMCR寄存器中的 SMS=001;如果只在TI1边沿计数,则置SMS=010;如果计数器同时在TI1和TI2边沿计数,则 置SMS=011.通过设置TIMx_CCER寄存器中的CC1P和CC2P位,可以选择TI1和TI2极性;如果需要,还可以对输入滤波器编程.两个输入TI1和TI2被用来作为增量编码器的接口.假定计数器已经启动(TIMx_CR1 寄存器中的CEN=’1’),计数器由每次在TI1FP1或TI2FP2上的有效跳变驱动.
旋转编码器第五引脚连接STM32外部中断,在中断函数里判断连续按下时间,如果时间大于2 s,使能编码定时器读取TIM4->CNT的值调整频率.再按下一次,确定频率写入从定时器频率寄存器[6].
通过设置定时器结构体变量TIM_TimeBaseStructure.TIM_Period 来改变计数周期,记数周期也就是定时器计数寄存器TIM4->CNT计数范围,随着旋转编码器顺时针旋转TIM4->CNT的数值逐渐增加,对应着逆时针旋转TIM4->CNT数值逐渐减小.当TIM4->CNT的数值逐渐增加并大于TIM_TimeBaseStructure.TIM_Period数值时,TIM4->CNT会自动清零,同样TIM4->CNT的数值小于零时会自动变成TIM_TimeBaseStructure.TIM_Period数值.这样旋钮开关360°旋转,TIM4->CNT的数值这是零到最大值循环变化.根据超声波声波范围5~30 kHz,把TIM_TimeBaseStructure.TIM_Period的值设为20000Hz,TIM4->CNT把数值传送给STM32pwm频率寄存器就可以实现步进为1Hz频率连续可调的方波输出.
因为驱动电路需要四路互补带死区的占空比为50%的方波,所以选择高级定时器TIM1,根据图 3 如果要用TIM2去触发TIM1,需要将TIM1的Internal Triger配置成ITR1[7].TIM2定时器产生一路频率为20Hz的方波用于驱动高级定时器TIM1,TIM4设置为主模式,把PWM的参考电平OC1REF作为TRGO触发输出.
TIM_SelectMasterSlaveMode(TIM2, TIM_MasterSlaveMode_Enable);
ESBLS菌TIM_SelectOutputTrigger(TIM2, TIM_TRGOSource_OC1Ref);
将TIM1设置为从模式的门控模式,将TIM2的TRG0作为触发输入,控制定时器的开启和关闭.门控模式:当触发输入(TRGI)为高时,计数器的时钟开启.一旦触发输入变为低,则计数器停止但不复位.计数器的启动和停止都是受控的.

本文发布于:2024-09-22 03:56:56,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/107991.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:编码器   信号源   除垢   设备   触发   脉冲   旋转
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议