Прошивка MegaD-2561 (релизы, обсуждения, предложения)

Обсуждение статей, технологий домашней автоматизации, программных и аппаратных решений
Maxmen
Сообщения: 73
Зарегистрирован: 05 янв 2017, 01:00

Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)

Сообщение Maxmen » 05 окт 2017, 18:53

Andrey_B, убедили.

Haus
Сообщения: 227
Зарегистрирован: 28 апр 2015, 13:13

Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)

Сообщение Haus » 07 окт 2017, 13:10

Баг или фича?
на запрос /?cmd=all, ответ 38 основных + порты по количеству подключённых MCP230XX

Andrey_B
Администратор
Сообщения: 5327
Зарегистрирован: 18 мар 2011, 12:06

Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)

Сообщение Andrey_B » 08 окт 2017, 10:39

Haus писал(а):на запрос /?cmd=all, ответ 38 основных + порты по количеству подключённых MCP230XX
Да, но думаю, что это неправильно.
Наверное, по команде cmd=all должны отображаться только родные порты контроллера, иначе это может привести к некорректной обработке этой информации сервером.
Это вот как раз тот случай, когда целесообразно форматировать данные определенным образом. Здесь JSON уместен.

Andry
Сообщения: 213
Зарегистрирован: 23 мар 2017, 10:41

Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)

Сообщение Andry » 10 окт 2017, 13:35

Andrey_B Будет ли поддержка на аппаратном уровне каких либо датчиков для измерения напряжения и тока(мощности)?Может для тока прикрутить вот такой ALLEGRO ACS758 ACS758LCB 100A,есть и 50А, что достаточно для дома.Будут какие то датчики для измерения тока и напряжения с коробки?

Andrey_B
Администратор
Сообщения: 5327
Зарегистрирован: 18 мар 2011, 12:06

Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)

Сообщение Andrey_B » 10 окт 2017, 17:41

Если говорить о ACS758, то никакой особенной поддержки со стороны прошивки вроде бы не нужно.
Перевести значение АЦП в амперы можно на сервере.

Andry
Сообщения: 213
Зарегистрирован: 23 мар 2017, 10:41

Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)

Сообщение Andry » 10 окт 2017, 17:46

Ну так я в принципе и думал,тяжело мне с серверами :)Далёк я от программирования,если по проводке и схеме то мне проще. Это я в пример написал Алегровский.А есть что то типа такого https://arduino-ua.com/prod1661-cifrovo ... shinoi-i2c?

Andrey_B
Администратор
Сообщения: 5327
Зарегистрирован: 18 мар 2011, 12:06

Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)

Сообщение Andrey_B » 10 окт 2017, 18:08

А как вы практически будете использовать INA219?
Интересны, прежде всего, сенсоры переменного тока для высокого напряжения с интерфейсом I2C. Но что-то они не валяются на каждом углу.

Andry
Сообщения: 213
Зарегистрирован: 23 мар 2017, 10:41

Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)

Сообщение Andry » 10 окт 2017, 18:11

Может можно хоть один вход АЦП дать возможность сразу приписать к какому то стандартному Алегровскому датчику http://www.farnell.com/datasheets/1927450.pdf ,чтобы без сервака сразу цифры .Они вроде с завода калиброванные идут.Посмотрел вроде и цены гуманные в Китае.Можно и строчку меню например отсечение по току.Чем хорошо поясню сразу без сервера можно отключать систему от вода хоть по напряжению хоть потоку. Преимущества очевидны скорость реакции и всё равно в каком состоянии находится сервер,может он глюканул:) .А тут на аппаратном уровне такие возможности.Для меня умный дом в первую очередь защита и сбор информации а потом плюшки типа вкл света и роллет. Есть примеры использования этого контролера по измерению тока и напряжения?
Последний раз редактировалось Andry 10 окт 2017, 18:16, всего редактировалось 1 раз.

Andry
Сообщения: 213
Зарегистрирован: 23 мар 2017, 10:41

Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)

Сообщение Andry » 10 окт 2017, 18:14

Andrey_B писал(а):А как вы практически будете использовать INA219?
.
Это я как пример.

Andrey_B
Администратор
Сообщения: 5327
Зарегистрирован: 18 мар 2011, 12:06

Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)

Сообщение Andrey_B » 10 окт 2017, 18:25

Для реализации защитных функций промышленность выпускает широкий ассортимент изделий под названием "реле тока" с настройками и исполнением на DIN-рейку.
ACS758, кстати, сняты с производства. Вместо них предлагается использовать ACS770. Но питание у новой микросхемы уже от 4,5В.

Andry
Сообщения: 213
Зарегистрирован: 23 мар 2017, 10:41

Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)

Сообщение Andry » 10 окт 2017, 18:29

Понял только почал писать про 758 вы ответили.Всё равно как бы хотелось снимать показания сети.Одно плохо поскольку аналоговый девайс,то чтобы наводок было меньше нужно хорошо екранировать сигнальные провода.Тут может быть решение установка внешнего АЦП и слать всё по шине IC2.Тогда можно сам датчик цеплять на вод а сами контроллера ставить где удобно.

Andry
Сообщения: 213
Зарегистрирован: 23 мар 2017, 10:41

Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)

Сообщение Andry » 10 окт 2017, 18:30

Может ADS1115 http://www.ti.com/lit/ds/sbas444c/sbas444c.pdf в паре с Алегро ?Или зделать подержку внешнего АЦП,там 4 канала.Можно мерять ток напряжение и ещо чего то.Удобно, что можно удалённо без потери сигнала и меньше шумов.ACS758 на Алиекспрес валом и смотрю люди активно их покупают.Да и они практически взаимозаменяеми с новой серией,кроме напряжения питания,так что можно брать за основу.Да и цена почти таже.

Alex_Jet
Сообщения: 1251
Зарегистрирован: 12 янв 2014, 18:00
Откуда: Россия, г.Томск

Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)

Сообщение Alex_Jet » 11 окт 2017, 06:39

Как показала моя практика 10 бит для оцифровки значения напряжения с датчиков тока во многих случаях недостаточно для точного измерения тока (в моем проекте при Vref=5V с ASC на 5А дискретность по току была около 26мА на 1 отсчет, то есть контроллировать заряд Li-Ion батарей было невозможно), поэтому нужна поддержка 12-16 битного дешевого АЦП с интерфейсом I2C, например, тот же ADS1115.
Правда другое дело умный дом и где в нем нужна большая точность?

Andry
Сообщения: 213
Зарегистрирован: 23 мар 2017, 10:41

Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)

Сообщение Andry » 11 окт 2017, 11:15

Нужна если считать потребление помимо счетчика,представьте какое будет отклонение за месяц при вранье всего 0.1А .А ADS1115 я выше предлагал,считаю что поддержка внешнего АЦП очень важна.Причём ADS1115 сравнительно дешевый,и сразу зделать поддержку на аппаратном уровне замер основных параметров ходового Алегровского датчика,или другого достойного.

Andrey_B
Администратор
Сообщения: 5327
Зарегистрирован: 18 мар 2011, 12:06

Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)

Сообщение Andrey_B » 13 окт 2017, 12:24

https://ab-log.ru/files/File/megad-2561 ... a8-hex.zip

- При включенном режиме Smooth для PWM-порта передача параметра cnt=0 позволяет менять яркость моментально

Краткое пояснение. Для ШИМ (PWM) портов есть режим Smooth. Это когда можно задать скорость, например, разгорания и затухания лампочки. Так, при значении Smooth равным 1 лампочка от 0 до 255 (максимальное значение ШИМ) разгорается примерно за 1 секунду. Но скоростью изменения яркости при включенном режиме Smooth можно оперативно управлять с помощью параметра "cnt".
Например: http://192.168.0.14/sec/?pt=13&pwm=255&cnt=3
Не важно что указано в поле Smooth. Изменение яркости от 0 до 255 произойдет за 3 секунды.
Однако cnt=0 ранее не приводило к моментальному изменению яркости. Яркость в этом случае менялась согласно настройкам Smooth. Теперь даже при включенном режиме Smooth сервер может изменять яркость моментально с помощью cnt=0.

Haus
Сообщения: 227
Зарегистрирован: 28 апр 2015, 13:13

Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)

Сообщение Haus » 16 окт 2017, 13:50

Andrey_B писал(а):
Haus писал(а):на запрос /?cmd=all, ответ 38 основных + порты по количеству подключённых MCP230XX
Да, но думаю, что это неправильно.
Наверное, по команде cmd=all должны отображаться только родные порты контроллера, иначе это может привести к некорректной обработке этой информации сервером.
Это вот как раз тот случай, когда целесообразно форматировать данные определенным образом. Здесь JSON уместен.
С сервером(ioBroker драйвером) проблемы уже есть. Если какой то по вашему необходимости нету в этом, то по команде cmd=all чтоб отображались только родные порты контроллера.

Andrey_B
Администратор
Сообщения: 5327
Зарегистрирован: 18 мар 2011, 12:06

Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)

Сообщение Andrey_B » 16 окт 2017, 15:50

https://ab-log.ru/files/File/megad-2561 ... a1-hex.zip

- По команде cmd=all отображается состояние только собственных портов контроллера и не отображаются порты модулей-расширителей

Andrey_B
Администратор
Сообщения: 5327
Зарегистрирован: 18 мар 2011, 12:06

Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)

Сообщение Andrey_B » 17 окт 2017, 19:06

https://ab-log.ru/files/File/megad-2561 ... a2-hex.zip

- Добавлена команда 's' для сохранения в энергонезависимой памяти состояния выходов (SW/PWM)

Иногда возникают такие задачи, которые требуют, чтобы после аварийного выключения питания контроллер восстанавливал состояние своих выходов без участия сервера.
Очевидное на первый взгляд решение, сохранять состояние портов в энергонезависимой памяти микроконтроллера при каждом переключении выходов, в действительности не слишком удачное. У ячеек EEPROM есть хоть и довольно большой, но конечный ресурс записи, а в некоторых задачах порты переключаются очень часто. Значит необходимо сохранять состояние выходов только в момент выключения устройства.

Есть довольно интересный вариант решения этой задачи. Известно, что современные импульсные БП такие как MeanWell DR-(60/30/15)-12, которые часто используются для питания модулей, после отключения 220В отрубаются не сразу, а примерно через секунду-полторы. Это то самое время, когда состояние портов и можно сохранить. Реализация очень простая. Необходимо задействовать любой свободный вход, подключив к нему U-Sensor, который соединить с клеммами входного напряжения 220В блока питания. Когда напряжение 220В пропадет, контроллер это зафиксирует.

Настройка порта, к которому подключен датчик напряжения, может выглядеть следующим образом.
megad-2561-backup-outs.gif
megad-2561-backup-outs.gif (4.55 КБ) 5455 просмотров
Флажок, рядом с полем сценария (Act) запускает сценарий независимо от наличия сервера.
Mode: R - запускает сценарий при размыкании порта (отключении электроэнергии)
"s" - это и есть команда сохранения состояния выходов.

При включении контроллера, он восстановит состояние портов на момент сохранения.

Vadim
Сообщения: 122
Зарегистрирован: 04 мар 2017, 17:38

Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)

Сообщение Vadim » 18 окт 2017, 00:20

Андрей,
С сервера можно комманду "S" контроллеру послать?
Описанный сценарий хорош, когда у нас минимальная конфигурация: один контроллер без сервера с ИБП.
В большинстве случаев в жизни будет несколько контроллеров, сервер и ИБП.
Для каждого контроллера вешать U-сенсор и занимать вход несколько расточительно.
Проще мониторить входное напряжение на ИБП одним контроллером , отправлять сигнал на сервер (как альтернатива "парашуту"). Сервер уже сам решит, когда стоит начать "гасить" контроллеры с сохранением состояния портов (в зависимости от задачи и\или мощности ИБП).

С другой стороны, если есть сервер, то ему ничего не мешает записывать состояния портов и после восстановления электропитания привести порты контроллера в необходимое состояние без контроля напряжения и комманд "S".
В этом случае придется подождать сервер.


И еще один вопрос в связи с тем, что очень часто для сервера используют мелкие недокомпьютеры (распбери, оранжи и пр.) с малым энергопотреблением, надежность работы которых не всегда на необходимом уровне (ладно если просто ребутнется или когда можно вылечить через wdog и рестарт по питанию. Иногда и умирают.)
Может имеет смысл (если не ресурсозатратно) ввести дополнительное поле для IP резервного сервера?
Если есть запись в этом поле и нет ответа от основного сервера по порту WEB сервиса, то слать комманды на резервный IP пока не реанимируется основной сервер.
Если оба не отвечают, то отрабатывает контроллер в соотв с настройками.
Опционально:
- для резервного сервера можно указать номер порта - выход для подачи питания на резервный сервер ,если не хотим держать его постоянно включенным.
- если реанимировался основной сервер, то отсылаем "прощальную" комманду резервному серверу, чтоб он мог самостоятельно корректно выключиться при необходимости, и через минут 5 отключаем питание на резервном.

Кому нужна высокая доступность, можно держать оба сервера онлайн.

Alex_Jet
Сообщения: 1251
Зарегистрирован: 12 янв 2014, 18:00
Откуда: Россия, г.Томск

Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)

Сообщение Alex_Jet » 18 окт 2017, 07:06

Andrey_B писал(а):- Добавлена команда 's' для сохранения в энергонезависимой памяти состояния выходов (SW/PWM)
Очень изящная реализация! Правда, как уже сказали, требуется вероятно только для контроллера без сервера или на этапе монтажа/пуско-наладки щитов. Например, вчера менял вводной автомат...выключил все, свет потух. Включил питание, но свет "сам" не восстановился (надо узнать как сделать "запоминание" настроек в IH) как если бы был реализован по обычной схеме.

Ответить