Меню

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

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

Через WebMoney

R785211844650
Z210696637574
E368177590409

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

Вольтметры на микроконтроллере — что может быть проще? Это так, если речь идет об измерении на постоянном токе, или определения мгновенных значений переменного. Но измерение действующего значения переменного напряжения, тем более несинусоидальной формы — нетривиальная задача. Однако, и она решаема, причем на достаточно простом и недорогом микроконтроллере семейства AVR.

Данная статья носит скорее характер рассуждений на тему, нежели описание конкретного проекта. Ее назначение — направить мысль в нужное русло, обозначить цели, подводные камни, проложить «лоцию» их обхода. Чтобы каждый желающий мог самостоятельно реализовать изложенный принцип.

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

Мгновенное значение переменного напряжения — это абсолютный уровень напряжения в конкретный момент времени, одиночный отсчет. Амплитудное значение — это наибольшее значение синусоиды (или другой кривой для несинусоидальной формы сигнала) за период. Амплитудное значение берется по модулю, т.е. не бывает минусовой и плюсовой амплитуды. Среднее значение, как следует из самого термина, это сумма всех мгновенных значений (отсчетов) за период, деленная на количество отсчетов. Математически — это интеграл мгновенных значений за период. Очевидно, что для синусоидальной формы среднее за период значение будет равно нулю. Если форма кривой напряжения искажена, то среднее значение за период может оказаться ненулевым — тогда оно получает название постоянной составляющей переменного напряжения. Наконец, действующее или эффективное значение напряжения — это величина, численно равная половине интеграла квадрата мгновенных значений напряжения за период. Поэтому его еще называют среднеквадратичным напряжением.

Теперь подумаем, как эта теория поможет нам решить нашу задачу. В МК мы имеем дело с АЦП, которое (в некотором приближении) способно давать нам отдельные отсчеты напряжения, т.е. оно умеет определять мгновенные значения напряжения. Легко понять, что для определения действующего значения нам необходимо проинтегрировать (т.е. просуммировать) квадраты результатов АЦП, взятых через равные промежутки в течение одного периода измеряемого напряжения. Почему я не говорю о необходимости делить сумму квадратов пополам, хотя теория вроде бы этого требует? Да потому, что АЦП дает нам результат в абстрактных числах, оторванных от реальности. Чтобы из этой абстракции получить реальное значение, нам все равно надо умножить их на какой-то размерный коэффициент, в котором может быть учтено то самое деление на 2. Поясню: если «один шаг» АЦП соответствует 0,02В напряжения, то для перевода в реальные вольты нам надо умножить результат АЦП на 0,02. Если же в процессе вычислений нам потом потребуется разделить эти значения на 2, так не проще ли умножать сразу на коэффициент 0,01В?!

Наметим алгоритм нашей программы. В общих чертах он будет таким:

  1. Получить через равные промежутки N отсчетов АЦП в течение одного периода измеряемого напряжения.
  2. Возвести результаты в квадрат и просуммировать.
  3. Извлечь квадратный корень из полученной суммы.
  4. Умножить полученный результат на масштабирующий коэффициент и вывести результат на индикатор.

Чтобы наш вольтметр показывал значение непрерывно, этот алгоритм надо выполнять циклически.

Теперь давайте разбираться с деталями. Прежде всего, определимся с числом отсчетов N. Казалось бы, все просто: чем оно больше, тем точнее результат. И это действительно так, однако не следует забывать о том, что в нашем распоряжении не суперкомпьютер, а всего лишь микроконтроллер AVR, возможности которого весьма ограничены.

Прежде всего, есть ограничение на скорость работы АЦП. Atmel рекомендует использовать АЦП при работе от тактовой частоты не более 200 кГц, иначе будет увеличиваться погрешность результатов. Один цикл измерений АЦП длится (в установившемся режиме) 13 тактов, т.е. при любых ухищрениях мы не сможем использовать АЦП чаще, чем 15384 раза в секунду, если хотим получать все 10 бит результата верно. Прикинем, что же мы получаем в результате. Длительность периода сетевого напряжение 20 мс. При вышеобозначенной частоте семплов за один период мы просто не успеем получить более 307 отсчетов. Конечно, если немного пожертвовать точностью, можно увеличить скорость АЦП и соответственно, число отсчетов за период.

Другое важное ограничение — это быстродействие математических операций. Возведение в квадрат — процедура очень затратная по числу тактов работы микроконтроллера, и если выполнять интегрирование «на лету», т.е. по мере поступления результатов из АЦП, частота семплирования в 15К будет недостижима даже в теории. Выход один — быстро накапливать нужное количество данных в массиве, а потом неторопясь их обрабатывать. И тут мы наталкиваемся на третье ограничние — объем ОЗУ. Теоретически максимальное количество отсчетов из 307-и 10-битовых чисел потребует для хранения 614 байт ОЗУ, что уже больше всей имеющейся памяти во многих МК, а для, например, Atmega8 составляет больше половины. А ведь для работы нам еще нужно место под стек, под другие промежуточные переменные. Так что число отсчетов N=307 можно считать абсолютно максимальным для всех МК с объемом ОЗУ 1К и менее.

Для заполнения массива отсчетов используем прерывание по завершению цикла АЦП. То есть определим переменную-индекс, указывающую на очередной элемент нашего массива, а в обработчике этого прерывания будем сохранять по этому индексу результат АЦП в массиве и увеличивать индекс. Так как по нашим расчетам с момента первого семпла и до последнего (307-го) должно пройти 20 миллисекунд, можно считать, что задача получения мгновенных значений напряжения за период нами решена. Однако, надо же контролировать выход индекса за пределы допустимого значения, т.е. делать проверку — не больше ли 307-и семплов мы сделали? Естественно, нужно быть уверенным, что время всех дополнительных расчетов не увеличит периодичность поступления семплов, иначе не миновать больших ошибок.

Предположим, мы наконец-то получили наш массив отсчетов, и теперь необходимо провести его обработку. Вы себе представляете возведение в квадрат на ассемблере? А извлечение квадратного корня? Конечно, все решаемо, но гораздо проще применить встроенные функции языка Си square и sqrt. Отсюда 2 неизбежных вывода: программу мы делаем на Си и все предыдущие рассуждения требуют корректировки. Этот ошарашивающий вывод следует понимать так: Си — язык высокого уровня, и потому существенно более медленный, чем ассемблер. Значит, процедуры обработки прерываний могут потребовать больше времени, чем мы рассчитывали, т.е. нарушить стройные расчеты количества и частоты семплов. Значит, надо обязательно проконтролировать время исполнения критических участков нашей программы (например, в той же AVR Studio), и, если окажется, что период семплирования существенно больше расчетного, провести корректировку всех расчетов — от количества семплов до частоты АЦП. Но забудем на время об этом.

Итак, замеры и расчеты позади. Остается организовать вывод результатов. Тут, как говорится, простор широк: от семисегментных индикатров с динамической индикацией до LCD символьных дисплеев или передачи результатов по UART в компьютер. Только помните, что динамическая индикация так же работает по прерываниям, т.е. может исказить временные интервалы получения семплов.

Надеюсь, принцип понятен. Теперь несколько слов о не затронутых проблемах. Прежде всего, все наши размышления относились к измерению сетевого напряжения, т.е. напряжения с частотой 50 Гц. При других частотах, наша программа будет давать результат с погрешностью. Величина этой погрешности будет минимальна, если в 20 мс будет укладываться целое число периодов напряжения (для симметричных форм сигнала — полупериодов). Если число целых периодов (полупериодов) будет не целое, погрешность будет максимальна, причем характер показаний вольтметра будет иметь вид «биений». Так как напрасно ожидать высокой точности от численного интегрирования при числе семплов за период менее нескольких десятков, то верхнее значение частоты для измеряемого напряжения в реальности будет не больше 200 Гц. Короче говоря, мы все-таки сделаем прибор только на 50 Гц. Хотя на 25 он будет работать совсем не плохо. Разумеется, прибор покажет верное значение для любой формы переменного напряжения 50 Гц, а так же для постоянного тока.

Схема для протеуса

В подтверждение всех изложенных выкладок (и для их проверки) привожу конкретный пример реализации вольтметра. Я не собирал реальную схему, ограничился проектом в протеусе. Однако полученные при моделировании результаты полностью подтвердили изложенное и позволяют утверждать, что реальная схема с минимальными доработками (источник питания и защитные цепи) будет работать. Предлагаемая прошивка для МК полностью работоспособна — дорабатывайте схему, делайте печатную плату и пользуйтесь. Однако, я делал ее по-своему, т.е. чуть-чуть иначе, чем только что рассказал. Самое главное, что в моей программе не так — это число семплов в массиве: у меня их 256. Из-за этого мне пришлось отказаться от «естественной» частоты семплов и привязать их к таймеру, это в свою очередь потребовало поднять рабочую частоту АЦП до 250 кГц (при тактовой частоте МК в 8 мГц). Кстати, получить 250 кГц для АЦП от встроенного RC-генератора меги гораздо проще, чем 200, так что не исключаю, что при написании собственной программы вы тоже будете вынуждены пойти по моему пути.

Проект для Proteus 7.1 Pro SP2 и файл прошивки можно скачать в файловом архиве. В проекте штрих-пунктиром обведена часть, которая собственно вольтметр. А левее — это источник тестового сигнала. Входной мост и делитель напряжения должны быть с запасом рассчитаны на входное напряжение, лучше выбирать 1000-вольтовые диоды, они-то уж точно выдержат. Делитель лучше сделать именно как показано на схеме — из трех резисторов, т.к. один резистор соответствующего номинала может не выдержать высоких напряжений. Еще лучше взять больше резисторов, кстати, проще будет и коэффициент деления подобрать. На схеме не показаны многие нюансы, например, защитный стабили-трон на входе АЦП, но это именно нюансы. Моя прошивка обеспечивает измерение напряжений до 710В, при этом погрешность не более 2В для синусоидальной формы напряжения. Для других форм напряжения погрешность может увеличиться, но не сильно. Думаю, в 5% точно уложится. Для простого прибора со шкалой 10-700В неплохо, не так ли? Прошивка имеет особенность: если на вход подано напряжение с амплитудным значением более 1000В (примерно), прибор покажет символ «Е» — перегрузка. Это произойдет даже если действующее значение будет существенно меньше 700В.

Источник



Эффективное, действующее напряжение, сила тока. Значение.

Значения действующего напряжения и силы тока. Определение. Соотношение с амплитудой для разной формы. (10+)

Понятие эффективных (действующих) значений напряжения и силы тока

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

Вашему вниманию подборка материалов:

Практика проектирования электронных схем Искусство разработки устройств. Элементная база. Типовые схемы. Примеры готовых устройств. Подробные описания. Онлайн расчет. Возможность задать вопрос авторам

Определение действующего (эффективного) значения

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

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

Первая формула — действующее напряжение, вторая — действующая сила тока. Где, Т — период напряжения или тока. U(t) — зависимость напряжения от времени. I(t) — зависимость силы тока от времени.

Для сигналов произвольной формы считать надо именно по этим формулам, но для некоторых стандартных форм напряжения или тока расчеты уже проведены (эти формулы верны как для напряжения, так и для силы тока):

Действующее (эффективное) значение для сигналов стандартной формы

Синусоидальный сигнал (синус, синусоида) [Действующее значение] = [Амплитудное значение] / [Квадратный корень из 2]

Прямоугольный сигнал (меандр) [Действующее значение] = [Амплитудное значение]

Треугольный сигнал [Действующее значение] = [Амплитудное значение] / [Квадратный корень из 3]

Закон Ома и мощность для действующих значений напряжения и силы тока

Эффективное значение напряжения измеряется в Вольтах, а силы тока в Амперах.

Для эффективных значений верен закон Ома: [Действующее значение силы тока, А] = [Действующее значение напряжения, В] / [Сопротивление нагрузки, Ом]

[Рассеиваемая на омической нагрузке мощность, Вт] = [Действующее значение силы тока, А] * [Действующее значение напряжения, В]

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

Если что-то непонятно, обязательно спросите!
Задать вопрос. Обсуждение статьи.

Микроконтроллеры — пример простейшей схемы, образец применения. Фузы (.
Самая первая Ваша схема на микро-контроллере. Простой пример. Что такой фузы.

Практика проектирования электронных схем. Самоучитель электроники.
Искусство разработки устройств. Элементная база радиоэлектроники. Типовые схемы.

Силовой резонансный фильтр для получения синусоиды от инвертора.
Для получения синусоиды от инвертора нами был применен самодельный силовой резон.

Преобразователь однофазного напряжения в трехфазное. Принцип действия.
Принцип действия, сборка и наладка преобразователя однофазного напряжения в трех.

Бесперебойник своими руками. ИБП, UPS сделать самому. Синус, синусоида.
Как сделать бесперебойник самому? Чисто синусоидальное напряжение на выходе, при.

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

Электрическое напряжение. Амплитуда сигнала. Амплитудное. Вольт. Volt.
Понятие напряжения и разности электрических потенциалов. Амплитуда. Единицы изме.

Источник

Читайте также:  Трехфазный асинхронный электродвигатель с переменным напряжением

Электроприборы и инструменты © 2022
Внимание! Информация, опубликованная на сайте, носит исключительно ознакомительный характер и не является рекомендацией к применению.