As u 'n servomotor, of servomotor, Met ArduinoIn hierdie artikel sal u leer wat u nodig het om aan die gang te kom. Ons het reeds in ander artikels gesien wat nodig is om te gebruik elektriese motors, trapmotors, en ook ander begrippe wat nodig is om die werking van hierdie soort toestelle te verstaan, soos die artikel oor PWM.
Nou kan u nog 'n nuwe elektroniese komponent byvoeg die toestellys ontleed en dat u kan gaan integrasie van u selfdoenprojekte om nuwe funksies by te voeg.
Index
Wat is 'n servo?
Un bedieningsmotor, of bloot servo, is 'n elektroniese motor wat ooreenstem met gewone GS-motors, maar met 'n paar elemente wat hulle spesiaal maak. In hierdie geval kan dit 'n posisie inneem wat aangedui word, iets wat elektriese motors nie toelaat nie.
Aan die ander kant kan die servo ook presies beheer die rotasiesnelheid, danksy 'n reeks interne ratte en 'n stelsel wat 'n baie beter beheer moontlik maak as wat in ander soorte motors gedoen kan word.
Hierdie funksies maak dit veral interessant vir aansoeke robotika, of vir ander toestelle waar dit nodig is om beweging en posisie te beheer, soos 'n drukker, of 'n afstandbeheerde motor. In hierdie tipe radiobeheerde motor is daar 'n konvensionele motor om die motor te bestuur, en 'n servo vir die stuur waarmee die draai presies beheer kan word.
Verskil tussen trapmotor en servomotor
As u wonder die verskil tussen 'n servomotor en 'n trapmotor, die waarheid is dat hulle verwar kan word, want in die trappie-motor, of trappie, kan die rotasie ook baie presies beheer word, en die toepassings is baie soortgelyk aan die servo. In plaas daarvan is daar 'n paar verskille.
En dit is wat die servomotors gewoonlik gebruik seldsame aardmagnete, terwyl trapmotors goedkoper en meer konvensionele magnete gebruik. Daarom kan 'n servo 'n hoër wringkragontwikkeling behaal, ondanks die feit dat dit kompak bly. Daarom sal die draaikrag baie hoog wees.
Tegniese eienskappe
Wanneer u 'n servo koop, moet u die tegniese blad of die gegewensblad raadpleeg. Op hierdie manier sal u verseker dat die tegniese eienskappe dit het, maar ook die perke waaraan u dit kan onderwerp, soos spanning, intensiteit, maksimum lading, wringkrag, ens. Onthou dat elke model heel anders kan wees.
As u byvoorbeeld kyk na een van die gewildste, die Micro Servo 9G SG90 van die bekende Tower Pro-firma, dan sal u baie eienaardige eienskappe hê, hoewel die programmering en aansluiting van die modelle min of meer dieselfde is en alles wat hier gesê word, nuttig is vir enigiemand.
In die geval van hierdie model is dit 'n hoë kwaliteit motor met 'n draaihoek wat a vee tussen -90 en 90º, dit wil sê 'n totale draai van 180º. Die resolusie wat u kan bereik, is baie hoog, dus u sal bietjies-bietjies kan vorder. Byvoorbeeld, met die PWM seinbeperkings van Arduino UNO, kan u selfs 'n voorskot van graad tot graad kry.
Die PWM-sein sal ook 'n ander limiet instel, en dit is die aantal kere wat elke posisie per tydseenheid kan verander. Aangesien die pulse byvoorbeeld tussen 1 en 2 ms werk en met 20 ms periodes (50Hz), dan kan die servo een keer elke 20 ms beweeg.
Daarbenewens het dit 'n gewig van 9 gram en, ondanks die gewig en kompakte grootte, kan dit 'n gewig ontwikkel wringkrag of wringkrag van 1.8 kg / cm met 4.8v. Dit is te danke aan sy POM-toerustingstel.
Uiteindelik weet u al dat u, afhangende van wat u wil bereik, die een of ander model sal moet kies sodat dit die funksies wat nodig is vir u projek. Dit wil sê, dit is nie dieselfde dat u 'n motor 'n vrag X moet laat beweeg nie, as een vir XX ...
Waar om 'n servo te koop
As u hierdie soort servomotor wil begin gebruik, kan u dit in baie gespesialiseerde winkels goedkoop vind, en u kan dit ook aanlyn by Amazon kry. Hier is byvoorbeeld 'n paar voorbeelde van aanbevole produkte wat u kan interesseer:
-
AZDelivery Servo MG90S Mikro: ondersteun tot 13.4 kg.
- Innovasie-EU: tot 25 kg / cm.
- Innovasie-EU: nog 'n waterdigte model, en met tot 35 kg / cm.
Almal het 'n redelike goeie draaihoek, maar dit verskil basies in die wringkrag wat elkeen kan verdra. Ek het ingesluit drie verskillende modelle. Eersgenoemde, en goedkoper, kan voldoende wees vir die meeste toepassings. Maar as u een met groter krag benodig vir ander toepassings, het u die 25 en 35, wat al baie opmerklik is ...
Integrasie met Arduino
Soos u in die prentjie hierbo kan sien, die servo verbind baie maklik na Arduino. Dit het net drie kabels wat u op hierdie manier kan verbind:
- Rooi met 5V
- Swart met GND
- Geel met 'n Arduino PWM-pen, in hierdie geval met -9.
U het verskillende opsies om 'n skets te kan programmeer om hierdie tipe enjins te gebruik. Maar om te begin, moet u eers voeg Arduino IDE-biblioteek by om hierdie tipe servomotore aan te dryf:
- Maak Arduino IDE oop.
- Gaan na Program.
- Sluit dan biblioteek in.
- Serwo
Soos vir die skets kodeDit kan so eenvoudig wees waarin die servo deur sy posisies gaan en stop by 0º, 90º en 180º:
//Incluir la biblioteca del servo #include <Servo.h> //Declarar la variable para el servo Servo servoMotor; void setup() { // Iniciar el monitor serie Serial.begin(9600); // Iniciar el servo para que use el pin 9 al que conectamos servoMotor.attach(9); } void loop() { // Desplazar a la posición 0º servoMotor.write(0); // Esperar 1 segundo delay(1000); // Desplazar a la posición 90º servoMotor.write(90); // Esperar 1 segundo delay(1000); // Desplazamos a la posición 180º servoMotor.write(180); // Esperar 1 segundo delay(1000); }
Nou as jy wil skuif dit van graad na graad, dan sou dit so wees:
// Incluir la biblioteca servo #include <Servo.h> // Declarar la variable para el servo Servo servoMotor; void setup() { // Iniciar la velocidad de serie Serial.begin(9600); // Poner el servo en el pin 9 servoMotor.attach(9); // Iniciar el servo en 0º servoMotor.write(0); } void loop() { // Los bucles serán positivos o negativos, en función el sentido del giro // Positivo for (int i = 0; i <= 180; i++) { // Desplazar ángulo correspondiente servoMotor.write(i); // Pausa de 25 ms delay(25); } // Negativo for (int i = 179; i > 0; i--) { // Desplazar el ángulo correspondiente servoMotor.write(i); // Pausa e 25 ms delay(25); } }
Wees die eerste om te kommentaar lewer