Что можно сделать на основе небольшого микроконтроллера 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 |
Нагрузка в электрической цепи характеризуется силой тока, измерение тока в амперах. Силу тока иногда приходится измерять для проверки допустимой величины нагрузки на кабель. Для прокладки электрической линии применяются кабели разного сечения. Если кабель работает с нагрузкой выше допустимой величины, то он нагревается, а изоляция постепенно разрушается. В результате это приводит к и замене кабеля.
Кроме силы тока, существует понятие мощности тока. Этот параметр определяет работу тока, выполненную в единицу времени. Мощность тока равна отношению выполненной работы к промежутку времени, за которое эта работа была выполнена. Обозначают буквой «Р» и измеряют в ваттах.
Мощность рассчитывается путем перемножения напряжения сети на силу тока, потребляемого подключенными электрическими устройствами: Р = U х I. Обычно на электроприборах указывают потребляемую мощность, с помощью которой можно определить ток. Если ваш телевизор имеет мощность 140 Вт, то для определения тока делим эту величину на 220 В, в результате получаем 0,64 ампера. Это значение максимального тока, на практике ток может быть меньше при снижении яркости экрана или других изменениях настроек.
Для определения потребления электрической энергии с учетом эксплуатации потребителей в разных режимах, необходимы электрические измерительные приборы, способные выполнить измерение параметров тока.
Для измерения силы тока в электрической цепи, необходимо один вывод амперметра или другого прибора, способного измерять силу тока, подключить к положительной клемме источника тока или , а другой вывод к проводу потребителя. После этого можно измерять силу тока.
При измерениях необходимо соблюдать аккуратность, так как при размыкании действующей электрической цепи может возникнуть электрическая дуга.
Для измерения силы тока электрических устройств, подключаемых непосредственно к розетке или кабелю бытовой сети, измерительный прибор настраивается на режим переменного тока с завышенной верхней границей. Затем измерительный прибор подключают в разрыв провода фазы.
Все работы по подключению и отключению допускается производить только в обесточенной цепи. После всех подключений можно подавать питание и измерять силу тока. При этом нельзя касаться оголенных токоведущих частей, во избежание поражения электрическим током. Такие методы измерения неудобны и создают определенную опасность.
Значительно удобнее проводить измерения токоизмерительными клещами, которые могут выполнять все функции мультиметра, в зависимости от исполнения прибора. Работать такими клещами очень просто. Необходимо настроить режим измерения постоянного или переменного тока, развести усы и охватить ими фазный провод. Затем нужно проконтролировать плотность прилегания усов между собой и измерить ток. Для правильных показаний необходимо охватывать усами только фазный провод. Если охватить сразу два провода, то измерения не получится.
Токоизмерительные клещи служат только для замеров параметров переменного тока. Если их использовать для измерения постоянного тока, то усы сожмутся с большой силой, и раздвинуть их можно будет только, отключив питание.
Скетч для 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.
Прибор измеряет постоянное напряжение от 0 до 51,1 В с дискретностью 0,1 В и постоянный ток от 0 до 5,11 А с дискретностью 0,01 А Его прототипом послужил измеритель, описанный в , довольно простой по схеме и имеющий неплохие параметры. Основная реализованная в нем идея использовать недорогой микроконтроллер заслуживает внимания. Однако необходимость использовать ОУ, способный работать при однополярном питании при близком к нулю выходном напряжении, а также наличие дополнительного источника питания накладывают некоторые ограничения на его применение.
К тому же индикаторы на плате прототипа расположены неудобно, лучше установить их в ряд по горизонтали и сократить размеры передней панели измерителя, приблизив их к габаритам использованных индикаторов. Принципиальная схема измерителя представлена на сайте www.сайт. Поскольку найти применённые в микросхемы 74HC595N (сдвиговые регистры с регистром хранения) не удалось, использованы микросхемы 74HC164N, в которых регистр хранения отсутствует. Также применены индикаторы, обладающие гораздо более высокой яркостью при малом токе, что позволило уменьшить потребляемый измерителем ток до 20 мА и отказаться от дополнительного стабилизатора напряжения +5 В.
Сигнал с датчика тока (резистора R1) поступает на вход GP1 микроконтроллера через инвертирующий усилитель на ОУ DA1. В отличие от (1J, здесь используется двухполярное питание ОУ напряжением ±8 В, поскольку далеко не все ОУ обладают свойством rail to rail и корректно работают при однополярном питании и почти нулевом напряжении на выходе. Двухполярное же питание позволяет легко решить эту проблему, допускает применение ОУ очень многих типов. Поскольку напряжение на выходе ОУ может находиться в интервале от 8 до 8 В. для защиты входа микроконтроллера от перегрузки применена ограничительная цепь R10VD9.
Подстроечным резистором R8 регулируют коэффициент усиления, а подстроечным резистором R11 устанавливают нулевое напряжение на выходе ОУ. Диоды VD1 и VD2 защищают вход ОУ от перегрузки в случае обрыва датчика тока. Благодаря сравнительно малому сопротивлению датчика тока уход результата измерения напряжения при изменении тока нагрузки от нуля до максимального (5.11 А) не превышает 0.06 В. Если измеритель встраивают в источник напряжения отрицательной полярности. датчик тока можно включить перед выходным делителем напряжения его стабилизатор».
При этом падение напряжения на датчике тока будет компенсировано цепью обратной связи стабилизатора. Поскольку ток делителя обычно невелик, на показания амперметра он влияния почти не окажет, к тому же это влияние можно скомпенсировать, подстрочным резистором R11.Питают измеритель выходным напряжением выпрямителя блока питания через преобразователь на транзисторах VT1 и VT2. Это несколько сложнее, чем в , так как требует изготовления импульсного трансформатора, зато нет проблем с получением всех требуемых номиналов напряжения. Преобразователь напряжения представляет собой простейший двухтактный автогенератор. схема которого позаимствована из . Частота преобразования - около 80 кГц.
Благодаря гальванической развязке между входом и выходом преобразователя измеритель можно встроить в стабилизатор напряжения любой полярности. С указанными на схеме транзисторами он работоспособен при входном напряжении от 30 до 44 В. при этом выходные напряжения изменяются приблизительно от 8 до 12 В. Благодаря тому что сопротивления резисторов R5 и R6 выбраны довольно большими, преобразователь не боится замыканий выходов. В таких случаях генерация просто срывается.
Напряжение 5 В для питания цифровой части измерителя получено с помощью интегрального стабилизатора DA2. Стабилизировать напряжения питания ОУ не требуется, поскольку сам он достаточно устойчив к его изменениям. Напряжение пульсаций с частотой преобразования подавляют RC-фильтры на входах микроконтроллера DD1. Если же слишком велики пульсации с частотой 100 Гц, рекомендуется воспользоваться способом их снижения, описанным в .Здесь стоит сказать несколько слов о присущей всем цифровым измерителям нестабильности младшего разряда результата измерения.
Он всегда хаотически изменяется на единицу вокруг истинного значения. Эти флюктуации не являются следствием неисправности прибора, но их нельзя устранить полностью, можно лишь уменьшить, усредняя результаты большого числа измерений. Детали измерителя смонтированы на трёх печатных платах из фольгированного с одной стороны изоляционного материала. Рассчитаны они на установку микросхем в корпусах DIP На одной плате (рис. 2) смонтированы индикаторы, на второй (рис. 3) - цифровые микросхемы и микроконтроллер. Преобразователь, стабилизатор напряжения питания микроконтроллера и усилитель сигнала датчика тока установлены на третьей плате (рис. 4).
Размещение деталей на платах и межплатные соединения показаны на рис. 5. Красными цифрами на нем обозначены номера выводов импульсного трансформатора Т1 у мест их подключения к плате. Сам трансформатор закреплён на ней хомутами из изолированного монтажного провода. Блокировочные конденсаторы С13 и С14 припаяны непосредственно к выводам питания микросхем DD2 и DD3. Как показала практика, измеритель нормально работает и без этих конденсаторов.
Платы микроконтроллера и индикаторов соединены кронштейнами из оцинкованной стали толщиной 0.5 мм. Плата преобразователя и усилителя закреплена двумя винтами М2. Расстояние между платами - около 11 мм. Такой вариант конструкции прибора (рис. 6) занимает меньше места на лицевой панели блока питания, в которую этот прибор должен быть встроен. Вместо ОУ КР140УД708 можно применить, например. КР140УД1408 и множество ОУ других типов Следует отметить, что они могут требовать иных цепей коррекции, чем КР140УД708 Это следует учесть при проектировании печатной платы.
Вместо сдвиговых регистров 74НС164 можно использовать 74НС4015, но придется изменить топологию печатных проводников платы. Диоды КД522Б можно заменить на КД510А. Подстроечные резисторы R8 и R11 - СПЗ19. R9 - импортный. Постоянные конденсаторы также импортные. Резистор R1 (датчик тока) можно изготовить из нихромового провода или применить готовый, как это сделано в (1). Я сделал его из отрезка нихромовой ленты сечением 2,5×0,8 мм и длиной (с учётом залуженных концов) около 25 мм, извлеченной из теплового реле ТРН.
Трансформатор Т1 намотан на ферритовом кольце типоразмера 10x6x3 мм, извлеченном из неисправной КЛЛ. Все обмотки намотаны проводом ПЭВ-2 диаметром 0,18 мм. Обмотка 2-3 содержит 83 витка, обмотки 1-2 и 4-5 - по 13 витков, а обмотка 6-7-8 80 витков с отводом от середины. Если выходное напряжение выпрямителя меньше 30 В, число витков обмотки 2-3 придётся уменьшить из расчета приблизительно 4 витка на вольт. Между собой обмотки 1-2-3 и 4-5 изолированы одним слоем конденсаторной бумаги толщиной 0,1 мм, а от обмотки 6-7-8 - двумя слоями такой бумаги После проверки работоспособности трансформатор пропитан лаком ХВ-784.
Программа микроконтроллера написана в среде MPLAB IDE v8.92 на языке ассемблера MPASM. Предлагаются два её варианта. Файлы первого варианта находятся в папке «Общ. катод» и предназначены для прибора со светодиодными индикаторами с общими катодами разрядов, в том числе теми, что указаны на схеме рис. 1. Файлы второго варианта из папки «Общ. анод» следует использовать при установке в прибор светодиодных индикаторов с общими анодами разрядов. Однако на практике этот вариант программы не испытан. Программирование микроконтроллера было выполнено с помощью программы IC-prog и простого устройства, описанного в (4).
Налаживание измерителя заключается в установке подстроечным резистором R11 нуля на выходе ОУ DA 1 при отсутствии тока в измеряемой цепи. Затем в эту цепь подают ток. близкий к пределу измерения, но меньше его. Контролируя ток образцовым амперметром, подстроечным резистором R8 добиваются равенства показаний образцового и налаживаемого приборов.Подав и контролируя образцовым вольтметром измеряемое напряжение, устанавливают соответствующие показания на индикаторе прибора подстроечным резистором R9. Подробнее о налаживании написано в (1).