Real-Time Measurement and Control

cancel
Showing results for 
Search instead for 
Did you mean: 

PID Control with No Response for Parameter I @ piezo actuators

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

 

Download All
0 Kudos
Message 1 of 6
(6,391 Views)

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:

  1. With no control active on actuator 2 - is your force sensor showing a sinusiodal force ?
  2. Are you sure you have the direction of error and actuation the correct way round - it might be that a positive error  needs a negative actuator signal. An open loop test of your actuator to sensor will confirm the direction.
  3. Is it about dynamics ? what is the period of your applied sinewave ? can the actuators move at that frequency ? can the sensor measure at that frequency ? is the sample period of your loop fast enough ?
  4. Have you tried control with just proportional gain - it should do something ?
  5. It may just be that your Ti and Td terms need to be orders of magnitude different to be effective.
  6. Is the force measuremenet capable of measuring both positive and negative forces - and can it measure zero force accurately ? Trying a non-zero target force may make things easier if there are issues with measurement.

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.

 

 

Consultant Control Engineer
www-isc-ltd.com
0 Kudos
Message 2 of 6
(6,379 Views)

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

0 Kudos
Message 3 of 6
(6,373 Views)

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

Consultant Control Engineer
www-isc-ltd.com
0 Kudos
Message 4 of 6
(6,362 Views)

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

0 Kudos
Message 5 of 6
(6,356 Views)

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

Consultant Control Engineer
www-isc-ltd.com
0 Kudos
Message 6 of 6
(6,351 Views)