Arduino: Servos de Rotación Continua

por Dejar comentario

duemilanove

Extisten diferentes opciones para el desplazamiento de robots: Motores Paso a Paso, Motores DC, Servos de Rotación Contínua…

En nuestro caso hemos utilizado los Servos de Rotación Contínua dado que poseen su propia circuitería y permiten ser utilizado directamente con cualquier microcontrolador por PWM sin necesidad de componentes externos.

Conectaremos la señal de cada Servo a un Pin PWM (9 y 10 en el ejemplo), utilizando el siguiente Código:

#define SERVO1 9
#define SERVO2 10
#define CEN 0

void setup()
{
}

void loop()
{
throttle(100,-100);
}

// Maneja el avance o retroceso, recibe la velocidad desde -100 a 100 %
void throttle(int Mot1, int Mot2)
{
  analogWrite(SERVO1,(Mot1> CEN || Mot1<-CEN) ? map(-Mot1,-100,100,135,225):0);
//Giro al contrario
  analogWrite(SERVO2,(-Mot2> CEN || -Mot2<-CEN) ? map(Mot2,-100,100,135,225):0);
}
Comparte el post:
  • Meneame
  • Bitacoras.com
  • BarraPunto
  • RSS
  • email
  • PDF
  • Facebook
  • Twitter
  • Digg
  • Google Bookmarks
  • Wikio
  • Reddit
  • Technorati

Post to Twitter

Entradas relacionadas:

Hardware, Robótica marzo 15th 2009

2 comentarios en “Arduino: Servos de Rotación Continua”

  1. Jose Manuel Says:

    Muy bien,el codigo a sido probado en una placa seeduino,y una motors shield v1.
    muchas gracias
    saludos
    Jose Manuel Arrabal

  2. Servos de rotación continua en Arduino. | /home/darkomen Says:

    [...] Bloqueamos el potenciómetro para que se quede fijo en esta posición Si no realizamos esto, el motor sólo girará hacía un lado, perdiendo la inversión de giro que queremos. Una vez que ya tenemos nuestro servo operativo, podemos usar el código que nos facilita Discovery en su blog: [...]

Deja un comentario