Kako povezati servo motore s Arduinom

Kako povezati servo motore s Arduinom

U ovom ćemo postu saznati što je servo motor, kako funkcionira, kako se povezati s mikrokontrolerom i po čemu je ovaj motor poseban od ostalih motora.



Kao ljubitelj elektronike, susreli bismo se s mnogim vrstama motora, ovdje ćemo pogledati posebnu vrstu motora koja se naziva servo motor.

Što je Servo motor?

Servo motor ili jednostavno servo motor je posebna vrsta motora koja je dizajnirana za preciznu kontrolu položaja, ubrzanja i brzine. Za razliku od svih ostalih tipova motora, servo se može okretati samo dvosmjerno za 180 stupnjeva. Ima mehaničke zupčanike i čep koji ograničavaju kutnu rotaciju servo-pogona.





Tipični servo motor:

Servo motori se koriste u robotici, CCTV kamerama, RC automobilima, čamcima, igračkim letjelicama itd. Servo uređaji se koriste tamo gdje nije potrebno nastaviti rotacijsko kretanje, ali zaključati se u određenom položaju ili pomaknuti neki teret kontroliranom brzinom unutar pokretne kutne granice.

Servo nisu jednostavno motori poput ostalih tipova, već su to moduli koji kombiniraju normalni DC / AC motor, skupinu zupčanika, upravljačku elektroniku i sustav povratnih informacija. Pogledajmo pojedine pojedine faze detaljno.



DC / AC motor koji se koristi na servo modulu može biti motor bez četkica ili četkica, na većini hobi servo motora koristi se istosmjerni motor, a izmjenični motori koriste se u industrijskoj primjeni. Motor daje rotacijski ulaz u servo. Motor se okreće s nekoliko stotina o / min unutar servo-a, a izlazna rotacija je oko 50 ili više puta manja od njegovog o / min.

Sljedeća je faza sklop zupčanika koji kontrolira kutnu rotaciju i brzinu servo-pogona. Zupčanik može biti izrađen od plastike ili metala, ovisno o tome koliko je glomazan teret. Općenito istosmjerni motori rade na visokim okretajima i malim okretnim momentom, sklop zupčanika pretvara višak okretaja u okretni moment. Tako mali motor može podnijeti veliko opterećenje.

Sljedeća je faza upravljačka elektronika koja se sastoji od MOSFET-ova i IC-a za kontrolu rotacije motora. Sustav povratne sprege uvijek je prisutan u servo motorima za praćenje trenutnog položaja aktuatora.

U servo sustavima općenito je povratna komponenta potenciometar koji je izravno povezan s rotirajućim aktuatorom. Potenciometar djeluje kao razdjelnik napona koji se dovodi na upravljačku elektroniku. Ova povratna informacija pomaže upravljačkoj elektronici da odredi količinu snage koja se daje motoru.

Servo motor u fiksnom položaju nevoljko će se pomaknuti iz trenutnog položaja ako bilo koja vanjska sila pokuša ometati. Sustav povratnih informacija nadzire trenutni položaj i napaja motor protiv vanjskih smetnji.

Gornji scenarij je isti kada servo upravlja pogonom. Sustav upravljanja kompenzirat će vanjsku silu i kretati se utvrđenom brzinom.

Do sada znate prilično malo o servo motoru i njegovom mehanizmu funkcioniranja. Pogledajmo kako upravljati servo motorima pomoću mikrokontrolera.

Servo motori imaju 3 terminala za razliku od ostalih motora koji imaju 2 terminala, dva za napajanje (5V nominalno) i jedan za upravljački signal. Žice su obojene radi lakše prepoznavanja stezaljki.

Upravljački signali servo uređaja su PWM na frekvenciji 50Hz. Širina impulsa signala određuje položaj ruke pokretača. Tipični hobi servo motor radi od 1 do 2 milisekunde širine impulsa.

Primjenom upravljačkog signala širine impulsa od 1 ms pogon će se zadržati u položaju od 0 stupnjeva. Primjenom kontrolnog signala širine impulsa od 2 ms pogon će se zadržati u položaju od 180 stupnjeva. Primjena signala između 1-2 ms pokretač će zadržati unutar kuta od 0-180 stupnjeva. To se može bolje razumjeti na slici ispod.

Do sada biste već razumjeli kako se servo upravlja pulsno modulacijskom širinom (PWM).

Sada naučimo kako povezati servo motor s Arduinom.

Kružni dijagram:

kako povezati servo motor s Arduinom.

Ožičenje je jednostavno i samo po sebi razumljivo. Vanjsko napajanje trebate ako koristite glomazni servo motor. Ako pokušate napajati iz arduino napajanja, na kraju ćete preopteretiti USB priključak na računalu.

Ako imate servo sličan koji je prikazan na početku članka, možete ga napajati iz arduino 5V napajanja, također prikazanog u autorskom prototipu.

Autorski prototip:

Arduinu je potrebna servo knjižnica za rukovanje njime, olakšao nam je zadatak i već je u Arduino IDE-u.

Program:

//--------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--------//

Gornji program pomicat će pogon za 0 do 180 stupnjeva udesno i 180 za 0 stupnjeva ulijevo i ciklus se ponavlja. Ovo je jednostavan program za testiranje servoa koji će vam možda trebati za pisanje vlastitog koda za vaše prilagođene aplikacije.




Prethodno: Krug regulatora ventila vodene pumpe s dvije cijevi Dalje: Razumijevanje ožičenja motociklističkog regulatora napona