¿Cómo trucar servos Futaba S3003?

Buenas! Hoy toca hablar de motores, y exactamente de servomotores, ya que me encuentro construyendo un robot mini-sumo que utilizará este tipo de motores para moverse.

Pero… ¿Qué son los servomotores y cómo funcionan?

En Wikipedia, vemos una primera definición:

“Un servomotor (también llamado servo) es un dispositivo similar a un motor de corriente continua que tiene la capacidad de ubicarse en cualquier posición dentro de su rango de operación, y mantenerse estable en dicha posición. “

Esto quiere decir, que podemos mover el motor y pararlo en la posición que nosotros queramos, para poder realizar movimientos precisos, incluso controlar su velocidad.

Estos motores se utilizan sobretodo en robótica, modelismo y en sistemas de radiofrecuencia. Normalmente los utilizados en robótica tienen un ángulo de giro limitado (180º) tanto física como electrónicamente aunque existen servomotores de rotación continua (360º) .

Para poder utilizar un servo y controlar su posición y fuerza, utilizamos la modulación del ancho de pulso de una señal (PWM), enviando señales moduladas menores de 100 Hz, por lo que tendrán un período de pocos milisegundos para poder controlar el movimiento del motor.

En el siguiente gif (Univ. de Castilla-La Mancha) podemos ver como funciona un servomotor:
No voy a entrar en el uso del servo con PWM (Quizás en un algún post futuro lo haga) ya que el trucaje que haremos será para utilizar un servomotor de giro limitado (180º) como motor de corriente continua y que tenga un giro de 360º. Veamos como hacerlo.

Sigue leyendo!!

En la siguiente imagen (Klugers.net) vemos el interior de un servo y sus partes:

Un motor de corriente continua (A la izquierda de la imagen)
Un circuito regulador (A la derecha del motor)
Una serie de engranajes de distintos tamaños que forman la caja reductora del motor
Un potenciómetro (Debajo del engranaje más grande, en la imagen no aparece)

Los motores de corriente continua se caracterizan por girar a mucha velocidad y no tener demasiada fuerza, por lo que para cambiar esto, se le añade una serie de engranajes de gran reducción para limitar las revoluciones por minuto y obtener más fuerza de motor.

El eje del potenciómetro, está directamente unido con el engranaje más grande, con lo que el circuito regulador utiliza el valor del potenciómetro para determinar la posición angular actual del servo, y así saber en que sentido y cuánto tiene que girar.

Bien, ese es el interior del servo y a nosotros nos interesa mucho, ya que para trucar un servo de 180º y que pueda girar a 360º existen 2 maneras:

– Engañando al circuito regulador: Este truco consiste en cambiar el valor del potenciómetro por dos resistencias del mismo valor, pero que serán siempre fijas. De esta manera, al no retirar el circuito regulador, podremos utilizar el servo directamente si necesidad de una etapa de potencia anterior. Podemos ver como realizarlo paso a paso en la siguiente web: Uctrl – Trucar servo.

– Quitando el circuito regulador: Esta otra manera de trucar un servo, es en la que yo me voy a centrar, consiste en quitar el circuito regulador y retirar los topes físicos tanto del potenciómetro como del engranaje mayor. De modo que quede un motor de corriente continua con una caja reductora. Este sistema nos obliga a utilizar una etapa de potencia para poder controlar el motor. Vamos paso a paso:

Los servos que voy a trucar son los siguientes: Futaba S3003Enlace Ebay.
Son de precio muy reducido, por lo que tampoco podemos esperar una gran calidad, como veremos a continuación:

1) En primer lugar, retiramos los tornillos de la parte trasera del servo y vemos el circuito regulador y el motor. Cortamos los cables que unen el circuito y el motor y en la otra cara de la plaquita, está soldado el potenciómetro. El potenciómetro está atornillado a la carcasa, esto yo no lo sabía así que para retirar el circuito regulador, hice palanca… partiendo en 2 partes el potenciómetro como vemos en la siguiente imagen.
Esto demuestra la baja calidad del producto pero a su vez, es una ventaja para nosotros, ya que mantenemos el eje del potenciómetro.

Abrimos el servo y retiramos el circuito

2) Una vez retirado el circuito, vemos que el potenciómetro tiene 2 salientes que limitan el giro, por lo que hay que deshacerse de ellas. En la imagen siguiente vemos los salientes con un circulo rojo, debemos cortarlas o levantarlas para que no choquen con la mueca (Cuadrado azul) y así lograr que gire 360º sin problemas. No olvidemos que el eje del potenciómetro está unido al engranaje principal.

Cortar las muecas del potenciómetro y soldar los cables al motor

Una vez conseguido que el potenciómetro gire 360º, vemos en la imagen anterior que podemos reutilizar el cable del servomotor. Yo he quitado el cable blanco (El cable de señal) y el cable rojo y negro lo soldamos al motor de corriente continua sin importar la polaridad y opcionalmente añadiendo un condensador de filtro para evitar el ruido.

3) Soldados los cables, cerramos la parte trasera del servo y abrimos la parte delantera, veremos los engranajes que forman la caja reductora. Este paso es el último, pero no por ello menos importante: El engranaje principal contiene un saliente que limita el giro. Debemos eliminarlo cortándolo o limándolo con cuidado de no dañar los dientes y tratando de que quede lo más uniforme posible para evitar rozes. Vemos dicho saliente en la siguiente imagen con un círculo rojo.

Limamos el saliente que limita el giro

Una vez terminado colocamos cuidadosamente todos los engranajes y si todo ha ido correctamente, tenemos un servomotor trucado para girar 360º.  Este sistema tiene la desventaja de que necesitaremos una etapa de potencia para hacer girar bien el servo, como puede ser el circuito integrado L293 o un puente en H.

En otro post explicaré como utilizar el integrado L293 con Arduino, aunque al que le haga falta, en este vídeo está muy bien explicado:  Funcionamiento y conexión de L293

Conectamos al Arduino de acuerdo al vídeo siguiente y probamos.

Servomotor Futaba S3003 trucado con Arduino

😀

Anuncios

20 comentarios en “¿Cómo trucar servos Futaba S3003?

  1. yo estoy teniendo un pequeño problema, estoy intentando hacerme un robot con dos motores para moverlo. EL problema es que uno de los servos me va ligeramente más despacio que el otro, son iguales, dos S3003 y los he trucado con las dos resistencias. Imagino que es por que uno va girando a la izquierda y otro a la derecha, pero deberían ir a la misma velocidad no?? no sé muy bien por qué puede ser, y me da que cuando lo monte en el robot no va a ir del todo recto…

  2. Puede ser que por la tolerancia de las resistencias, una tenga un valor mayor que otra, aunque no debería se tan significativo como para que se note la diferencia de velocidad.

    ¿Has comprobado el valor del potenciómetro antes de meterle las resistencias?

    El valor total de las resistencias en serie debe ser igual al máximo valor del potenciómetro.

    Si está todo correcto, no sé que puede pasar…

  3. creo que es por temas de Alimentación y demás. Me está dando bastantes quebraderos de cabeza, Estoy alimentando con una pila de 9v y un regulador de 5v y con eso quiero alimentar el arduino, dos motores y un sensor de ultrasonido, pero el ultrasonido, hace interferencia con lo smotores y no termina de ir fino, y los motores no terminan de tener la suficiente potencia!! 😦 vaya follón esto de la alimentación!!

  4. Pues… debería ir bien, aunque no demasiado rápido. Yo alimenté un mini-sumo con 3 servomotores, 1 sensor de ultrasonidos, un arduino y un L293 con 4 pilas de 1,5V en serie.

    No iba demasiado rápido pero funcionaba sin problemas.Los servos suelen ir bien a 6V y el regulador tiene una caída de tensión.

    Dado que el Arduino tiene su propio regulador, puedes enchufar los 9V al Arduino directamente (En el jack de alimentación). Con las salidas de Arduino alimentas el sensor de ultrasonidos.

    Por otro lado, para alimentar los servos, puedes utilizar un zéner en inversa, creo que los hay de 6,2V, aunque con el regulador debería ir bien, el margen mínimo a la entrada de un 7805 son 7,5V.

    • el problema que tengo es que si conecto todo, el sensor de ultraasonido me da una medici´n erronea, y si desconecto los motores me funciona bien :S a mitad de las pruebas, las pilas se me ha gastado, así que tendré que comprar otra 😛

  5. Mmm puede ser que haya un buen ruido ahí. Los motores generan mucho ruido, ponle unos condensadores de filtro en la alimentación y prueba a ver si sigue dando mediciones erróneas el ultrasonidos. Ya me cuentas 🙂

  6. MMM, ¿ Darkomen te ha dado por medir el consumo ? las pilas de 9 Voltios solo son capaces de dar unos 200 mA nominales, en pico pueden llegar a 300 mA pero no más, no están pensadas para alimentar motores ni nada de eso, es para proveer de energía de “alta tensión” a sistemas que requieren enviar ondas de radio, te recomiendo que busques por la tienda del chino y compres dos pilas de 4,5 y las pongas en serie, seguramente funcione mejor el servo que te va mal y el sensor de ultrasonido.

    Otro detalle, el Arduino tiene un regulador de 5 voltios en placa, pero es un modelo SMD, máximo consumo 500 mA.

    Y el condensador se calcula conociendo el ruido que quieres, filtrar, ante la duda la más tetuda, 100 uF como dice el iPadnano esta bien.

  7. Interesante tu artículo. Sólo tengo una duda, la verdad tengo pocos conocimientos de servos: ¿daría lo mismo si uso un servo de 1.4 kg a uno de 4.3 kg? Es decir, ¿tendría el mismo efecto?

    • Miguel Marve, lo que me preguntas es sobre el par del servo, es decir, un servo de 1,4kg puede levantar hasta ese peso a una determinada distancia de su eje, por lo que dependiendo de lo que quieras mover, no será lo mismo utilizar uno u otro. No es lo mismo que quieras mover una barrera creada con un palito de madera, que intentar levantar una botella de agua con un servo.

      En cualquier caso, la diferencia entre un servo bueno y uno “malillo” suele radicar en el material con el que están realizados los engranajes internos que lleva, que pueden ser de plástico o de metal.

      Saludos!

  8. […] – Motores: Todo vehículo necesita de motor, yo voy a utilizar 2 servomotores trucados de modo que sean capaces de girar 360º. Podemos ver como trucar un servomotor para que gire 360º en este tutorial: ¿Cómo trucar servos Futaba S3003?. […]

  9. Hola chicos! tengo una duda (estoy usando servos Towerpro MG995), porque trunque mis servos, y ahora me enteré que no pueden hacer reversa al truncarlos.

    Mi pregunta es entonces: conectando directamente el motor a un puente h (tengo una L298N), pierde la fuerza que originalmente hace el servo? se le puede controlar la velocidad con el puente h?

    • Santirekapo90, si conectas un servo trucado con la polaridad invertida, debe ser capaz de moverse en reversa.

      Con el puente en H L298N, puedes controlar la velocidad y el sentido de giro sin problemas.

      No debe perder fuerza si mantienes la caja de reducción del servo.

      Saludos!

  10. hola a todos todavia estan en contacto quisiera si pueden que me ayudaran estoy hacienda in acorazado y a las torretas les puse in servo de 360 grados y para bajarle la velocidad de su movimiento uso una targeta Arduino uno ,pero el servo sigue empujando hacia sus grados que debo hacer hacerto cualquier sujerencia si desean ver lo que estoy haciendo valla a este sitio https://www.youtube.com/watch?v=ehCNC8-83Rc

Deja un comentario!

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s