- Stepper Motor:
- ULN2003 trinnmotordriver:
- Nødvendige materialer:
- Kretsdiagram:
- Kode og arbeidsforklaring:
I denne opplæringen vil vi grensesnitt trinnmotor ved hjelp av MSP430. Den MSP-EXP430G2 er et utviklingsverktøy aka LaunchPad levert av Texas Instruments for å lære og øve på hvordan du skal bruke mikrokontrollere. Dette tavlen faller inn under MSP430 Value Line-kategorien der vi kan programmere alle MSP430-serien Microcontrollers. Hvis du er ny i MSP, kan du sjekke hvordan vi kommer i gang med MSP430-opplæringen.
Stepper Motor:
Stepper Motor er en type børsteløs DC-motor som konverterer elektriske pulser til forskjellige mekaniske bevegelser. Akselen til en trinnmotor roterer i diskrete trinn. Vi kan få presise trinn og hastighet i henhold til vårt behov.
Vi vil bruke 35BYJ46 Bi-polar trinnmotor som er billig tilgjengelig i markedet. Den har 6 ledninger, men den kommer også med 5 ledninger. Det er to spoler i trinnmotoren vår. Hver har 3 ledninger som kommer ut av den. Av tre ledninger er 1 sentrert, så de gjenværende to ledningene er koblet direkte til spolen. Totalt har vi 4 signalledninger og 2 sentrerte ledninger som er koblet til 5-12V strømforsyning.
I tilfelle hvis det er totalt 5 ledninger som kommer ut av motoren, er 4 ledninger signalledninger og 1 er sentrert tappet mot begge spolene. Som dette.
For å sjekke hvilken ledning som er sentrert, eller hvilken signalkabel, må du kontrollere motstanden til ledningene som kommer ut av motoren. Så disse ledningene, som er koblet til samme spole, har høy motstandsverdi sammenlignet med motstand av sentrert tappet.
I diagrammet ovenfor, hvis vi har sjekket motstandsverdien til blå og gule ledninger, og motstanden mellom dem er mer enn verdien mellom gul og rød eller blå og rød. Så, rød er sentrert tappet ledning.
Vi har tidligere koblet Stepper Motor til andre mikrokontrollere:
- Grensesnitt trinnmotor med Arduino Uno
- Stepper Motor Control med Raspberry Pi
- Stepper Motor-grensesnitt med 8051 mikrokontroller
- Grensesnitt trinnmotor med PIC-mikrokontroller
Stepper motor kan også styres uten mikrokontroller, se denne Stepper Motor Driver Circuit.
ULN2003 trinnmotordriver:
De fleste trinnmotorer vil bare fungere ved hjelp av en drivermodul. Dette er fordi kontrollermodulen (i vårt tilfelle MSP) ikke vil kunne gi nok strøm fra sine I / O-pinner til at motoren skal kunne fungere. Så vi vil bruke en ekstern modul som ULN2003- modul som trinnmotordriver. Det finnes mange typer drivermoduler, og rangering av en vil endres basert på hvilken type motor som brukes. Det primære prinsippet for alle drivermoduler vil være å kilde / synke nok strøm til at motoren skal fungere.
I dette prosjektet vil vi bruke ULN2003 motor driver IC. Pin diagram av IC er gitt nedenfor:
Vi bruker 4 innganger og 4 utganger hvis IC.
Nødvendige materialer:
- MSP430
- 35BYJ46 eller 28-BYJ48 Stepper motor
- ULN2003 IC
- Ledninger
- Brettbrett
Kretsdiagram:
I diagrammet ovenfor er RED ledning av stepper ikke koblet til PIN5 på IC. Den må kobles til 5V. Fargekoden til trinnmotoren din kan være forskjellig fra fargene gitt i kretsskjemaet. Så, koble ledningene etter å ha sjekket de riktige signaltrådene.
Vi skriver koden vår ved hjelp av Energia IDE. Det er det samme som Arduino IDE og enkelt å bruke. Eksempelkode for å kjøre trinnet finner du også i eksempelmenyen til Arduino IDE.
Kode og arbeidsforklaring:
Før vi begynner å programmere med MSP430, la oss forstå hva som faktisk skal skje inne i programmet. Vi vil bruke 4-trinns sekvensmetode, så vi vil ha fire trinn å utføre for å gjøre en komplett rotasjon. Betrakt A, B, C og D som fire spoler.
Steg |
Pin Energized |
Spoler energisert |
Trinn 1 |
6 og 7 |
A og B |
Steg 2 |
7 og 8 |
B og C |
Trinn 3 |
8 og 9 |
C og D |
Trinn 4 |
9 og 6 |
D og A |
I denne opplæringen skal vi skrive MSP430 stepper motor code. Hele programmet finner du på slutten av opplæringen, noen viktige linjer er forklart nedenfor.
Antall trinn per omdreining for trinnmotoren vår ble beregnet til å være 32; derfor skriver vi inn det som vist i linjen nedenfor
const int STEPS = 32;
Deretter må du lage tilfeller der vi spesifiserer pinnene som vi har koblet trinnmotoren til.
Stepper myStepper (STEPS, 6, 7, 8, 9);
Siden vi bruker Stepper-biblioteket, kan vi stille hastigheten på motoren ved hjelp av linjen nedenfor. Hastigheten kan variere mellom 0 og 200 for 35BYJ46 trinnmotorer.
Mystepper.setSpeed (200);
Nå, for å få motoren til å bevege seg ett trinn, kan vi bruke følgende linje.
myStepper.step (STEPS);
Siden vi har 32 trinn og 64 som girforholdet, trenger vi å flytte 2048 (32 * 64 = 2048), for å gjøre en fullstendig rotasjon. Last nå opp koden nedenfor og endre nei. trinn etter behov.
Slik kan du grense trinnmotor med en PIC Microcontroller, nå kan du bruke din egen kreativitet og finne ut applikasjoner for dette. Det er mange prosjekter der ute som bruker en trinnmotor.