Hola, me parece muy interesante el tema, desarrolle hace un tiempo un PAC ( programmable automation controller ), parecido a un PLC, solo que no se programa en LADDER o es interpretado ( por ahora, ja ), si no, que lo trabajo directamente en C del micro y con librerías de los chips que estan en la placa ( como si las libs fueran drivers).
Se trata de un PIC16F877, con RTC HT1380, Memoria 24L256, 4 Entradas optoacopladas PC817, 4 Analogicas, 8 Salidas de relés (con placa auxiliar via I2C con MCP23008, probe el ULN2803 pero me trajo problemas al manejar cargas de AC 400V, inducian ruido, lo cual desaparecio por completo con el MCP ). la alimentación se efectua con un MC33063 regulador switching y la comunicación es RS485 con un DS75176. Todo el montaje es SMD.
Al momento del mecanizado, todos sabemos que no es un tema menor, lo lleve a un gabienete tipo RIEL DIN de 4 Módulos (parecido al logo de Siemens), luego comencé a trabajar en la interconexión modular vía I2C ( usando fichas tipo DIN ) para tener más módulos de Entradas /Sálidas, Módulos de llamadores, alarmas, síntesis de voz, etc. ( con tiempo se pueden hacer muchas cosas... jaja ). Pero la mecanización, fichas, etc. llevan un tiempo que no he tenido aún para poder terminar esa parte.
Tiene un bootloader y su correspondiente flash downloader en PC, para bajarle los programas al micro.
En la foto pueden ver la placa principal ( sin zocalo de pila cr2032, ni la memoria 24L256 debajo, ni el RTC ):
Mecanizado / Gabinete:
Con el módulo de 8 Reles via I2C, Display 7 segementos x 4 via I2C, y 3 botones:
El equipo lo he aplicado a funciones específicas solicitadas por clientes. Pero me gustaría darle más difusión a nivel de electrónicos que puedan desarrollar sus propias aplicaciones, haciendo crecer la plataforma.
En el camino queda mucho por recorrer / mejorar:
- se puede realizar una versión con PIC18
- se puede bajar una Maquina Virtual y ejecutar aplicaciones Java ( NanoVM ) / otra sería poner un interprete LADDER / BASIC o similar, para mi la diferencia es C.
- como dije antes desarrollar módulos auxiliares via I2C.
- mejoras al entorno de programación y librerías.
En fin... tiempo al tiempo.
Quedo a la espera de comentarios y/o solicitud de ampliación de info. Saludos.