Умный диммер. Вопросы реализации.

Подключение исполнительных устройств, датчиков, контроллеров.

Модератор: immortal

AndyE
Сообщения: 9
Зарегистрирован: Сб фев 04, 2017 11:37 pm
Откуда: Московская область
Благодарил (а): 6 раз
Поблагодарили: 0

Умный диммер. Вопросы реализации.

Сообщение AndyE » Ср июн 28, 2017 9:30 pm

Добрый день, друзья.

Подготовка к монтажу первых блоков умного дома идет полным ходом, понял, что хочу диммировать освещение в спальне. Озаботился соответствующим модулем.Хотелось бы иметь гибкий модуль работающий с MQTT. В принципе решил собирать схему на симисторе. Так как в оригинале используется Ардуино, а мне кажется жирноватым навешивать сверху еще и ESP8622 - думаю будет жирновато. Как мне кажется ESP сама способна порулить симистором. Но что -то я навскидку не могу понять есть ли у нее апаратные прерывания, которые смогут отрабатывать переход нуля в сети?
Я знаю, что некоторые льют Ардуиновский скетч в ЕСП, но это, имхо, не правильный путь, слишком много лишних прослоек. Думаю адаптировать скетч для ЕСП не составит труда.
Прошу сильно не пинать с такой электроникой только начинаю разбираться. :roll:
Последний раз редактировалось AndyE Ср июн 28, 2017 9:58 pm, всего редактировалось 1 раз.
Аватара пользователя
nightwind
Сообщения: 333
Зарегистрирован: Вс июн 26, 2016 4:42 pm
Откуда: Барановичи
Благодарил (а): 28 раз
Поблагодарили: 52 раза
Контактная информация:

Re: Умный диммер. Вопросы реализации.

Сообщение nightwind » Ср июн 28, 2017 9:45 pm

Ардуиновский скетч - это название для домохозяек. на самом деле это обычный си + парочка ардуиновских библиотек. Для новичка самое простое - это писать именно эти ардуиновские скетчи в ихнем примитивном иде. Никаких прослоек там не будет. Оно все скомпилируется в нормальную прошивку именно для esp.
AndyE
Сообщения: 9
Зарегистрирован: Сб фев 04, 2017 11:37 pm
Откуда: Московская область
Благодарил (а): 6 раз
Поблагодарили: 0

Re: Умный диммер. Вопросы реализации.

Сообщение AndyE » Ср июн 28, 2017 9:53 pm

nightwind писал(а):Ардуиновский скетч - это название для домохозяек. на самом деле это обычный си + парочка ардуиновских библиотек. Для новичка самое простое - это писать именно эти ардуиновские скетчи в ихнем примитивном иде. Никаких прослоек там не будет. Оно все скомпилируется в нормальную прошивку именно для esp.
Что из себя представляет скетч - я понимаю. А под прослойкой я и имел ввиду что код Ардуино можно изобразить на С и работать он будет быстрее.
Во первых хочется познакомиться с ESP. Так как в большинстве задач автоматизации не требуется бешеной вычислительной мощности - думаю мне его будет удобно применять.
А во вторых скетч из темы по ссылке имеет проблемы при заливке в ESP так как использует специфичную для Ардуино библиотеку.
Аватара пользователя
nightwind
Сообщения: 333
Зарегистрирован: Вс июн 26, 2016 4:42 pm
Откуда: Барановичи
Благодарил (а): 28 раз
Поблагодарили: 52 раза
Контактная информация:

Re: Умный диммер. Вопросы реализации.

Сообщение nightwind » Ср июн 28, 2017 11:33 pm

код Ардуино - это и есть самый обычный си. колупай арлдуиновчкую билиотеку, там все просто
вот это "ардуиновское "digitalWriteПоказать

Код: Выделить всё

extern void ICACHE_RAM_ATTR __digitalWrite(uint8_t pin, uint8_t val) {
  if(pin < 16){
    if(val) GPOS = (1 << pin);
    else GPOC = (1 << pin);
  } else if(pin == 16){
    if(val) GP16O |= 1;
    else GP16O &= ~1;
  }
} 
ничего тут супер не ускоришь, да и производительность esp настолько избыточна для ногодрыганий по вайфай, что тут как раз тот случай, что можно влепить 15 прослоек, и все будет работать)
ИМХО разбираться в низком уровне тут абсолютно не нужно, даже вредно. потратишь неделю, а профита никакого.
AndyE
Сообщения: 9
Зарегистрирован: Сб фев 04, 2017 11:37 pm
Откуда: Московская область
Благодарил (а): 6 раз
Поблагодарили: 0

Re: Умный диммер. Вопросы реализации.

Сообщение AndyE » Чт июн 29, 2017 2:02 pm

nightwind писал(а): ничего тут супер не ускоришь, да и производительность esp настолько избыточна для ногодрыганий по вайфай, что тут как раз тот случай, что можно влепить 15 прослоек, и все будет работать)
ИМХО разбираться в низком уровне тут абсолютно не нужно, даже вредно. потратишь неделю, а профита никакого.
Тут даже не по вафле. Тут все локально работает. Извне получается только скважность импульсов.
a_kouz
Сообщения: 40
Зарегистрирован: Вт апр 18, 2017 11:25 am
Благодарил (а): 0
Поблагодарили: 8 раз

Re: Умный диммер. Вопросы реализации.

Сообщение a_kouz » Вс июл 02, 2017 1:03 pm

AndyE писал(а): в большинстве задач автоматизации не требуется бешеной вычислительной мощности - думаю мне его будет удобно применять.
А во вторых скетч из темы по ссылке имеет проблемы при заливке в ESP так как использует специфичную для Ардуино библиотеку.
Дело не в "вычислительной мощности", а в том, как организовано исполнение программ. В ESP8266 c Ардуино наивысший приоритет имеют функции обработки TCP/IP. Когда обрабатыается принимаемое или отправляемое сообщение, ESP8266 надолго "вырубается" и не обрабатывает пользовательскую парограмму, т.е. скетч.

Насколько "надолго"? Я видел паузы до 0.7 сек. Чтобы это увидеть, я в главной петле дрыгал ногой ESP с интервалом 1 мс. Соответственно, на осциллографе виден непрерывный меандр с периодом 2 мс. Однако иногда в нем видны паузы длительностью в доли секунды.

Управлять симистором при помощи такого устройства - это просто безумие.
AndyE
Сообщения: 9
Зарегистрирован: Сб фев 04, 2017 11:37 pm
Откуда: Московская область
Благодарил (а): 6 раз
Поблагодарили: 0

Re: Умный диммер. Вопросы реализации.

Сообщение AndyE » Сб июл 08, 2017 7:48 pm

a_kouz писал(а):
AndyE писал(а): в большинстве задач автоматизации не требуется бешеной вычислительной мощности - думаю мне его будет удобно применять.
А во вторых скетч из темы по ссылке имеет проблемы при заливке в ESP так как использует специфичную для Ардуино библиотеку.
СпойлерПоказать
Дело не в "вычислительной мощности", а в том, как организовано исполнение программ. В ESP8266 c Ардуино наивысший приоритет имеют функции обработки TCP/IP. Когда обрабатыается принимаемое или отправляемое сообщение, ESP8266 надолго "вырубается" и не обрабатывает пользовательскую парограмму, т.е. скетч.

Насколько "надолго"? Я видел паузы до 0.7 сек. Чтобы это увидеть, я в главной петле дрыгал ногой ESP с интервалом 1 мс. Соответственно, на осциллографе виден непрерывный меандр с периодом 2 мс. Однако иногда в нем видны паузы длительностью в доли секунды.
Управлять симистором при помощи такого устройства - это просто безумие.
Извините, не совсем понял. Безумие из-за приоритетов обработки или есть еще какие-то причины?
a_kouz
Сообщения: 40
Зарегистрирован: Вт апр 18, 2017 11:25 am
Благодарил (а): 0
Поблагодарили: 8 раз

Re: Умный диммер. Вопросы реализации.

Сообщение a_kouz » Пн июл 10, 2017 7:55 am

AndyE писал(а): Извините, не совсем понял. Безумие из-за приоритетов обработки или есть еще какие-то причины?
Чтобы свет не "моргал", диммер должен обеспечить стабильный угол отпирания симистора. Интервал времени от момента перехода сетевого напряжения через 0 до момента подачи импульса на симистор должен быть стабильным, допускаемая нестабильность - всего лишь десятки микросекунд. А на ESP8266 эта нестабильность будет доли секунды, что ни в какие ворота не лезет.

Однако если вас не волнует "моргающий" свет, то, конечно, делайте диммер на чем угодно, хоть вручную от кнопки симистором управляйте.
olehs
Сообщения: 1115
Зарегистрирован: Вс июн 14, 2015 11:08 am
Благодарил (а): 85 раз
Поблагодарили: 342 раза

Re: Умный диммер. Вопросы реализации.

Сообщение olehs » Пн июл 10, 2017 9:18 am

a_kouz писал(а): В ESP8266 c Ардуино наивысший приоритет имеют функции обработки TCP/IP. Когда обрабатыается принимаемое или отправляемое сообщение, ESP8266 надолго "вырубается" и не обрабатывает пользовательскую парограмму, т.е. скетч.

Насколько "надолго"? Я видел паузы до 0.7 сек. Чтобы это увидеть, я в главной петле дрыгал ногой ESP с интервалом 1 мс. Соответственно, на осциллографе виден непрерывный меандр с периодом 2 мс. Однако иногда в нем видны паузы длительностью в доли секунды.

Управлять симистором при помощи такого устройства - это просто безумие.
Неужели приоритет выше, чем у аппаратных прерываний? Вы ногой дергали из основного цикла или из прерывания таймера?
AndyE
Сообщения: 9
Зарегистрирован: Сб фев 04, 2017 11:37 pm
Откуда: Московская область
Благодарил (а): 6 раз
Поблагодарили: 0

Re: Умный диммер. Вопросы реализации.

Сообщение AndyE » Пн июл 10, 2017 1:18 pm

a_kouz писал(а):
AndyE писал(а): Извините, не совсем понял. Безумие из-за приоритетов обработки или есть еще какие-то причины?
Чтобы свет не "моргал", диммер должен обеспечить стабильный угол отпирания симистора. Интервал времени от момента перехода сетевого напряжения через 0 до момента подачи импульса на симистор должен быть стабильным, допускаемая нестабильность - всего лишь десятки микросекунд. А на ESP8266 эта нестабильность будет доли секунды, что ни в какие ворота не лезет.

Однако если вас не волнует "моргающий" свет, то, конечно, делайте диммер на чем угодно, хоть вручную от кнопки симистором управляйте.
Спасибо за пояснения. Именно такая информация интересовала. В таком случае, наверное, лучше функцию ШИМ-управления симистром отдать на внешний МК, который будет тупо получать от ESP информацию.
Ответить