DIYSmartHome 发表于 2024-1-13 19:27:57

中移铁通插排改造成磁保持继电器【全球首款?】

本帖最后由 DIYSmartHome 于 2024-1-28 17:24 编辑

中移铁通插排确实便宜到没朋友,但可惜的是,标称2500w的排插,可能由于工程师的疏忽,里面居然用了个5A的继电器。所以,买回来后,就忍不住给他改造了下。直接改成10A的磁保持继电器,HF3F-L/12-1HL2T。而且这继电器仅3块多一点。下面就开始表演:
先搞清楚排插的IO定义,下面定义参考szlww发表的贴子整理。
原版排插的定义:

简化版:

由于磁保持继电器需要两个IO来控制,所以我把两个继电器合成了一个,这样对排插改动最小,改造后的定义如下图:

接着就是画一个小板子,替代原来的继电器小板,量了下,替换的磁保持继电器高度刚刚好,没跟排插干涉。
原理图

PCB

然后打样,等.....................................
回来焊好后,长这样,跟原来的对比下:

装起来,安装的时候参考我上面的图,里有IO定义

干路的继电器由于去掉了,要拿根粗导线,把它连起来,

最终成品

================到此,硬件就已经完事了==============

接下来要注入灵魂,直接拿@szlww大佬的代码来改下:【最终版本-代码开源】20元的中移铁通插排:esp+功率计量 - 『HomeAssistant』综合讨论区 - 『瀚思彼岸』» 智能家居技术论坛 - Powered by Discuz! (hassbian.com)
核心是这部分,继电器只需要触发70ms左右就可以动作。
script:
- id: id_power_turn_on_relay
    then:
      - button.press: id_trigger_relay_latch
      - output.turn_on: id_pin_relay_set
      - delay: 70ms
      - button.press: id_trigger_relay_latch
      - output.turn_off: id_pin_relay_set
- id: id_power_turn_off_relay
    then:
      - button.press: id_trigger_relay_latch
      - output.turn_on: id_pin_relay_reset
      - delay: 70ms
      - button.press: id_trigger_relay_latch
      - output.turn_off: id_pin_relay_reset到这就全完事了。
硬件原理图跟PCB工程:

PS:第一次用立创的EDA,不知是不是把.epro文件分享出来就是整个工程了。
esphome本地工程:


PS:软件还有个小BUG,就是继电器是开的时候,断电再上电,继电器会关掉。这应该是上电瞬间,IO电平不确定导致的。看有没有大佬能解决下。:lol
======================断电再上电,继电器会关闭的BUG,由chazikai24的建议可以解决。
把下面restore_mode: ALWAYS_OFF改成restore_mode: RESTORE_DEFAULT_OFF就可以了。
唯一不足是,继电器变化后,要等一分钟,让它保存这配置到flash。如果继电器状态改变,不到一分钟就断电,还是不能恢复断电前的状态的。
#插排按钮-逻辑开关
- platform: template
    id: id_power_key_logic
    name: Relay Power Key
    optimistic: true
    restore_mode: RESTORE_DEFAULT_OFF
    on_turn_on:
      then:
      - light.turn_on: id_led_white
      - script.execute: id_power_turn_on_relay
      - script.wait: id_power_turn_on_relay
    on_turn_off:
      then:
      - light.turn_off: id_led_white
      - script.execute: id_power_turn_off_relay
      - script.wait: id_power_turn_off_relay==========20240128 更新============
改成disable更合理:restore_mode: DISABLED
这样就不需要等存flash了。
#插排按钮-逻辑开关
- platform: template
    id: id_power_key_logic
    name: Relay Power Key
    optimistic: true
    restore_mode: DISABLED
    on_turn_on:
      then:
      - light.turn_on: id_led_white
      - script.execute: id_power_turn_on_relay
      - script.wait: id_power_turn_on_relay
    on_turn_off:
      then:
      - light.turn_off: id_led_white
      - script.execute: id_power_turn_off_relay
      - script.wait: id_power_turn_off_relay



chazikai24 发表于 2024-1-25 09:03:13

打开状态下,断电重新上电的问题,我估计是因为用了restore_mode: ALWAYS_OFF,改成restore_mode: RESTORE_DEFAULT_OFF试试

pengguilian 发表于 2024-1-13 20:25:49

竟然那么多人都在玩插排?

DIYSmartHome 发表于 2024-1-13 20:44:13

pengguilian 发表于 2024-1-13 20:25
竟然那么多人都在玩插排?

主要是一直想搞个磁保持继电器的排插;P

pengguilian 发表于 2024-1-13 21:12:14

DIYSmartHome 发表于 2024-1-13 20:44
主要是一直想搞个磁保持继电器的排插

的确是好,不过不是首款,被人捷足先登了
https://bbs.hassbian.com/thread-23950-1-1.html

DIYSmartHome 发表于 2024-1-13 21:22:00

pengguilian 发表于 2024-1-13 21:12
的确是好,不过不是首款,被人捷足先登了
https://bbs.hassbian.com/thread-23950-1-1.html ...

那时间上差不多,只不过他先发出来:lol。不过我把软件也改好了,那就降成完整一套的首款吧;P

pengguilian 发表于 2024-1-13 21:26:24

DIYSmartHome 发表于 2024-1-13 21:22
那时间上差不多,只不过他先发出来。不过我把软件也改好了,那就降成完整一套的首款吧 ...
他是磁保持继电器专业户,估计早就在用了。

DIYSmartHome 发表于 2024-1-13 21:36:52

pengguilian 发表于 2024-1-13 21:26
他是磁保持继电器专业户,估计早就在用了。

好吧,看起来他确实对磁保持比较痴迷

pengguilian 发表于 2024-1-13 21:41:31

DIYSmartHome 发表于 2024-1-13 21:36
好吧,看起来他确实对磁保持比较痴迷
可惜这种继电器和普通的引脚不通用,楼主连主板都拆了,不干脆连主板都重新设计?直接把继电器放在主板里?也许可做2路独立控制

DIYSmartHome 发表于 2024-1-13 22:17:37

pengguilian 发表于 2024-1-13 21:41
可惜这种继电器和普通的引脚不通用,楼主连主板都拆了,不干脆连主板都重新设计?直接把继电器放在主板里 ...

也想过重新设计,但是觉得比较花时间,就算了

elvinli 发表于 2024-1-15 10:47:56

老兄,提示一下文本里继电器型号写错了。是“HF3F-L-12-1HL2T”,而不是05的,12是12v,05是5v,建议改一下,我差点买错。
页: [1] 2 3 4 5 6 7 8
查看完整版本: 中移铁通插排改造成磁保持继电器【全球首款?】