MiniPLC:紧凑型ESP32自动化控制器
扫描二维码
随时随地手机看文章
1. 家庭主妇MiniPLC背后的故事
这个项目的灵感来自于一个明确的需求:一个多功能的PLC系统,可以服务于家庭自动化和轻工业应用。
我们想要制造一些适合智能家居的东西——但要有工业级硬件的耐用性和可靠性。这意味着使用高质量的继电器,强大的输入和输出浪涌保护,以及专注于电气稳定性的设计。
我们的主要目标是创造一种设备,其中外设,如灯,开关和传感器通过物理电线连接,而控制器本身通过Wi-Fi或以太网与家庭服务器通信。
我们还希望系统是模块化的,允许根据安装灵活配置,无论是在住宅环境还是小型设施中。
从这个愿景出发,我们的产品概念诞生了:一个紧凑的,可扩展的控制器,具有日常自动化任务所需的所有核心输入和输出,包括:
•照明控制
•加热系统
•灌溉
•安防报警一体化
•能源监测
•泄漏检测
还有更多……
我们选择基于ESPHome的固件,与无缝的家庭助理集成,这样用户就可以用最小的努力构建强大的,可扩展的自动化系统。
homaster MiniPLC的开发花费了几个月的专门工作,实验和改进。
为了达到目前的稳定设计,我们进行了四次PCB修改。每个组件都是通过真实世界的测试和不断的迭代来选择的。例如,我们测试了多个LED灯管——选择一个,替换它,然后再次测试——直到我们找到最适合的可见性和耐用性。
圈地也经历了重大的演变。我们设计了两种外壳的原型,每一种都有不同的机械布局和组件位置,以优化安装。
在第一个原型中,我们将RTD和以太网模块作为单独的电路板。在第二次修订中,我们决定将以太网直接集成到主板中,以获得更好的可靠性。在第三个设计中,我们还删除了RTD模块,并将RTD接口直接放在主板上,从而简化了整体设计。
我们测试了几种类型的继电器,以确保长期的工业级性能,以及各种RJ45连接器,USB端口和螺钉端子,以保证牢固的电气连接和易于安装。
每个组件,直到终端模块,都是根据现场测试、性能和实际用例进行选择的。
这就是“家庭主妇迷你plc”诞生的原因。
最后,我们开发了一个具有以下主要功能的控制器:
2. 功能一览
•输入电压:支持宽范围的输入功率:
24V DC或120V-370V DC
85V-265V AC / 47 - 63hz
•USB: USB Type-C接口,用于编程和诊断。
•RS-485 (Modbus RTU):内置RS-485接口,通过Modbus协议连接扩展模块。
•以太网:采用LAN8720A以太网PHY芯片的有线网络接口。
•Wi-Fi和蓝牙无线通信通过板载ESP32,支持Wi-Fi和蓝牙。
•LED和按钮:4个前置按钮用于手动控制或用户输入,状态led提供系统状态反馈。
•RTC(实时时钟):集成PCF8563 RTC精确计时,即使离线。
•显示:SH1106 OLED显示屏,用于实时数据或状态显示。
•蜂鸣器:用于警报和系统通知的内部蜂鸣器。
•MicroSD卡:用于数据记录、扩展配置或固件存储的MicroSD卡插槽。
•继电器:6个光隔离工业继电器,具有压敏电阻保护,安全开关和长期耐用性。
•数字输入:4个数字输入(24V DC),采用ISO1212 IC,提供浪涌保护和可靠的信号读取。
•RTD输入:2个RTD通道通过MAX31865芯片与2 /3 /4线传感器兼容。
•模拟输入:4个模拟输入通道(0-10V),采用ADS1115 ADC,具有ESD和过压保护。
•模拟输出:1个模拟输出通道(0-10V),由MCP4725 DAC供电,也可以防止ESD和电压尖峰。
•1线支持:2个隔离的1线通道,集成ESD和过压保护,用于稳健的传感器通信。
3. 硬件概述
由于某些gpio会影响ESP32-WROOM的启动方式,例如GPIO0、GPIO2、GPIO12和GPIO15,因此我们彻底测试了多种配置。我们最终确定了引脚布局,以确保可靠的启动,同时避免与这些关键的启动引脚冲突:
为了满足家庭自动化和小型设施控制的需求,我们需要更多的数字I/ o, RTD温度传感和高分辨率模拟输入。为了实现这一点,我们使用PCF8574数字I/O扩展器,16位ADS1115 ADC和MCP4725 DAC扩展功能。
这个框图显示了家用微型plc的内部结构。其核心是ESP32-WROOM模块,负责管理所有输入、输出和通信。
4. 系统示意图
MCU板-中央处理单元和通信枢纽
在GitHub上查看原理图(MCU_Board.pdf)文件
单片机板是MiniPLC系统的核心。它不仅包含主微控制器,还集成了多个通信ic和信号接口。主要组件和功能包括:
•I/O扩展ic用于扩展数字I/O功能
•用于获取和生成模拟信号的ADC/DAC
•用于精确温度测量的RTD接口电路
•以太网接口,用于网络通信和远程控制
•CP2101 USB- uart桥接USB连接
•完全集成的I2C和SPI总线外设通信
该板管理所有逻辑执行、传感器接口、控制信号处理以及与外部系统的通信。
继电器板- I/O扩展和电源接口
在我们的GitHub上查看原理图(Relay_Board.pdf)文件
继电器板作为MiniPLC的主要I/O接口,支持数字和模拟信号处理以及电源管理和鲁棒信号保护。它包括:
•用于切换外部负载的多个机电继电器
•ISO1212输入保护IC,用于安全处理工业数字输入
•保护电路RS-485和1线通信接口
•用于调节24V至5V和12V电源的DC-DC转换器(用于模拟DAC输出)
•MYRRA隔离电源模块支持:120-370V直流输入,85-265V交流@ 47 - 63hz
该电路板确保与外部系统的安全可靠的接口,并保护敏感的控制电子设备免受环境影响。
USB板- SD卡和USB接口
在我们的GitHub上查看原理图(USB_Board.pdf)文件
USB板是一种紧凑的接口模块,主要用于简化连接。它包括:
•MicroSD读卡器,用于本地数据记录或固件更新
•用于与主机系统通信的USB连接器
这个电路板上没有额外的功能组件;它旨在简化安装和与MCU板的模块化接口。
6. 物理设计概述
为了更好地理解MiniPLC的结构,我们来看看内部布局和组成系统的实际pcb。
机箱包含三个主控板:MCU板、Relay板和USB/SD接口板。它们通过头和连接器相互连接。
7. 软件与配置
homaster MiniPLC预装了ESPHome,使其可以连接到您的Wi-Fi网络,并与家庭助理集成。初始设置很简单,可以通过内置的网络服务器完成,你可以在几分钟内配置Wi-Fi并使设备上线。
固件更新和自定义配置可以通过ESPHome仪表板以多种方式上传:
•通过USB type-C
•无线通过Wi-Fi (OTA)
•或者直接使用内部web服务器
MiniPLC由ESP32芯片供电,包括一个USB接口,这意味着它也可以使用任何ESP32兼容的IDE编程,例如:
•Arduino IDE
•PlatformIO
•ESP-IDF
这种灵活性允许初学者和高级用户完全定制MiniPLC的功能,以满足他们特定的自动化需求。
查看默认的miniplc。我们的GitHub上的配置文件
本文编译自hackster.io