This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm whether you accept or reject these cookies being set.

A cookie will be stored in your browser regardless of choice to prevent you being asked this question again. You will be able to change your cookie settings at any time using the link in the footer.

  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
[TUTORIAL] Trucar Servomotor 9g
#1
Un servomotor es un dispositivo similar a un motor de corriente continua, la ventaja es que permite ser controlado desde diversas placas, como un Arduino. Uno de los inconvenientes es que la mayoría tienen el giro restringido a 180º, pero con una pequeña modificación es posible hacer que gire completamente, y eso es lo que vamos a aprender con este pequeño tutorial.
Los materiales que vamos a necesitar son:
-Un servomotor.
-Un soldador.
-Destornillador de precisión.
-Un multímetro.
-Dos resistencias de 3K, que sean lo mas parecidas posibles.
-Un cutter.

Para empezar procederemos a quitarle las pegatinas que tiene en los laterales, para asi poder abrir la carcasa mas fácilmente:

[Imagen: px0BjrN.jpg?1]

Una vez que hemos eliminado las pegatinas, quitaremos los cuatro tornillos que se encuentran en la parte inferior,marcados con un circulo en la imagen.

[Imagen: aGHoCr7.jpg]

[Imagen: LQn4trm.jpg]

Una vez que lo hemos abierto, procederemos a realizar la primera modificación, que es cortar el tope que tiene uno de los engranajes, que impide el giro completo.
[Imagen: rlMjeq1.jpg]

Nos tiene que quedar algo tal que así:

[Imagen: XP4tfvi.jpg]

Ahora que hemos realizado la primera modificacion, vamos a realizar la segunda, que consiste en cortar un tope que tiene el potenciometro y que también impide el giro. Esta ha sido la parte que a mi mas me ha costado, ya que eliminar los topes es un poco complicado.

En la foto no se ve muy bien, pero es una plaquita metálica que tiene dos aletas que chocan con el plástico del potenciometro

[Imagen: iMGugbD.jpg]


Otro usuario (@Zerocult) lo que ha hecho ha sido agrandar el agujero del potenciometro. Para ello, se ayudó de un destornillador pequeño, empleándolo a modo de broca sobre el eje del engranaje.

La labor del potenciometro, es saber en todo momento en la posición en la que se encuentra el servomotor, esto vamos a modificarlo.

Para ello, vamos a utilizar dos resistencias, las cuales tienen que tener el valor mas aproximado posible, para no tener problemas con el paro del servomotor. Debemos fijarnos bien en la colocación de los cables que van del potenciometro a la placa de control (el cable blanco, el marrón y el rojo),para luego desconectarlos.

[Imagen: f3yeh4w.jpg]

Ahora vamos a preparar las resistencias, uniremos las dos resistencias entre ellas, de la siguiente forma, realizando un punto de soldadura en el medio para que no se separen:

[Imagen: 8y3EoIU.jpg]

Una vez hecho esto, vamos a conectar las resistencias con la placa de control. Para conectarlas utilizaremos el mismo orden de conexión que el que había en el potenciometro, es decir, el cable que iba a la patilla del medio del potenciometro a la unión de las dos resistencias, y los otros dos cables a los dos extremos:

[Imagen: cKkuvrc.jpg]

Una vez que hemos soldado los cables a las resistencias, ya tenemos el servomotor modificado para poder usarlo como un motor de corriente continua, ahora solo nos queda volver a colocar los engranajes y meter las resistencias dentro de la carcasa del servomotor, con un poco de maña, y cerrarlo:

[Imagen: 6r2PqUX.jpg]

Es recomendable aislar bien las resistencias una vez soldadas, bien con cinta aislante o con una funda termorretractil. Así os evitareis que las resistencias se toquen entre ellas, con lo que el servomotor nunca pararia, y tengáis que volver a abrir para separarlas
Ayudanos a crear el mapa de usuarios de Spain Labs!!!
  Responder
#2
te ha quedado muy bien. por lo que veo, cada servo tiene unos engranajes diferenes, y la patilla que limita los 180 grados cambia un poco de sitio segun como este construido.

Habia leido que las resistencias tenian que ser de 2k. Como las calculas?
  Responder
#3
Yo leí que lo mas importante era que fuesen iguales, y donde lo leí usaban una de 3K, por eso la cogí yo jajaj.

A ver si algun experto nos dice como calcular el valor de la resistencia, aunque estoy pensando que puede ser a partir del valor del potenciometro
Ayudanos a crear el mapa de usuarios de Spain Labs!!!
  Responder
#4
Mañana en un rato lo subo a la wiki Gran sonrisa
  Responder
#5
Es todo tuyo, si necesitas modificar algo adelante Guiño
Ayudanos a crear el mapa de usuarios de Spain Labs!!!
  Responder
#6
Yo truqué dos servos de 9g hace un par de semanas para hacer un robot autobalanceable y lo que más me costó fue meter otra vez la controladora junto a las resistencias dentro de la carcasa.
En vez de quitar el tope del potenciómetro, lo que hice fue coger un destornillador finito y ensanchar un poco el agujero del engranaje que va al potenciómetro, me pareció más fácil ya que no tengo herramientas para poder agarrar y cortar esa pestañita tan pequeña.

Mientras investigaba como se hacía lei que había que usar resistencias de 4.7k y esas usé, pero lo suyo sería medir de cuánto es el potenciómetro y usar dos resistencias iguales que sumen la misma resistencia que el potenciómetro.

Saludos
  Responder
#7
Zerocoult escribió:Yo truqué dos servos de 9g hace un par de semanas para hacer un robot autobalanceable y lo que más me costó fue meter otra vez la controladora junto a las resistencias dentro de la carcasa.
En vez de quitar el tope del potenciómetro, lo que hice fue coger un destornillador finito y ensanchar un poco el agujero del engranaje que va al potenciómetro, me pareció más fácil ya que no tengo herramientas para poder agarrar y cortar esa pestañita tan pequeña.

Mientras investigaba como se hacía lei que había que usar resistencias de 4.7k y esas usé, pero lo suyo sería medir de cuánto es el potenciómetro y usar dos resistencias iguales que sumen la misma resistencia que el potenciómetro.

Saludos

Puedes explicar un poco mas detalladamente el proceso que seguiste?? Es para añadirlo al post principal.

Muchisimas gracias
Ayudanos a crear el mapa de usuarios de Spain Labs!!!
  Responder
#8
Beticocc escribió:Puedes explicar un poco mas detalladamente el proceso que seguiste?? Es para añadirlo al post principal.

Muchisimas gracias

Lo hice básicamente como lo explica el post principal, lo único distinto que hice fue lo del engranaje del potenciómetro, que lo que hice fue coger uno de estos destornilladores pequeños y a modo de broca darle vueltas con la mano en el agujero del eje del engranaje hasta conseguir ensancharlo (no era muy duro el plástico) para que ya no agarrase el eje del potenciómetro y girase libre. Es un poco cutre pero lo más rápido que se me ocurrió.

En cuanto a las resistencias, a la hora de meter todo en la carcasa otra vez, yo lo que hice fue cortar las patas de las resistencias mucho más cortas y aún así me costó bastante. Si se sabe soldar SMD sería infinitamente más fácil meter todo en la carcasa, ya que incluso se podrían eliminar los cables rojo, blanco y negro.
Conviene aislar las resistencias con cinta aislante o termorretráctil para evitar contactos innecesarios al apretar todo para cerrar la tapa.
Las dos resistencias tienen que ser iguales, para imitar que el potenciómetro estuviese parado a mitad de su recorrido y entonces la controladora crea que está en 90º. Cuando se quiera avanzar o retroceder se mandan ángulos distintos de 90º, cuanto más alejado de 90º más rápido irá el servo.

Otro punto a tener en cuenta es que probablemente las dos resistencias que se usen no sean exactamente iguales, por aquello de la tolerancia.
Por ello a la hora de mandar los grados desde arduino al servo, al mandar 90º puede que el servo no se pare como debería, hay que mirar a que grado se queda quieto cada servo para saber cual es su nuevo "punto muerto". A mí se me paraban a 92º y 93º.
Por ejemplo yo uso esta función para controlar los dos servos como si fueran perfectos y parasen ambos en 90:
Código:
void ServoI_mover(int velocidad){
  int val;
  if(velocidad <= 90)
    val = map(velocidad, 0, 90, 0, ServoI_puntoparada);
  else
    val = map(velocidad,90,180,ServoI_puntoparada,180);
  ServoI.write(val);
}

Saludos
  Responder
#9
Zerocoult escribió:
Beticocc escribió:Puedes explicar un poco mas detalladamente el proceso que seguiste?? Es para añadirlo al post principal.

Muchisimas gracias

Lo hice básicamente como lo explica el post principal, lo único distinto que hice fue lo del engranaje del potenciómetro, que lo que hice fue coger uno de estos destornilladores pequeños y a modo de broca darle vueltas con la mano en el agujero del eje del engranaje hasta conseguir ensancharlo (no era muy duro el plástico) para que ya no agarrase el eje del potenciómetro y girase libre. Es un poco cutre pero lo más rápido que se me ocurrió.

En cuanto a las resistencias, a la hora de meter todo en la carcasa otra vez, yo lo que hice fue cortar las patas de las resistencias mucho más cortas y aún así me costó bastante. Si se sabe soldar SMD sería infinitamente más fácil meter todo en la carcasa, ya que incluso se podrían eliminar los cables rojo, blanco y negro.
Conviene aislar las resistencias con cinta aislante o termorretráctil para evitar contactos innecesarios al apretar todo para cerrar la tapa.
Las dos resistencias tienen que ser iguales, para imitar que el potenciómetro estuviese parado a mitad de su recorrido y entonces la controladora crea que está en 90º. Cuando se quiera avanzar o retroceder se mandan ángulos distintos de 90º, cuanto más alejado de 90º más rápido irá el servo.

Otro punto a tener en cuenta es que probablemente las dos resistencias que se usen no sean exactamente iguales, por aquello de la tolerancia.
Por ello a la hora de mandar los grados desde arduino al servo, al mandar 90º puede que el servo no se pare como debería, hay que mirar a que grado se queda quieto cada servo para saber cual es su nuevo "punto muerto". A mí se me paraban a 92º y 93º.
Por ejemplo yo uso esta función para controlar los dos servos como si fueran perfectos y parasen ambos en 90:
Código:
void ServoI_mover(int velocidad){
  int val;
  if(velocidad <= 90)
    val = map(velocidad, 0, 90, 0, ServoI_puntoparada);
  else
    val = map(velocidad,90,180,ServoI_puntoparada,180);
  ServoI.write(val);
}

Saludos

Ya esta editada la información del post principal con tu método, dime a ver que te parece.
Ahora voy a ver yo en que posición esta la parada, que ayer solo me dió tiempo a modificarlos y ni los probé jaja
Ayudanos a crear el mapa de usuarios de Spain Labs!!!
  Responder
#10
Acabo de probar y uno de ellos cambia de sentido en el angulo 94, es decir, en el angulo 93 gira en un sentido y en el 95 en otro, lo malo es que en el angulo 94 no llega a parar del todo, se mueve pero mucho mas despacio, como a "trompicones"
Ayudanos a crear el mapa de usuarios de Spain Labs!!!
  Responder
#11
Beticocc escribió:Acabo de probar y uno de ellos cambia de sentido en el angulo 94, es decir, en el angulo 93 gira en un sentido y en el 95 en otro, lo malo es que en el angulo 94 no llega a parar del todo, se mueve pero mucho mas despacio, como a "trompicones"

Para ajustar más el valor, ya que Servo.write() solo admite grados de 1 en 1, puedes hacerse con Servo.writeMicroseconds().
Aquí se explica como funciona: http://arduino.cc/es/Reference/ServoWriteMicroseconds
Con microsegundos puedes ajustar más el valor.

Saludos
  Responder
#12
Ya estan calibrados.
No se si las resistencias,su valor, tendran que ver a la hora de parar el servo, ya que los dos servos se me paran exactamente en el mismo angulo
Ayudanos a crear el mapa de usuarios de Spain Labs!!!
  Responder
#13
Hace tiempo hice un robot por 10$ que también se basaba en trucar dos servos de 9g. Lo pongo aquí por si a alguien le interesa:

http://www.sistemasorp.es/2012/09/05/l-i...bot-de-10/
  Responder


Posibles temas similares…
Tema Autor Respuestas Vistas Último mensaje
  ¿Quieres aprender a diseñar PCB's? Tutorial dentro sifou 3 839 28-10-2021, 09:15 PM
Último mensaje: dcp1985
Video APORTE TUTORIAL DOMOTIZAR PERSIANAS kuadri 2 1,111 22-11-2020, 12:28 AM
Último mensaje: kuadri
  [SIMULACIÓN] Tutorial de LTspice en español sifou 2 2,145 23-03-2020, 03:47 PM
Último mensaje: sifou
  [TUTORIAL/GUIA] Soldadura SMD fmalpartida 9 3,216 13-10-2014, 10:04 PM
Último mensaje: Triggerr