项目分享| 无线智能大功率开关
-
工业 4.0被“念叨”了很长时间,那么工业4.0有没有标准?有,那就是关于智能设备之间的通信,设备将通过监测自身状态信息,并通过大数据和 AI 技术智能预测故障,使设备具有自我维护能力。例如本项目具有智能电流监控功能的无线开关,就可以很容易地集成到现有设备中,将设备中的电流信息使用大数据和人工智能高精度地监测故障。
超酷的无线智能开关(CoolSWITCH),专为工业 4.0 标准、智能家居等应用设计,可以进行无线控制,电流监测,PWM 调制,软启动等安全功能。
CoolSWITCH 工作图
CoolSWITCH 通过传感器监测负载的实时电流,然后通过 HTTP 协议发布到上位机。上位机在建立一个数据库,通过 Grafana 软件实现数据可视化。感兴趣的可以在“达尔闻说”微信回复:大功率开关,获取硬件原理图、软件代码等相关资料。
这个大功率开关可以实现:
电压范围:12-300 VDC,87-230 VAC
电流范围:0-50 A(DC / AC)
高效率-低导通电阻(可与机械继电器相比)
可靠性-无活动部件
(真正)无线操作-唯一连接是电源和负载
内置模块化电源-12V (模块化)用于栅极驱动,而 3.3V 用于逻辑
安全-自动故障检测(过电流),在连接/ HB 丢失的情况下自动关闭
速度/功率控制(PWM)
软硬件…
这个项目用到的硬件:
- 英飞凌 CoolMOS C7 Gold SJ MOS 管
- 英飞凌 TLI 4970 电流传感器
- 英飞凌 EiceDRIVER 1EDI 栅极驱动器
- 自制 PCB 板
- ESP8266 ESP-12E
- 电容 100 µF 电阻 1k 欧姆
在器件选型的时候,发现 Infineon 的 600 V CoolMOS™ C7 Gold MOSFET-s 的低 Rds,可以实现高效率,十分适合用于制造这种开关。
电源和主板上的其他模块
本项目具有一个 HTTP 接口,可通过 MQTT 协议进行传感器数据通信,达到智能无线开关的功能。
这个项目中使用的软件:
- Kicad、MQTT、Arduino IDE、手工工具、烙铁热熔枪
交直流开关电路设计…
若要做一个能够控制直流负载和交流负载的开关,电路中需要两个 mos 管。因为使用直流电源时,用一个 mos 管,mos 管的源极接 DC-,漏极接 DC+,则 当 Vgs>Vth 时,mos 管导通;Vgs=0,mos 管截止。但若加交流电在一个 mos 管 时,只有交流信号的正半轴可以控制 mos 管,在交流信号的负半轴时电流将通 过晶体管的体二极管,而与所加的栅极电压无关。为了解决这个问题,可以通过 Q1,Q2 的 源极相连接,如下图。
这样的话,只要当 Vgs>Vth 时,Q1 和 Q2 都将导通,当交流电在正半轴时 电流从上至下流,当交流电在负半轴时,电流从下至上流。
对于 DC 负载,Q2 是可选的。当存在 Q2 时,两个场效应晶体管可以并联 使用(通过连接场效应晶体管的漏极)。这将允许更大的负载,也可以防止过热。
门驱动电路设计…
驱动场效应晶体管,需要晶体管的栅源电压>阈值电压 Vth 的电压。CoolMOS 的 Vth 为 4V (m ax)。为了更高的效率,可以使栅极电压>10V。
为了驱动场效应晶体管,可以使用专用的栅极驱动芯片。如英飞凌 EiceDRIVER 1EDI ,驱动电路如下设计:
输入端采用 3.1- 17V 电源和一对输入信号(输入+/-)。输出采用 10-35V 电源, 并产生输出+和输出-信号来驱动栅极。为了驱动场效应晶体管,可以使用以下设 置:在输入端使用 3.3V 逻辑信号。输入端与 GND 相连,而输入端+将控制开关的 状态:3.3V =开,0V =关。输出端采用 12V 电源。输出+和输出-通过 R3 和 R1 电阻 连接到场效应晶体管的栅极。R3 用于设置栅极充电电流,而 R1 用于设置栅极放 电电流。
数据通信电路…
本项目中使用的微控制器将是 ESP8266,无需多介绍了,项目中使用的是 ESP-12-E 模块:
ESP-12-E 模块在电路中的连接如下:
还增加了一些引脚头,用于直接控制和编程:
电流测量部分…
对于工业设备来说,可靠性非常重要,时刻监测传感器数据有助于提前检测故障。无线开关将包括一个电流传感器,来连续测量负载电流。提供此功能的传感器是英飞凌 TLI4970 电流传感器。
TLI4970 电流传感器通过 SPI 接口向 ESP8266 提供数据,当前数据将向中央数据库广播信息。那么 AI 就可以用来检测异常。电流过大时,设备可以自动关闭。传感器与负载连接在电路中,如下所示:
电源部分…
该项目需要两个电压:12V 用在电源侧用于驱动栅极驱动器,3.3V 用于逻辑 端。12V 将由模块化电源产生。因为该开关将能够在很宽的输入电压范围内 (15-300V DC,87-230 VAC)工作。每个模块将在特定的交流或/和直流电压范 围内工作。3.3V 电源将由 12V 使用 XP 电源 IE1203S 绝缘电源模块产生。
软件部分…
CoolSWITCH 使用 ESP-12E 作为主控,编译环境为:Arduino 代码部分分为:CoolSwitch,CoolSwitchCurrentSensor,CoolSwitchHTTP, CoolSwitchMQTT 部分。代码可在“达尔闻说”微信回复:大功率开关,获取。
CoolSwitch 是最重要的组成部分。它包含了状态机控制,可以通过传感器数 据和 HTTP 接口输入控制开关的两个 mos 管。状态机的状态有:0-OFF,1-ON, 2-SOFT_START,3-SOFT_STOP,4-OVER_CURRENT。
CoolSwitchConfig 包含从 ESP-12E 闪存中保存和加载属性(如 Wifi 设置)的代码。
CoolSwitchCurrentSensor 处理的电流传感器与主控之间的通信。底层使用的是英飞凌的 TLI4970 库。
CoolSwitchHTTP 中包含了 HTTP / REST 接口的实现:
/ -根端点,返回带有设备名称的问候消息
/turnOn -打开开关
/turnOff -关闭开关
/state - 返 回 开 关 的 当 前 状 态 ( 0-OFF , 1- ON , 2-SOFT_START , 3-SOFT_STOP,4-OVER_CURRENT)
/current -返回 TLI4970 测量的电流
/reboot -重新启动 ESP-12E
/factoryReset -清除保存在闪存中的设置并重启设备
CoolSwitchMQTT 负责通过 MQTT 协议发布数据。当前,发布了两个数据供稿:
CoolSWITCH-XXXXXXX/state -开关的当前状态
CoolSWITCH-XXXXXXX/current -TLI4970 测量的电流消耗
本项目还为 CoolSWITCH 编写了一个小的 Pyhton 客户端(HTTP)。具体细节看代码。
第一次启动:配置设备名称、WiFi
每一个 CoolSWITCH 都有设备地址,也就是 ESP-12E 的 mac 地址。
当第一次程序烧录时,ESP-12Eflash 中没有相关配置,所以无法连接到 WiFi 网络。为了能够配置 CoolSWITCH,CoolSWITCH 创建自己的网络,设备名称就 是网络的 SSID。连接到该 Wifi 网络后,CoolSWITCH 的 HTTP 接口应该在 192.168.4.1 IP 地址下可用。使用/setValue 端点,可以将 CoolSWITCH 配置为连 接到我们首选的 Wifi 网络。要做到这一点,需要设置 wifiSSID 和 wifiPassword 属性。CoolSWITCH 再连接到已配置的 Wifi 网络。通常,它会从 DHCP 服务器接 收一个 IP 地址。HTTP 接口将在此 IP 地址下可用。
大数据和数据可视化…
CoolSWITCH 在 MQTT 协议或者 HTTP 接口上接收或发布的数据可以用作数 据处理,将这些数据保存成数据库,实现数据可视化,数据分析。下面是 Coolswitch 收集到的数据:
显示从 CoolSWITCH 设备收集的状态和当前数据
这些数据可以很简洁地,实时地通过仪表盘显示。Coolswitch(一个实例+4 个仿真)可在 Smashing 仪表板显示:
Coolswitch控制照明实例:
项目来源:hackster.io
制作者:Attila Tőkés
编译:风吹麦浪
-