The thermocouple is generating a temperature dependent voltage, roughly 10 mV at 250 °C. This voltage is measured by a 16 bits ADC. The ADC is included in the Freescale MKL25Z128VLK4 MCU. This MCU also have a nice feature of hardware averaging of up to 32 ADC samples. After reading the temperature, an on/off PID control loop is implemented inside the same MCU, in order to follow the temperature profile specified by the solder paste manufacturer. A temperature chart is displayed on the touch screen LCD, and data can be send/received over Wi-Fi, using an ESP8266 module. The oven AC power is switched on/off by a BT139 triac, that is driven by a MOC3063 optotriac with zero crossing detection.
Components
1×
Electric Oven
Kitchen oven (toaster type, NOT microwave)
1×
FRDM-KL25Z
Freescale devboard with MKL25Z128VLK4 MCU
1×
ESP8266
Wi-Fi module
1×
MOC 3063
Opto and Fiber Optic Semiconductors and ICs / Optocouplers and Optoisolators
Installing the Freescale programming tools is not trivial.
the IDE is based on Eclipse and GCC, and is called Kinetis Design Studio
to start a FRDM project, you also need to install the Freescale SDK as an Eclipse update
the programmer is based on OpenSDA, a software tool which, by the way, is not open, and is from another company
How to start a new FRDM-KL25Z project:
Install KDS (Freescale Kinetis Design Studio)
Install KSDK (Freescale Kinetis SDK), otherwise FRDM-KL25Z will not be present in the New -> Project wizard
- In the installation folder of the KSDK go to tools (Default is 'C:\Freescale\KSDK_1.2.0\tools\eclipse_update')
- Unzip 'KSDK_1.2.0_Eclipse_Update.zip' into 'C:\Freescale\KSDK_1.2.0\tools\eclipse_update\KSDK_1.2.0_Eclipse_Update'
Open KDS and go to Help -> Install New Software...
- Press 'Add...', then 'Local', then browse to 'C:/Freescale/KSDK_1.2.0/tools/eclipse_update/KSDK_1.2.0_Eclipse_Update'
- Install 'KSDK 1.2.0 Eclipse Update'
Restart KDS
Create a new project
- File -> New -> Kinetis Project
- Type a name in the 'Project name:' field, then press 'Next'
- Type 'kl25z' in the 'Processor to be used:' field
- Click on FRDM-KL25Z, then press 'Next'
- Check the 'Processor Expert' checkbox, then press 'Next'
- Press 'Finish'
3D Printing AVR Arduino Art Audio Automation BeagleBone Bluetooth Cameras Clock Drones Environment Hardware IoT LED Medical Music Radio Raspberry Pi Remote Control Robotics Rockets Satellites Science Security Software Virtual Reality Wearables
First try to read the temperature was with a Texas Instrument 16 bits ADC, ADS1118, and an Arduino.
It was a failure, because ADS1118 proves to be very unreliable when used with the schematics from it's own datasheet. I fried 3 chips. Still don't know how, but after I looked at the TI evaluation board schematic for ADS1118, I saw insane electrostatic protections for this chip. I guess it was an electrostatic failure, and I swear I never burnt a chip before in this way.
This is King ADS1118 Failure, the 3rd:
So, I looked for another 16 bits ADC, possible with a temperature sensor on it, for the cold junction compensation of the thermocouple. A K type thermocouple gives about 10 mV at 250 °C (482 °F), so a 16 bits ADC was a request in order to avoid a low voltage DC analog amplifier circuit and it's offset and temperature drift problems.
It proves out that the Freescale dev board FRDM-KL25Z was just the right thing:
it has a 16 bits ADC
ADC have a nice feature of hardware averaging up to 32 ADC samples, very useful to filter the voltage noises
temperature sensor on the chip, good for thermocouple cold junction compensation
much faster and with more memory and processing power than Arduino
pinout of the FRDM-KL25Z dev board is compatible with Arduino shields, so the same LCD with touchscreen can be used
native USB
With all these hardware goodies, the only drawback is that I am not so familiar with Freescale software development tools, but I really like working with something new.
3D Printing AVR Arduino Art Audio Automation BeagleBone Bluetooth Cameras Clock Drones Environment Hardware IoT LED Medical Music Radio Raspberry Pi Remote Control Robotics Rockets Satellites Science Security Software Virtual Reality Wearables
To leave the oven unchanged, a controlled on/off power outlet is necessary.
A case from a dead PC power supply is used as an enclosure for the high voltage side of the controller. This is very convenient because it already has power sockets, fan and ventilation holes. The electronics from the old PC supply was removed and replaced with a smaller Mean Well PT-45B power source, a 220V AC to +5, +12 and -12V DC. This will power all the electronics.
The AC line is switched on/off by a BT139-600E triac, placed on a small radiator. The radiator size is big enough for a case with a running fan. For a galvanic isolation between the 220 AC line and the rest of the electronics parts, the power triac is driven by a small optotriac, MOC 3063. This particular model of optotriac have a zero-cross detection circuit included, so it will switch on the power only when the AC line sinusoid is close to zero. This is very good for the AC line power factor. The schematic for the power side is classic was extracted from the optotriac's datasheet.
It was tested by applying 12V DC to the input, and it was able to switch the 1400W oven and keep it on with no problem.
3D Printing AVR Arduino Art Audio Automation BeagleBone Bluetooth Cameras Clock Drones Environment Hardware IoT LED Medical Music Radio Raspberry Pi Remote Control Robotics Rockets Satellites Science Security Software Virtual Reality Wearable
It's a 20 liters kitchen electric oven, bought for reflow soldering only. The highest temperature oven I could find in white goods shops was 250 °C (482 °F). It has 4 bar heaters, 2 on the ceiling and 2 on the floor of the oven, with a total of 1400 W.
On the box was written that it has a light bulb for the interior, but it hasn't. It has a fan, but I cover it because the temperature was raising too slow and too low. When it's running, the exterior of the oven is heating very, vary badly. Because the exterior heats so much, all the electronics must stay separately. This doesn't bother, because that was the plan from the beginning:
to have an external temperature controller that can control any oven, but without modifying the oven.
Tin foil was mounted on the inside to increase the maximum temperature, to cover the fan blow, and to speed up the heating rate. After covering the interior with tin foil, the oven was able to melt the solder paste with no problems.
Definitely not the best oven for the job, but good enough.
3D Printing AVR Arduino Art Audio Automation BeagleBone Bluetooth Cameras Clock Drones Environment Hardware IoT LED Medical Music Radio Raspberry Pi Remote Control Robotics Rockets Satellites Science Security Software Virtual Reality Wearables
Nice looking project, RoGeorge. Looking forward to reading more updates.
It looks like we're using the same schematic capture program, too. :-)