Paso 2: Diseño de circuitos
Estoy usando CadSoft EAGLE 6.2 dibujar el esquema del circuito y el diseño de PCB.
De partida, la forma más sencilla de hacerlo es con un microcontrolador de algún tipo, a preocuparnos por que uno pronto.
El reto radica en el número 132. ¿Una opción es seleccionar un microcontrolador con los 132 pernos, sencillo, correcto? Pero el microcontrolador será gigantesco, y el diseño se verá mal.
La solución es al grupo de los LEDs por lo que yo les puedo multiplexar. Mi diseño organiza el LED en un 30 ánodos por 5 cátodos (puedo referir a éstos como "anillos") "matriz". Esto significa que necesito 35 pins a 132 LEDs.
(click en la imagen de la matriz de LED superior, es una animación que muestra cómo funciona mi matriz de LED)
También necesito 5 resistencias (R1, R2, R3, R4, R5) para limitar la corriente a los LEDs, para operar dentro de sus calificaciones y no queme. Es importante notar diverso color LEDs tienen caídas de tensión distintas y diversas especificaciones actuales seguras máximo, y también el voltaje de la batería variará con el tiempo (superior a su tensión nominal durante e inmediatamente después de la recarga). He seleccionado una resistencia de 330 ohm comunes para este trabajo. Tomando el peor caso, que es 0 de tensión en el LED y una batería de 4.2V, Ley de Ohm dice que la corriente será 12.7mA. Esto es seguro para casi todos los LEDs pequeños y seguro para lo GPIO del microcontrolador.
Necesito al menos 2 botones, que significa que dos pernos más se requieren en el microcontrolador. Sería ideal si estos pernos admite algún tipo de interrupción para detectar que el botón presiona incluso durante el reposo. También sería ideal si estos pernos contó con resistencias de pull-up internas, por lo que no tienen resistencias pull-up externo.
Así que mi pin mínimo requisito ahora es 37. Hice algunas búsquedas para un microcontrolador que cumplir con este requisito y se decidió por un ATmega645P (o algo similar con menos memoria, requisitos de memoria para este proyecto es realmente muy pequeña).
Tiene 54 pines gratis. Viene en un paquete TQFP así yo puedo soldar sin necesidad de aire caliente (puedo hacer QFN pero más bien, se evitaría especialmente para un proyecto de Instructables donde varían de gentes). Opera hasta 1.8V de easiy para usar con una pila de monedas. Tiene un hardware RTC que puedo usar para hacer un seguimiento de tiempo, incluso en modo de reposo. La versión picoPower declara que tiene algún uso de energía increíblemente bajo, que ayuda con la vida de la batería. Como un bono, soy un fan de la familia AVR.
Para saber el voltaje de funcionamiento del microcontrolador es entre 1.8V y 5.5V, sé que puedo con seguridad energía el circuito con una batería de litio recargable ion botón (tensión nominal es de 3.7V, máximo es 4.2V) sin necesidad de utilizar un regulador de voltaje en todos.
Los circuitos de carga es extremadamente simple para el diseño, el chip cargador es un MCP73831 y la hoja de datos tiene circuitos de aplicación de ejemplo, que he adaptado. A menos que se indique lo contrario por el fabricante, es seguro asumir que la batería se puede recargar a un ritmo de 1C, que significa 1 multiplicado por su capacidad (en AH o mAH). Ya que mi batería capcity de 150mAH, con seguridad yo puedo recargar la batería a 150mA. Usando los cálculos de la hoja de datos, esto significa que tengo que usar un resistor de 15 kilo ohmios para establecer la carga actual.
El hardware del RTC (reloj 2 en modo asincrónico) en el microcontrolador requiere de un cristal de 32,768 KHz, seguimiento de tiempo. El cristal necesita cargar capcitors en cada pin, o bien el cristal muestra inestabilidad de frecuencia grande y el tiempo no será exacta.
El microcontrolador debe operar con su oscilador RC interno de 8 MHz (ahorra espacio y dinero al evitar otro cristal), y esa frecuencia se dividirá internamente por 8 para conservar energía.
El microcontrolador necesita un desemparejamiento del condensador para cada pin VCC , es un general regla-de-pulgar que he adaptado, los fines es para filtrar ruido fino desde el bus de energía.
El ATmega645P cuenta con resistencias de pull-up interno (previamente he mencionado que va a ser bueno tener estos), por lo que los botones no necesitan resistencias de pull-up externo.
El Microcontrolador AVR necesita una conexión de ISP (programación serie en circuito), por lo que puedo programar el firmware, esto significa conectar el reset y los pines del bus SPI, además de proporcionar una conexión de masa y energía.
La detección de batería baja es un detector de tensión simple (la TC54, configurado para 2.7V) que llevará un pasador de baja cuando la batería está por debajo de 2.7V.
Al final, hubo espacio y pins gratis sobrados así que añadido un zumbador y un motor de vibración. El motor es impulsado por un MOSFET. El MOSFET tiene un resistor de pull-down (R8) en la puerta para no volver loco cuando el microcontrolador no es controlarlo. Hay una resistencia (R9) a puerta de MOSFET para proteger el pin del microcontrolador de un breve repunte actual durante la conmutación. El diodo está allí para proteger el circuito de la back EMF desde el motor (este diodo se conoce como un diodo flyback).