Arduino amb servomotor
Utilitzant Arduino amb servomotors podem controlar amb precisió la seva posició de l'eix perquè els servomotors treballen en un mecanisme de retroalimentació per determinar la seva posició de l'eix. La posició de l'eix es mesura constantment amb un potenciòmetre integrat dins del servomotor que la compara amb la posició objectiu establerta pel microcontrolador (per exemple, l'Arduino). En calcular l'error entre la posició objectiu i la posició real, el microcontrolador ajusta el seu eix de sortida perquè coincideixi amb la posició objectiu. Tot aquest sistema es pot descriure com a sistema de bucle tancat .
Arduino controla servomotors mitjançant un senyal PWM. Aquest senyal de control es dóna al pin de control del servomotor. L'amplada del senyal PWM determina la posició de l'eix. La taula següent mostra una il·lustració del control de la posició del servomotor mitjançant senyal PWM
Amplada PWM (ms) | Posició de l'eix (angle) |
---|---|
1 ms | 0˚ grau mín |
1,5 ms | 90˚ graus Neutre |
2 ms | 180˚ graus Màx |
Els servomotors solen necessitar un pols PWM cada 20 ms o 50 Hz. La majoria dels servomotors RC poden funcionar bé en un rang de 40 a 200 Hz.
Pins del servomotor
La majoria dels servomotors utilitzats amb Arduino tenen tres pins.
- Terra Els servomotors tenen un pin GND que normalment ve en color negre.
- Pin d'alimentació Es necessita un pin de 5v per donar energia al servomotor. El pin d'alimentació sol ser de color vermell.
- Pin de control El moviment de l'eix del servomotor es controla mitjançant un pin de control. Aquest pin està connectat a un pin digital Arduino.
Els servomotors tenen diferents esquemes de colors disponibles, però la bona notícia és que tots els servomotors tenen pins normalment en el mateix ordre, només la codificació de colors és diferent.
Servo de cable amb Arduino
La majoria dels servomotors funcionen amb 5V. Per alimentar el servo amb Arduino, hem de connectar un pin de 5 V d'Arduino al pin d'alimentació del servo. Arduino té un rang limitat per extreure corrent. Normalment, un o dos motors es poden connectar a Arduino. Per controlar diversos servomotors amb Arduino, hem d'alimentar-los mitjançant una font externa.
S'ha de tenir en compte la següent configuració de pins mentre s'alimenta el servo:
Pin del servomotor | Pin Arduino |
---|---|
Potència (vermell) | Pin de 5 V o font d'alimentació externa |
Terra (negre o marró) | Font d'alimentació i Arduino GND |
Pin de control (groc, taronja o blanc) | Pin digital d'Arduino |
Per connectar servomotors amb Arduino són possibles dues configuracions següents:
- Connecteu amb Arduino 5V Pin
- Connecteu amb subministrament extern amb Arduino
Cable amb Arduino 5V Pin
El servomotor es pot encendre amb un pin Arduino de 5 V, però una cosa a tenir en compte és que l'Arduino pot donar un màxim de 500 mA de corrent al servo. Si els motors treuen corrent més enllà d'aquest límit, reiniciarà l'Arduino automàticament i també podria perdre energia.
A continuació es mostra la representació pictòrica de la connexió Arduino amb el servomotor:
Aquí el pin digital 9 d'Arduino està connectat al pin de control del servomotor mentre que l'alimentació i el pin GND del servo estan connectats al pin de 5V i GND d'Arduino respectivament.
Cable amb subministrament extern amb Arduino
Arduino pot subministrar un corrent limitat als servomotors, per això hem de connectar una font d'alimentació externa. Utilitzant una font d'alimentació independent per als servomotors, podem connectar tants motors com vulguem amb Arduino, però tingueu en compte els pins digitals disponibles a les plaques Arduino. Si voleu connectar diversos servomotors, es recomana utilitzar escuts Arduino Mega o Arduino que poden proporcionar més pins per manejar tots els motors.
Aquí l'alimentació del servomotor i el pin de terra estan connectats a través de pins de font d'alimentació externa mentre que el pin de control està connectat al pin digital d'Arduino com a la configuració anterior.
Conclusió
Els servomotors són una bona manera de dissenyar projectes de robòtica. A causa de la seva flexibilitat pel que fa als mecanismes de control, els usuaris d'Arduino tenen l'oportunitat de dissenyar els projectes de la seva elecció. Un servomotor es pot connectar amb un Arduino mitjançant la seva potència i els pins digitals. Mentre que sempre busqueu els requisits d'energia del motor abans de connectar-lo a Arduino. Per connectar els múltiples motors amb Arduino, cal utilitzar una font d'alimentació externa.