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

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

Измеритель индуктивности в действии. Он отображает резонансную частоту вместе с индуктивностью.

Недавно я завершил небольшой Arduino проект. Это шилд для Arduino Uno, который позволяет измерять индуктивность. Данная функциональность обычно отсутствует в стандартном цифровом измерительном приборе.

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

Плата без дисплея

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

Основа схемы очень проста. Устройство представляет собой генератор Колпитца без катушки. Вы можете использовать измерительные щупы для подсоединения к катушке, которая будет обеспечивать резонанс. Далее Arduino измерит частоту, на которой генератор резонирует и вычислит индуктивность. Конденсаторы являются частью шилда и их емкость заранее известна.

При разомкнутых измерительных щупах генератор не может резонировать. Вместо этого отображается текущая калибровка/нулевое смещение.

На шилде установлена индуктивность величиной 1мкГн, которая подсоединена последовательно к измеряемой катушке. Она служит для двух целей: генератор может резонировать, когда вы закоротите измерительные щупы.

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

Это гарантирует, что программа остальной схемы сможет поддерживать работу генератора.

Нажатие данной синей кнопки обнуляет измеритель.

Как видно по схеме, генератор использует два конденсатора, емкостью 1нФ, соединенных последовательно. Вместе с индуктивностью 1мкГн, они ограничивают частоту до величины примерно 7.1МГц. На практике, генерируется частота величиной около 5.4МГц, когда измерительные щупы закорочены.

Вид снизу шилда Arduino

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

Вид сверху

Однако, естественно, частота 5.4МГц слишком высокая, чтобы поддерживаться Arduino. Arduino работает на частоте 16МГц и нуждается в нескольких дюжинах инструкций для обработки каждого импульса от шилда.

Мое решение было таким – добавить 8-битный двоичный счетчик 74HC590, который делит частоту на 256. Его использование позволяет обеспечить теоретическую максимальную частоту 7.2МГц / 256 = 27.7кГц.

А это уже то значение, с которым легко может справиться Arduino.

Весь шилд без дисплея

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

Устройство может измерять даже очень маленькие значения индуктивности

Все сопутствующие файлы можно загрузить по ссылке ниже. В него входит исходный код для Arduino (также называемый скетч), а также файлы Eagle и PDF-файлы компоновки и схемы.

Список радиоэлементов

ОбозначениеТипНоминалКоличествоПримечаниеМагазинМой блокнотIC1IC2U$1Q1С1С2, С3, С9С4, С6-С8, С10, С11С5R1R2R3, R4, R6, R8, R11, R12R5R7, R13R9R10R14LCD1G$1LED1S1L1Х3-1, Х3-2Digital1, Digital2, Power, Analog
Компаратор MCP6561 1 Поиск в Utsource В блокнот
Микросхема MC74VHC1GT50 1 Поиск в Utsource В блокнот
Специальная логика SN74HC590A 1 Поиск в Utsource В блокнот
Транзистор BFR92ASOT23 1 Поиск в Utsource В блокнот
Электролитический конденсатор 22 мкФ 1 Поиск в Utsource В блокнот
Конденсатор 1000 пФ 3 Поиск в Utsource В блокнот
Конденсатор 0.1 мкФ 6 Поиск в Utsource В блокнот
Конденсатор 1 мкФ 1 Поиск в Utsource В блокнот
Резистор 2.2 кОм 1 Поиск в Utsource В блокнот
Резистор 330 Ом 1 Поиск в Utsource В блокнот
Резистор 10 кОм 6 Поиск в Utsource В блокнот
Резистор 3.3 кОм 1 Поиск в Utsource В блокнот
Резистор 100 кОм 2 Поиск в Utsource В блокнот
Резистор 220 Ом 1 Поиск в Utsource В блокнот
Подстроечный резистор 10 кОм 1 Поиск в Utsource В блокнот
Резистор 10 Ом 1 Поиск в Utsource В блокнот
LCD-дисплей LCD_16x2 1 Поиск в Utsource В блокнот
Светодиод 1 Поиск в Utsource В блокнот
Тактовая кнопка 1 Поиск в Utsource В блокнот
Дроссель 1 мкГн 1 Поиск в Utsource В блокнот
Щуп для подключения к испытуемой детали 2 Поиск в Utsource В блокнот
Разьем 4 Поиск в Utsource В блокнот
Добавить все

Скачать список элементов (PDF)

Оригинал статьи

Прикрепленные файлы:

  • lmetershield.zip (431 Кб)

Источник: http://cxem.net/arduino/arduino141.php

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

» Схемы » Arduino · Измерения · Открытые МК-платформы

11-08-2016

Arduino

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

soldernerd.com

В статье мы рассмотрим простую конструкцию, которая, по сути, является 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).

Таблица 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 MCP6561R
IC2
U1 74HC590
LCD1 2-строчный символьныйЖК индикатор

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

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

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

Загрузки

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

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

Для комментирования материалов с сайта и получения полного доступа к нашему форуму Вам необходимо зарегистрироваться.
Фрагменты обсуждения: Полный вариант обсуждения »
  • Такой прибор очень полезен радиолюбителю. Конечно, есть готовые устройства с хорошей точностью показаний. Но какой же радиолюбитель не имеет в своем ассортименте самодельных приборов:) Для домашних условий пойдет. Для переносного использования лучше конечно совмещенные приборы брать, где уже и емкость и индуктивность и остальные базовые параметры измеряются
  • И вот пихают эту Arduino во все сообщения. Ну не катит она.Не катит и никогда не будет популярна. Все это для чайников.Потом поймут,что это хлам. Учится надо чему то серьезному.И учится сразу. И начинать серьезно.
  • Хороший и полезный прибор. Отличный компонент в домашнюю лабораторию радиолюбителя. Незаменим при разработке и наладке самых разнообразных устройств. При работе вне лаборатории чаще приходится контролировать параметры конденсаторов нежели индуктивность. За мою более чем сорокалетнюю практику таких случаев были единицы. Обычно, достаточно контроля целостности обмотки омметром (на обрыв).
  • Вот Вы это сейчас серьезно? За последние примерно 5 лет я наблюдаю, что наверно уже более 3/4 публикаций и проектов на микроконтроллерах являются именно проектами на “дуньке”. Другой вопрос, что 90% из них ничего особо интересного из себя не представляют. Так оно и на голых AVR/PIC так же было. Конечно для чайников, оно так и задумывалось. Очень сильно “дунька” понизила порог вхождения в “микроконтроллерность”. А китайские товарищи с ценами на готовую плату, ниже цены голого чипа, которую только USB-шнурком подключил – и заливай прошивку – докончили дело 🙂 И что Вы называете хламом? Саму концепцию? Ну так тот же MBED, к примеру, не так уж сильно отличается, концептуально. Или Вы про AVR? Так есть альтернатива на том же STM32. Или про плату UNO? Это конечно говно редкостное 🙂 уже только тем, что гребенку на полшага сместили (из маркетинговых соображений видимо, но все равно, руки бы пооторвал). Ну так есть более удобные Mini, Micro и Nano. Это для более менее рабочих поделий. А для обучения, впрочем, и формат UNO пойдет. Вы, извините, читать-писать с “Войны и мира” начали? А считать, видимо, с дифуров?
  • И если мне, приспичит вотпрямщаз какой нибудь сраный, извиняюсь за выражение, термостат, то я возьму из тумбочки “дуньку” и будет у меня через полчаса работающий девайс с TFT экранчиком, преферансом и поэтессами. 🙂 И даже паяльник включать не придется 🙂 Потому как мне просто жаль тратить свое время на всякую ерунду, вроде поиска в своих же архивах нужных либ и скрещивании ежа с ужом. Хотя я могу, в принципе, и на ассемблере то-же самое написать, вот только – оно мне надо?

При перепечатке материалов с сайта прямая ссылка на РадиоЛоцман обязательна.

Приглашаем авторов статей и переводов к публикации материалов на страницах сайта.

Источник: https://www.rlocman.ru/shem/schematics.html?di=162628

Измеритель толщины ЛКП на Arduino nano

В процессе поиска, подходящего для меня автомобиля с пробегом, столкнулся с необходимостью проверки лакорасочного покрытия (ЛКП) на однородность, для выявления крашеных или шпаклеваных деталей.

 Сначала в руки мне попал профессиональный измеритель толщины ЛКП, но давали мне его ненадолго, а процесс поиска машины, наоборот, растянут по времени. Измеритель пришлось вернуть владельцу, а подходящая машина найдена не была.

А нельзя ли сделать простейший измеритель толщины краски самому?
Первым результатом поиска по интернету, стала классическая схема, на основе двухобмоточного трансформатора с открытой магнитной системой.

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

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

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

А нельзя ли еще проще? Ход мыслей примерно такой: “если датчик – это индуктивность, значит нужно устройство измерения индуктивности”

Еще я вспомнил, что у меня валяется несколько плат Arduino. Брал пару лет назад поиграться.Сформулировал, для себя, задачу – “Измерение индуктивности на Arduino минимумом навесных деталей”.

В результате поисков, наткнулся на страницу https://github.com/sae/Arduino-LCQmeter/blob/master/LC-gen.ino

эта программа и стала прототипом простейшего измерителя ЛКП.В качестве основной платы, выбрана Arduino nano за небольшие габариты.

Суть работы в следующем: на измеряемый LC-контур подается импульс “накачки”, после чего запускается счетчик до до тех пор, пока сигнал на контуре, не пройдет через “0” компаратора, после чего процесс повторяется.

В результате, показания счетчика пропорциональны резонансной частоте LC контура.Сначала опробовал идею на столе, с выводом информации на компьютер.

Вроде работаетХотя у меня был LCD модуль, но с ним устройство получалось громоздким и требовало изготовления корпуса.Решил сделать индикацию толщины на светодиодах.

Нарисовал схему, спаял шилд на макетке, предусмотрел контроль напряжения батареи.

Проблемой оказалось изготовление катушки. Если чашек ферритовых броневых сердечников нашел много и разных, то каркасов катушек не нашел ни одного.

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

Провод взял минимальной толщины, какой был под рукой (около 0.08) количества витков не помню, что-то около 100. после намотки, одну щечку снял. и подталкивая за другую щечку поместил получившуюся катушку внутрь сердечника. Выпавшие витки, заправил в катушку пинцетом.

После этого капнул на витки суперклеем и закрыл катушку оставшейтся щечкой. Катушку на плате закрепил термоклеем.Конденсатор желательно металлопленочный, только не керамический, поскольку у керамики такой емкости недопустимый ТКЕ

В результате, получилась такая конструкция:

Текст программы для загрузки:  Скетч для Arduino.zip

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

Для калибровки, нужно прижать устройство к покрытию автомобиля, и нажать кнопку “калибровка”После проведения калибровки, значение толщины ЛКП, выраженное в “условных единицах” записывается в eeprom.для проведения измерения, прибор прикладывается к разным местам ЛКП автомобиля и нажимается кнопка “Измерение”.

Если отклонение измеренного результата от записанного, невелико, загорается зеленый светодиод.

Если отклонение превышает некоторую границу – загорается белый светодиод – “подозрительно”Если есть второй слой краски, или была полировка – загорается один из синих “краска” или “полировка”Если покрытие близко к нулю или превышает 0.2, то загораются красные светодиоды “шпаклевка” или “металл”

Каждое измерение толщины производится 3 раза, а потом значение усредняется. Возможно, одного раза достаточно. Это позволит получать результат практически мгновенно.

Не стоит рассматривать эту поделку, как образец готового изделия. Это всего лишь пример того, как можно решить поставленную задачу “подручными” средствами.

Но, подозреваю, что на основе этого измерителя, можно изготовить измеритель с профессиональной точностью.

Для этого нужно будет, качественно намотать катушку, подобрать конденсатор, с минимальным TKE, подключить экранный модуль, подобрать формулу пересчета “сырого” значения в микрометры.

Борис Падорин, ООО “Долина-Сервис”

Источник: http://dolina-s.ru/blog/page/izmeritel-tolshhiny-lkp-na-arduino

Мультитестер на Arduino своими руками | Каталог самоделок

За универсальным тестером будущее. Всего лишь при подсоединении щупов, универсальный пробник определяет сопротивление, ёмкость, ЭПС, диодную проводимость, распиновку и коэффициенты усиления транзисторов, прозванивает лампочки и светодиоды, сообщает на дисплее о повреждении электронного элемента. Работает подобный тестер автоматически, без переключения селектора или кнопок.

Для работы мультитестера нужен микроконтроллер минимум с 8 кБ флеш-памяти, такой как ATmega8, ATmega168, ATmega328.

Электрическая схема мультитестера на Arduino

Читайте также:  Мк-управление микрошаговым драйвером lb1847 из старого принтера

Характеристики тестера электроэлементов на Arduino:

  1. Сопротивление: 0…50 МОм, точность до 0.01 Ом (на ATmega8 точность 0.1 Ом).
  2. Ёмкость: 25 пФ…100 мФ, точность 0,1 пФ.
  3. ЭПС (эквивалентное последовательное сопротивление) определяется для емкостей 90нФ…100 мФ.
  4. Биполярные транзисторы: нахождение базы, коллектора, эммитера (BCE) при проводимости NPN, PNP.
  5. Полевые транзисторы: N-канальные, P-канальные.
  6. Диоды, диодные сборки: кремниевые, германиевые, Шотки, определение анода катода.
  7. Стабилитроны: обратное напряжение пробоя менее 4,5 В.
  8. Тиристоры, семисторы: только маломощные.

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

Список комплектующих

  1. Плата Arduino nano V 3.0, можно Pro mini.
  2. LCD дисплей графический WH1602A на контроллере HD44780. Используйте только дисплей, поддерживающий кириллицу (сообщения на русском языке на экране). Прошивки на английском языке для примененной схемы подключения и задействованных функций не существует.
  3. Стабилизатор (на схеме IC1) — прецизионный LM336-Z2.5, MCP1702-5002, можно обычный 7805L.
  4. Кнопка с фиксацией SW1.
  5. Кнопка без фиксации SW2.
  6. Резистор переменный R7 — 10 кОм, 0.5 Вт.
  7. Резисторы R1, R3, R5 — 680 Ом, 0.25 Вт.
  8. Резисторы R2, R4, R6 — 470 кОм, 0.125 Вт.
  9. Резистор R8 — 100 Ом, 0.25 Вт.
  10. Резистор R9 — 22 кОм, 0.125 Вт.
  11. Резистор R10 — 10 кОм, 0.125 Вт.
  12. Резистор R11 — 3.3 кОм, 0.125 Вт.

Подключение питания

Для точности измерений тестера рекомендуется, но не обязательно, запитать его от прецизионного стабилизатора напряжения 5.00 В, например от MCP1702-5002.

При невыполнении этого условия, в случае использования менее точного стабилизатора типа 7805, настоятельно советуем подключить источник опорного напряжения (ИОН).

Стабилизированный ИОН на 2.5 В надо подсоединять к выводу А4 микроконтроллера. На приведенной электрической схеме это подключение не показано. Благодаря подключенному ИОН, мультиметр будет более точно измерять напряжение на батарейках VBAT, наибольший положительный потенциал на полупроводниках VСС.

В программе самодиагностики микроконтроллера ATmega заложено определение отсутствия ИОН. Эта функция самодиагностики активна только при подключении ножки А4 к напряжению 5 В через резистор 47 кОм.

Можно таки случайно закоротить ножки микросхемы А4 и А5. После этого начнутся проблемы с точностью измерения VBAT и VСС. Поэтому удаляйте несанкционированные мостики между выводами, смывайте сгоревший флюс с платы.

Что касается портативности, то в качестве первичного источника для мультиметра рекомендуется использовать батарейку типа Крона или два последовательно соединенных литийионных аккумулятора. Правильно собранный прибор будет работать от любого источника питания, напряжением от 7 до 15 В.

При организации питания прибора от сетевого адаптера 220/9–12 В, следует позаботиться об экранировании микроконтроллера, устранить пульсации на входе с помощью конденсатора. Нельзя близко располагать, как в одной плоскости, так и сверху снизу, входные цепи питания к плате Arduino.

Сборка измерительной схемы

Правильнее будет собрать пробную схему мультитестера на беспаечной макетной плате для проверки совместимости найденного дисплея с микропроцессором Arduino, а также других комплектующих.

Встроенный светодиод на выходе D13 обязательно выпаять! Этот выход будет использоваться как источник образцового напряжения при прозвонке диодов, транзисторов, тиристоров, и нагрузка, садящая на нем напряжение, не нужна.

Подключение к аналоговым выходам Arduino:

  • A0 — «минусовой» черный щуп.
  • A1 — «плюсовой» красный щуп.
  • A2 — «прозвоночный» желтый щуп.

Подключение к цифровым выходам Arduino:

  • D0 — получение RX на Arduino nano или mini.
  • D1 — передача TX на Arduino nano или mini.

Прошивка микроконтроллера

Загрузить прошивку в Arduino можно как с помощью программатора USB, так и применив другой Arduino nano для перепрограммирования. Мы же воспользуемся программатором USBasp и приложением SinaProg, о чем расскажем подробно.

  • Скачиваем и устанавливаем на ПК приложение SinaProg 2.1.
  • В поле Programmer находим свой программатор USBasp и нажимаем кнопку Search для поиска подключенного контроллера. 
  • После определения контроллера, скачиваем Aрхив с прошивкой для мультитестера на Arduino и распаковываем. 
  • В архиве две прошивки: TransistorTester.eep для работы памяти EEPROM микроконтроллера, TransistorTester.hex непосредственно для микроконтроллера. Сначала загружаем TransistorTester.eep в память EEPROM микроконтроллера.

Иконка выбора пути к прошивке

  • Загружаем аналогично TransistorTester.hex в микроконтроллер и запускаем Program.

Об успешном завершении прошивки дается сообщение в описании процесса установки

  • Загружаем TransistorTester.hex в микроконтроллер, аналогично как делали ранее.
  • После удачно осуществленной прошивки, отключаем программатор.

Дабы не было проблем с полным отсутствием отображения на дисплее, заливать в память EEPROM следует файл с расширением HEX, а не BIN.

Начинать работу с тестером надо после сброса на кнопке SW2 Reset.

Есть куча приборов, куда можно поместить собираемый универсальный пробник: старые мультиметры, токовые клещи, большие калькуляторы, даже ночные часы.

Как пример свой мультитестер на Arduino можно засунуть в корпус испорченного модема.

Источник: https://volt-index.ru/high-tech/multitester-na-arduino-svoimi-rukami.html

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

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

Поэтому Раджа Дилип из Индии разработал и опубликовал на сайте circuitdigest.com простой измеритель емкости неизвестных конденсаторов. 
      Схема получилась недорогой и легкой в повторении. Измеритель емкости собран на Arduino UNO, триггере Шмитта и генераторе на 555 микросхеме

1. Универсальный таймер NE555 (аналог КР1006ВИ1)
2.

Инвертирующий триггер Шмитта 74HC14 (аналог 1564ТЛ2)
3. Резисторы 0.125Вт сопротивлением 1KΩ (2 шт.) и 10кОм (1шт.)
4. Конденсаторы 100nF и 1000мкФ
5. LCD индикатор 1602
6. Макетная плата и провода

    Электрическая схема измерителя емкости с использованием Arduino показана на рисунке ниже.

Схема проста, для отображения измеренной емкости конденсатора на 2,3,4,5,6,7 выводы Arduino подключен индикатор 1602 . Генератор прямоугольных имульсов на 555 микросхеме в астабильном режиме с измеряемым конденсатором в качестве частотозадающего подключен через инвертирующий триггер Шмитта на микросхеме 74HC14 к 8 выводу Arduino.

Триггер Шмитта необходим для преобразования сигнала генератора в стабильный цифровой сигнал. Для фильтрации помех было добавлено пару конденсаторов по питанию.
    Данная схема позволяет достаточно точно измерять емкости в диапазоне от 10нФ до 10мкФ .

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

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

Поэтому сначала мы получаем прямоугольные импульсы, частота которых зависит от емкости измеряемого конденсатора и подаем этот сигнал на Arduino UNO для вычисления соответствующего значения.
    Схема включения микросхемы 555 в астабильном режиме выглядит так:
Частота выходного сигнала зависит от резисторов R1, R2 и конденсатора C.

 
Частоту можно определить по уравнению:

где 
f – частота ренератора, Гц
R1 и R2 – сопротивление резисторов, Ом
C – емкость конденсатора, Ф (фарады)
    Зная значения сопротивлений и емкости в приведенном выше уравнении, мы можем рассчитать частоту выходных импульсов.

    Так как согласно схемы R1=1кОм, а R2=10кОм формулу можно упростить:

   
 Преобразуем формулу, Чтобы можно было вычислить емкость конденсатора, зная частоту:

       В нашем скетче (см. ниже) для вывода значения емкости 
в нФ (нанофарадах), необходимо полученные результаты (в фарадах) умножить «1000000000».

 

    
    Также в скетче используется число «20800» вместо 21000, поскольку точные значения сопротивлений R1 и R2 составили 0.98кОм и 9.88кОм соответственно. Вы можете использовать свое число, в зависимости от точности используемых резисторов.

В общем, если мы знаем частоту импульсов генератора, мы можем рассчитать значение емкости конденсатора.

    Для согласования выхода генератора и входа микроконтроллера Arduino Uno используется триггер Шмитта на микросхеме 74HC14.
    Как видно из схемы ниже – 74HC14 состоит из шести триггеров Шмитта с инвертирующим выходом.

   Таблица истинности инвертированного выхода триггера Шмитта показана ниже, соответственно нужно в программе Arduino UNO инвертировать сигнал высокого и низкого состояния сигнала на входе. 

     В итоге с генератора мы получим сигнал, безопасный для входа Arduino.       В Arduino есть специальная функция pulseIn, которая позволяет определить длительность высокого или низкого состояния прямоугольного импульса: 
 Htime = pulseIn (8, HIGH);
 Ltime = pulseIn (8, LOW); 
      Данная функция pulseIn измеряет время, в течение которого высокий или низкий уровень присутствует на 8 выводе Arduino, измеряет время высокого (Htime) и низкого уровня сигнала (Ltime) в микросекундах. Когда мы сложим Htime и Ltime, то получим продолжительность цикла и, инвертируя его, узнаем частоту частоту.
    Зная частоту, рассчитаем емкость при помощи формулы, которую мы обсудили ранее.

    Итак, для проверки, я подключил измеряемый конденсатор к схеме таймера 555, который генерирует прямоугольные импульсы на выходе, частота которых напрямую связана с емкостью конденсатора. Этот сигнал передается через триггер на вход Arduino. Arduino измеряет частоту сигнала. Зная частоту, программа Arduino вычисляет емкость используя формулы, обсуждаемые ранее.

   Посмотрим, какие результаты я получил:

    После подключения электролитического конденсатора емкостью 1мкФ, результат получился 1091.84нФ ~ 1мкФ . 
   
 При измерении полимерного конденсатора емкостью 0.1мкФ результат составляет 107.70нФ ~ 0.1 мкФ.

   Затем я подключил керамический конденсатор 0.1мкФ и результат составил 100.25нФ ~ 0,1мкФ.  

    При измерении электролитического конденсатора 4.7мкФ показания составили 4842.83 нФ ~ 4.8 мкФ

   Таким образом, мы можем запросто измерить емкость любого конденсатора.

#include

LiquidCrystal lcd(2, 3, 4, 5, 6, 7);

int32_t Htime;

int32_t Ltime;

float Ttime;

float frequency;

float capacitance;

void setup()

{

pinMode(8,INPUT); // Вывод 8 в качестве входа сигнала

lcd.begin(16, 2);

lcd.setCursor(0,0);

lcd.print(“capacitance =”);

}

void loop()

{

for (int i=0;i

Источник: http://mynobook.blogspot.com/2017/12/conarduino.html

Измеритель толщины ЛКП (лако-красочного покрытия) на arduino

В процессе поиска, подходящего для меня автомобиля с пробегом, столкнулся с необходимостью проверки лакорасочного покрытия (ЛКП) на однородность, для выявления крашеных или шпаклеваных деталей.

 Сначала в руки мне попал профессиональный измеритель толщины ЛКП, но давали мне его ненадолго, а процесс поиска машины, наоборот, растянут по времени. Измеритель пришлось вернуть владельцу, а подходящая машина найдена не была.

А нельзя ли сделать простейший измеритель толщины краски самому?
Первым результатом поиска по интернету, стала классическая схема, на основе двухобмоточного трансформатора с открытой магнитной системой.

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

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

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

А нельзя ли еще проще? Ход мыслей примерно такой: “если датчик – это индуктивность, значит нужно устройство измерения индуктивности”

Еще я вспомнил, что у меня валяется несколько плат Arduino. Брал пару лет назад поиграться.Сформулировал, для себя, задачу – “Измерение индуктивности на Arduino минимумом навесных деталей”.

В результате поисков, наткнулся на страницу https://github.com/sae/Arduino-LCQmeter/blob/master/LC-gen.ino

эта программа и стала прототипом простейшего измерителя ЛКП.В качестве основной платы, выбрана Arduino nano за небольшие габариты.

Суть работы в следующем: на измеряемый LC-контур подается импульс “накачки”, после чего запускается счетчик до до тех пор, пока сигнал на контуре, не пройдет через “0” компаратора, после чего процесс повторяется.

В результате, показания счетчика пропорциональны резонансной частоте LC контура.Сначала опробовал идею на столе, с выводом информации на компьютер.

Вроде работаетХотя у меня был LCD модуль, но с ним устройство получалось громоздким и требовало изготовления корпуса.Решил сделать индикацию толщины на светодиодах.

Нарисовал схему, спаял шилд на макетке, предусмотрел контроль напряжения батареи.

Плату ардуино и комплектующие покупал на алиэкспресс:

Arduino Nano 328 http://ali.pub/1kcqf4

Кнопки  http://ali.pub/1kcqou

Проблемой оказалось изготовление катушки. Если чашек ферритовых броневых сердечников нашел много и разных, то каркасов катушек не нашел ни одного.

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

Провод взял минимальной толщины, какой был под рукой (около 0.08) количества витков не помню, что-то около 100. после намотки, одну щечку снял. и подталкивая за другую щечку поместил получившуюся катушку внутрь сердечника. Выпавшие витки, заправил в катушку пинцетом.

После этого капнул на витки суперклеем и закрыл катушку оставшейтся щечкой. Катушку на плате закрепил термоклеем.Конденсатор желательно металлопленочный, только не керамический, поскольку у керамики такой емкости недопустимый ТКЕ

В результате, получилась такая конструкция:

Текст программы для загрузки:  Скетч для Arduino.zip

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

Для калибровки, нужно прижать устройство к покрытию автомобиля, и нажать кнопку “калибровка”После проведения калибровки, значение толщины ЛКП, выраженное в “условных единицах” записывается в eeprom.

для проведения измерения, прибор прикладывается к разным местам ЛКП автомобиля и нажимается кнопка “Измерение”. Если отклонение измеренного результата от записанного, невелико, загорается зеленый светодиод.

Если отклонение превышает некоторую границу – загорается белый светодиод – “подозрительно”Если есть второй слой краски, или была полировка – загорается один из синих “краска” или “полировка”Если покрытие близко к нулю или превышает 0.2, то загораются красные светодиоды “шпаклевка” или “металл”

Каждое измерение толщины производится 3 раза, а потом значение усредняется. Возможно, одного раза достаточно. Это позволит получать результат практически мгновенно.

Не стоит рассматривать эту поделку, как образец готового изделия. Это всего лишь пример того, как можно решить поставленную задачу “подручными” средствами.

Но, подозреваю, что на основе этого измерителя, можно изготовить измеритель с профессиональной точностью.

Для этого нужно будет, качественно намотать катушку, подобрать конденсатор, с минимальным TKE, подключить экранный модуль, подобрать формулу пересчета “сырого” значения в микрометры.

Так же не забываем о экономии при покупке товаров на Алиєкспресс с помощью кэшбэка 

Для веб администраторов и владельцев пабликов  главная страница ePN

Для пользователей покупающих на Алиэкспресс с быстрым выводом % главная страница ePN Cashback

Удобный плагин кэшбеэка браузерный плагин ePN Cashback

Материал был взять с ресурса http://dolina-s.ru/blog/page/izmeritel-tolshhiny-lkp-na-arduino

Источник: http://electronica52.in.ua/proekty-arduino/izmeritel-tolcshiny-lkp–lakokrasochnogo-pokrytiya-na-arduino

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

Индуктивность. Понять и почувствовать

Rok temu

16 лучших Arduino проектов AlexGyver

9 miesięcy temu

Мультиметр. Как пользоваться мультиметром (тестером)

2 lat temu

I went swimming with Sharks… (scariest experience ever)

2 dni temu

Don't Flinch! | Dangerous Live Animals!!

4 dni temu

Inductance meter with Arduino

Rok temu

Как настроить резонансную частота катушки МД.

Miesiąc temu

Плохие мультиметры. 2017г.

Rok temu

Проблема с паяльным феном

3 lat temu

Как прошить Arduino Pro Mini с помощью Arduino Uno sketch

5 lat temu

Жизнь под ЛЭП. Опасно ли это?, «Вести-Иркутск»

Rok temu

ESR измеритель конденсаторов на одном транзисторе

2 lat temu

Как пользоваться мультиметром, или обзор на UNI-T UT61B

Rok temu

Using Inductive Proximity sensors with Arduino

10 miesięcy temu

Мультиметр. Как пользоваться мультиметром.

3 lat temu

Осциллограф на ардуино (PULTOSCOP ARDUINO)

2 lat temu

Определение номинала катушки индуктивности

2 lat temu

Arduino based LC Meter home build.

Rok temu

Секреты подключения нескольких LCD экранов к Arduino по I2C

Rok temu

Как пользоваться мультиметром(тестером) Все функции

Rok temu

Как измерить индуктивность катушки. Multi Meter 0.03

2 lat temu

Как определить номинал стабилитрона

8 lat temu

Металлоискатель своими руками на Arduino

Rok temu

Цифровой мультиметр Uni-T UT603. Видеообзор

10 miesięcy temu

Датчики приближения индуктивные и емкостные Краткий обзор

2 lat temu

Определение индуктивности катушки

3 lat temu

Mosfet транзистор + Ардуино. Повелеваем электричеством.

Rok temu

Расчёт катушки индуктивности

6 lat temu

6 miesięcy temu

подключение LCD по шине i2c к ардуино

2 lat temu

как пользоваться цифровым мультиметром на примере RM101

Rok temu

Простой Осциллограф на Ардуино!

10 miesięcy temu

Как измерить индуктивность. Тестер LCR-T4 M328 за 400руб.

Rok temu

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

3 lat temu

Измеритель АЧХ на ардуино МЕГА

Miesiąc temu

3 lat temu

Обзор на мультиметр MASTECH MS8229

2 lat temu

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

5 lat temu

M1015B стрелочный мультиметр

7 lat temu

Намоточный станок своими руками на ARDUINO NANO + LCD3110

3 lat temu

Сетевой диммер управляемый Arduino

3 lat temu

PlatformIO или прощай, Arduino IDE

2 miesięcy temu

Радиопередатчик на Arduino. Это вообще законно?

2 miesięcy temu

Источник: https://plvid.com/video/%D0%B8%D0%B7%D0%BC%D0%B5%D1%80%D0%B8%D1%82%D0%B5%D0%BB%D1%8C-%D0%B8%D0%BD%D0%B4%D1%83%D0%BA%D1%82%D0%B8%D0%B2%D0%BD%D0%BE%D1%81%D1%82%D0%B8-%D0%BD%D0%B0-%D0%B0%D1%80%D0%B4%D1%83%D0%B8%D0%BD%D0%BE-mJ_hsGDrSmM.html

Ссылка на основную публикацию
Adblock
detector
",css:{backgroundColor:"#000",opacity:.6}},container:{block:void 0,tpl:"
"},wrap:void 0,body:void 0,errors:{tpl:"
",autoclose_delay:2e3,ajax_unsuccessful_load:"Error"},openEffect:{type:"fade",speed:400},closeEffect:{type:"fade",speed:400},beforeOpen:n.noop,afterOpen:n.noop,beforeClose:n.noop,afterClose:n.noop,afterLoading:n.noop,afterLoadingOnShow:n.noop,errorLoading:n.noop},o=0,p=n([]),h={isEventOut:function(a,b){var c=!0;return n(a).each(function(){n(b.target).get(0)==n(this).get(0)&&(c=!1),0==n(b.target).closest("HTML",n(this).get(0)).length&&(c=!1)}),c}},q={getParentEl:function(a){var b=n(a);return b.data("arcticmodal")?b:(b=n(a).closest(".arcticmodal-container").data("arcticmodalParentEl"),!!b&&b)},transition:function(a,b,c,d){switch(d=null==d?n.noop:d,c.type){case"fade":"show"==b?a.fadeIn(c.speed,d):a.fadeOut(c.speed,d);break;case"none":"show"==b?a.show():a.hide(),d();}},prepare_body:function(a,b){n(".arcticmodal-close",a.body).unbind("click.arcticmodal").bind("click.arcticmodal",function(){return b.arcticmodal("close"),!1})},init_el:function(d,a){var b=d.data("arcticmodal");if(!b){if(b=a,o++,b.modalID=o,b.overlay.block=n(b.overlay.tpl),b.overlay.block.css(b.overlay.css),b.container.block=n(b.container.tpl),b.body=n(".arcticmodal-container_i2",b.container.block),a.clone?b.body.html(d.clone(!0)):(d.before("
"),b.body.html(d)),q.prepare_body(b,d),b.closeOnOverlayClick&&b.overlay.block.add(b.container.block).click(function(a){h.isEventOut(n(">*",b.body),a)&&d.arcticmodal("close")}),b.container.block.data("arcticmodalParentEl",d),d.data("arcticmodal",b),p=n.merge(p,d),n.proxy(e.show,d)(),"html"==b.type)return d;if(null!=b.ajax.beforeSend){var c=b.ajax.beforeSend;delete b.ajax.beforeSend}if(null!=b.ajax.success){var f=b.ajax.success;delete b.ajax.success}if(null!=b.ajax.error){var g=b.ajax.error;delete b.ajax.error}var j=n.extend(!0,{url:b.url,beforeSend:function(){null==c?b.body.html("
"):c(b,d)},success:function(c){d.trigger("afterLoading"),b.afterLoading(b,d,c),null==f?b.body.html(c):f(b,d,c),q.prepare_body(b,d),d.trigger("afterLoadingOnShow"),b.afterLoadingOnShow(b,d,c)},error:function(){d.trigger("errorLoading"),b.errorLoading(b,d),null==g?(b.body.html(b.errors.tpl),n(".arcticmodal-error",b.body).html(b.errors.ajax_unsuccessful_load),n(".arcticmodal-close",b.body).click(function(){return d.arcticmodal("close"),!1}),b.errors.autoclose_delay&&setTimeout(function(){d.arcticmodal("close")},b.errors.autoclose_delay)):g(b,d)}},b.ajax);b.ajax_request=n.ajax(j),d.data("arcticmodal",b)}},init:function(b){if(b=n.extend(!0,{},a,b),!n.isFunction(this))return this.each(function(){q.init_el(n(this),n.extend(!0,{},b))});if(null==b)return void n.error("jquery.arcticmodal: Uncorrect parameters");if(""==b.type)return void n.error("jquery.arcticmodal: Don't set parameter \"type\"");switch(b.type){case"html":if(""==b.content)return void n.error("jquery.arcticmodal: Don't set parameter \"content\"");var e=b.content;return b.content="",q.init_el(n(e),b);case"ajax":return""==b.url?void n.error("jquery.arcticmodal: Don't set parameter \"url\""):q.init_el(n("
"),b);}}},e={show:function(){var a=q.getParentEl(this);if(!1===a)return void n.error("jquery.arcticmodal: Uncorrect call");var b=a.data("arcticmodal");if(b.overlay.block.hide(),b.container.block.hide(),n("BODY").append(b.overlay.block),n("BODY").append(b.container.block),b.beforeOpen(b,a),a.trigger("beforeOpen"),"hidden"!=b.wrap.css("overflow")){b.wrap.data("arcticmodalOverflow",b.wrap.css("overflow"));var c=b.wrap.outerWidth(!0);b.wrap.css("overflow","hidden");var d=b.wrap.outerWidth(!0);d!=c&&b.wrap.css("marginRight",d-c+"px")}return p.not(a).each(function(){var a=n(this).data("arcticmodal");a.overlay.block.hide()}),q.transition(b.overlay.block,"show",1*")),b.overlay.block.remove(),b.container.block.remove(),a.data("arcticmodal",null),n(".arcticmodal-container").length||(b.wrap.data("arcticmodalOverflow")&&b.wrap.css("overflow",b.wrap.data("arcticmodalOverflow")),b.wrap.css("marginRight",0))}),"ajax"==b.type&&b.ajax_request.abort(),p=p.not(a))})},setDefault:function(b){n.extend(!0,a,b)}};n(function(){a.wrap=n(document.all&&!document.querySelector?"html":"body")}),n(document).bind("keyup.arcticmodal",function(d){var a=p.last();if(a.length){var b=a.data("arcticmodal");b.closeOnEsc&&27===d.keyCode&&a.arcticmodal("close")}}),n.arcticmodal=n.fn.arcticmodal=function(a){return e[a]?e[a].apply(this,Array.prototype.slice.call(arguments,1)):"object"!=typeof a&&a?void n.error("jquery.arcticmodal: Method "+a+" does not exist"):q.init.apply(this,arguments)}}(jQuery)}var debugMode="undefined"!=typeof debugFlatPM&&debugFlatPM,duplicateMode="undefined"!=typeof duplicateFlatPM&&duplicateFlatPM,countMode="undefined"!=typeof countFlatPM&&countFlatPM;document["wri"+"te"]=function(a){let b=document.createElement("div");jQuery(document.currentScript).after(b),flatPM_setHTML(b,a),jQuery(b).contents().unwrap()};function flatPM_sticky(c,d,e=0){function f(){if(null==a){let b=getComputedStyle(g,""),c="";for(let a=0;a=b.top-h?b.top-h{const d=c.split("=");return d[0]===a?decodeURIComponent(d[1]):b},""),c=""==b?void 0:b;return c}function flatPM_testCookie(){let a="test_56445";try{return localStorage.setItem(a,a),localStorage.removeItem(a),!0}catch(a){return!1}}function flatPM_grep(a,b,c){return jQuery.grep(a,(a,d)=>c?d==b:0==(d+1)%b)}function flatPM_random(a,b){return Math.floor(Math.random()*(b-a+1))+a}