- Trinmotor:
- ULN2003 trinmotordriver:
- Nødvendige materialer:
- Kredsløbsdiagram:
- Kode og arbejdsforklaring:
I denne vejledning vil vi interface trinmotor ved hjælp af MSP430. Den MSP-EXP430G2 er et udviklingsværktøj aka LaunchPad leveres af Texas Instruments for at lære og praksis for, hvordan du bruger deres mikrocontrollere. Dette kort falder ind under MSP430 Value Line-kategorien, hvor vi kan programmere alle MSP430-serien Microcontrollers. Hvis du er ny hos MSP, så tjek vores komme i gang med MSP430-tutorial.
Trinmotor:
Stepper Motor er en type børsteløs DC-motor, der omdanner elektriske impulser til forskellige mekaniske bevægelser. Akslen på en trinmotor roterer i diskrete trin. Vi kan få præcise trin og hastighed efter vores behov.
Vi bruger 35BYJ46 Bi-polar stepper motor, som er billigt tilgængelig på markedet. Den har 6 ledninger, men den leveres også med 5 ledninger. Der er 2 spoler i vores trinmotor. Hver har 3 ledninger, der kommer ud af den. Ud af 3 ledninger er 1 centreret, så de resterende 2 ledninger er direkte forbundet med spolen. I alt har vi 4 signalkabler og 2 centrerede ledninger, der er forbundet med 5-12V strømforsyning.
Hvis der i alt er 5 ledninger, der kommer ud af motoren, så er 4 ledninger signalledninger, og 1 er centreret med begge banker. Sådan her.
For at kontrollere, hvilken ledning der er centreret, eller hvilken signaltråd, skal du kontrollere modstanden for ledninger, der kommer ud af motoren. Så disse ledninger, der er forbundet med den samme spole, har høj modstandsværdi sammenlignet med modstand fra centreret tappet.
I ovenstående diagram, hvis vi har kontrolleret modstandsværdien af blå og gule ledninger, og modstanden mellem dem er mere end værdien mellem gul og rød eller blå og rød. Så rød er centreret tappet ledning.
Vi har tidligere interfacet trinmotor med andre mikrocontrollere:
- Interfacing trinmotor med Arduino Uno
- Stepper Motor Control med Raspberry Pi
- Stepper Motor Interfacing med 8051 Microcontroller
- Interfacing trinmotor med PIC Microcontroller
Trinmotor kan også styres uden mikrokontroller, se dette trinmotorkørerkredsløb.
ULN2003 trinmotordriver:
De fleste trinmotorer fungerer kun ved hjælp af et drivermodul. Dette skyldes, at controllermodulet (i vores tilfælde MSP) ikke er i stand til at levere tilstrækkelig strøm fra sine I / O-ben til, at motoren kan fungere. Så vi bruger et eksternt modul som ULN2003- modul som trinmotordriver. Der er mange typer drivermodul, og vurderingen af en ændres afhængigt af den anvendte motortype. Det primære princip for alle førermoduler er at kilde / synke nok strøm til, at motoren kan køre.
I dette projekt vil vi bruge ULN2003 motor driver IC. Pin diagram over IC er angivet nedenfor:
Vi bruger 4 input og 4 output port, hvis IC.
Nødvendige materialer:
- MSP430
- 35BYJ46 eller 28-BYJ48 trinmotor
- ULN2003 IC
- Ledninger
- Brødbræt
Kredsløbsdiagram:
I ovenstående diagram er RED ledning af stepper ikke forbundet med PIN5 af IC. Den skal forbindes med 5V. Farvekoden på din trinmotor kan afvige fra farverne i kredsløbsdiagrammet. Så tilslut ledningerne efter kontrol af de korrekte signaltråde.
Vi skriver vores kode ved hjælp af Energia IDE. Det er det samme som Arduino IDE og let at bruge. Eksempelkode til kørsel af stepper kan også findes i menuen eksempel på Arduino IDE.
Kode og arbejdsforklaring:
Før vi begynder at programmere med vores MSP430, lad os forstå, hvad der rent faktisk skal ske inde i programmet. Vi bruger 4-trins sekvensmetode, så vi har fire trin til at udføre en komplet rotation. Overvej A, B, C og D som fire spoler.
Trin |
Pin Energized |
Spoler aktiveret |
Trin 1 |
6 og 7 |
A og B |
Trin 2 |
7 og 8 |
B og C |
Trin 3 |
8 og 9 |
C og D |
Trin 4 |
9 og 6 |
D og A |
I denne vejledning skal vi skrive MSP430-trinmotorkoden. Det komplette program kan findes i slutningen af vejledningen, nogle få vigtige linjer forklares nedenfor.
Antallet af trin pr. Omdrejning for vores trinmotor blev beregnet til at være 32; derfor indtaster vi det som vist i linjen nedenfor
const int STEPS = 32;
Derefter skal du oprette tilfælde, hvor vi angiver de ben, som vi har tilsluttet trinmotoren.
Stepper myStepper (STEPS, 6, 7, 8, 9);
Da vi bruger Stepper-biblioteket, kan vi indstille motorens hastighed ved hjælp af nedenstående linje. Hastigheden kan variere mellem 0 og 200 for 35BYJ46 trinmotorer.
Mystepper.setSpeed (200);
For at få motoren til at bevæge sig et trin kan vi bruge følgende linje.
myStepper.step (STEPS);
Da vi har 32 trin og 64 som udvekslingsforholdet, skal vi flytte 2048 (32 * 64 = 2048) for at foretage en komplet rotation. Upload nu nedenstående kode og skift nr. trin efter dit behov.
Sådan kan du interface trinmotor med en PIC Microcontroller, nu kan du bruge din egen kreativitet og finde ud af applikationer til dette. Der er mange projekter derude, der bruger en trinmotor.