- పల్స్ వెడల్పు మాడ్యులేషన్:
- మెటీరియల్ అవసరం
- సర్క్యూట్ రేఖాచిత్రం
- కోడ్ మరియు వివరణ
- Arduino ఉపయోగించి DC మోటార్ యొక్క స్పీడ్ కంట్రోల్
రోబోటిక్స్ మరియు ఎలక్ట్రానిక్స్ ప్రాజెక్టులలో DC మోటర్ ఎక్కువగా ఉపయోగించబడుతుంది. DC మోటారు వేగాన్ని నియంత్రించడానికి మనకు వివిధ పద్ధతులు ఉన్నాయి, ఉష్ణోగ్రత ఆధారంగా వేగాన్ని స్వయంచాలకంగా నియంత్రించవచ్చు, కాని ఈ ప్రాజెక్టులో DC మోటారు వేగాన్ని నియంత్రించడానికి PWM పద్ధతి ఉపయోగించబడుతుంది. ఇక్కడ ఈ ఆర్డునో మోటార్ స్పీడ్ కంట్రోల్ ప్రాజెక్టులో, పొటెన్షియోమీటర్ యొక్క నాబ్ను తిప్పడం ద్వారా వేగాన్ని నియంత్రించవచ్చు.
పల్స్ వెడల్పు మాడ్యులేషన్:
పిడబ్ల్యుఎం అంటే ఏమిటి? PWM అనేది వోల్టేజ్ లేదా శక్తిని నియంత్రించగలగడం ద్వారా ఒక సాంకేతికత. మరింత సరళంగా అర్థం చేసుకోవడానికి, మీరు మోటారును నడపడానికి 5 వోల్ట్లను వర్తింపజేస్తుంటే, మోటారు కొంత వేగంతో కదులుతుంది, ఇప్పుడు మనం అనువర్తిత వోల్టేజ్ను 2 తగ్గించినట్లయితే, మనం మోటారుకు 3 వోల్ట్లను వర్తింపజేస్తే మోటారు వేగం కూడా తగ్గుతుంది. ఈ భావన PWM ఉపయోగించి వోల్టేజ్ను నియంత్రించడానికి ప్రాజెక్ట్లో ఉపయోగించబడుతుంది. మేము ఈ వ్యాసంలో పిడబ్ల్యుఎం గురించి వివరంగా వివరించాము. LED యొక్క ప్రకాశాన్ని నియంత్రించడానికి PWM ఉపయోగించే ఈ సర్క్యూట్ను కూడా తనిఖీ చేయండి: 1 వాట్ LED డిమ్మర్.
% విధి చక్రం = (TON / (TON + TOFF)) * 100 ఎక్కడ, T ON = చదరపు తరంగం యొక్క అధిక సమయం T OFF = చదరపు తరంగం యొక్క తక్కువ సమయం
ఇప్పుడు చిత్రంలో ఉన్న స్విచ్ కొంత కాలానికి నిరంతరం మూసివేయబడితే, ఆ సమయంలో మోటారు నిరంతరం ఆన్ అవుతుంది. స్విచ్ 8ms కోసం మూసివేయబడి, 10ms చక్రంలో 2ms కోసం తెరిస్తే, అప్పుడు మోటార్ 8ms సమయంలో మాత్రమే ఆన్ అవుతుంది. ఇప్పుడు సగటు టెర్మినల్ 10ms వ్యవధిలో ఉంది = సమయం ఆన్ చేయండి / (సమయం ఆన్ చేయండి + సమయం ఆపివేయండి), దీనిని డ్యూటీ సైకిల్ అని పిలుస్తారు మరియు ఇది 80% (8 / (8 + 2)), కాబట్టి సగటు అవుట్పుట్ వోల్టేజ్ బ్యాటరీ వోల్టేజ్లో 80% ఉంటుంది. మోటారు 8ms మరియు 2ms కోసం ఆఫ్లో ఉందని ఇప్పుడు మానవ కన్ను చూడలేదు, కాబట్టి DC మోటార్ 80% వేగంతో తిరుగుతున్నట్లు కనిపిస్తుంది.
రెండవ సందర్భంలో, స్విచ్ 5ms కోసం మూసివేయబడుతుంది మరియు 10ms వ్యవధిలో 5ms కోసం తెరవబడుతుంది, కాబట్టి అవుట్పుట్ వద్ద సగటు టెర్మినల్ వోల్టేజ్ బ్యాటరీ వోల్టేజ్లో 50% ఉంటుంది. బ్యాటరీ వోల్టేజ్ 5 వి మరియు డ్యూటీ సైకిల్ 50% ఉంటే చెప్పండి మరియు సగటు టెర్మినల్ వోల్టేజ్ 2.5 వి అవుతుంది.
మూడవ సందర్భంలో విధి చక్రం 20% మరియు సగటు టెర్మినల్ వోల్టేజ్ బ్యాటరీ వోల్టేజ్లో 20%.
మేము మా అనేక ప్రాజెక్టులలో ఆర్డునోతో పిడబ్ల్యుఎమ్ను ఉపయోగించాము:
- పిడబ్ల్యుఎం ఉపయోగించి ఆర్డునో బేస్డ్ ఎల్ఈడి డిమ్మర్
- Arduino ఉపయోగించి ఉష్ణోగ్రత నియంత్రిత అభిమాని
- Arduino ఉపయోగించి DC మోటార్ కంట్రోల్
- Arduino మరియు TRIAC ఉపయోగించి AC ఫ్యాన్ స్పీడ్ కంట్రోల్
పిడబ్ల్యుఎం ఆధారంగా వివిధ ప్రాజెక్టుల ద్వారా పిడబ్ల్యుఎం గురించి మరింత తెలుసుకోవచ్చు.
మెటీరియల్ అవసరం
- ఆర్డునో UNO
- DC మోటార్
- ట్రాన్సిస్టర్ 2 ఎన్ 2222
- పొటెన్టోమీటర్ 100 కే ఓం
- కెపాసిటర్ 0.1uF
- బ్రెడ్బోర్డ్
- జంపింగ్ వైర్లు
సర్క్యూట్ రేఖాచిత్రం
పిడబ్ల్యుఎం ఉపయోగించి ఆర్డునో డిసి మోటార్ స్పీడ్ కంట్రోల్ కోసం సర్క్యూట్ రేఖాచిత్రం క్రింద ఇవ్వబడింది:
కోడ్ మరియు వివరణ
పొటెన్షియోమీటర్ ఉపయోగించి ఆర్డునో డిసి మోటార్ కంట్రోల్ కోసం పూర్తి కోడ్ చివరిలో ఇవ్వబడింది.
దిగువ కోడ్లో, మేము వేరియబుల్ సి 1 మరియు సి 2 ను ప్రారంభించాము మరియు పొటెన్షియోమీటర్ అవుట్పుట్ కోసం అనలాగ్ పిన్ A0 ను మరియు 'pwm' కోసం 12 వ పిన్ను కేటాయించాము.
int pwmPin = 12; int pot = A0; int c1 = 0; int c2 = 0;
ఇప్పుడు, దిగువ కోడ్లో, పిన్ A0 ను ఇన్పుట్గా మరియు 12 (ఇది PWM పిన్) అవుట్పుట్గా సెట్ చేస్తుంది.
శూన్య సెటప్ () { పిన్మోడ్ (pwmPin, OUTPUT); // పిన్ 12 ను అవుట్పుట్ పిన్ మోడ్ (పాట్, ఇన్పుట్) గా ప్రకటిస్తుంది ; // పిన్ A0 ను ఇన్పుట్గా ప్రకటిస్తుంది }
ఇప్పుడు, శూన్య లూప్ () లో, మేము అనలాగ్ రీడ్ (పాట్) ను ఉపయోగించి అనలాగ్ విలువను (A0 నుండి) చదువుతున్నాము మరియు దానిని వేరియబుల్ c2 కు సేవ్ చేస్తున్నాము. అప్పుడు, సి 2 విలువను 1024 నుండి తీసివేసి, ఫలితాన్ని సి 1 లో సేవ్ చేయండి. అప్పుడు ఆర్డునో హైగ్ యొక్క పిడబ్ల్యుఎం పిన్ను 12 వ స్థానంలో చేసి, ఆపై విలువ సి 1 ఆలస్యం అయిన తరువాత ఆ పిన్ను తక్కువ చేయండి. మళ్ళీ, విలువ c2 ఆలస్యం తరువాత లూప్ కొనసాగుతుంది.
1024 నుండి అనలాగ్ విలువను తీసివేయడానికి కారణం, ఆర్డునో యునో ADC 10-బిట్ రిజల్యూషన్ (కాబట్టి పూర్ణాంక విలువలు 0 - 2 ^ 10 = 1024 విలువల నుండి). దీని అర్థం 0 మరియు 524 వోల్ట్ల మధ్య ఇన్పుట్ వోల్టేజ్లను 0 మరియు 1024 మధ్య పూర్ణాంక విలువలుగా మ్యాప్ చేస్తుంది. కాబట్టి మనం ఇన్పుట్ అనలాగ్వాల్యూను (5/1024) గుణిస్తే, ఇన్పుట్ వోల్టేజ్ యొక్క డిజిటల్ విలువను పొందుతాము. Arduino లో ADC ఇన్పుట్ ఎలా ఉపయోగించాలో ఇక్కడ తెలుసుకోండి.
శూన్య లూప్ () { c2 = అనలాగ్ రీడ్ (కుండ); c1 = 1024-సి 2; డిజిటల్ రైట్ (pwmPin, HIGH); // సెట్స్ పిన్ 12 హై ఆలస్యం మైక్రోసెకన్లు (సి 1); // c1 uS (అధిక సమయం) డిజిటల్ రైట్ (pwmPin, LOW) కోసం వేచి ఉంది; // సెట్లు పిన్ 12 తక్కువ ఆలస్యం మైక్రోసెకన్లు (సి 2); // c2 uS (తక్కువ సమయం) కోసం వేచి ఉంది }
Arduino ఉపయోగించి DC మోటార్ యొక్క స్పీడ్ కంట్రోల్
ఈ సర్క్యూట్లో, DC మోటారు వేగాన్ని నియంత్రించడానికి, PWM సిగ్నల్ యొక్క విధి చక్రం మార్చడానికి మేము 100K ఓం పొటెన్టోమీటర్ను ఉపయోగిస్తాము. 100K ఓం పొటెన్షియోమీటర్ Arduino UNO యొక్క అనలాగ్ ఇన్పుట్ పిన్ A0 కి అనుసంధానించబడి ఉంది మరియు DC మోటారు Arduino యొక్క 12 వ పిన్తో అనుసంధానించబడి ఉంది (ఇది PWM పిన్). Arduino ప్రోగ్రామ్ యొక్క పని చాలా సులభం, ఎందుకంటే ఇది అనలాగ్ పిన్ A0 నుండి వోల్టేజ్ను చదువుతుంది. పొటెన్షియోమీటర్ ఉపయోగించి అనలాగ్ పిన్ వద్ద వోల్టేజ్ వైవిధ్యంగా ఉంటుంది. కొన్ని అవసరమైన గణన చేసిన తరువాత విధి చక్రం దాని ప్రకారం సర్దుబాటు చేయబడుతుంది.
ఉదాహరణకు, మేము అనలాగ్ ఇన్పుట్కు 256 విలువను తినిపిస్తే, అప్పుడు HIGH సమయం 768ms (1024-256) మరియు తక్కువ సమయం 256ms అవుతుంది. అందువల్ల, విధి చక్రం 75% అని అర్థం. మా కళ్ళు అటువంటి అధిక పౌన frequency పున్య డోలనాన్ని చూడలేవు మరియు 75% వేగంతో మోటారు నిరంతరం ఆన్లో ఉన్నట్లు కనిపిస్తోంది. కాబట్టి మేము ఆర్డునోను ఉపయోగించి మోటార్ స్పీడ్ కంట్రోల్ను ఎలా చేయగలం.