- Erforderliche Komponenten
- Berechnung von Frequenz und Induktivität
- Schaltplan und Erklärung
- Programmiererklärung
Alle eingebetteten Liebhaber kennen das Multimeter, ein großartiges Werkzeug zum Messen von Spannung, Strom, Widerstand usw. Ein Multimeter kann sie leicht messen. Aber manchmal müssen wir Induktivität und Kapazität messen, was mit einem normalen Multimeter nicht möglich ist. Es gibt einige spezielle Multimeter, die Induktivität und Kapazität messen können, aber sie sind teuer. Wir haben bereits Frequenzmesser, Kapazitätsmesser und Widerstandsmesser mit Arduino gebaut. Deshalb werden wir heute ein Induktivitäts- LC-Messgerät mit Arduino herstellen. In diesem Projekt werden die Induktivitäts- und Kapazitätswerte zusammen mit der Frequenz über dem 16x2-LCD-Display angezeigt. In der Schaltung befindet sich ein Druckknopf zum Umschalten zwischen Kapazitäts- und Induktivitätsanzeige.
Erforderliche Komponenten
- Arduino Uno
- 741 opamp IC
- 3V Batterie
- 100-Ohm-Widerstand
- Kondensatoren
- Induktivitäten
- 1n4007 Diode
- 10k Widerstand
- 10k Topf
- Energieversorgung
- Druckknopf
- Steckbrett oder Leiterplatte
- Kabel anschließen
Berechnung von Frequenz und Induktivität
In diesem Projekt werden wir Induktivität und Kapazität mithilfe einer parallelen LC-Schaltung messen. Diese Schaltung ähnelt einem Ring oder einer Glocke, die bei einer bestimmten Frequenz zu schwingen beginnen. Immer wenn wir einen Impuls anlegen, beginnt diese LC-Schaltung zu schwingen und diese Resonanzfrequenz liegt in Form einer analogen (Sinuswelle) vor, sodass wir sie in eine Knappenwelle umwandeln müssen. Zu diesem Zweck wenden wir diese analoge Resonanzfrequenz auf den Operationsverstärker (in unserem Fall 741) an, der sie bei 50% des Arbeitszyklus in eine Knappenwelle (Frequenz) umwandelt. Jetzt messen wir die Frequenz mit Arduino und mithilfe einer mathematischen Berechnung können wir die Induktivität oder Kapazität ermitteln. Wir haben die gegebene LC-Schaltungsfrequenzantwortformel verwendet.
f = 1 / (2 * Zeit)
Dabei wird die Zeit der Funktion pulsIn () ausgegeben
Jetzt haben wir LC-Schaltungsfrequenz:
f = 1/2 * Pi * Quadratwurzel von (LC)
wir können es lösen, um Induktivität zu erhalten:
f 2 = 1 / (4Pi 2 LC) L = 1 / (4Pi 2 f 2 C) L = 1 / (4 · Pi · Pi · f · f · C)
Wie wir bereits erwähnt haben, ist unsere Welle eine Sinuswelle, daher hat sie sowohl in der positiven als auch in der negativen Amplitude die gleiche Zeitdauer. Dies bedeutet, dass der Komparator es in eine Rechteckwelle mit einem Tastverhältnis von 50% umwandelt. Damit wir es mit der pulsIn () - Funktion von Arduino messen können. Diese Funktion gibt uns einen Zeitraum, der durch Invertieren des Zeitraums leicht in eine Frequenz umgewandelt werden kann. Da die Funktion pulsIn nur einen Impuls misst, müssen wir sie jetzt mit 2 multiplizieren, um die richtige Frequenz zu erhalten. Jetzt haben wir eine Frequenz, die mit der obigen Formel in Induktivität umgewandelt werden kann.
Hinweis: Während der Messung der Induktivität (L1) sollte der Wert des Kondensators (C1) 0,1 uF betragen, und während der Messung der Kapazität (C1) sollte der Wert des Induktors (L1) 10 mH betragen.
Schaltplan und Erklärung
In diesem LC-Meter-Schaltplan haben wir Arduino verwendet, um den Projektbetrieb zu steuern. Hierbei haben wir eine LC-Schaltung verwendet. Diese LC-Schaltung besteht aus einem Induktor und einem Kondensator. Um die sinusförmige Resonanzfrequenz in eine digitale oder Rechteckwelle umzuwandeln, haben wir den Operationsverstärker 741 verwendet. Hier müssen wir den Operationsverstärker negativ versorgen, um eine genaue Ausgangsfrequenz zu erhalten. Wir haben also eine 3-V-Batterie verwendet, die in umgekehrter Polarität angeschlossen ist. Dies bedeutet, dass der negative Pin 741 mit dem Minuspol der Batterie und der positive Pin der Batterie mit der Masse des verbleibenden Stromkreises verbunden sind. Weitere Erläuterungen finden Sie im Schaltplan unten.
Hier haben wir einen Druckknopf, um die Betriebsart zu ändern, unabhängig davon, ob wir Induktivität oder Kapazität messen. Ein 16x2-LCD wird verwendet, um die Induktivität oder Kapazität mit der Frequenz der LC-Schaltung anzuzeigen. Ein 10k-Topf dient zur Steuerung der Helligkeit des LCD. Die Schaltung wird mit Hilfe der Arduino 5V-Versorgung mit Strom versorgt und wir können den Arduino über USB oder 12V-Adapter mit 5V versorgen.
Programmiererklärung
Der Programmierteil dieses LC Meter-Projekts ist sehr einfach. Der vollständige Arduino- Code ist am Ende dieses Artikels angegeben.
Zuerst müssen wir die Bibliothek für LCD einbinden und einige Pins und Makros deklarieren.
#einschließen
Danach haben wir in der Setup- Funktion die LCD- und serielle Kommunikation initialisiert, um die gemessenen Werte über dem LCD und dem seriellen Monitor anzuzeigen.
void setup () { #ifdef serial Serial.begin (9600); endif lcd.begin (16, 2); pinMode (freqIn, INPUT); pinMode (Ladung, AUSGANG); pinMode (Modus, INPUT_PULLUP); lcd.print ("LC Meter Using"); lcd.setCursor (0, 1); lcd.print ("Arduino"); Verzögerung (2000); lcd.clear (); lcd.print ("Circuit Digest"); Verzögerung (2000); }}
Legen Sie dann in der Schleifenfunktion einen Impuls mit einer festen Zeitdauer an die LC-Schaltung an, die die LC-Schaltung auflädt. Nach dem Entfernen des Impulses beginnt der LC-Schaltkreis zu schwingen. Dann lesen wir die vom Operationsverstärker kommende Rechteckwellenumwandlung mit der Funktion pulsIn () und konvertieren sie durch Multiplikation mit 2. Hier haben wir auch einige Beispiele dafür genommen. So wird die Frequenz berechnet:
void loop () { for (int i = 0; i
Nachdem wir den Frequenzwert erhalten haben, haben wir sie unter Verwendung eines bestimmten Codeteils in Induktivität umgewandelt
Kapazität = 0,1E-6; Induktivität = (1. / (Kapazität * Frequenz * Frequenz * 4. * 3.14159 * 3.14159)) * 1.E6; #ifdef serial Serial.print ("Ind:"); if (Induktivität> = 1000) { Serial.print (Induktivität / 1000); Serial.println ("mH"); } else { Serial.print (Induktivität); Serial.println ("uH"); } #Endif lcd.setCursor (0, 1); lcd.print ("Ind:"); if (Induktivität> = 1000) { lcd.print (Induktivität / 1000); lcd.print ("mH"); } else { lcd.print (Induktivität); lcd.print ("uH"); } }
Und unter Verwendung des angegebenen Codes haben wir die Kapazität berechnet.
if (Bit.flag) { Induktivität = 1.E-3; Kapazität = ((1. / (Induktivität * Frequenz * Frequenz * 4. * 3.14159 * 3.14159)) * 1.E9); wenn ((int) Kapazität <0) Kapazität = 0; #ifdef serial Serial.print ("Kapazität:"); Serial.print (Kapazität 6); Serial.println ("uF"); endif lcd.setCursor (0, 1); lcd.print ("Cap:"); if (Kapazität> 47) { lcd.print ((Kapazität / 1000)); lcd.print ("uF"); } else { lcd.print (Kapazität); lcd.print ("nF"); } }
Auf diese Weise haben wir Frequenz, Kapazität und Induktivität mit Arduino berechnet und auf einem 16x2-LCD angezeigt.