При проверке силовых электрических цепей часто возникает необходимость в измерении силы тока. Чтобы измерить величину постоянного тока, как правило, применяют резисторный шунт, включенный последовательно с нагрузкой, напряжение на котором пропорционально току. Но, если возникнет необходимость в измерении больших токов, то потребуется шунт внушительной мощности, поэтому целесообразнее использовать другие методы измерения.
В связи с этим у меня возникла идея собрать измеритель тока на основе датчика Холла. Его схема представлена на рисунке.
Особенности амперметра:
- Измерение силы переменного или постоянного тока без электрического контакта с цепью
- Измерение истинного среднеквадратичного (TrueRMS) значения тока независимо от формы сигнала, а также максимального значения за период (приблизительно 0.5 секунды)
- Вывод информации на символьный LCD дисплей
- Два режима измерения (до 10А и до 50А)
Схема работает следующим образом. Провод с током располагается внутри ферритового кольца, создавая при этом магнитное поле, величина которого прямо пропорциональна силе тока. Датчик Холла, расположенный в воздушном зазоре сердечника, преобразует величину индукции поля в напряжение, и это напряжение подается на операционные усилители. ОУ необходимы, чтобы привести уровни напряжения с датчика к диапазону входных напряжений АЦП. Полученные данные обрабатываются микроконтроллером и выводятся на LCD дисплей.
Предварительный расчет схемы
В качестве сердечника использовано кольцо R20*10*7 из материала N87. Датчик Холла — SS494B.
С помощью надфиля в кольце протачивается зазор такой толщины, чтобы там поместился датчик, то есть около 2 мм. На данном этапе уже можно примерно оценить чувствительность датчика к току и максимально возможный измеряемый ток.
Эквивалентная проницаемость сердечника с зазором приблизительно равна отношению длины магнитной линии к величине зазора:
Тогда, подставив это значение в формулу расчета индукции в сердечнике и умножив это все на чувствительность датчика, найдем зависимость выходного напряжения датчика от силы тока:
Здесь KB — чувствительность датчика к индукции магнитного поля, выраженная в В/Тл (берется из даташита).
К примеру, в моем случае lз = 2 мм = 0,002 м, KB = 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 кОм, получаем систему из 2-х уравнений, где переменными являются 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, но тогда ухудшатся частотные характеристики: на высоких частотах показания будут занижаться.
Использованные источники
- http://chipenable.ru/index.php/programming-avr/item/30-uchebnyy-kurs
- /mu/index.php?app=core&attach_id=237666&module=attach§ion=attach
- http://www.mami.ru/kaf/aipu/theme4.php
Список радиоэлементовОбозначение
Тип
Номинал
Количество
ПримечаниеМагазинМой блокнот
IC1
МК AVR 8-битATmega8A1
DIP-28IC2, IC3
Операционный усилительMCP60022
SOIC-8IC4
Линейный регуляторL78L051
IC5
Датчик ХоллаSS494B1
C1-C7
Конденсатор100 нФ9
К10-17бR1, R3, R6, R9
Резистор10 кОм4
SMD 1206R2
Резистор12 кОм1
SMD 1206R4
Резистор20 кОм1
SMD 1206R5
Резистор6.8 кОм1
SMD 1206R7, R8
Резистор100 кОм2
SMD 1206P1
Подстроечный резистор10 кОм1
3362PP2
Подстроечный резистор4.7 кОм1
3362PP3, P4, P5
Подстроечный резистор2.2 кОм3
3362PS1
Кнопка тактовая1
LCD
LCD-дисплейWH0802A1
Или другой HD44780
Источник питания9В-15В1
Ферритовый сердечникR20*10*7 N871
Добавить все
Скачать список элементов (PDF)
Прикрепленные файлы:
- pcb.lay (69 Кб)
- pcb.pdf (20 Кб)
- 2_firmware+MCAD+Proteus.zip (48 Кб)