Robotica Facil. Robots, kits, circuitos, sensores, motores, etc.. SR1 Robot Multifuncional Robótica Fácil  
Página Principal Novedades Ayuda Ver Carrito Catálogo
Kits Robots Circuitos electrónicos Sensores robotica Motores y servos para robots Ruedas y Orugas para robots
Soportes y hardware Tornillos y separadores Libros robotica Radio Modem, Transmisores de Vídeo Robots Fotograficos
Fuentes de Alimentacion Componentes electrónicos Varios robotica Proyectos de Robotica Tutoriales de Robotica
CONTROLADOR SERIE DE MOTORES DC DOBLE 5 + 5 AMPERIOS MD49 S310116

CONTROLADOR SERIE DE MOTORES DC DOBLE 5 + 5 AMPERIOS MD49. Clic para ampliar

MD49 es un circuito de control de motores de corriente continua mediante bus serie, capaz de controlar hasta 2 motores de 5 amperios a 24V. Este circuito es el mismo empleado en nuestro kit de locomoción S300374 que esta especialmente indicado para robots de 3 a 20 Kg. El circuito no solo controla los motores, sino que además es capaz de controlar los codificadores de cuadrante de los motores (encoders) y actuar en consecuencia, permitiendo al controlador saber exactamente la distancia recorrida y el sentido de la misma. También se puede hacer que el circuito controle la dirección haciendo que los motores se muevan en modo diferencial y que la potencia aplicada a los motores sea proporcional a la energía requerida por el motor para hacer un movimiento. La alimentación única a 24V y el control desde cualquier microcontrolador con salida serie a 5V hacen del MD49 una solución idónea para cualquier robot de mediano tamaño. El circuito esta protegido contra cortocircuitos en los motores, excesos de consumos o sobretensiones que son detectadas y reportadas por el puerto serie. No se puede conectar directamente a un puerto RS232 de ordenador. Velocidad 9600 o 38400, nivel TTL de 5V.

Descripción General

El MD49 es un potente controlador dual de motor serie, diseñado para su uso con nuestro motor EMG49 (MOTOR DC REDUCTOR 24V 122 RPM CON ENCODER EMG49 S330105). Las características más destacadas del circuito son:

  1. Lee los codificadores de cuadrante (encoder) de los motores y proporciona recuentos en los registros para determinar la distancia cubierta y la dirección de la rotación.
  2. Puede controlar dos motores de forma independiente o conjunta. 
  3. La corriente del motor puede leerse a través de los registros.
  4. Utiliza una única fuente de alimentación de 24 voltios.
  5. Permite controlar no solo la velocidad, sino la dirección según el modo de funcionamiento deseado.
  6. La regulación de la aceleración variable y de la potencia es también posible.
  7. La protección contra la salida de cortocircuitos, sobrecorriente y tensión incorrecta. También incluye un indicador LED de error y un byte de error para el diagnóstico de los fallos.

Conexiones

Conexiones del circuito controlador de motores serie MD49

Regulación automática de velocidad

El controlador MD49 puede aumentar de forma dinámica la potencia recibiendo la información de los codificadores según sea necesario. Si no se lograse la velocidad requerida, el controlador MD49 aumentará la potencia de los motores hasta alcanzar la velocidad deseada o hasta que se alcance la salida máxima. La regulación de velocidad puede desactivarse a través del comando REGULATOR DISABLE.

Pausa automática del motor

El controlador MD49 detendrá automáticamente los motores si no hay comunicaciones serie en 2 segundos. Esta función sirve para evitar que su robot pierda el control en caso de que el controlador falle. Esta función puede desactivarse, si se desea, con el comando DISABLE TIMEOUT.

Control del MD49

El módulo MD49 está diseñado para funcionar con un bus serie de nivel TTL (niveles de 5 voltios) con unos baudios de 9600 o 38400 en función de la selección del jumper y admite uno o dos bits de parada. Se ha incorporado un jumper para establecer la tasa de baudios por defecto a 38400. No conecte el módulo MD49 a RS232 directamente; si desea conectarlo a RS232, deberá utilizar un convertidor de nivel de voltaje como un ST232 o MAX232.

Comandos del MD49

Un conjunto de comandos de fácil uso que proporciona todas las funciones que ofrece el módulo MD49. Los comandos se envían con un byte de sincronización de 0 al comienzo y después el comando seguido de cualquier byte de datos. El MD49 responderá entonces si el comando es el adecuado.

Comando Nombre Bytes enviados a MD49 Bytes devueltos por MD49 Descripción
0x21 Velocidad 1 2 1 Devuelve la velocidad de la corriente requerida del motor 1
0x22 Velocidad 2 2 1 Devuelve la velocidad de la corriente requerida del motor 2
0x23 Leer Codificador 1 2 4 Recuento del codificador motor 1, 4 bytes devueltos primero el de mayor bytes ( con signo)
0x24 Leer Codificador 2 2 4 Recuento del codificador motor 2, 4 bytes devueltos primero el de mayor bytes ( con signo)
0x25 Leer Codificadores 2 8 Devuelve 8 bytes - recuento codificador 1, recuento codificador 2
0x26 Leer Tensión 2 1 Devuelve el nivel de entrada del voltaje de las baterías
0x27 Leer Corriente 1 2 1 Devuelve la corriente consumida por el motor 1
0x28 Leer Corriente 2 2 1 Devuelve la corriente consumida por el motor 2
0x29 Leer Versión 2 1 Devuelve la versión del software MD49
0x2A Leer Aceleración 2 1 Devuelve el nivel de aceleración de la corriente
0x2B Leer Modo 2 1 Devuelve el modo de la corriente seleccionada
0x2C Leer VI 2 3 Devuelve los voltios de las baterías, la corriente del motor 1 y entonces la corriente del motor 2
0x2C Leer ERROR 2 1 Devuelve 1 byte cuyos bits indican los estados de error
0x31 Establece Velocidad 1 3 0 Establece una nueva velocidad1
0x32 Establece Velocidad 2 / GIRO 3 0 Establece nueva velocidad 2 o giro
0x33 Establece Aceleración 3 0 Establece nueva aceleración
0x34 Establece Modo 3 0 Establece el modo
0x35 Borrar Codificadores 2 0 Borra los recuentos de los dos codificadores
0x36 Deshabilita la Regulación 2 0 La salida de los motores no cambia por la retroalimentación del codificador
0x37 Habilita la Regulación 2 0 la salida de los motores es regulada por la retroalimentación del codificador
0x38 Deshabilita el TimeOut 2 0 El MD49 continuará funcionando aunque no reciba comandos en 2 segundos
0x39 Habilita la regulación 2 0 El MD49 se parará después de 2 segundos sin comunicación

Por ejemplo, para leer la tensión de la batería, envíe los comandos:
0x00    -    byte de sincronización
0x26    -    READ VOLTS
y el MD49 respondería con
0x18    -    byte devuelto (24 decimal) 24v

Registro de Velocidad1

Dependiendo del modo en el que esté trabajando, este registro puede afectar a la velocidad de uno de los motores o de ambos. El modo 0 ó 1 sirve para establecer la velocidad y la dirección del motor 1. Cuanto más grande sea el número escrito en este registro, mayor será la potencia aplicada al motor. El 2 ó 3 sirve para controlar la velocidad y dirección de ambos motores (puede afectar al registro de giro).

Registro de Velocidad2/Giro

El modo 0 ó 1 sirve para definir la velocidad y dirección del motor 2. En el modo 2 ó 3, la Velocidad2 se convierte en el registro de Giro, y cualquier valor en este registro se combinará con los contenidos de Velocidad1 para controlar la dirección del dispositivo (vea a continuación).

Modo de Giro

El modo de Giro comprueba el registro de velocidad para decidir si la dirección es hacia adelante o hacia atrás. Entonces suma o resta el valor de giro en cualquiera de los dos motores.

Por lo tanto, si la dirección es hacia adelante
la velocidad1 del motor = velocidad - giro
velocidad2 del motor = velocidad + giro

mientras que si la dirección es hacia atrás la
velocidad1 del motor = velocidad + giro
velocidad2 del motor = velocidad - giro

Si alguno de los motores no pudiera alcanzar la velocidad requerida para el giro (más allá de la salida máxima), entonces el programa cambiará automáticamente el otro motor para que compense la diferencia necesaria.

Registros de codificador

Cuando se ejecuta un comando del codificador, el módulo MD49 enviará 4 bytes de nivel lógico alto primero, que debería sumarse para formar un número con signo de 32 bits. Por ejemplo, un comando GET ENCODER 1 podría devolver 0x00,0x10,0x56,0x32.

Deberá entonces declarar una variable con signo de 32 bits en su programa, para C:
long result;
result =  serin() << 24ul;    // (0x00 shifted 24 bits left) 
result += serin() << 16ul;    // (0x10 shifted 16 bits left) 
result += serin() << 8ul;     // (0x56 shifted 8 bits left) 
result += serin();            //  (0x32) 

da como resultado ahora un valor 1070642 decimal o 0x105632 hexadecimal. Si el bit más alto estaba establecido entonces sería -ve.
los codificadores de lectura enviarán el recuento del codificador de lectura 1 y a continuación el recuento del codificador de lectura 2 pero se suman exactamente de la misma manera. Los registros pueden ponerse a cero en cualquier momento escribiendo 0x35 en el MD49.

Tensión de la batería

En este registro se puede obtener una lectura de la tensión de la batería conectada. La lectura es 10 veces la tensión (24 para 24v).

Corriente del Motor 1 y 2

En este registro puede obtener el promedio de corriente a través del motor. La lectura es aproximadamente 10 veces el número de amperios (25 para 2.5A).

Número de revisión de Software

Este registro contiene el número de revisión del software en los módulos del controlador PIC18F2321 - actualmente 1 en el momento de la escritura.

Tasa de aceleración 

Si necesita un periodo de aceleración controlada para los motores conectados para alcanzar la velocidad máxima deseada, puede utilizar el registro correspondiente del controlador MD49. Funciona utilizando un valor de aceleración enviado e incrementando la potencia por dicho valor. Cambio de la velocidad actual de los motores y la nueva velocidad. Si los motores trabajan a toda velocidad hacia adelante (255) y se les da la orden de moverse a toda velocidad en dirección inversa (0), entonces habría pasos de 255 con un registro de aceleración con un valor 1, y pasos de 128 para un valor 2. El valor por defecto de aceleración es 5, lo que significa que la velocidad se cambiará de dirección hacia adelante a dirección hacia atrás en tan sólo 0,816 segundos. El comando WRITE ACCELERATION aceptará valores desde 1 hasta el 10 que equivale a un periodo de tan sólo 0,416 segundos para poder cambiar el sentido de la marcha a toda velocidad.

Utilice la siguiente fórmula para calcular el tiempo (segundos) para alcanzar la aceleración:

si la velocidad nueva es > velocidad actual
pasos = (nueva velocidad - velocidad actual) / registro de aceleración

si la velocidad nueva es < velocidad actual
pasos = (velocidad actual - nueva velocidad) / registro de aceleración

tiempo = pasos * 16ms 

Por ejemplo::

Registro de aceleración Tiempo/Paso Velocidad actual Nueva velocidad Pasos Tiempo de aceleración
1 16 ms 0 255 255 4,08 s
2 16 ms 127 255 64 1,024 s
3 16 ms 80 0 27 0,432 s
5 (por defecto) 16 ms 0 255 51 0,816 s
10 16 ms 255 0 26 0,416 s

Registro de modo

El comando de modo cambia la forma en la que se utilizan los valores de velocidad/giro. Las opciones son:
0,    (Valor por defecto) Si se escribe un valor 0 en el registro de modo, entonces los registros de velocidad serán las velocidades literales en el rango de 0 (Marcha atrás)  128 (Parada)   255 (Marcha hacia delante).

1,    El Modo 1 es similar al Modo 0, salvo en que los valores de velocidad se interpretan como valores con signo. El significado de los registros de velocidad es la velocidad literal en el rango -128 (Marcha hacia delante)   0 (Parada)   127 (Marcha hacia delante).

2,    Si se escribe un valor 2 en el registro de modo, la velocidad1 controlará la velocidad de ambos motores, y velocidad2 se convierte en la velocidad de giro. 
Los datos están en el rango entre 0 (Marcha hacia atrás)  128 (Parada)  255 (Marcha hacia delante).

3,    El Modo 3 es similar al Modo 2, salvo en que los registros de velocidad se interpretan como valores con signo. 
Los datos están en el rango entre -128  (Marcha hacia atrás)  0 (Parada)   127 (Marcha hacia adelante)

GET VI

Este comando ordena al módulo MD49 que envíe la lectura de los voltios de la batería (25 = 25v), después la corriente consumida por el motor 1 (aproximadamente 1 recuento por 100 mA) y finalmente la corriente consumida actualmente por el motor 2.

GET ERROR

En el caso de que se produzca un error, el LED rojo se iluminará y un byte que contenga el tipo del error que esté experimentando el módulo MD49 tendrá el conjunto de set correspondiente. Los bits son:

bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
UNDER 16V OVER 30V MOTOR 2 SHORT MOTOR 1 SHORT MOTOR 2 TRIP MOTOR 1 TRIP - -

bit 7 - UNDER 16V detiene la alimentación que se está enviando al motor cuando la fuente ha caído por debajo del umbral inferior de 16V. Cuando la alimentación vuelve a los 18V, el error se borrará y la alimentación volverá a aplicarse.
bit 6 - el bloqueo OVER 30V evita un exceso de tensión que se está transmitiendo al motor, el error se borrará y la alimentación se aplicará cuando ésta baje a 28V o menos.
bit 5 - MOTOR 2 SHORT indica que se ha detectado un cortocircuito directo en la salida del motor 2. Este error estará activo hasta que la alimentación haya sido desconectada y vuelta a conectar.
bit 4 - MOTOR 1 SHORT indica que se ha detectado un cortocircuito directo en la salida del motor 1. Este error estará activo hasta que la alimentación haya sido desconectada y vuelta a conectar.
bit 3 - MOTOR 2 TRIP indica que se ha detectado una corriente de mas de 10 Amperios en el motor 2. Este error estará activo hasta que la alimentación haya sido desconectada y vuelta a conectar.
bit 2 - MOTOR 1 TRIP indica que se ha detectado una corriente de mas de 10 Amperios en el motor 1. Este error estará activo hasta que la alimentación haya sido desconectada y vuelta a conectar.

Dimensiones del MD49

Dimensiones del circuito de control de motores MD49

Haga clic en el botón COMPRAR para añadir este producto a su carrito de la compra.

68,55-Euros.
IVA incluido
AÑADIR AL CARRITO DE LA COMPRA

CONTROLADOR SERIE DE MOTORES DC DOBLE 5 + 5 AMPERIOS MD49

Vea mas productos de esta categoría en:

Controladores de Motores

Ir a la Página Principal de www.SuperRobotica.com

Actualizada el 05/01/2017 © 2002 -2017 INTPLUS ®. Todos los derechos reservados