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

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

Схема также содержит операционный усилитель, в данном случае LM339 благодаря его простоте и невысокой стоимости. Здесь операционный усилитель используется в качестве компаратора, который измеряет напряжение и сравнивает значения напряжения.
Резистор 330 Ом используется в качестве подтягивающего резистора и подключается к контакту 1 Lm339 к цифровому контакту 11 платы Arduino. Резистор 150 Ом используется после диода и дополнительно подключается к цифровому контакту 13 платы Arduino. Также мы используем конденсатор емкостью 0,2 мкФ и один емкостью 100 НФ.
Мы можем заменить операционный усилитель на lm358, 741 или любой другой с такой же конфигурацией. Но в этом случае предпочтительнее малошумящий операционный усилитель.
Далее приведен код программы измерителя индуктивности на основе Arduino. Он состоит из следующих разделов:
- Инициализация всех значений
- Выбор емкости конденсатора
- Преобразование значений миллигенри и микрогенри (мГн и мкГн)
- Вывод результата через последовательный монитор
- Вывод результата на ЖК-дисплее 16X2
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,20,4);
double pulse, frequency, capacitance, inductance, inductance_mH;
void setup(){
lcd.init();
lcd.backlight();
Serial.begin(115200);
pinMode(11, INPUT);
pinMode(13, OUTPUT);
Serial.println("HELLO");
delay(1000);
}
void loop(){
digitalWrite(13, HIGH);
delay(5);
digitalWrite(13,LOW);
delayMicroseconds(100);
pulse = pulseIn(11,HIGH,5000);
if(pulse > 0.1){
capacitance = 2.E-7;
frequency = 1.E6/(2*pulse);
inductance = 1./(capacitance*frequency*frequency*4.*3.14159*3.14159);
inductance *= 1E6;
inductance_mH = inductance/1000;
Serial.print("High for uS:");
Serial.print( pulse );
Serial.print("\tfrequency Hz:");
Serial.print( frequency );
Serial.print("\tinductance uH:");
Serial.println( inductance );
delay(10);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("uH Inductance mH");
lcd.setCursor(0,1);
lcd.print(inductance);
lcd.setCursor(10,1);
lcd.print(inductance_mH);
delay(10);
}
}
© digitrode.ru