Si además quieres enviarnos un Artículo para el Blog y redes sociales, pulsa el siguiente botón:
Pues eso, que llevo toda la mañana intentando controlar un dichoso servo con una placa de arduino y no se que moñas pasa que no soy capaz de que haga lo que yo quiero. Básicamente el servo se mueve entre 0º-90º como le da la gana, a saltos, se para sigue...
El servo en cuestión es este: http://www.unitedhobbies.com/UNITEDHOBB ... dProduct=2
Las especificaciones dicen:
Torque Rate: 11.2KG
Speed: 3.2ns
Also known as the Towerpro mg995
Input: 6v
size: 40mm*38mm*20mm
weight: 48g
speed (4.8v): 0.17sec/60degrees
speed (6.0v): 0.13sec/60degrees
stall torque(4.8v): 13kg/cm
stall torque(6.0v): 15kg/cm
En principio se supone que son compatibles 100% con Futaba y JR (eso he leido por ahí), por lo que los tiempos según la página de x-robotics, van de 0,8-2,2ms en el caso de los Futaba y una frecuencia de 50Hz (20ms).
Ahora mismo tengo conectados los dos cables de alimentación (marrón y rojo) directamente a 5 baterías de 1'2V en serie (6V) y el pin de señal (naranja) al pin 7 digital del arduino. El código que estoy usando es este:int servoPin = 7;
int pulseHigh = 800;
void setup () {
pinMode(servoPin, OUTPUT);
}
void loop () {
digitalWrite(servoPin, HIGH);
delayMicroseconds(pulseHigh);
digitalWrite(servoPin, LOW);
delayMicroseconds(20000-pulseHigh);
if (pulseHigh == 2200)
pulseHigh = 800;
else
pulseHigh += 100;
}
¿Puede alguien decirme que hago mal?
Se me acurre una cosa... has unido las masas?
Creo que no estoy haciendo esto bien. Al principio probé a tomar la alimentación de los 5V que da la placa Arduino, pero parecía que se reiniciaba por falta de potencia (alimento la placa con un transformador de 9V) y por eso decidí alimentar la placa con el transformador y el servo con 5 pilas de 1'2V. ¿Cómo puedo unir masas en este caso?
Saludos!
FJ_Sanchez, conecta un cable desde el negativo de la pila (y del servo) a uno de los pines GND del arduino. (yo usaria los de la parte inferior que tienes las alimentaciones directamente)