Pedazo de pastel. Como tendrá la interfaz EIA232 para programación remota, mantendré la interfaz de usuario para el termostato en sí simple. Lista de compras del microcontrolador:
- UART
- I2C y / o SPI
- 2k o 4k Flash
- alrededor de 16 E / S digitales, capaces de una unidad de 20 mA
No se requiere alta velocidad; 1 MHz o menos es suficiente. Muchos microcontroladores se ajustarán a esta imagen, como por ejemplo el AVR ATtiny48 para nombrar uno. Disponible en un paquete DIL, puede ser un plus.
Este es el aspecto que tendría la pantalla :
Probablementenonecesite4dígitos,para3dígitosnecesita11E/S.
Paraelsensordetemperaturapuedeusarunoconinterfazdigital,SPIoI2C,oanalógico;elATtiny48tieneADC.I2Cnecesita2cables,frentea4paraSPI,eI2Ctienelaventajadequeesunbus,dondepuedeconectarmásde1sensorsiesnecesario.El TCN75A también mencionado por dadinck es adecuado: a 2 ° C de precisión, y puedes conectar 8 de ellos a tu autobús.
Eso es 2 pines de E / S.
El UART solo necesitará TX y RX, que son 2 pines, que se conectan a un MAX3232 o un transceptor similar.
El RTC puede ser un dispositivo I2C, así que lo conectamos al bus. Vamos a usar un PCF8563 para eso.
El ATtiny48 solo tiene 64 bytes de EEPROM a bordo, y eso puede ser suficiente o no para almacenar el programa del termostato. Necesitará 3 bytes por momento de conmutación: 11 bits para la hora del día (9 bits si una resolución de 5 minutos es suficiente), 7 bits para los días de la semana y 5 o más para almacenar la temperatura durante ese tiempo. Con la EEPROM interna puede almacenar 21 momentos de conmutación, pero solo queda 1 byte para otras configuraciones (cualquiera que sea). De todos modos, si necesita más EEPROM, nuevamente usaremos un dispositivo I2C, como el AT24C04B . 512 bytes y solo 28 centavos.
Hasta ahora hemos usado 15 I / Os, y obviamente necesitaremos una para cambiar la calefacción a través de un relé . Eso es 16. El ATtiny48 en DIL tiene 23 E / S disponibles, por lo que quedan algunos botones para botones / interruptores . Usted querrá al menos un interruptor de apagado del programa.
El ATtiny48 tiene un oscilador interno que se puede calibrar con una precisión del 1%. (Personalmente hubiera preferido que Atmel hiciera esto en producción).
El Flash de 4 kB debería dejarte suficiente memoria de repuesto para incluir un simulador de vuelo, por así decirlo.
Esa es una configuración básica con un AVR. Puede hacer lo mismo con un PIC o cualquier otro controlador de 8 bits por un precio comparable.
La fuente de alimentación puede ser un módulo compacto como éste :
Más compacto y eficiente que el clásico regulador lineal.