Matriz de motores con 74hc595 y tip120

Buenos días. A ver si me podéis ayudar.
Necesito mover una cantidad elevada de motores dc, pequeños, y sólo uno de ellos cada vez, unas pocas vueltas.
He pensado en usar una matriz de registros de desplazamiento encadenados, similar a una matriz led, con un arduino.
La salida del pin deseado del primer 74hc595 se pone en alta y el segundo en baja, cerrando el circuito.
Con los leds no hay problemas, pero los motores requieren más corriente para funcionar, por lo que uso una fuente Atx sacando del molex 5V o 12V.
Tengo el siguiente esquema en la protoboard:
(me acabo de dar cuenta que en el esquema, la salida A estaría a la salida de los pines del registro de desplazamiento, no después de la resistencia).
28w002w.jpg%5B

Si conecto el circuito con el led, A con A2 y B con B2, los leds funcionan sin problema.
Si conecto el circuito con el primer tip120, A con A1 y B con B1, si es un motor que requiera poca corriente funciona, pero si es un poco mayor, me da midiendo en el punto G1 que sólo llegan unos 78 mA, creo recordar.
Si conecto el segundo tip120, A con A3 y B3 a tierra, no hay problema en cuanto a la intensidad, el motor gira pero entonces me girarían todos los motores de esa fila, con lo que no me sirve.
¿Qué puedo colocar entre A y B para mover motores que requieran un poco más de corriente?
Tengo una grave limitación: necesitaré muchos motores, por lo que el precio de los componentes necesarios para moverlos es crítico. Unos céntimos me elevarían el presupuesto bastante. También pensé si usar TPIC6B595 en vez de 74hc595, pero creo que tampoco me llegaría la suficiente energía. Si pudiera subir la corriente desde los registros de desplazamiento y no en cada intersección, aunque me fuera más caro me compensaría, porque como digo van a ser bastantes motores( si debo poner algo en los 74hc595, con dos de ellos, serían 16 componentes, y si fuera en cada intersección, 64 componentes, no sé si me explico con claridad).

Si alguien conoce otra forma de mover tantos motores, le estaría agradecido. Mis conocimientos de electrónica no son muy elevados, y puede que exista algún componente que realice de forma fácil esta tarea que desconozco.

Muchas gracias.

Saludos
 
Bienvenido/a.

¿Y si usas un ULN?

Por ejemplo el ULN2003, a ver si te sirve

Muchas gracias por tu ayuda. Estoy intentando a ver si lo puedo hacer con relés, activándolos con las salidas de los 74hc595. Aún no sé qué tipo de motores deberé usar, y eso me permitiría un abanico mayor. Hay también otra opción, pero se me queda corta: TPIC6B595. Realiza la misma función que el 74hc595 pero dando por salida 500mA. Lo indico por si a alguien le puede servir.
Puede que deba aumentar la salida en los 74hc595 para activar los relés, así que puede que al final deba usar el ic que me indicas, o meter el TPIC6B595, aún estoy probando, por eso no contesté antes.

Muchas gracias de nuevo.
 
Directamente con el 74 no creo que puedas activar un relé, porque tiene, como MÁXIMO, 20mA por salida, y eso supone que no tienes que llegar, sería como un máximo de pico.

El integrado que dices, soporta 150mA, y de pico 500mA. Puedes usarlo, pero no creo que sea ni barato ni fácil para soldar (es SMD).

El ULN la ventaja es que lo puedes activar hasta desde un microcontrolador, y tiene mucha capacidad en tensión y corriente, y creo que lo puedes alimentar con una tensión diferente a la alimentación del resto de la lógica, por ejemplo 12V (ojo, creo). Tiene la ventaja de que es común y es seguro que lo puedes conseguir.

Cualquier duda, nos consultas.
 
Muchas gracias, DJ T3.
En el post anterior no indiqué que usaría un db137, para aumentar la corriente y poder activar el relé, lo siento(mi experiencia en electrónica es 0, y bastante lejos estoy llegando).
Me has dado una buena idea, y la probaré a ver qué tal, si con eso puedo activar los relés directamente.

El esquema que usé es similar a este, por si le sirve a alguien:
ethernet-shield-fritzing.jpg


Al fin he conseguido activar los motores. Pero con un problema que no sé como resolver.
La idea original es similar a una matriz de leds, pero con motores.
Lo que tengo ahora, para pruebas es lo siguiente:
2jb76ty.jpg


Para activar el motor M5, activo las patas correspondientes de los dos 595, que a su vez activan el db137 y que hacen funcionar los relés R1 y R2, cerrando el circuito entre la línea horizontal 2 y la línea vertical B. Para activar el M3, por ejemplo, activaría las líneas 1 y C.

El problema que tengo es que debe haber derivaciones por todos los lados, y activando el motor M5, éste gira a buena velocidad, pero también giran bastante los demás(a menos velocidad), con lo cual no me sirve. ¿Hay algún componente que pueda agregar para que sólo gire éste motor?

He pensado que quizás bajando la corriente hasta llegar a los amperios justos para un sólo motor en el circuito externo, sólo giraría el motor deseado, pero me parece una chapuza si es que llega a funcionar, así que explico aquí el problema para ver si a alguien se le ocurre alguna solución. Para descartar algún problema en el circuito electrónico, de arduino y de los cables que tengo(dan miedo), he probado a conectar los cables de la fuente directamente a las dos líneas(2 y B), sin los relés, con el mismo resultado.

Muchas gracias.
 
Pon un diodo de acuerdo al consumo de cada motor. En uno de los contactos de cada motor.

El problema es que se te "filtra" tensión a través de otros motores, por ejemplo:

2jb76ty.jpg

El problema se resuelve con un par de diodos.

2jb76ty2.jpg

Saludos, nos comentas.
 
Podrías usar esquemas en lugar de esa "monería" que es muy bonita y nada práctica.
Me parece que está mal conectado; me parece que el transistor está en paralelo con el diodo led, osea que con suerte llegarán 1,5V a su resistencia de base.
 
Después de confundirme como un bobo, soldar mal los diodos(y quemarme un poco un dedo), y una vez realizada las soldaduras correctamente, esto ha funcionado con tu solución, DJ T3.

Mi experiencia en electrónica, como comenté antes, es cero. Aún así, investigando, leyendo y releyendo mucho en foros y demás, y gracias a vuestra ayuda, para este último paso, conseguí realizar este proyecto(Aún me falta ensamblar todo).

Así que quisera daros las gracias a todos(especialmente a DJ T3) que habéis intentado ayudarme de forma desinteresada.

El programa que uso es fritzing: http://fritzing.org/
Seguramente los habrá mejores, pero este es libre y también permite usar esquemas del tipo que le gustan a Scooter. Para mi ha sido intuitivo y me permitió hacerme con él de forma muy rápida, por lo que lo recomiendo, permitiendome hacerme entender y encontrar la solución a lo que deseaba.

Gracias de nuevo :)
 
Atrás
Arriba