martes, 13 de mayo de 2008

Robot Xilófono - Parte 2: El circuito.

Hoy toca hablar de la circuitería que hace posible la comunicación entre el ordenador y el robot. Es una parte muy importante del robot, en general la que más asusta, pero se puede tratar como una caja negra. O sea, es un circuito, que por un lado se conecta al puerto paralelo, y por el otro activa cosas. No es necesario saber cómo lo hace si no queremos, así que en realidad no es necesario controlar de electrónica para montarlo o para usarlo, simplemente lo montamos como dicen las instrucciones, y nos creemos que funciona.


Vamos a empezar por el puerto paralelo.
¿Por qué el puerto paralelo? ¿Por qué no un puerto USB, o el puerto serie? La respuesta es bien sencilla. Por que es más fácil.
Que un puerto sea Paralelo, significa que manda los datos a la vez. El puerto paralelo estándar del ordenador puede mandar 8 bits de información (ocho unos o ceros) de golpe. Un puerto serie, o USB, por el contrario, mandan los datos uno a uno con un tiempo determinado entre uno y otro. La diferencia a la hora de trabajar con ellos es que con el paralelo, recibes los 8 datos separados, con el serie, recibes uno, esperas un tiempo, recibes otro, esperas un tiempo, recibes otro, esperas un tiempo.....
Imaginaos que yo os voy a pasar un número de teléfono escrito en un papel, para que llameis. Tengo dos opciones, puedo escribir todo el número en un único papel, y os lo doy, o puedo escribir cada número del teléfono en un papel distinto, y os voy pasando los papeles uno por uno.
En el primer caso es muy fácil llamar, cogeis el papel, marcais el número, y punto.
En el segundo caso, teneis que ir guardando los números que os voy pasando, bien ordenaditos, y cuando ya están todos, juntarlos y llamar.
El primer caso sería el puerto paralelo, el segundo el puerto USB o serie. No es demasiado difícil darse cuenta de que es más fácil el primer método.

Ahora se preguntará alguien ¿Por qué se usa tanto el USB entonces? pues por que es mucho más versátil. Siguiendo con el ejemplo del teléfono. Imaginemos que en el papel caben 9 números, ni uno más, ni uno menos, siempre hay 9 números. ¿Qué pasa si queremos llamar al extranjero, que hay que pulsar unos 12 números? No nos caben... ¿Qué pasa si queremos llamar a un teléfono de información? Eso son solo 5 números a lo mejor, nos sobran. Un puerto paralelo está muy limitado.
En cambio si os voy pasando los números uno a uno, os puedo mandar un número de teléfono tan grande o tan pequeño como quiera. Esa versatilidad es lo que hace que hoy en día se utilice tanto el USB.

Bien, que me estoy liando con cosas que poco tienen que ver con el robot.
Vamos a usar el puerto paralelo, así que hay que saber para qué vale cada cosa. Esta es la pinta del enchufe del puerto paralelo.

Si pinchais en la fotografía y la veis en grande, pueden distinguirse los números de los pines, empiezan en 1 y acaban en 25, de izquierda a derecha, primero la fila de arriba y luego la de abajo.

Para este invento vamos a usar 9 pines únicamente.

Los pines del 2 al 9 son los que transportan los 8 bits de datos. El pin 2 es el bit de menor peso, y el 9 el de mayor peso.
El noveno cable es el cable de tierra. Todas estas cosas de electricidad funcionan con 2 cables, bueno, este es el segundo, para todos los otros. Este lo podemos enchufar en cualquier pin entre el 18 y el 25, ya que tienen todos la misma función.

Así que ahora ya tenemos nuestro enchufe paralelo macho, y ya sabemos qué pines vamos a usar..... pues toca coger el soldador de estaño, y soldar los cables a donde tocan.
Yo compré cable de 10 hilos.... me sobró uno, pero es mejor que comprar los hilos sueltos y que luego queden por ahí.
Si no habeis soldado mucho, esto puede ser un suplicio, así que, paciencia, y practicad un poco antes, son soldaduras pequeñitas y se pueden hacer difíciles. Despacito y con buena letra, que se suele decir.
Esta fue la pinta que le quedó a mi enchufe.

Como podeis ver, hay estaño en el pin 1.... nos confundimos al soldar, y tuvimos que "des-soldar" después para poner el cable donde tocaba, también hay estaño en el pin 25, por que el cable de tierra iba ahí enchufado en un principio, pero no me fiaba y lo cambié de sitio.
También se puede ver, por los goterones de estaño, que no estoy muy habituado a soldar estas cosas. Necesité a alguien que me sujetase los cables para que no se moviesen mientras los soldaba.
Cuando soldeis, apuntad los colores de los cables, y a qué pin van.
En mi caso eran: 2-Lila 3-amarillo 4-marrón 5-verde 6-rosa 7-gris 8-azul 9-rojo 24-negro

Bueno, una vez soldado esto, le colocamos la caja, y listo, ya tenemos nuestro cable de puerto parelelo listo para usar.


Ahora toca la parte del circuito.

El circuito en sí no es un circuito, son 8 circuitos iguales, enchufado cada uno a uno de los cables de datos.
El circuito es este:

Si llevais este dibujo a una tienda de electrónica, os pueden dar las piezas sin problema, luego solo teneis que soldarlas según el dibujo (recordad que los diodos y los transistores tienen que ir con su orientación, si los colocais al revés pueden explotar)
Vcc es la corriente que necesita el circuito para funcionar, 12 voltios.

¿Y qué hace este circuito? La señal que llega del puerto paralelo tiene 5 voltios, y muy pocos amperios. Si intentais mover un motor o activar un relé con eso, os encontrareis con que no tiene potencia suficiente. Además, los motores, relés y electroimanes, tienen bobinas, que pueden devolver corriente por el cable, y fastidiaros algo en el ordenador.

Este circuito hace 2 cosas:
Protege el puerto paralelo de los posibles problemas que puedan dar las bobinas.
Aumenta la potencia de la señal a 12 voltios, con una corriente decente.

O sea, a la pieza K1 del circuito (en este caso es un relé) le llegarán 12 Voltios cuando entre una señal por el puerto paralelo.

El relé funciona como un interruptor. Se le enchufa algo, y ese algo se enciende o se apaga según llegue señal o no por el puerto paralelo.
Así que la idea es sencilla.... tenemos una entrada del puerto paralelo, un circuito que amplifica la señal, y un relé que enciende el mecanismo que golpea el xilófono cuando queremos, solo tenemos que repetir esto 8 veces, y ya podemos manejar 8 notas.

Para quienes quieran meterse con rollos de electrónica lo menos posible, estos circuitos ya vienen montados (yo no lo sabía, me lo dijeron en la tienda de electrónica cuando fui a por los componentes)
Como esto lo costeaba la universidad, y preferíamos soldar lo menos posible, compramos los circuitos ya hechos.
Esta es la pinta que tienen:

Ya le había colocado el cable de tierra común en las señales cuando saqué la foto.
Un detalle interesante es que tiene leds, que se encienden cuando llega la señal, y claro, con lucecitas estas cosas siempre quedan más chulas.
Como la placa venía con 4 circuitos, tuvimos que comprar 2.

Estas placas vienen con instrucciones, para que sepais dónde poner cada cable.



Así que lo único que quedaría por hacer, es poner todos los cables.
El resultado, en mi caso, quedó así:


Y listo, ya está terminada la parte electrónica del robot.

Posiblemente existan placas de este estilo que funcionen por USB, todo es cuestión de buscarlas, o de desmontar un ratón o un joystick y aprovechar el chip controlador USB que llevan dentro. Como es algo que me interesa, cuando tenga tiempo buscaré información, y el siguiente robot irá por USB.

6 comentarios:

  1. Ese circuito que se compra ya montado tiene, por lo que veo en las especificaciones, algo interesante: las entradas están protegidas por optocopladores. Esta es la mejor garantía de no fundir la circuitería del puerto paralelo del ordenador.

    ResponderEliminar
  2. hola que tal? interesante tu proyecto. dime como lo has controlado desde la pc? en q programa yo estoy haciendo algo similar quiero controlar un robot basado en 2 motores paso a paso la circuiteria es sencilla pero lo que tengo duda es sobre como controlar desde la Pc, en qlenguaje? en que programa? como se hace?
    gracias de antemano mi nombre es enrique figueroa y mi correo es efiguero@pucp.edu.pe
    gracias si tienes tiempo me mandas la respuesta al mi correo . bye

    ResponderEliminar
  3. Te acabo de mandar un mensaje a tu correo. Me alegra mucho que estos posts sirvan para que alguien les saque partido.... al fin y al cabo era la idea original de este blog.

    ResponderEliminar
  4. Hola me gustaria saber con que programa de computer se controla todo el estandate , si sirve para un netbook , de donde lo descargo y como se usa . Me pudes responder a: manu12@galicia.com ?
    gracias

    ResponderEliminar
  5. Hola me gustaria saber con que programa de computer se controla todo el estandate , si sirve para un netbook , de donde lo descargo y como se usa . Me pudes responder a: manu12@galicia.com ?
    gracias

    ResponderEliminar
  6. El programa para controlar el xilófono lo hice yo mismo. Únicamente ser ocupa de enviar señales por el puerto paralelo.
    El caso es que aunque es un sistema muy simple, también es muy lento, y hoy en día ya hay ordenadores que no traen puerto paralelo, y prácticamente ningún portátil lo tiene.

    Lo mejor y más fácil hoy en día es utilizar un Arduino. Ahora s son fáciles de encontrar, los puedes comprar por Internet por unos 20€, pueden funcionar de modo autónomo sin ordenador, y en caso de querer utilizar un ordenador, se pueden enchufar por USB.
    Se programan desde el ordenador, y hay un montón de documentación sobre ellos, y páginas donde consultar dudas.

    Además es fácil encontrar lo que llaman shields, que son placas pensadas para enchufar en un Arduino con un propósito específico, cómo por ejemplo, controlar motores.

    Hoy en día yo no tendría dudas, me haría el xilófono con un Arduino (o con alguno que hay parecido para enchufar a teléfonos android).

    ResponderEliminar