- Stappenmotor:
- ULN2003 stappenmotorbesturing:
- Vereiste materialen:
- Schakelschema:
- Code en werkbeschrijving:
In deze tutorial zullen we de interface stappenmotor met MSP430 bespreken. De MSP-EXP430G2 is een Development Tool, ook wel LaunchPad genoemd, geleverd door Texas Instruments om te leren en te oefenen met het gebruik van hun microcontrollers. Dit bord valt onder de categorie MSP430 Value Line waar we alle MSP430 serie microcontrollers kunnen programmeren. Als u nieuw bent bij MSP, bekijk dan onze handleiding Aan de slag met MSP430.
Stappenmotor:
Stappenmotor is een soort borstelloze gelijkstroommotor die elektrische pulsen omzet in verschillende mechanische bewegingen. De as van een stappenmotor draait in discrete stappen. We kunnen nauwkeurige stappen en snelheid krijgen op basis van onze behoefte.
We zullen een 35BYJ46 bipolaire stappenmotor gebruiken die goedkoop op de markt verkrijgbaar is. Het heeft 6 draden maar wordt ook geleverd met 5 draden. Er zijn 2 spoelen in onze stappenmotor. Elk heeft 3 draden die eruit komen. Van de 3 draden is er 1 gecentreerd zodat er 2 draden overblijven die rechtstreeks met de spoel zijn verbonden. In totaal hebben we 4 signaaldraden en 2 gecentreerde afgetakte draden die zijn aangesloten op 5-12V voeding.
In het geval dat er in totaal 5 draden uit de motor komen, zijn 4 draden signaaldraden en is er 1 gecentreerd op beide spoelen. Zoals dit.
Om te controleren welke draad in het midden is afgetapt of welke signaaldraad is, moet u de weerstand controleren van draden die uit de motor komen. Dus die draden die met dezelfde spoel zijn verbonden, hebben een hoge weerstandswaarde in vergelijking met de weerstand van gecentreerd tikken.
In het bovenstaande diagram, als we de weerstandswaarde van blauwe en gele draden hebben gecontroleerd en de weerstand daartussen is meer dan de waarde tussen geel en rood of blauw en rood. Rood is dus gecentreerd afgetakte draad.
We hebben de stappenmotor eerder gekoppeld aan andere microcontrollers:
- Stappenmotor koppelen met Arduino Uno
- Stappenmotorbesturing met Raspberry Pi
- Stappenmotor-interface met 8051 Microcontroller
- Interfacestappenmotor met PIC-microcontroller
Stappenmotor kan ook worden bestuurd zonder enige Microcontroller, zie dit Stepper Motor Driver Circuit.
ULN2003 stappenmotorbesturing:
De meeste stappenmotoren werken alleen met behulp van een driver-module. Dit komt doordat de controllermodule (in ons geval MSP) niet genoeg stroom kan leveren vanaf de I / O-pinnen om de motor te laten werken. We zullen dus een externe module zoals de ULN2003- module gebruiken als stappenmotoraandrijving. Er zijn veel soorten stuurprogrammamodules en de classificatie van één zal veranderen op basis van het type motor dat wordt gebruikt. Het primaire principe voor alle stuurprogrammamodules is om voldoende stroom te genereren / af te voeren om de motor te laten werken.
In dit project zullen we ULN2003 motor driver IC gebruiken. Pin-diagram van IC wordt hieronder gegeven:
We zullen 4 invoer- en 4 uitvoerpoort gebruiken als IC.
Vereiste materialen:
- MSP430
- 35BYJ46 of 28-BYJ48 stappenmotor
- ULN2003 IC
- Draden
- Breadboard
Schakelschema:
In het bovenstaande diagram is de RODE draad van de stepper niet verbonden met PIN5 van IC. Het moet worden verbonden met 5V. De kleurcode van uw stappenmotor kan afwijken van de kleuren in het schakelschema. Sluit de draden dus aan nadat u de juiste signaaldraden heeft gecontroleerd.
We zullen onze code schrijven met Energia IDE. Het is hetzelfde als Arduino IDE en gemakkelijk te gebruiken. Voorbeeldcode voor het besturen van de stepper is ook te vinden in het voorbeeldmenu van Arduino IDE.
Code en werkbeschrijving:
Voordat we beginnen met programmeren met onze MSP430, moeten we eerst begrijpen wat er in het programma moet gebeuren. We zullen de 4-staps sequentiemethode gebruiken, dus we hebben vier stappen die moeten worden uitgevoerd om een volledige rotatie te maken. Beschouw A, B, C en D als vier spoelen.
Stap |
Pin bekrachtigd |
Spoelen bekrachtigd |
Stap 1 |
6 en 7 |
A en B |
Stap 2 |
7 en 8 |
B en C |
Stap 3 |
8 en 9 |
C en D |
Stap 4 |
9 en 6 |
D en A |
In deze tutorial gaan we de MSP430 stappenmotorcode schrijven. Het volledige programma is te vinden aan het einde van de tutorial. Enkele belangrijke regels worden hieronder uitgelegd.
Het aantal stappen per omwenteling voor onze stappenmotor werd berekend op 32; vandaar dat we dat invoeren zoals weergegeven in de onderstaande regel
const int STEPS = 32;
Vervolgens moet u instanties maken waarin we de pinnen specificeren waarop we de stappenmotor hebben aangesloten.
Stepper myStepper (STEPS, 6, 7, 8, 9);
Omdat we de Stepper-bibliotheek gebruiken, kunnen we de snelheid van de motor instellen met behulp van de onderstaande regel. De snelheid kan variëren van 0 tot 200 voor 35BYJ46 stappenmotoren.
Mystepper.setSpeed (200);
Om de motor nu een stap te laten bewegen, kunnen we de volgende regel gebruiken.
myStepper.step (STEPS);
Omdat we 32 stappen hebben en 64 als de overbrengingsverhouding, moeten we 2048 (32 * 64 = 2048) verplaatsen om één volledige rotatie te maken. Upload nu de onderstaande code en verander het nr. stappen volgens uw behoefte.
Dit is hoe je stappenmotor kunt koppelen aan een PIC Microcontroller, nu kun je je eigen creativiteit gebruiken en toepassingen hiervoor ontdekken. Er zijn veel projecten die een stappenmotor gebruiken.