ఈ ప్రాజెక్ట్లో మేము PIC మైక్రోకంట్రోలర్ PIC16F877A తో రిలేను ఇంటర్ఫేస్ చేస్తాము. తక్కువ వోల్టేజ్ స్థాయిల నుండి అధిక వోల్టేజ్, అధిక కరెంట్ ఉపకరణాలు ' ఆన్ ' లేదా ' ఆఫ్ ' ను నియంత్రించడానికి రిలే ఒక యాంత్రిక పరికరం. రిలే రెండు వోల్టేజ్ స్థాయిల మధ్య ఒంటరిగా ఉంటుంది మరియు ఇది సాధారణంగా AC పరికరాలను నియంత్రించడానికి ఉపయోగించబడుతుంది. మెకానికల్ నుండి సాలిడ్ స్టేట్ రిలేల వరకు, ఎలక్ట్రానిక్స్లో వివిధ రకాల రిలేలు అందుబాటులో ఉన్నాయి. ఈ ప్రాజెక్ట్లో మేము మెకానికల్ రిలేను ఉపయోగిస్తాము.
ఈ ప్రాజెక్టులో మేము ఈ క్రింది పనులను చేస్తాము-
- మేము వినియోగదారు నుండి ఇన్పుట్ కోసం ఒక స్విచ్ను ఇంటర్ఫేస్ చేస్తాము.
- 5 వి రిలేతో 220 వి ఎసి బల్బును నియంత్రించండి.
- రిలేను నియంత్రించడానికి మేము BC547 NPN ట్రాన్సిస్టర్ని ఉపయోగిస్తాము మరియు ట్రాన్సిస్టర్ PIC16F877A నుండి నియంత్రించబడుతుంది. ఒక లీడ్ రిలే ఆన్ లేదా ఆఫ్ కండిషన్కు తెలియజేస్తుంది.
మీరు పిఐసి మైక్రోకంట్రోలర్కు కొత్తగా ఉంటే పిఐసి మైక్రోకంట్రోలర్తో ప్రారంభించండి.
భాగం అవసరం:
- PIC16F877A
- 20Mhz క్రిస్టల్
- 2 పిసిలు 33 పిఎఫ్ సిరామిక్
- 3 పిసిలు 4.7 కె రెసిస్టర్లు
- 1 కె రెసిస్టర్
- 1 LED
- BC547 ట్రాన్సిస్టర్
- 1N4007 డయోడ్
- 5 వి క్యూబిక్ రిలే
- ఎసి బల్బ్
- బ్రెడ్బోర్డ్
- భాగాలను అనుసంధానించడానికి తీగలు.
- 5V అడాప్టర్ లేదా కనీసం 200mA ప్రస్తుత సామర్థ్యాలతో ఏదైనా 5V విద్యుత్ వనరు.
రిలే మరియు దాని పని:
రిలే సాధారణ స్విచ్ వలె పనిచేస్తుంది. మెకానికల్ రిలేలు విద్యుదయస్కాంత కాయిల్ నుండి తయారైన తాత్కాలిక అయస్కాంతాన్ని ఉపయోగిస్తాయి. మేము ఈ కాయిల్లో తగినంత విద్యుత్తును అందించినప్పుడు, అది శక్తివంతమైంది మరియు ఒక చేతిని లాగుతుంది. ఆ కారణంగా రిలే అంతటా కనెక్ట్ చేయబడిన సర్క్యూట్ మూసివేయబడుతుంది లేదా తెరవబడుతుంది. ఇన్పుట్ మరియు అవుట్పుట్కు ఎటువంటి విద్యుత్ కనెక్షన్లు లేవు మరియు అందువల్ల ఇది ఇన్పుట్ మరియు అవుట్పుట్ను వేరు చేస్తుంది. రిలే మరియు దాని నిర్మాణాల గురించి ఇక్కడ మరింత తెలుసుకోండి.
5V, 6V, 12V, 18V వంటి వివిధ వోల్టేజ్ పరిధులలో రిలేలను కనుగొనవచ్చు. ఈ ప్రాజెక్ట్లో మన వర్కింగ్ వోల్టేజ్ 5 వోల్ట్లు కాబట్టి 5 వి రిలేను ఉపయోగిస్తాము. ఈ 5V క్యూబిక్ రిలే స్విచ్ సామర్థ్యం 7A లోడ్ 240VAC లేదా 10A లోడ్ 110VAC. అయితే ఆ భారీ లోడ్కు బదులుగా, మేము 220VAC బల్బును ఉపయోగిస్తాము మరియు రిలేను ఉపయోగించి దాన్ని మారుస్తాము.
ఈ ప్రాజెక్ట్లో మేము ఉపయోగిస్తున్న 5 వి రిలే ఇది. ప్రస్తుత రేటింగ్ స్పష్టంగా రెండు వోల్టేజ్ స్థాయిలు, కోసం పేర్కొనకపోతే 120VAC వద్ద 10A మరియు 240VAC వద్ద 7A. మేము పేర్కొన్న రేటింగ్ కంటే తక్కువ రిలేలో లోడ్ను కనెక్ట్ చేయాలి.
ఈ రిలేలో 5 పిన్స్ ఉన్నాయి. మేము పిన్అవుట్ చూస్తే మనం చూడవచ్చు-
L1 మరియు L2 అంతర్గత విద్యుదయస్కాంత కాయిల్ యొక్క పిన్ ఉంది. రిలేను ' ఆన్ ' లేదా ' ఆఫ్ ' చేయడానికి మేము ఈ రెండు పిన్లను నియంత్రించాలి. తదుపరి మూడు పిన్స్ POLE, NO మరియు NC. పోల్ అంతర్గత మెటల్ ప్లేట్తో అనుసంధానించబడి ఉంది, ఇది రిలే ఆన్ చేసినప్పుడు దాని కనెక్షన్ను మారుస్తుంది. సాధారణ స్థితిలో, POLE NC తో చిన్నదిగా ఉంటుంది. NC ఉన్నచో సాధారణంగా కనెక్ట్. రిలే ఆన్ చేసినప్పుడు, ధ్రువం దాని స్థానాన్ని మారుస్తుంది మరియు NO తో కనెక్ట్ అవుతుంది. NO ఉన్నచో సాధారణంగా ఓపెన్.
మా సర్క్యూట్లో, మేము ట్రాన్సిస్టర్ మరియు డయోడ్తో రిలే కనెక్షన్ను చేసాము. ట్రాన్సిస్టర్ మరియు డయోడ్తో రిలే మార్కెట్లో రిలే మాడ్యూల్గా లభిస్తుంది, కాబట్టి మీరు రిలే మాడ్యూల్ను ఉపయోగించినప్పుడు దాని డ్రైవర్ సర్క్యూట్ను (ట్రాన్సిస్టర్ మరియు డయోడ్) కనెక్ట్ చేయవలసిన అవసరం లేదు.
AC గృహోపకరణాలను నియంత్రించడానికి అన్ని హోమ్ ఆటోమేషన్ ప్రాజెక్టులలో రిలే ఉపయోగించబడుతుంది.
సర్క్యూట్ రేఖాచిత్రం:
పిఐసి మైక్రోకంట్రోలర్తో రిలేను కనెక్ట్ చేయడానికి పూర్తి సర్క్యూట్ క్రింద ఇవ్వబడింది:
సాంప్రదాయిక పైన pic16F877A ఉపయోగిస్తారు, ఇక్కడ మీద పోర్ట్ B LED మరియు ట్రాన్సిస్టర్ మరింత ఉపయోగించి నియంత్రించబడుతుంది ఇది అనుసంధానించబడింది, TAC స్విచ్ వద్ద RBO. R1 ట్రాన్సిస్టర్ బయాస్ ప్రస్తుత అందిస్తాయి. R2 అనేది పుల్-డౌన్ రెసిస్టర్, ఇది స్పర్శ స్విచ్లో ఉపయోగించబడుతుంది. స్విచ్ నొక్కినప్పుడు ఇది లాజిక్ 0 ను అందిస్తుంది. 1N4007 ఒక ఉంది బిగింపు డయోడ్ రిలే యొక్క విద్యుదయస్కాంత కాయిల్ కోసం ఉపయోగిస్తారు. రిలే ఆపివేయబడినప్పుడు, అధిక వోల్టేజ్ స్పైక్లకు అవకాశాలు ఉన్నాయిమరియు డయోడ్ దానిని అణిచివేస్తుంది. రిలేను నడపడానికి ట్రాన్సిస్టర్ అవసరం, దీనికి 50mA కన్నా ఎక్కువ కరెంట్ అవసరం, మైక్రోకంట్రోలర్ అందించలేకపోతుంది. మేము ట్రాన్సిస్టర్కు బదులుగా ULN2003 ను కూడా ఉపయోగించవచ్చు, అప్లికేషన్ కోసం రెండు లేదా మూడు రిలేలు అవసరమైతే అది తెలివైన ఎంపిక, రిలే మాడ్యూల్ సర్క్యూట్ను తనిఖీ చేయండి. LED అంతటా పోర్ట్ RB2 "తెలియజేస్తాము రిలే ఉంది ".
చివరి సర్క్యూట్ ఇలా ఉంటుంది-
మీరు ఇక్కడ ఆర్డునోతో రిలేను నియంత్రించడాన్ని నేర్చుకోవచ్చు మరియు మీకు రిలేపై నిజంగా ఆసక్తి ఉంటే ఇక్కడ అన్ని రిలే సర్క్యూట్లను తనిఖీ చేయండి.
కోడ్ వివరణ:
Main.c ఫైలు ప్రారంభంలో, మేము pic16F877A కోసం కాన్ఫిగరేషన్ పంక్తులను జోడించాము మరియు PORTB అంతటా పిన్ పేర్లను కూడా నిర్వచించాము.
ఎప్పటిలాగే, మేము పిక్ మైక్రోకంట్రోలర్లో కాన్ఫిగరేషన్ బిట్లను సెట్ చేయాలి, లైబ్రరీలు మరియు క్రిస్టల్ ఫ్రీక్వెన్సీతో సహా కొన్ని మాక్రోలను నిర్వచించాలి. చివరిలో ఇచ్చిన పూర్తి కోడ్లోని వారందరికీ మీరు కోడ్ను తనిఖీ చేయవచ్చు. మేము RB0 ను ఇన్పుట్గా చేసాము. ఈ పిన్లో స్విచ్ కనెక్ట్ చేయబడింది.
# చేర్చండి
ఆ తరువాత, మేము పిన్ దిశను ప్రారంభించిన system_init () ఫంక్షన్ అని పిలిచాము మరియు పిన్స్ యొక్క డిఫాల్ట్ స్థితిని కూడా కాన్ఫిగర్ చేసాము.
System_init () ఫంక్షన్లో మనం చూస్తాం
శూన్యమైన సిస్టమ్_ఇనిట్ (శూన్యమైనది) { TRISBbits.TRISB0 = 1; // Sw ని ఇన్పుట్గా సెట్ చేస్తోంది TRISBbits.TRISB1 = 0; // LED ని అవుట్పుట్ TRISBbits గా సెట్ చేస్తుంది. TRISB2 = 0; // రిలే పిన్ను అవుట్పుట్ LED గా సెట్ చేయడం = 0; రిలే = 0; }
లో ప్రధాన ఫంక్షన్ మేము నిరంతరంగా మేము తర్కం అధిక అంతటా సెన్సింగ్ ద్వారా స్విచ్ పత్రికా గుర్తించడం ఉంటే, స్విచ్ పత్రికా తనిఖీ RB0; మేము కొంత సమయం వేచి ఉండి, స్విచ్ ఇంకా నొక్కిందా లేదా అని చూద్దాం, స్విచ్ ఇంకా నొక్కితే అప్పుడు మేము RELAY మరియు LED పిన్ స్థితిని విలోమం చేస్తాము.
void main (void) { system_init (); // సిస్టమ్ సిద్ధమవుతున్నప్పుడు (1) { if (SW == 1) {// స్విచ్ నొక్కినప్పుడు __delay_ms (50); (SW == 1) {// స్విచ్ ఇప్పటికీ LED =! LED ని నొక్కితే // ఆలస్యం ఆలస్యం ; // పిన్ స్థితిని విలోమం చేయడం. రిలే =! రిలే; } } } తిరిగి; }
ఈ రిలే ఇంటర్ఫేసింగ్ కోసం పూర్తి కోడ్ మరియు డెమో వీడియో క్రింద ఇవ్వబడ్డాయి.