Интернет-журнал дачника. Сад и огород своими руками

Измерение переменного тока микроконтроллером. AVR: мониторинг напряжения питания. Принципиальная схема вольтметра для измерения переменного напряжения

Как известно многие современные микроконтроллеры имеют встроенный многоканальный АЦП, как правило, физически АЦП всего один, а многоканальность обеспечивается с помощью мультиплексирования. Диапазон напряжений с которыми может работать АЦП определяют уровни опорных напряжений(+VREF и -VREF ), они не должны выходить за диапазон питания микроконтроллера. Диапазон напряжений, питающих микроконтроллер, может быть от 0 до 3.3, либо от 0 до 5 вольт. Отсюда становится понятно что измерять отрицательные напряжения АЦП не может, а это бывает необходимо.

Для измерения отрицательных напряжений с помощью АЦП существует несколько способов, во всех примерах будем считать что -VREF = 0 , а +VREF = 5 вольт.

Необходимо измерять только отрицательные напряжения, например, от -5 до 0.
В таком случае можно применить инвертирующий усилитель, построенный на операционном усилителе(ОУ), с коэффициентом усиления равным -1.

Когда на вход схемы будет приходить -1 вольт, на вход АЦП будет поступать +1 вольт. Если же сигнал, который хотим измерить нужно усилить, достаточно изменить номиналы резисторов R1 и R2.

Необходимо измерять только отрицательные напряжения, например, от -15 до 0.
В таком случае можно применить сумматор построенный на ОУ


Номиналы резисторов R1 и R2 рассчитываются следующим образом, когда Uвх = -15 вольт, суммарное падение напряжение на резисторах R1 и R2 равно 20 вольт. В этом случае на прямом входе ОУ должно быть 0 вольт, отсюда становится понятно, что на R1 упадёт 5 вольт, а на R2 упадёт 15 вольт, из этого следует, что номиналы резисторов должны соотносится как R2/R1 = 3/1. С другой стороны, так как резисторы соединены последовательно и через них течёт один и тот же ток, можно записать формулу.


Идём дальше, так как в схеме присутствует отрицательная обратная связь, напряжение на прямом и инверсном выводе должны быть равны. Когда Uвх = 0 на выходе ОУ будет 5 вольт(в данном случае ноль на входе - максимальное значение, значит на выходе должно быть максимальное значение равное 5 вольтам). В это же время на прямом входе ОУ будет 3.75 вольта, и эти же 3.75 будут на инверсном входе. Так как на выходе ОУ 5 вольт, а на инверсном входе 3.75, легко рассчитать соотношение R3 к R4(обычный делитель напряжения).


Предположив, что R1 и R4 равны 10К, получаем


R1 = 10К

R2 = 30К

R3 = 30К

R4 = 10К

Необходимо измерить напряжение, которое может изменяться от -10 до 10 вольт.

Сделать это очень просто, для этого надо создать смещение, чтобы при подаче -10 вольт на вход схемы на входе АЦП было 0 вольт, тогда при подаче 10 вольт на входе АЦП будет 5 вольт.

Реализовать это можно несколькими способами:

  • на резисторах


Номиналы резисторов рассчитываются очень просто, когда мы подаём на левый вход R2 -10 вольт на его правом выводе должно быть 0 вольт, в таком случае ток через R3 не течёт, так как на его концах отсутствует разность потенциалов.

Ток, протекающий через R2, равен


Ток, протекающий через R1, равен


Так как резисторы R1 и R2 соединены последовательно, то и токи, протекающие через них равны.


Предположим R2 равен 10K, тогда R1 равен 5K.

Ток через R2 равен току через R3, получаем


получаем

R1 = 5К

R2 = 10К

R3 = 10К

Минус схемы на резисторах, это то что R2 ограничивает ток, поступающий на вход АЦП и то что любой шум в цепи питания будет попадать на вход АЦП. Хотелось бы обратить внимание на то, что у АЦП есть такой параметр, как входное сопротивление, которое, как правило, зависит от частоты сэмплирования , ниже изображена таблица в которой показано как зависит сопротивление входа от периода преобразования АЦП для STM32


сопротивление источника сигнала должно быть меньше этого значения, а последовательно включеный резистор R2 явно его не уменьшает. Говоря простыми словами за короткий промежуток времени АЦП должно получить достаточный заряд чтобы работать с ним, а резистор, включённый последовательно с входом, не даёт этого сделать.

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

  • сумматор на операционном усилителе


И снова нам поможет сумматор на операционном усилителе, как рассчитываются номиналы резисторов описано выше, но суть одна, надо взять два крайних значения, поступающего напряжения, при минимальном значении на выходе ОУ должен быть ноль, при максимальном должно быть 5 вольт(не забываем, что -VREF = 0 , а +VREF = 5 вольт). Если необходимо измерять положительное и отрицательное напряжение, в качестве смещения удобно использовать половину опорного напряжения, то есть 2.5 вольта.
Вот что получилось в микрокапе, картинку можно увеличить кликнув по ней.


Схема на ОУ обладает низким выходным сопротивлением, то есть может отдавать большой ток и может быть пересчитана для измерения других напряжений, например, ±2.5 вольта.
мы рассмотрим ещё несколько способов измерения отрицательного напряжения с помощью АЦП.

Дистанционный вольтметр на микроконтроллере AVR - устройство, позволяющее удалённо измерять уровень переменных напряжений от нескольких источников (в данном исполнении - 6 каналов) и отображать полученные данные на шести дисплеях, каждый из которых это трёхразрядный семисегментный индикатор. Цифровой вольтметр на AVR обеспечивает постоянный контроль энергоснабжения оборудования, которое расположено на некотором расстоянии от рабочего места оператора. Сейчас устройство используется для измерения напряжения трех фаз на входе и на выходе промышленного нормализатора напряжения – трехфазного стабилизатора. Место оператора удалено от стабилизатора на расстояние около 800м.

Конструкция цифрового вольтметра представляет собой два модуля:

  • модуль измерения и передачи, расположенного непосредственно в месте измерения;
  • модуль приёма и отображения, установлен на рабочем месте оператора.

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

Характеристики устройства:

  • Диапазон измеряемых напряжений: 100 – 330В переменного тока;
  • Частота измеряемых напряжений: 50Гц;
  • Частота измерений: 0,5 сек. (частота обновления измеряемых значений по 6 каналам);
  • Напряжение оперативного питания модуля приёма и отображения: 7 - 25В постоянного тока;
  • Уровень гальванической развязки модулей: 5,0кВ;
  • Погрешность измерения напряжения: ±1,5%.

В схеме цифрового вольтметра преобразование аналогового сигнала в цифровой производится с помощью АЦП, на базе микроконтроллера AVR - ATmega8. Измерение действующего значения напряжения реализовано на алгоритме определения пика синусоидального сигнала с последующим умножением его на амплитудный коэффициент синусоиды.

Оперативное питание модуля измерения и передачи цифрового вольтметра обеспечивается бестрансформаторным блоком питания от одного из каналов измеряемого напряжения, в данной схеме от первого канала. Уровень напряжения в канале должен быть не менее 90В – минимальный уровень напряжения, при котором сохраняется работоспособность модуля.

Индикация работы линии связи между модулями устройства обеспечивается светодиодом HL1, расположенным в модуле измерения.

Принципиальная схема модуля приёма и индикации цифрового вольтметра:

Оперативное питание модуля приёма и отображения обеспечивается внешним источником 7-25В постоянного тока. При нормальном функционировании вольтметра на AVR индикаторы отображают значения измеряемых напряжений. При нарушении канала связи или неисправности модуля измерения и передачи, то есть при отсутствии поступления данных от измерительного модуля в течении более 2-х периодов обновления данных (около 1,4 сек.) на индикаторах отображается - “Err”. При восстановлении связи индикация восстанавливается автоматически. Падение уровня напряжения на любом из каналов, за исключением первого, ниже 100В, вызывает отображение на соответствующем индикаторе прочерков “---”, а на остальных индикаторах выводятся измеряемые значения напряжений, соответственно.4.08 (12 Голосов)

Предисловие

В былые, доцифровые времена любому из нас приходилось довольствоваться стрелочными измерительными приборами, начиная от обыденных часов, весов и заканчивая… хм, так вот сразу даже и не найти границу их применения! Ну, скажем – прецизионный лабораторный микро- или еще внушительнее – пикоамперметр. И классов точности их тоже имелось достаточно много, в зависимости от назначения.

Вот, к примеру, обыкновенный указатель количества топлива в баке автомобиля является ярчайшим примером максимальной неточности показаний! Не знаю ни одного автомобилиста, который бы полагался на этот «показометр» и не заправлялся бы заблаговременно. Отпетые пессимисты от шоферов вообще без канистры топлива в багажнике не выезжали!

Зато в лабораториях, особенно в Госповерке, имелись стрелочники с зеркальной шкалой и класом точности много лучше 0,5.

И практически все из нас были довольны и счастливы. А если не были довольны, то приобретали более точные приборы, конечно по-возможности!

Но вот настал цифровой век. Все мы ему обрадовались, — теперь видим на индикаторах сразу числа и счастливы от предлагаемой нам «точности». Причем в нынешние времена эти вездесущие «цифровики» стоят на порядок меньше ставших раритетом «неточных стрелочников». Однако мало кто задумывается, что показываемые нам в цифре величины по-прежнему остались аналоговыми, будь это вес или сила тока – значения не имеет. А это значит, что измеряются эти величины по-прежнему аналогово! И лишь для обработки и представления преобразуются в цифровую величину. Вот тут-то и скрываются погрешности, приводящие нас к удивлению, когда два различных комнатных термометра в одном и том же месте показывают разные значения!

Путь от измеряемой величины к индикатору

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

Для начала я выбираю силу тока!

Мне придется повторить банальность, что для получения цифрового представления аналоговой величины необходим аналогово-цифровой преобразователь (АЦП). Но поскольку сам по себе он нам еще мало пригоден, то понадобятся и другие узлы для завершения всего задуманного. А именно:

  1. перед самим АЦП нужно нормирующее устройство, скажем: нормирующий усилитель или ослабитель, в зависимости от соотношения входной величины к диапазону преобразования АЦП;
  2. декодер после АЦП, для представления преобразованного числового эквивалента в цифровой код соответствующего индикатора.

Существуют готовые микросхемы, объединяющие в себе и АЦП и декодер. Например, ICL7136 или подобные, применяемые в мультиметрах.

По существу, все эти узлы в том или ином виде просто необходимы. Я еще не назвал самого датчика – в данном случае – преобразователь тока в напряжение, или просто шунт.

Итак, пробежимся вкратце по всей цепочке. Ток, протекающий через шунт (мощный резистор с очень низким сопротивлением), создает на его полюсах разность потенциалов. Guten Tag, Herr Ohm! Но эта разность довольно мала и не каждый АЦП способен эту величину в полной мере преобразовать, поэтому сигнал (напряжение) с шунта необходимо усилить до приемлемой величины. Для этого и нужен нормирующий усилитель. Теперь АЦП, получив на вход удобоперевариваемое напряжение, выполнит преобразование с минимально возможной погрешностью. На выходе из него получим число, соответствующее текущему значению измеренного тока в выбранном диапазоне, которое для вывода на индикатор нужно соответствующим образом декодировать. К примеру, преобразовать в код семисегментного индикатора.

Здесь я не вижу необходимости более подробно останавливаться на каждом из приведенных этапов, поскольку в статье я преследую иную цель. А подробности найдутся в интернете с избытком.

Конкретика

Есть у меня т.н. электронная нагрузка с индикатором силы протекающего тока. Базовая схема самой нагрузки есть и , но там для более точной установки тока потребуется внешний амперметр. Я же решил соединить оба устройства, чтобы экономить место и не разводить целую стаю мультиметров.

Мой встроенный амперметр собран и запрограммирован на МК Tiny26L. Частью этого амперметра является второй (свободный) ОУ микросхемы LM358, входящей в составбазовой схемы балласта. Т.е. это мой нормирующий усилитель, поскольку максимальное падение напряжения на шунте (5 А х 0,1 ом) составляет всего 0,5 вольта, что явно недостаточно для полного диапазона преобразования с внутренним опорным напряжением.

Согласно Т.О. (англ.= Datasheet) номинальное напряжение встроенного опорного источника (ИОН) составляет 2,56 вольта. Очень удобная величина! Однако, на практике получается не так уж и здорово: выверенное напряжение ИОН-а моего МК оказалось 2,86 вольта! Каким образом я это определил – отдельная тема. Давайте все-таки вернемся к удобным 2,56 вольтам. Смотрите, что получается: на шунте падает максимально 0,5 вольта, АЦП преобразует максимально 2,56 вольта. Напрашивается нормирующий усилитель с коэффициентом усиления 5, тогда и полученное при преобразовании число не потребует какой-либо развитой арифметики для представления результата: 5 ампер = 2,5 вольта = 250 единиц (для 8-битного преобразования). Придется всего лишь умножить результат на два и поставить десятичную точку между сотнями и десятками, чтобы получить совсем удобное представление: единицы, десятые и сотые доли ампера. Конечное преобразование в семисегментные знаки – дело техники. Всё прекрасно, можно воплощать в «железо»!

Однако, как я уже показал на примере встроенного ИОН-а, приемлемой (я уже не говорю – высокой!) точности на используемых компонентах получить так легко не получится. Можно пойти по пути компенсации погрешностей математически, с помощью программы в МК, хотя для этого придется производить градуировку. Этот путь довольно просто реализуется на Си и других языках высокого уровня. Но мне, упертому ассемблерщику, разводить математику инструкциями RISC – лишняя головная боль!

Я выбрал другой путь, — коррекцию коеффициента усиления нормирующего усилителя (НУ). Много для этого не потребуется – один подстроечный резистор! Значение его нужно правильно выбрать, чтобы диапазон подстройки был достаточным, но не преувеличенным.

Подбор элементов нормирующего усилителя

Итак, необходимо определить диапазон подстройки. Первым делом нужно определиться с допусками компонентов. Например, мой шунт имеет допустимую погрешность 1%. Прочие резисторы в схеме нормирующего усилителя могут имеют допуск до10%. И не забываем неточность нашего ИОН-а, которая составила в моем случае почти +12%! Это значит, что реально преобразованное число будет меньше почти на 12%. Но поскольку эта погрешность у меня уже известна, то я учитываю ее в коэффициенте усиления НУ, который должен составить 5,72. А поскольку реальные погрешности прочих компонентов не известны, то остается найти максимально возможную суммарную погрешность, чтобы расчитать диапазон подстройки.

Напрашивается простая сумма этих вот «процентов»: 1% шунта плюс 2 раза по 10% резистороров обратной связи ОУ. Итого: 21%.

Посмотрим, так ли это на самом деле. Для этого взглянем на часть схемы, где представлен этот НУ с уже подобранными номиналами:

Как видно, имеет место неинвертирующий усилитель с перестраиваемым коэффициентом передачи, теоретически регулируемым от 4,979 до 6,735 при указанных на схеме номиналах. Но, если учесть наши ±10% возможной погрешности каждого из резисторов, то получим при найхудшем сочетании Ку = 5,864 – 8,009 , что явно превышает необходимый коэффициент! Если это сочетание будет иметь место, то придется взять другие номиналы. А лучше сразу увеличить номинал подстроечного резистора, например, до 39к. Тогда нижняя граница Ку будет 5,454 , что уже приемлемо.

Ну, мне – «настоящему радиохламеру» — пришлось выбирать подстроечник из того, что было, и просто повезло вложиться в диапазон! Был бы подстроечник другого номинала – не беда, пересчитал бы R2 и R3, которые в моем случае имеют допуск 5%, поэтому мне не пришлось брать другой подстроечник.

Преодоление своих недочетов и упущений

Казалось бы, всё продумано и расчитано – разводи плату. А давай-ка испытаем эту конструкцию сперва на макетке! Сказано – сделано! Ку перестраивается не совсем как ожидалось, но в пределах необходимого. Однако индикатор не собирался показывать 0.00 при отсутствии тока нагрузки! Первым делом я заподозрил программу в МК, но при закорачивании входа АЦП на общий провод заветные нолики появлялись. Значит, что-то таки приходит на вход МК, отличное от нуля вольт. Проверка мультиметром подтвердила это предположение и поставила очередную задачу. Не вдаваясь в подробности моих изысканий, опишу лишь их результат.

Причина оказалась в следующем: я совершенно не учел, что примененный мною ОУ далеко не лучшего качества. Он даже не т.н. «rail-to-rail». Это означает, что его выходной потенциал никогда не достигнет ни одного из полюсов питания, т.е. в моем случае никогда не будет равен 0 вольт! Вот если бы он питался от двуполярного источника, тогда бы на выходе получился ожидаемый ноль. Но у меня источник питания однополярный и усложнять схему каким-либо преобразователем я не намеревался. Выход был найден в создании «виртуальной земли», т.е. благодаря отдельному источнику питания (в отличие от базовой схемы) мне удалось с помошью диода сдвинуть потенциал общего провода относительно минусового полюса батареи.

Итак, плата вытравлена и спаяна. Пора бы эту конструкцию упаковать в корпус. Что, собственно, и было сделано. Однако, во время эксплуатации вылез еще один маленький недочет – дрейф входных цепей ОУ. Это выражалось в отрицательном сдвиге показаний, т.е. при токе в пару десятков миллиампер на индикаторе по-прежнему были нули, что меня не устраивало! Я бы допустил сдвиг в несколько мА – все равно единицы миллиампер не отображаются. Пришлось вводить схему смещения на вход НУ.

Номиналы R4 и RZ подобраны так, что бы обеспечить смещение плюс/минус несколько десятков милливольт относительно «виртуальной земли». У меня не было желания переделывать готовую плату и я довесил необходимый подстраиваемый делитель на место подстроечника Ку.

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

О цифровой части и математике я расскажу в следующий раз на примере вольт-амперметра лабораторного блока питания.

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

Датчики тока

Измерительный шунт

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


Рисунок 10: Датчик тока токовый шунт
Падение напряжения на шунте пропорционально пропускаемому току:
(10)
Соответственно в зависимости от требуемого напряжения на выходе датчика подбираем нужное сопротивление шунта. Но! Падение напряжения на шунте приведет к потерям и теплу, соответственно при больших токах мы вынуждены довольствоваться малыми значениями входного напряжения, дабы ограничить потери. Вот эти выпускаемые промышленностью ребята обеспечивают стандартное выходное напряжение в 75мВ:

Рисунок 11: Токовый шунт типа ШСМ
На напряжение в 75мВ откалибровано большинство измерительных головок для шунтов. Обратите внимание на вторую пару винтов - они предназначены специально для подключения к измерительному прибору для снижения потерь.
Для измерения тока с помощью таких шунтов требуется использовать операционные усилители. При этом, средний коэффициент усиления составляет 20-40, что под силу широко-распространенным операционным усилителям. В принципе, такой можно сварганить на базе одного биполярного транзистора.
Получим следующую схему:


Рисунок 12: Использование ОУ в качестве усилителя
Следует учитывать, что при измерении переменного тока, выходной сигнал будет биполярный и операционный усилитель требуется запитать от двухполярного источника питания.
Глянем на всякий случай, как работает наша схема:


Рисунок 13: Моделирование усилителя датчика тока
На вход подаем 75мВ, умножаем на 20, на выходе имеем сигнал с амплитудой 1,5В для тока в 10А. В следующем материале мы разберемся чем плох биполярный сигнал.
Достоинства :

  • высокая точность;
  • широкий диапазон напряжений и частот;

Недостатки:

  • отсутствует гальваническая развязка;
  • низкий КПД.
Измерительный трансформатор тока

Измерительный трансформатор тока представляет собой трансформатор, первичная обмотка которого подключается к источнику тока, а вторичная замыкается на измерительные приборы или устройства защитной автоматики.
Трансформаторы тока используются для измерения токов в сильноточных цепях, зачастую я высоким потенциалом. Например, нам захотелось измерить ток в сети 10кВ. Либо, мы хотим получить простой и относительно дешевый способ гальванической развязки измеряемой цепи тока нашего устройства на 220В. Основная проблема трансформаторов тока заключается в том, что они умеют измерять только переменное напряжение.
Трансформатор тока всегда нагружается. Если вторичная обмотка трансформатора тока окажется разомкнутой, то на ней возникнет потенциал в пару тысяч киловольт, который покалечит персонал и выведет из строя прибор, пробив его изоляцию.
Трансформаторы бывают со встроенной первичной обмоткой. Например такие:

Рисунок 14: Трансформатор тока серии CS2106L от Coilcraft
Либо вот такие слоники, имеющие подобие первичной обмотки в виде огромной шины, либо вовсе окно для пропускания через него провода


Рисунок 15: Промышленный трансформатор тока на много ампер
Основной недостаток трансформатора тока - это работа только на определенной частоте. Шаг влево-шаг вправо - расстрел. Виной всему металлический сердечник.
А вот если мы его удалим, то получим воздушный трансформатор, или, т. н. Катушку Роговского:

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


Рисунок 17: Датчик катушка роговского
Диапазон измеряемых токов - от десятков до тысяч ампер, но они страдают от невысокой точности.
Достоинства:

  • гальваническая развязка;
  • работа с большими токами в тысячи Ампер;

Недостатки:

  • измеряет только переменный ток в определенном диапазоне частот(кроме катушки Роговского);
  • изменяет фазу сигнала и требует компенсации
Датчики тока на эффекте Холла

Датчики этого типа используют эффект возникновения разности потенциалов при помещении проводника с током в магнитное поле.

Рисунок 18: Эффект Холла
При создании датчика мы берем магнитопровод, пропускаем через него провод измеряемой цепи и в разрез магнитопровода помещаем датчик Холла, получая датчик тока открытого типа:


Рисунок 19: Датчик тока на эффекте Холла открытого типа
Достоинством такого датчика является простота. Недостатком - наличие подмагничивания сердечника, следовательно, повышение нелинейности показаний.
Добавим на сердечник обмотку и пустим по ней ток, пропорциональный измеряемому току:


Рисунок 20: Датчик тока на эффекте Холла компенсационного типа
С нулевым подмагничиванием сердечника мы повышаем линейность датчика и его класс точности. Однако по своей конструкции такой датчик приближается к трансформаторам тока, соответственно его стоимость повышается в разы.
Как и трансформаторы, бывают разновидности датчиков, позволяющие пропустить через себя силовой провод:


Рисунок 22: Датчик тока на эффекте Холла
Существуют датчики с разделяемым сердечником - однако их стоимость просто зашкаливает.
Датчики с интегрированной силовой цепью на базе эффекта Холла с гальванической развязкой 2,1кВ и 3кВ выпускаются компанией Allegro. Ввиду своих малых размеров они не обеспечивают высокой точности, но зато компактны и просты в использовании.


Рисунок 23: датчик тока Allegro ACS754

  • Датчик ACS712 – измерение постоянного и переменного тока до 30А с точностью ± 1,5%
  • Датчик ACS713 – оптимизирован для измерения постоянного тока до 30А. Имеет вдвое большую чувствительность чем его универсальный собрат.
  • Датчик ACS754 – измерение постоянного и переменного тока до 200А с точностью ± 1,5%
  • Датчик ACS755 – оптимизирован для измерения постоянного тока.
  • Датчик ACS756 – датчик для измерения постоянного и переменного тока до 100А с напряжением питания 3-5В.


Рисунок 24: Зависимость выходного напряжения датчика от тока
Достоинства :

  • широкий диапазон измеряемых токов с частотой до 50-100кГц и выше;
  • измеряет постоянный и переменный ток.
  • гальваническая развязка

Недостатки :

  • Дорого
Дополнительные ссылки:

Измерительные трансформаторы постоянного тока analogiu.ru/6/6-2-2.html
Катушки Роговского www.russianelectronics.ru/leader-r/review/2193/doc/54046
Эффект Холла в википедии: ru.wikipedia.org/wiki/Эффект_Холла
Датчики Холла robocraft.ru/blog/electronics/594.html
Данилов А. Современные промышленные датчики тока www.soel.ru/cms/f/?/311512.pdf
Проектирование схем на базе аналогового усилителя HCPL-7851 www.kit-e.ru/assets/files/pdf/2010_04_26.pdf

Заключение

Я поставил перед собой задачу сделать обзорный материал по датчикам, наиболее часто используемым сообществом при разработке различных устройств. Большинство датчиков не вошли в цикл лишь по той причине, что в ближайшем будущем для моих материалов они не понадобятся, но некоторые из них в планах. Обязательно сделаю отдельный материал с датчиками ускорения, угловых скоростей, компасом и примерами, так что следите за новыми статьями!

АЦП — Аналого-цифровой преобразователь. Из названия можно догадаться, что на вход подается аналоговый сигнал, который преобразуется в число.

Первое о чем нужно сказать — АЦП микроконтроллера умеет измерять только напряжение. Чтобы произвести измерение других физических величин, их нужно вначале преобразовать в напряжение. Сигнал всегда измеряется относительно точки называемой опорное напряжение, эта же точка является максимумом который можно измерить. В качестве источника опорного напряжения (ИОН), рекомендуется выбирать высокостабильный источник напряжения, иначе все измерения будут плясать вместе с опорным.

Одной из важнейших характеристик является разрешающая способность, которая влияет на точность измерения. Весь диапазон измерения разбивается на части. Минимум ноль, максимум напряжение ИОН. Для 8 битного АЦП это 2^8=256 значений, для 10 битного 2^10=1024 значения. Таким образом, чем выше разрядность тем точнее можно измерять сигнал.

Допустим вы измеряете сигнал от 0 до 10В. Микроконтроллер используем Atmega8, с 10 битным АЦП. Это значит что диапазон 10В будет разделен на 1024 значений. 10В/1024=0,0097В — с таким шагом мы сможем измерять напряжение. Но учтите, что микроконтроллер будет считать, величину 0.0097, 0.0098, 0.0099… одинаковыми.

Тем не менее шаг в 0,01 это достаточно неплохо. Однако, есть несколько рекомендаций, без которых эта точность не будет соблюдена, например для измерения с точностью 10бит, частота на которой работает АЦП должна быть 50-200 кГц. Первое преобразование занимает 25 циклов и 13 циклов далее. Таким образом, при частоте 200кГц мы сможем максимум выжать
200 000/13 = 15 384 измерений.

В качестве источника опорного напряжения можно использовать внутренний источник и внешний. Напряжение внутреннего источника (2,3-2,7В) не рекомендуется использовать, по причине низкой стабильности. Внешний источник подключается к ножке AVCC или Aref, в зависимости от настроек программы.

При использовании АЦП ножка AVCC должна быть подключена. Напряжение AVCC не должно отличаться от напряжения питания микроконтроллера более чем на 0,3В. Как было сказано, максимальное измеряемое напряжение равно опорному напряжению(Vref), находится оно в диапазоне 2В-AVCC. Таким образом, микроконтроллер не может измерить более 5В.

Чтобы расширить диапазон измерения, нужно измерять сигнал через делитель напряжения. Например, максимальное измеряемое напряжение 10В, опорное напряжение 5В. Чтобы расширить диапазон измерения, нужно уменьшить измеряемый сигнал в 2 раза.

Формула для расчета делителя выглядит так:

U вых = U вх R 2 /(R 1 + R 2)

Подставим наши значения в формулу:

5 = 10*R2/(R1+R2)

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

Следовательно, когда мы измеряем напряжение через делитель, нужно полученное значение АЦП умножить на коэффициент=Uвых/Uвх.

Полная формула вычисления измеряемого напряжения будет выглядеть так:
U=(опорное напряжение*значение АЦП*коэффициент делителя)/число разрядов АЦП

Пример: опорное 5В, измеренное значение АЦП = 512, коэффициент делителя =2, АЦП 10разрядный.

(5*512*2)/1024=5В — реальное измеренное значение напряжения.

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

Перейдем к программной реализации. Создаем проект с указанными параметрами. Также подключим дисплей на порт D для отображения информации.

Измерение будет производиться в автоматическом режиме, обработка кода в прерывании, опорное напряжение подключаем к ножке AVCC. По сути нам нужно только обрабатывать получаемые данные. Измеренные данные хранятся в переменной adc_data. Если нужно опрашивать несколько каналов, то выбираем какие каналы сканировать, а данные будут для ножки 0 в adc_data, для ножки 1 в adc_data и т.д.

В основном цикле добавим строки:

result=((5.00*adc_data)/1024.00); //пересчитываем значение АЦП в вольты
sprintf(lcd_buffer,»U=%.2fV»,result); //помещаем во временную переменную результат
lcd_puts(lcd_buffer); //выводим на экран

Небольшое замечание, чтобы использовать числа с плавающей точкой, нужно в настройках проекта изменить (s)printf Features: int, width на float, width, precision. Если этого не сделать десятые и сотые мы не увидим.

Таким образом, мы всего лишь перевели значение АЦП в вольты и вывели на дисплей. Результат в протеусе выглядит так:

Резистором можно менять напряжение, измеряемое напряжение выведено на дисплей. При сборке на реальном железе к ножке Aref нужно подключить конденсатор на 0,1мкФ. Урок получился немного сложным, но думаю он вам понравится.

Файл протеуса и прошивка:

Update:
Измерение тока:

Похожие публикации