Motion Control and Motor Drives

cancel
Showing results for 
Search instead for 
Did you mean: 

How do i extend the bandwidth of my system

The control problem I am having is extending the bandwidth of a force control system. The system is used to apply mechanical load to bone to facilitate research into Osteoporosis. The following concisely describes the system and the different things I have tried to solve the problem,. I imagine it is quite lengthy compared to the usual questions but any advice you have to offer to a Mechanical engineer would be much appreciated.

System Description:

I am using Labview (with Flex motion) to program the NI 7344 motion control servo board (PID update rate of 62.4 micro-seconds). This output signal is then amplified by the MID 7654 power amplifier, supplying current to a Voice coil (this can be considered as a Linear DC motor with a bandwidth of 40Hz). This applies the force to a bone sample. Feedback is then provided by a load cell and connected to the ADC feedback channel of the servo board. (For full specs of all mentioned components please refer to the web links which are listed at the end of this email!)

Problem description:

After optimally tuning the PID characteristics and defining the amplitude and pre-load, I can successfully control a continuous, sinusoidally varying force (frequency 1Hz), however when I try to increase the frequency to 10Hz, the amplitude of the output waveform is marginally reduced�i.e. there is attenuation. I know that the bone sample is not viscoelastic enough to act as a low pass filter. The bandwidth of the Voice coil is not a limiting factor either, so�..

How do I extend the bandwidth of this system?

The following Paragraph describes some of the things I have tried, which have had some or no influence. Being a mechanical engineer I would be grateful for any expert advice.

(Note all results have been verified with an oscilloscope where applicable)

Influential Factors:

1) Method of programming.

To generate the wave form a series of points describing one period are written to a circular buffer on the servo board. The points are executed in 10 milli-second intervals and are splined through using a cubic spline algorithm (hence a period described by 100 points gives us a frequency of 1Hz and a 10 point wave gives us 10Hz). All this happens on the servo board in real time. I am confident that although the integrity of the sine wave is reduced at 10 Hz the amplitude is still described within the 10 points and so is not the reason for attenuation. However this does limit the maximum frequency achievable. (I would say the max frequency is about 20Hz)

2) Redefining the resolution of the of the ADC Feedback

The 12 bit ADC feedback channel is scanned at a rate of 50 micro seconds (faster than the loop update rate which is 62.4 micro-seconds). Initially the voltage range was specified at -/+ 10 V giving 20/(2^12) Volts per significant bit, however I noticed that when I increased the resolution to the max possible by changing the range to 0-5 V (giving 5/(2^12) volts per significant bit), the amount of attenuation was reduced, however there was still some attenuation there. This begs another question why would this factor improve the frequency response???

3) PID characteristics

The system gives an optimum step response when using only a pure integral term and setting Kp= 0, Kd= 0. It seems as though the fastest step response is limited to about 6 milli-seconds. The system is fine tuned and any slight increase in the integral term results in immediate instability. Therefore there is no scope to improve the system bandwidth by altering the PID characteristics.

Can you offer me any expert advice?

Considering this information, what would you advise? Do I need a board with a faster loop update rate ?, I have considered using Labview Real Time, which offers a board with a 26 KHz update rate as apposed to the 16Hz (62.4 micro-seconds) provided by the current board). Do I need to use different control algorithms as apposed to PID, if so which ones???

Any help or advice you have to offer would be much appreciated and could help in the battle against osteoporosis. Should you require more information or would like to speak to me send me an email and I can answer any further questions or give you a ring.

Regards Duncan Webster

Email: Webster@biomed.ee.ethz.ch

Product specs:

Servo board:
http://www.ni.com/pdf/products/us/4mo636-637.pdf

Power amp

http://www.ni.com/pdf/products/us/4mo642-643.pdf
0 Kudos
Message 1 of 2
(3,222 Views)
Hi Duncan,

i'm sorry that this answer took this long, but i think a constructive answer which takes a long time is better than a useless answer in a short time....


For the following thought-provoking impulses we have to consider the signal-change when increasing the frequency. The points which describe the signal get streched over the period. Increasing the frequency enlarges the distance between the points.

a) The spline algorithm could be the problem here hence the signal does not correctly pass through the points anymore with increased frequency. Therefor the amplitude decreases with increased frequency. Perharps another kind of spline algorithm can be helpful.

b) Another point can be the control deviation. Since a feedback control system needs a devia
tion for the control, the deviation gets larger when increasing the frequency of the controlled loop. Maybe the control loop has to set the desired value when already getting to a new point. So the signal could get "washy" and the maximum amplitude is reduced.
In this case, the "Velocity Feedforward"-parameter could be of use. This parameter is to use with caution for it can have similar effects like a too high chosen integral term.

c) You can try to set the 7344 to circular contour. Therefor use 2 axis where you use the second axis as dummy (open step). There is a major disadvantage in this setup: since you use 2 axes at the same time, the 7344 can update each axis only with 125 microseconds. But perharps this is sufficient. Either way the parameter of the control loop have to be adapted (integral term reduced).

d) If the 125 microseconds describend in c) is insufficient, you can try to test it with a 7352. The 7352 can handle 2 axis at a time with a update rate of 62.5 microse
conds for each axis.


I hope this answer helps you in solving your rather special issue.

-Norbert
NI Germany
Norbert
----------------------------------------------------------------------------------------------------
CEO: What exactly is stopping us from doing this?
Expert: Geometry
Marketing Manager: Just ignore it.
0 Kudos
Message 2 of 2
(3,222 Views)