In deze tutorial zullen we leren over Servo Motor en hoe Servo te communiceren met MSP430. 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.
Servomotor en PWM:
Voordat we in detail treden, moeten we eerst de Servomotoren kennen.
Een servomotor is een combinatie van gelijkstroommotor, positieregelingssysteem en tandwielen. Servo's hebben veel toepassingen in de moderne wereld en zijn daarmee verkrijgbaar in verschillende soorten en maten. We zullen SG90 Servomotor gebruiken in deze tutorial, het is een van de populaire en goedkoopste. SG90 is een 180 graden servo. Met deze servo kunnen we de as dus van 0-180 graden positioneren.
Een servomotor heeft hoofdzakelijk drie draden, een is voor positieve spanning, een andere is voor aarde en de laatste is voor positie-instelling. De rode draad is aangesloten op de voeding, de bruine draad is verbonden met aarde en de gele draad (of WIT) is verbonden met het signaal.
Elke servomotor werkt op een andere PWM-frequentie (de meest voorkomende frequentie is 50Hz die in deze tutorial wordt gebruikt), dus neem de datasheet van uw motor op om te controleren op welke PWM-periode uw servomotor werkt.
De frequentie van het PWM-signaal (Pulse Width Modulated) kan variëren op basis van het type servomotor. Het belangrijkste hier is de DUTY RATIO van het PWM-signaal. Op basis van deze WERKREGELING past de besturingselektronica de as aan.
Zoals weergegeven in de onderstaande afbeelding, moet de INSCHAKELRATIO 1/18 zijn om de as naar 9 uur te verplaatsen. 1 ms AAN-tijd en 17 ms UIT-tijd in een 18 ms-signaal.
<Om de schacht naar 12o-klok te verplaatsen, moet de AAN-tijd van het signaal 1,5 ms zijn en de UIT-tijd 16,5 ms. Deze verhouding wordt gedecodeerd door het besturingssysteem in servo en het past de positie daarop aan. Deze PWM hier wordt gegenereerd door MSP430 te gebruiken. Lees hier meer over het genereren van PWM met MSP430.
Voordat u Servo op MSP430 aansluit, kunt u uw servo testen met behulp van dit Servomotor-testcircuit. Bekijk ook onze onderstaande Servo-projecten:
- Servomotorbesturing met Arduino
- Servomotorbesturing met Arduino Due
- Servomotor-interface met 8051 Microcontroller
- Servomotorbesturing met MATLAB
- Servomotorbesturing door Flex-sensor
- Servopositieregeling met gewicht (krachtsensor)
Vereiste materialen:
- MSP430
- SG90 servo
- Man-vrouw draden
Schakelschema en uitleg:
In MSP430 hebben we bibliotheken die vooraf zijn gedefinieerd en PWM-functies zijn al in deze bibliotheken geschreven, dus we hoeven ons geen zorgen te maken over PWM-waarden. Je hoeft alleen maar de hoek te zetten waarmee je de as wilt draaien en de rust wordt bediend door deze bibliotheken en microcontroller.
Hier gebruiken we PIN 6, dwz P1.4, wat de PWM-pin van MSP430 is. Maar u kunt elke pincode gebruiken. Het is niet nodig om een PWM-pin voor servo te gebruiken, omdat alle PWM-functionaliteiten in de bibliotheek zelf zijn geschreven.
Het koptekstbestand dat wordt gebruikt om de servo te besturen, is " servo.h ".
We zullen Energia IDE gebruiken om onze code te schrijven. Code is eenvoudig en gemakkelijk te begrijpen. Het is hetzelfde als voor Arduino en is te vinden in het menu Voorbeeld. Volledige code en video worden hieronder gegeven, u kunt de code naar wens bewerken en uploaden naar MSP430
Dat is het!! We hebben een servomotor gekoppeld aan een PIC Microcontroller, nu kunt u uw eigen creativiteit gebruiken en toepassingen hiervoor ontdekken. Er zijn veel projecten die een servomotor gebruiken.