Servo: sut i ddefnyddio'r modur servo gydag Arduino

servo, modur servo

Os ydych chi am ddefnyddio a modur servo, neu servo, Gyda Arduino, yn yr erthygl hon byddwch yn dysgu beth sydd ei angen arnoch i ddechrau. Rydym eisoes wedi gweld mewn erthyglau eraill yr hyn sy'n angenrheidiol i'w ddefnyddio moduron trydan, moduron stepiwr, a hefyd gysyniadau eraill sy'n angenrheidiol i ddeall gweithrediad y math hwn o ddyfais, fel yr erthygl ar PWM.

Nawr, gallwch ychwanegu cydran electronig newydd arall at y rhestr dyfeisiau wedi'i ddadansoddi ac y gallwch chi fynd integreiddio eich prosiectau DIY i ychwanegu ymarferoldeb newydd.

Beth yw servo?

servo

Un servomotor, neu servo yn syml, yw modur electronig sy'n debyg i moduron DC confensiynol, ond gyda rhai elfennau sy'n eu gwneud yn arbennig. Yn yr achos hwn, mae ganddo'r gallu i ddal safle sy'n cael ei nodi, rhywbeth nad yw moduron trydan yn ei ganiatáu.

Ar y llaw arall, gall y servo hefyd rheoli yn union cyflymder cylchdroi, diolch i gyfres o gerau mewnol a system sy'n caniatáu rheolaeth lawer gwell nag y gellid ei wneud mewn mathau eraill o moduron.

Mae'r nodweddion hyn yn ei gwneud yn arbennig o ddiddorol ar gyfer ceisiadau roboteg, neu ar gyfer dyfeisiau eraill lle mae angen rheoli symudiad a safle, fel argraffydd, neu gar a reolir o bell. Yn y math hwn o gar a reolir gan radio mae modur confensiynol i yrru'r car, a servo ar gyfer y llyw, i reoli'r tro yn union ag ef.

Gwahaniaeth rhwng modur stepper a modur servo

nema 17

Os ydych chi'n meddwl tybed y gwahaniaeth rhwng modur servo a modur stepper, y gwir yw y gellir eu drysu, oherwydd yn y modur stepper, neu'r stepper, gellir rheoli'r cylchdro hefyd yn eithaf manwl gywir, ac mae'r cymwysiadau'n debyg iawn i'r servo. Yn lle, mae yna rai gwahaniaethau.

Ac y mae'r servomotors yn eu defnyddio fel rheol magnetau daear prin, tra bod moduron stepiwr yn defnyddio magnetau rhatach a mwy confensiynol. Felly, gall servo gyflawni datblygiad trorym uwch, er gwaethaf aros yn gryno. Felly, bydd y grym troi yn uchel iawn.

Nodweddion technegol

Pryd bynnag y byddwch chi'n prynu servo, dylech chi ymgynghori â'i ddalen dechnegol neu ei daflen ddata. Trwy hynny, byddwch yn sicrhau'r nodweddion technegol mae ganddo, ond hefyd y cyfyngiadau y gallwch eu gosod arno, megis foltedd, dwyster, llwyth uchaf, torque, ac ati. Cofiwch y gall pob model fod yn dra gwahanol.

Er enghraifft, os edrychwch ar un o'r rhai mwyaf poblogaidd, y Micro Servo 9G SG90 o y cwmni adnabyddus Tower Pro, yna bydd gennych rai nodweddion hynod iawn, er bod rhaglennu a chysylltiad y modelau fwy neu lai yr un peth ac mae popeth a ddywedir yma yn ddefnyddiol i unrhyw un.

Yn achos y model hwn, mae'n fodur o ansawdd uchel, gydag ongl droi sy'n caniatáu a ysgubo rhwng -90 a 90º, hynny yw, cyfanswm troad o 180º. Mae'r penderfyniad y gallwch ei gyflawni yn uchel iawn, felly byddwch yn gallu symud ymlaen ychydig ar ôl ychydig. Er enghraifft, gyda chyfyngiadau signal PWM o Arduino UNO, fe allech chi hyd yn oed gael blaenswm o radd i radd.

Yn yr un modd, bydd y signal PWM hefyd yn gosod terfyn arall, a dyna'r nifer o weithiau y gall pob safle newid fesul uned o amser. Er enghraifft, gan fod y corbys yn gweithio gyda rhwng 1 a 2 ms a gyda Cyfnodau 20 ms (50Hz), yna gall y servo symud unwaith bob 20 ms.

Yn ogystal, bydd ganddo bwysau o 9 gram ac, er gwaethaf y pwysau a'r maint cryno hwnnw, gall ddatblygu a trorym neu dorque o 1.8 kg / cm gyda 4.8v. Dyna diolch i'w set gêr POM.

Yn olaf, rydych chi eisoes yn gwybod, yn dibynnu ar yr hyn rydych chi am ei gyflawni, bod yn rhaid i chi ddewis un neu fodel arall, fel bod ganddo'r nodweddion sydd eu hangen ar gyfer eich prosiect. Hynny yw, nid yr un peth ydych chi am i fodur symud llwyth X, nag un ar gyfer XX ...

Ble i brynu servo

servomotor

Os ydych chi am ddechrau defnyddio'r math hwn o servomotor, gallwch ei gael yn rhad mewn llawer o siopau arbenigol, a gallwch hefyd ei gael ar-lein yn Amazon. Er enghraifft, dyma rai enghreifftiau o cynhyrchion a argymhellir a allai fod o ddiddordeb i chi:

Mae gan bob un ohonynt ongl droi eithaf da, ond yn y bôn mae'n wahanol yn y torque y gall pob un ei oddef. Rwyf wedi cynnwys tri model gwahanol. Efallai y bydd y cyntaf, ac yn rhatach, yn ddigonol ar gyfer y mwyafrif o geisiadau. Ond os oes angen un arnoch chi â mwy o gryfder ar gyfer cymwysiadau eraill, mae gennych chi'r 25 a'r 35, sydd eisoes yn eithaf rhyfeddol ...

Integreiddio ag Arduino

servo arduino

Fel y gwelwch yn y ddelwedd uchod, mae'r servo yn cysylltu'n hawdd iawn i Arduino. Dim ond tri chebl sydd ganddo, y gallwch chi eu cysylltu fel hyn:

  • Coch gyda 5V
  • Du gyda GND
  • Melyn gyda phin PWM Arduino, yn yr achos hwn gyda -9.

Er mwyn rhaglennu braslun i ddechrau defnyddio'r mathau hyn o beiriannau, mae gennych sawl opsiwn. Ond, yn gyntaf oll, i ddechrau, mae'n rhaid i chi ychwanegu llyfrgell Arduino IDE i yrru'r math hwn o moduron servo:

  1. Open Arduino IDE.
  2. Ewch i'r Rhaglen.
  3. Yna Cynhwyswch Lyfrgell.
  4. Servo

O ran cod braslunioGallai fod mor syml â hynny y bydd y servo yn mynd trwy ei safleoedd, gan stopio ar 0º, 90º a 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);
}

Nawr os ydych chi eisiau ei symud o radd i radd, yna byddai fel hyn:

// 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);
  }
}


Mae cynnwys yr erthygl yn cadw at ein hegwyddorion moeseg olygyddol. I riportio gwall cliciwch yma.

Bod y cyntaf i wneud sylwadau

Gadewch eich sylw

Ni fydd eich cyfeiriad e-bost yn cael ei gyhoeddi. Meysydd gofynnol yn cael eu marcio â *

*

*

  1. Yn gyfrifol am y data: Miguel Ángel Gatón
  2. Pwrpas y data: Rheoli SPAM, rheoli sylwadau.
  3. Cyfreithlondeb: Eich caniatâd
  4. Cyfathrebu'r data: Ni fydd y data'n cael ei gyfleu i drydydd partïon ac eithrio trwy rwymedigaeth gyfreithiol.
  5. Storio data: Cronfa ddata wedi'i chynnal gan Occentus Networks (EU)
  6. Hawliau: Ar unrhyw adeg gallwch gyfyngu, adfer a dileu eich gwybodaeth.