- పిడబ్ల్యుఎం (పల్స్ వెడల్పు మాడ్యులేషన్):
- సర్వో మోటార్ మరియు పిడబ్ల్యుఎం:
- అవసరమైన భాగాలు:
- సర్క్యూట్ రేఖాచిత్రం:
- వర్కింగ్ అండ్ ప్రోగ్రామింగ్ వివరణ:
రాస్ప్బెర్రీ పై అనేది ఎలక్ట్రానిక్ ఇంజనీర్లు మరియు అభిరుచి గలవారి కోసం రూపొందించిన ARM ఆర్కిటెక్చర్ ప్రాసెసర్ ఆధారిత బోర్డు. PI ఇప్పుడు అక్కడ అత్యంత విశ్వసనీయ ప్రాజెక్ట్ డెవలప్మెంట్ ప్లాట్ఫామ్లలో ఒకటి. అధిక ప్రాసెసర్ వేగం మరియు 1 జిబి ర్యామ్తో, ఇమేజ్ ప్రాసెసింగ్ మరియు ఇంటర్నెట్ ఆఫ్ థింగ్స్ వంటి అనేక ఉన్నత ప్రాజెక్టులకు పిఐని ఉపయోగించవచ్చు.
ఏదైనా ఉన్నత ప్రొఫైల్ ప్రాజెక్టులు చేయడానికి, PI యొక్క ప్రాథమిక విధులను అర్థం చేసుకోవాలి. మేము ఈ ట్యుటోరియల్లో రాస్ప్బెర్రీ పై యొక్క అన్ని ప్రాథమిక కార్యాచరణలను కవర్ చేస్తాము. ప్రతి ట్యుటోరియల్లో మనం PI యొక్క ఒక ఫంక్షన్ గురించి చర్చిస్తాము. ఈ రాస్ప్బెర్రీ పై ట్యుటోరియల్ సిరీస్ ముగిసే సమయానికి, మీరు మీరే అధిక ప్రొఫైల్ ప్రాజెక్టులను చేయగలుగుతారు. దిగువ ట్యుటోరియల్స్ ద్వారా వెళ్ళండి:
- రాస్ప్బెర్రీ పైతో ప్రారంభించండి
- రాస్ప్బెర్రీ పై కాన్ఫిగరేషన్
- LED బ్లింకీ
- రాస్ప్బెర్రీ పై బటన్ ఇంటర్ఫేసింగ్
- రాస్ప్బెర్రీ పై పిడబ్ల్యుఎం తరం
- రాస్ప్బెర్రీ పై ఉపయోగించి DC మోటారును నియంత్రించడం
- రాస్ప్బెర్రీ పైతో స్టెప్పర్ మోటార్ కంట్రోల్
- రాస్ప్బెర్రీ పైతో ఇంటర్ఫేసింగ్ షిఫ్ట్ రిజిస్టర్
- రాస్ప్బెర్రీ పై ADC ట్యుటోరియల్
ఈ ట్యుటోరియల్లో మేము రాస్ప్బెర్రీ పైతో సర్వో మోటార్ను నియంత్రిస్తాము. సర్వోకి వెళ్ళే ముందు పిడబ్ల్యుఎం గురించి మాట్లాడుదాం ఎందుకంటే సర్వో మోటారును నియంత్రించే భావన దాని నుండి వస్తుంది.
పిడబ్ల్యుఎం (పల్స్ వెడల్పు మాడ్యులేషన్):
మేము ఇంతకుముందు పిడబ్ల్యుఎం గురించి చాలాసార్లు మాట్లాడాము: ఎటిమెగా 32 తో పల్స్ వెడల్పు మాడ్యులేషన్, ఆర్డునో యునోతో పిడబ్ల్యుఎం, 555 టైమర్ ఐసితో పిడబ్ల్యుఎం మరియు ఆర్డునో డ్యూతో పిడబ్ల్యుఎం. పిడబ్ల్యుఎం అంటే 'పల్స్ వెడల్పు మాడ్యులేషన్'. పిడబ్ల్యుఎం అనేది స్థిరమైన విద్యుత్ సరఫరా నుండి వేరియబుల్ వోల్టేజ్ పొందటానికి ఉపయోగించే పద్ధతి. మంచి అవగాహన కోసం PWM క్రింది సర్క్యూట్ను పరిగణించండి,
పై చిత్రంలో, కొంత కాలానికి స్విచ్ నిరంతరం మూసివేయబడితే, ఈ సమయంలో ఎల్ఈడీ నిరంతరం 'ఆన్' అవుతుంది. స్విచ్ సగం సెకనుకు మూసివేయబడి, తదుపరి సగం సెకనుకు తెరిస్తే, అప్పుడు LED మొదటి సగం సెకనులో మాత్రమే ఆన్ అవుతుంది. ఇప్పుడు మొత్తం సమయానికి LED ఆన్ చేసిన నిష్పత్తిని డ్యూటీ సైకిల్ అంటారు మరియు ఈ క్రింది విధంగా లెక్కించవచ్చు:
డ్యూటీ సైకిల్ = సమయం ఆన్ చేయండి / (సమయం ఆన్ చేయండి + సమయం ఆఫ్ చేయండి)
డ్యూటీ సైకిల్ = (0.5 / (0.5 + 0.5)) = 50%
కాబట్టి సగటు అవుట్పుట్ వోల్టేజ్ బ్యాటరీ వోల్టేజ్లో 50% ఉంటుంది.
మేము ఆన్ మరియు ఆఫ్ వేగాన్ని ఒక స్థాయికి పెంచినప్పుడు, LED ఆన్ మరియు ఆఫ్ కాకుండా మసకబారడం చూస్తాము. ఎందుకంటే మన కళ్ళు 25Hz కంటే ఎక్కువ పౌన encies పున్యాలను స్పష్టంగా పట్టుకోలేవు. 100 ఎంఎస్ సైకిల్ను పరిగణించండి, ఎల్ఇడి 30 ఎంసెక్కు ఆఫ్ మరియు 70 ఎమ్ఎస్సికి ఆన్. అవుట్పుట్ వద్ద మనకు 70% స్థిరమైన వోల్టేజ్ ఉంటుంది, కాబట్టి 70% తీవ్రతతో LED నిరంతరం మెరుస్తుంది.
డ్యూటీ నిష్పత్తి 0 నుండి 100 వరకు వెళుతుంది. '0' అంటే పూర్తిగా ఆఫ్ మరియు '100' పూర్తిగా ఆన్లో ఉంది. ఈ డ్యూటీ నిష్పత్తి సర్వో మోటార్కు చాలా ముఖ్యం. సర్వో మోటార్ యొక్క స్థానం ఈ డ్యూటీ నిష్పత్తి ద్వారా నిర్ణయించబడుతుంది. LED మరియు రాస్ప్బెర్రీ పైతో PWM ప్రదర్శన కోసం దీన్ని తనిఖీ చేయండి.
సర్వో మోటార్ మరియు పిడబ్ల్యుఎం:
సర్వో మోటార్ అనేది DC మోటార్, పొజిషన్ కంట్రోల్ సిస్టమ్ మరియు గేర్ల కలయిక. ఆధునిక ప్రపంచంలో సర్వోస్ చాలా అనువర్తనాలను కలిగి ఉంది మరియు దానితో, అవి వేర్వేరు ఆకారాలు మరియు పరిమాణాలలో లభిస్తాయి. మేము ఈ ట్యుటోరియల్లో SG90 సర్వో మోటారును ఉపయోగిస్తాము, ఇది జనాదరణ పొందిన మరియు చౌకైనది. SG90 180 డిగ్రీల సర్వో. కాబట్టి ఈ సర్వోతో మనం 0-180 డిగ్రీల నుండి అక్షాన్ని ఉంచవచ్చు.
ఒక సర్వో మోటార్లో ప్రధానంగా మూడు వైర్లు ఉన్నాయి, ఒకటి పాజిటివ్ వోల్టేజ్ కోసం, మరొకటి గ్రౌండ్ కోసం మరియు చివరిది స్థానం సెట్టింగ్ కోసం. Red వైర్ అధికారంలోకి అనుసంధానించబడిన, బ్రౌన్ వైర్ భూమి మరియు అనుసంధానించబడిన పసుపు వైర్ (లేదా తెలుపు) సిగ్నల్ అనుసంధానించబడింది.
సర్వోలో, సిగ్నల్ పిన్ నుండి PWM సిగ్నల్ తీసుకునే నియంత్రణ వ్యవస్థ మాకు ఉంది. ఇది సిగ్నల్ను డీకోడ్ చేస్తుంది మరియు దాని నుండి విధి నిష్పత్తిని పొందుతుంది. ఆ తరువాత, ఇది నిష్పత్తిని ముందే నిర్వచించిన స్థానాల విలువలతో పోలుస్తుంది. విలువల్లో వ్యత్యాసం ఉంటే, అది తదనుగుణంగా సర్వో యొక్క స్థానాన్ని సర్దుబాటు చేస్తుంది. కాబట్టి సర్వో మోటర్ యొక్క అక్షం స్థానం సిగ్నల్ పిన్ వద్ద పిడబ్ల్యుఎం సిగ్నల్ యొక్క విధి నిష్పత్తిపై ఆధారపడి ఉంటుంది.
పిడబ్ల్యుఎం (పల్స్ వెడల్పు మాడ్యులేటెడ్) సిగ్నల్ యొక్క ఫ్రీక్వెన్సీ సర్వో మోటార్ రకం ఆధారంగా మారవచ్చు. SG90 కొరకు PWM సిగ్నల్ యొక్క ఫ్రీక్వెన్సీ 50Hz. మీ సర్వో కోసం ఆపరేషన్ యొక్క ఫ్రీక్వెన్సీని తెలుసుకోవడానికి, నిర్దిష్ట మోడల్ కోసం డేటాషీట్ను తనిఖీ చేయండి. కాబట్టి ఫ్రీక్వెన్సీని ఎంచుకున్న తర్వాత, ఇక్కడ ఇతర ముఖ్యమైన విషయం PWM సిగ్నల్ యొక్క DUTY RATIO.
దిగువ పట్టిక నిర్దిష్ట డ్యూటీ నిష్పత్తి కోసం సర్వో స్థానాన్ని చూపుతుంది. తదనుగుణంగా విలువను ఎంచుకోవడం ద్వారా మీరు మధ్యలో ఏదైనా కోణాన్ని పొందవచ్చు. కాబట్టి 45º సర్వో కోసం డ్యూటీ నిష్పత్తి '5' లేదా 5% ఉండాలి.
స్థానం |
డ్యూటీ నిష్పత్తి |
0º |
2.5 |
90º |
7.5 |
180º |
12.5 |
రాస్ప్బెర్రీ పైకి సర్వో మోటారును ఇంటర్ఫేసింగ్ చేయడానికి ముందు, మీరు ఈ సర్వో మోటార్ టెస్టర్ సర్క్యూట్ సహాయంతో మీ సర్వోను పరీక్షించవచ్చు. మా దిగువ సర్వో ప్రాజెక్టులను కూడా తనిఖీ చేయండి:
- ఆర్డునో ఉపయోగించి సర్వో మోటార్ కంట్రోల్
- ఆర్డునో డ్యూతో సర్వో మోటార్ కంట్రోల్
- 8051 మైక్రోకంట్రోలర్తో సర్వో మోటార్ ఇంటర్ఫేసింగ్
- మాట్లాబ్ ఉపయోగించి సర్వో మోటార్ కంట్రోల్
- ఫ్లెక్స్ సెన్సార్ ద్వారా సర్వో మోటార్ కంట్రోల్
- బరువుతో సర్వో పొజిషన్ కంట్రోల్ (ఫోర్స్ సెన్సార్)
అవసరమైన భాగాలు:
ఇక్కడ మేము రాస్ప్బెర్రీ పై 2 మోడల్ B ని రాస్పియన్ జెస్సీ OS తో ఉపయోగిస్తున్నాము. అన్ని ప్రాథమిక హార్డ్వేర్ మరియు సాఫ్ట్వేర్ అవసరాలు ఇంతకుముందు చర్చించబడ్డాయి, మీరు దీన్ని రాస్ప్బెర్రీ పై పరిచయంలో చూడవచ్చు, మనకు అవసరమైనవి కాకుండా:
- పిన్లను కనెక్ట్ చేస్తోంది
- 1000uF కెపాసిటర్
- SG90 సర్వో మోటార్
- బ్రెడ్బోర్డ్
సర్క్యూట్ రేఖాచిత్రం:
A1000µF + 5V పవర్ రైలులో అనుసంధానించబడి ఉండాలి, లేకపోతే సర్వోను నియంత్రించేటప్పుడు PI యాదృచ్ఛికంగా మూసివేయబడుతుంది.
వర్కింగ్ అండ్ ప్రోగ్రామింగ్ వివరణ:
సర్క్యూట్ రేఖాచిత్రం ప్రకారం ప్రతిదీ కనెక్ట్ అయిన తర్వాత, మేము PYHTON లో ప్రోగ్రామ్ను వ్రాయడానికి PI ని ఆన్ చేయవచ్చు.
మేము PYHTON ప్రోగ్రామ్లో ఉపయోగించబోయే కొన్ని ఆదేశాల గురించి మాట్లాడుతాము, మేము లైబ్రరీ నుండి GPIO ఫైల్ను దిగుమతి చేయబోతున్నాము, క్రింద ఫంక్షన్ PI యొక్క GPIO పిన్లను ప్రోగ్రామ్ చేయడానికి అనుమతిస్తుంది. మేము “GPIO” ను “IO” అని పేరు మార్చుకుంటున్నాము, కాబట్టి ప్రోగ్రామ్లో మనం GPIO పిన్లను సూచించదలిచినప్పుడల్లా 'IO' అనే పదాన్ని ఉపయోగిస్తాము.
RPi.GPIO ని IO గా దిగుమతి చేయండి
కొన్నిసార్లు, మేము ఉపయోగించడానికి ప్రయత్నిస్తున్న GPIO పిన్స్ కొన్ని ఇతర విధులను చేస్తున్నప్పుడు. అలాంటప్పుడు, ప్రోగ్రామ్ను అమలు చేస్తున్నప్పుడు మాకు హెచ్చరికలు అందుతాయి. దిగువ కమాండ్ హెచ్చరికలను విస్మరించి ప్రోగ్రామ్తో కొనసాగమని PI కి చెబుతుంది.
IO.setwarnings (తప్పుడు)
మేము PI యొక్క GPIO పిన్లను బోర్డులోని పిన్ నంబర్ ద్వారా లేదా వాటి ఫంక్షన్ నంబర్ ద్వారా సూచించవచ్చు. బోర్డులోని 'పిన్ 29' లాగా 'GPIO5' ఉంది. కాబట్టి మనం ఇక్కడ పిన్ను '29' లేదా '5' ద్వారా ప్రాతినిధ్యం వహించబోతున్నాం.
IO.setmode (IO.BCM)
మేము PIN39 లేదా GPIO19 ను అవుట్పుట్ పిన్గా సెట్ చేస్తున్నాము. మేము ఈ పిన్ నుండి PWM అవుట్పుట్ పొందుతాము.
IO.setup (19, IO.OUT)
అవుట్పుట్ పిన్ను సెట్ చేసిన తరువాత, మేము పిన్ను PWM అవుట్పుట్ పిన్గా సెటప్ చేయాలి, p = IO.PWM (అవుట్పుట్ ఛానల్, PWM సిగ్నల్ యొక్క ఫ్రీక్వెన్సీ)
పై ఆదేశం ఛానెల్ను సెటప్ చేయడానికి మరియు ఛానెల్ యొక్క ఫ్రీక్వెన్సీని సెటప్ చేయడానికి కూడా ఉంది ”. ఇక్కడ 'p' అనేది ఏదైనా కావచ్చు. మేము GPIO19 ను PWM “అవుట్పుట్ ఛానెల్గా ఉపయోగిస్తున్నాము. “PWM సిగ్నల్ యొక్క ఫ్రీక్వెన్సీ” మేము 50 ని ఎన్నుకుంటాము, ఎందుకంటే SG90 వర్కింగ్ ఫ్రీక్వెన్సీ 50Hz.
PWM సిగ్నల్ ఉత్పత్తిని ప్రారంభించడానికి కమాండ్ క్రింద ఉపయోగించబడుతుంది. ' DUTYCYCLE ' అనేది ముందు వివరించిన విధంగా 'ఆన్' నిష్పత్తిని సెట్ చేయడం కోసం, p.start (DUTYCYCLE)
క్రింద ఉన్న ఆదేశం ఎప్పటికీ లూప్గా ఉపయోగించబడుతుంది, ఈ ఆదేశంతో ఈ లూప్లోని స్టేట్మెంట్లు నిరంతరం అమలు చేయబడతాయి.
1:
రాస్ప్బెర్రీ పై ఉపయోగించి సర్వోను నియంత్రించే ప్రోగ్రామ్ ఇక్కడ GPIO19 వద్ద PWM సిగ్నల్ ను అందిస్తుంది. పిడబ్ల్యుఎం సిగ్నల్ యొక్క డ్యూటీ నిష్పత్తి మూడు విలువల మధ్య మూడు సెకన్ల వరకు మార్చబడుతుంది. కాబట్టి ప్రతి సెకనుకు సర్వో డ్యూటీ నిష్పత్తి ద్వారా నిర్ణయించబడిన స్థానానికి తిరుగుతుంది. సర్వో నిరంతరం మూడు సెకన్లలో 0º, 90º మరియు 180º కు తిరుగుతుంది.