Главная arrow Форум  
20.11.2019 г.
Главная
Проекты
Статьи
Начинающим
Архив новостей
Ссылки
Контакты
Поиск
Файлы
Форум
Карта сайта
Авторизация





Забыли пароль?
Ещё не зарегистрированы? Регистрация
Поддержи наш сайт!
Через WebMoney

 R785211844650
 Z210696637574
 E368177590409

Форум ARV Research
Добро пожаловать, Гость
Пожалуйста Вход или Регистрация.
Забыли пароль?
АЦП, алгоритм измерения напряжения 50Гц (1 просматривает)
_GEN_GOTOBOTTOM Ответить

TOPIC: АЦП, алгоритм измерения напряжения 50Гц

#2672
i8086 (Пользователь)
Специалист
Постов: 146
graphgraph
АЦП, алгоритм измерения напряжения 50Гц 26.06.2009 12:00 Репутация: 18  
Есть ATmega8, с помощью АЦП производится измерение напряжения сети 220В 50Гц. На вход АЦП напряжение идет через резистор 270к, диод 1N4007, на резисторный делитель. RC-фильтр также есть. В общей сложности при 220В на входе АЦП 1,10В получается, точная подстройка многооборотным подстроечником.

Программа производит измерение напряжения как обычно, разрядность 10 бит, по формуле U=read_adc(7)*VREF/1024 вычисляется значение напряжения, умножается на коэффициент 3.

Какой алгоритм измерения напряжения лучше использовать в данном случае? У меня измеряется средневыпрямленное значение. Может лучше измерять амплитудное напряжение 50 раз в секунду, а потом вычислять эффективное значение?
В первом случае у меня все работает нормально, только единицы вольт постоянно прыгают +-1В. Задержка индикации 250 мс, может достаточно просто увеличить задержку до 500-1000 мс. Напряжение в сети нестабильное и с помощью измерительных приборов фиксируется также изменение напряжения +-1В, так что может это у меня и нормально с прошивкой, ер хотелось, чтоб хоть не так часто последняя цифра менялась.
  Для добавления сообщений Вы должны зарегистрироваться или авторизоваться.
#2675
ARV (Администратор)
Администратор
Постов: 2384
graph
В ответ на: АЦП, алгоритм измерения напряжения 50Гц 26.06.2009 13:07 Репутация: 175  
если доверять синусоидальности напряжения в сети, то можно мерить и средневыпрямленное, и амплитудное и т.п. хотя вообще для переменного наиболее "корректным" является действующее, или RMS, значение. о том, как мерить его, я писал статью, можете ознакомиться в соответствующем разделе.

а чтобы цифрпы не скакали - надо делать фильтрацию. самый простой и достаточно эффективный способ - скользящее среднее. как правило, 32 замеров для этог фильтра уже достаточно, но можно и больше делать.
Не стыдно не знать, стыдно не учиться
  Для добавления сообщений Вы должны зарегистрироваться или авторизоваться.
#2676
i8086 (Пользователь)
Специалист
Постов: 146
graphgraph
В ответ на: АЦП, алгоритм измерения напряжения 50Гц 26.06.2009 15:57 Репутация: 18  
ARV, спасибо за советы, буду пробовать.
Как это я не дошел до вашей статьи о RMS-вольтметра.
Проанализировав все тонкости использования АЦП, пришел к выводу, что точности лучше чем 1-2% мне не получить.
Извините, что не в тему, но есть маленький вопрос, почему с AVR для измерения переменного напряжения нужен выпрямительный мост или один диод, а в PIC переменное напряжение через делитель идет на порт МК без выпрямления. У AVR на вход можно подавать -0,5-VCC+0,5 В, а PIC допускает напряжение обоих полярностей что-ли?
  Для добавления сообщений Вы должны зарегистрироваться или авторизоваться.
#2677
ARV (Администратор)
Администратор
Постов: 2384
graph
В ответ на: АЦП, алгоритм измерения напряжения 50Гц 26.06.2009 17:15 Репутация: 175  
маловероятно, что в PIC встроен АЦП, допускающий отрицательные входные напряжения. как правило, верный признак возможности подачи двуполярного напряжения - это двуполярное питание. что-то сомнительно, что внутри PIC-а встроен инвертор напряжения .

Скорее всего используется работа защитных диодов на входах микросхемы - они и выполняют роль ограничителей напряжения. Естественно, следует учитывать программно тот факт, что на вход АЦП попадает однополупериодно-выпрямленный сигнал. Если это сделать - можно аналогичную схему и для AVR применять
Не стыдно не знать, стыдно не учиться
  Для добавления сообщений Вы должны зарегистрироваться или авторизоваться.
#2794
bolt (Пользователь)
Знаток
Постов: 229
graphgraph
В ответ на: АЦП, алгоритм измерения напряжения 50Г 06.07.2009 22:44 Репутация: -9  
входные цепи у обоих МК одинаковые - пара защитных диодов. Поэтому отрицательное не ниже -0,5В, а положительное не выше VDD+0,5В. Ток в 10мА эти диоды выдерживают спокойно.
А точность ~ 1 отсчет. Получается 0,1% для 10-битного АЦП.

Содержимое поста отредактировано: bolt, в: 06.07.2009 22:50
  Для добавления сообщений Вы должны зарегистрироваться или авторизоваться.
#2798
ARV (Администратор)
Администратор
Постов: 2384
graph
В ответ на: АЦП, алгоритм измерения напряжения 50Г 07.07.2009 00:25 Репутация: 175  
bolt писал(а):
Ток в 10мА эти диоды выдерживают спокойно.Atmel не рекомендует допускать ток через защитный диод более 1 мА. Хотя на практике он выдерживает и больше.
Не стыдно не знать, стыдно не учиться
  Для добавления сообщений Вы должны зарегистрироваться или авторизоваться.
#2799
bolt (Пользователь)
Знаток
Постов: 229
graphgraph
В ответ на: АЦП, алгоритм измерения напряжения 50Г 07.07.2009 13:25 Репутация: -9  
у PIC'ов ограничение по входу 20мА - это по dsh. На АТ я таких данных не нашел, но могу предположить, что диоды примерно одинаковые.
  Для добавления сообщений Вы должны зарегистрироваться или авторизоваться.
#8857
fed (Пользователь)
Новичок
Постов: 1
graphgraph
В ответ на: АЦП, алгоритм измерения напряжения 50Гц 09.12.2016 14:27 Репутация: 0  
ARV писал(а):
для переменного наиболее "корректным" является действующее, или RMS, значение. о том, как мерить его, я писал статью, можете ознакомиться в соответствующем разделе.


Ранее задавали вопрос, но ответа не было. Задам здесь.

Есть вопрос по алгоритму:
1. Получить через равные промежутки N отсчетов АЦП в течение одного периода измеряемого напряжения.
2. Возвести результаты в квадрат и просуммировать.
3. Извлечь квадратный корень из полученной суммы.
4. Умножить полученный результат на масштабирующий коэффициент и вывести результат на индикатор.
2 пункт. После суммирования нужно сумму поделить на N (количество сэмплов за период). Потом можно уже и корень извлекать
4 пункт. О каком масштабирующем коэффициенте идет речь? Почему мы должны делить на 2?
  Для добавления сообщений Вы должны зарегистрироваться или авторизоваться.
#8858
ARV (Администратор)
Администратор
Постов: 2384
graph
В ответ на: АЦП, алгоритм измерения напряжения 50Гц 11.12.2016 12:41 Репутация: 175  
как вы думаете, деление на N не попадает под определение "умножение на коэффициент"? семплы вы делаете в абстрактных числах от 0 до 1023, разве можно получить 220 вольт из этих семплов без умножения на коэффициент? или вы считаете более удачной идеей сначала умножить на коэффициент, чтобы получить вольты, а затем уже возводить-суммировать-извлекать? я считаю, что чем меньше действий, тем лучше, эффективнее.

про "поделить на 2" я не понял - в описанном вами алгоритме этого не упомянуто.
Не стыдно не знать, стыдно не учиться
  Для добавления сообщений Вы должны зарегистрироваться или авторизоваться.
_GEN_GOTOTOP Ответить
© Copyright 2007 Best of Joomla, Работает на FireBoardполучить последние сообщения прямо на Ваш рабочий стол