Kung nais mong gumamit a servo motor, o servo, Sa Arduino, sa artikulong ito matututunan mo kung ano ang kailangan mo upang makapagsimula. Nakita na natin sa iba pang mga artikulo kung ano ang kinakailangang gamitin electric motor, stepper motor, at iba pang mga konsepto na kinakailangan upang maunawaan ang pagpapatakbo ng ganitong uri ng aparato, tulad ng artikulo sa PWM.
Ngayon, maaari kang magdagdag ng isa pang bagong elektronikong sangkap sa ang listahan ng aparato pinag-aralan at maaari kang pumunta pagsasama ng iyong mga proyekto sa DIY upang magdagdag ng bagong pagpapaandar.
Ano ang isang servo?
Un serbomotor, o simpleng servo, ay isang elektronikong motor na may pagkakatulad sa maginoo na DC Motors, ngunit may ilang mga elemento na ginagawa silang espesyal. Sa kasong ito, mayroon itong kakayahang humawak ng isang posisyon na ipinahiwatig, isang bagay na hindi pinapayagan ng mga de-kuryenteng motor.
Sa kabilang banda, maaari din ang servo tumpak na kontrol ang bilis ng pag-ikot, salamat sa isang serye ng mga panloob na gears at isang system na nagbibigay-daan sa isang mas mahusay na kontrol kaysa sa maaaring gawin sa iba pang mga uri ng motor.
Ang mga tampok na ito ay ginagawang mas kawili-wili para sa application robotics, o para sa iba pang mga aparato kung saan kinakailangan upang makontrol ang paggalaw at posisyon, tulad ng isang printer, o isang malayuang kontroladong kotse. Sa ganitong uri ng kotseng kinokontrol ng radyo ay mayroong isang maginoo na motor upang magmaneho ng kotse, at isang servo para sa pagpipiloto, kung saan makokontrol nang tumpak ang pagliko.
Pagkakaiba sa pagitan ng stepper motor at servo motor
Kung magtataka ka ang pagkakaiba sa pagitan ng isang servo motor at isang stepper motor, ang totoo ay maaari silang malito, dahil sa stepper motor, o stepper, ang pag-ikot ay maaari ring kontrolin nang tumpak, at ang mga aplikasyon ay halos kapareho sa servo. Sa halip, mayroong ilang mga pagkakaiba.
At ito ay karaniwang ginagamit ng mga servomotor bihirang mga magnet ng lupa, habang ang mga stepper motor ay gumagamit ng mas mura at mas maginoo na mga magnet. Samakatuwid, ang isang servo ay maaaring makamit ang isang mas mataas na pag-unlad ng metalikang kuwintas, sa kabila ng natitirang compact. Samakatuwid, ang lakas ng pag-on ay magiging napakataas.
Mga katangiang teknikal
Tuwing bibili ka ng isang servo, dapat kang kumunsulta sa teknikal na sheet o datasheet na ito. Sa ganoong paraan, tiyakin mo ang mga teknikal na katangian mayroon ito, ngunit pati na rin ang mga limitasyon na maaari mo itong mapailalim, tulad ng boltahe, kasidhian, maximum na pagkarga, metalikang kuwintas, atbp. Tandaan na ang bawat modelo ay maaaring magkakaiba.
Halimbawa, kung titingnan mo ang isa sa pinakatanyag, ang Micro Servo 9G SG90 mula sa ang kilalang Tower Pro firm, pagkatapos ay magkakaroon ka ng ilang mga kakaibang katangian, kahit na ang pagprograma at koneksyon ng mga modelo ay halos pareho o mas kaunti at lahat ng sinabi dito ay kapaki-pakinabang para sa sinuman.
Sa kaso ng modelong ito, ito ay isang de-kalidad na motor, na may isang anggulo ng pagikot na nagpapahintulot sa a walisin sa pagitan ng -90 at 90º, iyon ay upang sabihin, isang kabuuang pagliko ng 180º. Ang resolusyon na maaari mong makamit ay napakataas, kaya magagawa mong maisulong nang kaunti. Halimbawa, sa mga limitasyon ng signal ng PWM ng Arduino UNO, maaari ka ring makakuha ng advance mula sa antas hanggang sa antas.
Gayundin, ang signal ng PWM ay magpapataw din ng isa pang limitasyon, at ito ang bilang ng beses na maaaring mabago ang bawat posisyon bawat yunit ng oras. Halimbawa, dahil ang mga pulso ay gumagana sa pagitan ng 1 at 2 ms at kasama 20 ms mga panahon (50Hz), pagkatapos ang servo ay maaaring ilipat nang isang beses bawat 20 ms.
Bilang karagdagan, magkakaroon ito ng bigat na 9 gramo at, sa kabila ng bigat at compact na laki, maaari itong bumuo ng a metalikang kuwintas o metalikang kuwintas ng 1.8 kg / cm na may 4.8v. Salamat sa set ng gear ng POM nito.
Sa wakas, alam mo na iyan, depende sa kung ano ang nais mong makamit, pumili ka ng isa o ibang modelo, upang magkaroon ito ng mga tampok na kinakailangan para sa iyong proyekto. Iyon ay, hindi ito pareho na nais mo ng isang motor na ilipat ang isang load X, kaysa sa isa para sa XX ...
Kung saan bibili ng isang servo
Kung nais mong simulang gamitin ang ganitong uri ng servomotor, mahahanap mo itong mura sa maraming mga dalubhasang tindahan, at maaari mo rin itong makuha sa online sa Amazon. Halimbawa, narito ang ilang mga halimbawa ng inirekumenda na mga produkto na maaaring interesado ka:
-
AZDelivery Servo MG90S Micro: sumusuporta hanggang sa 13.4 kg.
- Innovateking-EU: hanggang sa 25 kg / cm.
- Innovateking-EU: isa pang hindi tinatagusan ng tubig na modelo, at may hanggang sa 35kg / cm.
Ang lahat sa kanila ay may isang mahusay na anggulo ng pag-ikot, ngunit ito ay naiiba talaga sa metalikang kuwintas na ang bawat isa ay maaaring magparaya. Isinama ko na tatlong magkakaibang mga modelo. Ang dating, at mas mura, ay maaaring sapat para sa karamihan ng mga aplikasyon. Ngunit kung kailangan mo ng isa na may higit na lakas para sa iba pang mga application, mayroon kang 25 at 35, na kung saan ay medyo kapansin-pansin ...
Pagsasama sa Arduino
Tulad ng nakikita mo sa imahe sa itaas, ang servo ay napakadali kay Arduino. Mayroon lamang itong tatlong mga kable, na maaari mong ikonekta sa ganitong paraan:
- Pula na may 5V
- Itim na may GND
- Dilaw na may isang Arduino PWM pin, sa kasong ito na may -9.
Upang mai-program ang isang sketch upang simulang gamitin ang mga ganitong uri ng mga makina, mayroon kang maraming mga pagpipilian. Ngunit, una sa lahat, upang magsimula, kailangan mo magdagdag ng Arduino IDE library upang himukin ang ganitong uri ng mga motor na servo:
- Buksan ang Arduino IDE.
- Pumunta sa Program.
- Pagkatapos Isama ang Library.
- Magpaandar buhat sa malayo
Ukol sa sketch code, maaaring maging simple iyon kung saan dadaan ang servo sa mga posisyon nito na humihinto sa 0º, 90º at 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); }
Ngayon kung gusto mo ilipat ito mula degree hanggang degree, kung gayon magiging ganito:
// 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); } }