Herramientas de usuario

Herramientas del sitio


Barra lateral

Traducciones de esta página:

Página principal

Análisis y comparativas

Eventos Guías Herramientas Información de interés Proyectos > Usuarios Varios Wiki Privado

No hay páginas en esta sección.

old admin

No hay páginas en esta sección.

proyectos:badge_2020_programable

Badge 2020 programable

Este proyecto ha sido posible gracias a la financiación de AMTEGA

El objetivo de este proyecto es documentar el proceso de diseño y fabricación de un circuito que se pueda usar con fines educativos para la iniciación a la soldadura y la programación. Para el desarrollo se emplearán herramientas libres, procuraremos documentar todos los pasoa que puedan surgir durante el proceso. Toda la información sobre la placa y su documentación son de libre disposición con una licencia de código abierto tipo.

Los condicionantes técnicos de partida son los siguientes:

  • El esquema y la placa de circuito impreso se crearán con Kicad: un programa de diseño de circuitos (EDA) de código abierto.
  • El circuito será programable sin necesidad de usar herramientas hardware adicionales. A tal efecto se instalará en el microprocesador un bootloader micronucleus que implementa comunicación USB de baja velocidad sin necesitar hardware dedicado.
  • La programación se hará en en entorno de código abierto Arduino.
  • La placa tendrá una capa de diseño gráfico que sirva como recuerdo conmemorativo de la OSHWDem 2020. El diseño gráfico se hará integramente con la herramienta de código abierto InkScape.
  • Todos los componentes serán de agujero pasante para que sean fáciles de soldar para personas no iniciadas.
  • En conjunto se buscará un aspecto agradable y la posibilidad de progrmar aplicaciones atractivas.
  • El coste se mantendrá lo más contenido posible.

Inspiración

El circuito

El circuito gira en torno a un ATTINY85-20PU, un pequeño microprocesador de sólo 8 patas, lo que lo hace ideal para un pequeño montaje con agujeros pasantes. Esto es lo que conectamos en cada una de sus “patas”

  • 5-PB0 conectamos una cadena de 4 ó 5 diodos LED tricolor programables modelo WS2812D. El color y el brillo de cada uno de los LEDes de la cadena se puede controlar con una única pata del microprocesador por medio de la biblioteca NEOPIXEL.
  • 6-PB1 un pulsador con su resistencia de pull-up para interactuar con el programa o cambiar la secuencia de luces.
  • 7-PB2 es una pata que puede funcionar como entrada analógica. Conectamos aquí un micrófono de tipo electrect con su resistencia de polarización. Cambiamos la resistencia de 2.200 Ω que indica la hoja de caracteríaticas por un valor de 10.000 Ω para forzar la ganancia al máximo, aún a riesgo de que se produzcan distorsión y recortes de señal. Este montaje debería funcionar con casi cualquier otro micrófono de tipo electrect, aunqe habrá que ajustar el punto de trabajo en el programa. Alternativamente podemos sustituir el micrófono por un transductor piezoeléctrico que emita sonidos.
  • 2-PB3 y 3-PB4 son los terminales D- y D+ del puerto USB. Ambas líneas tienen un resistencia de 68 Ω y un diodo zenner de 3,6V para proteger al puerto USB, tal y como se describe en https://www.obdev.at/products/vusb/index.html

La alimentación puede llegar desde una batería CR2032 o desde el puerto USB. La solución clásica sería con dos diodos configurados en una especie de puerta OR que permita sólo el paso de la fuente de alimentación con mayor tensión. De esta forma la alimentación sería desde el USB siempre que esté enchufado. El problema de este esquema clásico es que cuando se alimenta desde la pila hay un diodo en serie que reduce la tensión, ya muy baja, en unos 0,6V.

La solución que adoptamos en este montaje evita esa caída de tensión haciendo la conmutación por medio de un transistor MOSFET de canal-P.

  • Cuando la toma USB no está conectada, la tensión en la puerta (G) es suficientemente inferior a la tensión en la fuente (S). Esto hace que el transistor conduzca entre los terminales drenador (D) y fuente (S). El circuito queda alimentado por la batería con una caída de tensión mínima entre extremos del tranaistor.
  • Al conectar la toma USB, la tensión en la puerta (G) sube y el transistor deja de conducir, aislando a la batería. El circuito se aliemnta de la toma USB a través del diodo D1

badge_2020_sch.pdf

crear símbolos y huellas

Para este montaje fue necesario crear algunos símbolos y huellas que no están disponibles en la librería estandard de Kicad.

  • Interruptor SW2 con paso entre patas de 2,54 mm
  • Diodo LED WS2812D con cuatro pines en linea
  • Micrófono
  • Conector USB como elemento de la placa

Los símbolos y las huellas se crearon en librerías propias del proyecto. Para Crear las librerías el procedimiento es el siguiente:

Librería de símbolos

* En la pantalla principal de KiCad seleccionar en el menú Herramientas/Editar símbolos de esquema

* Seleccionar una de las librerías y pulsar con el botón derecho del ratón. Aparece la opción Nueva librería… Darle un nombre y ubicación a la nueva librería. Nos pedirá que elijamos si es una librería global (disponible para todos los diseños que hagamos en Kicad en nuestro ordenador) o local (sólo para este diseño). En este caso usé librerías locales para cada proyecto.

* Si vamos a crear un símbolo a partir de otro, lo primero es localizarlo y seleccionarlo.

  • A continuación pulsando el botón izquierdo del ratón seleccionar “Save a copy as…” En el menú que se abre seleccionar en qué librería queremos que se cree el nuevo símbolo, por ejemplo en la librería que acabamos de crear.
  • Una vez localizado el nuevo símbolo, lo seleccionamos y en el menú Editar seleccionamos Propiedades… para editar el nombre, huella o palabras clave, y Pin table… si queremos añadir o cambiar alguno de los pines.

El cableado de la placa

La placa se cablea con dos capas de pistas de cobre, sin que fueran necesarias vías de paso entre la superior y la inferior que KiCad denomina F.Cu (frontal) y B.Cu (trasera).

Vamos a querer que la parte frontal de la placa esté dominada por el dibujo que elaboraremos como conmemoración. Por eso desplazamos casi todos los componentes a la cara posterior de la placa. De esta forma la identificación de los componentes no se verá por la parte frontal, aunque los componentes sí estarán montados en el frente. Es un truco para mejorar la estética que esperamos no complique el montaje. No hay ningún problema ya que casi todos los componentes son simétricos y se pueden montar desde delante con las patas coincidiendo sin problemas con la serigrafía. Las únicas excepciones son el microprocesador y el micrófono que quedan montados en la cara frontal. La batería y su porta-baterías se montan en la parte trasera.

Las capas gráficas

Las capa gráficas fueron hechas con Inkscape.

La capa de corte Edge.Cut contiene la información sobre la forma de placa. tiene que ser un contorno cerrado. En este caso es una capa del diseño hecho en Inkscape exportada en formato DXF R12. Luego se importa en la herramienta Pcbnew de diseño de placas de KiCad con el comando Importar/Import Graphics… seleccionando la capa Edge.Cut en el cuadro de diálogo.

El diseño de la forma de la placa y de las pistas es complejo, ya que una depende mucho de la otra. En este caso hubo que modificar varias veces la capa de recorte para acomodar los componentes, y también modificar la ubicación de los componentes para que queden en el lugar previsto del dibujo.

El diseño de la serigrafía se exporta desde Inkscape en formato .png. Luego se importa con la herramienta Bitmap to Component Converter en la pantalla principal de KiCad o seleccionado Herramientas/Convertir Imagen

**Al hacer esta plana comprobamos que la importación modifica ligeramente el tamaño de la línea de recorte. Una vez que el recorte coincidíó bien con los componentes modificamos ligeramente la escala del fichero de la serigrafía frontal F.SilkS de forma experimental.

Producción

Montaje

Instalar ficheros en el IDE de Arduino

Instalar el bootloader

Programación

A disfrutar…

Licencia

Midiendo CO2 by Bricolabs is licensed under CC BY-SA 4.0 CC

proyectos/badge_2020_programable.txt · Última modificación: 2020/12/03 21:30 por Manuel Miramontes