基于STM32单片机的直流电动机在线测速装置设计
2020-08-31李海赵浚坚周志毅潘广川
李海 赵浚坚 周志毅 潘广川
摘要:首先对直流电动机在线测速装置总体设计方案进行了阐述,随后对系统的硬件和软件设计要点进行了详细分析,最后通过系统指标测试结果,验证了直流电动机在线测速装置的可靠性。
关键词:直流电动机;在线测速;传感器;单片机
0 引言
目前国内外对电动机的测速方法有很多,按照不同的理论,可以将其分为拟测速法(如采用离心式转速表或通过电机转矩或电动机电枢电动势计算所得)、同步测速法(如采用机械式或闪光式频闪测速仪)以及计数测速法。计数测速法又可分为机械式定时计数法和电子式定时计数法。传统的电动机转速检测多采用测速发电机或光电数字脉冲编码器,也有采用电磁式传感器(利用电磁感应原理或可变磁阻的霍尔元件等)、电容式传感器(对高频振荡现象进行幅值调制或频率调制)等检测电动机转速。采用光电传感器的电动机转速测量系统具备测量准确度高、采样速度快、测量范围宽以及测量精度与被测转速无关等优点,具有广阔的应用前景。
1 总体方案设计
电流频率测速法通过电流取样,提取其中的直流成分,经放大送入A/D转换电路,最后由单片机处理换算成转速。有刷电动机每转动一周,其电流将会突变N次,根据电动机的不同情况,其中N有可能是6次或者8次,电流频率测速法正是通过测量电动机电流的突变频率,换算成电动机转速,此测量方法属于数字测量方法,误差较小,精度较高,更加容易满足设计要求。
本系统中根据设计方案要求,电流频率测速法,由低阻值取样电阻提取电动机回路的电流脉冲信号,由于取样电阻两端叠加有直流和交流信号,因此需要滤除直流成分,提取与电动机转速有关的交流成分,并进行放大、比较处理,送入单片机系统进行转速换算,并由液晶屏显示电动机转速;有刷直流电动机测速装置的系统组成框图如图1所示。
2 硬件设计
本系统由STM32模块、信号处理模块、电流取样测速模块、控制系统模块、OLED显示模块组成,其中单片机采用了STM32F103单片机作为主控芯片,可以满足本次直流电动机在线测速装置的设计要求。
2.1 信号处理模块
LM393是高增益、宽频带器件,能将输入过来的信号转换成标准的脉冲方波波形,且LM393是专业的电压比较器,切换速度快,延迟时间短。本设计利用了频率测速法,采用采样电阻电路和电感检测电路对数据进行采集,通过放大电路、增益电路、电压比较电路将脉冲信号传送给STM32单片机。为了LM339能正常工作,此次设计在输出端选择串联了一个3.3 kΩ的电阻,同时为了能获得更好的波形,在信号进入LM339前,通过电容和电阻串联了一个RC电路,使波形更加平滑。
2.2 电流取样测速模块
根据设计要求,采用串联取样电阻方式实现测量电动机转速的功能,为了尽可能减少串联电阻对电动机转速的影响,本文选取50 mΩ的取样电阻。在交流电流提取与脉冲变换电路中,R1为电动机支路的取样电阻,通过取样电阻将脉冲电流转换为脉冲电压信号。在此次设计中,通过运用LM358将电动机交流电流提取后的信号进行放大,使用波形变化幅度更大,更容易捕捉。LM358可以实现两级放大,在每级放大器的输出端都串联一个电容,可以使得电容两端的电压不会突变,同时不会滤除电动机产生的交流电压。
2.3 控制系统模块
STM32系列是一款基于Cortex-M3内核的中低端的32位ARM微控制器,最高工作频率可达72 MHz,内部带有丰富的高速、高精度的定时器,将其时钟源配置为外部时钟,就可以对外部脉冲信号进行脉冲计数,还带有单周期乘法器和硬件除法器。在处理速度、定时器采样速度和精度方面,单片机Mega2560都远低于STM32控制器,为了保证系统的测量精度和设计成本,决定选用STM32F103单片机。
2.4 OLED显示模块
在显示方面,本系统选择了96寸的自发光的OLED显示屏。以目前的技术来说,OLED的尺寸还难以实现大型化,但是分辨率很高。系统通过PCtoLCD2002软件快速编译出汉字码,再发送到函数中便可以输出汉字等。
3 软件设计
3.1 系统总体工作流程
系统软件部分主要分成用户交互设计以及数据处理算法设计,基于RT-Thread实时操作系统,利用系统的线程调度完成各个模塊的程序处理,程序流程图如图2所示。
3.2 程序设计思路
首先进行系统初始化,其次判断是否有脉冲信号输入,如无脉冲则转速显示“0000”,若有脉冲输入,则启动定时器开始1 s计时,并记录脉冲个数,最后将脉冲个数换算成对应的电动机转速。本系统采取的是“N+1”测量方法,即在完成1 s内测量出N个脉冲的基础上,继续测量直至最后“1”个脉冲完结所需时长,此方法可避免丢失脉冲的可能,从而提高脉冲个数测量精度。
3.3 定时器的捕获功能应用
在单片机部分,用STM32定时器的捕获功能去捕获电动机转动时产生的波形。此次用到STM32中的定时器5,其中有一个寄存器名为TIM5CH1_CAPTURE_STA。该寄存器当最高位置1时,表示捕获完成;当次高位置1时,表示捕获到一个高电平。在TIM5_Cap_Init函数定义时设置好,然后等待上升沿中断到来,当捕获到上升沿中断,此时如果TIM5CH1_CAPTURE_STA的第6位为0,则表示还没有捕获到新上升沿,就先把TIM5CH1_CAPTURE_STA和TIM5->CNT等清零,然后再设置TIM5CH1_CAPTURE_STA的第6位为1,标记捕获高电平,最后设置为下降沿捕获,等待下降沿到来,如果等待下降沿到来期间,定时器溢出,就在TIM5CH1_CAPTURE_STA里面对溢出次数进行计数,当最大值溢出次数到来时,就强制标记捕获完成。当下降沿到来时,先设置TIM5CH1_CAPTURE_STA的第7位为1,标记成功捕获1次高电平,然后读取此时的定时器值到TIM5CH1_CAPTURE_VAL里面,最后设置为上升沿捕获,回到初始状态。至此完成一次高电平捕获,只要TIM5CH1_CAPTURE_STA第7位一直为1,那么就不会进行第2次捕获,在主函数处理完成捕获数据后,将TIM5CH1_CAPTURE_STA置0,就可以开启下一次捕获了。
4 系统调试及指标测试
为了快速、可靠地检验本测速装置的测量结果,采用相机拍照对比方式,将同步记录本装置与非接触式高精度测速仪的测量结果进行对比,测量结果如表1所示,其中采用串联取样电阻在电动机回路的测量误差均小于0.5%,其指标符合设计要求。
5 结语
本文设计了一种基于SIM32单片机的直流电动机在线测速装置系统,通过电流频率测速法,可快速、有效地测量电动机转速,实验表明,本装置硬件接口电路简单,系统工作稳定可靠,测量精度、响应速度均满足设计指标要求,具有一定的实用价值。尤其在测量空间受限,或者在不允许改装直流有刷电动机结构的情况下,通过感应电动机外壳的电磁信号即可实现转速测量功能,提供了一种新的直流电动机在线测速方法,具有一定的创新性及工程推广价值。
[参考文献]
[1] 李烨,严欣平.基于M/T法的无刷直流电动机智能数字式测速电路[J].中小型电机,2001,28(4):51-53.
[2] 孙桂荣,班莹,刘鸣.电机转速测量设计实验[J].实验室科学,2005(4):50-53.
[3] 丁芝琴.基于霍尔传感器的电机测速装置设计[J].农机化研,2010,32(5):81-83.
[4] 和林涛,李小魁.电机测速系统设计与实现[J].电子世界,2014(20):180-181.
收稿日期:2020-07-08
作者简介:李海(1982—),江西人,讲师,研究方向:检测技术与自动化装置。