Skip to content

Replace an old boiler analogic controller by a microcontroller communicating through WiFi with a control server.

Notifications You must be signed in to change notification settings

RICCIARDI-Adrien/Boiler_Controller

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

Boiler Controller

Hardware

Schematics have been drawn using Eagle 8.3.1.

Power board

This board contains the AC/DC converter, the relays and the connector to the wall housing.

Power board schematics

Power board PCB

Controller board

This board holds the microcontroller and the WiFi to UART bridge.

Controller board schematics

Controller board PCB

Components

Analog signals characteristics

  • Day trimmer : resistance variation from 50 to 110ohm.
  • Night trimmer : resistance variation from 0 to 60ohm.
  • Radiator water start thermistor : resistance variation from 580 (+80°C) to 900ohm (-20°C).
  • Outside thermistor : resistance variation from 340 (+40°C) to 480ohm (-10°C).

Microcontroller uses a 3.3V precision voltage reference for the ADC module to gain more precision with small variation signals. All voltage dividers must be calculated as the highest variable resistance value results in a 3.3V maximum voltage on the ADC pin.

Fuse value calculation

AC/DC converter inrush current is 40A for less than 500us, so a temporized fuse is needed to allow the board to boot.
AC/DC converter maximum input current is 150mA @ 240V, but due to enormous inrush current a big fuse must be used. A 250V/2A fuse has been chosen because this is the fuse used on the VTX-214 demo board (http://www.farnell.com/datasheets/1878969.pdf).

Software

Building microcontroller firmware

Install avr-gcc to build the microcontroller firmware.

Go to Software/Microcontroller_Firmware directory and type the following command to build the firmware :

make

File Boiler_Controller_Firmware.elf will be created.

Flashing microcontroller firmware

You need to install avrdude to access to the programmer.
Firmware can be burnt to the microcontroller memory by connecting an AVR ISP programmer to the controller board ISP connector and typing the command :

make flash

You can override the PROGRAMMER_SERIAL_PORT environment variable with the serial port your programmer is connected to.

Building web server

You need to install libmicrohttpd library before building.
On Debian/Ubuntu system, use the command sudo apt install libmicrohttpd-dev.

To build the web server, go to Software/Web_Server directory and type make.

Installing web server

Go to Software/Web_Server directory, build web server then type sudo make install to install server and init script.
You can use sudo make uninstall command to uninstall the server and all related files.