I den här handledningen kommer vi att ansluta stegmotor med MSP430. Den MSP-EXP430G2 är ett utvecklingsverktyg aka LaunchPad tillhandahålls av Texas Instruments för att lära sig och öva på hur man använder sina mikrokontrollers. Denna styrelse faller under MSP430 Value Line-kategorin där vi kan programmera alla MSP430-seriens mikrokontroller. Om du inte är ny inom MSP, kolla in vår start med MSP430-handledning.
Stegmotor:
Stepper Motor är en typ av borstlös likströmsmotor som omvandlar elektriska pulser till distinkta mekaniska rörelser. Stegmotorns axel roterar i diskreta steg. Vi kan få exakta steg och hastighet enligt vårt behov.
Vi kommer att använda 35BYJ46 Bi-polar stegmotor som är billigt tillgänglig på marknaden. Den har 6 ledningar men den kommer också med 5 ledningar. Det finns två spolar i vår stegmotor. Var och en har tre ledningar som kommer ut ur den. Av de tre ledningarna är 1 centrerad, så att de återstår 2 ledningar direkt anslutna till spolen. Totalt har vi 4 signalkablar och 2 centrerade ledningar som är anslutna till 5-12V strömförsörjning.
Om det finns totalt 5 ledningar som kommer ut ur motorn är 4 ledningar signaltrådar och 1 är centrerad och tappad mot båda spolarna. Så här.
För att kontrollera vilken ledning som är centrerad eller vilken signaltråd som är tappad, måste du kontrollera motståndet hos ledningar som kommer ut ur motorn. Så, dessa ledningar, som är anslutna till samma spole, har högt motståndsvärde jämfört med motstånd hos centrerad tappning.
I ovanstående diagram, om vi har kontrollerat motståndsvärdet för blå och gula ledningar och motståndet mellan dem är mer än värdet mellan gult och rött eller blått och rött. Så, Röd är centrerad Tappad tråd.
Vi har tidigare kopplat Stepper Motor med andra mikrokontroller:
- Gränssnittsmotor med Arduino Uno
- Stegmotorstyrning med Raspberry Pi
- Stegmotorgränssnitt med 8051 mikrokontroller
- Gränssnittsmotor med PIC-mikrokontroller
Stegmotor kan också styras utan någon mikrokontroller, se denna stegmotordrivkrets.
ULN2003 stegmotorförare:
De flesta stegmotorer fungerar endast med hjälp av en drivmodul. Detta beror på att styrenhetsmodulen (i vårt fall MSP) inte kommer att kunna ge tillräckligt med ström från sina I / O-stift för att motorn ska fungera. Så vi kommer att använda en extern modul som ULN2003- modul som stegmotordrivrutin. Det finns många typer av drivarmoduler och betyget på en kommer att ändras beroende på vilken typ av motor som används. Den primära principen för alla förarmoduler är att källa / sänka tillräckligt med ström för att motorn ska fungera.
I detta projekt kommer vi att använda ULN2003 motor driver IC. Stiftdiagram över IC ges nedan:
Vi använder 4 ingångar och 4 utgångar om IC.
Material som krävs:
- MSP430
- 35BYJ46 eller 28-BYJ48 Stegmotor
- ULN2003 IC
- Ledningar
- Bakbord
Kretsschema:
I det ovanstående diagrammet är RÖD kabel av steg inte ansluten till PIN5 på IC. Den måste anslutas med 5V. Stegmotorns färgkod kan skilja sig från färgerna i kretsschemat. Så anslut kablarna efter att ha kontrollerat rätt signalkablar.
Vi skriver vår kod med Energia IDE. Det är samma som Arduino IDE och lätt att använda. Exempelkod för att köra steget finns också i exempelmenyn för Arduino IDE.
Kod och arbetsförklaring:
Innan vi börjar programmera med vår MSP430, låt oss förstå vad som faktiskt ska hända i programmet. Vi kommer att använda 4-stegs sekvensmetod så vi kommer att ha fyra steg att utföra för att göra en fullständig rotation. Betrakta A, B, C och D som fyra spolar.
Steg |
Pin Energized |
Spolar aktiverade |
Steg 1 |
6 och 7 |
A och B |
Steg 2 |
7 och 8 |
B och C |
Steg 3 |
8 och 9 |
C och D |
Steg 4 |
9 och 6 |
D och A |
I den här handledningen ska vi skriva stegmotorkoden MSP430. Det fullständiga programmet finns i slutet av handledningen, några viktiga rader förklaras nedan.
Antalet steg per varv för vår stegmotor beräknades till 32; därför anger vi det som visas i raden nedan
const int STEPS = 32;
Därefter måste du skapa instanser där vi anger stiften som vi har anslutit stegmotorn till.
Stepper myStepper (STEG, 6, 7, 8, 9);
Eftersom vi använder Stepper-biblioteket kan vi ställa in motorns hastighet med nedanstående rad. Hastigheten kan ligga mellan 0 och 200 för stegmotorer på 35BYJ46.
Mystepper.setSpeed (200);
För att få motorn att röra sig ett steg kan vi använda följande rad.
myStepper.step (STEPS);
Eftersom vi har 32 steg och 64 som utväxling måste vi flytta 2048 (32 * 64 = 2048), för att göra en komplett rotation. Ladda nu upp koden nedan och ändra nej. steg enligt ditt behov.
Så här kan du koppla stegmotor med en PIC Microcontroller, nu kan du använda din egen kreativitet och ta reda på applikationer för detta. Det finns många projekt där ute som använder en stegmotor.