Introduction: The Smart Hot Plate
The “Smart hot plate” is a traditional hot plate which is equipped of a temperature regulation system that permits to meet the setpoint temperature and keep this one until the stop order by the user.
To develop the “Smart hot plate”, here are the different steps to follow:
Step 1: Step 1 : B.O.M.
You should buy the different electrics components. The list includes:
· an hot plate
· an arduino uno
· a static solid relay (SSR 40 DA) to convert the order from the arduino to the power circuit of the hot plate
· an LCD screen and a key pad to interact with the user
· a potentiometer to modulate the luminosity of the LCD screen
· a temperature sensor used as measure.
· a breadboard for the electric connections
· some wires
· wooden planks used as mold
Step 2: Step 2 : Wiring LCD Screen
The first step of the wiring of the Arduino is to connect the LCD screen. That LCD screen will allow us to communicate with the user.
You have to follow the picture to make the good wiring between the LCD an the arduino.
If you want to test the LCD screen, you can try to write "hello word" with the basis fonction in the library of arduino.
So, you can view the basis structure of the code to run the program.
If, you want more help about the programming, you can go on the website of arduino :
https://www.arduino.cc/en/Tutorial/HomePage
Detail of connections :
pin of the LCD screen => pin of the arduino
VSS => GND
VDD =>+5V
V0 => 10K (resistor)
RS => D7
RW => GND
E => D8
D0 => not used
D1 => not used
D2 => not used
D3 => not used
D4 => D9
D5 => D10
D6 => D11
D7 => D12
A => +5V
K => GND
To test your screen, use the "Hello world" code. Here you have the code :
// include the library code:
#include LiquidCrystal.h
// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup() {
// set up the LCD's number of columns and rows:
lcd.begin(16, 2);
// Print a message to the LCD.
lcd.print("hello, world!");
}
void loop() {
// set the cursor to column 0, line 1
// (note: line 1 is the second row, since counting begins with 0):
lcd.setCursor(0, 1);
// print the number of seconds since reset:
lcd.print(millis() / 1000);
}
Step 3: Step 3 : the State Relay
You have to connect the command circuit to the power circuit by using a state relay between the Arduino and the hot plate.
The state relay is composed of a transformer primary and a secondary. The primary is linked between pwm and 0 Volt. The command sends a DC signal included between 0 and 5 Volt. This DC signal is used to modulate the AC courant from 0 to 230 V for the alimentation of the eating conductors. This stade relay works as a potentiometer, but with a electrical command in DC.
Step 4: Step 4 : the Wiring of the Sensor
The methodology that we used for the temperature sensor is the same that we used for the LCD screen. First, we researched documents about this sensor with its references. Secondly, we connected wires of sensor to Arduino and we checked with a program if it was correct.
Detail of connections :
Sensor => Arduino
Red => +5v
Black => GND
Yellow => D4
Be careful ! you have to add a resistor of 4.7KOhms in parallel between the red and yellow wires.
library of the sensor :
OneWire ds(DS18S20_Pin);
As we put the yellow wire in the D4 in the arduino board, you have to write in the code :
Int DS18S20_Pin = 4 ;
Step 5: Step 5 : the PID
You have to write the library of the PID function above the code.
#include PID_v1.h
To use the function, you have to put the line which is in the picture above.
After, the main difficulty is to find the right parameters for the PID. There are 3 Tuning Parameters: Kp, Ki & Kd. You have to do some tests, for we, the best results were with:
Kp=5
Ki=0
Kd=3
the first picture is the declaration of the PID fuction
The second picture is the PID setup settings
Step 6: Step 6: Inclusion of the Keypad
The keypad has 8 connexions whose 4 entries (L1 to L4) and 4 exits (C1 to C4).
The library to use the keypad is
# include Keypad.h
Be careful ! to use the good syntax ( view picture)
Don't forget download the library on the website of arduino
And to use the code you can also check on the differents tutorials on the website of arduino.
Step 7: Step 7 : Source Code
Here the source of our project