ImagenImagenImagenImagen
Hazte Socio (El Foro siempre Gratis)
Paga con Tarjetas+ Info www.arde.cc/socios

estudio servo 9g

Foro dedicado a la parte mecánica, impresoras 3D...

Moderador: Junta Directiva

xiculan
Mensajes: 8
Registrado: Sab Oct 30, 2010 12:37 am
Nombre: francesc

estudio servo 9g

Mensajepor xiculan » Mar Ago 22, 2017 7:31 pm

saludos a todos, hacia tiempo que no pasaba por aqui

estoy haciendo un estudio acerca del funcionamiento de los servos tower pro 9g.

Con un arduino y un potenciometro hago mover el servo, pero cuando le pongo carga (una pieza hecha con impresora 3d) le se mueve un poco a tropezones

el programa que utilizo es:

/* 
servo con potenciometro
*/

#include <Servo.h>

Servo myservo; // create servo object to control a servo

int val_max = 138;
int val_min = 72;

int pot_pin = 0; // analog pin used to connect the potentiometer
int servo_pin = 9;

int potval = 0; // variable to read the value from the analog pin
int esc_pot_val;
int servo_val;



void setup()
{
Serial.begin(9600);
myservo.attach(servo_pin); // attaches the servo on pin 9 to the servo object
pinMode(pot_pin , INPUT);
}

void loop()
{
potval = analogRead(pot_pin); //leemos valor del poten (entre 0 i 1023)

servo_val = map(potval, 0, 1023, val_min, val_max); //escalamos el valor para el servo

myservo.write(servo_val); // sets the servo position according to the scaled value

Serial.print("in pot val:");
Serial.print(potval);

Serial.print(" out servo val:");
Serial.println(servo_val);
//delay(500); // waits for the servo to get there
}


entonces la pregunta que me surge es: si muevo el potenciometro rapido, el servo no se mueve suavemente, esto esta causado por la mecanica/calidad del servo?

se podria corregir mediante codigo?

gracias



Ranganok
Usuario Desarrollador
Usuario Desarrollador
Mensajes: 3867
Registrado: Lun Nov 07, 2005 3:10 pm
Ubicación: Barbaros del Valle
Contactar:

Re: estudio servo 9g

Mensajepor Ranganok » Dom Ago 27, 2017 5:18 pm

En principio los datos de los servos hay que refrescarlos cada 20ms es posible que no lo estés haciendo por culpa de la transmisión serie (no he hecho los cálculos).

Deberías separar el envío de datos al servo de la transmisión, por ejemplo usando interrupciones del micro o un PWM (aunque tan bajo no se si llegará).

S2

Ranganok Schahzaman
skiras.blogspot.com

"En igualdad de condiciones la explicación más sencilla es la cierta"


Volver a “Mecánica”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados