MASTER KRIM

Измерение Среднеквадратичного Значенения Напряжения Переменного Тока

110 сообщений в этой теме

MASTER KRIM    0

Подскажите алгоритм измерения среднеквадратичного значенения напряжения переменного тока для PIC 16F877A или если есть програмку, содержащую такой блок. На 2 ножку МК, фиксированную делителем напряжения на 2,5 вольт,подаётся напряжение от 0 до 2 вольт переменки 50 Гц и надо вычислять действующее значение в каждой полуволне. Буду очень признателен!

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Быстрый заказ печатных плат

Полный цикл производства PCB по низким ценам!

  • x
    мм
Заказать Получить купон на $5.00
my504    157
Подскажите алгоритм измерения среднеквадратичного значенения напряжения переменного тока для PIC 16F877A или если есть програмку, содержащую такой блок. На 2 ножку МК, фиксированную делителем напряжения на 2,5 вольт,подаётся напряжение от 0 до 2 вольт переменки 50 Гц и надо вычислять действующее значение в каждой полуволне. Буду очень признателен!

Если меряем монохромный сигнал, то множитель к амплитуде 0,707106781. Можно учесть в референсе, тогда результат получим сразу.

Ну а если спектр произвольный, тогда извольте среднеквадратичное от выборок. Дискретизация зависит от потребной точности.

ЗЫ. Я не понял вопрос с полупериодом.

Изменено пользователем my504

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
MASTER KRIM    0

<Ну а если спектр произвольный, тогда извольте среднеквадратичное от выборок. Дискретизация зависит от потребной точности.>

В этом то и проблема! По одной выборке врёт сильно. Тут действующее значение вычислить надо с хорошей точностью. Думаю 10 выборок взять, а вот как их обработать не особо напрягая МК? Думал с устройств защиты алгоритм взять, не могу найти. Там тоже МК стоит, но с битом защиты!!!

В синусоиде положительный и отрицательный полупериод. Так вот действующее значение желательно в обоих вычислять, но можно и в одном. Но в каждом периоде.

Изменено пользователем MASTER KRIM

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
my504    157

Я всетаки не понял, действующее напряжение ЧЕГО нужно мерять, синуса или однополуперионо выпрямленого напряжения. Что понимается под действующим напряжением полуволны?

Касаемо вопроса произвольного спектра, то или dsPIC или табличные квадраты и корни, тогда хватит и 16F.

Кстати, измерение синуса должно быть синхронным. Для этого его ограничиваем и меандр подаем на прерывание. Считаем полупериод таймером. Сдвигом результата находим 90 градусов и запускаем АЦП на пике полуволны.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
MASTER KRIM    0
Я всетаки не понял, действующее напряжение ЧЕГО нужно мерять, синуса или однополуперионо выпрямленого напряжения. Что понимается под действующим напряжением полуволны?

Касаемо вопроса произвольного спектра, то или dsPIC или табличные квадраты и корни, тогда хватит и 16F.

Кстати, измерение синуса должно быть синхронным. Для этого его ограничиваем и меандр подаем на прерывание. Считаем полупериод таймером. Сдвигом результата находим 90 градусов и запускаем АЦП на пике полуволны.

Мерять нужно действующее напряжение синуса, но это не имеет значения. Мне нужно из отдельно взятой синусоподобной полуволны вычислить среднеквадротичное значение. В мультиметрах эту роль выполняют ОУ о ООС, но в некоторых устройствах это реализовано программно.

Действующее значение переменного напряжения и есть среднеквадротичное значение.

<Касаемо вопроса произвольного спектра, то или dsPIC или табличные квадраты и корни, тогда хватит и 16F.> ? Есть команды делающие это?

Изменено пользователем MASTER KRIM

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Goodefine    92

Дык, если синус просто измеряем в нужный момент (!) амплитуду и пересчитываем...и все...Пересчитывать в действующее можно (даже нужно) после усреднения (или другой обработки результатов) нужного числа выборок...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
131959G    19

Изв. за флуд.

Есть довольно простое но объемлющее определение действующего значения напряжения или тока:

Величина искомого действующего значения напряжения или тока любой формы, равна величине постоянного напряжения или тока вызывющего на чисто резистивной нагрузке энергетическое воздействие (выделение энергии - тепла), равное количеству выделенной энергии на этой же чисто резистивной нагрузке при воздействии на нее (нагрузку) искомого действующего значения напряжения или тока любой формы.

По этому принципу строятся и некоторые типы измерительных приборов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Goodefine    92

Для произвольной формы напряжения можно организовать измерение действующего значения путем измерения площади фигуры, ограниченой кривой тока за единицу времени (одного или нескольких полупериодов). Через равные промежутки времени измеряем амплитуду, умножаем, суммируем и т.д. не забывая определять начало периода - задача вполне решаемая...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Migray    5

Т.е. по простому, применительно к измерению с помощью МК.

Берешь полупериод, и в течении этого времени делаешь кучу выборок.

Все выборки суммируешь.

По сути получается грубое такое интегрирование.

Можешь суммировать не сами результаты измерений, а их квадраты, если тебе действительно среднеквадратичное надо.

Мне для систем стабилизации питания и защиты хватало 64 выборок на период.

Положительных и отрицательных полупериодов у меня не было, т.к. мерил после диодного моста.

Начало полупериода отслеживается по минимальному значению в выборке.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
MASTER KRIM    0

Вот мне это и нужно. Но 64 выборки мне кажется слишком много, думаю и 10 хватит, беря их через 0.5, 1.5,...8.5,9.5 мсек от перехода через 0. Но как их общитать? Числа могут быть до 512 в выборках. Нужен алгоритм или програмка, желательно на PIC 16F877A. Кто сможет помочь?!!!

Для произвольной формы напряжения можно организовать измерение действующего значения путем измерения площади фигуры, ограниченой кривой тока за единицу времени (одного или нескольких полупериодов). Через равные промежутки времени измеряем амплитуду, умножаем, суммируем и т.д. не забывая определять начало периода - задача вполне решаемая...

Полностью согласен. Сможешь помочь, может есть эмперические формулы вычисления из заданного количества выборок? В инете обыскался.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Goodefine    92

Конкретно по PIC не скажу, так, общие соображения:

Будет нужен следующий алгоритм

А. Определение минимального значения (начало и конец периода) напряжения - разумеется, если минимальное значение является таковым....

Потом:

1. Настраиваем таймер на переполнение через нужное время дискретизации tдиск

2. После А (определение начала) делаем АЦП, обнуляем таймер и разрешаем от него прерывания и запоминаем первый отсчет U1

3. По прерываниям от таймера производим АЦП, проверку А , считаем число АЦП n, значение Ui прибавляем к предыдущему Ui-1, если U = Umin (начало/конец) тогда запрещаем прерывания от таймера и начинаем считать...

4. Делаем расчет исходя из следующего:

Действующее значение можно определить как Uдейств =1.11*Umax* (U1*tдискр+U2*tдискр+...+Uт*tдискр)/(Umax*Tполупер), где Umax-амплитуда. Учитывая что время полупериода Тполупер=n*tдискр получаем:

Uдейств=1.11*Сумма(Ui)/n, n-число отсчетов за период. Потом обнуляем n и ждем начала периода и все сначала...

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

P.S. Добавил 1.11...

Изменено пользователем Goodefine

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
MASTER KRIM    0

Goodefine

Всё это я делал. Но я выхожу за 8бит. И хватит ли времени (около 0.4мсек) на вычисления (кварц 12Мгц).

Да и среднее значение получается 0,639245322, а хотелось бы 0,707106781.

Но я попробую!

Измерение_действующего_значенения_напряжения.rar

Изменено пользователем MASTER KRIM

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
my504    157

Господа! Да вы что? Какое линейное интегрирование, какая площадь? Действующее значение для периодических сигналов произвольной формы равно корню квадратному от интеграла квадратной функции деленной на период (интегрируем за период). А у вас получится СРЕДНЕЕ значение. Т.е. нужно каждую выборку возвести в квадрат, выборки просуммировать, поделить на их количество и извлечь кв. корень. Кто не верит - открываем ЛЮБУЮ книгу по ТОЭ (ОТЦ) и изучаем основы... Как бы повежливей сказать, что бы никого не обидеть... Стыдно даже радиолюбителю не знать основы...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
my504    157

Да и еще. Для чистого синуса, естественно достаточно амплитуду умножить на 0,7071..... Когерентное (синхронное) измерение амплитуды - хороший, точный метод. Он позволяет заменить выпрямитель на диодах, которые вносят значительную ошибку на малых сигналах из-за нелинейного дифференциального сопротивления.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Migray    5
Господа! Да вы что? Какое линейное интегрирование, какая площадь? Действующее значение для периодических сигналов произвольной формы равно корню квадратному от интеграла квадратной функции деленной на период (интегрируем за период)...

Так это естественно. Для измерения так и делается, но для оценки можно и проще

На медленном проце, который умножать/делить не умеет, приходилось приближенными методами работать, в памяти табличка квадратов сначала забивалась. В том проекте, который на ПИКе делался, так и поступали.

Последние лет пять на ПИК я и не смотрю. В одной из соседних веток я уже писал про uPD78F0511 или лучше всего uPD78F0514 Краткое описание, полный даташит на семейство.

Надежный, быстрый, ток потребления в 1,5 раза меньше, периферия богаче. Может умножать/делить 8-битные числа.

В системе команд 8-битного процессора есть команды 16-битных пересылок, сложения, вычитания, сравнения. Спокойно можно выходить за 8 бит в большинстве вычислений.

Стоит дешевле PIC 16F877A, но и это не самое главное для данной задачи.

NEC в свой процессор кроме всего прочего еще и аппаратный умножтель/делитель запихнул.

Т.е. два 16-битных числа перемножаются за один такт. Это быстрее чем по таблице квадат числа искать.

Вот с таким процом можно не заморачиваться приближенными методами.

Но не всегда разработчик правильно оценивает задачу в начале и иногда закладывает в разработку проц не тот, который нужен для решения задачи, а тот что есть в загашнике.

Вот тогда проявляется геморой, для устанения которого приходится искать обходное решение.

Когда до сдачи заказа месяц-два, можно потрепыхаться с переразводкой и перекомпиляцией, если времени нет, через неделю встреча с заказчиком - тут не до точности, надежности и т.д.

Вот таким обходным решением и будет интегрирование, а ошибку скомпенсируют потом в результате тестирования и доводки до ума.

Изменено пользователем Migray

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Goodefine    92
А у вас получится СРЕДНЕЕ значение...

Конечно! Там получится среднее значение. Вчера отвлекся и написал не то что хотел...Из среднего можно получить действующее исходя из того что Uсред=0.637Uмах, Uдейств=0.707Umax, тогда Uдейств=1.11Uсредн - все это для синусоиды, разумеется...

Стыдно даже радиолюбителю не знать основы...

Да знаем мы основы, просто иногда нет-нет да и пишем чушь :rolleyes: ...

Изменено пользователем Goodefine

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Goodefine    92
Всё это я делал. Но я выхожу за 8бит...

А что, свободных регистров больше нет? Сумма больше чем 255 получится, конечно...

И хватит ли времени (около 0.4мсек) на вычисления (кварц 12Мгц)...

ИМХО, необязательно обмерять каждый полупериод, делаем выборку, а потом считаем столько времени сколько нужно...Посчитали и дальше меряем...

Да и среднее значение получается 0,639245322, а хотелось бы 0,707106781.

Среднее будет 0,637Uмах, умножаем на 1.11 и вот действующее

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
MASTER KRIM    0
А что, свободных регистров больше нет? Сумма больше чем 255 получится, конечно...

ИМХО, необязательно обмерять каждый полупериод, делаем выборку, а потом считаем столько времени сколько нужно...Посчитали и дальше меряем...

Среднее будет 0,637Uмах, умножаем на 1.11 и вот действующее

Я тоже не могу поддержать my504, хотя он прав.

Но выполнять сложную математику на простеньком МК нет смысла. Этак "чем дальше в лес, тем ну его ...."!!! Sorry!

А задач по мимо этого у него хватает, и справляется он с ними достойно.

Регистры есть, будем писать блок.

А вот обмерять каждый полупериод необходимо, ибо принятие решения происходить должно после каждого полупериода. Вот такая задача!

На 1.11 умножать не обязательно, т.к. это можно сделать и делителем с переменника (таковой присутствует в схеме).

А 0.637 не понравилось из за несовпадения с 0.707.

А от количества выборок сильно не зависит (площадь сигнала более точно вычисляется и среднее значение чуть меньше стоновится см. файл).

Но я пытаюсь найти обходные пути, типа эмперического алгоритма применительно к МК. Неужели никто этим не занимался?!!! Ведь задачи вычисления действующего значения стоят во многих КПА.

Чаще всего используют конвекторы типа AD737, но неохота переделывать печатки: навесной монтаж, провода, наводки и т.д.т.п.

Хочется революции в умах! Кулибины! АУУУ!!!!

Среднее значение имеет место жить, но тоже даёт погрешности. Ведь 1% при 220В это уже 2.2 вольта, а надо не больше 1вольта.

Респект.

Измерение_действующего_значенения_напряжения.rar

Изменено пользователем MASTER KRIM

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
MASTER KRIM    0
Да и еще. Для чистого синуса, естественно достаточно амплитуду умножить на 0,7071..... Когерентное (синхронное) измерение амплитуды - хороший, точный метод. Он позволяет заменить выпрямитель на диодах, которые вносят значительную ошибку на малых сигналах из-за нелинейного дифференциального сопротивления.

В том то и дело, что синусоида не чистая и чаще искажена.

Действующее значение для периодических сигналов произвольной формы равно корню квадратному от интеграла квадратной функции деленной на период (интегрируем за период). Т.е. нужно каждую выборку возвести в квадрат, выборки просуммировать, поделить на их количество и извлечь кв. корень.

Здесь согласен полностью, проверено Измерение действующего значенения напряжения

Как это в контроллер засунуть? Помогите, PLEASE!!!

Изменено пользователем MASTER KRIM

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Goodefine    92
...А вот обмерять каждый полупериод необходимо, ибо принятие решения происходить должно после каждого полупериода. Вот такая задача!..

Тогда можно пол полупериода обмерять - 5 мс останется на все остальное...Только что попробовал, Atmega16 c 12Мгц возводит в квадрат число 1020 (десятичное) примерно за 7 мкс (делит за 61 мкс - если верить VmLab) - можно легко успеть в прмежутках между отсчетами возводить в квадрат и сразу суммировать, считать выборки... Остается во второй части полупериода за 3-4мс вычислить квадратный корень из суммы, деленной на число выборок...Только вот алгоритма извлечения корня из unsigned long int (чтоб хватило) не встречал - только unsigned int (от 0 до 65535), чтоб проверить время...

P.S. А что это за устройство будет, если не секрет, что ему за каждый полупериод действующее нужно?

P.P.S. Здесь вот корень вычисляют http://www.dattalo.com/technical/theory/sqrt.html

Изменено пользователем Goodefine

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
MASTER KRIM    0
P.S. А что это за устройство будет, если не секрет, что ему за каждый полупериод действующее нужно?

Есть всё таки люди в русских селениях!

Спасибо за поддержку!

А устройство это стабилизатор сетевого напряжения.

И работает он великолепно, не на словах, а на деле. На выходе поддерживает 220+/-2.5% при вход 130-185 вольт.

Мощность 8500 ВА!

Но нет ничего совершенного, хочется ещё лучше, надёжнее, безопаснее.

Будут идеи, не поленитесь!

Goodefine - персональное спасибо!

По результатам сообщу.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Goodefine    92
А устройство это стабилизатор сетевого напряжения.

И работает он великолепно, не на словах, а на деле. На выходе поддерживает 220+/-2.5% при вход 130-185 вольт.

Мощность 8500 ВА!

:blink: А вот это уже интересно! Каким же образом регулирование происходит (ежели не тайна :ph34r:)... ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
MASTER KRIM    0
:blink: А вот это уже интересно! Каким же образом регулирование происходит (ежели не тайна :ph34r:)... ?

Мотается автотрансформатор с выводами по опредалённым насчётам, и по принципу моментального переключения с отвода на отвод поддерживается на выходе 220 вольт.

Комутируется семисторами мощными.

А управляет всем этим МК через различные схемные решения.

От характера нагрузки не зависит (активная, индуктивная и т.п.)

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
my504    157

Не дурственно....

А следит, я так полагаю, пока за средним значением? Но хочется за действующим?

Но для пострения быстрой следящей системы быстрого подсчета среднеквадратичного значения за период не вполне достаточно. Система дискретная и, при быстром измерителе при неизменной остальной петле будет в лучшем случае перерегулирование (выброс), но может и начатся релаксация. Кроме того напряжение на выходе будет совсем не синусоидальное и средние квадраты нужно считать только прямым способом (приближенные не подойдут). Таким образом остаются таблицы квадратов для обычных 8-разрядных пиков. Ну или однокристальные спецвычислители средних квадратов типа ADE7754...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
MASTER KRIM    0
средние квадраты нужно считать только прямым способом (приближенные не подойдут). Таким образом остаются таблицы квадратов для обычных 8-разрядных пиков. Ну или однокристальные спецвычислители средних квадратов типа ADE7754...

Согласен. Мне подкинули таблицы, но немножко не те. Хорошо бы под PIC достать, и желательно быстрые.

Может посоветуешь?!!!

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Сообщения

    • Радиатор из пружинки для TO-92
      Стальная конечно не так эффективна, как медная, зато благодаря форме занимает минимальную площадь. Лучше может быть только трубка. Например латунная, от колена телескопической антенны приёмника. https://electronics.stackexchange.com/questions/93760/thermal-resistance-of-spring-for-cheap-to-92-heatsink
    • Согласен с вами. Недавно микшер ремонтировал (тоже звуковая аппаратура), внутри сплошная керамика и электролиты. Я ещё слышал про сетевые трансформаторы специально для питания усилителей, которые наматывались под музыку Бетховина и Баха.
    • Вы так и не ответили на основной вопрос. Исправный ИИП стабилизирован и должен выдавать 5 Вольт без всяких "просадок" на токах до 4 Ампер. Так сколько потребляет плата при "просадке"? Дел-то, дорожку разрезать и померять...  Ток больше 4А - ищите, куда утекает. Меньше 4А - "кривой"  ИИП. Никаких чудес, и вопрос решен. 5 минут. 
    • Есть ферриты и трансы. Не могу однозначно идентифицировать даже по маркировке, может кто сталкивался с продукцией Pulse. Комплект в подарок за даташит или что-то похожее. Да и интересно вообще все это?  
    • Абжатова Айгуль. Есть такой продавец на украинских интернет аукцыонах. И магазины вроде какие то есть. Доказывал мне что irf840 не могут работать в электронном баласте на 250w. Потому что у транзисторов мошность меньше по даташиту. Еще и отправлял закон ома учить ну и всякие нехорошие слова. Непомогло даже видео на котором я ему показываю как настоящие irf840 а не его перемарк свободно качают лампу 250w. Даже документ от ir не помог. Не ведитесь на низкие цены. Ибо получите не то за что заплатили. Вот кусок. спрашиваю. может ли irfz44 включать и выключать нагрузку 500W. отвечает теперь о 44, смотрим даташит http://www.vishay.com/docs/91291/91291.pdf неужели трудно посмотреть,что он максимально рассеивает 150Вт..... ну и где 500.Элементарные вещи же....хоть немного напрягайтесь
    • Распай с оборудования связи европейской сборки. Количество и цена пробные. Что целесообразно проверить, проверяется. Торг, скидки за объем. Оплата/доставка по договоренности.  Со спойлером не разобрался,  фото есть на все позиции. В облаке. Интересна критика.