CCS C Software and Maintenance Offers
FAQFAQ   FAQForum Help   FAQOfficial CCS Support   SearchSearch  RegisterRegister 

ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

CCS does not monitor this forum on a regular basis.

Please do not post bug reports on this forum. Send them to CCS Technical Support

Advanced control theory question.

 
Post new topic   Reply to topic    CCS Forum Index -> General CCS C Discussion
View previous topic :: View next topic  
Author Message
MiniMe



Joined: 17 Nov 2009
Posts: 50

View user's profile Send private message

Advanced control theory question.
PostPosted: Thu Aug 12, 2010 1:42 pm     Reply with quote

Hi!

I've heard that defying 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've done to solve the problem?
I've collected information from old and well working analog device. Visualization purpose graph below.
I've 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. (I've written this code because a analog device was based on it, I'm in trouble to explain how).

Tables & Graphs:


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 lying between tease 2 values. By this duty cycle value I can find changing point.



Graph based on table.


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"... my 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

Thank you in advance.
MiniMe



Joined: 17 Nov 2009
Posts: 50

View user's profile Send private message

PostPosted: Sat Aug 14, 2010 1:26 pm     Reply with quote

Is it possible that PID circuity on analog device was used because of need to create regulator dynamics (characteristics) to create pulses to drive motorized valve?

So i can use collected data from old analog device...in other words to use it as discreet data to replicate analog device dynamics?
FvM



Joined: 27 Aug 2008
Posts: 2337
Location: Germany

View user's profile Send private message

PostPosted: Sun Aug 15, 2010 2:28 am     Reply with quote

While the objective of the first graph is clear (the characteristic of the said servo valve controller in time domain), you didn't tell, what's the output quantity in the "PID" illustration. Strictly spoken, it shows a pure "I" rather than a "PID" characteristic. Setting the motor speed of a servo valve proportional to the error signal effectively creates an I-controller, by the way.

As the servo controller apparently implements a non-linear characteristic, it's description goes beyond the scope of linear control theory respectively "PID" operation. But I guess, the device design is rather based on a simple empirical "fuzzy" approach than "advanced control theory".
MiniMe



Joined: 17 Nov 2009
Posts: 50

View user's profile Send private message

PostPosted: Mon Aug 16, 2010 5:38 am     Reply with quote

FvM, Thank you!

You brought out a interesting fact about PID illustration. Idea that PID illustration shows I characteristics, Your correct, my P, I, D - coefficients were 0,05; 0,75; 0,0.
I tried to change "K-s" to different values but sill, i have not seen anything non-linear. My guess it is because missing plant model on feedback part.


Still i have poor understanding of how to set up PID work flow so that i can get output as similar as on graph Temp diff vs duty cycle (red).



As far as i see my plan... I can use only Temp diff vs duty cycle data to create everything else needed like period and impulses.
FvM



Joined: 27 Aug 2008
Posts: 2337
Location: Germany

View user's profile Send private message

PostPosted: Mon Aug 16, 2010 7:41 am     Reply with quote

I didn't understand from your first post, that you want to reproduce the empirical observed servo motor behaviour with a PID. I think, I doesn't work, because a PID is a linear controller, but the shown characteristic is non-linear. I also don't exactly understand, why you want to reproduce the non-linear behaviour. But if you want, don't use a standard PID code.

It's an empirical approach and hasn't much to do with control theory.
MiniMe



Joined: 17 Nov 2009
Posts: 50

View user's profile Send private message

PostPosted: Mon Aug 16, 2010 10:04 am     Reply with quote

FvM, Thank you !

... again, You have saved big amount of me time on solving this problem the wrong way. I totally agree with you on "PID is linear controller" thesis, because all my tests shown outcomes, aimed this way.
MiniMe



Joined: 17 Nov 2009
Posts: 50

View user's profile Send private message

PostPosted: Fri Aug 20, 2010 4:23 am     Reply with quote

The output of PID depends mainly on time, so does feedback. So far as I know measurements (information collecting) was done when device was disconnected from object. It means that feedback had no link with PID output, feedback was set manually by sensor (potentiometer).

My thought it is ... feedback was non-linear (feedback vs time). So... manual feedback created non linear process model.

To find PID constants I need to replicate non-linear, manually set (with potentiometer) feedback.

The problem is I do not have this feedback vs time information.


I've added some illustration images which might make things simpler... 4 images are with linear time vs feedback and 5. is non linear. Spikes in PID output were due scaling problems and no limits.















Thank you in advance!
Display posts from previous:   
Post new topic   Reply to topic    CCS Forum Index -> General CCS C Discussion All times are GMT - 6 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group