- అవసరమైన పదార్థాలు:
- ACS712 ప్రస్తుత సెన్సార్ యొక్క పని:
- సర్క్యూట్ రేఖాచిత్రం:
- అనుకరణ:
- ప్రోగ్రామింగ్ PIC మైక్రోకంట్రోలర్:
- పని:
ఏదైనా విద్యుత్ వ్యవస్థను తయారుచేసేటప్పుడు లేదా డీబగ్ చేసేటప్పుడు వోల్టేజ్ మరియు కరెంట్ను కొలవడం ఎల్లప్పుడూ సహాయపడుతుంది. ఈ ప్రాజెక్ట్లో మేము PIC16F877A మైక్రోకంట్రోలర్ మరియు ప్రస్తుత సెన్సార్ ACS712-5A ఉపయోగించి మా స్వంత డిజిటల్ అమ్మీటర్ను తయారు చేయబోతున్నాము. ఈ ప్రాజెక్ట్ AC మరియు DC కరెంట్ రెండింటినీ 0-30A పరిధితో 0.3A ఖచ్చితత్వంతో కొలవగలదు. కోడ్లో కొన్ని మార్పులతో మీరు 30A వరకు కొలవడానికి ఈ సర్క్యూట్ను కూడా ఉపయోగించవచ్చు. కాబట్టి ప్రారంభిద్దాం !!!
అవసరమైన పదార్థాలు:
- PIC16F877A
- 7805 వోల్టేజ్ రెగ్యులేటర్
- ACS712 ప్రస్తుత సెన్సార్
- 16 * 2 ఎల్సిడి డిస్ప్లే
- జంక్షన్ బాక్స్ మరియు లోడ్ (పరీక్ష కోసం)
- వైర్లను కనెక్ట్ చేస్తోంది
- కెపాసిటర్లు
- బ్రెడ్బోర్డ్.
- విద్యుత్ సరఫరా - 12 వి
ACS712 ప్రస్తుత సెన్సార్ యొక్క పని:
మేము ప్రాజెక్ట్ను నిర్మించటానికి ముందు ACS712 ప్రస్తుత సెన్సార్ యొక్క పనిని అర్థం చేసుకోవడం చాలా ముఖ్యం, ఎందుకంటే ఇది ప్రాజెక్ట్ యొక్క ముఖ్య భాగం. శబ్దం మరియు సరికాని ఐసోలేషన్ సమస్య మొదలైన వాటి కారణంగా ప్రస్తుత ముఖ్యంగా ఎసి కరెంట్ను కొలవడం చాలా కష్టమైన పని. అయితే, అల్లెగ్రో విషయం ఇంజనీరింగ్ చేసిన ఈ ఎసిఎస్ 712 మాడ్యూల్ సహాయంతో చాలా సులభం.
ఈ మాడ్యూల్ హాల్-ఎఫెక్ట్ సూత్రంపై పనిచేస్తుంది, దీనిని డాక్టర్ ఎడ్విన్ హాల్ కనుగొన్నారు. అతని సూత్రం ప్రకారం, ప్రస్తుత మోస్తున్న కండక్టర్ను అయస్కాంత క్షేత్రంలో ఉంచినప్పుడు, ప్రస్తుత మరియు అయస్కాంత క్షేత్రం రెండింటి దిశలకు లంబంగా ఒక వోల్టేజ్ దాని అంచులలో ఉత్పత్తి అవుతుంది. మనం భావనలో చాలా లోతుగా ఉండనివ్వండి, అయితే, ప్రస్తుత మోస్తున్న కండక్టర్ చుట్టూ అయస్కాంత క్షేత్రాన్ని కొలవడానికి మేము హాల్ సెన్సార్ను ఉపయోగిస్తాము. ఈ కొలత మేము హాల్-వోల్టేజ్ అని పిలిచే మిల్లివోల్ట్ల పరంగా ఉంటుంది. ఈ కొలిచిన హాల్-వోల్టేజ్ కండక్టర్ ద్వారా ప్రవహించే ప్రవాహానికి అనులోమానుపాతంలో ఉంటుంది.
ACS712 కరెంట్ సెన్సార్ను ఉపయోగించడం వల్ల కలిగే ప్రధాన ప్రయోజనం ఏమిటంటే AC మరియు DC కరెంట్ రెండింటినీ కొలవగలదు మరియు ఇది లోడ్ (AC / DC లోడ్) మరియు కొలత యూనిట్ (మైక్రోకంట్రోలర్ పార్ట్) మధ్య ఒంటరిగా ఉంటుంది. చిత్రంలో చూపిన విధంగా మాడ్యూల్పై వరుసగా మూడు పిన్లు ఉన్నాయి, అవి వరుసగా Vcc, Vout మరియు Ground.
2-పిన్ టెర్మినల్ బ్లాక్ అంటే ప్రస్తుత మోస్తున్న తీగ గుండా ఉండాలి. మాడ్యూల్ + 5 విలో పనిచేస్తుంది కాబట్టి VCC 5V చేత శక్తినివ్వాలి మరియు భూమిని సిస్టమ్ యొక్క గ్రౌండ్కు అనుసంధానించాలి. Vout పిన్ 2500mV యొక్క ఆఫ్సెట్ వోల్టేజ్ను కలిగి ఉంది, అనగా వైర్ ద్వారా ప్రవహించే కరెంట్ లేనప్పుడు అవుట్పుట్ వోల్టేజ్ 2500mV అవుతుంది మరియు ప్రస్తుత ప్రవాహం సానుకూలంగా ఉన్నప్పుడు, వోల్టేజ్ 2500mV కన్నా ఎక్కువగా ఉంటుంది మరియు ప్రస్తుత ప్రవాహం ప్రతికూలంగా ఉన్నప్పుడు, వోల్టేజ్ 2500mV కన్నా తక్కువగా ఉంటుంది.
మాడ్యూల్ యొక్క అవుట్పుట్ వోల్టేజ్ (Vout) ను చదవడానికి మేము PIC మైక్రోకంట్రోలర్ యొక్క ADC మాడ్యూల్ని ఉపయోగిస్తాము, ఇది వైర్ ద్వారా ప్రవాహం లేనప్పుడు 512 (2500mV) అవుతుంది. ప్రస్తుత విలువ ప్రతికూల దిశలో ప్రవహిస్తున్నందున ఈ విలువ తగ్గుతుంది మరియు ప్రస్తుతము సానుకూల దిశలో ప్రవహిస్తున్న కొద్దీ పెరుగుతుంది. వైర్ ద్వారా ప్రవహించే ప్రస్తుత ఆధారంగా అవుట్పుట్ వోల్టేజ్ మరియు ADC విలువ ఎలా మారుతుందో అర్థం చేసుకోవడానికి క్రింది పట్టిక మీకు సహాయం చేస్తుంది.
ACS712 యొక్క డేటాషీట్లో ఇచ్చిన సమాచారం ఆధారంగా ఈ విలువలు లెక్కించబడ్డాయి. మీరు క్రింది సూత్రాలను ఉపయోగించి వాటిని లెక్కించవచ్చు:
వోట్ వోల్టేజ్ (mV) = (ADC విలువ / 1023) * 5000 కరెంట్ త్రూ ది వైర్ (A) = (Vout (mv) -2500) / 185
ఇప్పుడు, ACS712 సెన్సార్ ఎలా పనిచేస్తుందో మరియు దాని నుండి మనం ఏమి ఆశించవచ్చో మాకు తెలుసు. సర్క్యూట్ రేఖాచిత్రానికి వెళ్దాం.
సర్క్యూట్ రేఖాచిత్రం:
ఈ డిజిటల్ అమ్మీటర్ ప్రాజెక్ట్ యొక్క పూర్తి సర్క్యూట్ రేఖాచిత్రం క్రింది చిత్రంలో చూపబడింది.
పూర్తి డిజిటల్ కరెంట్ మీటర్ సర్క్యూట్ + 5 విలో పనిచేస్తుంది, ఇది 7805 వోల్టేజ్ రెగ్యులేటర్ చే నియంత్రించబడుతుంది. ప్రస్తుత విలువను ప్రదర్శించడానికి మేము 16X2 LCD ని ఉపయోగించాము. ప్రస్తుత సెన్సార్ (Vout) యొక్క అవుట్పుట్ పిన్ PIC యొక్క 7 వ పిన్తో అనుసంధానించబడి ఉంది, ఇది అనలాగ్ వోల్టేజ్ చదవడానికి AN4.
PIC కోసం పిన్ కనెక్షన్ క్రింది పట్టికలో చూపబడింది
ఎస్. లేదు: |
పిన్ నెంబర్ |
పిన్ పేరు |
సంబంధం కలిగిఉన్నది |
1 |
21 |
RD2 |
LCD యొక్క RS |
2 |
22 |
RD3 |
LCD యొక్క E. |
3 |
27 |
RD4 |
LCD యొక్క D4 |
4 |
28 |
RD5 |
LCD యొక్క D5 |
5 |
29 |
RD6 |
ఎల్సిడి యొక్క డి 6 |
6 |
30 |
RD7 |
ఎల్సిడి యొక్క డి 7 |
7 |
7 |
AN4 |
ప్రస్తుత సెస్నోర్ యొక్క వోట్ |
మీరు ఈ డిజిటల్ అమ్మీటర్ సర్క్యూట్ను బ్రెడ్బోర్డ్లో నిర్మించవచ్చు లేదా పెర్ఫ్ బోర్డ్ను ఉపయోగించవచ్చు. మీరు PIC ట్యుటోరియల్లను అనుసరిస్తుంటే, PIC మైక్రోకంట్రోలర్లను నేర్చుకోవడానికి మేము ఉపయోగించిన హార్డ్వేర్ను కూడా మీరు తిరిగి ఉపయోగించుకోవచ్చు. క్రింద చూపిన విధంగా పిఐసి మైక్రోకంట్రోలర్తో ఎల్ఇడి బ్లింక్ కోసం మేము నిర్మించిన అదే పెర్ఫ్ బోర్డ్ను ఇక్కడ ఉపయోగించాము:
గమనిక: మీరు ఈ బోర్డ్ను నిర్మించడం తప్పనిసరి కాదు, మీరు సర్క్యూట్ రేఖాచిత్రాన్ని అనుసరించి బ్రెడ్ బోర్డ్లో సర్క్యూట్ను నిర్మించవచ్చు మరియు మీ ప్రోగ్రామ్ను పిఐసి మైక్రోకంట్రోలర్లో డంప్ చేయడానికి ఏదైనా డంపర్ కిట్ను ఉపయోగించవచ్చు.
అనుకరణ:
మీరు మీ హార్డ్వేర్తో కొనసాగడానికి ముందు ఈ ప్రస్తుత మీటర్ సర్క్యూట్ను ప్రోటీస్ను ఉపయోగించి అనుకరించవచ్చు. ఈ ట్యుటోరియల్ చివరిలో ఇచ్చిన కోడ్ యొక్క హెక్స్ ఫైల్ను కేటాయించి, ప్లే బటన్ పై క్లిక్ చేయండి. మీరు ఎల్సిడి డిస్ప్లేలో కరెంట్ను గమనించగలుగుతారు. నేను ఒక దీపాన్ని AC లోడ్గా ఉపయోగించాను, దాని ద్వారా ప్రవహించే ప్రవాహాన్ని మార్చడానికి దానిపై క్లిక్ చేయడం ద్వారా మీరు దీపం యొక్క అంతర్గత ప్రతిఘటనను మార్చవచ్చు.
పై చిత్రంలో మీరు చూడగలిగినట్లుగా, అమ్మీటర్ 3.52 A చుట్టూ ఉన్న దీపం గుండా ప్రవహించే వాస్తవ ప్రవాహాన్ని చూపిస్తుంది మరియు LCD ప్రస్తుతము 3.6A చుట్టూ ఉన్నట్లు చూపిస్తుంది. అయితే ఆచరణాత్మక సందర్భంలో మనం 0.2A వరకు లోపం పొందవచ్చు. మీ అవగాహన కోసం ADC విలువ మరియు వోల్టేజ్ (mV) కూడా LCD లో చూపబడింది.
ప్రోగ్రామింగ్ PIC మైక్రోకంట్రోలర్:
ముందే చెప్పినట్లుగా, ఈ వ్యాసం చివరిలో పూర్తి కోడ్ చూడవచ్చు. కోడ్ స్వయంగా వ్యాఖ్య రేఖలతో వివరించబడింది మరియు పిఐసి మైక్రోకంట్రోలర్తో ఎల్సిడిని ఇంటర్ఫేస్ చేయడం మరియు పిఐసి మైక్రోకంట్రోలర్లో ఎడిసి మాడ్యూల్ను ఉపయోగించడం అనే భావనను కలిగి ఉంటుంది, ఇది పిఐసి మైక్రోకంట్రోలర్లను నేర్చుకునే మా మునుపటి ట్యుటోరియల్లలో ఇప్పటికే కవర్ చేసాము.
కరెంట్ ప్రత్యామ్నాయంగా ఉన్నందున మరియు శబ్దానికి కూడా లోనవుతున్నందున సెన్సార్ నుండి చదివిన విలువ ఖచ్చితమైనది కాదు. అందువల్ల మేము 20 సార్లు ADC విలువను చదువుతాము మరియు దిగువ కోడ్లో చూపిన విధంగా తగిన ప్రస్తుత విలువను పొందడానికి సగటు.
వోల్టేజ్ మరియు ప్రస్తుత విలువను లెక్కించడానికి పైన వివరించిన అదే సూత్రాలను మేము ఉపయోగించాము.
(int i = 0; i <20; i ++) // 20 టైమ్స్ కోసం విలువను చదవండి {adc = 0; adc = ADC_Read (4); // చదవండి ADC వోల్టేజ్ = adc * 4.8828; // వోల్టేజ్ ఉంటే లెక్కించండి (వోల్టేజ్> = 2500) // ప్రస్తుత సానుకూలంగా ఉంటే ఆంప్స్ + = ((వోల్టేజ్ -2500) / 18.5); else if (వోల్టేజ్ <= 2500) // ప్రస్తుత ప్రతికూలంగా ఉంటే ఆంప్స్ + = ((2500-వోల్టేజ్) / 18.5); } ఆంప్స్ / = 20; // సగటున 20 సార్లు చదివిన విలువ
ఈ ప్రాజెక్ట్ ఎసి కరెంట్ను కూడా చదవగలదు కాబట్టి ప్రస్తుత ప్రవాహం ప్రతికూలంగా మరియు సానుకూలంగా ఉంటుంది. అంటే అవుట్పుట్ వోల్టేజ్ విలువ 2500mV పైన మరియు క్రింద ఉంటుంది. అందువల్ల క్రింద చూపిన విధంగా ప్రతికూల మరియు సానుకూల ప్రవాహం కోసం సూత్రాలను మారుస్తాము, తద్వారా మనకు ప్రతికూల విలువ రాదు.
if (వోల్టేజ్> = 2500) // ప్రస్తుత సానుకూలంగా ఉంటే ఆంప్స్ + = ((వోల్టేజ్ -2500) / 18.5); else if (వోల్టేజ్ <= 2500) // ప్రస్తుత ప్రతికూలంగా ఉంటే ఆంప్స్ + = ((2500-వోల్టేజ్) / 18.5);
30A ప్రస్తుత సెన్సార్ను ఉపయోగించడం:
మీరు 5A కన్నా ఎక్కువ కరెంట్ను కొలవవలసి వస్తే, మీరు ACS712-30A మాడ్యూల్ను కొనుగోలు చేసి, అదే విధంగా ఇంటర్ఫేస్ చేయవచ్చు మరియు క్రింద చూపిన విధంగా 18.5 ను 0.66 తో భర్తీ చేయడం ద్వారా ఈ క్రింది కోడ్ను మార్చవచ్చు:
if (వోల్టేజ్> = 2500) // ప్రస్తుత సానుకూలంగా ఉంటే ఆంప్స్ + = ((వోల్టేజ్ -2500) /0.66); else if (వోల్టేజ్ <= 2500) // ప్రస్తుత ప్రతికూలంగా ఉంటే ఆంప్స్ + = ((2500-వోల్టేజ్) /0.66);
మీరు తక్కువ కరెంట్ను కొలవాలనుకుంటే AVR మైక్రోకంట్రోలర్ను ఉపయోగించి 100mA అమ్మీటర్ను కూడా తనిఖీ చేయండి.
పని:
మీరు PIC మైక్రోకంట్రోలర్ను ప్రోగ్రామ్ చేసి, మీ హార్డ్వేర్ను సిద్ధం చేసిన తర్వాత. లోడ్ మరియు మీ పిఐసి మైక్రోకంట్రోలర్పై శక్తినివ్వండి, మీ ఎల్సిడి స్క్రీన్లో ప్రదర్శించబడే వైర్ గుండా ప్రస్తుత ప్రయాణాన్ని మీరు చూడగలరు.
గమనిక: మీరు ASC7125A మాడ్యూల్ ఉపయోగిస్తుంటే, మీ లోడ్ 5A కన్నా ఎక్కువ వినియోగించదని నిర్ధారించుకోండి. ప్రస్తుత మోస్తున్న కండక్టర్ల కోసం అధిక గేజ్ వైర్లను కూడా ఉపయోగిస్తుంది.
పిఐసి మైక్రోకంట్రోలర్ ఆధారిత అమ్మీటర్ ప్రాజెక్ట్ యొక్క పూర్తి పని క్రింది వీడియోలో చూపబడింది. మీరు ప్రాజెక్ట్ పని చేసి, ఆనందించారని ఆశిస్తున్నాము. మీకు ఏవైనా సందేహాలు ఉంటే మీరు వాటిని క్రింది వ్యాఖ్య విభాగంలో వ్రాయవచ్చు లేదా వాటిని మా ఫోరమ్లలో పోస్ట్ చేయవచ్చు.