1. Do not share user accounts! Any account that is shared by another person will be blocked and closed. This means: we will close not only the account that is shared, but also the main account of the user who uses another person's account. We have the ability to detect account sharing, so please do not try to cheat the system. This action will take place on 04/18/2023. Read all forum rules.
    Dismiss Notice
  2. For downloading SimTools plugins you need a Download Package. Get it with virtual coins that you receive for forum activity or Buy Download Package - We have a zero Spam tolerance so read our forum rules first.

    Buy Now a Download Plan!
  3. Do not try to cheat our system and do not post an unnecessary amount of useless posts only to earn credits here. We have a zero spam tolerance policy and this will cause a ban of your user account. Otherwise we wish you a pleasant stay here! Read the forum rules
  4. We have a few rules which you need to read and accept before posting anything here! Following these rules will keep the forum clean and your stay pleasant. Do not follow these rules can lead to permanent exclusion from this website: Read the forum rules.
    Are you a company? Read our company rules

arduino uno + x-sim = tacometro con motor pap

Discussion in 'SimTools compatible interfaces' started by nicko_esx, Jul 8, 2012.

  1. nicko_esx

    nicko_esx Member

    Joined:
    May 28, 2012
    Messages:
    37
    Location:
    argentina
    Balance:
    696Coins
    Ratings:
    +16 / 0 / -0
    My Motion Simulator:
    Arduino
    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/YaB ... 80139142/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. :blush:
    disculpen uds la des prolijidad del video.

    el video:
    http://www.youtube.com/watch?v=3smJESE051g

    el codigo:
    Code:
    #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. :hi:
  2. astro

    astro New Member

    Joined:
    Jun 6, 2012
    Messages:
    16
    Location:
    Argentina
    Balance:
    25Coins
    Ratings:
    +0 / 0 / -0
    Hola nicko_esx,

    Muy bueno, creo que tendrías que poner un optoacoplador o un simple interruptor cuando la aguja está en el cero y en el máximo. Entonces cuando inicias el programa, primero haces que se mueva para el máximo y al mínimo hasta encontrar el cero y así la tenes calibrada. Un motor pap no sabe donde está parado, por eso las impresoras mueven los cabezales al encender buscando optoacopladores, para asegurarse que están en la posición de inicio. También lo podes ver en instrumentos de autos:
    http://www.youtube.com/watch?v=u6LFT_MqlaU&feature=related
    http://www.youtube.com/watch?v=Qy1kCwx1uMY&feature=related

    Podrías disparar esa secuencia de inicio en el arduino con el profiler, poniendo algo en Datapacket sent at simulatorstart y simulatorstop.
    E:; Si R=999 ejecutas la calibración para dejarla en cero.

    Además que creo que la mayoría de los tacómetros tienen topes.
    Podes poner alfileres, les pintas solo las cabezas de negro para que no quede feo y los usas de contacto con la aguja. Entonces ya tenes dos contactos y el comun q es la aguja.

    Suerte!
  3. nicko_esx

    nicko_esx Member

    Joined:
    May 28, 2012
    Messages:
    37
    Location:
    argentina
    Balance:
    696Coins
    Ratings:
    +16 / 0 / -0
    My Motion Simulator:
    Arduino
    hola amigo. gracias por la idea.. desde que lo termine que venia pensando como solucionar el tema del descalibrado...
    tambien estoy pensando en cambiar el motor. este es de solo 48 pasos. por eso se lo ve brusco...voy a buscar un viejo disco rigido que tenia en casa....
    estaba pensando hacer el fondo del tacometro con un acrilico de CD y plotearlo :D.. en este mismo fijate los topes y los interruptores :D
    luego te comento como voy...