Diferencia entre revisiones de «Usb4all shield butia»
(No se muestran 13 ediciones intermedias de 4 usuarios) | |||
Línea 1: | Línea 1: | ||
− | Este shield fue realizado para utilizarse con la placa de entrada/salida [[usb4all]], la cual puede realizarse con materiales disponibles en el mercado local | + | 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 [http://sourceforge.net/projects/usb4all/ repositorio de sourceforge]. |
USB4all surge como un [http://www.fing.edu.uy/inco/grupos/mina/pGrado/pgusb proyecto academico de grado de la UdelaR].<br> | USB4all surge como un [http://www.fing.edu.uy/inco/grupos/mina/pGrado/pgusb proyecto academico de grado de la UdelaR].<br> | ||
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 [http://sourceforge.net/projects/usb4all/ repositorio en sourceforge].<br> | 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 [http://sourceforge.net/projects/usb4all/ repositorio en sourceforge].<br> | ||
[[Archivo:shield_usb4all1.jpg|720px]]<br> | [[Archivo:shield_usb4all1.jpg|720px]]<br> | ||
Los fuentes pueden encontrarse en el directorio ''shield_butia_rj45_rj11'', están realizados utilizando [http://www.lis.inpg.fr/realise_au_lis/kicad/ Kicad] el cual posee licencia GPL.<br> | Los fuentes pueden encontrarse en el directorio ''shield_butia_rj45_rj11'', están realizados utilizando [http://www.lis.inpg.fr/realise_au_lis/kicad/ Kicad] el cual posee licencia GPL.<br> | ||
− | 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 | + | 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.<br>La lista de componentes necesarios para realizar un shield es la siguiente:<br> |
* 1 PCB shield butiá USB4all | * 1 PCB shield butiá USB4all | ||
* 2 Conector tira zócalo 40 terminales | * 2 Conector tira zócalo 40 terminales | ||
Línea 13: | Línea 13: | ||
* resistencias de diferentes valor para sensores | * resistencias de diferentes valor para sensores | ||
− | Este shield busca solucionar los problemas indentificados en el [[Construccion_shield_v1.0|shieldv1]], como ser el gasto | + | Este shield busca solucionar los problemas indentificados en el [[Construccion_shield_v1.0|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.<br>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.<br>También intenta homogeneizar los conectores, utilizando para los motores el mismo tipo de conector que para el resto de los sensores/actuadores.<br> Por otro lado, mantiene muy buenas ideas que fueron incorporadas en el [[Construccion_shield_v1.0|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.<br> |
− | La idea fundamental del shield es reducir la cantidad de pines de identificación a un solo pin del microcontrolador | + | 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 [http://www.ee.mut.ac.th/datasheet/doc/MC14051.pdf 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 == | == Pasos == | ||
Línea 34: | Línea 34: | ||
[[Archivo:shield_usb4all12.jpg|720px]]<br> | [[Archivo:shield_usb4all12.jpg|720px]]<br> | ||
Resistencias de 10K en cada uno de los puertos para permitir medir la tensión de cada uno de los id de los sensores:<br> | Resistencias de 10K en cada uno de los puertos para permitir medir la tensión de cada uno de los id de los sensores:<br> | ||
+ | [[Archivo:shield_usb4all14.jpg|720px]]<br> | ||
+ | [[Archivo:shield_usb4all15.jpg|720px]]<br> | ||
+ | Dado que la distancia entre los pines del multiplexor es muy pequeña utilizamos el procedimiento de estañar los pads.<br> | ||
+ | [[Archivo:shield_usb4all13.jpg|720px]]<br> | ||
+ | Colocamos el multiplexor sobre los pads estañados y aproximando el soldador vamos soldando cada uno de los pines del multiplexor.<br> | ||
[[Archivo:shield_usb4all11.jpg|720px]]<br> | [[Archivo:shield_usb4all11.jpg|720px]]<br> | ||
− | Finalmente se conecta el shield a la placa USB4all, el pin marcado con un cuadradito en el shield corresponde con el pin | + | 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.<br> |
+ | |||
+ | == Divisor resistivo == | ||
+ | Para poder identificar los distintos elementos que se van a utilizar, usamos un divisor resistivo como identificador.<br> | ||
+ | [[Archivo:divisor_resistivo.png]]<br> | ||
+ | La resistencia R2 va conectada a tierra, la misma se encuetra en la placa ''USB4all shield butia'' y su valor es de 10kΩ.<br> | ||
+ | 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.<br> | ||
+ | Esta resistencia se conecta a VCC(5V) y se encuentra en el lado del sensor.<br> | ||
+ | La tensión aproximada del identificador esta dada por la siguiente ecuación:<br> | ||
+ | [[Archivo:divresistivo.png]]<br> | ||
+ | <br> | ||
+ | Ese voltaje es medido por el pin 10 de la PIC18f4550.<br> | ||
El diseño e implementación de este circuito no hubiera podido ser realizado sin la ayuda e ideas aportadas por Santiago Reyes.<br> | El diseño e implementación de este circuito no hubiera podido ser realizado sin la ayuda e ideas aportadas por Santiago Reyes.<br> |
Revisión actual del 11:23 26 dic 2011
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.
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:
Se utilizan conectores RJ45, lo que permite aumentar la robustez del conector y facilidad de fabricación.
Se colocan en el circuito:
Se sueldan:
Se utilizan headers para permitir conexión con la placa USB4all:
Bornera para alimentación de motores:
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:
Dado que la distancia entre los pines del multiplexor es muy pequeña utilizamos el procedimiento de estañar los pads.
Colocamos el multiplexor sobre los pads estañados y aproximando el soldador vamos soldando cada uno de los pines del multiplexor.
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.
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:
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.