Altinkaya: турецкие корпуса для РЭА

Измеритель индуктивности на Arduino

Arduino

Журнал РАДИОЛОЦМАН, январь 2016

soldernerd.com

В статье мы рассмотрим простую конструкцию, которая, по сути, является Arduino Uno-совместимой платой расширения, позволяющей измерять индуктивность. Такой прибор просто необходим при разработке радиочастотных трактов, импульсных источников питания и DC/DC преобразователей. Автор конструкции посчитал, что это именно тот функционал, который отсутствует во многих цифровых измерительных приборах-мультиметрах. Существуют специализированные измерители LCR, но зачастую они не позволяют измерять напряжение и ток, поэтому автором было решено сконструировать отдельное устройство для измерения индуктивности (Рисунок 1).

Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Измеритель индуктивности на Arduino - Плата расширения
Рисунок 1. Плата расширения Arduino для измерения индуктивности.

Устройство представляет собой измеритель частоты LC генератора, выполненного по схеме емкостной трехточки (генератор Колпитца, Colpitts Oscillator) на основе комбинации индуктивности и емкости. Величина емкости известна заранее – это конденсатор в схеме колебательного контура, к которому щупами мы будем подключать неизвестную индуктивность. В таком случае LC генератор начнет работать на некоторой частоте, измерением которой занимается контроллер Arduino. Зная величину емкости и частоту, контроллер по известной простой формуле выполняет вычисление значения индуктивности. Измеренная частота и вычисленное значение индуктивности отображаются на двухстрочном ЖК-индикаторе.

Принципиальная схема измерителя индуктивности на Arduino (плата расширения)
Рисунок 2. Принципиальная схема измерителя индуктивности
на Arduino (плата расширения).

Принципиальная схема платы расширения изображена на Рисунке 2. Плата выполнена в форм-факторе плат расширения Arduino Uno и подключается к разъемам Digital1, Digital2 и Power. Перечень использованных компонентов приведен в Таблице 1.

В схеме LC генератора последовательно с измеряемой индуктивностью установлена индуктивность 1 мкГн (L1), выполняющая две основные функции. Во-первых, при таком схемном решении LC генератор будет работать при коротком замыкании измерительных щупов, и текущее измерение может использоваться в качестве новой калибровки измерителя. Во-вторых, таким способом мы задаем верхний предел резонансной частоты. Как видно, в схеме генератора используются два конденсатора (С2, С3) емкостью 1 нФ, включенных последовательно. При коротком замыкании щупов последовательно в цепь включается индуктивность L1, которая и определяет верхний предел резонансной частоты, составляющий 7.1 МГц. На практике при указанных номиналах элементов генератор будет возбуждаться на частоте 5.4 МГц.

Преобразование синусоидального выходного сигнала генератора в прямоугольную форму выполняет компаратор Microchip MCP6561R. Это относительно недорогой, но быстрый компаратор, имеющий максимальную задержку распространения сигнала 80 нс, что соответствует диапазону рабочих частот генератора.

Как вы понимаете, 5.4 МГц – это тоже слишком быстро для Arduino. Микроконтроллер работает на частоте 16 МГц, а для обработки каждого импульса от платы расширения потребуется выполнить несколько десятков инструкций. Для решения этой проблемы используется микросхема 8-разрядного двоичного счетчика 74HC590, выполняющего роль делителя частоты на 256. Это дает теоретическую максимальную частоту 7.1 МГц/256 = 27.7 кГц, с которой Arduino прекрасно справится. Выходной сигнал SLOW_FREQ с делителя частоты поступает непосредственно в микроконтроллер для обработки.

Вид платы измерителя индуктивности со стороны ЖК индикатора
Рисунок 3. Вид платы измерителя индуктивности со стороны
ЖК индикатора.

По очевидным причинам на плате расширения установлены двухстрочный ЖК-индикатор и кнопка калибровки (Рисунки 3, 4). Индикатор подключен по 4-битному интерфейсу, для регулировки контрастности используется потенциометр R10. Нажатие кнопки калибровки приводит к обнулению измерителя – текущее измерение принимается как нулевое смещение; например, как мы упоминали выше, калибровку можно провести при замыкании щупов (включена индуктивность 1 мкГн).

Вид платы измерителя индуктивности без ЖК индикатора
Рисунок 4. Вид платы измерителя индуктивности без ЖК индикатора.

Подавление дребезга контактов выполняется аппаратно с помощью низкочастотного RC-фильтра и буфера на триггере Шмидта.

При разомкнутых щупах на ЖК индикаторе отображается текущее значение нулевого смещения
Рисунок 5. При разомкнутых щупах на ЖК индикаторе отображается
текущее значение нулевого смещения.

В рабочем режиме при разомкнутых измерительных щупах на дисплее отображается надпись «Not resonating» (отсутствует генерация) и текущее значение нулевого смещения (Рисунок 5).

Таблица 1. Перечень использованных компонентов
Обозначение
в схеме
Номинал
Примечание
R1
2.2 кОм
 
R2
330 Ом
 
R3, R4, R6, R8,
R11, R12
10 кОм
 
R5
3.3 кОм
 
R7, R13
100 кОм
 
R9
220 Ом
 
R10
10 кОм
Потенциометр или
подстроечный резистор
L1
1 мкГн
 
C1
22 мкФ × 16 В
 
C2, C3, C9
1 нФ
 
C4, C6, C7, C8,
C10, C11
100 нФ
 
Q1
Корпус SOT23
IC1
 
IC2
 
U1
 
LCD1
2-строчный символьный
ЖК индикатор

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

Результат измерения малой индуктивности
Рисунок 6. Результат измерения малой индуктивности.

После проведения корректной калибровки прибор способен измерять очень малые индуктивности с достаточно высокой точностью, что иллюстрируется Рисунком 6, на котором показан результат измерения катушки, имеющей всего 12 витков провода (300 нГн).

Загрузки

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

Материалы по теме

  1. Datasheet Microchip MCP6561R
  2. Datasheet NXP 74HC590
  3. Datasheet ON Semiconductor MC74VHC1GT50
  4. Datasheet NXP BFR92A
  5. Datasheet Hitachi HD44780U

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

На английском языке: Arduino-based Inductance Meter

44 предложений от 26 поставщиков
Коммутационная плата Arduino Sensor Shield V5.0 предназначена для расширения функциональности Arduino. Предназначена для облегчения коммутации периферийных устройств с платой Arduino Uno....
ЗУМ-СМД
Россия
TCRT5000 - IR Proximity Sensor Arduino14 ₽
TCRT5000 - IR Proximity Sensor Arduino HKSHANот 16 ₽
Элитан
Россия
RGB LED Module for Arduino30 ₽
PL-1
Россия
Кабель с разьемами для Arduino папа-папа (10 выводов)от 37 ₽
Электронные компоненты. Бесплатная доставка по России
Для комментирования материалов с сайта и получения полного доступа к нашему форуму Вам необходимо зарегистрироваться.
Имя
Фрагменты обсуждения:Полный вариант обсуждения »
  • Такой прибор очень полезен радиолюбителю. Конечно, есть готовые устройства с хорошей точностью показаний. Но какой же радиолюбитель не имеет в своем ассортименте самодельных приборов:) Для домашних условий пойдет. Для переносного использования лучше конечно совмещенные приборы брать, где уже и емкость и индуктивность и остальные базовые параметры измеряются
  • И вот пихают эту Arduino во все сообщения. Ну не катит она.Не катит и никогда не будет популярна. Все это для чайников.Потом поймут,что это хлам. Учится надо чему то серьезному.И учится сразу. И начинать серьезно.
  • Хороший и полезный прибор. Отличный компонент в домашнюю лабораторию радиолюбителя. Незаменим при разработке и наладке самых разнообразных устройств. При работе вне лаборатории чаще приходится контролировать параметры конденсаторов нежели индуктивность. За мою более чем сорокалетнюю практику таких случаев были единицы. Обычно, достаточно контроля целостности обмотки омметром (на обрыв).
  • Вот Вы это сейчас серьезно? За последние примерно 5 лет я наблюдаю, что наверно уже более 3/4 публикаций и проектов на микроконтроллерах являются именно проектами на "дуньке". Другой вопрос, что 90% из них ничего особо интересного из себя не представляют. Так оно и на голых AVR/PIC так же было. Конечно для чайников, оно так и задумывалось. Очень сильно "дунька" понизила порог вхождения в "микроконтроллерность". А китайские товарищи с ценами на готовую плату, ниже цены голого чипа, которую только USB-шнурком подключил - и заливай прошивку - докончили дело :) И что Вы называете хламом? Саму концепцию? Ну так тот же MBED, к примеру, не так уж сильно отличается, концептуально. Или Вы про AVR? Так есть альтернатива на том же STM32. Или про плату UNO? Это конечно говно редкостное :) уже только тем, что гребенку на полшага сместили (из маркетинговых соображений видимо, но все равно, руки бы пооторвал). Ну так есть более удобные Mini, Micro и Nano. Это для более менее рабочих поделий. А для обучения, впрочем, и формат UNO пойдет. Вы, извините, читать-писать с "Войны и мира" начали? А считать, видимо, с дифуров?
  • И если мне, приспичит вотпрямщаз какой нибудь сраный, извиняюсь за выражение, термостат, то я возьму из тумбочки "дуньку" и будет у меня через полчаса работающий девайс с TFT экранчиком, преферансом и поэтессами. :) И даже паяльник включать не придется :) Потому как мне просто жаль тратить свое время на всякую ерунду, вроде поиска в своих же архивах нужных либ и скрещивании ежа с ужом. Хотя я могу, в принципе, и на ассемблере то-же самое написать, вот только - оно мне надо?