Control System

For a Thermoelectric Cooler

Project Documents

Daily Updates

August 1, 2011

Hi all. On Friday, we finished our project, cleaned up the lab, and people even started moving out! Our final paper is at the bottom of this page, under "documents". We are proud to say that we were able to design a system that efficiently kept the cooler within +/- .1 Kelvin, and another, even more efficient system, that controlled within +/- .4 Kelvin, and could be improved to the level of the other one as well. The first system uses two phases, an efficiency phase to cool close to the goal, and a control phase. The second system uses two PWM signals, so that the voltage applied is always the efficient voltage (set with high frequency PWM), but it is applied in lower frequency pulses to control the system. These are described in greater details in the software section of our website, as well as in our final paper. Our efficiency and control results are also well described in the paper, and can be viewed below. The two sets of tests we did were cooling down to -30 degrees without control, and cooling down to zero degrees with control. The first set compared our overall efficiency to that of last year's team. The second set compares our different cooling methods.

Note: Final Paper is still being compiled. Strange things with LaTex... it should be up this afternoon

Here are our graphs:

Goal Temperature = -30 degrees C

Temperatures over time

Voltages over time

Total energy use

Average power Use

Goal Temperature = 0 degrees C

Two Stage Control Method

Two Stage, zoomed in

Nested PWMs

Nested PWMs, zoomed in

Temperatures over time

Voltages over time

Total energy use

Average power use

July 28, 2011

We're almost done with our project! There's a whole lot to accomplish before we're done, though. So far, we've been able to battle our problems with inaccurate temperature measurements (who knew that pull-down resistors could be so important?), vacuum issues, issues with interfacing a laptop to a Keithley 2400 Source Meter via RS232-USB converter, etc., to test five or so different control methods and compare their efficiency. We'll be shipping our circuits and other hardware out tomorrow, as well as (hopefully) finishing up our final report, updating the rest of our website, and making our final poster. Wish us luck!

July 22, 2011

We have had a variety of successes and setbacks over the past few days. We were able to tune our constants to the point of quick and accurate control. The results are shown here. We also began to measure the power usage of our circuit. By running a voltage/current sweep, we were able to determine that the TEC has a nonlinear resistance. At low amps, the resistance approaches infinity, and by about .4 amps, it levels off to 4 ohms. Knowing this will allow us to measure the power use by measuring voltage. We were able to take one measurement, shown here. Unfortunately, we do not have a temperature graph to compare this graph with, because we found that we could not cool below zero degrees C. In order to compare our efficiency to that of the previous team's system, we had to replicate their system, by trying to get to -30 degrees C. This was where our problems began. In trying to reconfigure our circuits to work in a much more powerful vacuum, which had fewer electrical feedthroughs, we broke the cooler. It now does not accept any current. Our plan is to get another cooler as quickly as possible. When we receive the new cooler, we have plans to run 4 specific tests to find the most efficient cooling algorithm. We will then make small changes in order to find the most efficient system. As for the riskier, more difficult task of getting down to low temperatures, we will try this when we have gotten preliminary efficiency results. In the meantime, we are working on our documentation. We hope to have the cooler by Saturday.

July 13, 2011

Our battles with noise have yielded even better results! Previously, our temperature measurement circuit was picking up the PWM signal from the driver circuit, and we used software to average the signal. However, in order to achieve higher temperature resolution, we introduced a totally new kind of temperature sensor. This sensor, which produces a voltage proportional to its temperature, turns out to be much more resistant to noise, and our signal is now very clean, even without software smoothing. With that noise gone, and the temperature measurement precise and high resolution, our hardware is in great shape. We plan to make small changes to capacitor values, in order to find a good balance between a time delay in our signal and the smoothness of our signal. As of now, it takes several seconds to reach exactly the voltage we want. We can remedy this, but then we end up with a great deal of ripple in the voltage. Luckily, most voltage changes occur very quickly, and even the larger, more difficult changes get most of their movement done in a fraction of a second. Any improvement in response time will expedite our control efforts, but our goal seems attainable with our current set up.

We are also making progress in the software realm. We are concurrently doing controls tests and efficiency tests. The two efficiency experiments we want to solve are using Square Waves vs Smooth Voltages, and Fast Cooling vs Using the Lookup Table (which cools the TEC more gradually). We plan to have these tests done by the end of today, and our controller tuned by the end of Friday.

July 11, 2011

Today has been a productive day. Our attempt to fix the noise through software was successful, and we were able to read temperature accurately enough to control it. We've uploaded a number of graphs. Some of these show the temperature including electrical noise, and some show the filtered signal. However, both of these determine their control signal based on the filtered signal. You can see in all of these graphs that the signal reaches the goal quickly without overshooting, and stays steadily at the goal. We were suspicious that the filter was obscuring some temperature data, however, since the unfiltered signal is centered on the goal, we think that almost all relevant information is preserved through the filter.

Now that we've shown our control works well at temperatures down to -5 degrees Celsius, we have a few tests ahead of us. We will introduce disturbances, to see if our controller reacts well to sudden changes in the environment. Then, we will test the controller at lower temperatures. This may be an issue. While our controller is supposed to be able to reach -30 degrees C, we've only been able to give it enough power to get down to -10 degrees C. Hopefully we can improve our hardware to provide enough power to the TEC. It may also be that the TEC is not as capable as it claims. An obvious additional improvement we can make to our system is a larger heat sink. This will reduce the load on the cooler.

We are happy with our results from today. Look forward to seeing more difficult tests for our system to handle! Links to today's graphs are below:

Goal = 5, Filtered

Goal = 5, Noise

Goal = -5, Filtered

Goal = -5, Noise

Goal = -10, can't quite make it

Daily Presentation

July 7, 2011

Hi all. This will be a brief update, as we have been working on presentations and other projects today. We encountered a problem yesterday, but we've made some progress as well. The problem is that the PWM signal that controls the cooler is creating noise in our temperature measurement circuit. This makes in impossible to control the cooler precisely. However, we think we may have solved that by separating those two circuits. They are now powered with different power sources, and they are no longer on the same board, side by side. We will test this today and see if we achieved any noise reduction. The second success we had was real time graphing. We now have a great way to view the data in real time and see what behavior we are getting. This was pivotal in helping us recognize the noise. It will also make it easier for us to show you good data. If the noise is gone, we should only have software tuning ahead of us, which would be fantastic. We'll know soon!

July 6, 2011

We're back from the long weekend, and ready to start tuning everything. It looks like we have our final temperature measurement circuits. Our driver circuit is on its way, and we have a plan for moving forward with our control algorithms. Yesterday, we analyzed our temperature measurement circuits for precision and resolution. The sensor that we have higher standards for is the cold side measurement circuit. We found that the old temperature measurement circuit moved precisely in steps of .16 degrees Celsius. We aimed for .1 degrees Celsius, however, we have reason to believe that this sensor will not set back our algorithm. It can be assumed that with a better sensor, the control system will improve, so if we can get within .16 degrees Celsius with this sensor, we can likely get within .1 degrees Celsius with a more sensitive one. We did attempt to improve this circuit, using a new sensor. However, this one had a resolution of .25 degrees Celsius. This was not what we calculated, and we may be able to bring it to the .1 Kelvin that we expected, but for now, we are happy to use the old sensor for our experiments.

Speaking of experiments, the new experiment on the list is to tune the Proportional constant. The rule of thumb is to make the gain on this term as high as you can, without oscillation. We attempted this, but were having trouble with the new temperature measurement circuit, and are currently adjusting that hardware.

The last news we have is good news! The bell jar that we ordered is on the way, so we will have our own. This means that starting and finishing testing will take a combined five minutes, rather than the thirty that it takes to modify, unmodify, and clean our borrowed jar.

Daily Presentation Coming in the Morning

July 1, 2011

As we hoped, our circuits gave us the ability to measure and control the TEC's temperature. As shown in the links to graphs below, we were able to set a goal temperature of 0 degrees Celsius and experiment with different algorithms to keep it there. This required use of our vacuum environment, which allows the cooler to get to extremely low temperatures without condensation or ice forming. It was pretty amazing seeing the temperatures on the cold side drop to -5 degrees Celsius, and the hot side rise to 50 degrees Celsius (even with a huge block of copper absorbing heat!).

We were able to run several experiments, however, after about 15 minutes of high-powered cooling, the copper block was hot enough that the cooler had nowhere to put it's heat. It began having trouble getting below 2 degrees C, so we called it quits. In the meantime, we're improving our measurement and driver circuits for their next iteration, and researching how to tune our PID constants as well as possible. We found a graph online, here that shows different curves resulting from common errors in PID control systems. Stay tuned for better and better graphs!

Daily Presentation
Graphs: Proportional Only, Proportional and Integral

June 30, 2011

Yesterday was a big circuits day. We figured out that the hot side temperature sensor was reporting negative voltages at low temperatures. Since the Arduino can't read these, we had to offset the range a bit. Also, we calculated which components we need for our TEC driver circuit, found those, and eventually got that working. Our goal here is to convert a 5 volt PWM signal to a smooth voltage between 0 and 8 volts. The smoothness we developed is decent. The voltage ripples as much as +/- 1.5 volts (at 50% duty cycle), but is usually more like +/-.7 volts. This is relatively insignificant, but could stand to be improved. The 1-9 volt range we achieve is also fairly good. It is strange not being able to cut power to the TEC, but since one volt does not do much, this is very acceptable for now. The worst hiccup we are having with the circuit is delay. When we set the duty cycle on the Arduino, the voltage gradually moves towards the new voltage, but takes about five seconds to get there. Additionally, because the circuit we are using is a bit more complicated than we expected, we're not sure if the voltage we put out is directly proportional to the duty cycle we apply. This is important to know, and something that we'll test today.

Regardless of these problems, the circuit that we have meets our requirements for testing. We are excited to put the cooler in the vacuum chamber today and test control and efficiency code at temperatures well below freezing!

Daily Presentation

June 29, 2011

Great news! We completed a TEC driver circuit, which takes a PWM signal from the Arduino, and sets the appropriate voltage across the TEC. This circuit not only acts as a much larger power source than the Arduino can offer, but it smooths the signal, so that the PWM turns into an analog voltage. We still need to determine the exact resistor and capacitor values that are necessary for our power ranges, but qualitatively, it does what we want. We began integrating all the temperature sensors with our Arduino program, but the hot side algorithm is a bit troublesome. Our conversion from voltage to degrees Celsius has an error that we will address today. Hopefully, we can get our entire first iteration integrated and working today. This would involve reading the temperatures of both sides of the TEC, and then applying the voltage recommended by our algorithm, all the way up to 8 volts at 4 amps. Expect to see graphs tomorrow!

Daily Presentation

June 28, 2011

Hi all! Daily updates are finally starting to flow out now that I have this protocol figured out. As of yesterday, we have completed our temperature measurement circuits. Being able to measure the hot side as well as the cold side will allow us to calculate the most efficient voltage to feed the TEC, shown in this graph. Our plan today is to cool the TEC using two methods: one with constant power, and one with power set by the temperature difference across the TEC. The code that drives the TEC also calculaltes the power and energy usage. This will allow us to determine the efficiency gained by using adjusted voltages.

Also, today we are working on our power driver circuit. Until now, we were using a 2n2219 transistor, which can only pass 800mA of current. This was enough to cool our TEC to about 10 degrees C from room temperature. When we get a better power source, we can run the TEC with the full 4 amps and test our control at low temperatures.

Speaking of control, we hope to do a better job cooling the controller without overshoot as soon as possible. Our semi-successful, though poorly tuned, control results are shown here. This will involve choosing our proportional, integral, and derivative gains carefully. Research and trial and error await!

Daily Presentation

June 24, 2011

We received a lot of interesting feedback at our Design Review yesterday. We have a few options now for driving the thermoelectric cooler with the Arduino, thanks to Oscar Mur-Miranda. We also have more controls ideas to think about, thanks to Aaron Hoover. Lastly, we were pointed towards contacting the makers of the TEC, Marlow Industries. We've e-mailed them, asking for more technical information about the cooler. Hopefully we will receive information soon.