马达监控(APP)
# FastWeb 马达监控(APP)
- 适用平台:APP(移动)
# 1. 说明
范例通过 App 展示的方式,采用MQTT通讯协议,采集连接至马达的Arduino Mega 2560设备的数据信息,设备通过MQTT向指定主题发布信息,APP端订阅了这些信息,将获取到的结果展示于界面中。同时 APP 端也可通过 MQTT 发送控制指令来控制电动机的开关。
在生产车间中,我们会关心车间设备的运行参数以及车间的环境情况,这样就可以及时了解车间设备的运行情况以及车间的运行情况,然后及时做出相关预警信息。范例配套的硬件设备范例使用I2C,ModbusRTU,模拟针脚线等采集连接的硬件的采集数据信息,然后通过MQTT协议来传输信息,在MQTT客户端上连接到中间件,订阅Motor/#
主题就可获取到采集的所有数据信息。
通过范例学习,可以掌握 MQTT 的基本通讯原理,并结合 Arduino 开发板实现数据采集显示和控制的功能。
# 2. 零件连接图
本示例由于线路连接较为复杂,连线图可能无法清晰展示实际的连接情况,此处将各个硬件的连接使用表格进行罗列。
将使用的传感器及相关硬件分别连接至Arduino Mega2560,首先将W5100网络扩展板接入Arduino Mega2560并通过网线连接至局域网中,然后按照下方的表格列出的接口进行对照连接。其中继电器的COM
、NO
端需串联接入至电动机的交流电路中。
噪声传感器使用 TTL 接口的版本,各点位连接说明如下。
噪声传感器 | Arduino Mega2560 | |
---|---|---|
5V | -> | 5V |
GND | -> | GND |
TXD | -> | RX1 |
RXD | -> | TX1 |
peacefair PZEM-016功率因数检测盒可用于检测 220V 交流电路的电流、电压、功率、功率因数等电路参数,这些信息可通过 ModbusRTU 进行读取。功率因数盒的信号输出端使用 RS-485 接口。Arduino 不能直接支持 RS-485 通讯,需要使用转接硬件电路将信号转为 TTL 。此处使用 TTL-RS485 转换器进行转换。点位连接如下。
功率因数盒 | TTL-RS485转换器 | |
---|---|---|
A | -> | A |
B | -> | B |
TTL - RS485 转换器与 Arduino 的转接如下。
TTL-RS485转换器 | Arduino Mega2560 | |
---|---|---|
VCC | -> | 5V |
GND | -> | GND |
TXD | -> | RX2 |
RXD | -> | TX2 |
PT100 是热电偶,搭配 MAX31865 模块可实现温度的精确读取。热电偶与 MAX31865 模块转接如下。
PT100 | MAX31865 | |
---|---|---|
red1 or red2 | -> | RTD+ |
red2 or red1 | -> | F+ |
white | -> | F- or RTD- |
MAX31865 模块与 Arduino Mega 2560 转接如下。
MAX31865 | Arduino Mega2560 | |
---|---|---|
VCC | -> | 5V |
GND | -> | GND |
CLK | -> | 13 |
SDO | -> | 12 |
SDI | -> | 11 |
CS | -> | 10 |
BH1750 是环境光传感器,用于检测环境的亮度值,与 Arduino Mega 2560 的转接如下。
BH1750 | Arduino Mega2560 | |
---|---|---|
VCC | -> | 5V |
GND | -> | GND |
SCL | -> | SCL |
SDA | -> | SDA |
霍尔传感器与铷铁硼磁铁搭配,可检测马达的转速,传感器模块与 Arduino Mega 2560 的转接如下。
霍尔传感器 | Arduino Mega2560 | |
---|---|---|
VCC | -> | 5V |
GND | -> | GND |
D0 | 2 |
压电陶瓷振动传感器可对马达的震动幅度进行检测。传感器模块与 Arduino Mega 2560 的转接如下。
压电陶瓷振动传感器 | Arduino Mega2560 | |
---|---|---|
+ | -> | 5V |
- | -> | GND |
S | -> | A0 |
夏普GP2Y1010AU0F粉尘传感器可用于检测环境中的颗粒物浓度。传感器模块与 Arduino Mega 2560 的转接如下。
夏普GP2Y1010AU0F粉尘传感器 | Arduino Mega2560 | |
---|---|---|
1 | -> | 5V(两者间串联150Ω电阻,pin 1和电阻之间并联220μF电容 电容长脚端与pin1相连,短脚端接至Arduino GND脚) |
2 | -> | GND |
3 | -> | 7 |
4 | -> | GND |
5 | -> | A1 |
6 | -> | 5V |
MQ135 是空气质量检测的传感器,用于检测空气中的特定物质的浓度。传感器模块与 Arduino Mega 2560 的转接如下。
MQ135 | Arduino Mega2560 | |
---|---|---|
VCC | -> | 5V |
AOUT | -> | A2 |
GND | -> | GND |
DHT11 是温湿度传感器,用于检测环境中的温度与湿度。传感器模块与 Arduino Mega 2560 的转接如下。
DHT11 | Arduino Mega2560 | |
---|---|---|
+ | -> | 5V |
- | -> | GND |
OUT | -> | 8 |
继电器用于控制马达的电路通断,继电器与 Arduino Mega 2560 的转接如下。
继电器 | Arduino Mega2560 | |
---|---|---|
DC+ | -> | 5V |
DC- | -> | GND |
IN | -> | 9 |
# 3. 使用零件
序号 | 硬件名称 | 数量 |
---|---|---|
1 | Arduino Mega 2560开发板 | 1 |
2 | W5100网络扩展板 | 1 |
3 | peacefair PZEM-016功率因数检测盒(ModbusRTU通信) | 1 |
4 | 噪声传感器(TTL接口) | 1 |
5 | PT100贴片式热电阻传感器(三线) | 1 |
6 | MAX31865 RTD至数字输出转换器 | 1 |
7 | BH1750光线传感器 | 1 |
8 | 霍尔传感器测速模块 | 1 |
9 | 铷铁硼磁铁块 | 1 |
10 | 模拟压电陶瓷震动传感器(带压电陶瓷) | 1 |
11 | DHT11温湿度传感器 | 1 |
12 | MQ-135空气质量传感器 | 1 |
13 | 夏普GP2Y1014AU粉尘传感器(附带150Ω电阻以及220μF电解电容器) | 1 |
14 | 插排(无线) | 1 |
15 | TTL转RS485转换器(具有TX、RX针脚的类型) | 1 |
16 | 插头(无线) | 1 |
17 | RV1.5线缆2米,三种不同颜色 | 1 |
18 | 单路继电器 | 1 |
19 | 220V电动机 | 1 |
20 | 杜邦线 | 若干 |