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

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

传感器连接到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 )。
换一批
延伸阅读

这是一款适用于学校或办公室的智能时钟原型。它旨在打造一款时尚且功能多样的多功能时钟,让房间内的所有使用者都能查看时间、计时器及其他统计数据。该设计包含两个系统:时钟本体和触摸屏控制器。

关键字: 传感器 触摸屏 树莓派

过去几个月里,我一直在设计自己的开发板,以充分发挥其性能。如今,我正在使用WCH的CH32V003F4P6芯片,对这款微控制器所提供的功能和性能感到非常惊叹。我之所以从Arduino转而选择它,是因为这是一款32位RIS...

关键字: 开发板 Arduino CH32V003F4P6

采蘑菇是一项受欢迎的户外活动,尤其在斯洛文尼亚这里十分流行。但每位采菇者都知道其中的烦恼——你驱车前往最爱的采蘑菇地点,穿过森林,结果却一无所获。要么是因为天气条件不适合,要么是别人早就在你到达之前把所有蘑菇都采完了。

关键字: TinyML LoRaWAN AIoT 传感器

我们生活在重叠的压力之中:生活中的微小日常摩擦,工作与创造生存所面临的更大不确定性,以及更远的、持续不断的不稳定感——环境崩溃、政治紧张、那些既令人窒息又遥远的系统。在这一切之中,我们被要求“记录”内心世界的方式却并未改...

关键字: 麦克风 传感器 TouchDesigner

空气污染是全球日益严峻的问题,细颗粒物(PM2.5)因其能够深入肺部并进入血液,成为最危险的污染物之一。无论您担心的是室内空气质量、野火烟雾还是城市污染,掌握实时数据都能让您采取有效行动。

关键字: PM2.5 传感器 Arduino

nRF54L15 是目前功能最强大的无线 SoC 之一,但几乎没有或几乎没有任何相关文档。尽管如此,我还是决定利用现有资源,结合 Zephyrr 操作系统,在没有 RTOS 开发经验的情况下深入探索。我构建了这个项目,旨...

关键字: SoC 传感器 nRF54L15

该项目提供了一套高效、远程遥测记录系统,用于跟踪离网太阳能系统的发电与耗电情况。通过利用Arduino Pro Mini 3.3V的超低静止电流特性,该记录器最大限度地降低了系统开销,确保监控硬件本身不会耗尽电池储备。

关键字: 太阳能 Arduino INA219

在搭建显示屏(使用Arduino和硬件)时,我常常感到沮丧:需要刷写程序、线缆可能损坏、导线松脱,或者板子突然烧坏。最终我可能只能花10到20秒(如果运气好)来测试一下,把字体向左移动三个像素是否“感觉正确”。

关键字: 显示屏 Arduino Python

集成低噪 MEMS 加速度计和陀螺仪与同步输出,适合惯导计算、数据关联及传感器融合

关键字: 传感器 车联网 陀螺仪

我从事电能计量IC的研发已有段时间。在尝试了接口较为简单的BL0937之后,今天终于拿到了BL0940。两者在结构上相似,都是单相电能计量IC,但最让我感到意外的是其功能特性。与BL系列中较为简单的BL0937不同,BL...

关键字: Arduino 交流电能 BL0937
关闭