论文部分内容阅读
[摘 要]本文介绍了一种振动测量系统,给出了用交流发电机测振动,产生电压,进行整流电路处理后,实现与STM32F103通信,再通过蓝牙通信模块与手机连接,反应实时电压数据,并且通过滤波算法实现对振动信号的处理。测试结果表明,此振动监测系统 达到了预期的设计要求。
[关键词]振动测量;STM32F103;滤波算法;
中图分类号:G711 文献标识码:A 文章编号:1009-914X(2019)08-0369-01
1、引言
在现代生产和生活中,振动关乎着工业设备的运行状态,是重要的工艺参数。对于人的生活来说,振动程度关乎着人的体感舒适程度。简单的测量设备已经不能满足进步的需要。 而以ARM公司的 CortexTM- M3 为内核的 32位微控制器 STM32F103 正以其运行速度快、成本低 廉价的优势在本领域得到逐渐广泛的应用。本文系统可以测量各种振动,体积较小,可与手机实时通信。
2、系统构成和工作原理
系统的基本工作原理:在本次设计中通过振动使发电机发电,因为波形比较紊乱,且电压数值对于stm32芯片来说过大,所以本设计将产生的交流电进行整流滤波和同比例缩小,运用OP07电路使输出阻抗足够大,输入阻抗小,完全采集振动电压值,通过ADC通道1采集信号,加入滑动滤波算法,在运用蓝牙通信模块HC05与手机或其他蓝牙设备进行通信。通过显示的电压值,就可以将振动情况实时的显示出来。
(1)交流发电模块。
实验采用交流发电机,外部加入齿轮调节减速比。配齿条,当振动发生时,齿条带动齿轮转动发电。将电压信号接入信号处理。
(2)信号处理模块。
首先将交流电通过整流电路,整流电路由四个二极管组成,后接低通滤波电路,滤去高频干扰部分,选取R=16Ω,C=20nF,由临界频率计算公式f=1/2πRC,得出临界频率为500Hz,高于500Hz将不能通过。后运用电阻分压原理,将电压同比例缩小1/3,以适应stm32的串口输入要求。
后接OP07同比例运放电路,Op07芯片是一种低噪声,非斩波稳零的双极性(双电源供电)运算放大器集成电路。具有输入偏置电流低(OP07A为±2nA)和开环增益高(对于OP07A为300V/mV)的特点,这种低失调、高开环增益的特性使得OP07特别适用于高增益的测量设备和放 大传感器的微弱信号等方面。
稳压二极管接3.3v电源,用于保护stm32串口输入。
(3)ADC模块。
通过stm32内部ADC1读取通道PA1上的电压,参考电压3.3v,设置波特率9600bt,后与hc05蓝牙通信模块通信。
ADC部分程序ADC_RegularChannelConfig(ADC1, ch, 1, ADC_SampleTime_239Cycles5 );//选用adc通道1,采样时间5ms一周期。adc转换结束后,在主程序中加入滑动滤波部分,获取adc转化后的值,十个值为一组。滑动平均滤波就是把连续取得的N个采样值看成一个队列,队列的长度固定为N,每次采样得到一个新数据放到队尾,并丢掉原来队首的一次数据,把队列中的N个数据进行平均运算,就可以获得新的滤波结果。经过滑动滤波之后,波形整体变得平滑。 滑动平均滤波程序如下:#define FILTER_N 10
int filter_buf[FILTER_N + 1];
u16 Filter(u8 ch,u8 times) { int i; float filter_sum = 0; filter_buf[FILTER_N] = Get_Adc_Average(ch,times); for(i = 0; i < FILTER_N; i++) { filter_buf[i] = filter_buf[i + 1]; filter_sum += filter_buf[i]; }
return (filter_sum / FILTER_N); }
經过滑动滤波后,避免因为发电机产生的紊乱波形引起测量偏差。
(4)通信模块。
对于通信模块,采用HC05蓝牙通信模块,当蓝牙设备与蓝牙设备配对连接成功后,我们可以忽视蓝牙内部的通信协议,直接将将蓝牙当做串口用。当建立连接,两设备共同使用一通道也就是同一个串口,一个设备发送数据到通道中,另外一个设备便可以接收通道中的数据。
3、结果
通过对st32实施测算电压值,从而得到振幅的实验显示。我们转动发电机,仿真振动使其转动得电压值在4v左右波动,比特率9600bt,采用双12v电源对芯片供电得输出电压值在1.3v左右波动,符合电路分压1/3的设计。
4、结语
本实验针对精度的要求不高,主要适用于对于振动体感的测量和大型机械振动程度,实时性比较强,芯片和处理器的速度快。可以与手机通信,显示出当前瞬时振动程度和平均振动水平,配有软件显示振动电压波形图像。
参考文献
[1]刘再东,祝忠明,周波,史钦文基于 STM32F103 的振动监测系统设计[J].中国集成电路,148期:73-78.
作者简介
史吴斌(1996.11.07-)男,汉族,安徽省滁州市,身份证号:341103199611071612,本科生,研究方向:自动化。
熊长贵(1996.07.18-)男,汉族,贵州省贵阳市,身份证号:520121199607187212,本科生,研究方向:自动化。
王希仁(1997.07.16-)男,汉族,河南省南阳市,身份证号:412929199707166516,本科生,研究方向:自动化。
高瑞龙(1996.07.29-)男,汉族,河南省登封市,身份证号:410185199607290515,本科生,研究方向:自动化。
侯玉峥(1997.07.13-)男,汉族,河南省安阳市,身份证号:410522199707135818,本科生,研究方向:自动化。
[关键词]振动测量;STM32F103;滤波算法;
中图分类号:G711 文献标识码:A 文章编号:1009-914X(2019)08-0369-01
1、引言
在现代生产和生活中,振动关乎着工业设备的运行状态,是重要的工艺参数。对于人的生活来说,振动程度关乎着人的体感舒适程度。简单的测量设备已经不能满足进步的需要。 而以ARM公司的 CortexTM- M3 为内核的 32位微控制器 STM32F103 正以其运行速度快、成本低 廉价的优势在本领域得到逐渐广泛的应用。本文系统可以测量各种振动,体积较小,可与手机实时通信。
2、系统构成和工作原理
系统的基本工作原理:在本次设计中通过振动使发电机发电,因为波形比较紊乱,且电压数值对于stm32芯片来说过大,所以本设计将产生的交流电进行整流滤波和同比例缩小,运用OP07电路使输出阻抗足够大,输入阻抗小,完全采集振动电压值,通过ADC通道1采集信号,加入滑动滤波算法,在运用蓝牙通信模块HC05与手机或其他蓝牙设备进行通信。通过显示的电压值,就可以将振动情况实时的显示出来。
(1)交流发电模块。
实验采用交流发电机,外部加入齿轮调节减速比。配齿条,当振动发生时,齿条带动齿轮转动发电。将电压信号接入信号处理。
(2)信号处理模块。
首先将交流电通过整流电路,整流电路由四个二极管组成,后接低通滤波电路,滤去高频干扰部分,选取R=16Ω,C=20nF,由临界频率计算公式f=1/2πRC,得出临界频率为500Hz,高于500Hz将不能通过。后运用电阻分压原理,将电压同比例缩小1/3,以适应stm32的串口输入要求。
后接OP07同比例运放电路,Op07芯片是一种低噪声,非斩波稳零的双极性(双电源供电)运算放大器集成电路。具有输入偏置电流低(OP07A为±2nA)和开环增益高(对于OP07A为300V/mV)的特点,这种低失调、高开环增益的特性使得OP07特别适用于高增益的测量设备和放 大传感器的微弱信号等方面。
稳压二极管接3.3v电源,用于保护stm32串口输入。
(3)ADC模块。
通过stm32内部ADC1读取通道PA1上的电压,参考电压3.3v,设置波特率9600bt,后与hc05蓝牙通信模块通信。
ADC部分程序ADC_RegularChannelConfig(ADC1, ch, 1, ADC_SampleTime_239Cycles5 );//选用adc通道1,采样时间5ms一周期。adc转换结束后,在主程序中加入滑动滤波部分,获取adc转化后的值,十个值为一组。滑动平均滤波就是把连续取得的N个采样值看成一个队列,队列的长度固定为N,每次采样得到一个新数据放到队尾,并丢掉原来队首的一次数据,把队列中的N个数据进行平均运算,就可以获得新的滤波结果。经过滑动滤波之后,波形整体变得平滑。 滑动平均滤波程序如下:#define FILTER_N 10
int filter_buf[FILTER_N + 1];
u16 Filter(u8 ch,u8 times) { int i; float filter_sum = 0; filter_buf[FILTER_N] = Get_Adc_Average(ch,times); for(i = 0; i < FILTER_N; i++) { filter_buf[i] = filter_buf[i + 1]; filter_sum += filter_buf[i]; }
return (filter_sum / FILTER_N); }
經过滑动滤波后,避免因为发电机产生的紊乱波形引起测量偏差。
(4)通信模块。
对于通信模块,采用HC05蓝牙通信模块,当蓝牙设备与蓝牙设备配对连接成功后,我们可以忽视蓝牙内部的通信协议,直接将将蓝牙当做串口用。当建立连接,两设备共同使用一通道也就是同一个串口,一个设备发送数据到通道中,另外一个设备便可以接收通道中的数据。
3、结果
通过对st32实施测算电压值,从而得到振幅的实验显示。我们转动发电机,仿真振动使其转动得电压值在4v左右波动,比特率9600bt,采用双12v电源对芯片供电得输出电压值在1.3v左右波动,符合电路分压1/3的设计。
4、结语
本实验针对精度的要求不高,主要适用于对于振动体感的测量和大型机械振动程度,实时性比较强,芯片和处理器的速度快。可以与手机通信,显示出当前瞬时振动程度和平均振动水平,配有软件显示振动电压波形图像。
参考文献
[1]刘再东,祝忠明,周波,史钦文基于 STM32F103 的振动监测系统设计[J].中国集成电路,148期:73-78.
作者简介
史吴斌(1996.11.07-)男,汉族,安徽省滁州市,身份证号:341103199611071612,本科生,研究方向:自动化。
熊长贵(1996.07.18-)男,汉族,贵州省贵阳市,身份证号:520121199607187212,本科生,研究方向:自动化。
王希仁(1997.07.16-)男,汉族,河南省南阳市,身份证号:412929199707166516,本科生,研究方向:自动化。
高瑞龙(1996.07.29-)男,汉族,河南省登封市,身份证号:410185199607290515,本科生,研究方向:自动化。
侯玉峥(1997.07.13-)男,汉族,河南省安阳市,身份证号:410522199707135818,本科生,研究方向:自动化。