- భాగాలు అవసరం
- సర్క్యూట్ రేఖాచిత్రం మరియు కనెక్షన్లు
- SMT32F103C8 పిన్ వివరాలు
- సర్వో మోటార్ కోసం STM32 ప్రోగ్రామింగ్
ఎలక్ట్రానిక్స్లో, సర్వో మోటార్లు రోబోటిక్స్ ప్రాజెక్టులలో ఎక్కువగా ఉపయోగించబడతాయి ఎందుకంటే వాటి ఖచ్చితత్వం మరియు సులభంగా నిర్వహించడం. సర్వో మోటార్లు పరిమాణంలో చిన్నవి మరియు అవి చాలా ప్రభావవంతంగా మరియు శక్తి సామర్థ్యంతో ఉంటాయి. ఇవి అధిక టార్క్ను అందిస్తాయి మరియు మోటార్లు స్పెసిఫికేషన్ ప్రకారం బరువులు ఎత్తడానికి లేదా నెట్టడానికి ఉపయోగించవచ్చు. ఈ ట్యుటోరియల్లో మేము సర్వో మోటార్ గురించి మరియు STM32F103C8 బోర్డ్తో సర్వోను ఎలా ఇంటర్ఫేస్ చేయాలో నేర్చుకుంటాము . సర్వో మోటర్ యొక్క షాఫ్ట్ యొక్క స్థితిని మార్చడానికి ఒక పొటెన్షియోమీటర్ కూడా ఇంటర్ఫేస్ చేయబడింది మరియు కోణ విలువను ప్రదర్శించడానికి ఒక LCD.
భాగాలు అవసరం
- STM32F103C8 (బ్లూ పిల్) బోర్డు
- సర్వో మోటార్ (SG90)
- LCD (16x2)
- పొటెన్టోమీటర్
- బ్రెడ్బోర్డ్
- జంపర్ వైర్లు
సర్క్యూట్ రేఖాచిత్రం మరియు కనెక్షన్లు
SMT32F103C8 పిన్ వివరాలు
లో STM32F103C8, మేము 10 కలిగి ADC పిన్స్ (PA0-PB1), మరియు ఇక్కడ మేము కేవలం ఒక పిన్ (PA3) ఉపయోగించడానికి () analogread potentiometer మోటార్ షాఫ్ట్ స్థానం కొరకు కేటాయించారు. STM32 (PA0, PA1, PA2, PA3, PA6, PA7, PA8, PA9, PA10, PB0, PB1, PB6, PB7, PB8, PB9) యొక్క 15 PWM పిన్లలో, సర్వోకు పప్పుధాన్యాలు అందించడానికి ఒక పిన్ ఉపయోగించబడుతుంది. మోటారు యొక్క PWM పిన్ (సాధారణంగా ఇది నారింజ రంగులో ఉంటుంది).
వివరణాత్మక కథనాలకు క్రింద చదవడం ద్వారా మీరు PWM మరియు ADC గురించి మరింత తెలుసుకోవచ్చు:
- STM32F103C8 లో ADC ని ఎలా ఉపయోగించాలి
- STM32F103C8 లో పల్స్ వెడల్పు మాడ్యులేషన్ (PWM)
STM32F103C8 మరియు LCD మధ్య కనెక్షన్
STM32F103C8 | ఎల్సిడి |
GND | వి.ఎస్.ఎస్ |
+ 5 వి | VDD |
పొటెన్టోమీటర్ సెంటర్ పిన్కు | వి 0 |
పిబి 0 | ఆర్ఎస్ |
GND | ఆర్డబ్ల్యూ |
పిబి 1 | ఇ |
పిబి 10 | డి 4 |
పిబి 11 | డి 5 |
పిసి 13 | డి 6 |
పిసి 14 | డి 7 |
+ 5 వి | జ |
GND | కె |
సర్వో మోటారు మరియు STM32F103C8 మధ్య కనెక్షన్
STM32F103C8 |
సెర్వో |
+ 5 వి |
RED (+ 5V) |
PA0 |
ఆరెంజ్ (పిడబ్ల్యుఎం పిన్) |
GND |
BROWN (GND) |
పొటెన్టోమీటర్స్ కనెక్షన్లు
మేము ఇక్కడ రెండు పొటెన్షియోమీటర్లను ఉపయోగించాము
1. ఎల్సిడి కాంట్రాస్ట్ను మార్చడానికి కుడి వైపున ఉన్న పొటెన్టోమీటర్ ఉపయోగించబడుతుంది. దీనికి మూడు పిన్స్ ఉన్నాయి, ఎడమ పిన్ + 5 వి మరియు కుడి జిఎన్డి కోసం మరియు సెంటర్ పిన్ ఎల్సిడి యొక్క వి 0 కి అనుసంధానించబడి ఉంది.
2. అనలాగ్ ఇన్పుట్ వోల్టేజ్ను నియంత్రించడం ద్వారా సర్వో మోటర్ యొక్క షాఫ్ట్ పొజిషన్ను మార్చడానికి ఎడమ వైపున ఉన్న పొటెన్టోమీటర్ ఉపయోగించబడుతుంది, ఎడమ పిన్కు ఇన్పుట్ 3.3 వి మరియు కుడివైపు జిఎన్డి ఉంది మరియు సెంటర్ అవుట్పుట్ STM32 యొక్క (PA3) తో అనుసంధానించబడి ఉంది.
సర్వో మోటార్ కోసం STM32 ప్రోగ్రామింగ్
మా మునుపటి ట్యుటోరియల్ మాదిరిగానే, మేము STM32F103C8 ను FTDI ప్రోగ్రామర్ ఉపయోగించకుండా USB పోర్ట్ ద్వారా Arduino IDE తో ప్రోగ్రామ్ చేసాము. మేము దీనిని ఆర్డునో లాగా ప్రోగ్రామింగ్ కొనసాగించవచ్చు. ప్రాజెక్ట్ చివరిలో పూర్తి కోడ్ క్రింద ఇవ్వబడింది.
మొదట మేము సర్వో మరియు ఎల్సిడి ఫంక్షన్ల కోసం లైబ్రరీ ఫైల్లను చేర్చాము:
# చేర్చండి
అప్పుడు ఎల్సిడి డిస్ప్లే కోసం పిన్లను ప్రకటించి దాన్ని ప్రారంభించారు. PWM మరియు పొటెన్షియోమీటర్ కోసం కొన్ని ఇతర వేరియబుల్స్ కూడా ప్రకటించారు:
const int rs = PB0, en = PB1, d4 = PB10, d5 = PB11, d6 = PC13, d7 = PC14; లిక్విడ్ క్రిస్టల్ ఎల్సిడి (rs, en, d4, d5, d6, d7); int servoPin = PA0; int potPin = PA3;
ఇక్కడ మేము డేటాటైప్ సర్వోతో వేరియబుల్ సర్వోను సృష్టించాము మరియు గతంలో ప్రకటించిన పిడబ్ల్యుఎం పిన్కు జోడించాము.
సర్వో సర్వో; servo.attach (servoPin);
పిన్ PA3 నుండి అనలాగ్ విలువను చదవండి, ఎందుకంటే ఇది ADC పిన్, ఇది అనలాగ్ వోల్టేజ్ (0-3.3) ను డిజిటల్ రూపంలోకి మారుస్తుంది (0-4095)
అనలాగ్ రీడ్ (పాట్పిన్);
డిజిటల్ అవుట్పుట్ 12-బిట్ రిజల్యూషన్ కాబట్టి, మనం డిగ్రీ (0-170) పరిధిలో విలువలను పొందాలి, ఇది గరిష్ట కోణం 170 డిగ్రీల ప్రకారం ADC (0-4096) విలువను విభజిస్తుంది కాబట్టి మేము 24 తో విభజిస్తాము .
కోణం = (పఠనం / 24);
దిగువ స్టేట్మెంట్ ఇచ్చిన కోణంలో షాఫ్ట్ను తిప్పడానికి సర్వో మోటారును చేస్తుంది.
servo.write (కోణం);
పూర్తి కోడ్ క్రింద ఇవ్వబడింది మరియు వ్యాఖ్యల ద్వారా బాగా వివరించబడింది.