from the A question department...
 Posted by T.J on 13 August, 2010 - 6:42 am
Hi!

Iv heard that defining problem makes wanted "things" much more accessible. Since i'm plain lost on my way to solve a problem, because i feel like i'm missing more than 1 puzzle piece to get where i want to be.
I will try to tell what i want.

The application is central heating system regulator.
The inputs are temperature from outdoor and temperature of heating water measured after valve which is regulated by application + UI inputs (not important).

The output is valve driven by DC motor with reducer. Motor is controlled with DC pulses with period and impulse length modulation.

What i'v done to solve the problem?

I'v collected information from old and well working analog device. Visualization purpose graph below.

I'v found a way (equation) to find duty cycle value that changes the polarity of behavior of values T and t1. (table below). I have written a PID algorithm code. Iv tested it and and i believe is it working as it should.(Iv written this code because i analog device was based on it, im in trouble to explain how).

Tables & Graphs:

http://img339.imageshack.us/img339/2848/parabooltabel.png

Table
The duty cycle value which is between values period T - 4s and pos. impulse length t1 - 0,3s. The duty cycle value because it division ling between tease 2 values. By this duty cycle value i can find changing point.

http://img36.imageshack.us/img36/2914/parabool.png

Graph based on table.

http://img839.imageshack.us/img839/9236/pid.png

PID. The x axis is sample nr. and y is changed values. This PID got no plant since feedback variable is set manually by varying ADC.

The thing i like to see ... want, is way to link... PID output... to look like values from collected graph based on table.
As much i understand "the thing"... mine only paradox is: If Temp. diff. (error) is more that 0 PID output keeps growing till limits, maybe not linearly but it will? The values from PID output look very different.

The table look like it is discreet, it seems like it is measured by moments and it is solvable by using switch statement or by using equation found by fitting.

I realize that this topic is misplaced because of nature of subject. I,m very sorry. :S

 Posted by Dick Caro on 13 August, 2010 - 10:42 am
You certainly have made a simple problem impossibly complex. Your objective is to control the flow of heating water. Why do you complicate the matter by using a complex stepping motor driven control valve? If you only controlled the speed of the hot water pump as a linear function of your PID output, the resulting system would work well and you would not need your control valve at all except perhaps for shut-off. The relationship between pump/motor rotational speed and water flow rate is linear. Most variable speed drives can be purchased with PID function blocks and the capability to do one loop of control.

Dick Caro

 Posted by engineer on 31 August, 2012 - 11:13 pm
more than 2 years have passed since the question and i don't know if my reply is of any relevance.

adding to Dick Caro's comment, and as i understand it,

>As much i understand "the thing"... mine only paradox is: If Temp. diff. (error) is more that 0 PID output
> keeps growing till limits, maybe not linearly but it will? The values from PID output look very different.

now, the algorithm that you are using is not pid in a strict sense. you are using a data based control algorithm.

Your use of this site is subject to the terms and conditions set forth under Legal Notices and the Privacy Policy. Please read those terms and conditions carefully. Subject to the rights expressly reserved to others under Legal Notices, the content of this site and the compilation thereof is © 1999-2013 Nerds in Control, LLC. All rights reserved.

Users of this site are benefiting from open source technologies, including PHP, MySQL and Apache. Be happy.

Fortune
Electrocution, n.:
Burning at the stake with all the modern improvements.
Help keep our servers running...