电子配电盘
电子拖鞋
或飞行员 5 WIFI 220V插座
我在这里有一个新项目,这次不是更多或更少的数字手表了. 前段时间,YouTube上的ravanando寻找一些提议的新闻, 我找到了通过蓝牙控制的电源板的成品项目. 我想知道我是否可以通过某种方式使其适应我的需要. 我开始研究我在只使用已经拥有的组件的情况下所看到的东西,因此我不会说成本可以忽略不计,但几乎.
从基地开始,我蚕食了拖鞋 6 单个开关出现问题的地方. 它们并不是最好的,一段时间后它们分解了. 有问题的电源板是下图中的电源板:

每个开关都有一个由小豌豆灯泡组成的指示灯 (记得曾经用来照亮圣诞树的那些 ?) 耐摔. 但是它们很脆弱,并且由于早晚操纵它们而断裂.
因此,让我们继续该项目: 基地在那里. 然后将手放在螺丝刀上并打开拖鞋. 我们断开所有开关的连接,然后将其从外壳上卸下. 每个开关都可以轻松拆卸,仅留下可用且足够大的空矩形外壳.
让我们继续: 它们中的每个并联连接到输入电压的一个分支,而另一分支连接到连接到电压的另一分支的开关. 所以我们隔离 5 六位领导者中的一员 5 单线 (每个插槽一个). 因为五个而你不是 ?.
为什么我将第一个插座连接到 220 为了脱离上下文使用它.
但是,事实胜于雄辩,在下面的照片中,您可以看到它已经变成了什么。:

我们可以看到: 每个开关外壳都装有高亮度红色LED并装有 (耐摔) 在蜡铸件中 (蜡烛的要清楚). 尽管在这张照片中没有在拖鞋的左侧看到它们,但是已经练习过了 2 孔: 一种用于通过每个插座的单根电压线,而一种用于闭合每个单独触点的“主”线. 第二个孔,用于穿过每个LED的电线和所有LED的公共接地线. 注意容纳第一个插座的开关的孔. 在照片中,您可以看到第二捏和第六捏处于紧张状态 220 并且相关的LED灯亮. 这张照片是指在生产实际硬件之前的第一次功能测试.
项目研究:
正如我已经说过的,只要你只使用你已经拥有的组件或者最多只购买必要的组件,整个项目的成本就必须非常低.
第一个想法: 使用一个 WEB 页面来单独控制每个打开和/或关闭的插座.
第二个想法: 使用蓝牙设备做同样的事情.
哪个最简单 ? : 这取决于我们每个业余爱好者的经验程度, 业余或专业, 与两个系统的编程有关. 就我个人而言,我是一个朴实无华的业余爱好者,并且我认为我在这两个系统中都足够. 因此,对于每种模式,我们都会看到复杂性和便利性:
WEB创意: 可能是最复杂的,因为它需要一定程度的资源和知识. 资源可以: Arduino开发板和以太网防护罩,但我几年前的经验令我和防护罩本身不满意 非 管理 无线上网. 所以被丢弃了. 如果我们想做更多“现代”的事情并使用WIFI (今天是如此流行 !) 可以使用表格 ESP_8266 比25mm的尺寸 12,5 他们通过Arduino收集了完整的可编程微处理器,并专门使用以下功能建立WIFI连接 网络服务器 和其他系统.
这个选择有什么复杂之处 ?: 良好的“C”编程经验, Arduino 环境的定制来管理这个模块, 页面知识 HTML 和他们的编程. 这一切可能不是每个人都可以做到的. 我个人做了很多’ 至少在 HTML 页面方面的近期和远期经验. 但我相信,即使您不是“专家”,也有很多 ON_LINE 材料通过提供或多或少复杂的示例来帮助对这些 ESP 模块进行编程.
唯一的缺点很多次是语言: 许多网站都是讲英语的.
想法蓝牙: 这可能是最简单的: 蓝牙模块不是通过 WIFI 连接,而是通过协议连接 蓝牙 适用于所有平板电脑和手机. 它可以通过以串行模式连接到微型 arduino 来使用, 或者使用一些APP (或为有能力的人编程) 为目的而生产. 在这种情况下,该项目可以在串行模式下与 Arduino“Serial_Software”库一起使用. 必须对草图进行编程以接收 APP 通过串行发送的串行字符. 有几个APP串行管理这个模块. 所以唯一的复杂之处是草图的编程.
在分析了两个想法之后,出于多种原因,我决定使用ESP_8266模块. 前段时间我买的很好 5 模型的 ESP_01 有经验. 我只用一个来制作ON_LINE数字时钟,或者通过在LCD上观看它来从互联网上花费时间 (完整的日期和时间). 为什么然后让他们在抽屉里变老 ?.
在Arduino IDE环境中,此微型控件的使用涉及一系列“复杂性”和“调整”. 按照必须管理的“卡片”和可用的“库”的形式,按照WEB上的说明更新IDE并不难。. 实际上,“选项卡”和“库”都有很多,但是首先您需要在Arduino IDE的设置中插入以下定义:
卡管理者的其他网址: http // arduino.esp8266.com / stable / package_esp8266com_index,json
如果它没有自动运行, 从“工具”菜单中选择“卡片管理”,然后让IDE搜索要添加的“卡片”. 然后,您将不得不从建议的列表中进行选择,如下所示: (在我的想法已经安装).

如果在选择要使用的卡时一切顺利,您将找到可以使用的ESP卡列表。: 在这种情况下,只需选择“通用ESP8266模块”.
ESP8266_01礼物 (尽管大小) ben 8 销:
•VCC (3,3强制V !) 地.
•两个引脚定义了GPIO_0和GPIO_2. 它们是可以视为逻辑信号的输入/输出的引脚 (位“ 0”位“ 1”) 始终相对于3V电平. .
•RST,将微控制器复位至接地,否则将其复位为逻辑“ 1”.
•销钉EN (使能) 如果将其设置为逻辑“ 1”,则启用微型.
•两个TX / RX引脚,可记住信号电平基于3V电源,可用于接收和传输串行数据. TX和TX也定义为GPIO_1和GPIO_3,因为它们可以用作I / O引脚,但要小心.
如果不使用适当的系统,使用此微型程序的复杂之处在于编程. GPIO_0引脚也称为GPIO_0FLASH,因为如果放置在地面上,则可以将草图写入微控制器的闪存中.
这并不像看起来那么容易: 必须执行特定的操作顺序,才能使所述微型计算机接受上传: 把它关掉, 将GPIO_0接地,然后将其重新打开,或始终使用GPIO_0复位. 但这并不容易. 我有远见 (不知道) 买一个“调试器”模块,用它我不知道就解决了 (首先) 只是这个加载问题.
这是两个模块: 左侧为ESP_01模块,右侧为Debugger模块. 这很有用: 它被视为一个串行端口 (WITH), 有一个用于重置微按钮的按钮,公连接器是 8 微针,因此完美使用. 加载草图没有问题,因为它会自动执行第2部分所述的操作 前一段. 加载后,您可以测试草图而无需将其从适配器中删除. 我在大约Futura_Shop上找到了这个模块 6 欧元. 警惕其他适配器,因为它们没有这些功能.

使用此微型仪表的另一个复杂之处在于电源: 他只想要 3,3 V,并且需要一个为3V提供至少1A电流的电源系统.
它并没有就此结束: GPIO_0级别, GPIO_2也处于3V电平. 现在,如果要使用它们来连接工作在5V电平的其他设备,则需要一个电平转换器 (或我不推荐的分压器) 作为微型设备的引脚与其他设备的引脚之间的接口. 几乎所有具有I2C协议的设备都需要在SDA / SCL引脚上提供正确的5V电平. 顺带一提,在带有I2C LCD的互联网手表中,我在微型控制器的GPIO_0和GPIO_2之间使用了这些转换器.
这是他们的样子: 左侧为具有3V输出的电源,右侧为具有3V输出的电平转换器模块 4 渠道. 这些转换器具有5V和3V输入,分别称为HV和LV.
输出是双向的: 进入5V的电压变为 3 反之亦然.

(从EBMSTORE.it网站复制的图像)
重要的提示 我差点忘了: 他们离开工厂时 (中国) 所有 ESP 都配备了一个软件来管理“AT”命令,以清除那些曾经在旧电话调制解调器上使用的命令. 使用这些命令,您可以检查, 其中包括, 还有到路由器的WIFI连接,即使有限,也要检查芯片范围内有多少. 尝试这些命令, 即使不需要特殊的草图, 必须进行串行连接 (波特率 115200) 使用 Arduino 串行监视器或 Windows 超级终端. 然后需要一个 RS232/USB 转换器连接到 PC 上的 USB 端口. 以下是可行的连接之一. 在 FTDI RS232 转换器中,跳线必须从 5V 移到 3V 以使信号兼容.

注意: 当第一次在 ESP 上加载任何草图时,这个“AT”软件会丢失,必须从网上下载一个特殊的“FLASH”应用程序来重新加载它.
项目初具规模: 我们有微, 正确的电源和逻辑电平适配器. 现在我们需要研究如何单独打开/关闭 5 带走了一个 220 拖鞋的. 我已经测试了两个系统:
1. 通过带有逻辑信号“ 1”的光电耦合器驱动双向可控硅. 我已经用不同的电路对这些设备进行了实验,但是它们始终被证明是不可靠的,因此不适合用于节能灯. 这是电路之一.

2. 通过光电耦合器或通过晶体管驱动的继电器也由逻辑信号“ 1”驱动. 除了仅使用12V继电器的光电耦合器以外,以下两张图均未显示特定问题。.


选择落在5V继电器接口上也是因为我几乎可以使用 10 双交换印刷电路继电器,也可用于切换220V电压. 这些继电器很旧,我不记得我在哪里蚕食过它们. 这是模特:

做了一个原型,我测试了功能,然后决定准备整个接口,以使用带有晶体管的接口来管理其中的五个继电器.
剩下的最后一个问题: 继电器是 5, 微型ESP有 2 可用的引脚没有问题. 因此需要一个设备来增加这些引脚. 同样在这种情况下,我过去使用PCF8574型设备的经验(如该图所示)对我有帮助:

该设备与可在I2C协议上寻址的接口 7 不同的地址 (看到图中的跳线). 除了正确的地址,它可以与其他类似设备或其他I2C型LCD级联插入. 这些设备的唯一问题是尺寸,将它们插入PCB会引起一些问题. 最好使用单个芯片,因为它不需要特定的电路: 5V,即使支持3V电源, SDA / SCL引脚上的几个上拉电阻, 一些桥来分配地址,仅此而已.
该 8 销 (加一个定义为INT的中断) 它们可以是仅输入或仅输出或混合的. 只需使用WIRE库即可在这些引脚上进行读写 (Wire.write o Wire.read).
但是有问题: 不适用于在输入端定义的引脚, 但是对于输出中定义的那些,则必须很好地验证应如何使用它们. 最大电流 (视频数据表) 即使只驱动一个LED也太少了. 几个ON_LINE论坛演示了如何连接本质上吸收高于设备提供的电流的任何LED或设备.

此图是打开电源的工作示例之一 8 LED: 可以看到他们的联系: Anodo VCC, 阴极,R朝向引脚. 通过进行适当的测试,我能够注意到经典绿色LED的出色亮度. 但是,重要的是要知道,当系统打开时,芯片的所有引脚都设置为“ 1”逻辑: 因此,对于先前的方案,没有异常 (仅当相关引脚接地时,LED才会点亮), 在我的情况下,这可能会带来问题,因为所有继电器均通过逻辑“ 1”信号触发. 但是,它可以克服,因为在草图中,要做的第一个操作是将所有引脚置于逻辑“0”. 妈, 总有一个“但是”, 有一个时间,无论以千分之几为单位,都应牢记在心: 几秒钟后微型启动,这可能会导致问题.
我们不要忘记 220V 的电压会通过继电器.
鉴于这些前提,为了不产生任何意外,我尝试使用飞线和最小草图进行一些测试, 我将pcf连接到arduino (有线协议) 继电器点火原型输入端有一个针脚 (用逻辑“ 1”触发). 完美: 打开和关闭,但是即使每隔几秒钟重复一次,它也不起作用 !, 证明不可靠.
因此,我认为电流的稀缺是造成这种不可靠的原因: 经过几圈ON_LINE之后,我决定更改触发方式: 该引脚将其接地而不是逻辑“ 1”. 但这涉及到触发电路的改变,为此, 不必改变一切, 我在PCF引脚和输入之间插入了反向电路. 乍一看74Ls04可能还不错, 但是我更喜欢使用ULN2003A,它是一个“七级DARLIGTON阵列”,提供500ma的电流. 七个输入和多个输出,但是全部为“ Open_Collector”,因此需要R from 4,7 欧姆 (或更高) 每个引脚上拉至5V. 它也可以用作反相器,从而将“ 1”处的输入与“ 0”处的输出反相,反之亦然. 满足我的需求: 我只需要更改草图中的点火方法: 每个继电器从“1”到“0”. 而且我不必担心芯片上的引脚在打开时是否全部变为“1”. 图中引脚排列.

启动项目:
我相信, 在此刻, 拥有一切可用于开始生产 PCB 并使用 ESP_01 实施一些草图. 我们制作“购物清单”是为了知道我们是否真的拥有我们需要的一切,那就是:
• N.1 ESP8266 型号 01
• N.1 5V/3V 电平转换器
• N.1 3V 电源 (输入数据 5 最大 9V)
• 否. 1 PCF8574
• 否. 1 ULN2003A
• 否. 5 继电器查找器型号 30.22
• 否. 5 晶体管BC547
• 否. 5 二极管 1N4007
• 否. 5 发光二极管. (任何颜色)
• 否. 10 根据方案的电阻值
• 各种连接器和安装插座.
• 微机的复位按钮
• 引领 (任何颜色) 作为 ON_LINE 系统警告灯
没有或多或少的专业设备,甚至没有合适的环境,只生产小pcb就满足了. 因此,该项目由两个 PCB 组成: MAIN PCB用于容纳系统的核心,而RELAIS PCB用于容纳继电器.
PCB MAIN:
我没有画出从中获得该PCB的电路,但是为了避免跳线并更好地压缩了组件,它是徒手绘制的.

你可以看到: 左上角的连接器为同一块板和其他板供电; 用于插入PCF8574的四针连接器. 红色矩形左下方的3V电源. 中间,右边的电平转换器是插入ESP_01的母接头. 黄色倒“L”形矩形用作切割多余 PCB 的指南. 这是生产的PCB的照片. 切口用于插入 PCF 卡.

继电器电路板:
这个 pcb 是最复杂的,对于我的设计,我从另一个为测试而生产的原型 pcb 开始,进行必要的更正并实际上进行了复制/粘贴。.
接线图是之前的图. 在 pcb 的顶部,我们可以看到 6 相关的连接器: 5 为了 5 插座,第六个插座用于220伏电压的第二个分支。左下角将连接到主PCB的5V电源引脚. 在中心我 5 继电器触发信号的输入引脚. 每个输入后的二极管为1n4148.

照片中完整的中继卡的外观如下.

您不会相信,但毕竟是PCB生产 (设计与制作) 我意识到我忘了插入基本组件: PCF8574 输出和继电器 PCB 输入之间的接口驱动器. 当然,我不能破坏所做的事情,我不得不满足于制作额外的 PCB 来容纳要插入的驱动程序. 我制作了以下内容:

PULL_UP 的电阻为 4.7K.
在这张照片的最后是完成的项目:

PCB_Main和PCB_Relais中间是驱动卡. 继电器板右侧的三个白色连接器用于连接继电器的电压电缆。 5 他拿了. 第六条其他电压电缆 220. 即使您在右下角没有注意到,也有一个红色按钮可以重置微型ESP,并且当整个系统处于ON_LINE时,它旁边的LED也会亮起,正如我将在软件章节中介绍的那样.
摆布支架: 作为贿赂,他们是真正的滑坡: 容器的尺寸为10×20 厘米 !! 在有机玻璃中.
在下面的照片中,完整而实用的项目.

不幸的是,鉴于设备的尺寸,配电盘无法容纳任何物品.
管理软件:
这是整个项目中最有趣,最基础的部分. 就像我一开始所说的那样,选择取决于通过HTML页面使用WEB界面,该页面可以通过任何PC上的WIFI进行管理, 片剂, 或手机. 我声明草图的实现并非全是我的包flour。, 但是通过 WEB 我能够下载管理 WEB_SERVER 来打开和关闭 LED 的各种示例,从这些示例中我开始实现草图,并通过 PCF8574 的管理完成它们. 一点点’ 我多年前做过 HTML 页面的经验,但很长一段时间我不得不刷新我的记忆.
制作的草图生成以下 HTML 页面:

在第一行中,继电器的状态指示哪些是“ON”,哪些是“OFF”. 在第二行 5 按钮使每个继电器“打开”, 第三排其他 5 按钮将每个继电器“关闭”. 每次按下相对按钮,第一行都会相应地更新. 终于在 4 第2行按钮“ ALL_ON”和“ ALL_OFF”一次性打开或关闭所有继电器.
以下是进一步草图的HTML页面: 顺便说一下,按钮设计是使用WYSIWYG软件进行的,该软件可以直观地生成HTML页面.

程序相似,但步骤多样: 第一行总是显示继电器的状态. 下面的按钮具有双重功能: 当它们为“红色”时,表示相关继电器已关闭. 每次按下时,相关按钮变为蓝色,文字从 ON 变为 OFF 等所有其他按钮, 以及变成蓝色“ALL_OFF”的按钮“ALL_ON”. 并且第一行总是显示继电器的状态.
草图的结构和逻辑:
我已经实现了两个名为 Ciabatta_Web 和 Ciabatta_Web3 的草图. 编程逻辑基本相同,仅PCF8574的管理方法相对于继电器的打开/关闭以及组成网页的行的写入发生了变化.
在ESP_01和其他模型的支持下在线管理HTML页面, 正确的方法有很多种: 我不在这里讨论它们的特点和数量,因为每种都有其特定的特征和不同的管理方法. 我将限制自己描述两个草图中使用的那个.
要访问您需要的 WIFI_Server 系统:
书店 “ESP8266WiFi”. 当用于 ESP 板的 Arduino IDE 更新时,必须已加载 una_tantum.
访问家庭路由器的参数定义: “ssid”这是分配给路由器的名称, 还有你的密码. 像这样的两个简单定义: 名称可以由您选择.
const char* ssid = “nome del router”;
const char * pwd = "密码已分配"
最后,用这个定义将端口分配给WiFiServer:
WiFi服务器服务器 (80); (服务器在端口上“侦听” 80)
显然,还必须定义库 线 用于管理 PCF8574.
在这两个草图中,通过插入经典的 Serial.print 包括调试的可能性() 在草图的或多或少的关键点通过 Arduino 串行监视器或 (我推荐的) l'Hyper Terminal di Windows. 不幸的是在 Windows 上 10 该APP未提供,因此有必要在网上搜索并下载免费版本.
然后启用带有波特率a的串行端口 115200 用于ESP (它似乎无法以较低的速度工作) 但是还会插入一个过程,如果您不按 3 秒,禁止在串行监视器上写入适当编程的调试信号. 但这是我个人的选择. 毕竟,没有其他交互式调试方法, 这是避免草图由于某种原因无法响应时处于黑暗中的最佳解决方案.
注: 要调试显示器,有必要将ESP连接到FTDI232型串行转换器或我之前介绍的“调试器”模块,以便分配COM端口。.
然后,我们使用以下命令初始化Wifi: WiFi.start(ssid, 密码) 并通过“ while”循环检查 WiFi状态 没关系: 或测试参数 WL_CONNECTED 直到确定. 由于路由器的响应可能会比正常情况更长,因此最好插入几秒钟的计时器以避免无限循环. 如果参数不正确或其他原因,路由器可能不响应.
进行 WiFI.start(ssid, 密码) 默认情况下,当路由器应答并建立连接时, 经典格式的IP地址已分配给ESP 192.168.1.XXX 其中XXX是实际分配的地址. 因此,有必要知道已分配了哪个地址 (在路由器上启用 DHCP) 到ESP,以便能够从浏览器连接并启动HTML页面. 与ESP的MAC地址关联时,此地址永远不会更改.
但是我们怎么知道已经分配了哪个地址 ?: 串行监视器上的调试系统非常方便: 连接正常后, 通过短语分配的地址通过经典的Serial.print发送: 串行打印(无线局域网()).
还有另一种系统可以弥补这种不便: 使用以下定义分配静态地址:
IP地址 (192.168.1.XXX) 在参数XXX中定义所需的地址.
IP地址网关 (192.168.1.1) 路由器的网关地址
IP地址子网 (255.255.255.0) 地址掩码.
因此,在WiFi.begin之后添加短语 WiFi.config(ip,网关,子网). 要访问,只需输入分配的地址以连接到访问. 名字随你喜欢.
完成这些操作后,您将获得成功的短语“server.begin()”启动服务器准备好侦听来自浏览器的请求.
此时,只有通过PCF8574 (已经初始化) 配置发送一个字节 0111 111: 或一点 7 连接了LED的LED点亮,但是所有配电盘继电器均保持关闭状态. 该LED指示灯亮起,表明已执行所有操作,并且“服务器”系统处于联机状态. 这个led系统是个人选择.
在“设置”中,除了用于设置其他设备的任何操作外,没有其他要添加的内容,在项目中.
在“循环”中,最大的份额来自“客户端”或必须与服务器交互并接收从WEB页面发送的命令的系统的管理. 第一件事是指示“客户端”检查服务器是否可用: 句子后面的一个循环 WiFiClient客户端= server.available()”使您可以检查服务器何时可用. 如果答案是肯定的,我们将循环检查该客户端是否可用 . 如果一切顺利,我们可以从浏览器发送时继续阅读, 将其存储在字符串中, 然后向客户发送组成HTML页面的说明. client.print或client.println指令用作Serial.print,因此HTML句子定义在方括号中. 我们存储的字符串包含参数中定义的内容,即按下了哪个按钮. 一个特殊的例程分析此字符串,并准备必须显示在WEB页面上的字符串,以指示哪个继电器为ON或OFF.
但是,不仅仅是言语,还需要事实: 这是发行的 (调试活动草图) 自从我们连接浏览器以来:
串行端口输出,用于连接验证:
WEB电源板 3
连接到 TPLINK_8968 >>>>> 路由器连接
…………. >>>>>> 等待连接
WiFi已连接. IP地址: 192.168.1.113 >>>>>>> 关联的IP连接服务器
与地址的连接是通过浏览器完成的 192.168.1.113 并发出已编程的HTML页面
新客户
得到 / HTTP / 1.1
主办: 192.168.1.113
用户代理: Mozilla / 5.0 (Windows NT 10.0; Win64的; x64; rv:78.0) Gecko / 20100101 Firefox / 78.0
接受: 文字/ HTML,应用程序/ xhtml + xml,应用程序/ xml;q = 0.9,图像/ Webp,*/*;q = 0.8
接受语言: IT,它;q = 0.8,美国;q = 0.5,在;q = 0.3
接受编码: gzip, 放气
连接: 活着
不安全升级请求: 1
客户端已断开连接. >>>>>>> 客户与草图的断开连接
>>>>>>>> 无需任何操作
从这里开始,对于浏览器页面中进行的每个操作,按下按钮时都会发出以下短语
主办: 192.168.1.113
用户代理: Mozilla / 5.0 (Windows NT 10.0; Win64的; x64; rv:78.0) Gecko / 20100101 Firefox / 78.0
接受: 文字/ HTML,应用程序/ xhtml + xml,应用程序/ xml;q = 0.9,图像/ Webp,*/*;q = 0.8
接受语言: IT,它;q = 0.8,美国;q = 0.5,在;q = 0.3
接受编码: gzip, 放气
连接: 活着
推荐人: HTTP://192.168.1.113/6/上 >>>>>>>> 这是按下按钮后浏览器发送的信息: 在这种情况下,第六个按钮
不安全升级请求: 1
客户端已断开连接.
结论:
我声明已创建和完成的所有内容都是由我自己唯一制作的. 当然可以通过其他更专业的方式加以改进和考虑. 电路选择也可能会发生变化,当然,不同的方法可能会带来更好的结果. 但是我不是专业人士,我在电子领域的经验有限.
不过,我感谢大家的关注.
Gvsoft July 2020.

伟大的项目, 特别是在教学层面.
一个伟大的承诺的工作. 在某些情况下,在我看来 Just4Fun 制作了一张类似于 ESP 部分的优惠券-01 e PCF8574.
最后,不仅仅是拖鞋,它还是靴子, 因为组件已经有一定的体积,安装它们来代替开关是不可行的.
然而,这些模块的有趣解释在我的测试中总是让人头疼.