Com s’interfacen servomotors amb Arduino

Proveu El Nostre Instrument Per Eliminar Problemes





En aquest post aprendrem què és el servomotor, com funciona, com interactuar amb el microcontrolador i què fa que aquest motor sigui especial d'altres motors.

Com que era un entusiasta de l'electrònica, hauríem trobat molts tipus de motors, aquí farem una ullada al tipus especial de motor anomenat servomotor.



Què és un servomotor?

El servo motor o simplement el servo és un tipus especial de motor dissenyat per a un control precís sobre la posició, l’acceleració i la velocitat. A diferència de tots els altres tipus de motors, el servo només pot girar de 180 graus bidireccional. Té engranatges mecànics i tap que limiten la rotació angular del servo.

Servomotor típic:

Els servomotors s’utilitzen en robòtica, càmeres de circuit tancat de televisió, vehicles RC, vaixells, avions de joguina, etc. Els servos s’utilitzen allà on no necessitem continuar el moviment de rotació, sinó bloquejar-los en una posició específica o moure una mica de càrrega amb velocitat controlada dins del límit angular mòbil.



El servo no és simplement un motor com altres tipus, sinó que és un mòdul que combina un motor CC / AC normal, un grup d’engranatges, electrònica de control i un sistema de retroalimentació. Vegem detalladament les fases esmentades.

El motor de corrent continu / corrent altern que s’utilitza en un mòdul servo pot ser un motor sense escombretes o raspallat, en la majoria dels servos hobby s’utilitza motor de corrent continu i motors de corrent altern en aplicacions industrials. El motor dóna entrada de rotació al servo. El motor gira a diversos centenars de RPM dins del servo i la rotació de sortida és aproximadament 50 vegades més o menys de la seva RPM.

La següent etapa és el conjunt d'engranatges, que controla la rotació angular i la velocitat del servo. L’engranatge es pot fer de plàstic o metall, depenent de la voluminosa càrrega. Generalment els motors de corrent continu funcionen a revolucions elevades i un parell baix. Així, un motor petit pot suportar una càrrega enorme.

La següent etapa és l'electrònica de control que consisteix en MOSFET i CI per controlar la rotació del motor. Sempre hi ha un sistema de retroalimentació en servomotors per rastrejar la posició actual de l’actuador.

En els servos, generalment, un component de retroalimentació és un potenciòmetre, que es connecta directament a un actuador giratori. El potenciòmetre actua com a divisor de tensió que s’alimenta a l’electrònica de control. Aquest feedback ajuda a controlar l’electrònica per determinar la quantitat de potència que es dóna al motor.

Un servomotor en una posició fixa es mourà reticent de la seva posició actual si alguna força externa intenta molestar. El sistema de retroalimentació controla la posició actual i alimenta el motor contra les pertorbacions externes.

L'escenari anterior és el mateix quan el servo mou el seu actuador. El sistema de control compensarà la força externa i es mourà a la velocitat determinada.

A hores d’ara ja sabeu força sobre el servomotor i el seu mecanisme de funcionament. Vegem com controlar els servomotors mitjançant microcontroladors.

Els servomotors tenen 3 terminals a diferència d'altres motors que tenen 2 terminals, dos per a l'alimentació (5V nominal) i un per al senyal de control. Els cables estan de colors per facilitar la identificació dels terminals.

Els senyals de control dels servos són PWM a una freqüència de 50Hz. L'amplada del pols del senyal determina la posició del braç de l'actuador. Un servomotor hobby típic funciona entre 1 i 2 mil·lisegons d'amplada de pols.

Si s’aplica un senyal de control d’amplada de pols d’1 ms, l’actuador es mantindrà a una posició de 0 graus. Si s’aplica un senyal de control d’amplada de pols de 2 ms, l’actuador es mantindrà a la posició de 180 graus. L’aplicació de senyals d’entre 1-2 ms mantindrà l’actuador dins d’un angle de 0-180 graus. Això es pot entendre millor donant la imatge següent.

A hores d’ara ja hauríeu entès com es controla un servo mitjançant la modulació de l’amplada del pols (PWM).

Ara anem a aprendre a connectar un servomotor amb Arduino.

Esquema de connexions:

com connectar un servo motor amb Arduino.

El cablejat és fàcil i s’explica per si mateix. Necessiteu una font d'alimentació externa si utilitzeu un servomotor voluminós. Si intenteu alimentar el subministrament d’arduino, acabareu sobrecarregant el port USB de l’ordinador.

Si teniu un servo similar que s’il·lustra al principi de l’article, podeu alimentar-lo des del subministrament arduino de 5 V, que també es mostra al prototip de l’autor.

Prototip de l'autor:

Arduino necessita una servoteca per gestionar-la, ens ha facilitat la tasca i ja es troba a l’IDE ​​Arduino.

Programa:

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

El programa anterior escombrarà l’actuador de 0 a 180 graus a la dreta i 180 a 0 graus a l’esquerra i es repeteix el cicle. Aquest és un programa senzill per provar el servo que necessiteu per escriure el vostre propi codi per a les vostres aplicacions personalitzades.




Anterior: Circuit de controlador de vàlvula de bomba d’aigua de dues canonades Següent: Descripció del cablejat del regulador de voltatge de la motocicleta