Usb4all shield butia

De Proyecto Butiá
Revisión del 10:23 26 dic 2011 de Edgardo (Discusión | contribuciones)

(dif) ← Revisión anterior | Revisión actual (dif) | Revisión siguiente → (dif)
Saltar a: navegación, buscar

Este shield fue realizado para utilizarse con la placa de entrada/salida usb4all, la cual puede realizarse con materiales disponibles en el mercado local. Dado que el circuito es muy sencillo y los componentes se obtienen en tamaños que permiten ser manipulados es posible realizarla manualmente por personas no expertas, bajando considerablemente los costos en relación a otras placas como arduino. Cabe destacar que la placa implementa el protocolo USB, no siendo necesario incluir un conversor USB/serial en el circuito. El proyecto USB4all es libre y se encuentra bajo licencia GNU/GPL 2.0 en el repositorio de sourceforge. USB4all surge como un proyecto academico de grado de la UdelaR.
Lo primero que necesitamos para realizar un shield butiá USB4all es descargar el diseño del mismo, esto puede realizarse obteniendo los fuentes desde el repositorio en sourceforge.
Shield usb4all1.jpg
Los fuentes pueden encontrarse en el directorio shield_butia_rj45_rj11, están realizados utilizando Kicad el cual posee licencia GPL.
Al igual que otros programas de diseño de circuitos, Kicad permite exportar a formato gerber. Este formato permite su utilización por maquinas de producción de circuitos impresos, en el mercado local existen varias empresas brindan este servicio utilizando el formato gerber. También existen sitios en internet que fabrican y envían por correo el producto. Hay que tener en cuenta que el circuito cuenta con dos capas, lo que hace más complejo la realización con métodos manuales.
La lista de componentes necesarios para realizar un shield es la siguiente:

  • 1 PCB shield butiá USB4all
  • 2 Conector tira zócalo 40 terminales
  • 1 Bornera 2p BR102A through hole
  • 8 Jack RJ45 para impreso TFN188P
  • 1 MC14051BD S016
  • 8 resistencias de 10K
  • resistencias de diferentes valor para sensores

Este shield busca solucionar los problemas indentificados en el shieldv1, como ser el gasto innecesario de pines para realizar la identificación del dispositivo conectado, asi como ser más robusto mecánicamente con los conectores.
Pistas y ruteo más amplio para evitar la introducción de corto circuitos debido a la imprecisión que muchas casas manejan a la hora de fabricar circuitos.
También intenta homogeneizar los conectores, utilizando para los motores el mismo tipo de conector que para el resto de los sensores/actuadores.
Por otro lado, mantiene muy buenas ideas que fueron incorporadas en el shieldv1 como ser la identificación de dispositivos mediante pines dedicados a esa tarea. Este mecanismo de plug&play permite conectar cualquier sensor/actuador en cualquier puerto del shield, evitando etapas de configuración en el software.
La idea fundamental del shield es reducir la cantidad de pines de identificación a un solo pin del microcontrolador. Para esto se utiliza un multiplexor analógico MC14051. El multiplexor recibe como entrada los 8 pines de identificación (uno por cada conector físico), y mediante 3 pines de direccionamiento se multiplexa los valores de identificación de cada puerto. Para esta tarea se usan 4 bits de microcontrolador, uno para el pin de identificación multiplexado y tres para direccionamiento en el multiplexor.

Pasos

Fabricación del PCB:
Shield usb4all2.jpg
Shield usb4all3.jpg
Se utilizan conectores RJ45, lo que permite aumentar la robustez del conector y facilidad de fabricación.
Se colocan en el circuito:
Shield usb4all4.jpg
Shield usb4all5.jpg
Se sueldan:
Shield usb4all6.jpg
Se utilizan headers para permitir conexión con la placa USB4all:
Shield usb4all7.jpg
Shield usb4all8.jpg
Bornera para alimentación de motores:
Shield usb4all9.jpg
Shield usb4all10.jpg
720px
Resistencias de 10K en cada uno de los puertos para permitir medir la tensión de cada uno de los id de los sensores:
Shield usb4all14.jpg
Shield usb4all15.jpg
Dado que la distancia entre los pines del multiplexor es muy pequeña utilizamos el procedimiento de estañar los pads.
Shield usb4all13.jpg
Colocamos el multiplexor sobre los pads estañados y aproximando el soldador vamos soldando cada uno de los pines del multiplexor.
Shield usb4all11.jpg
Finalmente se conecta el shield a la placa USB4all, el pin marcado con un cuadradito en el shield corresponde con el pin 1 de la USB4all y el microcontrolador pic18f4550 utilizado por la misma.


Divisor resistivo

Para poder identificar los distintos elementos que se van a utilizar, usamos un divisor resistivo como identificador.
Divisor resistivo.png
La resistencia R2 va conectada a tierra, la misma se encuetra en la placa USB4all shield butia y su valor es de 10kΩ.
En cambio la resistencia R1 es variable lo que nos brinda un margen de acción que nos permite tener diferentes identificadores, lo que nos permite reconocer que sensor ha sido conectado.
Esta resistencia se conecta a VCC(5V) y se encuentra en el lado del sensor.
La tensión aproximada del identificador esta dada por la siguiente ecuación:
Divresistivo.png

Ese voltaje es medido por el pin 10 de la PIC18f4550.
El diseño e implementación de este circuito no hubiera podido ser realizado sin la ayuda e ideas aportadas por Santiago Reyes.