- Požadované komponenty
- Výpočet frekvence a indukčnosti
- Schéma zapojení a vysvětlení
- Vysvětlení programování
Všichni milovníci vestavění jsou obeznámeni s multimetrem, což je skvělý nástroj pro měření napětí, proudu, odporu atd. Multimetr je může snadno měřit. Někdy však musíme měřit indukčnost a kapacitu, což u běžného multimetru není možné. Existuje několik speciálních multimetrů, které mohou měřit indukčnost a kapacitu, ale jsou nákladné. Již jsme postavili měřič frekvence, měřič kapacity a měřič odporu pomocí Arduina. Dnes tedy vyrobíme LC Inductance LC Meter pomocí Arduina. V tomto projektu ukážeme hodnoty indukčnosti a kapacity spolu s LCD displejem s frekvencí přes 16x2. V obvodu je stisknuto tlačítko pro přepínání mezi zobrazením kapacity a indukčnosti.
Požadované komponenty
- Arduino Uno
- 741 operační zesilovač IC
- 3V baterie
- 100-ohmový rezistor
- Kondenzátory
- Induktory
- Dioda 1n4007
- 10k rezistor
- 10k hrnec
- Zdroj napájení
- Stiskněte tlačítko
- Nepájivá deska nebo deska plošných spojů
- Připojovací vodiče
Výpočet frekvence a indukčnosti
V tomto projektu budeme měřit indukčnost a kapacitu paralelním použitím LC obvodu. Tento obvod je jako prsten nebo zvon, který začíná rezonovat na určité frekvenci. Kdykoli použijeme puls, tento LC obvod začne rezonovat a tato rezonanční frekvence je ve formě analogu (sinusová vlna), takže jej musíme převést na kvadratickou vlnu. K tomu použijeme tuto analogovou rezonanční frekvenci na operační zesilovač (v našem případě 741), který ji převede na kvadratickou vlnu (frekvenci) při 50% pracovního cyklu. Nyní změříme frekvenci pomocí Arduina a pomocí nějakého matematického výpočtu najdeme indukčnost nebo kapacitu. Použili jsme daný vzorec frekvenční odezvy LC obvodu.
f = 1 / (2 * čas)
kde čas je výstup pulseIn () funkci
nyní máme LC obvod Frekvence:
f = 1/2 * Pi * druhá odmocnina z (LC)
můžeme to vyřešit, abychom získali indukčnost:
f 2 = 1 / (4Pi 2 LC) L = 1 / (4Pi 2 f 2 C) L = 1 / (4 * Pi * Pi * f * f * C)
Jak jsme již zmínili, naše vlna je sinusová vlna, takže má stejné časové období v pozitivní i negativní amplitudě. To znamená, že ho komparátor převede na obdélníkovou vlnu s 50% pracovním cyklem. Abychom to mohli měřit pomocí funkce pulseIn () Arduina. Tato funkce nám poskytne časové období, které lze snadno převést na frekvenci převrácením časového období. Protože funkce pulseIn měří pouze jeden impuls, tak pro získání správné frekvence ji musíme vynásobit číslem 2. Nyní máme frekvenci, kterou lze převést na indukčnost pomocí výše uvedeného vzorce.
Poznámka: Při měření indukčnosti (L1) by hodnota kondenzátoru (C1) měla být 0,1 μF a při měření kapacity (C1) by hodnota induktoru (L1) měla být 10 mH.
Schéma zapojení a vysvětlení
V tomto schématu zapojení LC Meter jsme použili Arduino k ovládání provozu projektu. V tomto jsme použili LC obvod. Tento LC obvod se skládá z induktoru a kondenzátoru. K převodu sinusové rezonanční frekvence na digitální nebo čtvercovou vlnu jsme použili operační zesilovač, jmenovitě 741. Zde musíme použít záporné napájení op-zesilovače, abychom získali přesný výstupní kmitočet. Použili jsme tedy 3V baterii připojenou v obrácené polaritě, což znamená, že záporný kolík 741 je připojen k zápornému pólu baterie a kladný kolík baterie je připojen k zemi zbývajícího obvodu. Pro další vysvětlení viz schéma zapojení níže.
Zde máme tlačítko ke změně provozního režimu, ať už měříme indukčnost nebo kapacitu. 16x2 LCD se používá k zobrazení indukčnosti nebo kapacity s frekvencí LC obvodu. K ovládání jasu LCD se používá hrnec 10k. Circuit je napájen pomocí zdroje Arduino 5v a Arduino můžeme napájet 5v pomocí USB nebo 12v adaptéru.
Vysvětlení programování
Programovací část tohoto projektu LC Meter je velmi snadná. Kompletní Arduino kód je uveden na konci tohoto článku.
Nejprve musíme zahrnout knihovnu pro LCD a deklarovat některé piny a makra.
#zahrnout
Poté jsme ve funkci nastavení inicializovali LCD a sériovou komunikaci, aby se naměřené hodnoty zobrazovaly na LCD a sériovém monitoru.
void setup () { #ifdef serial Serial.begin (9600); #endif lcd.begin (16, 2); pinMode (freqIn, INPUT); pinMode (poplatek, VÝSTUP); pinMode (režim, INPUT_PULLUP); lcd.print („Použití LC měřiče“); lcd.setCursor (0, 1); lcd.print ("Arduino"); zpoždění (2000); lcd.clear (); lcd.print ("Přehled okruhů"); zpoždění (2000); }
Poté ve funkci smyčky aplikujte pulz pevné časové periody na LC obvod, který nabije LC obvod. Po odstranění pulzu LC obvod začne rezonovat. Pak jsme si přečetli jeho převod čtvercových vln, vycházející z op-amp, pomocí funkce pulseIn () a převést to vynásobením 2. Zde jsme také vzali několik vzorků. Takto se počítá frekvence:
void loop () { for (int i = 0; i
Po získání hodnoty frekvence jsme je převedli na indukčnost pomocí dané části kódu
kapacita = 0,1E-6; indukčnost = (1. / (kapacita * frekvence * frekvence * 4. * 3.14159 * 3,14159)) * 1.E6; #ifdef serial Serial.print ("Ind:"); if (indukčnost> = 1000) { Serial.print (indukčnost / 1000); Serial.println ("mH"); } else { Serial.print (indukčnost); Serial.println ("uH"); } #endif lcd.setCursor (0, 1); lcd.print ("Ind:"); if (indukčnost> = 1000) { lcd.print (indukčnost / 1000); lcd.print ("mH"); } else { lcd.print (indukčnost); lcd.print ("uH"); } }
A pomocí daného kódu jsme vypočítali kapacitu.
if (Bit.flag) { indukčnost = 1.E-3; kapacita = (((1. / (indukčnost * frekvence * frekvence * frekvence * 4. * 3.14159 * 3.14159)) * 1.E9); pokud ((int) kapacita <0) kapacita = 0; #ifdef serial Serial.print ("Capacitance:"); Sériový tisk (kapacita, 6); Serial.println ("uF"); #endif lcd.setCursor (0, 1); lcd.print ("Cap:"); if (kapacita> 47) { lcd.print ((kapacita / 1000)); lcd.print ("uF"); } else { lcd.print (kapacita); lcd.print ("nF"); } }
Takto jsme pomocí Arduina vypočítali frekvenci, kapacitu a indukčnost a zobrazili ji na 16x2 LCD.