Posted by SainSmart on




Hi @ll,


I have started a new poject.......
A friend ask me  to build him a temperature control unit for his home brew beer production. :-)

This control unit should be able to hold the temperature of a fluid on a defined temperature level and control the heating of the fluid tank.
The heating element of the tank has a power of 1800W.

To control it, I will choose for this task a 20A relay.

My Setup:

  • SaintSmart 1,8" TFT ( similar to the adafruit TFT) - useing the adafruit libraries (ST7735 and gfx)[click]
  • Arduino mini pro 328
  • PT1000 with a Hygrosens PT-MOD-10V-T2 0 - +160 °C converter unit

During implementation of the firmware I decided also to create a framework for this wonderfull TFT Display useing the Adafruit libs.
With this framework you will be able to setup very quick and easy complex graphic objects on your HMI ( TFT Display ) like Symbols,Textfields, Leds, Bargraphs and many more.

Each object has several defined functions to parametrization e.g foreColor, backColor,Text,max min Values, update an object, write a value to a object or toggle it synchronized by time. ( e.g the framework should have a similar usability like working in a modern IDE like Visual Studio .NET)

So a full working Bargraph is only some rows of code in your arduino sketch, because the working code is stored in a C++ class in my framework.

A little overview about this framework you can see in the enlosed video.

The next picture will give you an overview about my HMI screen (HMI HumanMachineInterface)

  • First row the Header Text is displayed - here the name of the application
  • 6 Symbol 
    • R ... RUN Mode => this symbol will toggle between green and black once a second(the time is variable to define )
    • P ... Programm Mode => this symbol is static if you are in program mode
    • A ... Automatic Mode  => this symbol is static if you are in automatic heating mode
    • m ... manual Mode      => this symbol is static if you are in manual heating mode
    • H ... Heating                => this symbol is static if the heating element is on
    • E ... Error                   => this symbol is static and shows that warning or error  occur
  • IST Temp = actual temperature ( e.g here 51°C - its only sample  here)
  • ZIEL Temp = target temperature ( e.g here 20°C - its only a sample here )
  • dT = delta temperature - this will be the lower power up position of the heating element. If the actual temp. is bigger than the target temp. the heating element is switched of and turns on if actual temp. is lower than target temp minus dT
  • on last position a Bargraph of the actual temperature is displayed with the maximum and minimum values



I going to report more details about this and especialy the HMI Framework soon.

Enjoy it :-)

Back to blog

Leave a comment

Please note, comments need to be approved before they are published.