Caja a medida con CNC

Diseño y fabricación de una caja a medida, cortando las piezas con la ayuda de una fresadora digital (CNC). El diseño de las piezas lo hice con el software SketchUp. Tuve que corregir el archivo que genera SketchUp para poder utilizarlo en la CNC. Para comprobar el código ‘G’ y corregir el archivo, utilicé el simulador por software CAMotics

Con el fin de controlar los display’s de 7 segmentos SMD que tengo, he mandado fabricar otro circuito impreso para montar la CPU.

PCB de la CPU

Esta CPU está basada en el micro-controlador AT89S52 de ATMEL. Como este micro-controlador se puede programar sin desmontarlo del circuito impreso, a través de su interface ICSP, he elegido el encapsulado de tipo SMD. El circuito impreso tiene una altura muy parecida a la del  display de 7 segmentos, y la idea es la de fabricar una caja de madera a medida, para construir un display con 4 dígitos.

SketchUP

Para cortar las piezas de madera con precisión, he utilizado una fresadora digital (CNC). Para dibujar las piezas a medida y poder exportar los datos a la CNC, he utilizado el software SketchUp.

Software SketchUp

A pesar de que este software funciona muy bien, he encontrado un problema a la hora de generar los archivos de código ‘G’. Los archivos contienen una serie de instrucciones adicionales que dañan las piezas a fabricar. Para localizar el lugar exacto donde se encuentran estas instrucciones para eliminarlos, he utilizado otro software que emula el funcionamiento de la CNC.

CAMotics 

El software CAMotics permite la ejecución del código ‘G’ de forma visual, y esto facilita la localización de las instrucciones que se deben eliminar.

Software CAMotics

El software permite la edición de los archivos y su posterior visualización, para comprobar que los cortes que hará la CNC sean los correctos.

Construcción de la caja

Después de la fase de diseño de la caja y conversión de sus datos en código ‘G’, el trabajo de corte y fresado de todas las piezas lo realiza la CNC. Si queremos obtener un buen acabado y precisión, es importante que los cortes se realicen en capas, no en una sola pasada.

Fresado de la caja

También es importante incluir unas pequeñas zonas en cada cara de las piezas, en las que la fresadora no realice el corte por completo. Estos pequeños puntos de sujeción evitarán que se muevan las piezas de su estructura durante el corte, evitando su desplazamiento y marcado por la fresa.

Montaje de la caja

Una vez cortadas todas las piezas que componen le caja, incluido su frontal de metacrilato, la pegamos con cola blanca (dejando la tapa lateral derecha sin pegar). La tapa lateral derecha irá sujeta con 2 tornillos, y es la que nos dará el  acceso al montaje y desmontaje de todos sus componentes en el interior. Para obtener un buen acabado, se sellan las juntas de todas las uniones que van pegadas, con cola blanca y serrín de la misma caja, suavizando todas las aristas con una lija especial para madera.

Ajuste de los PCB's en la caja

Para terminar se pinta la caja en color negro mate, con pintura en spray, y se comprueban los soportes colocando los circuitos impresos en su lugar y cerrando la caja.

 

Termostato de precisión #1

Construcción de un termostato digital, para controlar temperaturas con una precisión de 0,1ºC. Este termostato utiliza el sensor DS18B20, está controlado con el microprocesador AT89S52, y permite regular temperaturas entre -40 y +100ºC. También es posible controlar de forma simultánea los dos circuitos de un climatizador, el de frío y calor. Este termostato podría utilizarse como climatizador en un automóvil, controlar la temperatura de un edificio, la del agua de una piscina, incluso la de una incubadora. En esta primera parte, se muestra el diseño y construcción del termostato.

Descripción de funcionamiento

Este termostato permite calibrar su sensor de temperatura (DS18B20) en saltos de 1ºC, permitiendo un Offset entre -5 y +4ºC sobre el valor medido. Este valor de calibrado, junto con el valor de temperatura de referencia del termostato, también configurable mediante los pulsadores, son almacenados en la memoria RAM del propio micro controlador (AT89S52). Para evitar la pérdida de dichos valores en caso de perder la alimentación mientras está funcionando, el circuito incorpora una pequeña batería recargable de 3,6V Ni-MH.

Esquema: Termostato de precisión

Salidas de control

El termostato permite controlar los dos circuitos de  un climatizador de forma simultánea, el circuito de frío y el de calor. El micro controlador dispone de 2 salidas con estado lógico ‘0’ y otras 2 con estado lógico ‘1’. De esta forma es posible conectar cualquier driver en sus salidas. En este circuito he utilizado un módulo compuesto por 2 relés de 5V, de disparo con estado lógico ‘0’ y entradas optoacopladas (ver imagen).

2 Relay Module

Power Down Mode

La activación del ‘modo apagado’ (Power Down) del micro controlador permite minimizar al máximo su consumo. La detección de dicha caída de tensión se realiza mediante la lectura del nivel lógico 1/0 en el pin 39 (P0.0) del micro controlador. A pesar de que se podría simplificar el circuito intercalando una resistencia entre dicho pin (P0.0) y la entrada +5V, es mucho más eficaz entregar un nivel lógico en su entrada fijando su umbral de decisión. El circuito detector del umbral de apagado, está fijado por el valor del diodo Zener montado entre la base del transistor BC557 y masa (ver el esquema). En lugar del diodo Zener, puede utilizarse un diodo LED que tenga un umbral de encendido próximo a 3V.

A pesar de que el consumo del micro controlador se reduce bastante, es conveniente conectar la batería únicamente cuando el termostato esté en uso. De otra manera, la batería acabaría por descargarse. La finalidad de la batería es la de mantener los valores de configuración mientras el termostato está funcionando, y no cuando esté almacenado sin uso. En el esquema podemos ver que la desconexión de la batería se realiza mediante la extracción de un puente (jumper) entre el polo negativo de la batería  y masa. Este puente puede sustituirse por un pequeño interruptor deslizante, para poder accionarlo sin la necesidad de tener que abrir la caja.

Circuito impreso

Para la realización de este termostato he utilizado un circuito impreso de tipo universal. Es cierto que el acabado queda mucho mejor si se monta en un circuito impreso hecho a medida. Sin embargo, muchos aficionados a la electrónica son reacios a ‘perder el tiempo’ en fabricar un circuito impreso, y prefieren utilizar placas de tipo universal. Además, la fiabilidad del circuito impreso sólo depende del cuidado que se ponga durante el montaje y soldadura de sus componentes… el aspecto no mejora la fiabilidad.

Circuito impreso universal

Firmware

Termostato de precisión (v1.00)

Caja y frontal

He utilizado una caja de plástico de tipo comercial, de tamaño 130×130 mm y 35 mm de altura. Para darle un mejor acabado, he utilizado un trozo de Polimetilmetacrilato (Plexiglas).

Frontal delTermostato

El mecanizado y serigrafía lo he realizado con la CNC.

 

Bingo electrónico

Construcción de un Bingo electrónico, fabricando una matriz con 90 diodos LED de forma artesana (sin circuito impreso). Este montaje es muy adecuado para que lo pueda realizar cualquier aficionado a la electrónica.  El Bingo electrónico está construido a partir del micro-controlador AT89S52.

En la primera parte del video se muestra la fabricación de la matriz, en una carcasa de fibra plástica, y se fresan con una CNC los números en una lámina de plexiglás (PMMA) semitransparente.

En la segunda parte del video se analiza el esquema eléctrico, realizando la construcción de la lógica de control y la comprobación de funcionamiento. También se explica el sistema de multiplexación, midiendo las formas de onda con el osciloscopio. Al final, se realiza la construcción del frontal con serigrafía, y se construye una caja utilizando madera reciclada.

MULTIPLEXACIÓN

En la imagen siguiente se muestra el mapa de memoria del Bingo, necesaria para almacenar y mostrar en la matriz LED los números que van saliendo.

Mapa de memoria

La información de los 90 números del Bingo se almacena en 12 Bytes RAM del micro-controlador (12 Bytes X 8 Bit = 96). El Bit menos significativo  (LSB) del primer Byte contiene el  estado del número 1 del Bingo (LED: On/Off). El Bit más significativo del Byte 11 contiene el estado del número 88; y del Byte 12 de la memoria sólo se utilizan los 2 Bit menos significativos, asignados a los números 89 y 90 del Bingo.

Para mostrar toda la información del Bingo en el panel frontal, es necesario multiplexar en el dominio del tiempo 11 informaciones diferentes: las 9 líneas del panel numérico + 2 para el display de 7 segmentos. Como las líneas van conectadas a los ánodos de los diodos LED, el micro-controlador tiene que habilitar de forma secuencial y cíclica cada una de las 11 líneas de control, generando un impulso positivo en cada instante. Como se puede ver en el mapa de memoria, las 8 primeras líneas van conectadas al puerto 2 del AT89S52, la 9ª línea al P3.6, la 10ª línea al P1.1 y la 11ª al P1.0.

Multiplexado
Frecuencia de refresco

En este oscilograma se muestra la forma de onda de una de las 9 líneas de control del panel numérico. Con esta medida podemos conocer el tiempo que está encendido cada diodo LED (237 uSeg) y su velocidad de encendido = frecuencia de refresco (311 Hz). La frecuencia de refresco tiene que ser superior a la persistencia del ojo humano, procurando siempre que esta velocidad sea lo más alta posible, con el fin de evitar el efecto parpadeo o estroboscópico, al mezclarse dos fuentes de luz de frecuencia diferente.

¿Cómo se genera el número?

La generación del número aleatorio se basa en el modo de funcionamiento del sistema mecánico, mediante la extracción de una bola numerada del bombo. En un Bingo tradicional (mecánico), al principio hay 90 bolas numeradas dentro del bombo, y en cada extracción el número de bolas va disminuyendo de una en una.

En este Bingo electrónico, la generación del número se hace siguiendo estos pasos:

  • El micro-controlador utiliza un contador (Timer) que modifica su valor a una velocidad de 2 millones de valores por segundo aproximadamente (0,5 uSeg).
  • El valor del número máximo de este contador se limita en función a la cantidad de números que faltan por salir en el Bingo. Al principio el número máximo es 90 y va decreciendo a medida que se van extrayendo los números (igual que el número de bolas de un bombo mecánico).
  • En el momento que se pulsa el botón, el micro-controlador toma el valor del número generado por el contador, y este valor lo asigna al ‘hueco libre’ que queda en la tabla de números que faltan por salir.
  • Con ese valor, el micro-controlador busca el ‘hueco libre’ dentro de la tabla de números, empezando desde el número 1 hasta el 90, y luego asigna esta posición de ‘hueco libre’ al número real… ocupando el hueco y mostrando el número real en el display de 7 segmentos

De esta manera, las probabilidades de salir un número determinado son las mismas que en un bombo mecánico (es totalmente aleatorio). Por otra parte, se evita la generación de números ya extraídos.

Circuito de control (CPU)

Esquema BINGO

Siguiendo el esquema es muy fácil montar todos los componentes en una placa de circuito impreso de tipo universal (taladros sin conexiones). Las conexiones se pueden realizar por debajo, creando las pistas del circuito con hilo fino de cobre y estaño. Si se colocan bien los componentes, las conexiones estarán muy próximas y no será necesario realizar puentes para atravesar las pistas. Una vez finalizado el montaje, el micro-controlador AT89S52 se puede programar directamente en la placa, utilizando las conexiones ICSP que se muestran en el esquema.

El firmware de este Bingo se puede descargar de forma gratuita desde el siguiente enlace: J_RPM_v1_BINGO.HEX

Si no dispones de un programador, podrías utilizar Arduino para hacerlo:

Programador ICSP con ARDUINO

Reloj LED de pared

Kit Reloj LED (FC-209)
Kit Reloj LED (FC-209)

Partiendo del desarrollo del kit de reloj de esfera rotante FC-209, fabricaremos un reloj de mayor tamaño para poder colgarlo en la pared. Los pulsadores irán situados en el frontal de la esfera, y así podremos utilizarlo en modo cronómetro… muy útil para temporizar los ejercicios en un gimnasio, utilizarlo como temporizador en la cocina, etc. Este reloj dispondrá de las mismas funciones que tenía la última revisión del firmware (v5), pero en esta versión (v6) vamos a utilizar un cristal de cuarzo de frecuencia más alta (con el fin de mejorar la velocidad de refresco) y también sustituiremos la pila de botón por una pequeña batería recargable.

Registro de carga del DS1302
Registro de carga del DS1302

La recarga de esta batería será permanente, siempre que esté alimentado el reloj, y la controlará el propio chip de reloj DS1302.

La versión 6 del firmware, se puede descargar de forma gratuita desde el siguiente enlace: J_RPM_v6_EC1204B.HEX

En este reloj, el display de 4 dígitos BCD lo construimos con diodos LED. Montaremos 2 diodos por cada segmento (se podrían montar más), de los 7 que se compone un dígito BCD. Al conectar 2 diodos en serie de alto brillo, necesitaremos una tensión de alimentación superior a los 5V que disponemos para alimentar el reloj. Con el fin de poder adaptar este circuito con cualquier configuración que utilicemos para construir los dígitos (número de diodos en serie por segmento), utilizaremos el módulo elevador de tensión MT3608.

Esquema MT3608
Esquema MT3608

La tensión de salida de este módulo la utilizaremos para alimentar los 4 dígitos del reloj. Mediante el potenciómetro de ajuste de tensión, podremos adaptar la tensión de alimentación  y modificar el brillo de los 4 dígitos centrales.

Esquema del Reloj (v6)
Esquema del Reloj (v6)

En este esquema se muestran los componentes que irán instalados en la placa de circuito impreso. Tanto los diodos LED como sus resistencias limitadoras, irán instalados en una placa de plástico.

Ensamblado de los diodos LED
Ensamblado de los diodos LED

Con el fin de facilitar la realización del circuito impreso, no he utilizado un programa de diseño PCB, simplemente lo he dibujado utilizando el software ‘Paint’ que incorpora Windows en todos sus sistemas operativos. El circuito impreso de la imagen siguiente, está a escala DIN-A4. Puede imprimirse directamente en papel, o utilizar una lámina transparente (especial para impresoras láser) para conseguir un fotolito a escala.

Fotolito del Reloj LED
Fotolito del Reloj LED

Siguiendo el esquema de conexionado que se muestra en la imagen siguiente, podremos terminar el montaje. Como la tensión de alimentación de este reloj es de 5V, podremos utilizar cualquier cargador que tengamos para alimentar dispositivos móviles. El alimentador de 5V podría instalarse en el interior… o fuera con el fin de poder utilizar este reloj con baterías (Power Bank).

Montaje: Reloj 15x15
Montaje: Reloj 15×15

El modo de funcionamiento y ajustes de este reloj (v6), es idéntico al que se mostró en la última versión del firmware (v5):

Configuración del Reloj LED (v5)
Configuración del Reloj LED (v5)

En la primera parte del video se muestra el diseño del reloj, la construcción del PCB y el montaje de todos los componentes:

En la segunda parte del video se muestra el proceso de fabricación de la carcasa, ensamblado y grabados con la CNC (fresadora de control numérico) de la carátula frontal: