POWER MONITOR на Arduino
Модератор: immortal
-
- Сообщения: 2575
- Зарегистрирован: Пт ноя 06, 2015 10:22 am
- Откуда: Кишинёв
- Благодарил (а): 303 раза
- Поблагодарили: 282 раза
Re: POWER MONITOR на Arduino
К вечеру попробую написать подробную инструкцию по настройке.
- За это сообщение автора serghei поблагодарил:
- karlismoto (Пт дек 02, 2016 1:02 am)
- Рейтинг: 1.16%
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
-
- Сообщения: 2357
- Зарегистрирован: Пт апр 20, 2012 12:53 pm
- Благодарил (а): 42 раза
- Поблагодарили: 262 раза
Re: POWER MONITOR на Arduino
Вот сколько не обсуждал эту тему с народом и специалистами различной степени крутизны — НИКТО так и не смог членораздельно объяснить природу этого смещения и как с этим бороться (полумеры в виде притягивания к земле и программные подтяжки не в счёт — это именно вынужденные полумеры).У меня на Меге смещение минимальное. На Дуе просто ужас и практически модуль не работает.
Есть там настройки синхронизации, которые зависят от формы сигнала, который формирует ваш POWER MONITOR. В дистрибутиве они настроены на мой конкретный сигнал. У вас сигнал другой — и настройки должны быть под ваш сигнал.А то что постоянно частота прыгает от 49 до 60 это так измеритель работает или сеть такая грязная ?
Для того, чтобы это объяснить, нужно написать цикл статей или маленькую диссертацию по теории сигналов. «Ковырять» можно начинать отсюда:
// limits areas of signal
int limitTopArea = 900;
int limitMiddleAreaTop = 820;
и/или
if ((i > 146 && i < 206) && (tempVal < startVal + 2 && tempVal > startVal - 10)) {
в модуле «Электро».
-
- Сообщения: 2575
- Зарегистрирован: Пт ноя 06, 2015 10:22 am
- Откуда: Кишинёв
- Благодарил (а): 303 раза
- Поблагодарили: 282 раза
Re: POWER MONITOR на Arduino
Еще тогда полгода назад я не смог до Вас донести эту мысль , а теперь нашел в библии http://arduino.ru/Tutorial/AnalogInputPins Цитата
Подробности и предостережения
Для вывода, работавшего ранее как цифровой порт вывода, команда analogRead будет работать некорректно. В этом случае рекомендуется сконфигурировать его как аналоговый вход. Аналогично, если вывод работал как цифровой порт вывода со значением HIGH, то обратная установка на ввод подключит подтягивающий резистор.
Руководство на микроконтроллер Atmega не рекомендует производить быстрое переключение между аналоговыми входами для их чтения. Это может вызвать наложение сигналов и внести искажения в аналоговую систему. Однако после работы аналогового входа в цифровом режиме может потребоваться настроить паузу между чтением функцией analogRead() других входов.
Получается при опросе входа сигнал еще не упал а мы опять его опрашиваем ( 3000 раз) вот и происходит наложение. Еще я догадываюсь , что внутри стоит простейший мультиплексор , который физически не успевает снять заряд с А0 и он утечкой передается дальше....
Подробности и предостережения
Для вывода, работавшего ранее как цифровой порт вывода, команда analogRead будет работать некорректно. В этом случае рекомендуется сконфигурировать его как аналоговый вход. Аналогично, если вывод работал как цифровой порт вывода со значением HIGH, то обратная установка на ввод подключит подтягивающий резистор.
Руководство на микроконтроллер Atmega не рекомендует производить быстрое переключение между аналоговыми входами для их чтения. Это может вызвать наложение сигналов и внести искажения в аналоговую систему. Однако после работы аналогового входа в цифровом режиме может потребоваться настроить паузу между чтением функцией analogRead() других входов.
Получается при опросе входа сигнал еще не упал а мы опять его опрашиваем ( 3000 раз) вот и происходит наложение. Еще я догадываюсь , что внутри стоит простейший мультиплексор , который физически не успевает снять заряд с А0 и он утечкой передается дальше....
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
-
- Сообщения: 2357
- Зарегистрирован: Пт апр 20, 2012 12:53 pm
- Благодарил (а): 42 раза
- Поблагодарили: 262 раза
Re: POWER MONITOR на Arduino
Да, спасибо, это очень полезная и интересная информация. Нужно будет подумать и поэкспериментировать.Для вывода, работавшего ранее как цифровой порт вывода, команда analogRead будет работать некорректно. В этом случае рекомендуется сконфигурировать его как аналоговый вход. Аналогично, если вывод работал как цифровой порт вывода со значением HIGH, то обратная установка на ввод подключит подтягивающий резистор.
Руководство на микроконтроллер Atmega не рекомендует производить быстрое переключение между аналоговыми входами для их чтения. Это может вызвать наложение сигналов и внести искажения в аналоговую систему. Однако после работы аналогового входа в цифровом режиме может потребоваться настроить паузу между чтением функцией analogRead() других входов.
Получается при опросе входа сигнал еще не упал а мы опять его опрашиваем ( 3000 раз) вот и происходит наложение. Еще я догадываюсь , что внутри стоит простейший мультиплексор , который физически не успевает снять заряд с А0 и он утечкой передается дальше....
Но остаются вопросы. Например, почему в проекте OpenEnergy Monitor схемы БЕЗ дополнительного подтягивающего к земле резистора, а мы без него не можем обойтись? Иначе средняя точка и у меня и у товарища ученик-а уползает вверх.
-
- Сообщения: 2575
- Зарегистрирован: Пт ноя 06, 2015 10:22 am
- Откуда: Кишинёв
- Благодарил (а): 303 раза
- Поблагодарили: 282 раза
Re: POWER MONITOR на Arduino
Я гонял тот скетч два месяца на Дуе и никаких смещений НЕ БЫЛО !!!!! Код одинаковый , просто он засунут в библиотеку. А в АМС он работает не корректно , потому что уважаемый Batons отошел от истины и не учел фильтр , о котором мы дискутировали.( про 0.996.....) По правильному я даже вставил тот код в АМС ,но получить страницы HTML пока я не в состоянии , а без них я не вижу смысла в простом выводе мощностей в сериал....
https://boredomprojects.net/index.php/p ... gy-monitor Залейте скетч в Дую и убедитесь. Правда там человек доделал вывод 3-х фаз , по факту используя только один датчик напряжения и програмно сместил -120 и -240 градусов для второй и третьей фазы. И нумерация выводов идет от А12- к А0. Работает идеально. ( убрал радио канал)
https://boredomprojects.net/index.php/p ... gy-monitor Залейте скетч в Дую и убедитесь. Правда там человек доделал вывод 3-х фаз , по факту используя только один датчик напряжения и програмно сместил -120 и -240 градусов для второй и третьей фазы. И нумерация выводов идет от А12- к А0. Работает идеально. ( убрал радио канал)
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
-
- Сообщения: 2357
- Зарегистрирован: Пт апр 20, 2012 12:53 pm
- Благодарил (а): 42 раза
- Поблагодарили: 262 раза
Re: POWER MONITOR на Arduino
Я чувствую этот вопрос можно обсуждать бесконечно — у каждой стороны всегда находятся контр-аргументы.потому что уважаемый Batons отошел от истины и не учел фильтр , о котором мы дискутировали.( про 0.996.....)
Насколько я понимаю, фильтром математически устанавливается средняя точка без смещения. Я же говорю о том, что здесь ЕЩЁ ДО ФИЛЬТРА, ЖЕЛЕЗНЫМ ОБРАЗОМ смещается средняя точка, причём не из-за POWER MONITOR-а, а из-за самого контроллера.
Что сужает динамический диапазон и тем самым ухудшает точность измерений.
-
- Сообщения: 2575
- Зарегистрирован: Пт ноя 06, 2015 10:22 am
- Откуда: Кишинёв
- Благодарил (а): 303 раза
- Поблагодарили: 282 раза
Re: POWER MONITOR на Arduino
Там работают два фильтра высокой и низкой частоты. Но суть не в этом. Я использую подстроечник , чтобы АППАРАТНО выровнять верхнюю и нижнюю части синусоиды ,чтобы было +512 и - 512 в коде. Иначе точность снизится до 40 -100 ватт начало измерений. Кстати в Дуе 12 разрядный АЦП и по уму надо ввести инструкцию и переключить на 12 разрядов. Пока мне это не актуально , но в следующих версиях АМС для Дуи это желательно сделать.
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
-
- Сообщения: 2357
- Зарегистрирован: Пт апр 20, 2012 12:53 pm
- Благодарил (а): 42 раза
- Поблагодарили: 262 раза
Re: POWER MONITOR на Arduino
Правильно, вы используете подстроечник чтобы АППАРАТНО выровнять верхнюю и нижнюю части синусоиды, а я резистор, а OpenEnergy по какой-то причине это НЕ использует. Они что этого не догоняют или у них другие Ардуины?Там работают два фильтра высокой и низкой частоты. Но суть не в этом. Я использую подстроечник , чтобы АППАРАТНО выровнять верхнюю и нижнюю части синусоиды ,чтобы было +512 и - 512 в коде. Иначе точность снизится до 40 -100 ватт начало измерений.
Если они только ограничиваются математическими фильтрами — значит они заведомо ухудшают динамический диапазон и точность измерений. Но на дураков они не похожи, здесь что-то не так.
В АМС для Дуе ещё введена принудительная задержка, кажется 220 микросекунд, чтобы принудительно сделать её в измерениях такой же тормозной, как Мега.Кстати в Дуе 12 разрядный АЦП и по уму надо ввести инструкцию и переключить на 12 разрядов. Пока мне это не актуально , но в следующих версиях АМС для Дуи это желательно сделать.
По-хорошему нужно включать 12 разрядов и убирать задержку, но для этого нужно переписывать код и заново всё тестировать. У меня на это времени нет.
-
- Сообщения: 2575
- Зарегистрирован: Пт ноя 06, 2015 10:22 am
- Откуда: Кишинёв
- Благодарил (а): 303 раза
- Поблагодарили: 282 раза
Re: POWER MONITOR на Arduino
Off Top. Я 27 лет живу среди таких европейцев и похоже ситуация напоминает историю с интернет - библиотекой - это работает , но не всегда ....Они это воспринимают как данность . У нас мозг работает по другому....Мы с этим боремся и побеждаем !! ( отлавливаю же 15 ватт включенного моника ). Отдать им должное - они все упростили до библиотеки и простому смертному надо только подставить свой коэффициент и код превратился в 5 строк ( без веба )....подучиться еще надо и сможем восстановить все на любимой странице. Воткнул его в ЕСП и даже одной хромой ногой , но ведь работает... жеж...))))
PS Как вариант - когда код ОДИН в ардуине - он работает более-менее нормально (даже в Nano и Uno). А в АМС там такая куча всего наворочена , что просто прочитать надо месяц....
PS Как вариант - когда код ОДИН в ардуине - он работает более-менее нормально (даже в Nano и Uno). А в АМС там такая куча всего наворочена , что просто прочитать надо месяц....
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
-
- Сообщения: 15
- Зарегистрирован: Вс окт 30, 2016 1:41 pm
- Благодарил (а): 1 раз
- Поблагодарили: 0
Re: POWER MONITOR на Arduino
Здравствуйте друзья! Подскажите пожалуйста по данному девайсу.
https://m.ru.aliexpress.com/item/327025 ... platform=y
Мне нужно что бы ардуинка предупреждала о повышении нагрузки. Подойдет данный девайс? Заранее спасибо за ответ)
https://m.ru.aliexpress.com/item/327025 ... platform=y
Мне нужно что бы ардуинка предупреждала о повышении нагрузки. Подойдет данный девайс? Заранее спасибо за ответ)