- DC మోటారు అంటే ఏమిటి?
- భాగాలు అవసరం
- సర్క్యూట్ రేఖాచిత్రం
- DC మోటార్ నియంత్రణ కోసం ప్రోగ్రామింగ్ Atmega16
DC మోటార్లు ఎక్కువగా ఉపయోగించే మోటార్లు. ఈ మోటార్లు చిన్న ప్రాజెక్టుల నుండి అధునాతన రోబోటిక్స్ వరకు ప్రతిచోటా చూడవచ్చు. మేము ఇంతకుముందు DC మోటారును ఆర్డునో, రాస్ప్బెర్రీ పై వంటి అనేక ఇతర మైక్రోకంట్రోలర్లతో ఇంటర్ఫేస్ చేసాము మరియు దానిని అనేక రోబోటిక్ ప్రాజెక్టులలో ఉపయోగించాము. ఈ రోజు మనం AVR మైక్రోకంట్రోలర్ Atmega16 తో DC మోటారును నియంత్రించడం నేర్చుకుంటాము. కానీ ముందుకు వెళ్ళే ముందు DC మోటర్ గురించి మరింత తెలుసుకుందాం.
DC మోటారు అంటే ఏమిటి?
DC మోటార్ అనేది విద్యుత్ శక్తిని యాంత్రిక శక్తిగా మార్చే పరికరం. ముఖ్యంగా, విద్యుత్ శక్తిని యాంత్రిక శక్తిగా మార్చడానికి DC మోటర్ DC కరెంట్ను ఉపయోగిస్తుంది. మోటారు యొక్క ప్రాథమిక సూత్రం మోటారులో శక్తిని ఉత్పత్తి చేయడానికి అయస్కాంత క్షేత్రం మరియు ప్రవాహం మధ్య పరస్పర చర్య, ఇది మోటారును తిప్పడానికి సహాయపడుతుంది. కాబట్టి విద్యుత్ ప్రవాహం అయస్కాంత క్షేత్రంలో కాయిల్ గుండా వెళితే, ఒక అయస్కాంత శక్తి ఉత్పత్తి అవుతుంది, ఇది ఒక టార్క్ ఉత్పత్తి చేస్తుంది, దీని ఫలితంగా మోటారు కదలిక వస్తుంది. కరెంట్ను తిప్పికొట్టడం ద్వారా మోటారు దిశ నియంత్రించబడుతుంది. సరఫరా చేయబడిన వోల్టేజ్ను మార్చడం ద్వారా దాని వేగం కూడా మారుతుంది. మైక్రోకంట్రోలర్లలో పిడబ్ల్యుఎం పిన్లు ఉన్నందున, మోటారు వేగాన్ని నియంత్రించడానికి దీనిని ఉపయోగించవచ్చు.
ఈ ట్యుటోరియల్లో, DC మోటారు ఆపరేషన్ Atmega16 తో ప్రదర్శించబడుతుంది. ప్రస్తుత దిశను తిప్పికొట్టడానికి L293D మోటారు డ్రైవర్ ఉపయోగించబడుతుంది, తద్వారా కదలిక దిశ. L293D మోటారు డ్రైవర్ H- బ్రిడ్జ్ సర్క్యూట్ కాన్ఫిగరేషన్ను ఉపయోగిస్తుంది, ఇది మోటారుకు అవసరమైన కరెంట్ను అందిస్తుంది. మోటారు దిశను ఎంచుకోవడానికి రెండు పుష్ బటన్లు ఉపయోగించబడతాయి. గడియారం వారీగా తిరిగేదాన్ని ఎంచుకోవడానికి పుష్ బటన్ ఒకటి ఉపయోగించబడుతుంది మరియు మరొకటి DC మోటర్ యొక్క యాంటీ-క్లాక్ ఆపరేషన్ను ఎంచుకోవడానికి ఉపయోగించబడుతుంది.
భాగాలు అవసరం
- డిసి మోటార్ (5 వి)
- ఎల్ 293 డి మోటార్ డ్రైవర్
- Atmega16 మైక్రోకంట్రోలర్ IC
- 16Mhz క్రిస్టల్ ఓసిలేటర్
- రెండు 100 ఎన్ఎఫ్ కెపాసిటర్లు
- రెండు 22 పిఎఫ్ కెపాసిటర్లు
- నొక్కుడు మీట
- జంపర్ వైర్లు
- బ్రెడ్బోర్డ్
- USBASP v2.0
- లెడ్ (ఏదైనా రంగు)
సర్క్యూట్ రేఖాచిత్రం
DC మోటార్ నియంత్రణ కోసం ప్రోగ్రామింగ్ Atmega16
ఇక్కడ Atmega16 USBASP మరియు Atmel Studio7.0 ఉపయోగించి ప్రోగ్రామ్ చేయబడింది. USBASP ని ఉపయోగించి Atmega16 ను ఎలా ప్రోగ్రామ్ చేయాలో మీకు తెలియకపోతే, ఆ లింక్ను సందర్శించండి. ప్రాజెక్ట్ చివరిలో పూర్తి ప్రోగ్రామ్ ఇవ్వబడింది, ప్రోగ్రామ్ను Atmega16 లో అప్లోడ్ చేయండి మరియు DC మోటారును సవ్యదిశలో మరియు యాంటీ-సవ్యదిశలో తిప్పడానికి రెండు పుష్ బటన్లను ఉపయోగించండి.DC మోటారు L293D మోటారు డ్రైవర్ను ఉపయోగించి ఇంటర్ఫేస్ చేయబడింది. సంబంధిత పుష్ బటన్ నొక్కినప్పుడు DC మోటారు రెండు దిశలలో తిరుగుతుంది. క్లాక్ వైజ్ దిశలో DC మోటారును తిప్పడానికి ఒక పుష్ బటన్ ఉపయోగించబడుతుంది మరియు మరొక పుష్ బటన్ కౌంటర్ క్లాక్ వారీ దిశలో DC మోటారును తిప్పడానికి ఉపయోగించబడుతుంది. మొదట మైక్రోకంట్రోలర్ యొక్క CPU ఫ్రీక్వెన్సీని నిర్వచించండి మరియు అవసరమైన అన్ని లైబ్రరీలను చేర్చండి.
# F_CPU 16000000UL ని నిర్వచించండి # చేర్చండి # చేర్చండి
అప్పుడు, పుష్ బటన్ నొక్కిన స్థితిని ట్రాక్ చేయడానికి ఒక వేరియబుల్ ఉపయోగించండి. మోటారు దిశను నిర్వచించడానికి ఈ వేరియబుల్ ఉపయోగించబడుతుంది.
int i;
డేటా డైరెక్షన్ రిజిస్టర్ ఉపయోగించి GPIO యొక్క ఇన్పుట్ / అవుట్పుట్ మోడ్ను ఎంచుకోండి. ప్రారంభంలో, పుష్ బటన్ను నొక్కకుండా మోటారును ప్రారంభించకుండా ఉండటానికి మోటార్ పిన్ యొక్క ఉత్పత్తిని తక్కువగా చేయండి.
డిడిఆర్ఎ = 03; పోర్టా & = ~ (1 << 1); పోర్టా & = ~ (1 << 0);
Atmega16 యొక్క PORTA4 కి కనెక్ట్ చేయబడిన 1 స్టంప్ పుష్ బటన్ నొక్కినట్లు తనిఖీ చేయండి మరియు వేరియబుల్లో పుష్ బటన్ స్థితిని నిల్వ చేయండి.
if (! bit_is_clear (PINA, 4%)) { i = 1; పోర్టా & = ~ (1 << 1); _delay_ms (1000); }
అదేవిధంగా Atmega16 యొక్క PORTA5 కి కనెక్ట్ చేయబడిన 2 వ పుష్ బటన్ నొక్కినట్లు తనిఖీ చేయండి మరియు పుష్ బటన్ యొక్క స్థితిని వేరియబుల్లో నిల్వ చేయండి.
లేకపోతే (! bit_is_clear (PINA, 5%) { i = 2; పోర్టా & = ~ (1 << 0); _delay_ms (1000); }
1 స్టంప్ బటన్ యొక్క స్థితి నిజమైతే, DC మోటారును క్లాక్ వారీ దిశలో తిప్పండి మరియు రెండవ పుష్ బటన్ యొక్క స్థితి నిజమైతే, DC మోటారును యాంటీ-క్లాక్ వారీగా తిప్పండి.
if (i == 1) { PORTA - = (1 << 0); పోర్టా & = ~ (1 << 1); } else ఉంటే (i == 2) { PORTA - = (1 << 1); పోర్టా & = ~ (1 << 0); }
ఉపయోగించిన GPIO ని బట్టి మీరు ఏదైనా GPIO పిన్కు మోటారు పిన్లను కనెక్ట్ చేయవచ్చు. మైక్రోకంట్రోలర్లు డిసి మోటార్లు నడపడానికి అవసరమైన కరెంట్ను అందించగల సామర్థ్యం లేనందున మైక్రోకంట్రోలర్పై లోడ్ తగ్గించడానికి మోటార్ డ్రైవర్ ఐసిని ఉపయోగించడం చాలా ముఖ్యం. DC మోటార్లు ఆధారంగా మరింత వివరాలు మరియు ఇతర ప్రాజెక్టుల కోసం, దయచేసి ఇచ్చిన లింక్ను సందర్శించండి.
పూర్తి కోడ్ మరియు ప్రదర్శన వీడియో క్రింద ఇవ్వబడింది.