Go Down

Topic: Ayuda con proyecto de servomotores (Read 1 time) previous topic - next topic

satelite

Hola otra vez, estoy integrandome poco a poco en el mundo de arduino, hasta en junio empezare con un libro de inicio de c.

Pero bueno vamos al tema...Quiero realizar este proyecto con servomotores y Arduino.

http://www.youtube.com/watch?v=IaCsekEYrqs&feature=BFa&list=PLEE70E9534221DDB4

Tengo varias preguntas que se me vienen a la cabeza

¿hay algun tipo de servomotor especial que sea de 360º especificamente?

o es unicamente un servomootor normal sin la pestaña.

¿Alguna idea para la programacion?Por que segun entiendo estos servomotores se controlar por PWM segun el ancho que le del pulso que le enviemos al microcontrolador del servo este se pone en una posicion o en otra, y despues tenemos el control de velocidad del servo...que aqui ya me lio un poco.

¿Como podria mezclar el control de velocidad del servomotor con el control de posicion del mismo?


O solo podria controlar velocidad o posicion?
Muchas gracias un saludo!

fm

#1
May 02, 2012, 08:42 pm Last Edit: May 03, 2012, 02:13 am by fm Reason: 1
Hay una librería muy apañada en la distribución del IDE Arduino "Servo" que funciona muy bien. Esta librería se encarga de hacer toda la generación de señal por ti.

Para hacer que varíe la velocidad del servo, es muy dependiente de la electrónica del mismo. De todas formas, lo que si se puede hacer es ir incrementando poco a poco la posición a la que quieres llevar el servo. Por ejemplo, llevar el servo de 90º a 100º, simplemente incluirías en un bucle con retardos, el incremento de la posición.
Code: [Select]

Servo myServo ( 9 );  // Crear un objeto servo asociado al pin 9

loop ()
{
  for ( uint8_t i = 90; i <= 10; i++ )
  {
     myServo.write ( i ); // i - indica posición en grados del servo
     delay ( 100 );         // espera 100 ms antes de variar la posición
  }
}

Jugando con el delay se puede hacer fácilmente.
   

JRodrigo

#2
May 03, 2012, 01:55 am Last Edit: May 03, 2012, 01:58 am by JRodrigo Reason: 1

[...]
¿hay algun tipo de servomotor especial que sea de 360º especificamente?

o es unicamente un servomootor normal sin la pestaña.
[...]


El tema de los servomotores es muy amplio, voy a intentar resumir:

Yo conozco dos tipos de servomotores, los de modelismo ( Wiki ) y los de ámbito industrial que seguramente también se puedan controlar con arduino.

Normalmente los servomotores giran 180º, pero también los hay de 360º comprados o que te los modifiques tu, pero al hacerlos de giren continuamente pierdes el control de la posición y ganas el control de velocidad.

Para solucionar lo de la posición puedes utilizar un encoder ( Wiki ) en el eje ya sea un servomotor o un motor normal (lo que seguramente tengan los del vídeo).

Un saludo!

fm

Y si en vez de usar un servo usas un motor paso a paso?
   

josemanu

Creo que estas confundiendo servomotores. Los del video son servomotores industriales ( pueden dar vueltas completas, ir a una determinada posición, etc, son chulos pero caros). Aquí cuando hablamos de servos nos referimos a servos de modelismo.

Quote
¿hay algun tipo de servomotor especial que sea de 360º especificamente?


Si, hay siervos de modelismo de 360 grados ...y de 3'5 vueltas, aunque los mas "normales" son los de 180 grados y los de rotación continua.

Quote
¿Como podria mezclar el control de velocidad del servomotor con el control de posicion del mismo?


Puedes empezar por aqui[url] y por [url=http://www.ardumania.es/apendice-del-ejercicio-3-senales-de-control-rc/]aqui[url]

Es buena la idea de FM de que pruebes con motores paso a paso ...pero de eso aun no tengo tuto, aunque esta en preparación.

Un saludo

Go Up