martes, 13 de marzo de 2012

Control de sentido de giro y velocidad para un motor DC



En este esquema utilizamos la entrada análoga 13 para leer el valor entregado por el potenciometro y así asignar este valor a la salida PWM del terminal 11.
Se lee el estado del pulsador en el terminal 21 configurado como entrada.
Con las salidas 0 y 1 controlamos el sentido de giro del motor.
Se utiliza para este ejemplo el puente H  L298.


#define PIC18F4550
int velocidad;
void setup(){
   pinMode(21,INPUT);
   pinMode(0,OUTPUT);
   pinMode(1,OUTPUT);
}
void loop(){
   velocidad=analogRead(13);
   if(digitalRead(21)){
      digitalWrite(0,LOW);
      digitalWrite(1,HIGH);
      analogWrite(11,velocidad);
   }else{
      digitalWrite(0,HIGH);
      digitalWrite(1,LOW);
      analogWrite(11,velocidad);
   }   
}

7 comentarios:

  1. Y ese #define PIC18F4550?, no es necesario.

    ResponderEliminar
  2. En este caso fue necesario, por que se utilizo el terminal 21, nos ha pasado que cuando no utilizamos #define PIC18F4550 no podemos utilizar los puertos que tiene de mas el 18F4550 con respecto al 18F2550.
    También hay un problema con el 18F4550 que hay un bug cuando se declaran los terminales del puerto A como entradas, así que en este ejemplo por eso se recurrió al terminal 21.

    ResponderEliminar
    Respuestas
    1. Entonces supongo que estás usando el beta 9-05 del IDE, en donde se hacían necesarias éstas declaraciones, en el IDE actual (x.2) esto no debería suceder, pero me gustaría que me confirmaras para saber si es algo que se deba corregir.

      Eliminar
  3. para q se utila ese pin 21 como entrada ?

    ResponderEliminar
    Respuestas
    1. El terminal 21 en este ejemplo se utiliza como entrada para cambiar el sentido de giro del motor cuando se presiona el botón pulsador.
      Y el analogRead(13) para regular la velocidad del motor por modulación de ancho de pulso PWM

      Eliminar
  4. ya conecte este circuito y lo hice coorrer en pinguino beta,ahora lo que hice fue conectar dos leds al motor para q se iluminen dependiendo el sentido de giro pero cuando conecto el motor los leds se apagan como si se quedaran sin tension.¿como debe ser esa conexion de los leds con el motor para que no se me apaguen?
    gracias

    ResponderEliminar
  5. Hola, me gusto mucho el circuito para el pinguino, pero lo que no noto muy bien es la parte de atras del integrado L298, ¿cuales son los pines que se usan ya adonde se conectan? Agradeceria mucho que me ayudaras con esto, gracias.

    ResponderEliminar