Servo mootorite ühendamine Arduinoga

Proovige Meie Instrumenti Probleemide Kõrvaldamiseks





Selles postituses õpime, mis on servomootor, kuidas see töötab, kuidas mikrokontrolleriga liituda ja mis muudavad selle mootori teistest mootoritest eriliseks.

Elektroonikaharrastajana oleksime kohanud mitut liiki mootoreid, siin vaatleme spetsiaalset mootoritüüpi, mida nimetatakse servomootoriks.



Mis on servomootor?

Servomootor või lihtsalt servomootor on spetsiaalne mootoritüüp, mis on ette nähtud asukoha, kiirenduse ja kiiruse täpseks juhtimiseks. Erinevalt kõigist teist tüüpi mootoritest saab servo pöörelda ainult 180 kraadi kahesuunaliselt. Sellel on mehaanilised hammasrattad ja kork, mis piiravad servo nurga pöörlemist.

Tüüpiline servomootor:

Servomootoreid kasutatakse robootikas, videokaamerates, RC-autodes, paatides, mängulennukites jms. Servo-mootoreid kasutatakse seal, kus meil pole vaja pöörlevat liikumist jätkata, kuid lukustuvad kindlasse asendisse või liigutavad kontrollitava kiirusega koormat teisaldatava nurga piires.



Servo ei ole lihtsalt mootor nagu muud tüüpi, kuid see on moodul, mis ühendab tavalise alalis- / vahelduvvoolumootori, rühma hammasrattaid, juhtelektroonikat ja tagasisidesüsteemi. Vaatame üksikasjalikult kõiki mainitud etappe.

Servomoodulil kasutatav alalis- / vahelduvvoolumootor võib olla harjadeta või harjatud mootor, enamikul hobiservodest kasutatakse alalisvoolumootorit ja vahelduvvoolumootoreid tööstuslikes rakendustes. Mootor annab servole pöörleva sisendi. Mootor pöörleb servo sees mitusada pööret minutis ja väljundi pöörlemiskiirus on umbes 50 või enam korda väiksem kui selle pööretel.

Järgmine etapp on käigukomplekt, mis kontrollib servo pöörlemist ja pöörlemiskiirust. Käik võib olla valmistatud kas plastikust või metallist, olenevalt koormuse mahukusest. Üldiselt töötavad alalisvoolumootorid suurel pööretel ja väikese pöördemomendiga muudab reduktor liigse pööret pöördemomendiks. Seega saab väike mootor tohutu koormusega hakkama.

Järgmine etapp on juhtelektroonika, mis koosneb MOSFET-idest ja IC-dest mootori pöörlemise juhtimiseks. Servomootorites on ajami praeguse asukoha jälgimiseks alati tagasiside süsteem.

Servos on tagasisidekomponent potentsiomeeter, mis on otseselt ühendatud pöörleva ajamiga. Potentsiomeeter toimib pingejagajana, mis juhitakse juhtelektroonikasse. See tagasiside aitab elektroonikat kontrollida mootorile antava võimsuse määramisel.

Fikseeritud asendis olev servomootor liigub oma praegusest asendist tõrksalt, kui mõni väline jõud üritab häirida. Tagasiside süsteem jälgib praegust asukohta ja toidab mootorit väliste häirete eest.

Ülaltoodud stsenaarium on sama, kui servo ajami liigutab. Juhtimissüsteem kompenseerib välise jõu ja liigub kindlaksmääratud kiirusega.

Nüüdseks teate servomootorist ja selle toimimismehhanismist üsna vähe. Vaatame, kuidas servomootoreid mikrokontrolleri abil juhtida.

Servomootoritel on 3 klemmi, erinevalt teistest mootoritest, millel on 2 klemmi, kaks toiteallikaks (5 V nimipinge) ja üks juhtsignaaliks. Klemmide hõlpsaks tuvastamiseks on juhtmed värvilised.

Servode juhtsignaalid on PWM sagedusel 50Hz. Signaali impulsi laius määrab ajamihoova asendi. Tüüpiline hobiservomootor töötab 1–2 millisekundilise impulsi laiuseni.

1 ms pulsilaiuse kontrollsignaali rakendamine hoiab ajamit 0-kraadises asendis. 2 ms pulsilaiuse kontrollsignaali rakendamine hoiab ajami 180-kraadises asendis. Signaalide rakendamine vahemikus 1-2 ms hoiab ajami 0–180 kraadise nurga all. Seda saab paremini mõista alloleval pildil.

Nüüdseks oleksite aru saanud, kuidas servot juhitakse impulsi laiuse modulatsiooni (PWM) abil.

Nüüd õpime, kuidas servomootorit Arduinoga ühendada.

Skeem:

kuidas servomootorit Arduinoga ühendada.

Juhtmestik on lihtne ja iseenesestmõistetav. Kui vajate mahukat servomootorit, vajate välist toiteallikat. Kui proovite toita arduino toiteallikast, koormate arvuti USB-porti lõpuks üle.

Kui teil on artikli alguses illustreeritud sarnane servo, saate seda toita arduino 5V toiteallikast, mis on näidatud ka autori prototüübis.

Autori prototüüp:

Arduino vajab selle käsitsemiseks servoteeki, see tegi meie ülesande lihtsaks ja see on juba Arduino IDE-s.

Programm:

//--------Program developed by R.Girish--------//
#include
Servo motor
int pos = 0
int t=10
void setup()
{
motor.attach(7)
}
void loop()
{
A:
pos=pos+1
motor.write(pos)
delay(t)
if(pos==180) { goto B}
goto A
B:
pos=pos-1
motor.write(pos)
delay(t)
if(pos==0) { goto A}
goto B
}
//--------Program developed by R.Girish--------//

Ülaltoodud programm pühib ajami 0 kuni 180 kraadi paremale ja 180 kuni 0 kraadi vasakule ja tsükkel kordab. See on lihtne programm servo testimiseks, võib-olla peate oma kohandatud rakenduste jaoks kirjutama oma koodi.




Paar: Kahe toruga veepumba ventiili kontroller Järgmine: mootorratta pinge regulaatori juhtmestiku mõistmine