Servo: meriv çawa bi Arduino re motora servo bikar tîne

servo, motora servo

Heke hûn dixwazin bikar bînin a servo motor, an servobi Arduino, Di vê gotarê de hûn ê fêr bibin ku hûn hewce ne ku hûn dest pê bikin. Me berê di gotarên din de jî dîtiye ka çi hewce ye ku bikar bînin motorên elektrîkê, motorên gavavêtinê, û her weha têgehên din ên ku ji bo fêhmkirina xebata vî rengî cîhaz hewce ne, mînakî gotara li ser PWM.

Naha, hûn dikarin pêkhateyek elektronîkî ya din a nû li bikin navnîşa amûrê analîz kirin û ku hûn dikarin herin yekkirina projeyên xweyên DIY ji bo zêdekirina karbidestiya nû.

Servo çi ye?

servo

Un servomotor, an jî bi tenê servo, motorek elektronîkî ye ku dişibe motorên DC-yê yên kevneşopî, lê digel hin hêmanên ku wan taybetî dikin. Di vê rewşê de, kapasîteya wê ya ragirtina helwestek ku tête nîşankirin heye, tiştek motorên elektrîkê nahêlin.

Li aliyê din, servo jî dikare tam kontrol bike leza zivirandinê, bi saya rêzeçelqeyên navxweyî û pergalek ku destûrê dide kontrolê pir çêtir ji ya ku di celebên din ên motorê de were kirin.

Van taybetmendiyan bi taybetî ji bo wê balkêş dike bihêle robotîk, an jî ji bo alavên din ên ku pêdivî ye ku tevger û pozisyon werin kontrol kirin, wekî printer, an otomobîlek dûr-kontrolkirî. Di vî celeb carî ya radyo-kontrolkirî de motorek kevneşopî heye ku gerîdeyê bimeşîne, û servoyek ji bo birêvebirinê, ku pê re bizivirin rasterast kontrol dike.

Ferqa di navbera motora stepper û motora servo de

nema 17

Ger hûn digerin cûdahiya di navbera motora servo û motora stepper de, Ya rast ev e ku ew dikarin werin tevlihev kirin, ji ber ku di motora stepper, an stepper de, zivirîn jî dikare bi rengek durust were kontrol kirin, û sepan pir dişibin servo. Di şûna wê de, hin cûdahî hene.

Ew e ku servomotor bi gelemperî bikar tînin magnets erdê kêm, dema ku motorên stepper magnetên erzantir û kevneşopî bikar tînin. Ji ber vê yekê, servo dikare pêşkeftinek tewra bilindtir bigire, her çend kompakt bimîne jî. Ji ber vê yekê, hêza zivirandinê dê pir zêde be.

Taybetmendiyên teknîkî

Kengê ku hûn servoyek bikirin, divê hûn bi rûpela teknîkî an danezanîna wê re bişêwirin. Bi vî rengî, hûn ê piştrast bikin taybetmendiyên teknîkî ew heye, di heman demê de sînorên ku hûn dikarin wê têxin binê, wek voltaj, tundî, barkirina herî zêde, tîrêj, hwd. Bînin bîra xwe ku her model dikare pir cûda be.

Ji bo nimûne, heke hûn li yek ji navdartirîn binêrin, Micro Servo 9G SG90 ji fîrma Tower Pro-ya navdar, wê hingê dê hin taybetmendiyên weyên pir taybetî hebin, her çend bername û girêdana modelan kêm zêde yek in û her tiştê li vir tê gotin ji bo her kesî bikêr e.

Di rewşa vê modelê de, ew motorek qalîte ye, bi goşeyek zivirî ku dihêle a di navbera -90 û 90º de bişo, ango bi tevahî 180 total zivirî. Pêvajoya ku hûn dikarin bi dest bixin pir zêde ye, ji ber vê yekê hûn ê karibin pir hindik pir pêşde biçin. Mînakî, bi sînorên sînyala PWM ya Arduino UNO, hûn dikarin heta dereceyek bi pola pêşde biçin.

Bi heman awayî, sînyala PWM dê sînorek din jî ferz bike, û ew çend carî ye ku her helwest dikare di yekeya demê de biguheze. Mînakî, wekî pêl bi navbera 1 û 2 ms û bi hev re dixebitin Heyamên 20 ms (50Hz), wê hingê servo dikare her 20 ms carekê bar bike.

Wekî din, wê giraniyek wê 9 gram hebe û, tevî wê giranî û mezinahiya kompakt, ew dikare pêşve bibe tewra an tewra 1.8 kg / cm bi 4.8v. Ew bi saya sazûmana wê ya POM e.

Di dawiyê de, hûn jixwe dizanin ku, li gorî tiştê ku hûn dixwazin biserkevin, divê hûn yek an modelek din hilbijêrin, da ku ew hebe taybetmendiyên ku ji bo projeya we hewce ne. Ango, ne yek e ku hûn dixwazin motorek barkirina X bar bike, ji yekê ji bo XX ...

Ku meriv servo bikire

servomotor

Heke hûn dixwazin dest bi karanîna vî rengî servomotor bikin, hûn dikarin wê li gelek firotgehên pispor erzan bibînin, û hûn dikarin wê li serhêl jî li Amazon bistînin. Mînakî, li vir çend mînakên ji hene hilberên pêşniyazkirî dibe ku we balkêş bike:

Kûçikek zivirîna wan pir xweş e, lê ew di bingeh de di tewra ku her kes dikare tehemul bike de cûda dibe. Min têda kiriye sê modelên cûda. Ya berê, û erzantir, dibe ku ji bo piraniya serlêdanan bes be. Lê heke ji bo sepanên din ji we re hêzek pirtir hewce dike, 25 û 35-anên we hene, ku jixwe pir berbiçav in ...

Integration bi Arduino

arduino servo
Wekî ku hûn di wêneyê jorîn de dibînin, servo pir bi hêsanî girêdide ji Arduino re. Tenê sê kabloyên wê hene, ku hûn dikarin bi vî rengî girêdin:

  • Sor bi 5V
  • Reş bi GND
  • Zer bi pîneya Arduino PWM, di vê rewşê de bi -9.

Ji bo ku hûn pêşnumayek bername bikin ku dest bi karanîna van celeb motora bike, we gelek vebijark hene. Lê, berî her tiştî, ji bo destpêkirinê, hûn neçar in pirtûkxaneya Arduino IDE zêde bikin ji bo ajotina vî rengî motorên servo:

  1. Arduino IDE vekin.
  2. Herin Bernameyê.
  3. Dûv re Pirtûkxaneyê Têkin.
  4. Servo

Çimkî ji bo koda xêzikê, ew dikare ew qas sade be ku tê de servo dê di rewşên xwe de derbas bibe û li 0º, 90º û 180º rawestîne:

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

Heke hûn dixwazin wê ji dereceyê bi dereceyê bar bikin, hingê dê wusa be:

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


Naveroka gotarê bi prensîbên me ve girêdayî ye etîka edîtoriyê. Ji bo raporkirina çewtiyek bitikîne vir.

Beşa yekem be ku şîrove bike

Commentîroveya xwe bihêlin

Navnîşana e-peyamê ne, dê bê weşandin. qadên pêwist in bi nîşankirin *

*

*

  1. Berpirsê daneyê: Miguel Ángel Gatón
  2. Armanca daneyê: SPAM-ê kontrol bikin, rêveberiya şîroveyê.
  3. Qanûnîbûn: Destûra we
  4. Ragihandina daneyê: Daneyî dê ji aliyên sêyemîn re neyê ragihandin ji bilî peywira qanûnî.
  5. Tomarkirina daneyê: Databaza ku ji hêla Occentus Networks (EU) ve hatî mazûvan kirin
  6. Maf: Di her demê de hûn dikarin agahdariya xwe bi sînor bikin, vegerînin û jê bibin.