POWER MONITOR на Arduino

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

Модератор: immortal

serghei
Сообщения: 2575
Зарегистрирован: Пт ноя 06, 2015 10:22 am
Откуда: Кишинёв
Благодарил (а): 303 раза
Поблагодарили: 282 раза

Re: POWER MONITOR на Arduino

Сообщение serghei » Вс ноя 06, 2016 4:53 pm

К вечеру попробую написать подробную инструкцию по настройке.
За это сообщение автора serghei поблагодарил:
karlismoto (Пт дек 02, 2016 1:02 am)
Рейтинг: 1.16%
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: POWER MONITOR на Arduino

Сообщение Alex » Вс ноя 06, 2016 5:10 pm

У меня на Меге смещение минимальное. На Дуе просто ужас и практически модуль не работает.
Вот сколько не обсуждал эту тему с народом и специалистами различной степени крутизны — НИКТО так и не смог членораздельно объяснить природу этого смещения и как с этим бороться (полумеры в виде притягивания к земле и программные подтяжки не в счёт — это именно вынужденные полумеры).
А то что постоянно частота прыгает от 49 до 60 это так измеритель работает или сеть такая грязная ?
Есть там настройки синхронизации, которые зависят от формы сигнала, который формирует ваш POWER MONITOR. В дистрибутиве они настроены на мой конкретный сигнал. У вас сигнал другой — и настройки должны быть под ваш сигнал.

Для того, чтобы это объяснить, нужно написать цикл статей или маленькую диссертацию по теории сигналов. :) «Ковырять» можно начинать отсюда:


// limits areas of signal
int limitTopArea = 900;
int limitMiddleAreaTop = 820;

и/или

if ((i > 146 && i < 206) && (tempVal < startVal + 2 && tempVal > startVal - 10)) { :)

в модуле «Электро».
serghei
Сообщения: 2575
Зарегистрирован: Пт ноя 06, 2015 10:22 am
Откуда: Кишинёв
Благодарил (а): 303 раза
Поблагодарили: 282 раза

Re: POWER MONITOR на Arduino

Сообщение serghei » Вс ноя 06, 2016 5:28 pm

Еще тогда полгода назад я не смог до Вас донести эту мысль , а теперь нашел в библии http://arduino.ru/Tutorial/AnalogInputPins Цитата
Подробности и предостережения
Для вывода, работавшего ранее как цифровой порт вывода, команда analogRead будет работать некорректно. В этом случае рекомендуется сконфигурировать его как аналоговый вход. Аналогично, если вывод работал как цифровой порт вывода со значением HIGH, то обратная установка на ввод подключит подтягивающий резистор.

Руководство на микроконтроллер Atmega не рекомендует производить быстрое переключение между аналоговыми входами для их чтения. Это может вызвать наложение сигналов и внести искажения в аналоговую систему. Однако после работы аналогового входа в цифровом режиме может потребоваться настроить паузу между чтением функцией analogRead() других входов.

Получается при опросе входа сигнал еще не упал а мы опять его опрашиваем ( 3000 раз) вот и происходит наложение. Еще я догадываюсь , что внутри стоит простейший мультиплексор , который физически не успевает снять заряд с А0 и он утечкой передается дальше....
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: POWER MONITOR на Arduino

Сообщение Alex » Вс ноя 06, 2016 5:41 pm

Для вывода, работавшего ранее как цифровой порт вывода, команда analogRead будет работать некорректно. В этом случае рекомендуется сконфигурировать его как аналоговый вход. Аналогично, если вывод работал как цифровой порт вывода со значением HIGH, то обратная установка на ввод подключит подтягивающий резистор.

Руководство на микроконтроллер Atmega не рекомендует производить быстрое переключение между аналоговыми входами для их чтения. Это может вызвать наложение сигналов и внести искажения в аналоговую систему. Однако после работы аналогового входа в цифровом режиме может потребоваться настроить паузу между чтением функцией analogRead() других входов.

Получается при опросе входа сигнал еще не упал а мы опять его опрашиваем ( 3000 раз) вот и происходит наложение. Еще я догадываюсь , что внутри стоит простейший мультиплексор , который физически не успевает снять заряд с А0 и он утечкой передается дальше....
Да, спасибо, это очень полезная и интересная информация. Нужно будет подумать и поэкспериментировать.

Но остаются вопросы. Например, почему в проекте OpenEnergy Monitor схемы БЕЗ дополнительного подтягивающего к земле резистора, а мы без него не можем обойтись? Иначе средняя точка и у меня и у товарища ученик-а уползает вверх.
serghei
Сообщения: 2575
Зарегистрирован: Пт ноя 06, 2015 10:22 am
Откуда: Кишинёв
Благодарил (а): 303 раза
Поблагодарили: 282 раза

Re: POWER MONITOR на Arduino

Сообщение serghei » Вс ноя 06, 2016 6:04 pm

Я гонял тот скетч два месяца на Дуе и никаких смещений НЕ БЫЛО !!!!! Код одинаковый , просто он засунут в библиотеку. А в АМС он работает не корректно , потому что уважаемый Batons отошел от истины и не учел фильтр , о котором мы дискутировали.( про 0.996.....) По правильному я даже вставил тот код в АМС ,но получить страницы HTML пока я не в состоянии , а без них я не вижу смысла в простом выводе мощностей в сериал....
https://boredomprojects.net/index.php/p ... gy-monitor Залейте скетч в Дую и убедитесь. Правда там человек доделал вывод 3-х фаз , по факту используя только один датчик напряжения и програмно сместил -120 и -240 градусов для второй и третьей фазы. И нумерация выводов идет от А12- к А0. Работает идеально. ( убрал радио канал)
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: POWER MONITOR на Arduino

Сообщение Alex » Вс ноя 06, 2016 6:25 pm

потому что уважаемый Batons отошел от истины и не учел фильтр , о котором мы дискутировали.( про 0.996.....)
Я чувствую этот вопрос можно обсуждать бесконечно — у каждой стороны всегда находятся контр-аргументы. :)

Насколько я понимаю, фильтром математически устанавливается средняя точка без смещения. Я же говорю о том, что здесь ЕЩЁ ДО ФИЛЬТРА, ЖЕЛЕЗНЫМ ОБРАЗОМ смещается средняя точка, причём не из-за POWER MONITOR-а, а из-за самого контроллера.

Что сужает динамический диапазон и тем самым ухудшает точность измерений.
serghei
Сообщения: 2575
Зарегистрирован: Пт ноя 06, 2015 10:22 am
Откуда: Кишинёв
Благодарил (а): 303 раза
Поблагодарили: 282 раза

Re: POWER MONITOR на Arduino

Сообщение serghei » Вс ноя 06, 2016 6:40 pm

Там работают два фильтра высокой и низкой частоты. Но суть не в этом. Я использую подстроечник , чтобы АППАРАТНО выровнять верхнюю и нижнюю части синусоиды ,чтобы было +512 и - 512 в коде. Иначе точность снизится до 40 -100 ватт начало измерений. Кстати в Дуе 12 разрядный АЦП и по уму надо ввести инструкцию и переключить на 12 разрядов. Пока мне это не актуально , но в следующих версиях АМС для Дуи это желательно сделать.
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: POWER MONITOR на Arduino

Сообщение Alex » Вс ноя 06, 2016 10:12 pm

Там работают два фильтра высокой и низкой частоты. Но суть не в этом. Я использую подстроечник , чтобы АППАРАТНО выровнять верхнюю и нижнюю части синусоиды ,чтобы было +512 и - 512 в коде. Иначе точность снизится до 40 -100 ватт начало измерений.
Правильно, вы используете подстроечник чтобы АППАРАТНО выровнять верхнюю и нижнюю части синусоиды, а я резистор, а OpenEnergy по какой-то причине это НЕ использует. Они что этого не догоняют или у них другие Ардуины?

Если они только ограничиваются математическими фильтрами — значит они заведомо ухудшают динамический диапазон и точность измерений. Но на дураков они не похожи, здесь что-то не так.
Кстати в Дуе 12 разрядный АЦП и по уму надо ввести инструкцию и переключить на 12 разрядов. Пока мне это не актуально , но в следующих версиях АМС для Дуи это желательно сделать.
В АМС для Дуе ещё введена принудительная задержка, кажется 220 микросекунд, чтобы принудительно сделать её в измерениях такой же тормозной, как Мега.

По-хорошему нужно включать 12 разрядов и убирать задержку, но для этого нужно переписывать код и заново всё тестировать. У меня на это времени нет.
serghei
Сообщения: 2575
Зарегистрирован: Пт ноя 06, 2015 10:22 am
Откуда: Кишинёв
Благодарил (а): 303 раза
Поблагодарили: 282 раза

Re: POWER MONITOR на Arduino

Сообщение serghei » Вс ноя 06, 2016 11:31 pm

Off Top. Я 27 лет живу среди таких европейцев и похоже ситуация напоминает историю с интернет - библиотекой - это работает , но не всегда ....Они это воспринимают как данность . У нас мозг работает по другому....Мы с этим боремся и побеждаем !! ( отлавливаю же 15 ватт включенного моника ). Отдать им должное - они все упростили до библиотеки и простому смертному надо только подставить свой коэффициент и код превратился в 5 строк ( без веба )....подучиться еще надо и сможем восстановить все на любимой странице. Воткнул его в ЕСП и даже одной хромой ногой , но ведь работает... жеж...))))
PS Как вариант - когда код ОДИН в ардуине - он работает более-менее нормально (даже в Nano и Uno). А в АМС там такая куча всего наворочена , что просто прочитать надо месяц....
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
nood1509
Сообщения: 15
Зарегистрирован: Вс окт 30, 2016 1:41 pm
Благодарил (а): 1 раз
Поблагодарили: 0

Re: POWER MONITOR на Arduino

Сообщение nood1509 » Вт ноя 08, 2016 8:53 pm

Здравствуйте друзья! Подскажите пожалуйста по данному девайсу.
https://m.ru.aliexpress.com/item/327025 ... platform=y
Мне нужно что бы ардуинка предупреждала о повышении нагрузки. Подойдет данный девайс? Заранее спасибо за ответ)
Ответить