0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

用振动传感器和Arduino监测工业设备的振动状态

芯情观察猿 来源:芯情观察猿 作者:芯情观察猿 2022-08-23 09:18 次阅读

通常,振动传感器基于机械光学原理检测振动,可用来测量、显示和分析线速度、位移和加速度。虽然人类对振动的感知能力非常弱,传感器却能提供这种振动的状态数据。这就为设备维护提供了关键数据,在设备损坏之前及时进行维修和保养。由于某些失效成本高昂且耗时,用振动传感器检测和锁定缺陷,是实现降本增效的一种好方法。

振动传感器产生的弱小的模拟电压,可通过Arduino的模拟输入引脚转换为数字输出。本项目通过三种不同的程序实现振动检测:
示例一先检测振动,再通过Serial monitor显示振动值;
示例二包含了简单的模拟引脚读数技巧,以及Pulse-in技术;
示例三是控制3个不同的LED,如果某个LED引脚的振动值超过预定义的振动值,这个LED就点亮。

pYYBAGMEKb6AHAwUAATwLB2J2u0291.png

项目BOM如下:
12v适配器 x1
Arduino Uno x1
Arduino Nano x1
51-000923振动传感器 x1
SW-420振动传感器 x1
交通LED模块 x1
面板板 x1
杜邦线 若干

其中,AAC 51-000923振动传感器由长方形压电陶瓷板制成,能够将收集的振动转换为电压输出;或者,将施加其上的电压信号转换为振动,即加上电压就振动。AAC 51-000923长度43mm,带有红、黑两根引线和连接器。创作项目一般使用Arduino,如果不需要连接器可将其剪掉,仅仅通过两根引线连接Arduino和其他MCU板子。

将振动传感器的黑线连接到Arduino的引脚GND,红线连接到Pin A0,接线就完成了。

poYBAGMEKfGAXsC2AAcOXYWWS3o934.png

下面,我们先看示例代码1:

int vib_sensor = A0;
int vib_data = 0;

void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
pinMode(vib_sensor, INPUT);
}

void loop() {
// put your main code here, to run repeatedly:
vib_data = analogRead(vib_sensor);
Serial.println(vib_data);
delay(100);
}

int vib_sensor = A0;
int vib_data = 0;

void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
pinMode(vib_sensor, INPUT);

}
void loop() {
// put your main code here, to run repeatedly:
vib_data = analogRead(vib_sensor);
Serial.println(vib_data);
delay(100);
}

其中,int vib_sensor = A0; 表示振动传感器连接在Arduino的模拟引脚A0上。void setup() 函数激活串口,数据率为 9600。void loop() 函数读、存传感器数据,并通过Serial monitor进行显示。

poYBAGMEKhuAW6umAACTGCxb3Hw208.png

我们将Arduino连接到笔记本电脑,上传以上代码,上传完成后打开Serial Monitor,确定数据率为9600。尝试拍打振动传感器,可看到Serial Monitor的读数在变化。

接下来,我们看看示例代码2:

int vs = A0; // vibration sensor

void setup(){
pinMode(led, OUTPUT);
pinMode(vs, INPUT);
Serial.begin(9600);

}
void loop(){
long measurement =vibration();
delay(50);
Serial.println(measurement);
if (measurement > 50){
digitalWrite(led, HIGH);
}
else{
digitalWrite(led, LOW);
}
}

long vibration(){
long measurement=pulseIn (vs, HIGH); //wait for the pin to get HIGH and returns measurement
return measurement;
}


这里同样使用pin A0,pulseIn()函数用来测量振动期间输入信号的高、低,如果检测到相关震动就点亮LED。

poYBAGMEKlSAHU08AAB7inAwmJA264.png

上传代码后打开Serial monitor,确定数据率为9600。拍打传感器,Serial Monitor读数开始变化,停止后就归零。不过,这个示例只能检测中、强级别的振动。

最后,我们看看示例代码3:

示例3可以检测出振动强度,绿、黄、红三色LED分别指示振动的程度为低、中、强。这三个LED的工作电压为5v,无需限流电阻。具体连接如下:
_Traffic LED模块的GND引脚连接到Arduinoui引脚;
_红色LED连接到Arduino板子的13引脚;
_黄色LED连接到Arduino板子的12引脚;
_绿色LED连接到Arduino板子的11引脚。

int yellow_led = 12;
int green_led = 11;

int vs = A0; // vibration sensor

void setup(){
pinMode(red_led, OUTPUT);
pinMode(yellow_led, OUTPUT);
pinMode(green_led, OUTPUT);

digitalWrite(red_led, LOW);
digitalWrite(yellow_led, LOW);
digitalWrite(green_led, LOW);

pinMode(vs, INPUT);
Serial.begin(9600);

}
void loop(){
long measurement =vibration();
delay(50);
Serial.println(measurement);
if ((measurement > 50)&&(measurement < 1000)){
digitalWrite(green_led, HIGH);
digitalWrite(red_led, LOW);
digitalWrite(yellow_led, LOW);
delay(100);
}

if ((measurement > 1000)&&(measurement < 4000)){
digitalWrite(green_led, LOW);
digitalWrite(yellow_led, HIGH);
digitalWrite(red_led, LOW);
delay(100);
}

if (measurement > 4000){
digitalWrite(red_led, HIGH);
digitalWrite(green_led, LOW);
digitalWrite(yellow_led, LOW);


}


else{

digitalWrite(red_led, LOW);
digitalWrite(yellow_led, LOW);
digitalWrite(green_led, LOW);
}
}

long vibration(){
long measurement=pulseIn (vs, HIGH); //wait for the pin to get HIGH and returns measurement
return measurement;
}

pYYBAGMEKmKAYeM6AARWAVWosM4303.png


这是示例2的升级版,void loop() 函数定义了三个LED的及其点亮的振动值。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • led
    led
    +关注

    关注

    242

    文章

    23398

    浏览量

    664056
  • 振动传感器
    +关注

    关注

    2

    文章

    323

    浏览量

    19908
  • Arduino
    +关注

    关注

    188

    文章

    6477

    浏览量

    188080
收藏 人收藏

    评论

    相关推荐

    使用MEMS传感器进行振动监测

    振动监测 (VM) 已经问世很长一段时间,并且已被用于监测机器、设备或结构的健康状况。在机器运行过程中,可以利用专用传感器收集其
    发表于 03-24 14:02 5112次阅读
    使用MEMS<b class='flag-5'>传感器</b>进行<b class='flag-5'>振动</b><b class='flag-5'>监测</b>

    Hansford sensors振动传感器

    的设计和制造的振动监测设备,使这些好处是享受整个工程景观,如金属,制药,风力发电,海洋,造纸工业,煤矿和采石场和食品和饮料。结论加速度传感器
    发表于 03-13 15:09

    状态监测之压电振动传感器与可变电容振动传感器技术比较

    热应力的影响,从而提高了稳定性。目前提供的大多数状态监测加速度计设计都是剪切模式,应该是大多数状态监测装置的设计选择。    图1 压缩类型和剪切类型原理示意图  可变电容
    发表于 07-07 10:29

    HANSFORD SENSORS振动传感器HS-42010205410

    加速度传感器提供给各式数据收集器使用4-2ma输出至PLCS监测机器设备振动总量、在多数产业中扮演者预知保护管理角色、本质安全型AC讯号及4-20ma型具ATEX及IEC EX防爆认
    发表于 11-24 17:33

    如何利用压电传感器更好地监测机器设备中的振动

    利用压电传感器更好地监测机器设备中的振动
    发表于 02-22 08:23

    工业系统建立振动传感器

    振动传感器主要监测旋转机械的振动情况,每种设备都有自己的振动标准,超过
    发表于 09-18 09:51 20次下载
    为<b class='flag-5'>工业</b>系统建立<b class='flag-5'>振动</b><b class='flag-5'>传感器</b>

    直播邀约:福禄克振动状态监测方案及产品线介绍

    1, 什么是振动状态监测? 2, 状态监测方案实例讲解-3561振动
    发表于 09-06 10:00 740次阅读

    工业应用的振动传感器

    STMicroelectronics 深入研究了用于工业环境状态监测振动传感器的 KPI。
    发表于 08-17 17:14 3618次阅读
    <b class='flag-5'>工业</b>应用的<b class='flag-5'>振动</b><b class='flag-5'>传感器</b>

    振动传感器Arduino UNO连接的教程

    有几台关键机器或昂贵的设备会因振动而损坏。在这种情况下,需要一个振动传感器来确定机器或设备是否产生振动
    的头像 发表于 09-06 15:22 6477次阅读
    <b class='flag-5'>振动</b><b class='flag-5'>传感器</b>与<b class='flag-5'>Arduino</b> UNO连接的教程

    连续三维空间振动监测振动传感器参数概述

    预测维护等领域。 实际应用场景不同,对振动传感器的要求也不一样。如低速转动的机组设备、水坝、共振等,需要对低频振动监测敏感的
    的头像 发表于 10-12 18:57 2627次阅读

    Arduino UNO和带继电器的振动传感器

    电子发烧友网站提供《Arduino UNO和带继电器的振动传感器.zip》资料免费下载
    发表于 07-05 14:38 0次下载
    <b class='flag-5'>Arduino</b> UNO和带继电器的<b class='flag-5'>振动</b><b class='flag-5'>传感器</b>

    振动传感器如何选择?测试方法有哪些?

    振动传感器如何选择?测试方法有哪些? 振动传感器是一种能够感知和测量物体振动或震动的设备,广泛应
    的头像 发表于 03-05 15:48 1871次阅读

    振动传感器的原理 振动传感器的应用

    振动传感器的原理 振动传感器的应用  振动传感器是一种能够测量物体
    的头像 发表于 03-08 15:32 3444次阅读

    振动传感器在电机监测中的应用

    电机作为现代工业领域中不可或缺的动力源,其运行状态的稳定性和安全性对于整个生产过程的顺利进行至关重要。为了有效监测电机的运行状态,及时发现潜在故障,预防意外停机,
    的头像 发表于 06-19 16:34 701次阅读

    振动传感器是什么信号类型

    振动传感器是一种用于测量物体振动量的设备,它能够将机械振动转换为电信号或其他可测量的物理量,从而实现对
    的头像 发表于 10-22 17:14 403次阅读