Principles of PID Control and Tuning
It is modified by adding the interface to the IR sensor provided by Scott Dixon. The software implements a control algorithm known as the PID algorithm. PID stands for Proportional — Integral — Derivative and is the standard algorithm used for industrial temperature control. This algorithm is described in an excellent article by Tim Wescott on which Tim Hirzel based his software.
Read the article here. To tune the algorithm read about this in the article mentioned and to change target temperature settings, we will use a Processing sketch, also developed by Tim Hirzel. Name aside, it works great for surface mount soldering. You can download the original version here. In the following, I assume that you are familiar with Arduino and Processing. If you are not, then you should go through the tutorials until things start making sense.
Be sure to post Comments to this Instructable and I'll try to help out. The clock line from the IR sensor must be attached to an interrupt pin. On an Arduino, this can be 1 or 0.
On Freeduinos of various sorts, you may use any interrupts available. Attach the data line from the sensor to another nearby pin such as D0 or D1 or another pin of your choice. The control line to the hot plate can come from any digital pin. On my particular Freeduino clone describe here , I used D1 and the associated interrupt 1 for clock, D0 for data, and B4 for the control line to the hot plate. You should be ready to compile and download. Be sure it can handle the hot plate load with sufficient margin, say a 20 to 40 watt rating, since the testing done by the Chinese may leave something to be desired.
- Pilots Notes For Spitfire VA, VB VC And Seafire IB, IIC III!
- The Periodic Table.
- Control Tutorials for MATLAB and Simulink - Introduction: PID Controller Design.
- The Working Principle of a PID Controller for Beginners.
- What is closed loop control system? - Definition from jerksibpionanlo.ga.
- Barefoot Contessa Foolproof: Recipes You Can Trust!
- PID controller?
See the picture of the controller. The yellow jumper is the Control Signal Input and the green jumper goes to Ground. I like to use an blinkenlight led with a resistor to ground on the output pin so I know when it's on. Connect your jumper between the led and the port as shown.
Now rig up a support to hold the IR temperature sensor over your hot plate. The picture shows what I did. Simple but sturdy is the rule. Keep anything flammable well away from the hot plate; the sensor is plastic and seems to be just fine 3 inches above the surface of the plate. If you have cats like mine, they love to chase the led pointer. So cover the led with some opaque tape to keep your cats from jumping on the hot plate when you're using it. Before you plug the hot plate AC controller intoV, here's how to test the system out and set initial target values for temperature.
I find it a good idea to start the temperature controller with the hot plate unplugged at first. Make sure everything is working before you plug it in. Connect your serial port to your Arduino and power it up. Compile the Arduino sketch and download it. Start the Processing sketch to interact with the controller and display results.
Occasionally, the Arduino sketch will not synchronize with the Processing sketch. Simply stop and restart the Processing sketch and things should be OK. If not, have a look at the Troubleshooting section below. Here are the commands for the controller. First set the value of delta that you want to use. Then adjust the desired parameter using that delta. When you start for the first time, you may be prompted to reset the initial values.
Go ahead and do that. The values in the upper right corner are the current readings and settings. I'll discuss them in a moment. It's a value between 0 always off and always on. If you put your hand under the sensor, you should see the temperature Curr reading jump up.
What is closed loop control system? - Definition from jerksibpionanlo.ga
Increase the target temperature and the output led will stay on longer. When the hot plate is connected and operating, increasing the target temperature will cause the hot plate to turn on. As the current temperature approaches the target temperature, the on time will decrease so that the target temperature is approached with minimal over-shoot.
Then, the on time will be just enough to maintain the target temperature.
You can start with the values I use. My system will do a 50C step in about 30 seconds with an overshoot of less than 5 degrees. If your system performs significantly differently, then you will want to tune it. Tuning a PID controller can be tricky, but the article referenced above explains how to do it very effectively. Now it's time for the real thing.
Be sure to read all the cautions in there as well.
Position your temperature sensor so it is about 3 inches above your hot plate and pointing directly at it. Make sure all the connections are correct and that your software the PID controller and the monitoring program is running properly. Start with the target temperature set to 20 C. Then increase the target temperature to 40 C. You can now try increasing temperature as you observe the performance of your system.
File Extensions and File Formats
You'll notice that it takes much longer for the plate to cool down than it does to heat it up. Tap the space bar and hit return. The Arduino should respond with the current temperature reading. Adjust settings of baud rate, etc. Once this works, the Processing sketch should run. Using the temperature control system described in this Instructable improves Extreme Surface Mount Soldering in two ways. First, temperature control is more accurate and significantly quicker. We still have to watch for the point when the solder flows and turn off the power, or just quickly lower the target temperature.
Since the temperature comes down very slowly, I usually slide my circuits off the hot plate as soon as the temperature has cooled below C. Put them on a piece of perf board or wood, not metal. The metal could cause them to cool too quickly. Note also that you might have to raise the target temperature over C the maximum the sensor will read in order to get the plate hot enough in certain areas. The plate will not reach a single temperature over the entire surface but will be cooler in certain areas than others.
The second area of improvement is a reduction in the time between soldering cycles. With the open loop system, I had to wait for the hot plate to cool to room temperature about 20C to start a new soldering cycle. Now I only need to wait for a stable temperature around C and I can start a new cycle.
Related Digital PID controller.Closing the loop with a PIC
Copyright 2019 - All Right Reserved