Go Down

Topic: arduino uno + x-sim = tacometro con motor pap (Read 2601 times) previous topic - next topic

nicko_esx

Jul 08, 2012, 11:32 pm Last Edit: Jul 08, 2012, 11:48 pm by nicko_esx Reason: 1
hola gente
hoy quiero compartir con uds un nuevo avance con arduino + x.sim
esta vez es un tacometro con un motor pap y el IC toshiba TD62003AP (en reemplazo del UNL2003A). el motor pap es unipolar de 6 cables, obtenido de una vieja impresora.
el trabajo esta inspirado en el post de herctrap del foro de arduino.cc
http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1280139142/0

puedo decir que todavia falta depurar el proyecto. los movimientos no son suaves. el motor ocacionalmente al ser conectado da pasos innecesarios, lo que provoca tener que acomodar la aguja nuevamente   . es mi primera vez con motores pap. seguramente con el tiempo ira mejorando.  
disculpen uds la des prolijidad del video.

el video:
http://www.youtube.com/watch?v=3smJESE051g
el codigo
Code: [Select]

#include <Stepper.h>
#include <Servo.h>
#define STEPS 48

Stepper stepper(STEPS,8, 9, 10, 11);


int rpm;
int i;
int previous_potion = 0;
int rotate;
int led = 13;
char kind_of_data;

void setup(){

Serial.begin(115200);

stepper.setSpeed(300);

pinMode(led, OUTPUT);

}

void loop()
{

while(Serial.available() > 0)
{

  kind_of_data = Serial.read();
  if (kind_of_data == 'R' ) Read_Rpm();
 
}


}

void  Read_Rpm(){

delay(2);
int Rpm100 = Serial.read()- '0';
delay(2);
int Rpm10 = Serial.read()- '0';
delay(2);
int Rpm1 = Serial.read()- '0';

int rpm = 100*Rpm100 + 10*Rpm10 + Rpm1;
rpm = map(rpm,0,255,0,-48);
 rotate = rpm - previous_potion;
stepper.step(rotate);
previous_potion = rpm;

if (rpm <=-47) {digitalWrite(led,HIGH);
delay(10);
digitalWrite(led,LOW);}

if (rpm >-47) digitalWrite(led,LOW);

}


el esquema de conexion es similar a este ejemplo, solo descartando el potenciometro
http://arduino.cc/es_old/Ejercicios/MotorPasoAPaso
la unica diferencia que yo estoy usando alimentacion externa. por lo que del pin 8 del IC va al GND de la fuente. al igual que el pin GND de arduino al GND de la fuente.
el cable de alimentacion del motor directo al + de la fuente.
seria asi:
pin 1 2 3 4 del IC a los Pines 8 9 10 y 11 respectivamente del arduino.
pin8 del IC a gnd
pin9 10 11 12 del IC a los cables amarillo, naranja, negro y marron del motor pap.
y los dos cables rojos del motor van a 5v.
alimentacion externa por lo que el gnd de arduino tambien al gnd de la fuente.
el led es a pin13 del arduino.

espero les guste. saludos.

grafisoft

Usar un motor pap para esto :smiley-eek:

Aun asi te ha quedao bien, aunque creo que no es el campo de trabajo para un pap

Igor R

grafisoft, pues yo diria que normalmente en los dashboard de los coches van motores PaP....

grafisoft

Pues entonces he metido la pata hasta el fondo :smiley-zipper:


nicko_esx

hola gente. gracias por pasar por el post.
he utilizado el motor pap. puesto que no tiene limite de recorrido o grados... en principio lo habia hecho con un servo.. pero como sabemos tiene 180º. tal vez para un tacometro estaba bien pero para un velocímetro quedaba corto.
este motor pap es de 48 pasos solamente. por eso su movimiento no es tan fluido. en algun momento cuando tenga oportunidad usare uno de ... no se 200 pasos jeje.
bueno gracias nuevamente por pasar. saludos.

Go Up