- Необходимые компоненты
- Расчет частоты и индуктивности
- Принципиальная схема и объяснение
- Объяснение программирования
Все любители встроенных устройств знакомы с мультиметром, который является отличным инструментом для измерения напряжения, тока, сопротивления и т. Д. Мультиметр может легко их измерить. Но иногда нам нужно измерить индуктивность и емкость, что невозможно с помощью обычного мультиметра. Есть несколько специальных мультиметров, которые могут измерять индуктивность и емкость, но они дороги. Мы уже построили измеритель частоты, измеритель емкости и измеритель сопротивления с использованием Arduino. Итак, сегодня мы собираемся создать LC-метр индуктивности с использованием Arduino. В этом проекте мы покажем значения индуктивности и емкости вместе с частотой на ЖК-дисплее 16x2. В схеме есть кнопка для переключения между отображением емкости и индуктивности.
Необходимые компоненты
- Ардуино Уно
- 741 операционный усилитель IC
- Батарея 3v
- Резистор 100 Ом
- Конденсаторы
- Индукторы
- 1n4007 диод
- Резистор 10к
- 10к банк
- Источник питания
- Нажать кнопку
- Макетная плата или печатная плата
- Соединительные провода
Расчет частоты и индуктивности
В этом проекте мы собираемся измерить индуктивность и емкость, используя параллельную LC-цепь. Этот контур похож на кольцо или колокол, которые начинают резонировать на определенной частоте. Каждый раз, когда мы применяем импульс, этот LC-контур начинает резонировать, и эта резонансная частота имеет аналоговую форму (синусоидальную волну), поэтому нам нужно преобразовать ее в квадратную волну. Для этого мы применяем эту аналоговую резонансную частоту к операционному усилителю (741 в нашем случае), который преобразует ее в квадратную волну (частоту) на 50% рабочего цикла. Теперь мы измеряем частоту с помощью Arduino и с помощью некоторых математических расчетов можем найти индуктивность или емкость. Мы использовали данную формулу частотной характеристики LC-цепи.
f = 1 / (2 * время)
где время выход pulseIn () функция
теперь у нас есть частота LC-цепи:
f = 1/2 * Pi * квадратный корень из (LC)
мы можем решить это, чтобы получить индуктивность:
f 2 = 1 / (4Pi 2 LC) L = 1 / (4Pi 2 f 2 C) L = 1 / (4 * Pi * Pi * f * f * C)
Как мы уже упоминали, наша волна является синусоидальной волной, поэтому она имеет одинаковый период времени как для положительной, так и для отрицательной амплитуды. Это означает, что компаратор преобразует его в прямоугольную волну с рабочим циклом 50%. Чтобы мы могли измерить его, используя функцию pulseIn () Arduino. Эта функция даст нам период времени, который можно легко преобразовать в частоту, инвертируя период времени. Поскольку функция pulseIn измеряет только один импульс, теперь, чтобы получить правильную частоту, мы должны умножить ее на 2. Теперь у нас есть частота, которую можно преобразовать в индуктивность с помощью приведенной выше формулы.
Примечание: при измерении индуктивности (L1) значение конденсатора (C1) должно быть 0,1 мкФ, а при измерении емкости (C1) значение индуктивности (L1) должно быть 10 мГн.
Принципиальная схема и объяснение
На этой принципиальной схеме LC Meter мы использовали Arduino для управления работой проекта. В этом мы использовали LC-цепь. Эта LC-цепь состоит из индуктора и конденсатора. Чтобы преобразовать синусоидальную резонансную частоту в цифровую или прямоугольную форму, мы использовали операционный усилитель, а именно 741. Здесь нам нужно подать отрицательное напряжение на операционный усилитель, чтобы получить точную выходную частоту. Итак, мы использовали батарею 3 В, подключенную с обратной полярностью, это означает, что отрицательный вывод 741 подключен к отрицательному выводу аккумулятора, а положительный вывод аккумулятора подключен к земле оставшейся цепи. Для получения дополнительной информации см. Принципиальную схему ниже.
Здесь у нас есть кнопка для изменения режима работы, измеряем ли мы индуктивность или емкость. ЖК-дисплей 16x2 используется для отображения индуктивности или емкости с частотой LC-цепи. Поток 10k используется для управления яркостью ЖК-дисплея. Схема питается от источника питания Arduino 5 В, и мы можем запитать Arduino от 5 В с помощью адаптера USB или 12 В.
Объяснение программирования
Программная часть этого проекта LC Meter очень проста. Полный код Arduino приведен в конце этой статьи.
Сначала мы должны включить библиотеку для ЖК-дисплея и объявить несколько контактов и макросов.
#включают
После этого в функции настройки мы инициализировали ЖК-дисплей и последовательную связь, чтобы отображать измеренные значения на ЖК-дисплее и последовательном мониторе.
void setup () { #ifdef serial Serial.begin (9600); #endif lcd.begin (16, 2); pinMode (freqIn, INPUT); pinMode (заряд, ВЫХОД); pinMode (режим, INPUT_PULLUP); lcd.print («Использование ЖК-метра»); lcd.setCursor (0, 1); lcd.print («Ардуино»); задержка (2000); lcd.clear (); lcd.print («Электронный дайджест»); задержка (2000); }
Затем в функции цикла подайте импульс фиксированного периода времени на цепь LC, которая будет заряжать цепь LC. После снятия импульса LC контур начинает резонировать. Затем мы считываем его преобразование прямоугольной формы, поступающее из операционного усилителя, с помощью функции pulseIn () и преобразуем это путем умножения на 2. Здесь мы также взяли несколько примеров этого. Вот как рассчитывается частота:
void loop () { for (int i = 0; i
Получив значение частоты, мы преобразовали их в индуктивность, используя заданный фрагмент кода.
емкость = 0,1Е-6; индуктивность = (1. / (емкость * частота * частота * 4. * 3,14159 * 3,14159)) * 1.E6; #ifdef serial Serial.print ("Ind:"); if (индуктивность> = 1000) { Serial.print (индуктивность / 1000); Serial.println («мГн»); } else { Serial.print (индуктивность); Serial.println ("uH"); } #endif lcd.setCursor (0, 1); lcd.print ("Инд:"); if (индуктивность> = 1000) { lcd.print (индуктивность / 1000); lcd.print («мГн»); } else { lcd.print (индуктивность); lcd.print ("uH"); } }
И с помощью данного кода мы рассчитали емкость.
if (Bit.flag) { индуктивность = 1.E-3; емкость = ((1. / (индуктивность * частота * частота * 4. * 3,14159 * 3,14159)) * 1.E9); если ((int) емкость <0) емкость = 0; #ifdef serial Serial.print ("Емкость:"); Serial.print (емкость, 6); Serial.println ("мкФ"); #endif lcd.setCursor (0, 1); lcd.print ("Крышка:"); если (емкость> 47) { lcd.print ((емкость / 1000)); lcd.print ("мкФ"); } else { lcd.print (емкость); lcd.print ("нФ"); } }
Вот как мы рассчитали частоту, емкость и индуктивность с помощью Arduino и отобразили их на ЖК-дисплее 16x2.