Controlador programable didáctico

A partir de un prototipo de un control de temperatura para una máquina industrial que no resultó estoy encarando este nuevo proyecto. Se trata de un pequeño controlador programable para usos didácticos. La idea es reciclar gran parte de los componentes soldados y dotarlo de un nuevo microcontrolador, la versión original estaba basada en un PIC y la remake en un Arduino Pro Mini.

Este controlador tiene múltiples aplicaciones en el campo de la experimentación y el aprendizaje, y espero sirva de inspiración para montar uno similar ajustado a las necesidades de cada uno. En mi caso pienso utilizarlo para enseñar electrónica, programación y automatización.

En este artículo voy a describir las diferentes etapas que lo componen y en próximos trabajaré con programación y ejemplos concretos de uso. Pueden descargar los archivos del proyecto desde el siguiente enlace.

Fuente de alimentación

Se alimenta a partir de un transformador de corriente alterna de 12V – 1A. Debido a que el microcontrolador necesita de 5V de corriente continua para funcionar, es necesario rectificar, filtrar y regular la tensión. Nuevamente me basé en el regulador lineal de bajo costo LM7805 junto a algunos componentes adicionales.

Microcontrolador

Estoy usando una placa Arduino Pro-Mini con un ATmega328 corriendo a 16MHz. Es una versión económica ya que no posee la interfaz USB y ocupa muy poco espacio. Para programarla es necesario contar con un adaptador TTL a USB que se consiguen fácilmente por poco dinero.

Reloj de tiempo real

El controlador posee un reloj de tiempo real (RTC), basado en el circuito integrado DS1307. Se comunica con el Arduino mediante el bus I2C y nos permite acceder a funciones de calendario y hora. Cuenta con una pila CR2032 de respaldo para mantener las configuraciones del chip cuando el dispositivo no se encuentra energizado.

Sensor de temperatura

Es posible realizar mediciones de temperatura ambiente directamente con el sensor DS18B20 integrado. El rango de trabajo del sensor es de -55 a +125 grados centígrados, ocupa solo un pin del Arduino y el único componente requerido es una resistencia de 1kΩ.

Entradas

Es posible leer datos mediante 5 entradas digitales optoacopladas con el circuito integrado PC817. Cada una cuenta con un LED testigo y la posibilidad de trabajar con hasta 24VCC. También contamos con una entrada analógica conectada directamente al Arduino en el pin A7 que permite leer valores de 0 a 5VCC.

Salidas

Tenemos a disposición 3 salidas de potencia mediante relé simple inversor con LED testigo. Cada relé posee sus contactos conectados directamente a una bornera de tornillo. Además contamos con una salida PWM de 0 a 5VCC conectada al pin D11 del Arduino.

Teclado

El teclado permite ingresar datos o parámetros según la lógica de programación. Ocupa únicamente el pin analógico A0 del Arduino, para esto se vale de una red de resistencias que actúan como un divisor resistivo. A cada pulsador le corresponde un único valor analógico.

Pantalla LCD

Como interfaz HMI tenemos a disposición una pantalla LCD de 2 filas de 16 caracteres. Es posible ajustar a gusto el contraste de la misma mediante un preset de 10kΩ.

Diagrama de conexiones

El siguiente diagrama pictórico muestra los principales componentes de la placa y la descripción de cada borne.

En el próximo artículo trabajaré con la programación de la placa y su aplicación en casos reales.

Artículos relacionados