PID Temperature Controller - Open Source
PID Temperature Controller - Open Source
I'm making an open source temperature controller. The controller is able to control a toaster oven as a solder reflow oven.
I'm making an open source temperature controller. The controller is able to control a toaster oven as a solder reflow oven. Read more
My name is Karel and I'm creating an open source temperature controller. Please see the FAQ for open source licenses. I initially started this project because I make my own prototype PCBs at home, using the toner transfer method, and found out the laminator I use, a Scotch TL-901, doesn't run hot enough and it took several passes to get the board hot enough. Instead of taking the time to reverse engineer the control board that was in the laminator, I decided to make my own.
After I finished the first prototype, I quickly realized there could be a lot of uses other than controlling a laminator. Some that came to my mind included using the board to modify a window A/C to be used in a walk in cooler, measuring inside and outside temp to control a green house, using it to control an aquarium heater, or even controlling egg hatching. I'm sure there are lots of other uses that the open source community will find.
Update 9/1/2011 - Based on backer requests, I have tried to, and succeeded in, controlling a toaster oven. This allows for many craft and hobby projects like electronics solder reflow, baking sculpting clay, or maybe even...cooking! This controller can be used for just about anything.
Update 9/8/2011 - Added new features to the code. It now auto detects line frequency and adjusts triac timings to match.
Added code to convert thermistor reading into temperature. This allows use of sensors that can handle temperatures high enough to be used for solder reflow.
First attempt at reflowing a board with the new modifications:
A new serial terminal mode has been added. Simply installing a jumper disables the display board and buttons and enables the new mode. Please see update #3 for more additional details.
A new reward option has been added. The controller fully built and installed in a toaster oven.
The main board.
The controller itself is divided into two boards. The main control board that has the power supply, the microcontroller, IO header, and 2 analog sensors. Here is a built board:
Features of the main board:
1.6 inch wide by 2.8 inch long by 1 inch tall
PIC24F08KA101 microcontroller as the brains - This 16bit microcontroller provides lots of power and memory. Currently, the prototype uses less than half the memory, so there is plenty of space for new features to be added.
ICSP header - On board programming header makes code changes quick and easy.
PID control loop - Gets to temperature quickly and can be tuned to different applications.
Two dedicated analog inputs - By default, the board uses two diodes and the microcontrollers built in CTMU module to measure temperature, no special ICs needed. The diodes can easily measure up to +325 to -40 Fahrenheit. In the photo, their connectors are next to the 20pin microcontroller.
TRIAC output - Currently the board can drive a 6 Amp load from 0 to 100% power. With a more powerful Triac and thicker traces this can easily be pushed higher.
Opto-isolated - The Triac is isolated from the microcontroller for safety.
On board power supply - The main control board includes a transformer and 3.3V regulator capable of 100mA. Approximately 70mA is used by the current hardware, with most going to the 7 segment displays. This leaves a bit of head room for added hardware if it's needed.
I/O header - There is a 20 pin header that connects to the display board. If the display isn't needed, the header provides easy access to many of the microcontroller I/O pins along with 3.3V and ground.
Sized to fit - The board is sized and has mounting holes to bolt right where the old control board was in a Scotch TL-901 laminator. Some soldering and wiring is necessary to connect everything, but it's not to difficult. It will void the warranty.
The display board.
The display board is simple with three 7-segment displays, 3 buttons for user input, current limiting resistors, and MOSFETS to muliplex the displays. If the display and buttons aren't needed, the main control board can be used stand alone or a custom display/button board could be made that connects to the 20pin I/O header on the main control board. Here is a photo of a built display board:
Features of the display board:
1.5 inch wide by 1.5 inch long by 0.75 inch tall
Three 7 segment displays - Provide an easy see readout even in a dark room.
Three push buttons - Easy to use interface.
On board MOSFETS - Used to multiplex the displays.
I/O header - Connect to main board with a simple 20 pin ribbon cable.
Universal - Since there are no special ICs on the display board it could be used with a different microcontroller. Currently it's setup for 3.3V but by simply changing 7 current limiting resistors will allow use on 5V systems.
I'm using Kickstarter to get this project into the hands of hobbyists that might not have time to create something from scratch. The money will be used to order a few more prototypes, to allow me to fix a couple minor issues in the original prototype and to order all the components and final boards in bulk. The more of a single component I can order, the cheaper it becomes.
Also, with this being an open source project I will use some of the money to setup a website that will provide the source code and layout files for download. I will also setup a community section where users can upload their custom code and boards to share with everyone. I hope to see a lot of projects that I never though of get created and shared. Please read the FAQ for more information about open source.
How long will it take?
I already have a working prototype mounted in my laminator. I need to fix a few small issues and order all the components. I hope to have all the parts by November, but that's still tentative. After I get all the parts I will need to build and test boards. I hope to see the first boards ship sometime in December.
If you are interested in following my design and debug of the prototype please check out my blog.
Thanks for taking the time to take a look at my page and for supporting Kickstarter! I look forward to your comments.
- (35 days)