Подключение датчика индуктивности к ардуино

Digitrode

цифровая электроника вычислительная техника встраиваемые системы

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

Для создания цепей с индуктивностями, например, резонаторных схем, как правило, нам нужно рассчитать и использовать дроссель или катушку индуктивности. Но мы не можем измерить значение индуктивности нашим простым мультиметром. Для этого нужен LCR-измеритель. Мы можем купить его, либо сделать его своими руками. Измерители LCR слишком дороги, а если нам не нужно измерять емкость и сопротивление, то можно сделать простой и недорогой измеритель индуктивности.

Измеритель индуктивности используется для измерения неизвестного значения индуктивности. Для большей точности и точных показаний мы будем использовать микроконтроллер (Arduino) в качестве мозга схемы.

Схема подключения компонентов измерителя индуктивности на основе Arduino приведена далее. Для вывода измеренных значений здесь используется ЖК-дисплей.

Схема также содержит операционный усилитель, в данном случае LM339 благодаря его простоте и невысокой стоимости. Здесь операционный усилитель используется в качестве компаратора, который измеряет напряжение и сравнивает значения напряжения.

Резистор 330 Ом используется в качестве подтягивающего резистора и подключается к контакту 1 Lm339 к цифровому контакту 11 платы Arduino. Резистор 150 Ом используется после диода и дополнительно подключается к цифровому контакту 13 платы Arduino. Также мы используем конденсатор емкостью 0,2 мкФ и один емкостью 100 НФ.

Мы можем заменить операционный усилитель на lm358, 741 или любой другой с такой же конфигурацией. Но в этом случае предпочтительнее малошумящий операционный усилитель.

Далее приведен код программы измерителя индуктивности на основе Arduino. Он состоит из следующих разделов:

  • Инициализация всех значений
  • Выбор емкости конденсатора
  • Преобразование значений миллигенри и микрогенри (мГн и мкГн)
  • Вывод результата через последовательный монитор
  • Вывод результата на ЖК-дисплее 16X2

Источник

Digitrode

цифровая электроника вычислительная техника встраиваемые системы

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

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

Существуют некоторые специальные мультиметры, которые могут измерять индуктивность и емкость, но они являются дорогими. Но можно собрать такой LC-метр своими руками. Это можно сделать с помощью Arduino, как будет показано в данном проекте, в котором мы будем измерять и выводить значения индуктивности и емкости вместе с частотой на ЖК-дисплее 16×2.

В этом проекте мы будем измерять индуктивность и емкость, используя параллельную цепь LC. Эта схема напоминает контур, который начинает резонировать на определенной частоте. Всякий раз, когда мы прикладываем импульс, эта LC-цепь начнет резонировать, и эта резонансная частота будет в форме аналоговой (синусоидальной волны), поэтому нам нужно преобразовать ее в меандр. Для этого мы прикладываем эту аналоговую резонансную частоту к операционному усилителю (741 в нашем случае), который осуществляет такое преобразование при 50% скважности. Теперь мы измеряем частоту, используя Arduino, и, используя некоторый математический расчет, мы можем найти индуктивность или емкость. Для определения частоты используется такая формула:

Здесь время выводится функцией pulseIn(). Теперь получим частоту LC-контура:

f=1/2*Pi* квадратный корень от (LC)

Мы можем решить это, чтобы получить индуктивность:

L = 1/(4* Pi * Pi * f * f * C)

Как мы уже говорили, наш сигнал является синусоидальной волной, поэтому она имеет тот же период времени как в положительной, так и в отрицательной амплитудах. Это означает, что компаратор преобразует его в квадратную волну с 50% скважностью. Чтобы мы могли измерить это с помощью функции pulseIn(). Эта функция даст нам период времени, который можно легко преобразовать в частоту путем обратного пропорциональности периода времени. Поскольку функция pulseIn измеряет только один импульс, так что теперь, чтобы получить правильную частоту, мы должны умножить ее на 2. Теперь мы имеем частоту, которая может быть преобразована в индуктивность, используя приведенную выше формулу. При измерении индуктивности (L1) значение конденсатора (C1) должно составлять 0,1 мкФ, а при измерении емкости (C1) значение индуктивности (L1) должно составлять 10 мГн.

Схема подключения Arduino для реализации измерителя индуктивности и емкости (LC-метр) представлена ниже. Цепь LC состоит из катушки индуктивности и конденсатора. Чтобы преобразовать синусоидальную резонансную частоту в цифровую или прямоугольную волну, мы использовали операционный усилитель, а именно 741. Здесь нам нужно применить отрицательное напряжение питания к операционному усилителю для получения точной выходной частоты. Таким образом, мы использовали 3-вольтовую батарею, подключенную с обратной полярностью, означает, что отрицательный контакт 741 подключен к отрицательной клемме аккумулятора, а положительный контакт батареи подключен к заземлению оставшейся цепи.

Здесь у нас есть кнопка для изменения режима работы, независимо от того, измеряем индуктивность или емкость. ЖК-дисплей 16×2 используется для показа индуктивности или емкости с частотой LC-схемы. Для контроля яркости ЖК-дисплея используется 10-килоомный потенциометр. Цепь питается от питания Arduino 5v. Код программы для Arduino представлен далее.

Источник

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

Arduino

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

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

Устройство представляет собой измеритель частоты LC генератора, выполненного по схеме емкостной трехточки (генератор Колпитца, Colpitts Oscillator) на основе комбинации индуктивности и емкости. Величина емкости известна заранее – это конденсатор в схеме колебательного контура, к которому щупами мы будем подключать неизвестную индуктивность. В таком случае LC генератор начнет работать на некоторой частоте, измерением которой занимается контроллер 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).

Источник

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

Любители электроники наверняка знакомы с таким прибором как мультиметр, с помощью которого можно измерять напряжение, ток, сопротивление и т.д. Со всем этим мультиметр справляется достаточно легко. Но иногда у любителей электроники возникает необходимость измерения индуктивности и емкости и с этой задачей уже не справится обычный мультиметр. Для этой цели созданы специализированные мультиметры, но они стоят значительно дороже обычных.

На нашем сайте мы уже рассматривали создание измерителя емкости, измерителя частоты и измерителя сопротивления (омметра) на основе платы Arduino. А в этой статье мы рассмотрим создание измерителя емкости и индуктивности (Inductance LC Meter) на основе платы Arduino. Измеренные значения емкости и индуктивности мы будем показывать на экране ЖК дисплея 16х2. Кнопка в схеме проекта будет использоваться для переключения между режимом измерения емкости и индуктивности.

Необходимые компоненты

  1. Плата Arduino Uno (купить на AliExpress).
  2. Микросхема операционного усилителя 741.
  3. ЖК дисплей 16х2 (купить на AliExpress).
  4. Батарея на 3v (для питания операционного усилителя) и источник питания для остальной части схемы.
  5. Резистор 100 Ом (купить на AliExpress).
  6. Конденсаторы (купить на AliExpress).
  7. Индуктивности.
  8. Диод 1n4007 (купить на AliExpress).
  9. Резистор 10 кОм (купить на AliExpress).
  10. Потенциометр 10 кОм (купить на AliExpress).
  11. Кнопка.
  12. Макетная или печатная плата и соединительные провода.

Внешний вид некоторых из использованных в проекте компонентов показан на следующем рисунке.

Расчет частоты и индуктивности

В этом проекте мы будем измерять емкость и индуктивность с помощью LC цепи, включенной параллельно – то есть, по сути, это хорошо известный нам LC контур. Эту цепь можно сравнить со звонком, который начинает резонировать на определенной частоте. При подаче на эту цепь импульса она начинает резонировать и на ее выходе образуется синусоидальное колебание на резонансной частоте. Это синусоидальное колебание нам необходимо преобразовать в прямоугольную волну. Для этого мы будем использовать операционный усилитель на микросхеме 741, который будет преобразовывать синусоидальное колебание в последовательность прямоугольных импульсов с коэффициентом заполнения 50%. Затем мы будем измерять частоту этих импульсов с помощью платы Arduino и затем с помощью ряда математических преобразований мы можем определить измеряемые индуктивность или емкость. Для этого мы будем использовать обычную формулу, связывающую частоту и время для прямоугольной волны:

где time (время) будет определяться с помощью функции pulseIn() .

Также нам известна формула для расчета частоты LC контура:

f=1/2*Pi* square root of (LC)

square root – квадратный корень.

Из этого выражения мы можем выразить индуктивность L:

f 2 = 1/ (4Pi 2 LC)
L= 1/ (4Pi 2 f 2 C)
L = 1/(4* Pi * Pi * f * f * C)

Поскольку синусоидальная волна с выхода LC контура имеет одинаковую длительность положительность и отрицательной полуволны, то компаратор на основе операционного усилителя преобразует ее в прямоугольную волну (последовательность прямоугольных импульсов) с коэффициентом заполнения 50% — мы можем измерить частоту этой прямоугольной волны с помощью функции pulseIn() в Arduino. Эта функция определит нам временной период, который мы затем переведем в значение частоты с помощью выше приведенной формулы. Поскольку функция pulseIn измеряет только один импульс, поэтому чтобы получить правильное значение частоты мы его в формуле умножаем на 2. А когда у нас значение частоты, мы с помощью формулы для LC контура определим значение индуктивности.

Примечание : во время измерения индуктивности (L1) емкость C1) в нашем проекте должна быть 0.1 мкФ, а во время измерения емкости (C1) индуктивность (L1) должна быть равна 10 мГн. Если вы хотите изменить эти значения, то вам необходимо будет внести соответствующие изменения в код программы.

Работа схемы

Схема измерителя емкости и индуктивности на основе платы Arduino представлена на следующем рисунке.

Плата Arduino в этой схеме управляет всеми процессами. Для измерения емкости или индуктивности используется LC контур, состоящий из конденсатора и катушки индуктивности. Для преобразования синусоидальной волны с выхода LC в прямоугольную волну мы использовали операционный усилитель на микросхеме 741. Для этого мы должны подать отрицательное напряжение питания на операционный усилитель – с этой целью мы используем батарейку на 3 В, соединенную в отрицательной полярности. Это означает что отрицательный контакт микросхемы 741 подключен к отрицательному контакту батареи, а положительный контакт батареи подключен к земле схемы.

Кнопка в схеме используется для смены режима – измерения емкости или индуктивности. ЖК дисплей используется для отображения результатов измерений. Потенциометр предназначен для управления яркостью ЖК дисплея. Схема запитывается от контакта 5v платы Arduino, а саму плату Arduino можно запитать через USB кабель от компьютера или с помощью адаптера на 12 В.

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

Объяснение программы для Arduino

Полный код программы приведен в конце статьи, здесь же мы рассмотрим его основные фрагменты.

Сначала в программе нам необходимо подключить библиотеку для работы с ЖК дисплеем и инициализировать необходимые нам для работы контакты и переменные.

Источник

Adblock
detector