Недорогой однофазный счетчик электроэнергии на MSP430C11x
Резюме
В данном примере применения описывается построение недорогого однофазного счетчика электроэнергии на базе микроконтроллера MSP430C11x, позволяющего обеспечить аналого-цифровое преобразование, внутреннюю калибровку и защиту от внешнего вмешательства.
1 Введение
В течение многих десятилетий для измерения потребления электроэнергии использовались механические счетчики электроэнергии (электросчетчики). Новые, полностью электронные электросчетчики заменяют механические электросчетчики, но до сих пор массовое распространение электросчетчиков тормозилось из-за их высокой стоимости, что было вызвано тем, что в них использовались аналого-цифровые преобразователи (АЦП) и микропроцессор.
MSP430C11x - дешевый член семейства MSP430 микроконтроллеров производства компании Texas Instruments. Он не имеет встроенных аппаратных блоков типа АЦП и перемножителей, которые обычно применялись в электронных электросчетчиках. Однако, наличие у него трех регистров захвата данных позволяет реализовать три дешевых АЦП с высоким разрешением. А его высокопроизводительное 16-разрядное вычислительное ядро с RISC архитектурой позволяет реализовать высокоточный дешевый полностью электронный электросчетчик. Вот некоторые из основных характеристик этого электросчетчика:
- Трехканальный градиентный АЦП, использующий встроенный таймер захвата
- Двухдиапазонный токовый вход с автоматическим управлением, обеспечивающим перекрытие тока до 400 %
- Требуемая для измерителей первого класса высокая точность (ошибка менее 1%)
- Защита от внешнего вмешательства, позволяющая предотвратить воровство электроэнергии
- Простая и легкая внутренняя калибровка
- Однокристальное решение, не требующее внешнего вычислителя
- Устранение смещения по постоянному току в обоих каналах (напряжения и тока)
- ФНЧ для мгновенных значений мощности
- Преобразование потребляемой энергии в частоту импульсной последовательности
2 Аналого-цифровое преобразование
В электросчетчиках должны применяться специальные каскады АЦП. Для вычисления мощности в реальном времени необходимо одновременно выбирать мгновенные значения напряжения и тока. Наиболее простой способ одновременного выбора напряжения и тока описан в данном примере применения. В описываемом устройстве используется трехканальный АЦП (назначение третьего канала будет объяснено ниже). При использовании технологии одно-градиентного АЦП становится возможным создание рентабельного трехканального АЦП с высоким разрешением (11 бит) и адекватной частотой дискретизации (1 000 kSPS на канал).
2.1 Одно-градиентный АЦП
Рисунок 1. Одно-градиентный АЦП
Для аналого-цифрового преобразования используется стандартная одно-градиентная технология. Аналоговый мультиплексор в первом цикле выбирает сигнальный вход, а во втором – опорный сигнал. После выборки сигнал сравнивается с опорным пилообразным сигналом. В момент, когда пилообразный сигнал достигает значения выбранного мультиплексором сигнала, происходит переключение таймера захвата. Таким образом, имея временные интервалы, пропорциональные величинам входного и опорного напряжений, мы может рассчитать величину входного напряжения по формуле:
V [n] = Vref x (tv / tref)
Где V [n] - последовательность, состоящая из мгновенных значений V (n x tc).
2.2 Формирование пилообразного сигнала
Рисунок 2. Генератор пилообразного сигнала
Генератор пилообразного сигнала построен на базе интегратора на основе операционного усилителя (ОУ). При подаче на вход постоянного напряжения, через емкость С потечет постоянный ток, равный (Vbias-Vctrl)/R. Этот ток сформирует на выходе ОУ линейное пилообразное напряжение.
2.2.1 Период пилообразного сигнала
Рисунок 3. Период пилообразного сигнала
Рассмотрим рисунок 3: если Vctrl устанавливается в ноль в момент времени t = 0, то на выходе операционного усилителя Vramp начинает формироваться пилообразный сигнал, начинающийся с нуля. В момент времени t1, на входе Vctrl устанавливается напряжение питания Vcc, и выходное напряжение Vramp, достигнув своего максимального значения Vmax, начинает пилообразно уменьшаться. И за период времени, равный t2, на выходе Vramp снова установится нулевое значение. Подав на вход Vctrl нулевой потенциал, мы запустим цикл заново.
Если C = Q / Vc,
тогда C = Ic / (dVc/dt),
или C = ((Vbias - Vctrl) / R) / (d (Vramp-Vbias)/dt),
или ?t = RC x ?Vramp / (Vbias-Vctrl),
следовательно t1 = RC x Vmax / Vbias,
а t2 = RC x Vmax / (Vcc - Vbias)
Таким образом, длительность цикла будет равняться:
tc = t1 + t2 = RC x Vmax x ((1 / Vbias) + (1 / (Vcc-Vbias)))
Это уравнение позволяет выбрать значение RC по заданной частоте дискретизации. Кроме того, следует учитывать следующие замечания:
- Для максимизации входного динамического диапазона Vmax должен быть как можно большим. Оно должно равняться выходному напряжению насыщения ОУ или максимальному входному напряжению компаратора (если оно меньше напряжения насыщения).
- Из рисунка 2 видно, что Vbias должно быть как можно меньше. Для одно-градиентного АЦП нас интересует только отрезок нарастания пилообразного сигнала, а поэтому время спада должно быть минимальным (необходимо обеспечить t1>> t2). Маленькое значение Vbias позволяет получить большое t1 и маленькое t2.
- Небольшое улучшение может быть достигнуто путем выбора немного меньшего значения RC, чем было полученно в результате расчета. Это позволяет гарантировать при заряде и разряде начальные условия 0 и Vmax. Неизвестные начальные условия могут вызвать смещение пилообразного сигнала вверх или вниз.
- Из-за программной регулировки задержки фактическая сумма t1 + t2 будет меньше, чем tc. Это другая причина, вызывающая необходимость обеспечения меньшего значения RC.
2.2.2 Практический пример
Vcc = 5 В
Vmax = 3.5 В
Vbias = 0.6 В
Частота дискретизации = 995 Гц => tc = 1 / (2 x 995)
Если выбрать C = 1000 пФ, то получаем R = 75.8 кОм. Для снижения значения RC выберите R = 68 кОм (или даже 62 кОм).
2.2.3 Измерение временных параметров пилообразного сигнала
Таймер захвата MSP430 может быть легко настроен на фиксацию данных по выходному сигналу компаратора. Но нет никакого внешнего аппаратного управления для запуска таймера в начале периода пилообразного сигнала. В нашем случае начло пилообразного сигнала фиксируется путем сравнения пилообразного сигнала с небольшим фиксированным пороговым напряжением. Время нарастания пилообразного сигнала до порогового значения определяется при подаче на вход опорного сигнала.
Рисунок 4. Измерение временных параметров пилообразного сигнала
Из рисунка 4 получаем:
Vref / (tref' + tt) = Vt / tt
Отсюда следует tt = tref' x (Vt / (Vref - Vt ))
Или tt = tref' x Kt
Где Kt = Vt / (Vref - Vt )
Как видно из формулы, после измерения необходимо производить умножение, поэтому рекомендуется выбрать параметры таким образом, чтобы Kt было простым значением, что позволит заменить простым сдвигом или суммированием/вычитанием подпрограмму вычисления произведения, требующую высокой производительности микроконтроллера.
2.3 Двухдиапазонный АЦП для канала измерения тока
Среднее квадратичное значение напряжения на входе изменяется в небольших пределах. Однако среднее квадратичное значение тока на входе изменяется в широких пределах в зависимости от величины и типа нагрузки. Из этого следует, что необходимо применять АЦП с высоким разрешением или АЦП с низким разрешением, но изменяющимся входным динамическим диапазоном. Чтобы перекрыть входной диапазон от 5 % до 400 % с ошибкой измерения не более +-1% требуется обеспечить минимальный динамический диапазон 400/5 x 100 / (1+1) = 4000. Для этого требуется АЦП с разрешением не менее 12 бит. Для одно-градиентного АЦП имеется зависимость между разрешающей способностью, частотой дискретизации и шумами. Наиболее удобно работать при 10 битном разрешении. 12 битное разрешение может быть обеспечено за счет добавления внешнего четырехкратного усиления для малых сигналов. Даже с учетом того, что реальная разрешающая способность равна 10 битам, в описываемом устройстве обеспечивается эффективная разрешающая способность, равная приблизительно разрешающей способности 11 битного АЦП.
Рисунок 5. Структурная схема двухдиапазонного АЦП
На рисунке 5 показана структурная схема двухдиапазонного АЦП. Он состоит из однодиапазонного АЦП и внешнего устройства, обеспечивающего четырехкратное усиление малых сигналов. Теоретически, коэффициенты усиления всех перемножителей G1, G2, 1/G1 и 1/G2 должны равняться единице, однако на практике обеспечить это не удается из-за разброса параметров внешних дискретных компонентов. Для компенсации этого расхождения вводят дополнительные узлы С1 и С2. Это позволяет увеличить согласованность каналов.
C1 и C2 компенсируют отклонение коэффициента усиления G1' и G2' от коэффициентов усиления G1 и G2. Поэтому стараются добиться истинности равенств C1 = G1/G1' и C2 = G2/G2'. Так как коэффициент усиления узлов G1' и G2' неизвестен и изменяется от устройства к устройству, то после изготовления необходимо произвести калибровку, а вычисленные значения C1 и C2 должны быть сохранены EEPROM памяти для дальнейшего использования.
В нормальном режиме (или режиме малого усиления) нижние на схеме выключатели замкнуты, а верхние - разомкнуты. При использовании в качестве опорного сигнала напряжение Vref получаем:
I' [n] = Vref x (ti / tref).
Где:
I' [n] = I [n] x G2',
а Iref = Ilow = Vref/G2 x C2=Vref/G2'.
Следовательно I [n] x G2' = (Iref x G2') x (ti / tref),
то есть I [n] = Iref x (ti / tref)
В правой части уравнения записано стандартное равенство для вычисления значения, измеренного при помощи одно-градиентного АЦП при использовании опорного тока Iref. Это означает, что на выходе мы получим Iad [n] = I [n]. И окончательный результат: Iout [[n] = 4 x Iad [n] = 4I [n].
В режиме большого усиления верхние по схеме выключатели замкнуты, а нижние - разомкнуты. Тогда, используя те же выражения, получаем:
I' [n] = Vref x (ti / tref).
Но теперь I' [n] = 4I [n] x G1,
а Iref = Ihigh = Vref / G1.
Следовательно 4I [n] x G1 = (Iref x G1) x (ti / tref).
Тогда 4I [n] = Iref x (ti / tref)
или 4I [n] = Iad [n]
В результате чего получаем: Iout [n] = Iad [n] = 4I [n].
В обоих случаях мы обеспечили на выходе одинаковые результат и точность. Дополнительное четырехкратное усиление в режиме малого усиления компенсирует внешнее усиление в режиме высокого усиления. Другой способ расширения динамического диапазона состоит в подавлении больших сигналов, при этом малые сигналы не изменяются. Но это нежелательно, так как это уменьшает амплитуду и количество значащих цифр, что ведет к увеличению ошибки вычисления.
2.4 Автоматическое переключение коэффициента усиления
Переключение коэффициента усиления у двухдиапазонного АЦП должно выполняться автоматически. В начале раздела 2.3, говорилось, что максимальное выходное значение АЦП, равное 4000, соответствует 400 % входного тока. В режиме высокого коэффициента усиления малого входного сигнала 10 битный АЦП перекрывает диапазон, равный 1024, или примерно 100 %. В режиме малого коэффициента усиления больших входных сигналов 10 битный АЦП с коэффициентом усиления, равным 4, способен перекрыть диапазон от 4 до 4096 или приблизительно от 4 % до 400 %. Это означает, что любой сигнал в диапазоне от 4 % до 100 % может быть оцифрован при любом коэффициенте усиления.
В данном примере применения, диапазоны при работе в режиме малого и большого коэффициента усиления перекрывают друг друга. Это позволяет обеспечить гистерезис, исключающий частые переключения между двумя диапазонами. В системе реализованы два диапазона: от 5 % до 80 % для большого коэффициента усиления, и от 60 % до 400 % для малого коэффициента усиления. Выбор этих диапазонов был сделан произвольно, но довольно разумно, так как обеспечивает 20%-ое перекрытие и максимальное значение на 20 % ниже граничного значения (100 %-80 % в режиме большого коэффициента усиления).
3 Защита от внешнего вмешательства, предотвращающая воровство электроэнергии
В некоторых странах воровство электроэнергии путем незаконного вмешательства в работу электросчетчика является серьезной проблемой. Ниже показаны некоторые возможные методы вмешательства.
(a) Нормальное включение, I1 = I2
(b) Вмешательство путем половинного заземления нагрузки, I1 <I2
(c) Вмешательство путем полного заземления нагрузки, I1 = 0
Рисунок 6. Примеры вмешательства в работу электросчетчиков
Основным способом вмешательства является снижение или полное закрытие протекание тока через датчик, установленный на фазе или нейтрале. Если ток взять только от одной линии (фазы или нейтрали), то электросчетчик будет измерять более низкое или вообще нулевое потребление. Самым простым способом предотвращения последствий этих действий является измерение тока в обеих линиях и использование для расчета большего тока. Однако для этого потребуется использовать дополнительный канал аналого-цифрового преобразования. Добавление еще одного канала АЦП обычно ведет к существенному удорожанию системы. К счастью, таймер захвата MSP430C11x обеспечивает три канала АЦП почти за ту же самую стоимость, что и два канала.
4 Потоки данных в системе
Рисунок 7. Структурная схема внутренних потоков данных
Понимание направления движения и назначения потоков - ключ к пониманию работы системы. На рисунке 7 показаны все внутренние потоки данных во всех узлах за исключением высоковольтного преобразователя и преобразователя энергия-импульс. Сначала от оконечных устройств входное напряжение и оба входных тока после понижения (или повышения) поступают в трехканальный АЦП, где производится их одновременная выборка. В канале измерения напряжения используется однодиапозонный АЦП. А в обоих каналах измерения тока используются АЦП с дополнительными усилителями. Регулятор усиления обеспечивает автоматическую регулировку усиления усилителей обоих АЦП. Схема подавления постоянной составляющей позволяет выделить переменные составляющие напряжения и тока (V [n], 4i1 [n] и 4i2 [n]). Схема выбора тока обеспечивает подключение того канала, ток в котором больше. При помощи ФНЧ можно выделить среднее значение потребляемой энергии 4VA. Это значение подается на выходной преобразователь энергия-импульс, который управляет дисковым электромеханическим или другим индикатором.
4.1 Детектирование кадров
Кадром называется некоторое количество полных периодов входного напряжения. Он определяет период обновления данных в модуле. В конце каждого кадра обновляются значения о постоянной составляющей входных напряжения и тока, происходит выбор канала измерения тока и выбор коэффициента усиления токовых каналов. Количество периодов переменного напряжения определяется по переходам через ноль входного напряжения. Выбор количества периодов в кадре является произвольным, но это количество должно быть достаточно большим. В описываемом устройстве кадр состоит из 90 периодов. Это усредняет возможные ошибки при подавлении постоянной составляющей и вычислении количества периодов. В некоторых случаях уровень постоянной составляющей может превысить амплитуду колебаний. В этом случае для вычисления количества периодов используется временное ограничение.
4.2 Исключение постоянной составляющей
Постоянная составляющая входного сигнала исключается путем вычитания ее из входного сигнала. Для некоторого количества периодов постоянная составляющая равняется среднему значению.
То есть. Vdc = .V [n] / N
а Idc = .I [n] / N
Где N - количество отсчетов в кадре.
Если количество периодов в кадре велико, то точность вычисления постоянной составляющей будет довольно велика.
Исключение постоянной составляющей в каналах измерения тока немного сложнее, чем в канале измерения напряжения. Возможно появление обратного тока при реверсивном включении основного входа и нагрузки. Это может привести к отрицательному значению вычисленной мощности. Для предотвращения этого в каждом кадре производится проверка знака мощности (?4VA). Если полученное значение является отрицательным, то в следующем кадре произойдет изменение знака вычисления токов 4i1 [n] или 4i2 [n].
Вообще говоря, если имеется возможность нахождения постоянного значения напряжения, то постоянную составляющего тока исключать необязательно.
Изначально v (t) = Vdc + Vo x sin (?t)
а i (t) = Idc + Io x sin (?t +?)
Тогда .vi =? Vdc x Idc + (Vdc x Io+Idc x VO) x ? sin (?t) +Vo x Io x ? sin (?t) sin (?t + ?)
Так как за период
? sin (?t) = 0
Тогда .vi = ? Vdc x Idc+Vo x Io x ? sin (?t) sin (?t + ?)
Если Vdc известно, то
? ((v-Vdc) x i) = Vo x Io x sin (?t) sin (?t + ?)
не содержит постоянной составляющей Idc.
Конечно, всегда имеется небольшая ошибка в вычислении Vdc, но она ведет только к небольшому увеличению ошибки вычисления потребляемой энергии. Если такая ошибка допустима, то исключение постоянной составляющей в каналах измерения тока можно не производить.
Однако следует рассмотреть один вопрос относительно постоянной составляющей. В рассматриваемом устройстве наблюдается изменение постоянной составляющей, которое может повлиять на точность. Уровень постоянной составляющей увеличивается в 4 раза в режиме высокого коэффициента усиления. В результате этого происходит смещение и ограничение входного сигнала. Из-за эффекта насыщения измерение больших входных сигналов будет происходить с ошибкой. Если, например, диапазон АЦП от 0 до 3.5 В, смещение равняется 1.75 В, то 0.2 В смещение по постоянному току в режиме большого коэффициента усиления будет равняться 0.8 В. Это приведет к тому, что напряжение смещения станет равным 2.55 В, а диапазон измеряемых амплитуд уменьшится с 1.75 В до 0.95 В.
4.3 Блок выбора канала тока
Блок выбора канала тока предназначен для защиты от внешнего вмешательства. Внешнее вмешательство может состоять в уменьшении или полном исключении токов одного из каналов, но не токов обоих каналов. Больший ток по-прежнему отображает реальное потребление. Самый простой способ нахождения большего тока состоит в вычислении суммы токов обоих каналов. В конце каждого кадра производится обновление результата вычисления большего тока, после чего производится выбор канала, используемого для дальнейших вычислений.
4.4 Регулятор усиления
Как описано в разделе 2.4, автоматическая регулировка усиления требует обнаружения превышения входным током заданного порога. Рисунок 8 показано как это происходит.
Рисунок 8. Пороговое детектирование
Предположим, что требуется обнаружить превышение сигналом некоторого порога y. Самый простой способ состоит в детектировании максимального значения сигнала. Проблема применения этого метода состоит в том, что детектирование усложняется при условии работы в среде с высоким уровнем шума. Для улучшения этого способа производятся выборки сигнала в соседних с максимумом точках. Рассматривается порог y1 = sin (x), который немного ниже, чем y, при этом входные отсчеты, лежащие в интервале (?/2-x) должны быть больше y1. Другими словами, если номер отсчетов, больших y1, больше чем (?/2-x), то максимальное значение должно быть больше y. Хотя эта технология не позволяет найти максимальное значение, но она позволяет определить, будет ли превышен порог. В конце каждого кадра идет сравнение количества отсчетов, превысивших порог y1 с количеством всех отсчетов. Если процент таких отсчетов выше или ниже заданного значения, то коэффициент усиления должен быть изменен.
4.5 Фильтр нижних частот
Последний элемент на рисунке 7 - фильтр нижних частот.
Если v (t) = Vo x sin (?t)
а i (t) = Io x sin (?t)
то p (t) = Vo x Io x sin2 (?t) = (1/2 x Vo x Io) x (1-cos (2?t))
Из этого выражения следует, что мгновенное значение потребляемой мощности является функцией с постоянной составляющей и переменной составляющей, имеющей удвоенную частоту колебаний. Размах колебаний в два раза превышает среднее значение мощности. Но при долгосрочном накоплении это не имеет никакого значения, так как за длительный период будет произведено усреднение. ФНЧ только повышает устойчивость системы и не влияет на общую точность.
5 преобразователь энергия-импульс
Коэффициент усиления между оконечным каскадом и низковольтным АЦП, а также внутренние масштабирующие коэффициенты (и/или другие константы) должны быть известны при реальных вычислениях электроэнергии.
Если на выходе оконечного высоковольтного преобразователя мы имеет
Vh (t) = Kv x v (t)
I1h (t) = Ki x i1 (t)
I2h (t) = Ki x i2 (t)
а при внутренних вычислениях производится масштабирование с коэффициентом Ks:
V(t) = Ks x v (t)
I1 (t) = Ks x i1 (t)
I2 (t) = Ks x i2 (t)
то есть Vh (t) = Kv / Ks x V(t)
I1h (t) = Ki / Ks x I1 (t)
I2h (t) = Ki / Ks x I2 (t)
тогда потребляемая мощность:
E =? Vh х Ah x tc, где tc - период выборки, а Ah - наибольший из токов I1h или I2h
=? VA x Kv x Ki / Ks2 х tc, где А - наибольший из токов I1 или I2
=? Es / 4 x Kv x Ki / (Ks2. fs), где Es = 4VA и fs = 1/tc - частота дискретизации
Потребляемую электроэнергию принято отображать с точностью до 0.1- кВт*ч (Киловатт-час)
Тогда Ed = E / (0.1 x 1000 x 3600) = ? Es / ?, где ? = 0.1 x 1000 x 3600 x 4 x Ks2 x fs / (Kv x Ki)
Очевидно, что ? - коэффициент преобразования измеренной энергии Es = 4VA. Если каждую единицу ? представить в виде одного импульса, то вычисленную мощность можно отобразить на дисплее счетчика импульсов. Использование ? в качестве порога существенно упрощает разработку импульсного генератора. На рисунке 9 приведена блок - схема программы преобразователя энергия-импульс.
Рисунок 9. Блок-схема программы управления увеличивающимся индикатором потребленной энергии
После каждой выборки сигнала происходит вычисление потребленной энергии Es = 4VA, это значение добавляется к вычисленной ранее сумме, и если она становится выше порога ?, то происходит вычитание из суммы значения ? и формирование импульса. По этому импульсу индикатор увеличивает свое значение на единицу.
Обычно в качестве индикатора применяется электромеханический дисковый счетчик. Однако он может быть заменен программой, отображающей значение на ЖКИ или светодиодном индикаторе.
Если требуется более высокая точность измерения, то порог ? может быть уменьшен, что приведет к повышению частоты следования импульсов при том же потреблении.
6 Калибровка
Хотя большинство резисторов, номинал которых влияет на коэффициент усиления, имеют высокую точность, калибровка устройства все равно должна быть произведена. Несмотря на то, что каналы измерения напряжения и тока разделены, калибровка должна производиться при помощи измерителя мощности. Так как имеется два канала измерения тока, то получаем четыре точки калибровки. Такие операции дороги и трудоемки. Поэтому автоматический метод калибровки позволяет упростить устройство.
Идея метода калибровки состоит в измерении времени формирования заданного количества импульсов эталонным измерителем, подключенным параллельно. Отношение времен позволит скорректировать ошибку измерения. Коэффициенты коррекции могут быть записаны в EEPROM память и использованы при дальнейших вычислениях.
7 Заключение
В данном примере применения описано построение дешевого электросчетчика на базе микроконтроллера MSP430C11x. Существуют и более сложные устройства, но они более дороги, так как не имеют дешевых вычислительных микроконтроллеров и одно-градиентных АЦП. В данном примере применения дешевый АЦП на основе встроенного таймера и мощное вычислительное ядро микроконтроллера позволяют справиться с задачей сложных вычислений. MSP430C11X, примененный в описанном электросчетчике, позволяет обеспечить высоко конкурентную цену.
Адреса ресторанов Москвы на menu.ru
|