lunes, 13 de febrero de 2012

Motor Shield LD

Motor Shield LD
La placa de puente H y sensores denominada "Motor LD", la cual es compatible con las tarjetas de sistemas embebidos "Arduino" en sus modelos Duemilanove, Uno y Mega, y "Pinguino" en sus modelos PicUNO, Gentoo U28 y Gentoo U40.
Esta placa está diseñada para ser utilizada de inmediato en un robot pequeño, usando motores con un consumo máximo de 1A. Se basa en un Puente H de la Empresa Texas Instruments, SN754410NE, que contiene dos canales, cada uno con 3 bits de control, dos para dirección y para PWM, control por anchura de pulso. Para facilitar el control de los motores, y economizar bits de salida/entrada de nuestra tarjeta de control, Arduino o Pinguino, la placa "Motor LD" tiene implementado un circuito el cual sólo necesita un bit para controlar la dirección y otro para controlar la velocidad de cada motor. Siendo las salidas digitales 13 y 11 para el motor "MT1" y las salidas 12 y 10 para el motor "MT2". Cabe mencionar que la salida 13 y 12 son los bits de dirección del motor "MT1"  y  "MT2" respectivamente, las salidas 11 y 10 son los bits de PWM de los motores "MT1" y  "MT2" respectivamente.
A continuación se presenta el diagrama esquemático de la placa "Motor LD".
Diagrama Esquemático Shield Motor LD
Para conectarlo a la placa Arduino simplemente se introduce el shield Motor LD, conexión entre conectores hembras del Arduino y conectores macho de shield, fijándose que coincidan los terminales pin a pin. Para hacer la prueba de los motores, conecte los motores a los terminales MT1 y MT2 y la alimentación del puente H. Es recomendable utilizar fuentes independientes para el circuito lógico y el circuito de potencia, es por ello que en la tarjeta no se toma voltaje del sistema embebido, sino se requiere de otra fuente.
Conectado y energizado el sistema, descargue el siguiente código al Arduino:

/*
Prueba de motores con Shield Motor LD
por CIMecatrónica
 */
int pwmtoder = 10;
int mtoder = 12;

int pwmtoizq = 11;
int mtoizq = 13;

void adelante();
void atras();
void giroderecha();
void giroizquierda();
void derecha();
void izquierda();
void detenido();

void setup() {
  pinMode(pwmtoizq, OUTPUT);  
  pinMode(mtoizq, OUTPUT);  
 
  pinMode(pwmtoder, OUTPUT);  
  pinMode(mtoder, OUTPUT);

  digitalWrite(pwmtoizq, HIGH);
  digitalWrite(mtoizq, LOW);

  digitalWrite(pwmtoder, HIGH);
  digitalWrite(mtoder, LOW);

}

void loop() {
    adelante();
    delay(1500);
 
    atras();
    delay(1500);

    derecha();
    delay(1500);

    izquierda();
    delay(1500);
 
    detenido();
    delay(1500);
}


void adelante()
{
  digitalWrite(pwmtoder, HIGH);
  digitalWrite(pwmtoizq, HIGH);
  digitalWrite(mtoder, LOW);
  digitalWrite(mtoizq, HIGH);
}

void atras()
{
  digitalWrite(pwmtoder, HIGH);
  digitalWrite(pwmtoizq, HIGH);
  digitalWrite(mtoder, HIGH);
  digitalWrite(mtoizq, LOW);  
}

void giroderecha()
{
   digitalWrite(pwmtoder, HIGH);
  digitalWrite(pwmtoizq, HIGH);
  digitalWrite(mtoder, HIGH);
  digitalWrite(mtoizq, HIGH);
}

void derecha()
{
  digitalWrite(pwmtoder, LOW);
  digitalWrite(pwmtoizq, HIGH);
  digitalWrite(mtoder, HIGH);
  digitalWrite(mtoizq, HIGH);
}

void giroizquierda()
{
  digitalWrite(pwmtoder, HIGH);
  digitalWrite(pwmtoizq, HIGH);
  digitalWrite(mtoder, LOW);
  digitalWrite(mtoizq, LOW);
}

void izquierda()
{
  digitalWrite(pwmtoder, HIGH);
  digitalWrite(pwmtoizq, LOW);
  digitalWrite(mtoder, LOW);
  digitalWrite(mtoizq, LOW);
}

void detenido()
{
  digitalWrite(pwmtoder, LOW);
  digitalWrite(pwmtoizq, LOW);
}

En el programa están realizadas las funciones para los movimientos básicos de un Robot. Fíjese que al iniciar el programa su robot avance hacia adelante, si alguno de los motores gira en sentido contrario, invierta los cablecillos desde el terminal. En la siguiente entrada se publicará más ejemplos usando la placa "Motor LD" y un robot
El shield para motor y sensores se encuentra a la venta en la Electrónica de la 60 Norte, en Mérida, Yucatán, visíte su página web: http://www.electronica60norte.com/

No hay comentarios:

Publicar un comentario