Electronics > Projects, Designs, and Technical Stuff

Modeling of feedback networks in thermal control systems

(1/3) > >>

golf32:
Hi all, I've been working on a project where I have a voltage reference I want to keep at a precise temperature for stability. It doesn't have a built in oven, so I'm working on building my own (I know ovenized references exist, this is for learning and fun).

My first iteration has some oscillation in the temperature, and I want to know how to model the feedback loop of the heater and temperature sensor for simulation and experimenting. I read a Jim Williams article titled "Take advantage of thermal effects to solve circuit-design problems" in which he says you can model the system as an RC low pass filter. By blowing on the temperature controlled assembly and watching how long it takes to recover I think I've found an RC time constant of about 80 seconds. Screenshot attached shows temperature sensor: TMP36G (10mv/K).

What I want to fully capture is the noise and smaller oscillations. You can barely make it out on this capture, but at shorter timebases an oscillation with a period of about 10s is visible.

The controller circuit in this case is just an analog voltage output temperature sensor connected to an opamp which drives a transistor.

Someone:
https://en.wikipedia.org/wiki/Lumped-element_model#Thermal_systems
Its rather convenient if you're modelling an analogue controller. Getting suitably accurate models of the "plant" can be an art in its self.

Picuino:
I recommend you a feedforward control system.

First of all you need to design an open-loop system with an ambient temperature sensor and a heater with a linear control. The colder the environment, the more it should heat.
That should keep the system in a very small temperature range even if the ambient temperature changes.

Once the open-loop system is working, add a closed-loop PI system to further reduce temperature error.

The complete system will respond well to sudden changes in ambient temperature and will have very little error with little overshoot.

Terry Bites:
A PID is the best method but tricky to tune. Analog loops can drive you self harm. You need a solid logical procedure or 'tuning algorithm". See https://en.wikipedia.org/wiki/PID_controller
There is auto tuning code for arduinos. http://brettbeauregard.com/blog/2012/01/arduino-pid-autotune-library/
Take the easy way out, always!

Picuino:
You can tune the PID closed loop control manually with the Ziegler-Nichols method. Easy and efficient.
https://en.wikipedia.org/wiki/Ziegler%E2%80%93Nichols_method

The PID is a good close-loop control method, but you can improve it a lot adding an open-loop control.


Edit:
There is little information on internet about Ziegler-Nichols method. I can help you to implementing it.
I have published a explanation of the method and how to apply it, but in spanish.

Other sources are:
https://www.mstarlabs.com/control/znrule.html
https://eng.libretexts.org/Bookshelves/Industrial_and_Systems_Engineering/Book%3A_Chemical_Process_Dynamics_and_Controls_(Woolf)/09%3A_Proportional-Integral-Derivative_(PID)_Control/9.03%3A_PID_Tuning_via_Classical_Methods

Navigation

[0] Message Index

[#] Next page

There was an error while thanking
Thanking...
Go to full version