- Composants requis
- Calcul de la fréquence et de l'inductance
- Schéma de circuit et explication
- Explication de la programmation
Tous les amateurs embarqués connaissent le multimètre qui est un excellent outil pour mesurer la tension, le courant, la résistance, etc. Un multimètre peut les mesurer facilement. Mais parfois, nous devons mesurer l'inductance et la capacité, ce qui n'est pas possible avec un multimètre normal. Il existe des multimètres spéciaux qui peuvent mesurer l'inductance et la capacité, mais ils sont coûteux. Nous avons déjà construit un fréquencemètre, un capacimètre et un résistancemètre en utilisant Arduino. Donc, aujourd'hui, nous allons fabriquer un compteur à inductance LC en utilisant Arduino. Dans ce projet, nous montrerons les valeurs d'inductance et de capacité ainsi que la fréquence sur un écran LCD 16x2. Un bouton poussoir est fourni dans le circuit, pour basculer entre l'affichage de la capacité et l'inductance.
Composants requis
- Arduino Uno
- 741 opamp IC
- Batterie 3v
- Résistance de 100 ohms
- Condensateurs
- Inductances
- Diode 1n4007
- Résistance 10k
- Pot de 10k
- Source de courant
- Bouton poussoir
- Breadboard ou PCB
- Fils de connexion
Calcul de la fréquence et de l'inductance
Dans ce projet, nous allons mesurer l'inductance et la capacité en utilisant un circuit LC en parallèle. Ce circuit est comme une sonnerie ou une cloche qui commence à résonner à une certaine fréquence. Chaque fois que nous appliquons une impulsion, ce circuit LC commencera à résonner et cette fréquence de résonance est sous forme analogique (onde sinusoïdale), nous devons donc la convertir en onde squire. Pour ce faire, nous appliquons cette fréquence de résonance analogique à opamp (741 dans notre cas) qui le convertira en onde squire (fréquence) à 50% du rapport cyclique. Maintenant, nous mesurons la fréquence en utilisant Arduino et en utilisant un calcul mathématique, nous pouvons trouver l'inductance ou la capacité. Nous avons utilisé la formule de réponse en fréquence du circuit LC donnée.
f = 1 / (2 * temps)
où le temps est sorti de la fonction pulseIn ()
maintenant nous avons la fréquence de circuit LC:
f = 1/2 * Pi * racine carrée de (LC)
nous pouvons le résoudre pour obtenir l'inductance:
f 2 = 1 / (4Pi 2 LC) L = 1 / (4Pi 2 f 2 C) L = 1 / (4 * Pi * Pi * f * f * C)
Comme nous l'avons déjà mentionné, notre onde est une onde sinusoïdale, elle a donc la même période de temps en amplitude positive et négative. Cela signifie que le comparateur le convertira en onde carrée ayant un cycle de service de 50%. Afin que nous puissions le mesurer en utilisant la fonction pulseIn () d'Arduino. Cette fonction nous donnera une période de temps qui peut être facilement convertie en une fréquence en inversant la période de temps. Comme la fonction pulseIn ne mesure qu'une seule impulsion, donc maintenant, pour obtenir une fréquence correcte, nous devons la multiplier par 2. Nous avons maintenant une fréquence qui peut être convertie en inductance en utilisant la formule ci-dessus.
Remarque: lors de la mesure de l'inductance (L1), la valeur du condensateur (C1) doit être de 0,1 uF et lors de la mesure de la capacité (C1), la valeur de l'inductance (L1) doit être de 10 mH.
Schéma de circuit et explication
Dans ce schéma de circuit LC Meter, nous avons utilisé Arduino pour contrôler le fonctionnement du projet. En cela, nous avons utilisé un circuit LC. Ce circuit LC se compose d'un inducteur et d'un condensateur. Pour convertir la fréquence de résonance sinusoïdale en onde numérique ou carrée, nous avons utilisé un amplificateur opérationnel à savoir 741. Ici, nous devons appliquer une alimentation négative à l'ampli-op pour obtenir une fréquence de sortie précise. Nous avons donc utilisé une batterie 3v connectée en polarité inversée, ce qui signifie que la broche négative 741 est connectée à la borne négative de la batterie et la broche positive de la batterie est connectée à la masse du circuit restant. Pour plus de précisions, consultez le schéma de circuit ci-dessous.
Ici, nous avons un bouton poussoir pour changer le mode de fonctionnement que nous mesurions l'inductance ou la capacité. Un écran LCD 16x2 est utilisé pour afficher l'inductance ou la capacité avec la fréquence du circuit LC. Un pot de 10k est utilisé pour contrôler la luminosité de l'écran LCD. Le circuit est alimenté à l'aide d'une alimentation Arduino 5v et nous pouvons alimenter l'Arduino par 5v à l'aide d'un adaptateur USB ou 12v.
Explication de la programmation
La partie programmation de ce projet LC Meter est très simple. Le code Arduino complet est donné à la fin de cet article.
Nous devons d'abord inclure une bibliothèque pour LCD et déclarer quelques broches et macros.
#comprendre
Ensuite, dans la fonction de configuration , nous avons initialisé la communication LCD et série pour afficher les valeurs mesurées sur l'écran LCD et le moniteur série.
void setup () { #ifdef série Serial.begin (9600); #endif lcd.begin (16, 2); pinMode (freqIn, INPUT); pinMode (charge, sortie); pinMode (mode, INPUT_PULLUP); lcd.print ("LC Meter Using"); lcd.setCursor (0, 1); lcd.print ("Arduino"); retard (2000); lcd.clear (); lcd.print ("Circuit Digest"); retard (2000); }
Ensuite, en fonction de boucle , appliquez une impulsion d'une durée fixe au circuit LC qui chargera le circuit LC. Après avoir retiré l'impulsion, le circuit LC commence à résonner. Ensuite, nous lisons sa conversion en onde carrée, provenant de l'ampli-op, en utilisant la fonction pulseIn () et la convertissons en multipliant par 2. Ici, nous en avons également pris quelques échantillons. Voilà comment la fréquence est calculée:
boucle vide () { pour (int i = 0; i
Après avoir obtenu la valeur de fréquence, nous les avons convertis en inductance en utilisant un morceau de code donné
capacité = 0,1E-6; inductance = (1. / (capacité * fréquence * fréquence * 4. * 3.14159 * 3.14159)) * 1.E6; #ifdef série Serial.print ("Ind:"); if (inductance> = 1000) { Serial.print (inductance / 1000); Serial.println ("mH"); } else { Serial.print (inductance); Serial.println ("uH"); } #endif lcd.setCursor (0, 1); lcd.print ("Ind:"); if (inductance> = 1000) { lcd.print (inductance / 1000); lcd.print ("mH"); } else { lcd.print (inductance); lcd.print ("uH"); } }
Et en utilisant un code donné, nous avons calculé la capacité.
if (Bit.flag) { inductance = 1.E-3; capacité = ((1. / (inductance * fréquence * fréquence * 4. * 3.14159 * 3.14159)) * 1.E9); si ((int) capacitance <0) capacitance = 0; #ifdef série Serial.print ("Capacitance:"); Serial.print (capacité, 6); Serial.println ("uF"); #endif lcd.setCursor (0, 1); lcd.print ("Cap:"); if (capacitance> 47) { lcd.print ((capacitance / 1000)); lcd.print ("uF"); } else { lcd.print (capacité); lcd.print ("nF"); } }
C'est ainsi que nous avons calculé la fréquence, la capacité et l'inductance en utilisant Arduino et l'avons affichée sur un écran LCD 16x2.