Что можно сделать на основе небольшого микроконтроллера Attiny13? Много чего. Например измеритель напряжения, тока, температуры, с выводом результатов на дисплей типа HD44780. Так давайте и соберём это универсальное устройство, которое можно успешно использовать в качестве модуля в блоках питания, зарядках, УМЗЧ и в тех местах, где не требуется очень высокая точность. Размер платы всего 35 х 16 мм.
Прежде всего надо знать, в каком диапазоне напряжения прибор будет работать. Чтобы это установить, необходимо рассчитать делитель напряжения. Например, для получения измерения 10 В, делитель должен составлять 1/10 (мы умножаем x 10 потому что напряжение будет в 10 раз больше от базового 1 В), для 30 В будет 1/30 и так далее. Затем необходимо настроить программу, для данного диапазона. Эти 30 В умножаем по 640, а результат разделим на 1023. Полученное число приблизительно записывается в начале программы, постоянной напряжения и надо скомпилировать программу (для диапазона 100 В, 8,2к).
Измерение тока также мы можем настроить подобным образом, дать другой делитель, другой диапазон, и перечислить, но не буду этого описывать. Здесь нет аналоговой калибровки температуры, потому что она показалась совершенно лишней.
Корректируем экспериментально в программе, за это отвечает константа const temp. Резистор 1К между массой и выходом датчика устанавливает напряжение, снизить его можно даже до 100 Ом.
К точкам V и V+ на плате приложено напряжение, которое мы хотим измерить, к точке GND присоединяемся входом массы блока питания, а к точке В - выход массы (измерение происходит на массе). Между точками GND и V - присоединяется шунт. Питание измерителя осуществляется от точки V и V+ через стабилизатор 7805. На плате есть место на стабилизатор в корпусе TO252, но с успехом можно использовать и более крупный стабилизатор 78L05 в корпусе TO92. Максимальное напряжение, которое можно указать для точки V и V+, для обычной 7805 будет до 35В, для 78L05 будет, конечно, меньше, но не больше 30. Для того, чтобы измерять большие напряжения, чип необходимо пополнить отдельно - на стороне печати, следует прервать путь под потенциометром регулировки напряжения, а питание подать до точки А. Система работает с дисплеем 16х1 с контроллером HD44780 или 16х2.
При прошивке микроконтроллера необходимо задать pin reset как обычный pin (включить fusebit RSTDISBL). Перед выполнением этой операции убедитесь, что все хорошо установили, что после выключения сбрасывается, и нет доступа к процессору обычным программатором! Исходники, а также вся остальная документация и файлы, размещены
При проверке силовых электрических цепей часто возникает необходимость в измерении силы тока. Чтобы измерить величину постоянного тока, как правило, применяют резисторный шунт, включенный последовательно с нагрузкой, напряжение на котором пропорционально току. Однако, если возникнет необходимость в измерении больших токов, то потребуется шунт внушительной мощности, поэтому целесообразнее использовать другие методы измерения.
В связи с этим у меня возникла идея собрать измеритель тока на основе датчика Холла. Его схема представлена на рисунке.
Особенности амперметра:
Схема работает следующим образом. Провод с током располагается внутри ферритового кольца, создавая при этом магнитное поле, величина которого прямо пропорциональна силе тока. Датчик Холла, расположенный в воздушном зазоре сердечника, преобразует величину индукции поля в напряжение, и это напряжение подается на операционные усилители. ОУ необходимы, чтобы привести уровни напряжения с датчика к диапазону входных напряжений АЦП. Полученные данные обрабатываются микроконтроллером и выводятся на LCD дисплей.
Предварительный расчет схемы
В качестве сердечника использовано кольцо R20*10*7 из материала N87. Датчик Холла - SS494B.
С помощью надфиля в кольце протачивается зазор такой толщины, чтобы там поместился датчик, то есть около 2 мм. На данном этапе уже можно примерно оценить чувствительность датчика к току и максимально возможный измеряемый ток.
Эквивалентная проницаемость сердечника с зазором приблизительно равна отношению длины магнитной линии к величине зазора:
Тогда, подставив это значение в формулу расчета индукции в сердечнике и умножив это все на чувствительность датчика, найдем зависимость выходного напряжения датчика от силы тока:
Здесь K B - чувствительность датчика к индукции магнитного поля, выраженная в В/Тл (берется из даташита).
Например, в моем случае l з = 2 мм = 0,002 м, K B = 5 мВ/Гаусс = 50 В/Тл, откуда получаем:
Реальная чувствительность к току оказалась равной 0,03В/А , то есть расчет получается весьма точным.
Согласно даташиту на SS494B, максимальная измеряемая датчиком индукция равна 420 Гауссов, следовательно максимальный измеряемый ток равен:
Фото датчика в зазоре:
Расчет цепей ОУ
В амперметре имеется два канала: до 10 А (23 вывод МК), и до 50 А (24 вывод МК). Переключением режимов занимается мультиплексор АЦП.
В качестве опорного напряжения АЦП выбран внутренний ИОН, поэтому сигнал необходимо привести к диапазону 0 - 2.56 В. При измерении токов величиной ±10 А напряжение датчика составляет 2,5±0,3 В, следовательно нужно усилить и сместить его так, чтобы нулевая точка находилась точно посередине диапазона АЦП. Для этого используется ОУ IC2:A, включенный как неинвертирующий усилитель. Напряжение на его выходе описывается уравнением:
Здесь под R2 подразумеваются последовательно соединенные R2 и P2, а под R3 соответственно R3 и P3, чтобы выражение не выглядело слишком громоздким. Чтобы найти сопротивления резисторов запишем уравнение дважды (для токов -10А и +10А):
Напряжения нам известны:
Задав R4 равным 20 кОм, получаем систему из двух уравнений, где переменными являются R2 и R3. Решение системы можно легко найти с помощью математических пакетов, например MathCAD (файл расчетов приложен к статье).
Аналогичным образом рассчитывается и вторая цепь, состоящая из IC3:A и IC3:B. В ней сигнал с датчика сначала проходит через повторитель IC3:A, а затем попадает на делитель на резисторах R5, R6, P5. После ослабления сигнала, он дополнительно смещается операционным усилителем IC3:B.
Описание работы микроконтроллера
Микроконтроллер ATmega8A выполняет обработку сигналов с ОУ и вывод результатов на дисплей. Он тактируется от внутреннего генератора на 8 МГц. Фьюзы стандартные, за исключением CKSEL. В PonyProg они выставляются так:
АЦП сконфигурирован на работу с частотой 125 кГц (коэффициент деления равен 64). По окончании преобразования АЦП вызывается обработчик прерывания. В нем запоминается максимальное значение тока, а также суммируются квадраты токов последовательных выборок. Как только число выборок доходит до 5000, микроконтроллер вычисляет RMS значение тока и выводит данные на дисплей. Затем переменные обнуляются и все происходит с начала. На схеме указан дисплей WH0802A, но можно использовать любой другой дисплей с контроллером HD44780.
Прошивка микроконтроллера, проект для CodeVision AVR и файл симуляции в Proteus приложены к статье.
Настройка схемы
Настройка устройства сводится к регулировке подстроечных резисторов. Сначала нужно настроить контрастность дисплея, вращая P1.
Затем, переключившись кнопкой S1 в режим до 10А, настраиваем P2 и P3. Выкручиваем один из резисторов максимально вправо и, вращая второй резистор, добиваемся нулевых показаний прибора. Пробуем измерить ток, величина которого точно известна, при этом показания амперметра должны получиться ниже, чем есть на самом деле. Подкручиваем оба резистора немного влево, так чтобы сохранилась нулевая точка, и опять измеряем ток. На этот раз показания должны стать чуть больше. Продолжаем это до тех пор, пока не добьемся точного отображения величины тока.
Теперь переключимся в режим до 50А и настроим его. Резистором P4 выставляем ноль на дисплее. Измеряем какой-либо ток и смотрим на показания. Если амперметр завышает их, то крутим P5 влево если занижает, то крутим вправо. Опять выставляем ноль, проверяем показания при заданном токе и так далее.
Фото устройства
Измерение постоянного тока:
Из-за недостаточно точной калибровки, значения немного завышаются.
Измерение переменного тока частотой 50 Гц, в качестве нагрузки используется утюг:
В теории среднеквадратичный ток синусоиды равняется 0.707 от максимального, но, судя по показаниям, этот коэффициент равен 0.742. После проверки формы напряжения в сети, выяснилось что оно лишь напоминает синусоиду. Учитывая это, такие показания прибора выглядят вполне достоверными.
У прибора все же есть недостаток. На выходе датчика постоянно присутствуют шумы. Проходя через ОУ, они попадают на микроконтроллер, в результате чего невозможно добиться идеального нуля (вместо нуля отображается примерно 30-40 мА RMS). Это можно исправить, увеличив емкость C7, но тогда ухудшатся частотные характеристики: на высоких частотах показания будут занижаться.
Использованные источники
Обозначение | Тип | Номинал | Количество | Примечание | Магазин | Мой блокнот |
---|---|---|---|---|---|---|
IC1 | МК AVR 8-бит | ATmega8A | 1 | DIP-28 | В блокнот | |
IC2, IC3 | Операционный усилитель | MCP6002 | 2 | SOIC-8 | В блокнот | |
IC4 | Линейный регулятор | L78L05 | 1 | В блокнот | ||
IC5 | Датчик Холла | SS494B | 1 | В блокнот | ||
C1-C7 | Конденсатор | 100 нФ | 9 | К10-17б | В блокнот | |
R1, R3, R6, R9 | Резистор | 10 кОм | 4 | SMD 1206 | В блокнот | |
R2 | Резистор | 12 кОм | 1 | SMD 1206 | В блокнот | |
R4 | Резистор | 20 кОм | 1 | SMD 1206 | В блокнот | |
R5 | Резистор | 6.8 кОм | 1 | SMD 1206 | В блокнот | |
R7, R8 | Резистор | 100 кОм | 2 | SMD 1206 | В блокнот | |
P1 | Подстроечный резистор | 10 кОм | 1 | 3362P | В блокнот | |
P2 | Подстроечный резистор | 4.7 кОм | 1 | 3362P |
Скетч для Arduino для одного канала
void setup() { autoadcsetup(); DDRD |=(1<
Программа написана в среде Arduino IDE для микроконтроллера ATmega1280. На моей отладочной плате первые 8 каналов разведены для внутренних нужд платы поэтому используется канал ADC8. Возможно использовать данный скетч и для платы с ATmega168, однако необходимо выбрать правильный канал.
Внутри прерываний передергиваем пару служебных пинов чтобы наглядно видеть рабочую частоту оцифровки.
Пару слов о том, откуда взялся коэффициент 102. При первом запуске с генератора подавался сигнал различной амплитуды, с осциллографа считывалось показание действующего значения напряжения, а из консоли забиралось рассчитанное значение в абсолютных единицах АЦП.
Umax, В | Urms, В | Counted |
3 | 2,08 | 212 |
2,5 | 1,73 | 176 |
2 | 1,38 | 141 |
1,5 | 1,03 | 106 |
1 | 0,684 | 71 |
0,5 | 0,358 | 36 |
0,25 | 0,179 | 19 |
На данном моменте мы прервемся. В следующей части рассмотрим другие три вопроса данной серии и будем плавно переходить к созданию непосредственно самого устройства.
Представленную прошивку, а также другие прошивки для данной серии (так как видеоматериалы я снимаю быстрее чем подготавливаю статьи) вы найдете в репозитории на GitHub.
Предлагаемое устройство предназначено для установки в различные регулируемые блоки питания. Оно отображает на своих светодиодных индикаторах выходное напряжение блока и ток его нагрузки. Когда появилась необходимость постоянно контролировать выходное напряжение и ток нагрузки лабораторного блока питания, сразу было решено выводить их значения на семиэлементные светодиодные индикаторы. Возможная альтернатива — символьные ЖКИ с двумя строками по 8 или 16 символов, но они дороги и плохо читаемы. Ещё одним требованием был одновременный вывод на индикаторы значений напряжения и тока без каких-либо переключений. По разным причинам готовые решения, найденные в литературе и Интернете, автора не устроили, и он решил сконструировать устройство самостоятельно.
Внешний вид предлагаемого измерителя показан на рис. 1. Он позволяет измерять напряжение от 0 до 99,9 В с дискретностью 0,1 В и ток от 0 до 9,99 А с дискретностью 0,01 А. Устройство собрано на плате размерами 57x62 мм и может быть встроено внутрь практически любого лабораторного блока питания или другого прибора, где требуется постоянный контроль напряжения и тока. Схема измерителя изображена на рис. 2. Он содержит ОУ , два интегральных стабилизатора напряжения , микроконтроллер (самый недорогой из имеющих десятиразрядный АЦП), два регистра и два семиэлементных светодиодных индикатора. Они могут быть четырёх- или трёхразрядными.
Измеренное значение напряжения выводится на индикатор HG1, а тока — на индикатор HG2. Одноименные выводы элементов индикаторов попарно объединены и подключены через ограничивающие ток резисторы R13—R20 к выходам регистра DD2. Общие выводы разрядов индикаторов подключены к регистру DD3. Регистры соединены последовательно и образуют 16-разряд-ный сдвиговый регистр, управляемый сигналами с трёх выходов микроконтроллера DD1: GP2 (тактовые импульсы), GP4 (загружаемый последовательный код), GP5 (импульс вывода загруженного кода на параллельные выходы регистров). Индикация — обычная динамическая, при которой разряды индикаторов включаются поочерёдно импульсами на выходах регистра DD3, формируемыми одновременно с появлением на выходах регистра DD2 кодов для отображения во включённом разряде нужной цифры.
Индикаторы HG1 и HG2 могут быть как с общими анодами, так и с общими катодами элементов каждого разряда, но обязательно оба одинаковые. В зависимости от этого должен быть выбран соответствующий вариант программы микроконтроллера — AV-meter_ common_anocle.HEX для общих анодов или AV-meter_common_cathode. HEX для общих катодов. Микроконтроллер управляет индикаторами по прерываниям от таймера TMR0, следующим с периодом 2 мс.
Входы GP0 и GP1 работают в режиме аналоговых входов АЦП микроконтроллера. GP0 используются для измерения напряжения, a GP1 — тока. В трёх старших разрядах индикаторов выводятся измеренные значения. В младшем разряде индикатора HG1 постоянно выведена буква U (признак измерения напряжения), а в том же разряде индикатора HG2 — буква А (признак измерения тока). В случае применения трёхразрядных индикаторов никаких изменений программы не требуется, но эти буквы отсутствуют.
Измеряемое напряжение поступает на микроконтроллер через делитель R2-R4, а пропорциональное измеряемому току напряжение - с выхода ОУ DA1.1. Резистор R12 вместе с внутренним защитным диодом микроконтроллера предохраняет его вход от возможной перегрузки (ОУ питается напряжением 7...15 В). Коэффициент усиления снимаемого с датчика тока (резистора R1) напряжения около 50 задан резисторами R6, R8, R11. Его точное значение устанавливают подстроечным резистором R8.
ФНЧ R7C3 сглаживает пульсации напряжения на неинвертирующем входе ОУ. Без этого фильтра показания прибора "прыгают". Аналогичную функцию выполняет конденсатор С2 в цепи измерения напряжения. Стабилитрон VD1 защищает вход ОУ от перенапряжения в случае обрыва резистора R1. В крайнем случае стабилитрон можно не устанавливать.
Особо следует остановиться на цепи R5R10. В отсутствие измеряемого тока она создаёт на входе ОУ начальное смещение около +0,25 мВ. Без этого наблюдалась существенная нелинейность при измерении тока менее 0,3 А. У разных экземпляров микросхем LM358N этот эффект проявляется в разной степени, но в любом случае погрешность при малых значениях измеряемого тока слишком высока. При установке R5 и R10 указанных на схеме номиналов (они могут быть пропорционально изменены при сохранении того же соотношения, например, 15 Ом и 300 кОм) погрешность измерения тока, обусловленная этим эффектом, не превышает единицы младшего разряда.
Со всеми имеющимися у меня экземплярами микросхемы LM358N, а они приобретались в течение последних десяти лет в разных местах, никакой подборки указанных резисторов не потребовалось. Но при необходимости следует определить минимальное сопротивление резистора R10, при котором на индикаторе HG1 в отсутствие измеряемого тока ещё светятся нули, а затем увеличить его в 1,5...2 раза. Я не рекомендую в целях упрощения конструкции исключать обычно отсутствующие в подобных устройствах элементы С2, С3, R4, R5, R10.
Хорошая точность и стабильность показаний обеспечена также полным отделением от микроконтроллера относительно мощных импульсных узлов управления индикаторами путём их питания от отдельного интегрального стабилизатора напряжения DA3. Помехи от работы процессора самого микроконтроллера мало влияют на результаты измерений, так как каждое из них выполняется с предварительным переводом микроконтроллера в спящий режим с выключенным тактовым генератором.
Микроконтроллер тактируется от внутреннего генератора. R9C5 — цепь установки микроконтроллера в исходное состояние. Для устранения последствий возможных сбоев микроконтроллера в нём включён сторожевой таймер (WDT).
На рис. 3 изображён чертёж проводников печатной платы устройства, а на рис. 4 — расположение деталей на ней. Большая часть резисторов и конденсаторов — типоразмера 0805 для поверхностного монтажа. Исключения — резисторы R2 (из-за рассеиваемой мощности), R13 (для упрощения разводки печатных проводников), подстроечные резисторы R3, R8, оксидные конденсаторы С1, С6, С8. Конденсаторы С2 и С3 — керамические, но их можно заменить оксидными танталовыми.
. Ток или силу тока определяют количеством электронов, проходящих через точку или элемент схемы в течение одной секунды. Так, например, через нить накала горящей лампы накаливания карманного фонаря ежесекундно проходит около 2 000 000 000 000 000 000 (два триллиона) электронов. Однако на практике измеряется не количество электронов, а их движение, выраженное в амперах (А).
Ампер – это единица электрического тока, которую так назвали в честь французского физика и математика А. Ампера изучавшего взаимодействие проводников с током. Экспериментально установлено, что при токе в 1А через точку или элемент схемы проходит около 6 250 000 000 000 000 000 электронов.
Помимо ампера применяют и более мелкие единицы силы тока: миллиампер (мA), равный 0,001 А, и микроампер (мкA), равный 0,000001 А или 0,001 мА. Следовательно: 1 А = 1000 мА = 1 000 000 мкА .
Как и напряжение, ток бывает постоянный и переменный . Приборы, служащие для измерения тока, называют амперметрами , миллиамперметрами и микроамперметрами . Так же, как и вольтметры, амперметры бывают стрелочными и цифровыми .
На электрических схемах приборы обозначаются кружком и буквой внутри: А (амперметр), мА (миллиамперметр) и мкА (микроамперметр). Рядом с условным обозначением амперметра указывается его буквенное обозначение «PА » и порядковый номер в схеме. Например. Если амперметров в схеме будет два, то около первого пишут «PА1 », а около второго «PА2 ».
Для измерения тока амперметр включается непосредственно в цепь последовательно с нагрузкой , то есть в разрыв цепи питания нагрузки. Таким образом, на время измерения амперметр становится как бы еще одним элементом электрической цепи, через который протекает ток, но при этом в схему амперметр никаких изменений не вносит. На рисунке ниже изображена схема включения миллиамперметра в цепь питания лампы накаливания.
Также надо помнить, что амперметры выпускаются на разные диапазоны (шкалы), и если при измерении использовать прибор с меньшим диапазоном по отношению к измеряемой величине, то прибор можно повредить. Например. Диапазон измерения миллиамперметра составляет 0…300 мА, значит, силу тока измеряют только в этих пределах, так как при измерении тока свыше 300 мА прибор выйдет из строя.
Измерение силы тока мультиметром практически ни чем не отличается от измерения обыкновенным амперметром или миллиамперметром. Разница состоит лишь в том, что у обычного прибора всего один диапазон измерения, рассчитанный на определенную максимальную величину тока, тогда как у мультиметра диапазонов несколько, и перед измерением приходится определять каким из диапазон пользоваться в данный момент.
Обычные мультиметры, не профессиональные, рассчитаны на измерение постоянного тока и имеют четыре поддиапазона, что на бытовом уровне вполне достаточно. У каждого поддиапазона есть свой максимальный предел измерения, который обозначен цифровым значением: 2m , 20m , 200m , 10А . Например. На пределе «20m » можно измерять постоянный ток в диапазоне 0…20 мА.
Для примера измерим ток, потребляемый обычным светодиодом. Для этого соберем схему, состоящую из источника напряжения (пальчиковой батарейки) GB1 и светодиода VD1 , а в разрыв цепи включим мультиметр РА1 . Но перед включением мультиметра в схему подготовим его к проведению измерений.
Измерительные щупы вставляем в гнезда мультиметра, как показано на рисунке:
красный
щуп называют плюсовым
, и вставляется он в гнездо, напротив которого изображены значки измеряемых параметров: «VΩmA
»;
черный
щуп является минусовым
или общим
и вставляется он в гнездо, напротив которого написано «СОМ
». Относительно этого щупа производятся все измерения.
В секторе измерения постоянного тока выбираем предел «2m », диапазон измерения которого составляет 0…2 мА. Подключаем щупы мультиметра согласно схеме и затем подаем питание. Светодиод загорелся, и его потребление тока составило 1,74 мА. Вот, в принципе, и весь процесс измерения.
Однако этот вариант измерения подходит тогда, когда величина потребления тока известна. На практике же часто возникает ситуация, когда необходимо измерить ток на каком-либо участке цепи, величина которого неизвестна или известна приблизительно. В таком случае измерение начинают с самого высокого предела.
Предположим, что потребление тока светодиодом неизвестно. Тогда переключатель переводим на предел «200m », который соответствует диапазону 0…200 мА, и после этого щупы мультиметра включаем в цепь.
Затем подаем напряжение и смотрим на показания мультиметра. В данном случае показания тока составили «01,8 », что означает 1,8 мА. Однако нолик впереди указывает на то, что можно снизиться на предел «20m ».
Отключаем питание. Переводим переключатель на предел «20m ». Включаем питание и опять производим измерение. Показания составили 1,89 мА.
Часто бывает ситуация, когда при измерении тока или напряжения на индикаторе появляется единица . Единица говорит о том, что выбран низкий предел измерения и он меньше величины измеряемого параметра. В этом случае необходимо перейти на предел выше.
Также может возникнуть момент, когда измеряемый ток выше 200 мА и необходимо перейти на предел измерения «10А ». Однако здесь есть нюанс, который надо запомнить. Помимо того, что переключатель переводится на предел «10А », еще также необходимо переставить плюсовой (красный) щуп в крайнее левое гнездо, напротив которого стоит цифро-буквенное значение «10А», указывающее, что это гнездо предназначено для измерения больших токов.
И еще совет. Возьмите за правило: когда закончите все измерения на пределе «10А » сразу же переставляйте плюсовой (красный) щуп на свое штатное место . Этим Вы сбережете себе нервы, щупы и мультиметр.
Ну вот, в принципе и все, что хотел сказать об измерении тока мультиметром. Главное понимать, что при вольтметр подключается параллельно нагрузке или источнику напряжения, тогда как при измерении силы тока амперметр включается непосредственно в цепь и через него протекает ток, которым питаются элементы схемы.
Ну и в качестве закрепления прочитанного предлагаю посмотреть видеоролик, в котором на примере схем рассказывается об измерениях напряжения и силы тока мультиметром.