రాస్ప్బెర్రీ పై అనేది ఎలక్ట్రానిక్ ఇంజనీర్లు మరియు అభిరుచి గలవారి కోసం రూపొందించిన ARM ఆర్కిటెక్చర్ ప్రాసెసర్ ఆధారిత బోర్డు. PI ఇప్పుడు అక్కడ అత్యంత విశ్వసనీయ ప్రాజెక్ట్ డెవలప్మెంట్ ప్లాట్ఫామ్లలో ఒకటి. అధిక ప్రాసెసర్ వేగం మరియు 1 జిబి ర్యామ్తో, ఇమేజ్ ప్రాసెసింగ్ మరియు ఇంటర్నెట్ ఆఫ్ థింగ్స్ వంటి అనేక ఉన్నత ప్రాజెక్టులకు పిఐని ఉపయోగించవచ్చు.
ఏదైనా ఉన్నత ప్రొఫైల్ ప్రాజెక్టులు చేయడానికి, PI యొక్క ప్రాథమిక విధులను అర్థం చేసుకోవాలి. మేము ఈ ట్యుటోరియల్లో రాస్ప్బెర్రీ పై యొక్క అన్ని ప్రాథమిక కార్యాచరణలను కవర్ చేస్తాము. ప్రతి ట్యుటోరియల్లో మనం PI యొక్క ఒక ఫంక్షన్ గురించి చర్చిస్తాము. ఈ రాస్ప్బెర్రీ పై ట్యుటోరియల్ సిరీస్ ముగిసే సమయానికి, మీరు మీరే అధిక ప్రొఫైల్ ప్రాజెక్టులను చేయగలుగుతారు. దిగువ ట్యుటోరియల్స్ ద్వారా వెళ్ళండి:
- రాస్ప్బెర్రీ పైతో ప్రారంభించండి
- రాస్ప్బెర్రీ పై కాన్ఫిగరేషన్
- LED బ్లింకీ
- రాస్ప్బెర్రీ పై బటన్ ఇంటర్ఫేసింగ్
- రాస్ప్బెర్రీ పై పిడబ్ల్యుఎం తరం
- రాస్ప్బెర్రీ పై ఉపయోగించి DC మోటారును నియంత్రించడం
ఈ ట్యుటోరియల్లో, రాస్ప్బెర్రీ పైని ఉపయోగించి స్టెప్పర్ మోటార్ యొక్క వేగాన్ని నియంత్రిస్తాము. స్టెప్పర్ మోటర్లో, పేరు చెప్పినట్లుగా, షాఫ్ట్ యొక్క భ్రమణం దశ రూపంలో ఉంటుంది. వివిధ రకాల స్టెప్పర్ మోటార్ ఉన్నాయి; ఇక్కడ మేము యూనిపోలార్ స్టెప్పర్ మోటర్ అనే అత్యంత ప్రజాదరణ పొందినదాన్ని ఉపయోగిస్తాము. DC మోటారు మాదిరిగా కాకుండా, సరైన సూచనలు ఇవ్వడం ద్వారా మనం ఏదైనా నిర్దిష్ట కోణానికి స్టెప్పర్ మోటారును తిప్పవచ్చు.
ఈ ఫోర్ స్టేజ్ స్టెప్పర్ మోటారును తిప్పడానికి, మేము స్టెప్పర్ మోటార్ డ్రైవర్ సర్క్యూట్ ఉపయోగించి పవర్ పప్పులను పంపిణీ చేస్తాము. డ్రైవర్ సర్క్యూట్ PI నుండి లాజిక్ ట్రిగ్గర్లను తీసుకుంటుంది. మేము లాజిక్ ట్రిగ్గర్లను నియంత్రిస్తే, మేము శక్తి పప్పులను నియంత్రిస్తాము మరియు అందువల్ల స్టెప్పర్ మోటారు వేగం.
ఉన్నాయి రాస్ప్బెర్రీ పై 2 లో 40 GPIO అవుట్పుట్ పిన్స్. కానీ 40 లో, 26 GPIO పిన్లను (GPIO2 నుండి GPIO27 వరకు) మాత్రమే ప్రోగ్రామ్ చేయవచ్చు. ఈ పిన్స్ కొన్ని కొన్ని ప్రత్యేక విధులు నిర్వహిస్తాయి. ప్రత్యేక GPIO ను పక్కన పెడితే, మాకు 17 GPIO మాత్రమే మిగిలి ఉంది. ఈ 17 GPIO పిన్ ప్రతి గరిష్టంగా 15mA కరెంట్ను అందించగలదు. మరియు అన్ని GPIO పిన్ల నుండి వచ్చే ప్రవాహాల మొత్తం 50mA మించకూడదు . GPIO పిన్ల గురించి మరింత తెలుసుకోవడానికి, దీని ద్వారా వెళ్ళండి: రాస్ప్బెర్రీ పైతో LED బ్లింక్
ఉన్నాయి + 5V (పిన్ 2 & 4) మరియు + 3.3V (పిన్ 1 & 17) శక్తి అవుట్పుట్ పిన్స్ ఇతర గుణకాలు మరియు సెన్సార్లు కనెక్ట్ కోసం బోర్డు మీద. ఈ పవర్ పట్టాలను స్టెప్పర్ మోటారును నడపడానికి ఉపయోగించలేము, ఎందుకంటే దాన్ని తిప్పడానికి మాకు ఎక్కువ శక్తి అవసరం. కాబట్టి మనం విద్యుత్తును మరొక విద్యుత్ వనరు నుండి స్టెప్పర్ మోటారుకు అందించాలి. నా స్టెప్పర్ మోటారుకు 9V వోల్టేజ్ రేటింగ్ ఉంది, కాబట్టి నేను 9v బ్యాటరీని నా రెండవ శక్తి వనరుగా ఉపయోగిస్తున్నాను. వోల్టేజ్ రేటింగ్ తెలుసుకోవడానికి మీ స్టెప్పర్ మోటార్ మోడల్ నంబర్ను శోధించండి. రేటింగ్ను బట్టి ద్వితీయ మూలాన్ని సముచితంగా ఎంచుకోండి.
ముందే చెప్పినట్లుగా, స్టెప్పర్ మోటారును నడపడానికి మాకు డ్రైవర్ సర్క్యూట్ అవసరం. మేము ఇక్కడ సింపుల్ ట్రాన్సిస్టర్ డ్రైవర్ సర్క్యూట్ రూపకల్పన చేస్తాము.
అవసరమైన భాగాలు:
ఇక్కడ మేము రాస్ప్బెర్రీ పై 2 మోడల్ B ని రాస్పియన్ జెస్సీ OS తో ఉపయోగిస్తున్నాము. అన్ని ప్రాథమిక హార్డ్వేర్ మరియు సాఫ్ట్వేర్ అవసరాలు ఇంతకుముందు చర్చించబడ్డాయి, మీరు దీన్ని రాస్ప్బెర్రీ పై పరిచయంలో చూడవచ్చు, మనకు అవసరమైనవి కాకుండా:
- పిన్లను కనెక్ట్ చేస్తోంది
- 220Ω లేదా 1KΩresistor (3)
- స్టెప్పర్ మోటార్
- బటన్లు (2)
- 2N2222 ట్రాన్సిస్టర్ (4)
- 1N4007 డయోడ్ (4)
- కెపాసిటర్- 1000 యుఎఫ్
- బ్రెడ్ బోర్డు
సర్క్యూట్ వివరణ:
360 డిగ్రీల భ్రమణాన్ని పూర్తి చేయడానికి స్టెప్పర్ మోటారు 200 దశలను ఉపయోగిస్తుంది, అంటే దాని దశకు 1.8 డిగ్రీలు తిప్పండి. మేము ఫోర్ స్టేజ్ స్టెప్పర్ మోటారును నడుపుతున్నందున, సింగిల్ లాజిక్ చక్రాన్ని పూర్తి చేయడానికి మేము నాలుగు పప్పులను ఇవ్వాలి. ఈ మోటారు యొక్క ప్రతి దశ 1.8 డిగ్రీల భ్రమణాన్ని పూర్తి చేస్తుంది, కాబట్టి ఒక చక్రం పూర్తి చేయడానికి మనకు 200 పప్పులు అవసరం. కాబట్టి ఒకే భ్రమణాన్ని పూర్తి చేయడానికి 200/4 = 50 తర్కం చక్రాలు అవసరం. స్టెప్పర్స్ మోటార్స్ మరియు దాని డ్రైవింగ్ మోడ్ల గురించి మరింత తెలుసుకోవడానికి దీన్ని తనిఖీ చేయండి.
మేము ఈ నాలుగు కాయిల్స్ను ఎన్పిఎన్ ట్రాన్సిస్టర్ (2 ఎన్ 2222) ద్వారా నడుపుతాము, ఈ ఎన్పిఎన్ ట్రాన్సిస్టర్ పిఐ నుండి లాజిక్ పల్స్ తీసుకొని సంబంధిత కాయిల్ను నడుపుతుంది. స్టెప్పర్ మోటారు యొక్క నాలుగు దశలను నడపడానికి నాలుగు ట్రాన్సిస్టర్లు పిఐ నుండి నాలుగు లాజిక్లను తీసుకుంటున్నాయి.
ట్రాన్సిస్టర్ డ్రైవర్ సర్క్యూట్ ఒక గమ్మత్తైన సెటప్; ఇక్కడ మనం ట్రాన్సిస్టర్ను తప్పుగా కనెక్ట్ చేయడం వల్ల బోర్డు భారీగా లోడ్ అవుతుంది మరియు దానిని పాడుచేయవచ్చు. స్టెప్పర్ మోటార్ డ్రైవర్ సర్క్యూట్ను సరిగ్గా అర్థం చేసుకోవడానికి దీన్ని తనిఖీ చేయండి.
మోటారు ఒక ప్రేరణ మరియు మోటారును మార్చేటప్పుడు, మేము ప్రేరక స్పైకింగ్ను అనుభవిస్తాము. ఈ స్పైకింగ్ ట్రాన్సిస్టర్ను భారీగా వేడి చేస్తుంది, కాబట్టి ఇండక్టివ్ స్పైకింగ్కు వ్యతిరేకంగా ట్రాన్సిస్టర్కు రక్షణ కల్పించడానికి మేము డయోడ్ (1N4007) ను ఉపయోగిస్తాము.
క్రమంలో వోల్టేజ్ హెచ్చుతగ్గులు తగ్గించేందుకు, మేము ఒక కనెక్ట్ చేయబడుతుంది 1000uF కెపాసిటర్ సర్క్యూట్లో చూపిన విద్యుత్ సరఫరా అంతటా.
పని వివరణ:
సర్క్యూట్ రేఖాచిత్రం ప్రకారం ప్రతిదీ కనెక్ట్ అయిన తర్వాత, మేము PYHTON లో ప్రోగ్రామ్ను వ్రాయడానికి PI ని ఆన్ చేయవచ్చు.
మేము PYHTON ప్రోగ్రామ్లో ఉపయోగించబోయే కొన్ని ఆదేశాల గురించి మాట్లాడుతాము, మేము లైబ్రరీ నుండి GPIO ఫైల్ను దిగుమతి చేయబోతున్నాము, క్రింద ఫంక్షన్ PI యొక్క GPIO పిన్లను ప్రోగ్రామ్ చేయడానికి అనుమతిస్తుంది. మేము “GPIO” ను “IO” అని పేరు మార్చుకుంటున్నాము, కాబట్టి ప్రోగ్రామ్లో మనం GPIO పిన్లను సూచించదలిచినప్పుడల్లా 'IO' అనే పదాన్ని ఉపయోగిస్తాము.
RPi.GPIO ని IO గా దిగుమతి చేయండి
కొన్నిసార్లు, మేము ఉపయోగించడానికి ప్రయత్నిస్తున్న GPIO పిన్స్ కొన్ని ఇతర విధులను చేస్తున్నప్పుడు. అలాంటప్పుడు, ప్రోగ్రామ్ను అమలు చేస్తున్నప్పుడు మాకు హెచ్చరికలు అందుతాయి. దిగువ కమాండ్ హెచ్చరికలను విస్మరించి ప్రోగ్రామ్తో కొనసాగమని PI కి చెబుతుంది.
IO.setwarnings (తప్పుడు)
మేము PI యొక్క GPIO పిన్లను బోర్డులోని పిన్ నంబర్ ద్వారా లేదా వాటి ఫంక్షన్ నంబర్ ద్వారా సూచించవచ్చు. బోర్డులోని 'పిన్ 35' వలె 'GPIO19'. కాబట్టి మనం ఇక్కడ పిన్ ను '35' లేదా '19' ద్వారా ప్రాతినిధ్యం వహించబోతున్నాం.
IO.setmode (IO.BCM)
మేము నాలుగు కాయిల్స్ స్టెప్పర్ మోటారును నడపడానికి నాలుగు GPIO పిన్లను అవుట్పుట్గా సెట్ చేస్తున్నాము.
IO.setup (5, IO.OUT) IO.setup (17, IO.OUT) IO.setup (27, IO.OUT) IO.setup (22, IO.OUT)
మేము GPIO26 మరియు GPIO19 ను ఇన్పుట్ పిన్లుగా సెట్ చేస్తున్నాము. మేము ఈ పిన్స్ ద్వారా బటన్ ప్రెస్ను కనుగొంటాము.
IO.setup (19, IO.IN) IO.setup (26, IO.IN)
కలుపులలోని పరిస్థితి నిజమైతే, లూప్ లోపల ఉన్న స్టేట్మెంట్లు ఒకసారి అమలు చేయబడతాయి. కాబట్టి GPIO పిన్ 26 తక్కువగా ఉంటే, అప్పుడు IF లూప్లోని స్టేట్మెంట్లు ఒకసారి అమలు చేయబడతాయి. GPIO పిన్ 26 తక్కువగా ఉండకపోతే, అప్పుడు IF లూప్లోని స్టేట్మెంట్లు అమలు చేయబడవు.
if (IO.input (26) == తప్పు):
ఈ ఆదేశం లూప్ను 100 సార్లు అమలు చేస్తుంది, x 0 నుండి 99 వరకు పెంచబడుతుంది.
పరిధిలో x కోసం (100):
1: అనంత లూప్ కోసం ఉపయోగించబడుతుంది. ఈ ఆదేశంతో ఈ లూప్లోని స్టేట్మెంట్లు నిరంతరం అమలు చేయబడతాయి.
దీనితో స్టెప్పర్ మోటార్ యొక్క స్పీడ్ కంట్రోల్ సాధించడానికి అవసరమైన అన్ని ఆదేశాలు మన వద్ద ఉన్నాయి.
ప్రోగ్రామ్ వ్రాసి, దానిని అమలు చేసిన తరువాత, మిగిలి ఉన్నది నియంత్రణను ఆపరేట్ చేస్తుంది. మాకు PI కి కనెక్ట్ చేయబడిన రెండు బటన్లు ఉన్నాయి. ఇంక్రిమెంట్ కోసం ఒకటి నాలుగు పప్పుల మధ్య ఆలస్యం మరియు మరొకటి నాలుగు పప్పుల మధ్య ఆలస్యం తగ్గుతుంది. ఆలస్యం వేగం గురించి మాట్లాడుతుంది; ఉంటే ఆలస్యం ఎక్కువ మోటార్ ప్రతి అడుగు మధ్య మరియు కాబట్టి బ్రేక్లు పడుతుంది భ్రమణం నెమ్మదిగా ఉంది. ఆలస్యం సున్నాకి దగ్గరగా ఉంటే , అప్పుడు మోటారు గరిష్ట వేగంతో తిరుగుతుంది.
ఇక్కడ ఇది గుర్తుంచుకోవాలి, పప్పుల మధ్య కొంత ఆలస్యం ఉండాలి. పల్స్ ఇచ్చిన తరువాత, స్టెప్పర్ మోటారు దాని చివరి దశకు చేరుకోవడానికి కొన్ని మిల్లీసెకన్ల సమయం పడుతుంది. పప్పుధాన్యాల మధ్య ఆలస్యం లేకపోతే, స్టెప్పర్ మోటారు అస్సలు కదలదు. పప్పుల మధ్య సాధారణంగా 50ms ఆలస్యం మంచిది. మరింత ఖచ్చితమైన సమాచారం కోసం, డేటా షీట్లోకి చూడండి.
కాబట్టి రెండు బటన్లతో మనం ఆలస్యాన్ని నియంత్రించవచ్చు, ఇది స్టెప్పర్ మోటారు వేగాన్ని నియంత్రిస్తుంది.