Модуль реле ESPHome для управления нагрузкой.

kombi11

✩✩✩✩✩✩✩
7 Мар 2023
12
0
Всем привет! Помогите пожалуйста проверить, доработать, развести схему. Сразу скажу это моя первая схема в Easy EDA.
Суть проекта следующая: Умное управление реле из Home Assistant с помощью проекта ESPHome. Управлять реле можно из веб интерфейса и мобильного приложения homeassistant, собственного веб интерфейса, механических выключателей, сенсорного дисплея nextion (но это немножко другая тема). Прошивается по воздуху, прошивка готова и отлажена на макетной плате.
Schematic_RelayController_2023-03-07.png2023-03-07_022957.jpg2023-03-07_023146.jpg
В схеме используются: реле HKWDZ 5VDC SRD-05VDC-SL-C с максимальной нагрузкой 10A, диоды 1N4001, резистор 100 Ом подключённый к управляющему пину транзистора BC548, подтягивающие резисторы 3 кОм для подключения механических выключателей (чтобы избежать дребезг "множественное вкл\выкл при любом прикосновении к пинам"), конденсаторы 33nF - CL21-0.033uF100V 5% установленные между GND и линией идущий на механические выключатели (не знаю зачем порекомендовали в одном тк.). Встраиваемый блок питания HiLink HLK-10M05 5V 2A, Модуль ESP-12F(ESP8266MOD), smd красные светодиоды - Youngyu Photoelectric SZYY1206R, клеммы.
Вопросы по схеме следующие: правильно ли подобраны компоненты, верна ли схема подключения реле, на сколько нужны конденсаторы в этой схеме, разводка клеммы для прошивки ESP обратите внимание на установленный диод, для того, чтобы при прошивке напряжение не пошло на ttl конвертер - на сколько он здесь уместен? Нужны ли прорези в плате вокруг переключающего нагрузку контакта реле (такие есть в заводских модулях реле) и если да, то как их сделать, так и не разобрался. Файл Gerber и Easy Eda во вложении.
 

Вложения

Изменено:

PiratFox

★★★★★✩✩
13 Фев 2020
1,706
474
На схеме включены неправильно, возможно по ошибке. Нужно перевернуть наоборот: катоды на Vcc, аноды на коллекторы транзисторов.
резистор 100 Ом подключённый к управляющему пину транзистора BC548
100 ом мало. Увеличить до 1к. Для справки: "управляющий пин транзистора ВС548" называется БАЗА.
Кроме того, светодиоды включены без токоограничивающих резисторов. Грубейшая ошибка, дилетантская. Закончится тем, что погорят и сами светодиоды, и может даже пин контроллера выбить.
подтягивающие резисторы 3 кОм для подключения механических выключателей
Включены в разрыв, неправильно. Должен быть один вывод на Vcc, другой на пин контроллера.
Я смотрю, у Вас крайне скудные знания электротехники даже из школьного курса физики. Рекомендую полистать школьный учебник. Ну и пару книжек в качестве пособия здесь.
 
Изменено:

kombi11

✩✩✩✩✩✩✩
7 Мар 2023
12
0
Включены в разрыв, неправильно. Должен быть один вывод на Vcc, другой на пин контроллера.
Не совсем понятно, нужно ещё линию vcc подтянуть? На схеме у меня к механическим выключателям есть 4 линии GPIO и 1 GND, а нужно подтянуть ещё vcc и установить резистор между vcc и GPIO?

100 ом мало. Увеличить до 1к.
Кроме того, светодиоды включены без токоограничивающих резисторов.
На сколько я понял из даташита по данным светодиодам, они на 5v. Каким номиналом резистор для них нужен?
 

kombi11

✩✩✩✩✩✩✩
7 Мар 2023
12
0
не "ещё" а вместо.
Замыкать выключателем GPIO на VCC? Точно не помню, но вроде когда я тестировал всё на макетке, то при замыкании на vcc выключатели не работали, на GND работало, но по началу было много срабатываний, даже если просто прикоснуться к GPIO, после того как включил внутреннюю подтяжку на esp стало более менее, хотя рекомендуют ставить подтягивающие резисторы.
 

PiratFox

★★★★★✩✩
13 Фев 2020
1,706
474
На сколько я понял из даташита по данным светодиодам, они на 5v
5v - это обратное напряжение.
Каким номиналом резистор для них нужен?
Около 750ом - 1к.
Замыкать выключателем GPIO на VCC?
А где в схеме выключатель и как он подключен? Я не вижу, у меня хрустального шара нет.
 
Изменено:

kombi11

✩✩✩✩✩✩✩
7 Мар 2023
12
0
А где в схеме выключатель и как он подключен?
А его и не должно быть на схеме, потому, что это обычные механические выключатели которые установлены в квартире (доме) они замыкают gpio и vcc, 4 выключателя - 4GPIO + 1 GND на колодке.
 

PiratFox

★★★★★✩✩
13 Фев 2020
1,706
474
А его и не должно быть на схеме
Для Вас, может, и не должно. Но раз уж Вы попросили помощи на форуме, то потрудитесь привести схему устройства целиком. Ясновидящих тут нет, а экстрасенсы все в запое. 😁
это обычные механические выключатели которые установлены в квартире (доме)
А какая длина проводов будет от этих выключателей до платы?
 
Изменено:

Геннадий П

★★★★★★✩
14 Апр 2021
1,962
630
44
На схеме включены неправильно, возможно по ошибке. Нужно перевернуть наоборот: катоды на Vcc, аноды на коллекторы транзисторов.
Мало того, обычные низковольтные выпрямительные диоды на подобную защиту не ставят.
У 1N4001 время восстановления порядка 1500 нсек (1.5 мксек). Когда как у нормального быстродействующего диода, который ставят на подобную защиту время восстановления порядка 50 нсек.
 

kombi11

✩✩✩✩✩✩✩
7 Мар 2023
12
0
@Геннадий П, Посоветуйте другие пусть даже smd, но желательно не smd!

А какая длина проводов будет от этих выключателей до платы?
До каждого по разному, но в целом не более 10 метров, минимально 2 - 3 метра.

2023-03-07_195056.jpg

Вот код кнопок и реле для esp.
C++:
# Button logic

switch:
  # Button Garage
  - platform: gpio
    pin: GPIO2
    name: "Garage Lamp one"
    inverted: true
    restore_mode: ALWAYS_OFF
    id: relay1

  - platform: gpio
    pin: GPIO4
    name: "Garage Lamp two"
    inverted: true
    restore_mode: ALWAYS_OFF
    id: relay2

  - platform: gpio
    pin: GPIO16
    name: "Garage Lamp three"
    inverted: true
    restore_mode: ALWAYS_OFF
    id: relay3

# Button Street
  - platform: gpio
    pin: GPIO10
    name: "Street Lamp"
    inverted: True
    restore_mode: ALWAYS_OFF
    id: relay4

# Sensor logic

binary_sensor:
  # Garage Sensor
  - platform: gpio
    pin:
      number: GPIO5
      mode:
        input: true
        pullup: true
    name: "Garage Lamp Toggle Button one"
    publish_initial_state: false
    filters:
      - invert
      - delayed_on: 10ms
      - delayed_off: 10ms
    on_state:
      then:
        - switch.toggle: relay1

  - platform: gpio
    pin:
      number: GPIO14
      mode:
        input: true
        pullup: true
    name: "Garage Lamp Toggle Button two"
    publish_initial_state: false
    filters:
      - invert
      - delayed_on: 10ms
      - delayed_off: 10ms
    on_state:
      then:
        - switch.toggle: relay2

  - platform: gpio
    pin:
      number: GPIO12
      mode:
        input: true
        pullup: true
    name: "Garage Lamp Toggle Button three"
    publish_initial_state: false
    filters:
      - invert
      - delayed_on: 10ms
      - delayed_off: 10ms
    on_state:
      then:
        - switch.toggle: relay3

  # Garage Sensor Street
  - platform: gpio
    pin:
      number: GPIO13
      mode:
        input: true
        pullup: true
    name: "Street Toggle Button"
    publish_initial_state: false
    filters:
      - invert
      - delayed_on: 10ms
      - delayed_off: 10ms
    on_state:
      then:
        - switch.toggle: relay4
 

kombi11

✩✩✩✩✩✩✩
7 Мар 2023
12
0
@Геннадий П, благодарю, а транзисторы на ваш взгляд в данной схеме годные? Или есть лучше, если можно посоветуйте smd, а то плата сильно разрастается!
 

PiratFox

★★★★★✩✩
13 Фев 2020
1,706
474
не более 10 метров, минимально 2 - 3 метра.
Глупая затея. Устройство будет глючить от наводок переменного тока, да и ещё много от чего. А во время грозы всё вообще может накрыться медным тазом. Впрочем, дело Ваше.
Далее. Раз через выключатели идёт минус, то gpio нужно подтягивать к Vcc, резисторы уменьшить до 1к. Конденсаторы не нужны.
 

PiratFox

★★★★★✩✩
13 Фев 2020
1,706
474
@kombi11, очень простой выход, как во всей промышленной автоматике. Вот один из вариантов:

Key.JPG
 

kombi11

✩✩✩✩✩✩✩
7 Мар 2023
12
0
@PiratFox, как я понимаю присоединяется ещё и оптопара? Только получается нужно с выключателя подавать на оптопару 24V?
 

kombi11

✩✩✩✩✩✩✩
7 Мар 2023
12
0
@PiratFox, Да прожорливый этот умный дом получается, одни блоки питания. А вот эти реле умные, что на aliexpress Aquara и т.д, с пинами для механических выключателей, которые помещаются в подразатник, неужели они тоже по такому принципу?
 

PiratFox

★★★★★✩✩
13 Фев 2020
1,706
474
Так эти самые Aquara устанавливаются в непосредственной близости к выключателям. Там нет длинных проводов.
 

kombi11

✩✩✩✩✩✩✩
7 Мар 2023
12
0
@PiratFox, Хорошо, а что если убрать с платы блок питания на 5v, установить на 24v, установить 2dc\dc преобразователя один с 24 на 3.3v - для esp, другой c 24 на 5v - для реле. Оптопары есть только на 24v?
 

PiratFox

★★★★★✩✩
13 Фев 2020
1,706
474
@kombi11, нельзя, источники питания должно быть гальванически развязаны. Т.е. у них не должно быть общего минуса. Впрочем, и плюса тоже. Иначе теряется смысл применения оптопары.
Оптопары есть только на 24v?
Немного некорректный вопрос. Светодиод оптопары это токовый прибор. Напряжение может быть разным, от этого будет зависеть сопротивление ограничительного резистора. Который расчитывается исходя из напряжения и номинального тока светодиода. Как - см. в рекомендованной книжке "Карманный справочник по электронике". Значение 24v это одно из стандартных в цепях управления промышленной автоматики.
 
Изменено:

kombi11

✩✩✩✩✩✩✩
7 Мар 2023
12
0
В продолжении темы, сделал некоторые корректировки в схеме, прошу проверить знающих людей и дать свои оценки!
2023-03-11_114908.jpg 2023-03-11_114844.jpg 2023-03-11_114928.jpg

1. Добавил понижающий стабилизатор AMS 1117 для esp с 5 до 3.3v + 2 конденсатора на входе к стабилизатору и выходе из него на вход 10uf на выход 22uf по данным из схемы:
2023-03-11_102307.jpg
.
2. Поменял диоды с 1N4001 на US1B по рекомендации выше "Геннадий П".
3. Установил токоограничивающие резисторы smd на 1Ком марки "CBW201209U102T" между пинами GPIO и светодиодами по рекомендации "PiratFox".
4. Переделал схему подтягивающих резисторов + заменил резисторы на smd и номиналом 1Ком, марки "CBW201209U102T", убрал конденсаторы из схемы - согласно комментарию выше "PiratFox".
5. Заменены резисторы на smd 1Koм так - же марки "CBW201209U102T" между управляющим пином транзистора "базой" и GPIO, в общем сейчас они везде номиналом 1Ком. По рекомендации "PiratFox".
С прошлого раза без внимания остался диод установленный в разрыв линии VCC идущей на колодку ttl конвертера, я подумал, что он там нужен, для того чтобы напряжение при подключенной плате не пошло на пин ttl конвертера. На сколько это правильно?
Ещё есть вопрос по колодке для ttl конвертера именно для перезагрузки esp при прошивке какой пин esp нужно подтягивать на колодку? Сейчас у меня подтянут пин rst на колодку, а на ttl конвертере есть только dtr. Или всё-таки нужно подтягивать пин EN?
Так - же прошу ваших рекомендаций по размеру дорожек. Силовые (которые идут на реле) сейчас шириной 2мм - сделал в ручную. Остальные - 0.432мм - задавал в настройках для авто трассировщика.
 
Изменено: