40m QIL Cryo_Lab CTN SUS_Lab CAML OMC_Lab CRIME_Lab FEA ENG_Labs OptContFac Mariner WBEEShop
  SUS Lab eLog  Not logged in ELOG logo
Message ID: 724     Entry time: Fri Sep 6 15:47:40 2013
Author: haixing 
Type: Summary 
Category: SUS 
Subject: achieving stable levitation of the plate 

We levitate the plate by controlling three vertical degrees of freedom---one translational, and two tilts. Right now even without applying controls to the horizontal direction, the system is quite stable.

Here we describe the major steps for achieving levitation:

1. Move the plate close to the equilibrium point by using the DC motors and strain gauge.

We started off from the point where the magnetic force is stronger than the gravity force. Basically, the plate is touching tips of DC motors mounted on the top fixed platform. By using the strain gauge attached to the tips, we can tell how how far we are away from the equilibrium point where the strain gauges are not stretched. We slowly actuate the motors to push the plate close to the equilibrium point.

2. Lock one degree of freedom

We started from some generic PID controller. After many random trials, we end up with a controller that was barely doing the work, and the system was marginally stable. We then measured the closed-loop transfer function of the system and use simulink to model this one degree of freedom: model_1DOF_v0.slx and model_1DOF_script_v0.m

After tuning various parameters, we got a reasonable match between the model and the measurement. In particular, the parameters we found go as follows:

mass    = 0.5 kg        % mass
K          = -180 N/m   % negative spring constant
Vm       = 250 V/m    % hall effect sensitivity
Gby      = -27dB       % the bypass gain from the coil to the hall effect sensor
Gcomp = -39.5dB    % the residue bypass gain after compensation

To obtain a better controller, we tried to use "sltunable" class in the matlab, in particular using the functions "systune" and "looptune" by specifing the target phase and gain margin. Somehow, it did not produce the desired result. We found out that the calculated phase margin and gain margin are not correct (we will explain this in more details with another elog entry). We then used "nyquist" function to design the feedback loop and we used the following parameters for the controller, which gives a reasonable phase and gain margins.

DGain = -4*pi*13;                 % the constant gain
Dzs     = [-2*pi*0.5; -2*pi*3]; % zeros for the controller
Dps     = [0;-2*pi*13];            % poles for the controller

After applying this new controller, we got a quite stable levitation. We redid the open-loop transfer function measurement. The agreement between the model and the system is shown by the figure below (the blue line is the model and the green line is the measurement data):

data_model_comparsion_1DOF.png

The difference around 4Hz and 20Hz could arise from a simplified model for the compensation (assuming a constant compensation gain, and the reality is more complicated), and we need to refine the model.

2. Repeat the same process and tune the feedback controllers for the other two degrees of freedom.

3. Slowly ramp up the gain for the other two controllers and finally levitate all three DOFs.

We found that if we engage the controllers abruptly, the system will rapidly destabilized. Instead, we had to slowly ramp up the gain of the controllers so as to approach the final stable state softly.

The figure below shows the signal from all seven sensors (one redundant in the horizontal direction).

sensor_signals.png

We can see the resonant frequency is around 2Hz (to be confirmed by future TF measurements), which is quite high. After fully characterizing the system, we will need to tune the DC magnet force with DC control coils to make the equilibrium point closer to the force maximum, where the rigidity is low.

------------------------


Here is the link to the video of the levitating plate:  link

 

Attachment 3: data_model_comparsion_1DOF.png  12 kB  | Hide | Hide all
data_model_comparsion_1DOF.png
ELOG V3.1.3-