developing a prototype for a central heating controller using vhdl(fpga)

Discussion in 'The Projects Forum' started by culio347, Nov 15, 2009.

  1. culio347

    Thread Starter New Member

    Nov 15, 2009
    Hello everyone,
    I am currently working on a project to build a prototype central heating controller by using an integrated circuit such as a Field Programmable Gate Array (FPGA).

    I am currently using a spartan 3 board as the FPGA, A PC and using xlinix to write the VHDL code.

    The central heating controller is supposed to :

    • run on a 7-day clock timer clock timer to switch the system on/off at specific times depending on the temperature of the room hence will support a thermostat that combines good temperature control.

    • Have Over-ride functions included in it such as ON, OFF, and CANCEL and an easy to use interface is required for this functions to be effective

    • User can enter on/off times and the temperature times on this system.

    • Unauthorized users will be prevented from changing the settings

    • In event of an error or unsual input, the system will display an error signal., e.g LED LIGHT UP

    So my question is do I need to add any other components like transistors, diodes, thyristors etc to this Spartan 3 board(fpga) or everything is already included in the circuit OR all I have to do is program the vhdl to carry out this functions on the board?

    If so how can I solve these tasks step by step. What do I need to implement apart from just the program coding?

    Does anyone have any useful tips to help me carry out the above tasks on the FPGA?

    any valuable answers will be deeply appreciated Thanks
  2. spacewrench


    Oct 5, 2009
    I'm afraid I can't help you with the FPGA, but I just built my own thermostat to control a three-zone radiant floor system, so I have some recent experience that you might find useful.

    First, my device is built on an NXP2148 microcontroller, not an FPGA. The user interface programming is quite complex, since there's a lot of information to accept / display, and very limited I/O facilities. (I have a 2x24 LCD and 4 buttons.) I have a 7-day, 30-minute schedule for each zone.

    The hardware is fairly simple: apart from the microcontroller, I have a rectifying, step-down power supply so I can use the 24VAC available in my pump controller, a Maxim OneWire interface for DS18S20 temperature sensors in each zone, and opto-triacs for switching on the circulator pumps when a zone should be on.

    Step by step, you'll have to:

    * obtain temperature info somehow
    * obtain real-time clock info
    * turn furnace on/off based on temperature, clock and schedule
    (These three are pretty easy.)

    * Implement visual display
    * Accept some sort of input
    * Design & implement a UI, perhaps based on a state machine?
    (These may be more difficult.)

    Good luck, sorry I couldn't help with the FPGA aspect.