- సర్వో మోటార్ అంటే ఏమిటి?
- మైక్రోకంట్రోలర్లతో ఇంటర్ఫేసింగ్ సర్వో మోటార్స్:
- PICF877A PIC మైక్రోకంట్రోలర్తో ప్రోగ్రామింగ్ సర్వో మోటార్:
- సర్క్యూట్ రేఖాచిత్రం:
- అనుకరణ మరియు హార్డ్వేర్ సెటప్:
MPLAB మరియు XC8 ఉపయోగించి PIC మైక్రోకంట్రోలర్లను నేర్చుకోవడం ఇది మా 11 వ ట్యుటోరియల్. ఈ ట్యుటోరియల్లో పిఐసి మైక్రోకంట్రోలర్తో సర్వో మోటార్ను ఎలా నియంత్రించాలో నేర్చుకుందాం. మీరు ఇప్పటికే సర్వో మోటారులతో పనిచేసినట్లయితే, మీరు ఈ ట్యుటోరియల్ యొక్క మొదటి సగం దాటవేయవచ్చు, కానీ మీరు సర్వో మోటారుకు కొత్తగా ఉంటే చదవడం కొనసాగించండి.
ఇప్పటి వరకు, పిఐసితో ఎల్ఇడి బ్లింక్, పిఐసిలో టైమర్స్, ఎల్సిడిని ఇంటర్ఫేసింగ్, 7-సెగ్మెంట్ ఇంటర్ఫేసింగ్, పిఐసిని ఉపయోగించి ఎడిసి వంటి అనేక ప్రాథమిక ట్యుటోరియల్లను మేము కవర్ చేసాము. మీరు సంపూర్ణ అనుభవశూన్యుడు అయితే, దయచేసి ఇక్కడ పిఐసి ట్యుటోరియల్స్ యొక్క పూర్తి జాబితాను సందర్శించండి మరియు నేర్చుకోవడం ప్రారంభించండి.
మా మునుపటి ట్యుటోరియల్లో పిఐసి మైక్రోకంట్రోలర్ను ఉపయోగించి పిడబ్ల్యుఎం సిగ్నల్లను ఎలా ఉత్పత్తి చేయాలో నేర్చుకున్నాము, పొటెన్షియోమీటర్ నుండి చదివిన విలువ ఆధారంగా సిగ్నల్స్ ఉత్పత్తి చేయబడ్డాయి. మీరు అన్ని ప్రోగ్రామ్లను అర్థం చేసుకుంటే, మీరు ఇప్పటికే సర్వో మోటారు కోసం కోడ్ చేసిన అభినందనలు. అవును, సర్వో మోటార్లు PWM సిగ్నల్లకు ప్రతిస్పందిస్తాయి (వీటిని మేము ఇక్కడ టైమర్లను ఉపయోగించి సృష్టిస్తాము) ఈ ట్యుటోరియల్లో ఎందుకు మరియు ఎలా నేర్చుకుంటాము. మేము ఈ ప్రాజెక్ట్ కోసం హార్డ్వేర్ సెటప్ను అనుకరిస్తాము మరియు నిర్మిస్తాము మరియు మీరు ఈ ట్యుటోరియల్ చివరిలో వివరణాత్మక వీడియోను కనుగొనవచ్చు.
సర్వో మోటార్ అంటే ఏమిటి?
సర్వో మోటార్ అనేది కోణీయ నియంత్రణను అనుమతించే ఒక రకమైన యాక్యుయేటర్ (ఎక్కువగా వృత్తాకార). అనేక రకాల సర్వో మోటార్లు అందుబాటులో ఉన్నాయి, కానీ ఈ ట్యుటోరియల్లో క్రింద చూపిన అభిరుచి గల సర్వో మోటారులపై దృష్టి పెడదాం.
చలన నియంత్రణ యొక్క చవకైన పద్ధతి ఎందుకంటే అభిరుచి గల సర్వోలు ప్రజాదరణ పొందాయి. వారు చాలా R / C మరియు రోబోటిక్ అభిరుచి గలవారి అవసరాలకు ఆఫ్-ది-షెల్ఫ్ పరిష్కారాన్ని అందిస్తారు. ప్రతి అనువర్తనానికి నియంత్రణ వ్యవస్థను అనుకూల రూపకల్పన చేయవలసిన అవసరాన్ని కూడా వారు తొలగిస్తారు.
చాలా అభిరుచి గల సర్వో మోటార్లు 0- 180 of యొక్క భ్రమణ దేవదూతను కలిగి ఉంటాయి, కానీ మీకు ఆసక్తి ఉంటే 360 ° సర్వో మోటారును కూడా పొందవచ్చు. ఈ ట్యుటోరియల్ 0- 180 ° సర్వో మోటారును ఉపయోగిస్తుంది. గేర్ ఆధారంగా రెండు రకాల సర్వో మోటార్లు ఉన్నాయి, ఒకటి ప్లాస్టిక్ గేర్ సర్వో మోటార్ మరియు మరొకటి మెటల్ గేర్ సర్వో మోటార్. మోటారు ఎక్కువ దుస్తులు మరియు కన్నీటికి గురైన ప్రదేశాలలో మెటల్ గేర్ ఉపయోగించబడుతుంది, అయితే ఇది అధిక ధర వద్ద మాత్రమే వస్తుంది.
సర్వో మోటార్లు కిలో / సెం.మీ (సెంటీమీటర్ కిలోగ్రాము) గా రేట్ చేయబడతాయి. చాలా అభిరుచి గల సర్వో మోటార్లు 3 కిలోలు / సెం.మీ లేదా 6 కిలోలు / సెం.మీ లేదా 12 కిలోలు / సెం.మీ. ఈ కిలో / సెం.మీ మీ సర్వో మోటారు ఒక నిర్దిష్ట దూరం వద్ద ఎంత బరువును ఎత్తగలదో మీకు చెబుతుంది. ఉదాహరణకు: మోటార్లు షాఫ్ట్ నుండి 1 సెం.మీ దూరంలో లోడ్ సస్పెండ్ చేయబడితే 6 కిలోల / సెం.మీ సర్వో మోటారు 6 కిలోలు ఎత్తగలగాలి, ఎక్కువ దూరం బరువు మోసే సామర్థ్యం తక్కువగా ఉంటుంది. సర్వో మోటార్ యొక్క ప్రాథమికాలను ఇక్కడ తెలుసుకోండి.
మైక్రోకంట్రోలర్లతో ఇంటర్ఫేసింగ్ సర్వో మోటార్స్:
ఇంటర్ఫేసింగ్ అభిరుచి MCU తో సర్వో మోటార్లు చాలా సులభం. సర్వోస్ నుండి మూడు వైర్లు బయటకు వస్తాయి. వీటిలో రెండు సరఫరా (పాజిటివ్ మరియు నెగటివ్) కోసం ఉపయోగించబడతాయి మరియు ఒకటి MCU నుండి పంపవలసిన సిగ్నల్ కోసం ఉపయోగించబడుతుంది. ఈ ట్యుటోరియల్లో మనం MG995 మెటల్ గేర్ సర్వో మోటారును ఉపయోగిస్తాము, ఇది సాధారణంగా RC కార్ల హ్యూమనాయిడ్ బాట్ల కోసం ఉపయోగిస్తారు. MG995 యొక్క చిత్రం క్రింద చూపబడింది:
మీ సర్వో మోటర్ యొక్క రంగు కోడింగ్ భిన్నంగా ఉండవచ్చు, అందువల్ల మీ సంబంధిత డేటాషీట్ కోసం తనిఖీ చేయండి.
అన్ని సర్వో మోటార్లు మీ + 5 వి సరఫరా పట్టాలతో నేరుగా పనిచేస్తాయి, అయితే మోటారు వినియోగించే కరెంట్ మొత్తంపై మేము జాగ్రత్తగా ఉండాలి, మీరు రెండు కంటే ఎక్కువ సర్వో మోటార్లు ఉపయోగించాలని ఆలోచిస్తుంటే సరైన సర్వో షీల్డ్ రూపకల్పన చేయాలి. ఈ ట్యుటోరియల్లో మోటారును నియంత్రించడానికి మా PIC MCU ని ఎలా ప్రోగ్రామ్ చేయాలో చూపించడానికి మేము ఒక సర్వో మోటారును ఉపయోగిస్తాము. ఇతర మైక్రోకంట్రోలర్తో సర్వో మోటర్ను ఇంటర్ఫేసింగ్ కోసం క్రింది లింక్లను తనిఖీ చేయండి:
- 8051 మైక్రోకంట్రోలర్తో సర్వో మోటార్ ఇంటర్ఫేసింగ్
- ఆర్డునో ఉపయోగించి సర్వో మోటార్ కంట్రోల్
- రాస్ప్బెర్రీ పై సర్వో మోటార్ ట్యుటోరియల్
- AVR మైక్రోకంట్రోలర్తో సర్వో మోటార్
PICF877A PIC మైక్రోకంట్రోలర్తో ప్రోగ్రామింగ్ సర్వో మోటార్:
మేము సర్వో మోటారు కోసం ప్రోగ్రామింగ్ ప్రారంభించే ముందు, సర్వో మోటారును నియంత్రించడానికి ఏ రకమైన సిగ్నల్ పంపించాలో తెలుసుకోవాలి. సర్వో మోటర్ యొక్క సిగ్నల్ వైర్కు పిడబ్ల్యుఎం సిగ్నల్లను పంపడానికి మేము ఎంసియును ప్రోగ్రామ్ చేయాలి. సర్వో మోటారు లోపల కంట్రోల్ సర్క్యూట్రీ ఉంది, ఇది పిడబ్ల్యుఎం సిగ్నల్ యొక్క విధి చక్రం చదివి, క్రింద ఉన్న చిత్రంలో చూపిన విధంగా సంబంధిత ప్రదేశంలో సర్వో మోటార్ షాఫ్ట్ను ఉంచుతుంది
ప్రతి సర్వో మోటారు వేరే PWM పౌన encies పున్యాలపై పనిచేస్తుంది (చాలా సాధారణ పౌన frequency పున్యం 50HZ, ఇది ఈ ట్యుటోరియల్లో ఉపయోగించబడుతుంది) కాబట్టి మీ సర్వో మోటారు ఏ PWM వ్యవధిలో పనిచేస్తుందో తనిఖీ చేయడానికి మీ మోటారు యొక్క డేటాషీట్ను పొందండి.
మా టవర్ ప్రో MG995 కోసం PWM సిగ్నల్ పై వివరాలు క్రింద చూపించబడ్డాయి.
దీని నుండి మన మోటారు PWM పీరియడ్ 20ms (50Hz) తో పనిచేస్తుందని నిర్ధారించవచ్చు. కాబట్టి మా PWM సిగ్నల్ యొక్క ఫ్రీక్వెన్సీని 50Hz కు సెట్ చేయాలి. మా మునుపటి ట్యుటోరియల్లో మేము సెట్ చేసిన PWM యొక్క ఫ్రీక్వెన్సీ 5 KHz, అదే ఉపయోగించడం ఇక్కడ మాకు సహాయం చేయదు.
కానీ, మాకు ఇక్కడ సమస్య ఉంది. PIC16F877A తక్కువ పౌనఃపున్యం PWM సంకేతాలు ఉత్పత్తి కాదు సీసీపీ మాడ్యూల్ ఉపయోగించి. డేటాషీట్ ప్రకారం, PWM ఫ్రీక్వెన్సీ కోసం సెట్ చేయగల అతి తక్కువ విలువ 1.2 KHz. కాబట్టి మనం సిసిపి మాడ్యూల్ ఉపయోగించాలనే ఆలోచనను వదిలివేసి, మన స్వంత పిడబ్ల్యుఎం సిగ్నల్స్ తయారుచేసే మార్గాన్ని కనుగొనాలి.
అందువల్ల, ఈ ట్యుటోరియల్లో మేము 50Hz ఫ్రీక్వెన్సీతో PWM సిగ్నల్లను ఉత్పత్తి చేయడానికి టైమర్ మాడ్యూల్ని ఉపయోగిస్తాము మరియు సర్వో మోటర్ యొక్క దేవదూతను నియంత్రించడానికి వారి విధి చక్రంలో మారుతూ ఉంటాము. మీరు టైమర్లకు క్రొత్తగా ఉంటే లేదా పిఐసితో ఎడిసి దయచేసి ఈ ట్యుటోరియల్కు తిరిగి రండి, ఎందుకంటే మేము వాటిని ఇప్పటికే అక్కడ కవర్ చేసినందున నేను చాలా అంశాలను దాటవేస్తాను.
మేము మా టైమర్ మాడ్యూల్ను 32 యొక్క ప్రీస్కాలర్తో ప్రారంభిస్తాము మరియు ప్రతి 1 యూస్కు ఇది పొంగిపొర్లుతుంది. మా డేటా షీట్ ప్రకారం పిడబ్ల్యుఎం 20 ఎంఎస్ మాత్రమే ఉండాలి. కాబట్టి మన సమయం మరియు ఆఫ్ సమయం కలిసి 20ms కు సమానంగా ఉండాలి.
OPTION_REG = 0b00000100; // బాహ్య ఫ్రీక్తో టైమర్ 0 మరియు ప్రెస్కాలర్గా TMR0 = 251; // 1us ఆలస్యం కోసం సమయం విలువను లోడ్ చేయండి విలువ 0-256 మధ్య ఉంటుంది TMR0IE = 1; // PIE1 రిజిస్టర్ GIE = 1 లో టైమర్ అంతరాయ బిట్ను ప్రారంభించండి; // గ్లోబల్ ఇంటరప్ట్ PEIE = 1 ను ప్రారంభించండి; // పరిధీయ అంతరాయాన్ని ప్రారంభించండి
కాబట్టి మా అంతరాయ దినచర్య ఫంక్షన్ లోపల, మేము పేర్కొన్న సమయం కోసం పిన్ RB0 ని ఆన్ చేసి, రీమింగ్ సమయం కోసం దాన్ని ఆపివేస్తాము (20ms - on_time). పొటెన్షియోమీటర్ మరియు ఎడిసి మాడ్యూల్ ఉపయోగించి ఆన్ టైమ్ విలువను పేర్కొనవచ్చు. అంతరాయం క్రింద చూపబడింది.
oid interrupt timer_isr () {if (TMR0IF == 1) // టైమర్ పొంగిపోయింది {TMR0 = 252;. RB0 = 1; // LED లను మెరిసే విలువను పూరిస్తుంది} if (count> = (on_time + (200-on_time))) {RB0 = 0; count = 0;}}
మా సమయంలో లూప్ లోపల మేము ADC మాడ్యూల్ ఉపయోగించి పొటెన్షియోమీటర్ యొక్క విలువను చదువుతాము మరియు రీడ్ విలువను ఉపయోగించి PWM యొక్క సమయాన్ని నవీకరిస్తాము.
(1) {pot_value = (ADC_Read (4)) * 0.039; on_time = (170-pot_value); }
ఈ విధంగా మేము PWM సిగ్నల్ను సృష్టించాము, వీరి కాలం 20ms మరియు వేరియబుల్ డ్యూటీ సైకిల్ను కలిగి ఉంటుంది, దీనిని పొటెన్షియోమీటర్ ఉపయోగించి సెట్ చేయవచ్చు. కోడ్ విభాగంలో పూర్తి కోడ్ క్రింద ఇవ్వబడింది.
ఇప్పుడు, ప్రోటీస్ సిమ్యులేషన్ ఉపయోగించి అవుట్పుట్ను ధృవీకరిద్దాం మరియు మా హార్డ్వేర్కు వెళ్దాం.
సర్క్యూట్ రేఖాచిత్రం:
మీరు ఇప్పటికే పిడబ్ల్యుఎం ట్యుటోరియల్లోకి వచ్చినట్లయితే, ఈ ట్యుటోరియల్ యొక్క స్కీమాటిక్స్ ఒకే విధంగా ఉంటాయి తప్ప, ఎల్ఇడి లైట్ స్థానంలో మేము సర్వో మోటారును జతచేస్తాము.
అనుకరణ మరియు హార్డ్వేర్ సెటప్:
ప్రోటీయస్ సిమ్యులేషన్ సహాయంతో మనం ఓసిల్లోస్కోప్ ఉపయోగించి పిడబ్ల్యుఎం సిగ్నల్ను ధృవీకరించవచ్చు మరియు సర్వో మోటర్ యొక్క తిరిగే దేవదూతను కూడా తనిఖీ చేయవచ్చు. అనుకరణ యొక్క కొన్ని స్నాప్షాట్లు క్రింద చూపించబడ్డాయి, ఇక్కడ సర్వో మోటర్ యొక్క తిరిగే దేవదూత మరియు పిడబ్ల్యుఎం డ్యూటీ చక్రం పొటెన్షియోమీటర్ ఆధారంగా మార్చబడటం గమనించవచ్చు. చివరలో వేర్వేరు PWM వద్ద భ్రమణం యొక్క పూర్తి వీడియోను మరింత తనిఖీ చేయండి.
మనం చూడగలిగినట్లుగా, పొటెన్షియోమీటర్ విలువ ఆధారంగా సర్వో రొటేషన్ దేవదూత మారుతుంది. ఇప్పుడు మన హార్డ్వేర్ సెటప్కు వెళ్దాం.
హార్డ్వేర్ సెటప్లో మేము ఎల్ఈడీ బోర్డ్ను తీసివేసి, పైన ఉన్న స్కీమాటిక్స్లో చూపిన విధంగా సర్వో మోటారును జోడించాము.
హార్డ్వేర్ క్రింది చిత్రంలో చూపబడింది:
క్రింద వీడియో ప్రదర్శనలు సర్వో మోటార్ potentiometer వివిధ స్థానాలు చర్యనొందుతుంది ఎలా.
అది అంతే !! మేము పిఐసి మైక్రోకంట్రోలర్తో సర్వో మోటారును ఇంటర్ఫేస్ చేసాము, ఇప్పుడు మీరు మీ స్వంత సృజనాత్మకతను ఉపయోగించుకోవచ్చు మరియు దీని కోసం అనువర్తనాలను కనుగొనవచ్చు. సర్వో మోటారును ఉపయోగించే ప్రాజెక్టులు చాలా ఉన్నాయి.