- భాగాలు అవసరం
- ఫ్రీక్వెన్సీ మరియు ఇండక్టెన్స్ లెక్కిస్తోంది
- సర్క్యూట్ రేఖాచిత్రం మరియు వివరణ
- ప్రోగ్రామింగ్ వివరణ
ఎంబెడెడ్ ప్రేమికులందరికీ మల్టీమీటర్ గురించి తెలుసు, వోల్టేజ్, కరెంట్, రెసిస్టెన్స్ మొదలైనవాటిని కొలవడానికి ఇది ఒక గొప్ప సాధనం. మల్టీమీటర్ వాటిని సులభంగా కొలవగలదు. కానీ కొన్నిసార్లు మనం సాధారణ మల్టీమీటర్తో సాధ్యం కాని ఇండక్టెన్స్ మరియు కెపాసిటెన్స్ను కొలవాలి. ఇండక్టెన్స్ మరియు కెపాసిటెన్స్ను కొలవగల కొన్ని ప్రత్యేక మల్టీమీటర్లు ఉన్నాయి కాని అవి ఖరీదైనవి. మేము ఇప్పటికే ఆర్డునో ఉపయోగించి ఫ్రీక్వెన్సీ మీటర్, కెపాసిటెన్స్ మీటర్ మరియు రెసిస్టెన్స్ మీటర్లను నిర్మించాము. కాబట్టి ఈ రోజు మనం ఆర్డునో ఉపయోగించి ఇండక్టెన్స్ ఎల్సి మీటర్ తయారు చేయబోతున్నాం. ఈ ప్రాజెక్ట్లో, మేము 16x2 ఎల్సిడి డిస్ప్లే కంటే ఎక్కువ ఫ్రీక్వెన్సీతో పాటు ఇండక్టెన్స్ మరియు కెపాసిటెన్స్ విలువలను చూపుతాము. కెపాసిటెన్స్ మరియు ఇండక్టెన్స్ డిస్ప్లే మధ్య మారడానికి సర్క్యూట్లో పుష్ బటన్ ఇవ్వబడుతుంది.
భాగాలు అవసరం
- ఆర్డునో యునో
- 741 ఓపాంప్ ఐసి
- 3 వి బ్యాటరీ
- 100-ఓం రెసిస్టర్
- కెపాసిటర్లు
- ఇండక్టర్లు
- 1n4007 డయోడ్
- 10 కె రెసిస్టర్
- 10 కే కుండ
- విద్యుత్ పంపిణి
- నొక్కుడు మీట
- బ్రెడ్బోర్డ్ లేదా పిసిబి
- వైర్లను కనెక్ట్ చేస్తోంది
ఫ్రీక్వెన్సీ మరియు ఇండక్టెన్స్ లెక్కిస్తోంది
ఈ ప్రాజెక్ట్లో మనం ఎల్సి సర్క్యూట్ను సమాంతరంగా ఉపయోగించడం ద్వారా ఇండక్టెన్స్ మరియు కెపాసిటెన్స్ను కొలవబోతున్నాం. ఈ సర్క్యూట్ ఒక రింగ్ లేదా బెల్ వంటిది, ఇది నిర్దిష్ట పౌన.పున్యంలో ప్రతిధ్వనించడం ప్రారంభిస్తుంది. మేము పల్స్ను వర్తింపజేసినప్పుడల్లా, ఈ ఎల్సి సర్క్యూట్ ప్రతిధ్వనించడం ప్రారంభిస్తుంది మరియు ఈ ప్రతిధ్వని ఫ్రీక్వెన్సీ అనలాగ్ (సైనూసోయిడల్ వేవ్) రూపంలో ఉంటుంది కాబట్టి మేము దానిని స్క్వైర్ వేవ్లో మార్చాలి. ఇది చేయుటకు, మేము ఈ అనలాగ్ ప్రతిధ్వని ఫ్రీక్వెన్సీని ఓపాంప్ (మా విషయంలో 741) కు వర్తింపజేస్తాము, అది విధి చక్రంలో 50% వద్ద స్క్వైర్ వేవ్ (ఫ్రీక్వెన్సీ) లో మారుస్తుంది. ఇప్పుడు మేము ఆర్డునోను ఉపయోగించడం ద్వారా ఫ్రీక్వెన్సీని కొలుస్తాము మరియు కొంత గణిత గణనను ఉపయోగించడం ద్వారా ఇండక్టెన్స్ లేదా కెపాసిటెన్స్ను కనుగొనవచ్చు. మేము ఇచ్చిన LC సర్క్యూట్ ఫ్రీక్వెన్సీ ప్రతిస్పందన సూత్రాన్ని ఉపయోగించాము.
f = 1 / (2 * సమయం)
ఇక్కడ సమయం పల్స్ఇన్ () ఫంక్షన్ యొక్క అవుట్పుట్
ఇప్పుడు మనకు LC సర్క్యూట్ ఫ్రీక్వెన్సీ ఉంది:
f = 1/2 * పై * వర్గమూలం (LC)
ఇండక్టెన్స్ పొందడానికి మేము దాన్ని పరిష్కరించగలము:
f 2 = 1 / (4Pi 2 LC) L = 1 / (4Pi 2 f 2 C) L = 1 / (4 * Pi * Pi * f * f * C)
మా వేవ్ సైనూసోయిడల్ వేవ్ అని మేము ఇప్పటికే చెప్పినట్లుగా, ఇది సానుకూల మరియు ప్రతికూల వ్యాప్తి రెండింటిలో ఒకే సమయ వ్యవధిని కలిగి ఉంటుంది. దీని అర్థం కంపారిటర్ దానిని 50% విధి చక్రం కలిగిన చదరపు తరంగా మారుస్తుంది. తద్వారా మనం ఆర్డునో యొక్క పల్స్ఇన్ () ఫంక్షన్ను ఉపయోగించి కొలవవచ్చు . ఈ ఫంక్షన్ మాకు కాల వ్యవధిని ఇస్తుంది, ఇది సమయ వ్యవధిని విలోమం చేయడం ద్వారా సులభంగా ఫ్రీక్వెన్సీగా మార్చవచ్చు. వంటి pulseIn సరైన ఫ్రీక్వెన్సీ పొందడానికి ఫంక్షన్ కొలత మాత్రమే ఒక పల్స్, కాబట్టి ఇప్పుడు మేము 2. ఇప్పుడు మేము పైన సూత్రం ఉపయోగించి ఇండక్టెన్స్ లోకి మార్చవచ్చు ఇది ఒక ఫ్రీక్వెన్సీ కలిగి ద్వారా గుణిస్తారు ఉంటుంది.
గమనిక: ఇండక్టెన్స్ (ఎల్ 1) కొలిచేటప్పుడు, కెపాసిటర్ (సి 1) విలువ 0.1 యుఎఫ్ ఉండాలి మరియు కెపాసిటెన్స్ (సి 1) కొలిచేటప్పుడు, ఇండక్టర్ (ఎల్ 1) విలువ 10 ఎంహెచ్ ఉండాలి.
సర్క్యూట్ రేఖాచిత్రం మరియు వివరణ
ఈ LC మీటర్ సర్క్యూట్ రేఖాచిత్రంలో, మేము ప్రాజెక్ట్ ఆపరేషన్ను నియంత్రించడానికి Arduino ని ఉపయోగించాము. దీనిలో, మేము LC సర్క్యూట్ ఉపయోగించాము. ఈ LC సర్క్యూట్లో ఇండక్టర్ మరియు కెపాసిటర్ ఉంటాయి. సైనూసోయిడల్ రెసొనెన్స్ ఫ్రీక్వెన్సీని డిజిటల్ లేదా స్క్వేర్ వేవ్గా మార్చడానికి మేము 741 అనే కార్యాచరణ యాంప్లిఫైయర్ను ఉపయోగించాము. ఇక్కడ ఖచ్చితమైన అవుట్పుట్ ఫ్రీక్వెన్సీని పొందడానికి op-amp కు ప్రతికూల సరఫరాను ఉపయోగించాలి. కాబట్టి మేము రివర్స్ ధ్రువణతతో అనుసంధానించబడిన 3v బ్యాటరీని ఉపయోగించాము, అంటే 741 నెగటివ్ పిన్ బ్యాటరీ నెగటివ్ టెర్మినల్కు అనుసంధానించబడి ఉంది మరియు బ్యాటరీ యొక్క పాజిటివ్ పిన్ మిగిలిన సర్క్యూట్ యొక్క భూమికి అనుసంధానించబడి ఉంది. మరింత స్పష్టత కోసం క్రింద సర్క్యూట్ రేఖాచిత్రం చూడండి.
ఇక్కడ మేము ఇండక్టెన్స్ లేదా కెపాసిటెన్స్ కొలుస్తున్నామో అనే ఆపరేషన్ మోడ్ను మార్చడానికి పుష్ బటన్ ఉంది. LC సర్క్యూట్ యొక్క ఫ్రీక్వెన్సీతో ఇండక్టెన్స్ లేదా కెపాసిటెన్స్ చూపించడానికి 16x2 LCD ఉపయోగించబడుతుంది. LCD యొక్క ప్రకాశాన్ని నియంత్రించడానికి 10k కుండ ఉపయోగించబడుతుంది. సర్క్యూట్ Arduino 5v సరఫరా సహాయంతో నడుస్తుంది మరియు మేము USB లేదా 12v అడాప్టర్ ఉపయోగించి 5v ద్వారా Arduino ని శక్తివంతం చేయవచ్చు.
ప్రోగ్రామింగ్ వివరణ
ఈ LC మీటర్ ప్రాజెక్ట్ యొక్క ప్రోగ్రామింగ్ భాగం చాలా సులభం. ఈ ఆర్టికల్ చివరిలో పూర్తి ఆర్డునో కోడ్ ఇవ్వబడింది.
మొదట మనం LCD కోసం లైబ్రరీని చేర్చాలి మరియు కొన్ని పిన్స్ మరియు మాక్రోలను ప్రకటించాలి.
# చేర్చండి
దాని తరువాత, సెటప్ ఫంక్షన్లో ఎల్సిడి మరియు సీరియల్ మానిటర్పై కొలిచిన విలువలను చూపించడానికి ఎల్సిడి మరియు సీరియల్ కమ్యూనికేషన్ను ప్రారంభించాము.
void setup () { #ifdef serial Serial.begin (9600); #endif lcd.begin (16, 2); పిన్మోడ్ (ఫ్రీక్ఇన్, ఇన్పుట్); పిన్మోడ్ (ఛార్జ్, OUTPUT); పిన్మోడ్ (మోడ్, INPUT_PULLUP); lcd.print ("LC మీటర్ యూజింగ్"); lcd.setCursor (0, 1); lcd.print ("Arduino"); ఆలస్యం (2000); lcd.clear (); lcd.print ("సర్క్యూట్ డైజెస్ట్"); ఆలస్యం (2000); }
అప్పుడు లూప్ ఫంక్షన్లో, ఎల్సి సర్క్యూట్కు ఛార్జ్ చేసే ఎల్సి సర్క్యూట్కు నిర్ణీత కాల వ్యవధి యొక్క పల్స్ వర్తించండి. పల్స్ తొలగించిన తరువాత LC సర్క్యూట్ ప్రతిధ్వనించడం ప్రారంభిస్తుంది. పల్స్ఇన్ () ఫంక్షన్ను ఉపయోగించడం ద్వారా ఆప్- ఆంప్ నుండి వచ్చే దాని స్క్వేర్ వేవ్ మార్పిడిని మనం చదువుతాము మరియు దానిని 2 గుణించడం ద్వారా మార్చాము . ఇక్కడ మనం దీని యొక్క కొన్ని నమూనాలను కూడా తీసుకున్నాము. పౌన frequency పున్యం ఎలా లెక్కించబడుతుంది:
(int i = 0; i కోసం
void loop () {
ఫ్రీక్వెన్సీ విలువను పొందిన తరువాత, ఇచ్చిన కోడ్ను ఉపయోగించడం ద్వారా మేము వాటిని ఇండక్టెన్స్గా మార్చాము
కెపాసిటెన్స్ = 0.1E-6; ఇండక్టెన్స్ = (1. / (కెపాసిటెన్స్ * ఫ్రీక్వెన్సీ * ఫ్రీక్వెన్సీ * 4. * 3.14159 * 3.14159)) * 1.ఇ 6; #ifdef సీరియల్ సీరియల్.ప్రింట్ ("Ind:"); if (ఇండక్టెన్స్> = 1000) { సీరియల్.ప్రింట్ (ఇండక్టెన్స్ / 1000); సీరియల్.ప్రింట్ల్న్ ("mH"); } else { సీరియల్.ప్రింట్ (ఇండక్టెన్స్); సీరియల్.ప్రింట్ల్న్ ("uH"); } #endif lcd.setCursor (0, 1); lcd.print ("Ind:"); if (ఇండక్టెన్స్> = 1000) { lcd.print (ఇండక్టెన్స్ / 1000); lcd.print ("mH"); } else { lcd.print (ఇండక్టెన్స్); lcd.print ("uH"); } }
మరియు ఇచ్చిన కోడ్ను ఉపయోగించడం ద్వారా మేము కెపాసిటెన్స్ను లెక్కించాము.
if (Bit.flag) { ఇండక్టెన్స్ = 1.E-3; కెపాసిటెన్స్ = ((1. / (ఇండక్టెన్స్ * ఫ్రీక్వెన్సీ * ఫ్రీక్వెన్సీ * 4. * 3.14159 * 3.14159)) * 1.ఇ 9); if ((int) కెపాసిటెన్స్ <0) కెపాసిటెన్స్ = 0; #ifdef సీరియల్ సీరియల్.ప్రింట్ ("కెపాసిటెన్స్:"); సీరియల్.ప్రింట్ (కెపాసిటెన్స్, 6); సీరియల్.ప్రింట్ల్న్ ("uF"); #endif lcd.setCursor (0, 1); lcd.print ("టోపీ:"); if (కెపాసిటెన్స్> 47) { lcd.print ((కెపాసిటెన్స్ / 1000%); lcd.print ("uF"); } else { lcd.print (కెపాసిటెన్స్); lcd.print ("nF"); } }
కాబట్టి మేము ఆర్డునోను ఉపయోగించి ఫ్రీక్వెన్సీ, కెపాసిటెన్స్ మరియు ఇండక్టెన్స్లను లెక్కించాము మరియు దానిని 16x2 LCD లో ప్రదర్శించాము.