Миллиамперметр своими руками схема

Миллиомметр с ЖК-индикатором на Arduino своими руками

MCP3422 LT3092 ULN2003

У каждого радиолюбителя, инженера, разработчика есть различного рода измерительные приборы. Это могут быть как сложные многофункциональные приборы промышленного изготовления, так и простые вольтметры, амперметры, измерители емкости аккумуляторов, омметры, измерители ESR, которые собраны своими руками. Об одном из таких приборов, который пригодиться любому радиолюбителю, пойдет речь в статье (Рисунок 1).

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

Рисунок 1. Миллиомметр с ЖК-индикатором на Arduino.

В сети Интернет можно встретить много подобных конструкций, но в статье мы рассмотрим версию прибора, которая отличается реализацией аппаратной части. В миллиомметре используется прецизионный приемник тока и аналого-цифровой преобразователь (АЦП) высокого разрешения. Управление приемником тока (для выбора диапазона измерений) и АЦП осуществляет микроконтроллер (МК) на плате Arduino Nano (Рисунок 2). Полный список компонентов, примененных в приборе, приведен в Таблице 1 ниже.

Рисунок 2. Принципиальная схема миллиомметра на Arduino.

Микросхема LT3092 представляет собой интегральный прецизионный источник тока, но в данной конструкции используется в режиме приемника тока (или источника втекающего тока). Для управления приемником тока использованы цепи на транзисторах T1, T2, T3 и резисторах R12, R13, R14. Управление транзисторами (выбор диапазона измерения) выполняет МК через микросхему ULN2003 (набор мощных составных ключей).

В качестве АЦП используется микросхема MCP3422A0. Это 18-разрядный двухканальный АЦП последовательного приближения со встроенным источником опорного напряжения и выходным интерфейсом I 2 C. Входные каналы АЦП являются дифференциальными, поэтому в приборе используется только один канал микросхемы (CH1+ и CH1-), который подключается к тестируемому резистору (сигналы S+ и S-). АЦП настроен на разрешение 18 бит, но, поскольку S+ всегда больше чем S-, эффективное разрешение будет 17 бит.

Чтобы уменьшить влияние сопротивления измерительных проводов (щупов) на результаты измерений, в приборе для подключения исследуемого резистора к точке измерения используются специальные тестовые зажимы Кельвина (Рисунок 3). Это 4-проводные щупы предназначенные для измерения сопротивления методом Кельвина.

Рисунок 3. Специализированные тестовые щупы Кельвина.

Прибор имеет три диапазона измерений:

  • Диапазон 0m1: от 0.1 мОм до 12.999 Ом;
  • Диапазон 1m0: от 1 мОм до 129.999 Ом;
  • Диапазон 10m: от 10 мОм до 1299.99 Ом.

Выбор диапазона измерения производится одной из двух кнопок в приборе. Результаты измерений и текущий диапазон измерения отображаются на двухстрочном ЖК индикаторе (стандартный ЖК индикатор 16×2).

Питается прибор от внешнего блока 12 В. Питание измерительных цепей, приемника тока, АЦП, ЖК индикатора осуществляется от встроенного на плату Arduino Nano регулятора напряжения 5 В.

Из-за сложности проекта не рекомендуется выполнять монтаж элементов на монтажной плате, это отнимет много времени и не исключит ошибки. Для прибора была разработана печатная плата в САПР Eagle. Внешний вид проекта печатной платы изображен на Рисунке 4. Схема и проект печатной платы доступны для скачивания в разделе загрузок. Вид готовой платы представлен на Рисунке 5. Как можно заметить (по печатной плате и по списку примененных компонентов), большинство элементов в корпусах для поверхностного монтажа, поэтому для их установки потребуется пинцет, паяльный фен или паяльник с тонким жалом.

Рисунок 4. Проект печатной платы для миллиомметра разработан в САПР Eagle.
Рисунок 5. Внешний вид готовой печатной платы миллиомметра на Arduino.
Таблица 1. Список примененных компонентов.
Обозначение в схеме Количество Описание, корпус
C1, C2, C3, C4 4 100 нФ, 50 В, SMD 0603, X5R
R1, R2, R5, R6, R7, R8,
R9, R16, R17
9 4.7 кОм, 5%, SMD 0603
R3, R4, R18, R19, R20 5 470 Ом, 5%, SMD 0603
R10 1 30.9 кОм, 0.1%, SMD 0603
R11 1 31.6 кОм, 0.1%, SMD 0603
R12 1 1 Ом, 0.5%, SMD 1206
R13 1 10 Ом, 0.1%, SMD 0603
R14 1 100 Ом, 0.1%, SMD 0604
R15 1 Самовосстанавливающийся предохранитель,
250 мА, SMD 1206
D1 1 Защитный диод, SMBJ12CA-13-F
D2 1 Диод Шоттки, B340LB-13-F
D3, D4 2 MMBZ10VAL, SMD SOT23
IC1 1 Arduino Nano
IC2 1 MCP3422A0, SMD SOIC8
IC3 1 ULN2003APWR, SMD TSSOP16
IC4 1 LT3092EST
T1 1 PSMN0R9-25YLC, SMD LFPAK
T2, T3 2 PMV20EN, SMD SOT23
J1, J2, J4 3 2—выводные угловые разъемы на плату
J3, J5 2 4-выводные угловые разъемы на плату
Читайте также:  Мангал с котлом своими руками

Корпус

Чтобы прибор имел презентабельный вид, для него был разработан алюминиевый корпус. Необходимые файлы проекта (Inkscape), шаблоны и трафареты также доступны в разделе загрузок.

На передней панели прибора расположены кнопки управления (выбор диапазона измерения, удержание показаний), разъемы для подключения тестовых щупов и ЖК-индикатор. Внешний вид передней панели прибора и расположение на ней кнопок, разъемов и индикатора изображено на Рисунке 6.

Рисунок 6. Вариант передней панели и корпуса миллиомметра.

Подключение ЖК-индикатора, разъемов и кнопок указано на Рисунке 7. На рисунке отмечено: 1 – печатная плата прибора, 2 – разъем внешнего питания, 3 – ЖК-индикатор, 4 –разъемы для тестовых щупов Кельвина, 5 –кнопки управления.

Рисунок 7. Подключение кнопок управления, ЖК индикатора, тестовых щупов к разъемам на
печатной плате миллиомметра.

Программная реализация

Алгоритм работы прибора и сам код довольно сложны. Необходимо установить диапазон измерения, управляя входами ULN2003 (выходы Arduino D10, D11, D12), который вместе с режимом работы (определяется состоянием кнопок) учитывается в дальнейшем. Затем выполняется считывание АЦП для расчета сопротивления и отображение значения на индикаторе.

С целью упрощения программного кода в скетче было использовано несколько библиотек, в том числе Wire.h, LiquidCrystal_I2C и библиотека для работы с EEPROM. Библиотека Wire используется для облегчения процесса обмена данными по шине I 2 C между Arduino, ЖК индикатором и АЦП. Частота тактового сигнала шины I 2 C выбрана 400 кГц. Библиотека LiquidCrystal_I2C (не предустановленная в Arduino IDE) помогает взаимодействовать с ЖК-индикатором, а библиотека EEPROM используется для доступа к энергонезависимой памяти МК, обеспечивая хранение информации о режиме работы и диапазоне измерения.

Библиотеки Wire и EEPROM предуставновлены в среде Arduino IDE, библиотеку LiquidCrystal_I2C можно установить с помощью менеджера билиотек.

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

После компиляции скетча в Arduino IDE загрузите его в плату, и, если все правильно собрано, прибор запустится (Рисунок 8).

Рисунок 8. Работа миллиомметра, если к измерительным щупам ничего не подключено.

Если подключить к измерительным щупам резистор с сопротивлением миллиомного диапазона, то на индикаторе вы увидете значение сопротивления (Рисунок 9).

Рисунок 9. К измерительным щупам миллиомметра подключен тестовый резистор.

Ниже вы можете посмотреть видео о работе миллиомметра.

Источник

PowerScope — миллиамперметр/вольтметр для мониторинга потребляемой мощности устройств на микроконтроллерах

Как известно, практически все современные микроконтроллеры поддерживают несколько режимов работы, включая энергосберегающие режимы, которые позволяют экономить ресурс батареи. Однако не всегда просто наглядно почувствовать снижение энергопотребления и выбрать оптимальный режим работы микроконтроллера. Рассматриваемое устройство PowerScope представляет собой компактный модуль с ЖК индикатором, выполняющий функции измерения и мониторинга напряжения питания, потребляемого тока и потребляемой мощности целевым устройством (Рисунок 1).

Рисунок 1. Внешний вид модуля миллиамперметра/ вольтметра PowerScope.

Основная цель данного миллиамперметра/вольтметра – помощь при разработке устройств на микроконтроллерах и устройств с батарейным питанием. PowerScope обеспечивает мониторинг напряжения питания и потребляемого тока и позволяет быстро оценить изменение уровня энергопотребления устройства при внесении каких-либо изменений в схему или программный код на стадии разработки. Модуль может применяться на этапе прототипирования устройства на макетной плате, или же как отдельный измерительный прибор.

Спецификация устройства:

  • диапазон измерения напряжения 0 В – 10 В с разрешением 0.1 В;
  • диапазон измерения тока:
    • верхний диапазон: 0 мА – 300 мА с разрешением 0.01 мА;
    • нижний диапазон: 0 мкА – 300 мкА с разрешением 0.01 мкА;
  • функция вычисления потребляемой целевым устройством мощности (на основе данных о потребляемом токе и напряжении питания);
  • защита от переполюсовки питания;
  • напряжение питания модуля 3.5 В – 10 В;
  • ток потребления модуля 8.5 мА;
  • схема защиты от перенапряжения по входу до ±40.0 В;
  • частота выборок 1 кГц;
  • встроенная функция установки нуля и калибровки вольтметра;
  • встроенная функция установки нуля и калибровки миллиамперметра для двух указанных диапазонов.
Читайте также:  Построить усилитель своими руками

Принципиальная схема

Основные электронные компоненты модуля: микроконтроллер MSP430G2402 компании Texas Instruments, микросхема инструментального усилителя AD8226 компании Analog Devices, специализированная микросхема аналогового интерфейса MCP3911 компании Microchip и двухстрочный ЖК индикатор (Рисунок 2).

Рисунок 2. Принципиальная схема модуля миллиамперметра/вольтметра PowerScope.

MSP430G2402 – это 16-разрядный микроконтроллер смешанных сигналов с ультранизким энергопотреблением, встроенной Flash-памятью программ 8 Кбайт, 16-разрядным таймером и коммуникационной периферией. Учитывая применение в нашем устройстве специализированной микросхемы MCP3911, речь о которой пойдет ниже, ресурсов микроконтроллера вполне достаточно для выполнения необходимых преобразований, вычислений и управления ЖК индикатором. Микроконтроллер тактируется от встроенного осциллятора 16 МГц.

Микросхема инструментального (измерительного) Rail-to-Rail усилителя AD8226 в нашей схеме выполняет роль буферного усилителя сигнала от шунтирующего резистора (датчика тока) в цепи измерения тока. Микросхема допускает работу с однополярным питанием и имеет низкое собственное энергопотребление. Возможный диапазон коэффициентов усиления микросхемы составляет 1 – 1000.

Основные характеристики микросхемы AD8226:

  • способ установки усиления: внешним резистором;
  • диапазон напряжений питания: 2.2 В…36 В;
  • типовое значение тока потребления: 350 мкА;
  • диапазон входных сигналов от –0.1 В до напряжения на 0.6 В ниже уровня шины питания;
  • максимальный размах выходных сигналов близок к разности напряжений питания (Rail-to-Rail Output);
  • типовое значение входного тока 20 нА;
  • полоса пропускания (при Ку=1): 1.5 МГц.

В схеме применяются два резистивных шунта для измерения протекающего тока (а для испытуемого устройства – это ток потребления) для двух диапазонов измерений. Номиналы резисторов: 1 Ом для верхнего диапазона (миллиамперы) и 1000 Ом для нижнего диапазона (микроамперы). Переключение диапазонов ручное, с помощью переключателя PS2.

Для отображения измеренных значений тока и напряжения и вычисленного значения потребляемой мощности используется модуль двухстрочного ЖК индикатора типа NHD-C0216CZ-FSW-FBW-3V3-ND с последовательным интерфейсом (I 2 C-совместимый), встроенный контроллер ST7032. Для подключения такого ЖК индикатора к микроконтроллеру потребуется всего 5 линий ввода/вывода. Возможно применение другого ЖК индикатора, но тогда придется корректировать программу микроконтроллера. Управление индикатором осуществляется с помощью готовой программной библиотеки функций.

Входной аналоговый интерфейс и АЦП

Как вы, наверное заметили, используемый в схеме микроконтроллер не имеет встроенного аналого-цифрового преобразователя. Такой микроконтроллер был выбран из семейства MSP430 не случайно – задача преобразования аналоговых значений тока и напряжения возложена на микросхему аналогового интерфейса MCP3911 (Рисунок 3).

MCP3911 – это двухканальный аналоговый входной блок (Analog Front End), который включает в себя два прецизионных 24-битных дельта-сигма аналого-цифровых преобразователя (АЦП), работающих при напряжении питания 3 В. Микросхема разрабатывалась для применения в электронных счетчиках электроэнергии. Диапазон напряжений питания от 2.7 до 3.6 В позволяет питать микросхему от того же источника, что и микроконтроллер. В микросхеме предусмотрен внутренний источник опорного напряжения с низким температурным коэффициентом вместе с программируемым усилителем на каждом канале, что требуется в задачах измерения и управления.

Рисунок 3. Блок-схема микросхемы MCP3911.

Управление и обмен данными с микросхемой осуществляется по высокоскоростному последовательному интерфейсу SPI. Микроконтроллер использует встроенный модуль последовательного интерфейса, который конфигурируется в режим SPI. В качестве источника тактовой частоты для микросхемы MCP3911 применяется внешний кварцевый резонатор 4 МГц. Полное конфигурирование микросхемы осуществляется микроконтроллером также по интерфейсу SPI после подачи питания. Исходный код программы микроконтроллера хорошо закомментирован, что позволит пользователям разобраться в алгоритме работы с микросхемой.

Для измерения напряжения используется канал 0 АЦП микросхемы MCP3911 и делитель напряжения на резисторах R8 и R5. Для измерения тока используется канал 1 АЦП, на который подается выходной сигнал с инструментального усилителя AD8226. Микросхема MCP3911, как упоминалось выше, содержит встроенный источник опорного напряжения, который можно использовать и в качестве истоника опорного напряжения для инструментального усилителя, что позволяет упростить схему и уменьшить количество внешних компонентов. Включение источника опорного напряжения также осуществляется на этапе конфигурирования микросхемы.

Читайте также:  Коряга изделия своими руками

Питание модуль может получать от внешнего источника или от источника питания испытуемого устройства или схемы. Все электронные компоненты модуля питаются от регулятора напряжения 3.3 В серии MCP1824. Для выбора источника питания используется 3-контактная перемычка-разъем, на схеме она обозначена JP5 и JP6. В случае питания от внешнего источника необходимо подать напряжение в диапазоне 4.5 В – 10 В на контакты 1 и 2 разъема JP5. Диод D2 предназначен для защиты от переполюсовки. Если модуль питается от источника питания испытуемого устройства, то необходимо замкнуть контакт 1 разъема JP6 с контактом 1 разъема JP5 (Рисунок 4).

Рисунок 4. Выбор источника питания модуля миллиамперметра/вольтметра.

Переключатель PS2 предназначен для выбора диапазона измерения тока, кнопки, подключенные к портам микроконтроллера P2.5 (Режим), P2.4 (Вниз) и P2.3 (Вверх), используются для управления режимом работы и калибровки прибора.

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

Рисунок 5. Расположение элементов на печатной плате.

Калибровка измерительной части прибора

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

С помощью кнопки «Режим» выбирается значение для установки нуля или калибровки, кнопки «Вверх» и «Вниз» используются для изменения значения. Измеренное значение отображается в верхнем правом углу на индикаторе в реальном времени, константа калибровки, которая будет использоваться в программе микроконтроллера, отображается в нижнем правом углу (Рисунок 6). Положение переключателя диапазона измерения тока определяет какой диапазон будет калиброваться. при выходе из режима калибровки, установленные константы записываются в секцию «Info» Flash- памяти микроконтроллера.

Рисунок 6. Режим калибровки показаний и установки нуля.

Если в процессе калибровки вы видите необходимость установки значения константы выше 1200 или ниже 800, то следует проверить исправность и номинал резистора-шунта и резистора R9 для установки коэффициента усиления инструментального усилителя.

Исходный код программы микроконтроллера написан на языке Си в интегрированной среде разработки Code Composer Studio. Программирование микроконтроллера можно выполнить с помощью отладочной платформы LaunchPad, которая подключается к ПК по USB интерфейсу. Для программирования используется 4-контактный разъем JP4 (на печатной плате можно оставить просто контактные площадки).

Примечание.

В приборе возможно использование шунтирующих резисторов с меньшим номиналом – 0.1 Ом для верхнего диапазона и 100 Ом для нижнего диапазона измерения тока. Если вы решите использовать такие резисторы, то после их замены необходимо выполнить следующие действия:

  • заменить резистор R9 с сопротивлением 54.9 кОм на резистор 4.99 кОм;
  • в исходном коде программы микроконтроллера снять признак комментария в строке // #define LOW_SHUNTS;
  • скомпилировать код для получения прошивки микроконтроллера.

Демонстрация работы измерительного прибора PowerScope (Рисунок 7, 8).

Рисунок 7. Измерение потребляемого тока и мощности схемы на КМОП таймере, генерирующей сигнал с частотой 100 Гц. Модуль PowerScope и схема питаются от одного источника питания 5 В.
Рисунок 8. Энергопотребление микроконтроллера MSP430G2211, который находится в энергосберегающем режиме работы 4. По спецификации на микроконтроллер – номинальное значение 0.1 мкА. Напряжение питания модуля 5 В, напряжение питания схемы 3.3 В.

Загрузки

Исходный код, прошивка, принципиальная схема и печатная плата (PDF, Eagle), список компонентов – скачать

Перевод: Vadim по заказу РадиоЛоцман

Источник

Оцените статью
Своими руками