Go Down

Topic: Problemas con servos (Read 1 time) previous topic - next topic

jvazquez

Hola a todos!

Estoy haciendo un vehiculo explorador que tiene una base metalica con dos motores DC en la parte trasera y un servo en la parte delantera con una rueda central que hace que gire hacia el lado derecho/izquierdo o no gire y se quede de manera central. Con el tema de las ruedas traseras no tengo ningun problema porque cuando quiero que gire hacia un lado o hacia otro, le bajo la velocidad con la sentencia "analogwrite(motorX, valor)". El problema esta con el servo, que cuando mano la señal para que gire en un sentido u otro, se bloquea todo el codigo. El codigo que llevo incorporado es uno para el GPS+SD+ultrasonido, mas el que he comentado de controlar la velocidad. He probado con alimentaciones externas para cada cosa y sigue sin ir, y problema de programacion no es porque siempre pasa cuando introduzco el attach para el servo.

Muchas gracias chicos!

Javier

Cheyenne

Recuerda que al usar la librería servo se deshabilita el pwm en los pins 9 y 10. En la Arduino Mega los pins que se deshabilitan son el 11 y 12. No sé si la cosa puede venir por aquí.

jvazquez


Recuerda que al usar la librería servo se deshabilita el pwm en los pins 9 y 10. En la Arduino Mega los pins que se deshabilitan son el 11 y 12. No sé si la cosa puede venir por aquí.


Hola Cheyenne, estoy utilizando la Arduino Mega para Android. Utilizo los pines 5 y 6 porque tengo dos pero solo utilizo un servo porque como el problema no lo soluciono... Pero vaya uso el 5 o el 6.

jvazquez

Hola a todos de nuevo!

Mirad he borrado todo el codigo y estoy trabajando con dos servos exclusivamente, a ver si analizando el problema asi, se puede solucionar. Quiero poner dos servos a 90 grados, pero que no se muevan como me esta ocurriendo. El codigo es el siguiente:

#include <Servo.h>

int direccion = 6;
int radar = 5;
Servo servoDireccion, servoRadar;
void setup()
{
  servoDireccion.attach(direccion);
  servoRadar.attach(radar);
}

void loop()
{
  servoDireccion.write(90);
  delay(100);
  servoRadar.write(90);
  delay(100);
}

Como se puede observar los dos servos tendrian que estar a 90 grados y bien quietecitos, pues lo unico que hacen es coger y moverse como si un garbanzon esta en la boca de un viejo...

luvbotg

Buenas, te comento que he probado tu sketch en un arduino UNO con dos servos 9g y funcionaron correctamente, inclusive le agregué unas lineas mas para que cargue otros ángulos y funciono correctamente en todos los casos. Saludos

Jppv

Hola amigo, a mi me dieron problemas unos servos en una conexion, y el problema estaba en que generaban induccion los motores provocando ruido, entonces prueba poniendo unos diodos para que el voltaje que se genera no regrese.
Y un capacitor de 470 micro faradios en paralelo con la fuente, ten cuidado al conectarlo si es electrolitico, porque puede explotar si le inviertes la polaridad.

Go Up