- పల్స్ వెడల్పు మాడ్యులేషన్ (పిడబ్ల్యుఎం)
- Arduino ఉపయోగించి ATtiny13 ప్రోగ్రామింగ్
- భాగాలు అవసరం
- సర్క్యూట్ రేఖాచిత్రం మరియు పని
సర్వో మోటారు పల్స్ వెడల్పు మాడ్యులేషన్ (పిడబ్ల్యుఎం) యొక్క ప్రిన్సిపాల్పై పనిచేస్తుంది మరియు దాని భ్రమణ కోణం దాని కంట్రోల్ పిన్కు వర్తించే పల్స్ వ్యవధి ద్వారా నియంత్రించబడుతుంది. ఇక్కడ ఈ ట్యుటోరియల్లో పిడబ్ల్యుఎం టెక్నిక్ ఉపయోగించి ఎటిటిని 13 మైక్రోకంట్రోలర్తో సర్వో మోటారును నియంత్రిస్తాము. కాబట్టి ఇంకేముందు వెళ్ళేముందు మనం మొదట పిడబ్ల్యుఎం, సర్వో మోటార్ గురించి మరియు ఆర్టునో బోర్డ్తో ఎటిటిని 13 ను ఎలా ప్రోగ్రామ్ చేయాలో నేర్చుకుంటాము.
పల్స్ వెడల్పు మాడ్యులేషన్ (పిడబ్ల్యుఎం)
పల్స్ వెడల్పు మాడ్యులేషన్ (పిడబ్ల్యుఎం) డిజిటల్ మూలాన్ని ఉపయోగించి అనలాగ్ సిగ్నల్ను ఉత్పత్తి చేసే పద్ధతిగా నిర్వచించబడింది. ఒక PWM సిగ్నల్ రెండు ప్రధాన భాగాలను కలిగి ఉంటుంది- విధి చక్రం మరియు పౌన.పున్యం. ఈ భాగాలు దాని ప్రవర్తనను నిర్వచించాయి. సిగ్నల్ అధిక స్థితిలో ఉన్న సమయాన్ని డ్యూటీ చక్రం వివరిస్తుంది. ఇది ఒక చక్రం పూర్తి చేయడానికి తీసుకునే మొత్తం సమయం యొక్క శాతంగా సూచించబడుతుంది.
డ్యూటీ సైకిల్ = సమయం ఆన్ చేయండి / (సమయం ఆన్ చేయండి + సమయం ఆఫ్ చేయండి)
PWM ఒక చక్రాన్ని ఎంత వేగంగా పూర్తి చేస్తుందో మరియు అధిక మరియు తక్కువ రాష్ట్రాల మధ్య సిగ్నల్ ఎంత వేగంగా మారుతుందో ఫ్రీక్వెన్సీ నిర్వచిస్తుంది. 100Hz పౌన frequency పున్యం అంటే సెకనుకు 100 చక్రాలు. డిజిటల్ సిగ్నల్ ఆన్ మరియు ఆఫ్ వేగంగా మరియు ఒక నిర్దిష్ట విధి చక్రంతో మారడం ద్వారా, అవుట్పుట్ స్థిరమైన వోల్టేజ్ అనలాగ్ సిగ్నల్ లాగా కనిపిస్తుంది. పిడబ్ల్యుఎం యొక్క శక్తివంతమైన ప్రయోజనాల్లో ఒకటి విద్యుత్ నష్టం చాలా తక్కువ.
అన్ని సర్వో మోటార్లు నేరుగా + 5 వి సరఫరాతో పనిచేస్తాయి, కాని మోటారు వినియోగించే కరెంట్ మొత్తంపై మనం జాగ్రత్తగా ఉండాలి. మేము రెండు కంటే ఎక్కువ సర్వో మోటార్లు ఉపయోగిస్తుంటే సరైన సర్వో షీల్డ్ రూపకల్పన చేయాలి.
సర్వోను అటిని 13 కి కనెక్ట్ చేయడానికి ముందు, మీరు ఈ సర్వో మోటార్ టెస్టర్ సర్క్యూట్ సహాయంతో మీ సర్వోను పరీక్షించవచ్చు. ఇక్కడ మేము చాలా మైక్రోకంట్రోలర్లతో ఇంటర్ఫేస్డ్ సర్వో మోటారును కలిగి ఉన్నాము:
- ARM7-LPC2148 తో ఇంటర్ఫేసింగ్ సర్వో మోటార్
- MSP430G2 తో ఇంటర్ఫేసింగ్ సర్వో మోటార్
- Arduino తో బహుళ సర్వో మోటార్లను నియంత్రించడం
- MPLAB మరియు XC8 ఉపయోగించి PIC మైక్రోకంట్రోలర్తో ఇంటర్ఫేసింగ్ సర్వో మోటార్
- రాస్ప్బెర్రీ పైతో సర్వో మోటార్ కంట్రోల్
- ఆర్డునో డ్యూతో సర్వో మోటార్ కంట్రోల్
- AVR మైక్రోకంట్రోలర్ Atmega16 తో ఇంటర్ఫేసింగ్ సర్వో మోటార్
Arduino ఉపయోగించి ATtiny13 ప్రోగ్రామింగ్
Attiny13 ను Arduino Uno లేదా మరేదైనా Arduino బోర్డు ఉపయోగించి ప్రోగ్రామ్ చేయవచ్చు. దిగువ చిత్రంలో చూపిన విధంగా Attiny13 ని Arduino Uno కి కనెక్ట్ చేయండి.
- Arduino 5V - ATtiny13 పిన్ 8
- Arduino GND - ATtiny13 పిన్ 4
- Arduino పిన్ 13 - ATtiny13 పిన్ 7
- Arduino పిన్ 12 - ATtiny13 పిన్ 6
- Arduino పిన్ 11 - ATtiny13 పిన్ 5
- Arduino పిన్ 10 - ATtiny13 పిన్ 1
అర్టునో ATtiny13 ప్రోగ్రామ్కు ప్రోగ్రామర్గా సెట్ చేయబడింది. ArduinoISP స్కెచ్ను Arduino కు అప్లోడ్ చేయడం ద్వారా ఇది జరుగుతుంది. Arduino IDE లోని ఉదాహరణల లోపల ఈ Arduino స్కెచ్ అందుబాటులో ఉంది. Arduino IDE ని తెరిచి, ఫైళ్ళు> ఉదాహరణలు> ArduinoISP కి వెళ్లండి .
ఇప్పుడు ArduinoISP కోసం ప్రోగ్రామ్ పాపప్ అవుతుంది. ప్రోగ్రామ్ను ఆర్డునో యునోకు అప్లోడ్ చేయండి.
Arduino Uno ఇప్పుడు Attiny13 ప్రోగ్రామ్ చేయడానికి సిద్ధంగా ఉంది. కానీ మేము దాని ప్రధాన ఫైళ్ళను వ్యవస్థాపించడం ద్వారా అట్టిని సెటప్ చేయాలి. దీన్ని చేయడానికి Arduino IDE లోని ఫైల్ >> ప్రాధాన్యతలకు వెళ్ళండి
అప్పుడు క్రొత్త విండో పాప్-అప్ అవుతుంది. మరియు “ అదనపు బోర్డు మేనేజర్ URL ” లో ఈ క్రింది లింక్ను జోడించి “OK” క్లిక్ చేయండి.
“Https://raw.githubusercontent.com/sleemanj/optiboot/master/dists/package_gogo_diy_attiny_index.json”
ఇప్పుడు మీ Arduino IDE లో టూల్స్ >> బోర్డ్ >> బోర్డుల మేనేజర్కు వెళ్లండి
సెర్చ్ బాక్స్ టైప్ 'అట్టిని' లో మరొక విండో పాప్-అప్ అవుతుంది, అప్పుడు మీకు “DIY ATtiny” లభిస్తుంది, ఆపై 'install' బటన్ పై క్లిక్ చేయండి (నేను ఇప్పటికే దీన్ని ఇన్స్టాల్ చేసాను, అందుకే బూడిద రంగులో ఇన్స్టాల్ బటన్)
ATtiny 13 ప్రోగ్రామింగ్ ప్రారంభించడానికి, మేము దానికి బూట్లోడర్ను బర్న్ చేయాలి . దాని కోసం, ఉపకరణాలు> బోర్డు> ATtiny13 కు వెళ్లండి.
ఇప్పుడు ఉపకరణాలు> ప్రాసెసర్ సంస్కరణకు వెళ్లి ATtiny యొక్క సరైన సంస్కరణ ఎంచుకోబడిందో లేదో తనిఖీ చేయండి. మీ చిప్ను బట్టి ATtiny13 లేదా ATtiny13a ఎంచుకోండి.
ఉపకరణాల మెను దిగువన ఉన్న బూట్లోడర్ బర్న్ బటన్ క్లిక్ చేయండి.
బూట్లోడర్ను బర్న్ చేసిన తరువాత, ATtiny ఇప్పుడు ప్రోగ్రామ్ చేయడానికి సిద్ధంగా ఉంది. ఇప్పుడు మీరు మీ ప్రోగ్రామ్ను అప్లోడ్ చేయవచ్చు.
భాగాలు అవసరం
- ATtiny13 మైక్రోకంట్రోలర్
- సర్వో మోటర్
- పొటెన్టోమీటర్
- + 5 వి బ్యాటరీ
- Arduino IDE
- వైర్లను కనెక్ట్ చేస్తోంది
సర్క్యూట్ రేఖాచిత్రం మరియు పని
ATtiny13 తో కుండ ఉపయోగించి సర్వో మోటారును నియంత్రించడానికి సర్క్యూట్ రేఖాచిత్రం క్రింద ఇవ్వబడింది.
క్రింద కనెక్షన్లు ఉన్నాయి
- ATtiny13 యొక్క పిన్ 5 కు సర్వో మోటార్ కంట్రోల్ పిన్ను కనెక్ట్ చేయండి
- ATtiny13 యొక్క పిన్ 4 కు సర్వో మోటార్ యొక్క భూమిని కనెక్ట్ చేయండి
- ATtiny13 యొక్క పిన్ 8 కు సర్వో మోటార్ యొక్క VCC ని కనెక్ట్ చేయండి
- ATtiny13 యొక్క పిన్ 7 కు పొటెన్టోమీటర్ యొక్క మధ్య పిన్ను కనెక్ట్ చేయండి
- పొటెన్టోమీటర్ యొక్క మొదటి మరియు మూడవ పిన్లను VCC మరియు GND కి కనెక్ట్ చేయండి.
- + 5V బ్యాటరీ యొక్క పాజిటివ్ను ATtiny13 యొక్క పిన్ 8 కి కనెక్ట్ చేయండి
- + 5V బ్యాటరీ యొక్క ప్రతికూలతను ATtiny13 యొక్క పిన్ 4 కి కనెక్ట్ చేయండి
ఒక పొటెన్షియోమీటర్ ATtiny13 యొక్క పిన్ 7 (PB2) కు అనుసంధానించబడి ఉంది మరియు సర్వో మోటార్ యొక్క కంట్రోల్ వైర్ పిన్ 5 (PB0) కు అనుసంధానించబడి ఉంది.
ఇక్కడ పొటెన్షియోమీటర్ విలువ చదవబడుతుంది మరియు అది 0 మరియు 180 మధ్య విలువగా మార్చబడుతుంది. అప్పుడు ఈ కోణ విలువ మైక్రోసెకన్లుగా మార్చబడుతుంది మరియు లెక్కించిన మైక్రోసెకన్ల ఆలస్యంతో సర్వో మోటార్ యొక్క కంట్రోల్ పిన్కు పల్స్ ఇవ్వబడుతుంది. క్రింద ఇవ్వబడిన వీడియోలో చూపిన విధంగా ఇప్పుడు సర్వో మోటర్ పొటెన్షియోమీటర్ విలువ ప్రకారం మారుతుంది.