Например TDA7294

 Форум РадиоКот • Просмотр темы - Расчет RMS
Форум РадиоКот
Здесь можно немножко помяукать :)



Текущее время: Ср фев 21, 2018 11:56:26



Часовой пояс: UTC + 3 часа [ Летнее время ]


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 15 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: Расчет RMS
СообщениеДобавлено: Вт янв 16, 2018 19:04:19 
Открыл глаза

Зарегистрирован: Вс мар 09, 2014 10:13:00
Сообщений: 69
Рейтинг сообщения: 0
Прошу помощи в расчете, и написание кода для вычисления RMS. Для отладки своего кода использую протеус. На данный момент не получается измерить синусоидальный ток/напряжение, величина постоянного напряжения/тока измеряется верно.
Для определения RMS делал так - рассчитал количество преобразований за период:
N=Fcpu/prescaler/Nadc*tпериод
Fcpu=4000000 Hz
Prescaler=32 – предделитель ADC
Nadc=20 тактов (т.к. преобразование ADC происходит за 13 тактов плюс несколько тактов на
запись данных ADC в RAM)
tпериод=0,02 - время на период при частоте 50 Гц
N=4000000/32/20*0.02=125 – преобразований.
Далее я сохранял 125 последовательных преобразований ADC в массив, а затем рассчитываю RMS=sqrt((x1^2+x2^2+…+xn^2)/N).
Конечно расчет количества преобразований (N) за период приблизительный, но тем не менее я считал если ошибка будет грубой, то варьируя этим значением (N) в небольших пределах можно подогнать истинное. В протеусе отслеживал значения RMS передаваемые в терминал. При синусоидальном сигнале, амплитудой 5В, его RMS=5*sqrt(2)=3.54В - в теории , но на практики результаты сильно отличаются. Например при расчетной N=125 в терминал попадает 0x279 = 633 = 633*5/1023 = 3.09В. И увеличивая, уменьшая это значение (N) скорректировать результат не получается.
Возможно, я кардинально не правильно пытаюсь решить задачу, или такой вариант решения тоже имеет право быть, но тогда что не так, откуда такая погрешность?


Вложения:
Исход.png [73.78 KiB]
Скачиваний: 25
протеус.png [34.43 KiB]
Скачиваний: 26
Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Расчет RMS
СообщениеДобавлено: Вт янв 16, 2018 19:34:25 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 24
Зарегистрирован: Сб май 14, 2011 22:16:04
Сообщений: 2191
Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Раз Вы заполняете массив, значит фактическое N знаете точно, чего там гадать? Вы ж начало фазы не детектируете, Вы должны тогда точно рассчитать количество выборок на период. Лучше использовать детектор и считать потом фактическое количество выборок на период, иначе потом будет трудно вносить изменения в проект, если каждый такт считать.

Вы двуполярную синусоиду подаете на вход АЦП или смещенную? Если двуполярную, то можно рассчитывать только положительный полупериод. Если смещенную, то X=ADC-offset.

Добавлено after 2 minutes 6 seconds:
На 1024 делить надо кстати, а не на 1023

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


Вернуться наверх
 Профиль  
 
JLCPCB Prototype, Бесплатная доставка первого заказа + $2 на прототип ПП!

Крупнейший производитель печатных плат в Китае, 290,000+ заказчиков, 8,000+ он-лайн заказов в день.

Цена за 10 плат: $2 за 2-х слойную, $15 за 4-х слойную, $74 за 6-ти слойную.

LCSC Parts: Экономия до 50%, большой выбор компонентов в наличии, отправка заказа в день оплаты.

Не в сети
 Заголовок сообщения: Re: Расчет RMS
СообщениеДобавлено: Вт янв 16, 2018 21:00:35 
Открыл глаза

Зарегистрирован: Вс мар 09, 2014 10:13:00
Сообщений: 69
Рейтинг сообщения: 0
Вы двуполярную синусоиду подаете на вход АЦП или смещенную? Если двуполярную, то можно рассчитывать только положительный полупериод. Если смещенную, то X=ADC-offset.

Я не знаю какую синусоиду генериирует на вход МК протеус. Ну даже если предположить что двуполярную, в таком случае результат должен быть ровно в два раза меньше? Так мне кажется. Ведь я веду расчет за период, т.е. за 0,02с. А значит если я правильно расчитал N то при двуполярном синусе на входе 3,54/2=1,76В. По такой логике результат еще больше расходится.
Сейчас еще пробовал подать меандр 50Гц, 5В амплитуды, результат тоже неверный. ADC=0x380=896=896*5/1024=4.375В. А должно быть 2,5В. И неважно двуполярный сигнал, или нет.
Хотелось бы конечно без детектора...


Вложения:
Меандр.png [81.29 KiB]
Скачиваний: 14
Вернуться наверх
 Профиль  
 

Не в сети
 Заголовок сообщения: Re: Расчет RMS
СообщениеДобавлено: Вт янв 16, 2018 21:12:01 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 96
Зарегистрирован: Чт дек 28, 2006 09:19:56
Сообщений: 11334
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
ваши отсчеты (125 штук) должны длиться ровно 20 мс, и тогда вам не надо отслеживать "начало" синусоиды.
вы обязаны интегрировать обе полуволны синусоиды, и положительную, и отрицательную, для чего сместите её на Uref/2, а из результата преобразования ADC отнимайте 512 - получится, что АЦП у вас выдает значение от -511 до +512.
как-то так...

Добавлено after 3 minutes 30 seconds:
вот моя статеечка по теме: http://arv.radioliga.com/content/view/107/43/
диодный мост, конечно, не для малых напряжений... для малых надо делать выпрямитель на ОУ. ну и, естественно, все рассчитано на 50 Гц, иначе работать не будет.

_________________
я свою работу за вас делать не буду!


Вернуться наверх
 Профиль WWW  
 

Не в сети
 Заголовок сообщения: Re: Расчет RMS
СообщениеДобавлено: Вт янв 16, 2018 21:25:55 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 24
Зарегистрирован: Сб май 14, 2011 22:16:04
Сообщений: 2191
Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
DenChik87 писал(а):
Я не знаю какую синусоиду генериирует на вход МК протеус.
Генерирует ту, которую задаете. По умолчанию смещение 0, т.е. двуполярная. Когда полпериода нулевые значения, ср.квадрат. значение будет равно половине амплитуды синусоиды.
Я не понимаю как Вы пытаетесь его рассчитать, если не знаете что подали на вход АЦП. Тем более осциллограф применен, там же все видно.
DenChik87 писал(а):
И неважно двуполярный сигнал, или нет.
АЦП контроллера так не думает, какое значение АЦП Вы ожидаете измерив отрицательный сигнал? Поглядите значения Вашего массива, что там наизмерялось.

Добавлено after 10 minutes 9 seconds:
Если считать что синусоида симметричная (или достаточно симметричная для нужной точности) , не хочется использовать детектор и не будет диммирования, то можно не выпрямлять сигнал полносью, а только обрезать на входе АЦП отрицательную полуволну (чтобы МК не спалить). Делать выборки в течении всего периода, программным способом определить начало и конец полупериода и рассчитать RMS только для полупериода.

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Расчет RMS
СообщениеДобавлено: Вт янв 16, 2018 21:28:07 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 96
Зарегистрирован: Чт дек 28, 2006 09:19:56
Сообщений: 11334
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
если не хочется детектор - надо смещать входной сигнал на половину опорного АЦП. в простейшем случае через кондер подать сигнал на делитель соответствующий, правда при этом постоянку уже померить не получится...

_________________
я свою работу за вас делать не буду!


Вернуться наверх
 Профиль WWW  
 
Не в сети
 Заголовок сообщения: Re: Расчет RMS
СообщениеДобавлено: Вт янв 16, 2018 21:39:13 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 24
Зарегистрирован: Сб май 14, 2011 22:16:04
Сообщений: 2191
Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
DenChik87 ,почему не хотите использовать детектор? По-моему с ним удобнее и проще. Можно еще проще посчитать RMS, если синусоида боле-менее нормальная, возможно Вам хватит точности банально умножив на 0,707 амплитудное значение.

Я тут как-то размышлял о своем мультиметре, может пригодятся расчеты, правда они в том топике несколько размазаны по теме.

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Расчет RMS
СообщениеДобавлено: Вт янв 16, 2018 21:53:06 
Друг Кота
Аватар пользователя

Карма: 96
Зарегистрирован: Чт янв 10, 2008 23:01:02
Сообщений: 13317
Откуда: M.O.
Рейтинг сообщения: 0
По-моему с ним удобнее и проще

Результат правда никудышний, но действительно проще...
Выпрямитель - это нелинейный элемент с порогом.
А уж на 0.707 умножать, так зачем тогда весь этот цирк. Всего два квадратурных измерения дадут амплитуду синусоиды. Но так можно измерять RMS только для чистой синусоиды.
Если измерять реальные сигналы, то должно быть ДВА канала обработки сигнала. Определение смещения нуля сплошным интегрированием (можно тяжелым рекурсивным фильтром - БИХ, либо длинным (много больше периода) КИХ - скользящим окном). А второй канал должен каждую выборку приводить к нулю, вычитая измеренное в первом канале значение. И лишь после этого считать RMS. Ну и период, естественно, нужно измерять.


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Расчет RMS
СообщениеДобавлено: Вт янв 16, 2018 22:14:35 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 24
Зарегистрирован: Сб май 14, 2011 22:16:04
Сообщений: 2191
Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
КРАМ писал(а):
Результат правда никудышний, но действительно проще...
Почему результат некудышный с детектором? Да и понятие некудышный несколько размыто, все зависит от необходимой точности. Какой смысл тюнинга верблюдов в зоопарке сложной схемы для 10битного АЦП и возможно 7805 в качестве ИОН? Тут же видимо задача, получить точность, которая получится, почему бы и нет? А выпрямитель легко делается на ОУ и можно даже с однополярным питанием, если ОУ умеет выдавать на выходе значение близко к нулю. Банальный LM358 начинает работать от 5мВ на выходе, а это 1LSB АЦП, да и то, в начале фазы погрешности измерения АЦП мало на что влияют..

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Расчет RMS
СообщениеДобавлено: Ср янв 17, 2018 09:28:22 
Друг Кота
Аватар пользователя

Карма: 96
Зарегистрирован: Чт янв 10, 2008 23:01:02
Сообщений: 13317
Откуда: M.O.
Рейтинг сообщения: 0
Если выпрямитель будет на ОУ, тогда чем этот вариант проще? А вот смещение нуля все равно останется, только после выпрямителя его будет уже не убрать.


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Расчет RMS
СообщениеДобавлено: Ср янв 17, 2018 10:04:39 
Модератор
Аватар пользователя

Карма: 132
Зарегистрирован: Сб авг 14, 2010 16:05:51
Сообщений: 13074
Откуда: г. Озерск, Челябинская обл.
Рейтинг сообщения: 0
Медали: 1
Лучший человек Форума 2017 (1)
DenChik87 писал(а):
Сейчас еще пробовал подать меандр 50Гц, 5В амплитуды, результат тоже неверный. ADC=0x380=896=896*5/1024=4.375В. А должно быть 2,5В.
2,5В - это СРЕДНЕЕ значение меандра. а RMS будет те же самые 3,54В.
чтобы это понять, достаточно обратиться к твоей же формуле из первого поста, приняв N = 2.
поэтому сначала научись правильно вычислять RMS для меандра, когда имеешь всего два значения - 0 и 1 (0В и 5В).
потом уже берись осваивать сисуноиду...

_________________
Мудрость приходит вместе с импотенцией...


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Расчет RMS
СообщениеДобавлено: Пт янв 19, 2018 13:21:06 
Друг Кота
Аватар пользователя

Карма: 68
Зарегистрирован: Вс мар 29, 2009 23:09:05
Сообщений: 7307
Рейтинг сообщения: 0
Кстати, коллеги, как вы думаете, корректно ли вычислять среднеквадратичное значение, просто возводя каждое полученное значение в квадрат, и после пропуская через рекурсивный фильтр с огромной постоянной времени? Вроде бы такой подход соответствует определению.

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

_________________
Разница между теорией и практикой на практике гораздо больше, чем в теории.


Вернуться наверх
 Профиль WWW  
 
Не в сети
 Заголовок сообщения: Re: Расчет RMS
СообщениеДобавлено: Пт янв 19, 2018 15:45:54 
Друг Кота
Аватар пользователя

Карма: 96
Зарегистрирован: Чт янв 10, 2008 23:01:02
Сообщений: 13317
Откуда: M.O.
Рейтинг сообщения: 0
Помимо преобразования в signed, что совершенно естественно и на ряде платформ встроено прямо в АЦП, следует в этом тяжелом рекурсивном фильтре находить простое среднее, дабы учесть недетерминированные оффсеты (у ОУ, у делителя смещения ОУ, у самого АЦП и т.п.) и вместе с преобразованием в signed сразу компенсировать это смещение.
Ну а находить RMS при неизвестном периоде собственно и можно одним из двух способов. Очень длинным накоплением, чтобы ошибка растворилась в усреднении, либо преобразованием в спектральную область и нахождением RMS через амплитуды гармоник.


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Расчет RMS
СообщениеДобавлено: Сб янв 20, 2018 10:47:39 
Друг Кота
Аватар пользователя

Карма: 68
Зарегистрирован: Вс мар 29, 2009 23:09:05
Сообщений: 7307
Рейтинг сообщения: 3
Цитата:
находить простое среднее, дабы учесть недетерминированные оффсеты


Мне кажется, что это надо решать отдельной калибровкой. В самом деле, если мы измеряем постоянное напряжение, то RMS и среднее совпадут, так что при вычитании мы получим ноль. :idea:

Рассчитывать RMS через амплитуды гармоник - это круто. :) Я думаю, так заморачиваться имеет смысл только если кроме среднеквадратичного значения мы хотим получить еще и коэффициент мощности, например.

_________________
Разница между теорией и практикой на практике гораздо больше, чем в теории.


Вернуться наверх
 Профиль WWW  
 
Не в сети
 Заголовок сообщения: Re: Расчет RMS
СообщениеДобавлено: Сб янв 20, 2018 12:47:36 
Друг Кота
Аватар пользователя

Карма: 96
Зарегистрирован: Чт янв 10, 2008 23:01:02
Сообщений: 13317
Откуда: M.O.
Рейтинг сообщения: 0
Отдельная калибровка отличается от измерений лишь тем, что нет сигнала. Но определяется ноль ровно также - тяжелым рекурсивным или длинным КИХ фильтром.
Что касается постоянного напряжения, то обычно это РАЗНЫЕ режимы прибора. Потому что прибор не может определить хотелки юзера на предмет измерений, а реальный сигнал может содержать и переменную и постоянную составляющие.

Добавлено after 4 minutes 40 seconds:
Я думаю, так заморачиваться имеет смысл только если.

Так заморачиваться стоит при ЛЮБОМ шумоподобном сигнале. Тем более, что БПФ не слишком сложная математическая процедура.
Заодно и спектральную плотность поимеем. Вообще говоря, для общего случая сигналов RMS принять измерять селективным вольтметром. С заданием полосы анализа.


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 15 ] 



Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на форуме

Сейчас этот форум просматривают: -Valerius-, Jack-Sidr и гости: 4


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y