Главная » Статьи » УСТРОЙСТВА НА МК |
Нередко требуется измерить мощность того или иного электрооборудования. Кроме того, иногда полезно знать одновременно и ток нагрузки I, и напряжение U, и не просто мощность (всё равно какую), а и полную P, и активную S (их нередко путают и не всегда уточняют, которая из них имеется в виду в том или ином случае). Также в ряде специфических случаев требуется знать коэффициент мощности сети, равный P/S (он же косинус φ (фи) - угла сдвига фаз между напряжением и током), реактивную мощность Q и сам φ. Объяснение различных электрических терминов и глубоких теоретических основ выходит за рамки данной статьи, это всё можно найти в специализированных источниках, таких как учебники по ТОЭ (например, [1]) и ряд публикаций в интернете. Обычный мультиметр в решении вышеозначенных задач не поможет, т.к. измерив, пусть даже одновременно (2-мя приборами), ток нагрузки и напряжение в сети мы сможем получить только S=UI, а все остальные параметры остаются недоступными, т.к. для их вычисления одних U и I недостаточно. Имеющиеся решения Для решения этих задач существуют специальные приборы – ваттметры и универсальные вольт-ампер-фазометры, но т.к. они являются спецтехникой, а не приборами широкого назначения, то их довольно сложно найти и стоят они порой недёшево. Кроме того, далеко не всегда такие приборы показывают все параметры сразу. В интернете встречаются очень простые и дешёвые конструкции, например, [2], но они очень узкоспециализированные (так, [2] измеряет только φ). Фирма Atmel публикует в качестве одного из примера использования МК AVR описание конструкции некоего счётчика электроэнергии на доступной элементной базе – [3]. Но в качестве измерительного прибора это изделие вряд ли годится, т.к. показывает только потреблённую мощность на электро-механическом счётчике с колёсиками с цифрами (подобно бытовым счётчикам электроэнергии). Автору статьи удалось найти в интернете довольно универсальный прибор - [4]. Это ваттметр, построенный на МК ATMega8, измеряющий все вышеозначенные параметры. Но при детальном анализе выяснилось, что у устройства немало недостатков, некоторые из которых обозначены в той статье. Подробнее об этом также сказано ниже. Фирма AnalogDevices предлагает целый спектр различных электроизмерительных микросхем (Energy-Meter IC), предназначенных для построения электросчётчиков и решения прочих электроизмерительных задач. Они не очень дорогие, на них есть подробная техническая документация и немало примеров по их применению совместно с различными микроконтроллерами, но, к сожалению, эти микросхемы далеко не везде и не всегда доступны (порой проще найти какой-нибудь списанный или слегка разбитый электросчётчик с какой-либо микросхемой, чем саму микросхему), что для автора статьи послужило основной причиной отказа от их использования в предлагаемом устройстве. В то же время все вышеописанные задачи вполне «по зубам» обычным МК AVR, которые гораздо более доступны и порой дешевле микросхем от AD. Тем более, что для создания универсального измерительного прибора без МК и прочих узлов всё равно не обойтись. Способы измерения переменных напряжения/тока, мощностей и частоты Перед тем, как рассматривать конструкцию самого прибора необходимо
остановиться на некоторых теоретических аспектах измерения переменных
напряжения, тока и прочих параметров электросети. Любой сигнал перед измерением необходимо нормировать – т.е. привести его к допустимому диапазону и прочим параметрам используемого измерительного узла. В нашей схеме измерительный узел – интегрированный в МК AVR АЦП, способный измерять напряжение в диапазоне 0-5в. Подача на него других напряжений (отрицательных либо больших 5в) приведёт к выходу из строя в лучшем случае только АЦП, в худшем – всего МК. Измерение сетевого переменного напряжения заключается в 2-х пунктах:
В простейшем случае оба пункта решаются
последовательно включёнными диодом и делителем напряжения (можно
использовать обычные резисторы плюс многооборотный потенциометр для
облегчения настройки). Делитель уменьшает (масштабирует) напряжение до требуемого диапазона. Коэффициент деления следует подбирать исходя не из стандартных 220в, а хотя бы из 260в, т.к. напряжение в сети крайне редко бывает 220в, оно чаще колеблется в каких-то пределах и, кроме того, часто бывают кратковременные «выбросы» (высокое напряжение) и «провалы» (низкое напряжение). Такая схема проста, дёшева, надёжна и обладает достаточной точностью, вследствие чего именно на ней основано подавляющее большинство вольтметров переменного тока, как цифровых, так и аналоговых. По такому принципу работает и прибор [4]. Для получения реального напряжения необходимо измеренное напряжение
на входе АЦП умножить на коэффициент деления делителя и на 2, для
«компенсации» срезанной диодом отрицательной полуволны.
Впрочем в условиях постоянно меняющегося по амплитуде и по действующему значению напряжения эти погрешности можно не учитывать. Есть и другой способ измерения напряжения – «вписать» всю синусоиду в диапазон 0..+5в. Для этого её нужно «поднять» на полдиапазона АЦП (т.е. на +2.5 в) и подогнать делитель так, чтобы вся синусоида целиком лежала между 0 и +5в. В этом случае исключаются оба недостатка – не нужен диод и АЦП
измеряет обе полуволны напряжения со всеми их «особенностями». При
дальнейших расчётах также необходимо как-то учесть добавленные схемой
+2.5в. Но с помощью программных (вычислительных) средств
микроконтроллера это сделать очень легко. Схемных решений этого способа, по крайней мере, два – делители и
конденсаторы, как в [3] и использованный в схеме предлагаемого
устройства формирователь средней точки (тех самых +2.5в) на ОУ. Так, устройством без гальваноразвязки необходимо пользоваться с повышенной осторожностью, его нельзя заземлять, необходимо тщательно изолировать все узлы схемы от окружающей среды и предпринимать какие-то прочие меры предосторожности. Кроме того, если мы захотим передать результаты измерений куда-либо, допустим в ПК, мы не сможем подключать наш прибор непосредственно, например, к COM-порту через простой преобразователь типа MAX232. Для этого придётся развязывать все линии связи, например, оптопарами и т.п. Для преодоления этого недостатка можно поставить перед делителем обычный понижающий трансформатор (как в БП) и скорректировать первым коэффициент деления для вписывания синусоиды в диапазон АЦП. Именно такое решение и применено в предлагаемом приборе. В завершение приведём формулу для расчёта среднеквадратического значения напряжения: , где N – кол-во замеров за период (частота выборки), ui- мгновенные замеры напряжения. К – коэффициент, учитывающий делитель и трансформатор. Измерение тока. Такой способ очень прост, понятен и дёшев. Кроме того такой узел
полностью линеен (равенство Iн=Uш/Rш соблюдается на всём диапазоне
рабочих токов) и не имеет никаких реактивных составляющих, т.к. резистор
– 100% активный элемент.
Недостатки 2, 3 и 4 очень серьёзные, они могут привести к весьма
плачевным последствиям (порча прибора, поражение электрическим током и
пр.). Именно поэтому на всех амперметрах широкого потребления стоят
предупреждающие надписи со смыслом «измерять большие токи (10А и выше)
не более 10-20 секунд». Другой способ измерения тока заключается в использовании токового трансформатора (ТТ). Такой трансформатор представляет собой катушку, через которую продевается несколько (1-3) витков провода, через который запитывается нагрузка. В мощных промышленных ТТ вместо витков провода применяется толстая металлическая шина (пластина). Принцип действия ТТ по сути такой же, как и у обычного трансформатора – электромагнитное поле тока проводника первичной обмотки (I1, ток нагрузки, Iн) наводит во вторичной обмотке ток (I2), пропорциональный Iн. Т.e. I2=Iн*K, K – коэффициент передачи тока (его значения стандартизованы – 1:500, 1:1000 и т.д.). Далее этот ток шунтом Rb превращается в напряжение, которое уже можно измерять обычным вольтметром (либо АЦП) и пересчитывать в напряжение. Т.к. ток вторичной обмотки всегда очень мал, то здесь не требуются очень мощные шунты и они не перегорают из-за того, что работают на предельной мощности. Для ТТ, рассчитанных на токи до 25А мощность шунтового резистора составляет обычно всего 0.125 Вт. А это уже обычный легкодоставаемый резистор широкого потребления, а не какая-то редкая и дефицитная спецдеталь. Расчёт тока нагрузки при использовании ТТ имеет вид: Iн=I2/K.
I2=U2/(Rb+R2), где U2 – напряжение на шунте Rb, R2 – сопротивление
вторичной обмотки. Отсюда Iн= U2/(К*(Rb+R2)). По сути – тот же закон
Ома. Основные преимущества ТТ перед шунтом:
Но есть и ряд недостатков:
Иные методы измерения тока и разновидности ТТ здесь не рассматриваются. Существует немало обзоров и статей на эту тему, например, [6]. Предлагаемый прибор использует ТТ для обеспечения гальванической развязки от измеряемой сети. Схема электрическая принципиальная ваттметра приведена на рис. 1.
Схема устройства состоит из 2-х частей – аналоговой (слева от DIP выключателей SW1) и цифровой (справа). Аналоговая часть состоит из измерительных трансформаторов напряжения (Т1), тока (Т2) и согласующих узлов. Узел R3, C1, C3, DA1.1 – формирователь средней точки для «поднятия» синусоид на полдиапазона АЦП. ОУ DA1 – в принципе любой. Автор использовал и LM358, и rail-to-rail MCP601. По цоколёвке корпусов (по крайней мере DIP) они идентичны. Делитель R4, R5, R6 – цепочка для измерения больших (от 4-5А) токов. В схеме отсутствуют какие-либо фильтры на входах АЦП по той причине, что используемые трансформаторы рассчитаны на работу с токами частоты 50/60 Гц и плохо передают сигналы высоких частот. Но детальные исследования автором не проводились за неимением необходимого оборудования (генераторы разных частот и пр.). Для измерения тока предусмотрено 2 канала – слаботочный (T2-R7-ADC2) и сильноточный (T2-R4-R5-R6-ADC3). Такое решение вызвано тем, что большие нагрузки (4-5А и выше) приводят к появлению на выходе ТТ напряжения, превышающего по амплитуде 4.5-5в. Вершины полуволн такого напряжения будут срезаны диодной парой VD3, VD4, что означает фактическую невозможность измерения тока выше указанных значений. Микропрограмма контроллера автоматически выбирает, который из двух сигналов использовать. Цифровая часть схемы – микроконтроллер AtMega16,
стандартный алфавитно-цифровой ЖК дисплей типа HD44780 и пр. элементы.
Схемы включения – стандартные для этих компонентов. При подключении
дисплея следует руководствоваться документацией на конкретную модель,
т.к. существуют разные их цоколёвки (распиновки). Автору известны 2. На
схеме приведена наиболее распространённая. Резистор R8 – обычный (не многооборотный), служит для установки желаемого уровня контрастности изображения на LCD. R11, VD6 – индикатор «Питание подано». Сам МК может быть модификаций AtMega 16/16A. Модификацию буквой L использовать нельзя – штатно она не работает на частоте 16MHz. Вопросы разгона типа «как заставить AVRы c буквой L заставить работать на частоте 16 MHz» здесь не рассматриваются. Можно использовать и другие – Mega32, 64, 128, но под них необходимо будет перекомпилировать соответствующим образом микропрограмму. При программировании (прошивке) кроме заливки в контроллер файла wattmetr.hex также необходимо: Автор использовал для программирования отдельный программатор PonyProg с LPT интерфейсом. В авторской конструкции использованы контроллер в корпусе DIP, и колодка под него, поэтому на схеме и на печатной плате отсутствует разъём для подключения ISP программатора, но ножки PB5-PB7 (к ним подключается программатор) специально оставлены свободными. Все кнопки без фиксации. Их конструкция любая, в зависимости от
предполагаемых условий эксплуатации. SB1-SB3 и VD5 используются только
при настройке и калибровке прибора, поэтому их можно разместить
непосредственно на плате, SB4 и SB2 используются ещё и для переключения
режимов отображения информации на дисплее, поэтому её лучше вывести
наружу либо для удобства калибровки продублировать (2 параллельно
включённые кнопки – на плате и на корпусе). Для подключения дублирующих
кнопок на плате сделаны специальные отводы для разъёмов. Следует отметить, что на схеме отсутствует какой-либо преобразователь уровней UART (ножки 14, 15 контроллера). Это связано с тем, что тип и само наличие либо отсутствие такого преобразователя сильно зависит от того, к чему будет подключаться прибор. Если COM-порт, то это микросхема MAX232, если USB – то что-то типа FT232BM, если к другому контроллеру, то, может быть, преобразователи вообще не нужны и т.д. Авторская конструкция предполагает подключение к другому МК AVR, поэтому преобразователь в ней вообще отсутствует. Резистор R12 необходим для поддержания на входе Rx высокого уровня в отсутствие передачи (согласно правилам работы UART), либо когда этот интерфейс вообще не используется. Схемы узлов на MAX232, FT232 и пр. здесь не приводятся, их можно
найти в документации на эти микросхемы. Также можно использовать USB
шнуры от старых мобильников с нативным интерфейсом UART (типа PL2303).
Но перед этим следует убедиться, что на выходе шнура лог. уровни ТТЛ, а
не RS232. Питание схемы осуществляется от любого источника постоянного тока напряжением 5в. Например, от классического блока питания на однокристальном стабилизаторе LM7805 – рис. 2. Можно также использовать любой другой БП, дающий 5в, батарейку, порт USB компьютера и т.п.
Если предполагается запитывать схему от той же сети, куда включается измеряемая нагрузка (как, например, в быту, в квартире), то можно объединить трансформаторы T1 обеих схем. Т.е. использовать один, с двумя независимыми вторичными обмотками. Так, в авторском экземпляре использован один трансформатор с двумя вторичками по 15в каждая. Схема собирается любым удобным способом. К статье также прилагается чертёж печатной платы, созданный в широко известной программе Sprint Layout v5.0.
Она предполагает использование двухстороннего текстолита и реализацию
небольшого количества переходных (металлизированных) отверстий. Однако,
если сделать двухстороннюю разводку и металлизированные отверстия
представляется невозможным (например, в домашних условиях, с
использованием ЛУТ), то:
Внимание! Автор собирал и отлаживал прибор на
макетной плате, т.к. предполагается его использования в составе другого
устройства. Поэтому предлагаемый чертёж п/п лишь теоретический и на
практике не проверен. Настройка схемы Внимание! Перед настройкой схемы следует разомкнуть
все 3 DIP выключателя SW1 (либо удалить МК из схемы). Если используется
счетверённый выключатель, то линию 40-й ноги контроллера размыкать не
нужно. Настройка схемы сводится к регулировке потенциометров R2, R3 и R5 в следующем порядке: Замеры осциллографом всегда проводить относительно земли. Микропрограмма Микрокод контроллера написан на языке Си с использованием компилятора CvAVR. Каждый цикл замеров длится 0.5 сек, после чего данные обрабатываются (рассчитываются измеряемые параметры) и выводятся на дисплей. Каждый замер включает в себя измерение напряжений на входах ADC1-ADC3 и расчёт предварительных величин, на основании которых вычисляются искомые напряжение, ток и пр. Подробнее этот подход описан ниже. Замеры проводятся по прерываниям таймера TC0 с частотой 5 кГц. Теперь рассмотрим способы измерений физических величин, реализованные в микрокоде контроллера. Дело в том, что все они всегда подразумевают, что все входящие в них величины (например, мгновенные напряжение и ток) – вещественные (с плавающей точкой, если говорить языком программирования) числа. Но в микроконтроллерах вообще, и в AVR в частности, нет арифметического сопроцессора, способного пусть даже за 10 тактов сложить или перемножить два таких числа. Такие действия проводятся путём программной эмуляции, которая работает очень медленно. Не говоря уж о длительных, итерационных алгоритмах извлечения квадратного корня и вычисления тригонометрической функции arccos (арккосинус), используемой при вычислении φ. Иными словами, если реализовать подобные действия в обработчике прерывания, вызывающемся даже раз в миллисекунду, то такой обработчик не сумеет завершиться в течении 1 мс, что в лучшем случае приведёт к жутким «тормозам», а скорее всего – к полному зависанию контроллера. И то, и другое фактически означает полную неработоспособность прибора. Можно использовать другие способы их вычисления, такие как табличные
алгоритмы (для квадратного корня и арккосинуса) и манипулирование
«масштабированными» величинами (например, ток можно вычислять не в
дробных амперах, а в целочисленных миллиамперах – 1.253A=1253mA) и т.п.
Но у них немало своих недостатков – программный код «раздувается»
лишними операциями, делая и без того достаточно непростые алгоритмы
путаными и малопонятными. Кроме того, при этом возрастает и расход
памяти (и RAM и Flash), которой в МК и без того порой очень не хватает.
Также нередко страдает и точность таких расчётов. Рассмотрим этот способ на примере вычисления напряжения. Также, непосредственно после замера каждого канала из считанного кода АЦП вычитается код с канала ADC0 (средняя точка), компенсируя тем самым поднятие синусоид вверх на 2.5в. Родственные утверждения справедливы и для тока (там только другой коэффициент K, учитывающий связь ток нагрузки – напряжение на шунте R1) и для активной мощности. Для косинуса и пр. величин никаких преобразований формул не требуется, т.к. все они рассчитываются вне прерывания таймера на основе уже имеющихся напряжения, тока и активной мощности. Существенным недостатком предлагаемой прошивки является практически полное отсутствие механизмов компенсации нелинейности ТТ. Причин тому две. Первая и основная – отсутствие у автора некоего испытательного стенда для создания различных токов нагрузки с целью построения точного графика зависимости напряжения на выходе ТТ от тока нагрузки. Бытовые приборы для этого слабо подходят, т.к. они не позволяют равномерно исследовать полностью весь диапазон токов. Графики, приведенные в ДШ на ТТ, также не годятся, т.к. они слишком мелкие и слишком грубые для подобного рода задачи. Этим недостатком страдают ДШ на многие модели ТТ. Вторая – возможная нехватка у использованного МК оперативной памяти
RAM для реализации подобного алгоритма. Возможно, необходима замена на
другой МК с большим объёмом памяти, например, на AtMega32. Однако
детальные исследования в этом направлении не проводились в силу первой
причины. Ещё один недостаток – прибор иногда показывает отрицательную активную мощность P (чего быть не может, если, конечно, не воткнуть в розетку электрогенератор J). Это происходит из-за несихронизиванности измерений с сетью – т.е. измерения надо начинать с началом периода, но в предлагаемых схеме и микрокоде подобная синхронизация. Т.к. ошибка касается только знака мощности, то данный недостаток отчасти можно «скомпенсировать» использованием P по модулю, что задаётся в настройках. Калибровка/настройка прибора Т.к. прибор измерительный, то перед эксплуатацией его необходимо откалибровать. Редактируемые значения можно изменять кнопками SB2, SB3 – уменьшить/увеличить соответственно. Все значения (если не указано иное), следует задавать с точностью до сотых. Режим точности задаётся кнопкой SB4 и отображается светодиодом VD5. Если VD5 включён – шаг изменения равен 0.01 (повышенная точность), иначе – 0.1. Ход калибровки/настройки:
Далее аналогичным образом калибруются оба канала амперметра,
задаётся порог переключения каналов измерения тока и режим использования
активной мощности – как есть либо по модулю.. Далее можно сохранить
настройки в EEPROM контроллера либо восстановить умолчания (т.н.
«заводские» настройки). Канал высокого тока (Hi) следует калибровать на мощной (1 кВт и выше)
нагрузке. Это связано в тем, что низкие токи нагрузки дают низкое
напряжение на выходе ТТ, которое, будучи ещё и уменьшенным делителем
R4-R6, может уйти в область шумов и погрешностей АЦП. В итоге показания
м.б. неверны. «Заводские» установки: Эксплуатация прибора Пользоваться предлагаемым устройством очень легко.
Набор профилей и их состав фиксированы, никаких средств модификации не предусмотрено. «Заводские» настройки содержат активным 1-й профиль. Запомнить текущий профиль, чтобы прибор при включении сразу его использовал, можно кнопкой SB2. Кнопку SB2 необходимо держать до появления надписи «Профиль запомнен». При калибровке прибора текущий профиль не меняется, однако при сбросе настроек в заводские, текущим становится профиль 1. Автоматически выбор профиля не сохраняется. Это сделано с целью экономии ресурса EEPROM. Следует также обратить внимание на следующую особенность – ТТ с
первичной обмоткой по функционированию и конструктивно похож на антенну
радиоприёмника. По такому принципу работают устройства поиска скрытой в
стенах проводки и родственные конструкции. В связи с этим при отсутствии
нагрузки прибор иногда показывает «мусор» - какой-то наведенный
помехами ток и мощности. На результаты измерений при подключенной
нагрузке эти наводки не проявляются. По мнению автора, наиболее кардинальным способом побороть это является установка в розетку для нагрузки какого-то микровыключателя и опрос его в микрокоде. Если выключатель разомкнут, нагрузка не подключена и замеры тока не производятся либо игнорируются (ток принудительно выставляется в ноль). Интерфейс обмена данными по UART Предлагаемый прибор имеет возможность выдачи результатов измерений
через стандартный последовательный интерфейс UART. Т.о. можно
использовать его в составе более сложных устройств либо подключать его к
компьютеру для автоматизированного сбора информации. Таблица 1.
Следует отметить следующую особенность
протокола – все величины передаются в целочисленном формате (токи в
миллиамперах, косинус, который всегда меньше 1, умноженным на 100). Это
сделано по следующим причинам: Двухбайтовые числа передаются в формате т.н. маленького индейца – т.е. сперва идёт младший байт, затем старший. Для иллюстрации работы с прибором автором разработано демонстрационное Windows приложение WinAppWattmeter.exe для ПК. Оно написано на C# и работает в среде WinXP и выше. Также необходимо наличие платформы .NET 2.0 и одного COM-порта (физического либо виртуального USB), куда следует подключить прибор. Исходники этого приложения компилируются в среде VS.NET 2005 и выше. Версии VS Express и .NET Compact не проверялись. Технические характеристики, достоинства и недостатки прибора Достоинства:
Недостатки:
Детальные технические характеристики прибора не приводятся, т.к. имеются довольно широкие возможности по его настройке и регулировке. Используемая модель ТТ потенциально позволяет измерять токи до 25А,
но для полного использования этого диапазона необходимо дорабатывать
входной (аналоговый) каскад схемы и микрокод. Диапазоны значений величин, обусловленные используемыми типами данных
и алгоритмическими особенностями микрокода – U=1..999в, I=1мА..65А,
S/P/Q – каждая 1..999 соответствующих единиц. Фотографии В завершение несколько фотографий устройства. Блок питания. Трансформатор физически один, с двумя независимыми обмотками. Одна обслуживает сам БП, 2-я (2 жёлтых провода справа) – измерительный Т1. Макетная плата устройства. Замечание (ещё раз): это – макетный экземпляр. По чертежу Sprint п/п не изготавливалась, т.к. планируется эксплуатация прибора в составе другого изделия, которое пока в разработке. Поэтому на две колодки, второй дисплей и светодиод слева просьба внимание не обращать. К описываемому прибору они отношения не имеют. Паяльник на 25W. Профиль отображения 2. Без нагрузки. Профиль отображения 2. Ловим наводки и глюки на обмотку ТТ. Результат – «левый» ток 68 мА со всеми вытекающими. То же самое, что и выше, но без наводок. Профиль отображения 2. Утюг 1кВт. Профиль отображения 1. Отрицательная активная мощность J - режим «коррекции» отключен. Светится второй слева светодиод – признак использования канала высокого тока (ножка 19 (PD5) контроллера). Задан порог – 4А Список прилагаемых материалов Wattmetr-Mega16-16MHz.zip – микропрограмма контроллера с исходниками CvAVR. Также в архиве есть готовый файл микрокода wattmetr.hex и файл заводских установок (EEPROM) - wattmetr.eep. Литература, ссылки
Список радиоэлементов
Скачать список элементов (PDF) Прикрепленные файлы:
Источник: http://cxem.net/izmer/izmer90.php | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Просмотров: 3721 | | |
Всего комментариев: 0 | |