当前位置:首页 > 工业控制 > 电路设计项目集锦
[导读]风力涡轮机的安全高效运行至关重要,但其人工监控并不实用。本项目开发了一套智能风力涡轮机监控系统,可根据风况自动控制涡轮机的伺服位置,并实时感知风暴、野生动物、振动等环境风险,通过手机向您发送电子邮件,及时通知您。

风力涡轮机的安全高效运行至关重要,但其人工监控并不实用。本项目开发了一套智能风力涡轮机监控系统,可根据风况自动控制涡轮机的伺服位置,并实时感知风暴、野生动物、振动等环境风险,通过手机向您发送电子邮件,及时通知您。

传感器连接到Arduino Nano 33 IoT,由系统读取数据;使用树莓派显示实时监控仪表盘,两者之间的通信通过MQTT协议实现。如果出现问题,IFTTT将自动发送电子邮件通知给您。

工作原理

该系统包含两个部分:

在代码中,Arduino Nano 33 IoT IoT IoT 每500毫秒读取一次四个传感器的数据,并将数据以JSON格式发布到一个MQTT主题。它提供两种模式:自动(AUTO)和手动(MANUAL),其中舵机的角度可通过电位器(作为风速传感器)控制,也可由用户直接通过仪表盘进行设置。

树莓派监听相同的MQTT主题,将接收到的所有数据更新到Tkinter仪表板上,如果收到警报则激活蜂鸣器和LED灯,并调用IFTTT的Webhook发送电子邮件通知。

硬件设置

将传感器连接到Arduino Nano 33 IoT,方法如下:

•电位器(风)→ A0

•雨传感器 → A1

•振动传感器 → D2

•超声波触发 → D3

•超声波回波 → 电阻器 → D4

•伺服电机 → D5

在树莓派方面:

•LED → GPIO 17

•蜂鸣器 → GPIO 27

安装所需库

在 Arduino IDE 中,通过库管理器安装以下库:

•WiFiNINA - 用于 WiFi WiFi 连接

•PubSubClient - 用于 MQTT

•伺服 - 用于伺服电机控制

在树莓派上安装 Python 依赖项:

获取代码

仓库包含:

•sketch_turbine.ino - Arduino Nano 333 物联网固件

•dashboard.py - - - 基于树莓派的监控仪表板

配置 WiFi 和 MQTT

在Arduino代码中,更新您的凭据:

Arduino 在启动时会连接到 WiFi。如果 WiFi WiFi 断开,它会自动重新连接,且不会停止涡轮运行——无论连接状态如何,舵机都会在 AUTO AUTO 模式下继续运行。

传感器逻辑与报警系统

Arduino 读取所有四个传感器,并根据这些阈值触发警报:

当AUTO模式下触发任何警报时,伺服会立即返回中心位置(90°),以保护涡轮。

MQTT 通信

ArduinoArduinoArduino 每 50000 毫秒发布一次 JSON JSON 状态消息:

树莓派订阅此主题,并实时更新仪表板。命令通过一个独立的命令主题从仪表板发送回Arduino。

树莓派仪表板

仪表板使用 Python Tkinterinter 构建,可实时显示所有传感器数值。它还包含手动控制按钮:

•自动模式——根据风力让涡轮机自动运行

•中心(90°)——将伺服回至中心,然后返回自动模式

•伺服滑块 - 在手动模式下拖动以设置特定角度

•快速方向按钮——可立即跳转至0°、45°、90°、135°、180°

如果Arduino断开连接超过10秒,仪表盘会显示警告。如果Arduino处于手动模式且MQTT连接中断超过10秒,为确保安全,系统将自动切换回自动模式。

IFTTTTTTT 邮件通知

当检测到警报时,系统会向IFTTT Webhooks发送HTTP请求,从而触发邮件通知。

设置方法如下:

•前往 ifttt.com.com 并创建一个新的小程序

•如果此 → 代理 → “接收网络请求” → 事件名称:turbine_alert

•选择“Webhooks”

•选择“接收网络请求”

•然后 → → → 邮件 → 使用 {{Value1}}、{{Value2}}、{{Value3}} 设置主题和正文

•我建议根据IFTTT账户的邮箱选择电子邮件或Gmail。

•填写您的主题和内容。

•复制您的 API API 密钥

•选择你的触发器,然后向下滚动并点击“文档”,获取你的密钥

•将密钥粘贴到Arduino代码中:

系统在每次提醒之间设有60秒的冷却时间,以避免频繁发送至您的收件箱。只有当出现新提醒时才会发送,不会在提醒处于激活状态期间持续发送。

结果

系统成功:

•根据风传感器输入实时调整伺服位置

•检测并响应风暴、野生动物、振动及传感器故障等状况

•在WiFi或MQTT断开后可自动重新连接,且不会中断涡轮机运行

•在检测到危险后几秒内发送电子邮件警报

•可通过仪表盘实现完全的远程手动控制

本文编译自hackster.io

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
关闭