favorite_border favorite

MD22 controlador motores DC doble 5 + 5 Amperios

S310107
MD22

MD22 es un potente circuito controlador dos motores de corriente continua de hasta 24 V y 5 A por cada uno, por lo que resulta ideal para controlar los motores de cualquier robot pequeño o mediano.

Este circuito tiene múltiples interfaces, incluyendo bus I2C, modo servo rc, modo pulso PWM y modo analógico 0- 5 V facilitando la comunicación con cualquier microprocesador. Tiene alimentación única de 5 voltios.

Este regulador es ideal cuando se requiere un control preciso y suave de los motores.

95.95 €
favorite_border favorite
favorite_border favorite

Más información

El MD22 es un controlador para dos motores de corriente continua de mediana potencia, diseñado para proporcionar más potencia que los controladores basados en un único circuito integrado. Las principales características son la facilidad de uso y la flexibilidad.

Los 15V de la tensión de control del MOSFET se genera en el mismo circuito mediante una bomba de carga, por lo que solo se requieren 5V a 50 mA para la alimentación del circuito, además de la alimentación del motor que esta comprendida entre los 5 y los 24V dependiendo de los requerimientos del motor.

El módulo puede controlarse de 5 formas diferentes:

  1. Modo bus I2C. Hasta ocho módulos MD22 con direcciones seleccionables mediante micro interruptores y 4 modos de funcionamiento incluyendo el control de dirección (modo diferencial).
  2. 2 entradas analógicas independientes de 0V - 2.5V - 5V. 0V un sentido, 2,5V parado y 5V la otra dirección.
  3. Una entrada analógica 0v-2,5v-5v. para el control de la velocidad y la otra para el control de dirección.
  4. Modo RC de canales independientes. Para controlarlo directamente desde un receptor de radio control estándar. Cada canal controla un motor de forma independiente.
  5. Modo RC con control de dirección. Un stick controla la velocidad, mientras que el otro controla la dirección.

ATENCIÓN: ESTA PÁGINA ES UNA TRADUCCIÓN DE LA PÁGINA ORIGINAL DEL FABRICANTE Y CONTIENE TODA LA DOCUMENTACIÓN EXISTENTE SOBRE EL CIRCUITO CONTROLADOR DE MOTORES MD22.

Conexiones del Motor

Recuerde utilizar siempre cables con una sección adecuada a la potencia del motor para hacer las conexiones del motor y de la batería. Igualmente es IMPRESCINDIBLE COLOCAR UN FUSIBLE EN EL CABLE QUE SE CONECTA EN EL POSITIVO DE LA BATERÍA O FUENTE DE ALIMENTACIÓN DEL MOTOR. NO IGNORE ESTA ADVERTENCIA YA QUE LAS ALTAS CORRIENTES QUE SE MANEJAN PUEDEN SER PELIGROSAS Y CAUSAR UN INCENDIO EN CASO DE CORTOCIRCUITO.

Conexiones del Control

Las conexiones indicadas en el circuito impreso son las correspondientes al modo I2C del controlador MD22. para las conexiones de los otros modos de funcionamiento, lea el texto más adelante.

Detalle de las conexiones de la electronica del controlador MD22

Modos de Funcionamiento

El circuito controlador de motores MD22 tiene 5 modos diferente de funcionamiento que son:

Modo Diferencial

Además de controlar dos motores de manera independiente, el controlador MD22 es capaz de controlar dos motores que están colocados de forma opuesta uno respecto al otro y que por lo tanto controlan el movimiento hacia la izquierda o la derecha dependiendo del motor que este girando. En este modo, el MD22 puede utilizar un canal para controlar la velocidad y el otro para controlar la dirección.

Modo Analógico 0V - 2,5V - 5V

En este modo, los motores son controlados independientemente por dos señales analógica de 0 a 5 voltios en la entrada SCL para el motor 1 y la entrada SDA para el motor 2. En este modo 0V es el máximo en un sentido, 2,5V es la posición central de reposo o posición de parada y 5V corresponde al máximo en el otro sentido.

Hay una pequeña zona muerta de un 2,7% de ancho en la zona central, para proporcionar una zona de apagado estable. La impedancia de entrada es de 47K.

Modo Analógico 0V - 2,5V - 5V con control de Dirección.

En este modo el motor la velocidad de ambos motores es controlada por una señal analógica de entre 0V y 5V conectada a la entrada SCL y la dirección se controla mediante una entrada de =V y 5V en la entrada SDA. El control de la velocidad es igual que en el modo anterior, mientras que el control de giro corresponde a 2,5V para ir recto y 0v y 5v para girar a izquierda y derecha respectivamente. También una zona muerta de un 2,7% de ancho en la zona central, para proporcionar una zona neutral estable en ambos canales.

Modo RC (radio control)

Este modo permite la conexión directa a un receptor de radio control estándar., es decir que se controla como si fuera un servo. La mayoría de los receptores comerciales trabajan con un paquete de baterías de 4,8 a 6V y pueden ser alimentados por los mismos 5V empleados para alimentar el circuito controlador de motores MD22. El pulso de control (amarillo en muchos servos) del receptor debe conectarse al terminal SCL para el motor 1 y al terminal SDA para el motor 2. Conecte el cable de alimentación (rojo) del receptor al terminal de +5V y el cable de tierra (negro) al terminal de tierra del modulo controlador.

La salida del receptor es un pulso alto de 1,5 ms de ancho cuando el joystick esta en el centro. El rango de trabajo del MD22 proporciona un control total en el rango desde 1mS hasta los 2mS siendo 1,5mS la zona central correspondiente a la parada. Hay una zona muerta de 7uS entorno a la zona central para facilitar la posición de parada. El control de centrado del radio transmisor deberá ajustarse de forma que el motor este parado cuando la palanca de control este en su posición de reposo.

Modo RC con Control de Dirección

Este modo es similar al Modo RC, pero en esta ocasión se utiliza un canal conectado a la entrada SCL para controlar la velocidad y el sentido de giro de ambos motores simultáneamente, mientras que el otro canal se conecta a la entrada SDA para controlar la dirección mediante el control diferencial de ambos motores.

Modo I2C

El modo I2C permite conectar el circuito controlador MD22 a controladores como el Basicx24, el OOPic y el Basic Stamp por citar solo unos cuantos o bien a microcontroladores como PIC, 8051, H8, etc. Consulte la sección de ejemplos para ver como conectar el modulo a alguno de estos controladores.

Diagrama de señales del protocolo I2C en el circuito controlador MD22

El protocolo de comunicación I2C del circuito controlador MD22 es el mismo que el empleado en las conocidas eeprom como la 24C04. Para leer uno o mas registros del MD22, primero se envía un bit de comienzo seguido de la dirección. del modulo (0XB0 es la dirección base del modulo) con el bit de lectura/escritura puesto a cero. Después se manda el numero del registro que desea leer seguido de nuevo de un bit de comienzo y otra vez la dirección del modulo con el bit lectura/escritura puesto a 1(0Xb1). Ahora puede leer uno o mas registros.

Registros del Modo I2C

El MD22 tiene 8 registros numerados del 0 al 7 tal y como se muestran en la siguiente tabla.

Dirección Registro Nombre LecturaR / EscrituraW Descripción
0 Modo R/W Modo de funcionamiento (ver mas adelante)
1 Velocidad1 R/W Velocidad Motor Izquierdo (modo 0,1) o Velocidad (modo 2,3)
2 Velocidad2/Giro R/W Velocidad Motor Derecho(modo 0,1) o Giro (Modo 2,3)
3 Aceleración R/W Aceleración para I2C
4 Sin Usar Lectura Devuelve 0
5 Sin Usar Lectura Devuelve 0
6 Sin Usar Lectura Devuelve 0
7 Versión Lectura Número de Revisión del Software

Registro de Modo

El registro de modo tiene por defecto un valor 0 y selecciona el modo de funcionamiento de acuerdo a los siguientes valores:

0 Cuando el registro tiene un valor 0 el significado de los registros de velocidad 1 y 2 tienen un un significado literal de 0 para atrás todo, 128 para parada y 255 para adelante todo.

1 Este modo es similar al modo 0 pero en este caso el valor de los registros de velocidad se tratan como valores con signo, es decir que -128 corresponde a atrás todo, 0 es parado y 128 es todo adelante.

2 Escribiendo un 2 en el registro de modo se consigue que el registro velocidad 1 controle la velocidad de ambos motores y el registro velocidad 2 controle el giro. El rango se encuentra entre 0 en un extremo, 128 que es el valor central y 255 que es el otro extremo.

3 El modo 3 es similar al modo 2, pero los valores son considerados como valores con signo, por lo que el rango va desde -128 para un extremo, 0 para el centro y 128 para el otro extremo.

Registro de Velocidad 1

Dependiendo del modo de funcionamiento, este registro afecta a la velocidad de uno o ambos motores. Cuanto mayor sea el valor escrito, mas potencia se aplica al motor.

Registro de Velocidad 2 / Giro

En los modos 0 y 1 este registro funciona de forma similar al Registro de Velocidad 1, mientras que en los modos 2 y 3 se convierte en el registro de control del giro y entonces el valor del registro de velocidad 1 es combinado con el contenido de este registro para realizar el giro.

Registro de Aceleración

Este registro establece el ratio a la que el motor acelera o desacelera desde su velocidad actual hasta la velocidad indicada en el Registro de Velocidad. Los valores admitidos son de 0 a 255 y cuanto mayor sea este valor menos tiempo tardara el motor en alcanzar la velocidad indicada. Escribiendo un 255 en este registro, se consigue la máxima aceleración. El valor introducido controla la velocidad a la que el controlador varia la velocidad entre la velocidad actual y la introducida en el registro de velocidad. Con el valor de 0 se cambia la velocidad (acelera) a su mínima velocidad tomando cada paso 16,4 ms. Cuando el registro de aceleración esta en su máximo valor de 255 (valor por defecto) el controlador cambia la velocidad cada 64 uS. El calculo del tiempo en segundos se hace mediante la siguiente formula:

Tiempo = (256-Registro de aceleración) * 256

Por ejemplo:

Reg Acel Tiempo/paso Velocidad Actual Nueva Velocidad Pasos Tiempo de Aceleración
0 16.4ms 0 255 255 4.18s
20 15.1ms 127 255 128 1.93s
50 13.2ms 80 0 80 1.06s
100 10ms 45 7 38 0.38s
150 6.8ms 255 5 250 1.7s
200 3.6ms 127 0 127 0.46s
255 64us 65 150 85 5.4ms

 

Registro de Versión del Software

La lectura de este registro devuelve el valor del software del microcontrolador PIC16F873 que lleva el MD22. La versión actual a la fecha del 22 de Abril del 2004 es la 1.

Modos de Funcionamiento

Hay cuatro micro interruptores numerados del 1 al 4 que se utilizan para establecer el modo de funcionamiento y en su caso la dirección del modulo dentro del bus I2C según se muestra en la siguiente tabla.

 

Modo 1 2 3 4
Dirección. Bus I2C 0xB0 On On On On
Dirección. Bus I2C 0xB2 Off On On On
Dirección. Bus I2C 0xB4 On Off On On
Dirección. Bus I2C 0xB6 Off Off On On
Dirección. Bus I2C 0xB8 On On Off On
Dirección. Bus I2C 0xBA Off On Off On
Dirección. Bus I2C 0xBC On Off Off On
Dirección. Bus I2C 0xBE Off Off Off On
0v - 2.5v - 5v Analógico On On On Off
0v - 2.5v - 5v Analógico + Dirección Off On On Off
Radio Control On Off On Off
Radio Control + Dirección Off Off On Off

Las demás combinaciones no son validas y si se establecieran el led parpadeará y no ocurrirá nada mas. Fíjese que las direcciones I2C corresponden a los 7 bits superiores. El bit 0 se emplea como bit de lectura / Escritura (R/W). De esta forma las direcciones 0XB0/0XB1 corresponden a la misma dirección. pero de escritura y lectura respectivamente. El rango de direcciones es el mismo utilizado en el controlador MD22.

Los interruptores solo se leen durante la puesta en marcha, por lo que no deben realizarse cambios en los mismos mientras este conectado, ya que tampoco tendría ningún efecto.

Detalle de los micro interruptores de seleccion de modo del controlador MD22

Utilización del circuito controlador de motores MD22

El MD22 puede manejar grandes corrientes, por lo que es necesario tomar algunas precauciones al hacer el cableado. Es muy importante evitar que la corriente del motor retorne al circuito lógico a través de la masa. Esto quiere decir que no asuma que por el hecho de que se alimenta con una batería., las masas del circuito y del motor van juntas. Siempre que sea posible utilice dos baterías distintas para alimentar el motor y la electrónica. Tampoco conecte la masa de las baterías juntas, ya que esto se hace en el propio circuito impreso del controlador MD22, y si lo hiciera crearía un bucle de retorno de tierra con los consiguientes problemas.

Una de las formas mas sencillas de conectar el circuito MD22 con un controlador programable en Basic como el BasicX24, es utilizar el Modo RC, para controlarlo como si fuera un servo. Para ello lo primero que tiene que hacer es seleccionar este modo de funcionamiento antes de conectar la alimentación, con la ayuda de los micro interruptores que se encuentran en el lateral del circuito. Ahora todo lo que queda por hacer es mandar la orden pulse out para simular los pulsos de control de los servos y controlar los motores. El pulso tiene que variar entre 1ms y 2mS, siendo 1,5 ms la posición central. A diferencia de los servos que necesitan que los pulsos sean repetidos cada 20 ms, el circuito MD22 solo necesita un nuevo pulso cuando se quiere cambiar la velocidad, por lo que si no se envían mas pulsos, simplemente se continua con la misma velocidad. Los valores de los tiempos varían en función de los microcontroladores por lo que se muestra en la siguiente tabla algunos de los valores correspondientes a los microcontroladores mas conocidos.

Controlador Resolución de Pulseout Atrás Todo Parado Adelante Todo Orden de ejemplo para Parado
BS2 2uS 500 750 1000 pulsout mot1, 750
BS2e 2uS 500 750 1000 pulsout mot1, 750
BS2sx 0.8uS 1250 1875 2500 pulsout mot1, 1875
BS2p 0.8uS * 1250 1875 2500 pulsout mot1, 1875
Atom 1uS 1000 1500 2000 pulsout mot1, 1500
BX-24 1.085uS 922 1382 1843 call pulseout(mot1, 1382, 1)