11-28-2012 05:58 AM
hello folks,
I have some mayor troubles in my Project, with controling my actuators.
to explain:
1. I have two piezo-actuators working against each-other.
2. Between them, i have Force-measurement-sensor.
3. Runing on a cRio 9074 in Scan interface mode
The first actuator gets an "Standard" Sine Signal.
The second should be controled by an PID to hold the force between them at 0
Now there are 2 Problem:
1.
I can´t adjust the PID parameters to realise this simple Controll-loop.
I want to add this control in my "big" project. (so that´s just an extract)
cause --> The I-gain, is not working in any set up.
2.
i ould like to implement some kind of filter, but for scan mode i have no acceptable results (used Mean.vi,s)
at the moment i use Hardware analog LowPassfilters. (@ my output)
So.
maybe somebody knows whats the problem with the PID (integral.parameter)
Thank you a lot for the attention
11-28-2012 06:03 PM
There are many reasons why a control loop might not be working - might be due to the controller, but could equally be due to the actuators, system and sensors that the controller is connected to. Perhaps if you described why you think the closed loop control can't work it may help with answers.
A couple of questions that might help:
Regarding filtering - there are plenty of functions for filters that can be used in scan mode - but rememebr the dynamic response will be limited by the 10msec scan period. So depends what you are wanting to do with the filter.
11-29-2012 04:24 AM
Hello AndyClegg,
thanks for your comment.
In fact now i see that there were little to less infos, about the sistem. :S
to 1.: Yes there´s an Force Signal, accorging to the actuator.
2. thats correct.
3. The Signal is a low freq. Sinus of max 2Hz. and the actuators are able to apply this. also my loop rate at the moment is 100Hz. Think it should be enough speed, at the moment.
4. The Proportional Termin is acting good, but as standalone it can´t control it to tero.
5. ...did not understand that :S:S Sorry, but i have a quite bad english
6. Yes it is. 😉
So maybe you could show me wich filter you exactly have in mind. ??? Would be great !!
cause i tried it with the "mean"vi but slows the process down drastically.
Thanks again
Greetins
11-29-2012 07:57 AM
OK, so it sounds like some of fundamental things are working ok.
Regarding the Ti term - realise that it has units of minutes. So if you set it to for example 1, it should not change the response compared to proportional only.
For a 2Hz disturbance (which is what your first actuator is), you will need Ti to be about 0.001-0.002 (minutes) before you start to see an effect. However, this depends upon what proportional gain you have to start off with, so simplest way is to get proportional gain high enough to get rid of some of error, and then keep decreases the Ti from a slow value (e.g. 1 min, down to 0.001) and see which works best. As you make Ti smaller, you could start to get oscillations from the feedback action.
Ignore Td for now, and only use it if proportional + integral does not give good enough performance.
Regarding the filter - I don't have anything in mind - depends what signal you are trying to filter, and importantly what bits of that signal you what removing.
Andy
11-30-2012 03:48 AM
hi AndyClegg,
thanks again for your advices.
I already went through all these steps. I also rised the Kp Term until i had almost instability, with this Kkrit i adapted the I Parameter, but there´s no adequate way to solve this porblem.
In fact i would need to control the Amplitude, & !! The phase, of my ("sine") Signal.
and as i now think that an PID cant realise an Phase-Shift. in order to compensate the FOrce between the two actuators.
At the moment I have two identical actuators, so that an simple inversion works quite fine. But in the next Step i want to have two different actuators. That´s why i need an adequate Control.
Regarding the filter: it would be enough to have a simple Low.Pass Filter, cutting of Noise above 5Hz.
Maybe the PointByPoint LP Filter would be ok ?! But it only made my system laggy :S
Ps. Had some mayor troubles with the RT-Loop. Can´t belive that the System gives no Error Out when the time-critical timed loop, doesn´t iterate properly !!! i Had an write to file in it, that in the End caused an non-constancy of my Freq.generator.
Thanks & Greetings
11-30-2012 06:31 AM
If you can't get control performance through feedback - you should consider using a feedforward term from the sinewave driven actuator to the force controlled actuator.
Point by point filters is what I would use, just so it fits with RT timed loops. Filters do make things laggy - that's how they filter. So it is a question of making sure you have cuttoff frequencies and appropriate filter order (for higher roll off) set as it shoudl be - and don't expect a filter to something it isn't actually possible to do.
To get the RT code to work deterministically as is required for RT code there are many things you need to do differently to normal LV coding. The cRIO developers guide is very good to explain the many pitfalls and best practice for RT coding (e.g. best to only one timed loop runing, and everything else in while loops, etc etc).
Andy