Например TDA7294

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





Текущее время: Чт мар 28, 2024 10:20:22

Часовой пояс: UTC + 3 часа


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



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

Карма: 1
Рейтинг сообщений: 0
Зарегистрирован: Вс мар 09, 2014 09:13:00
Сообщений: 136
Рейтинг сообщения: 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]
Скачиваний: 768
протеус.png [34.43 KiB]
Скачиваний: 691
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Расчет RMS
СообщениеДобавлено: Вт янв 16, 2018 18:34:25 
Собутыльник Кота
Аватар пользователя

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

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

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

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


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

Карма: 1
Рейтинг сообщений: 0
Зарегистрирован: Вс мар 09, 2014 09:13:00
Сообщений: 136
Рейтинг сообщения: 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]
Скачиваний: 636
Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Расчет RMS
СообщениеДобавлено: Вт янв 16, 2018 20:12:01 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 97
Рейтинг сообщений: 2057
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18024
Откуда: Новочеркасск
Рейтинг сообщения: 1
Медали: 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 Гц, иначе работать не будет.

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

скушно, бабоньки!


Вернуться наверх
 
Сравнительное тестирование аккумуляторов EVE Energy и Samsung типоразмера 18650

Инженеры КОМПЭЛ провели сравнительное тестирование аккумуляторов EVE и Samsung популярного для бытовых и индустриальных применений типоразмера 18650. Для теста были выбраны аккумуляторы литий-никельмарганцевой системы: по два образца одного наименования каждого производителя – и протестированы на двух значениях тока разряда: 0,5 А и 2,5 А. Испытания проводились в нормальных условиях на электронной нагрузке EBD-USB от ZKEtech, а зарядка осуществлялась от лабораторного источника питания в режиме CC+CV в соответствии с рекомендациями в даташите на определенную модель.

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

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

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

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


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

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

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

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

скушно, бабоньки!


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

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

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

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


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

Карма: 130
Рейтинг сообщений: 2707
Зарегистрирован: Чт янв 10, 2008 22:01:02
Сообщений: 21621
Откуда: Московская область, Фрязино
Рейтинг сообщения: 0
По-моему с ним удобнее и проще

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


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

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

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


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

Карма: 130
Рейтинг сообщений: 2707
Зарегистрирован: Чт янв 10, 2008 22:01:02
Сообщений: 21621
Откуда: Московская область, Фрязино
Рейтинг сообщения: 0
Если выпрямитель будет на ОУ, тогда чем этот вариант проще? А вот смещение нуля все равно останется, только после выпрямителя его будет уже не убрать.


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

Карма: 153
Рейтинг сообщений: 2800
Зарегистрирован: Сб авг 14, 2010 15:05:51
Сообщений: 18030
Откуда: г. Озерск, Челябинская обл.
Рейтинг сообщения: 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 12:21:06 
Друг Кота
Аватар пользователя

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

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

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


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

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


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

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


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

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

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


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

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

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

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Расчет RMS
СообщениеДобавлено: Сб фев 24, 2018 06:27:12 
Встал на лапы
Аватар пользователя

Карма: 1
Рейтинг сообщений: 0
Зарегистрирован: Вс мар 09, 2014 09:13:00
Сообщений: 136
Рейтинг сообщения: 0
ваши отсчеты (125 штук) должны длиться ровно 20 мс, и тогда вам не надо отслеживать "начало" синусоиды.
вы обязаны интегрировать обе полуволны синусоиды, и положительную, и отрицательную, для чего сместите её на Uref/2, а из результата преобразования ADC отнимайте 512 - получится, что АЦП у вас выдает значение от -511 до +512.
как-то так...

Впринципи все так и сделал как вы сказали. Мои 125 преобразований дляться как раз 20мс, тут я не ошибся. Сместил в проткусе синусоиду на Uref/2=5/2=2,5В, а затем вычитал из каждого преобразования 512, далее по формуле и результат получился верный.
Спасибо всем за ответы за очередную помощь в освоениии MK, особенно ARV :beer: Мир всем котам :music:


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

Часовой пояс: UTC + 3 часа


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

Сейчас этот форум просматривают: Home_Maker и гости: 8


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

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


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