При проверке силовых электрических цепей часто возникает необходимость в измерении силы тока. Чтобы измерить величину постоянного тока, как правило, применяют резисторный шунт, включенный последовательно с нагрузкой, напряжение на котором пропорционально току. Однако, если возникнет необходимость в измерении больших токов, то потребуется шунт внушительной мощности, поэтому целесообразнее использовать другие методы измерения.
В связи с этим у меня возникла идея собрать измеритель тока на основе датчика Холла. Его схема представлена на рисунке.
Особенности амперметра:
- Измерение силы переменного или постоянного тока без электрического контакта с цепью
- Измерение истинного среднеквадратичного (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 кОм, получаем систему из двух уравнений, где переменными являются 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
- http://forum.cxem.net/index.php?app=core&attach_id=237666&module=attach§ion=attach
- http://www.mami.ru/kaf/aipu/theme4.php
Список радиоэлементов
Обозначение | Тип | Номинал | Количество | Примечание | Магазин | Мой блокнот |
---|---|---|---|---|---|---|
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 | Поиск в магазине Отрон | |
P3, P4, P5 | Подстроечный резистор | 2.2 кОм | 3 | 3362P | Поиск в магазине Отрон | |
S1 | Кнопка тактовая | 1 | Поиск в магазине Отрон | |||
LCD | LCD-дисплей | WH0802A | 1 | Или другой HD44780 | Поиск в магазине Отрон | |
Источник питания | 9В-15В | 1 | Поиск в магазине Отрон | |||
Ферритовый сердечник | R20*10*7 N87 | 1 | Поиск в магазине Отрон | |||
Скачать список элементов (PDF)
Прикрепленные файлы:
- pcb.lay (69 Кб)
- pcb.pdf (20 Кб)
- 2_firmware+MCAD+Proteus.zip (48 Кб)
Комментарии (24) | Я собрал (0) | Подписаться
Для добавления Вашей сборки необходима регистрация
Если сами прошивку писали добавите флаг, который инвертируется каждый раз при нажатии кнопки Проверяем его состояние и если одно то один канал иначе другой. Ну и на дисплей выводить какой канал активен.
2. Неплохо бы чтобы провод можно было помещать в кольцо без разрыва, ну как на токовых клещах. Может зазор дополнительно расточить, датчик прятать в этот зазор, но чтобы оставался зазор, чтобы провод можно было пропустить через него.
3. Имеет смысл добавить измерение напряжения а так же подумать как вычислять коэффициент использования сетевого напряжения. Ведь у тебя еще кучка по мультиплексору АЦП.
Забыл только добавить!
Использовать внутренний ИОН в качестве опорника-плохо!
У Вас не блымает значение младших разрядов?
Иногда эту проблему решают беря н-ное количество выборок и потом деля значение на взятое количество. Но это устраняет только блымание, но никак не погрешность, которая может возникнуть. Вобщем внутренний ион атмеги для АЦП использовать-фуфло!
[Автор]
1. Исправил прошивку и текст статьи, сейчас на модерации. Но вывод на дисплей не сделал, места и так маловато всего 8x2. К тому же канал можно определить по числу знаков после запятой
2.Согласен, было бы намного удобнее. В принципе можно сделать большой зазор, но тогда и сам феррит должен быть больше по диаметру. Либо делать размыкающиеся клещи
3. Попробуем и такое
Насчет ИОН вы правы, ноль амперметр никак не хочет показывать, в статье написано об этом. К тому же сам датчик SS494B дает достаточно большой уровень шума. Пробовал подключать к его выходу кондер на 1мкФ, добился таки нуля, но только в режиме 50А. Если переключить в 10А, все равно остается около 20mA вместо нуля.
[Автор]
[Автор]
Но даже в таком виде прибор может пригодится например в автомобиле, где токи нередко превышают 10А, обычный мультик не справится
2. Токовые клещи, те что подороже обычных имеют и постоянный ток измерять.
3. Есть вот такие ферритовые изделия с защелкой
ZCAT1730.
Даже статья попадалась, где какой то чувачок делал систему измерения тока ВЧ по моему в антенне, с помощью такого такого тока съемника.
Там защелка не плохая, а из за того что ферритовые половинки надежно закреплены к кожухе смещения в зависимости от разной ситуации не бывает. но разве что если диаметр проводника окажется чрезмерно большим. Но тогда просто защелки не закроются.
[Автор]
Попробовал поднести ферритовый магнит к плате - "ток" появляется на расстоянии 15 см примерно. Это также зависит от ориентации магнита, например если кольцевой магнит расположить соосно с отверстием для провода, то на экране остаются нулевые значения, даже если вплотную поднести магнит.
Магнитное поле Земли дает максимум "20mA", большего добиться не получилось, как только ни вращал
П.С. Всётаки токовые клещи лучше потому что не нужно размыкать провод с нагрузкой дабы продеть его через окно тора.
[Автор]
На практике RMS правильно измеряется. Правда насчет токов высокой частоты ничего не могу сказать, не пробовал их измерять. За идею с микросхемой спасибо, я так понимаю речь идет о микросхемах типа AD637.
Магнитное поле Земли особо не влияет, показания меняются максимум на 20mA.
Насчет последнего пункта согласен, если не требуется измерять постоянный ток, то клещи удобнее
Касательно микросхем я измерял ток и поэтому INA225. Хотя по сути можно преобразовать напряжение в ток....
я использовал 20А-ный датчик тока от положения микры показания тока изменялся от 3 до 6 А, реально было 6А.
Уже давно есть клещи которые меряют постоянку, которые кстати работают на датчике холла :)...
[Автор]
[Автор]
и наверное придется переписать функцию вывода на экран LcdWriteNumber(), чтобы числа округлялись до целых
[Автор]
[Автор]
Насчет диаметра не уверен, но думаю показания не будут сильно зависеть