- Potreban materijal
- Kružni dijagram
- Što je servo motor?
- Objašnjenje Arduino koda
- Upravljanje višestrukim servo uređajima s Arduino-radom:
Korištenje jednog ili dva Servo-a s Arduinom je jednostavno, ali što ako želimo koristiti više od jednog Servo-motora?
Ovdje ćemo vam pokazati kako upravljati višestrukim servo motorima pomoću Arduina. Čini se da je povezivanje više servo motora s Arduinom lako, ali ako sve servo motore spojimo na opskrbne pinove Arduina, oni neće raditi ispravno zbog nedostatka struje za pogon svih motora. Zato morate koristiti zasebno napajanje motora, bilo iz nekih adaptera (5v 2A) ili iz kvalitetnih 9v baterija.
Potreban materijal
- Arduino UNO
- Servo motor
- Napajanje
- Breadboard
- Spajanje žica
Kružni dijagram

Što je servo motor?
Prije ulaska u detalje, prvo bismo trebali znati o Servo Motors.
Servo motori su dostupni u različitim oblicima i veličinama. Servo motor će uglavnom imati žice, jedna je za pozitivni napon, druga je za masu, a zadnja za podešavanje položaja. CRVENA žica spojena je na napajanje, crna žica spojena na masu, a ŽUTA žica spojena na signal.


Servo motor je kombinacija istosmjernog motora, sustava za kontrolu položaja, stupnjeva prijenosa. Položaj osovine istosmjernog motora podešava se upravljačkom elektronikom u servo kolu, na temelju omjera radne snage PWM signala SIGNAL pin.
Jednostavno rečeno, upravljačka elektronika podešava položaj vratila upravljajući istosmjernim motorom. Ovi podaci o položaju osovine šalju se kroz SIGNAL iglu. Podaci o položaju upravljaču trebaju se slati u obliku PWM signala kroz signalnu iglu servo motora.
Učestalost PWM (Pulse Width Modulated) signala može se razlikovati ovisno o vrsti servo motora. Ovdje je najvažniji ODNOS DUŽNOSTI PWM signala. Na temelju ovog DUŽNOG ODNOSA upravljačka elektronika podešava osovinu.
Kao što je prikazano na donjoj slici, da bi se osovina pomaknula na sat od 9 °, ODNOS UKLJUČIVANJA mora biti 1 / 18.ie. 1 ms vremena uključenja i 17 ms vremena isključenja u signalu od 18 ms.

Da bi se osovina pomaknula na sat od 12 °, vrijeme uključivanja signala mora biti 1,5 ms, a vrijeme isključivanja 16,5 ms. Taj omjer dekodira upravljački sustav u servo sustavu i na temelju njega podešava položaj. Ovaj PWM ovdje generiran je pomoću ARDUINO UNO.
Prije povezivanja servo uređaja na Arduino, možete testirati svoj servo uz pomoć ovog kruga ispitivača servo motora. Također pogledajte naše Servo projekte u nastavku:
- Upravljanje servo motorom pomoću Flex senzora
Objašnjenje Arduino koda
Kompletni Arduino kôd za višestruku servo kontrolu dat je na kraju.
Arduino ima biblioteku za servo motore i on obrađuje sve stvari povezane s PWM-om da bi rotirao servo, samo trebate unijeti kut pod kojim se želite okretati i postoji funkcija servo1.write (angle); koji će okretati servo pod željeni kut.
Dakle, ovdje počinjemo s definiranjem knjižnice za servo motor.
#include
U donjem kodu inicijaliziramo sva četiri servoa kao Servo1, Servo2, Servo3 i Servo4.
Servo servo1; Servo servo2; Servo servo3; Servo servo4;
Zatim postavljamo sav ulazni pin servoa Arduinom. Kao što je prikazano u donjem kodu, Servo1 je povezan s 3. pinom Arduina. Igle možete mijenjati prema vama, ali imajte na umu da bi to trebao biti PWM pin. Korištenje serva s digitalnim iglama Arduina nije pouzdano.
void setup () { servo1.attach (3); servo2.attach (5); servo3.attach (6); servo4.attach (9); }
Sada, u funkciji void loop () mi samo okrećemo sav servo od 0 do 180 stupnjeva, a zatim od 180 do 0 stupnjeva. Kašnjenje korišteno u donjem kodu koristi se za povećanje ili smanjenje brzine servo pogona jer utječe na povećanje ili smanjenje brzine varijable 'i'.
void loop () { for (int i = 0; i <180; i ++) { servo1.write (i); servo2.write (i); servo3.write (i); servo4.write (i); kašnjenje (10); } za (i = 180; i> 0; i--) { servo1.write (i); servo2.write (i); servo3.write (i); servo4.write (i); kašnjenje (10); } }
Upravljanje višestrukim servo uređajima s Arduino-radom:
Svi se suočavamo s trenutnim problemom dok koristimo više od dva servo-pogona s jednim Arduinom. Jedino rješenje za to je spajanje vanjskog izvora napajanja s odgovarajućom količinom struje (u ovom projektu koristio sam 2A s napajanjem od 9v). Za vanjsko napajanje možete koristiti adaptere, RPS (regulirani instrument za napajanje) ili kvalitetne baterije od 9 volta, a možete koristiti i USB priključak za prijenosno računalo za napajanje malih servo-uređaja. Da biste koristili vanjsku opskrbu, jednostavno morate spojiti Arduino masu na vanjsku masu.

Upotrijebite dolje navedeni Arduino kôd za programiranje vašeg Arduina i povežite sve servo motore kako je prikazano na shemi spojeva s odgovarajućim napajanjem motora. Stoga će svi servo uređaji raditi zajedno bez ikakvih prekida.
