Difference between revisions of "PPOD User Guide"

From Mech
Jump to navigationJump to search
Line 83: Line 83:
<br clear=all>
<br clear=all>


* Controller Parameters - Same as [[#Controller Parameters | above]]. Note that the frequency sweep in a direction will stop if any actuator signal becomes saturated to make the process more automated and prevent damage to the PPOD. However with the added weight of the force sensor mount and clamps, setting the saturation voltage too high may cause the PPOD to damage itself by shaking too hard. It is recommended to stay at the default value of 4V unless the sweep is being carefully monitored.
* Controller Parameters, Actuator and Plate Signal plots - These are the same as [[#Plate Motion | above]].
* Actuator and Plate Signal plots - Same as [[#Running the PPOD and Plots | above]].
* Max Number of Updates - The number of controller updates per frequency in the sweep. Increase from the default if the frequency sweep is coarse (<math>\ge</math>3 Hz between steps). For each sweep the controller will use a frequency response-based guess for the first frequency then use the previous signal for all subsequent frequencies so small steps are recommended between frequencies to allow the controller to reach steady state.
* Plate Motion
** f - A matrix of the frequencies to sweep through.
** A - The upper box is a 1x3 matrix of the magnitude of the linear accelerations and the lower box is a 1x3 matrix of the angular accelerations to use in the frequency sweep. Decrease these values for stiff materials as the plate motion is more difficult to control and large forces may damage the [[Flexure Characterization and Design#Hardware|force sensor]].
* Plate Frequency Response -
* Flexure Frequency Response -
* Force Signals -


= Flexure Analysis =
= Flexure Analysis =

Revision as of 12:30, 11 September 2009

6 DoF PPOD

This article outlines the setup and use of the 6 DoF PPOD for part manipulation and flexure testing, as well as analysis of flexure test results.


DAQ Info

PCI Cards

For all uses of the 6 DoF PPOD the computer should have the National Instruments PCI-6224 input DAQ card and the National Instruments PCI-6713 output DAQ card. The installed National Instruments DAQ cards can be checked using the MATLAB command:

daqhwinfo('nidaq')

Calling this with no argument outputs a structure with all of the available DAQ hardware:

daqhwinfo

DAQ Board

DAQ Board


The output card connects to the lower left socket in the photo above. The input card has two ribbon cables that connect to the other two sockets along the bottom: the upper cable on the PCI card connects to the right socket (channels AI0:AI15) and the lower cable connects to the middle socket (channels AI16:AI31).

The ribbon cable socket along the right edge connects to the accelerometer/speaker board, providing power and accelerometer readings.

The D-Sub socket in the upper right corner is for the force sensor used in flexure testing experiments. The switches above the screw terminals should both be to the left.

The power socket is on the left edge with the power switch found directly below it. The six speaker outputs are found along the top with speaker 1 on the far left and speaker 6 on the right.

All screw terminals should be empty during normal use (with the exception of channels 16:17 and 24:25 which can be used at any time). The input channels can also be used to read in signals from the screw terminals found above the lower sockets. To read in from the screw terminals for channels 0:15, unplug the ribbon cable leading to the accelerometer board. To read channels 18:23, slide the right switch found above the screw terminals to the right. The same goes for channels 26:31 with the left switch.

Part Manipulation

For part manipulation the force sensor should be unplugged as it adds noise to the other signals in the system.

PPOD_6D_Master_GUI


Plate Motion

When selecting a plate motion, be careful to click inside one of the plate motion boxes below then in another area on the GUI to ensure that the desired plate signals have been properly updated. Notationally, a rotation in the direction is about the x-axis in a right hand manner, rotation in the direction is about the y-axis, and rotation about the is about the z-axis.

  • Frequency - The base frequency of the plate motion is defined in the f= box at the top of the window.
  • Saved Motions - The list in the upper right corner of the window has all of the stored plate motions. To select one, simply highlight it. The field parameters can be edited in the box just left of the list but changes will not be saved. To save a plate motion, use the Save Signals button in the bottom center of the window.
  • User Defined Motion - Users can input new fields either by editing an existing plate motion or loading one of the TEMPLATE motions and specifying the parameters. Sinusoidal motions are the default however other motions can be input in the boxes below the list of motions. All motions must be periodic for the controller to function properly.

Controller Parameters

  • Sampling
    • Samples per second - The number of samples read in on each input channel per second.
    • Transient Cycles - The number of control cycles to wait after an update to allow the system to reach steady state.
    • Logged Cycles - The number of control cycles to store and analyze. If this is increased then the processing cycles should be increased proportionally.
    • Processing cycles - The number of control signals to wait while computations are performed on the logged cycles and the control signals are updated.
  • Control Signals
    • Highest Controlled Harmonic - The number of harmonics that the controller uses to eliminate high frequency noise. Increase the Processing Cycles if the harmonic is increased above the default value.
    • Controller Gain - Sets the DC gain of the controller.
    • Saturation Voltage - Sets the upper limit on the voltage that can be sent to the actuators.
    • Initial Control Signals - Previous signals will take the last used controller values for the signal being run as the initial control signals. If there is no previous signal then it defaults to zeros. Frequency Response Based Guess will use values taken from the last frequency response as the initial control signals. Zeros will start all of the control signals at zero.
  • Frequency Response - Users can generate a new frequency response of the plate as a guess for the control signals. This should be done if modifications have been made to the PPOD or the base frequency is changed.

Running the PPOD and Plots

To run the PPOD click the Run button in the lower right corner of the window. Stop it by pressing the button again. The maximum number of controller updates for the PPOD to run can be set to the left of the Run button. If the PPOD is not stopped using the Stop button, use the Reset DAQ button to reset the DAQ cards otherwise there will be an error. The handles structure can be exported to the base MATLAB workspace using the Export Handles button in the bottom center of the window.

The signals being sent to each actuator over one period are displayed along the left side of the window. If the signals are being saturated then increase the saturation voltage (up to a maximum of 8 V or so, depending on the amplifier gain; if set too high it may damage the actuators).

Flexure Testing

Flexure Setup

Flexure Testing Setup


  1. Connect flexure to mounting plate. For Tygon flexures use epoxy to adhere flexure to mounting stem.
  2. Attach the force sensor mount to the PPOD so the label goes along the PPOD's positive y-axis. Use C-clamps to attach the mount to the plate.
  3. Place the steel T-bar over the PPOD as seen in diagram above. If top surface is too low, place metal plates under legs.
  4. Place end of flexure into force sensor mount, tighten with hex key. Place plate flush with T-bar, if necessary use shims or angle brackets to place flexure in desired orientation. Attach to T-bar using C-clamps.

Program

The Flexure_GUI.m program uses the PPOD to generate a response of a flexure at user-specified frequencies. It actuates along each of the 6 degrees of freedom, sweeping through all frequencies in one direction before moving on to the next, and saves the data to the handles data structure. Below is a picture of the user interface and an explanation of each component

Flexure_GUI


  • Controller Parameters - Same as above. Note that the frequency sweep in a direction will stop if any actuator signal becomes saturated to make the process more automated and prevent damage to the PPOD. However with the added weight of the force sensor mount and clamps, setting the saturation voltage too high may cause the PPOD to damage itself by shaking too hard. It is recommended to stay at the default value of 4V unless the sweep is being carefully monitored.
  • Actuator and Plate Signal plots - Same as above.
  • Max Number of Updates - The number of controller updates per frequency in the sweep. Increase from the default if the frequency sweep is coarse (3 Hz between steps). For each sweep the controller will use a frequency response-based guess for the first frequency then use the previous signal for all subsequent frequencies so small steps are recommended between frequencies to allow the controller to reach steady state.
  • Plate Motion
    • f - A matrix of the frequencies to sweep through.
    • A - The upper box is a 1x3 matrix of the magnitude of the linear accelerations and the lower box is a 1x3 matrix of the angular accelerations to use in the frequency sweep. Decrease these values for stiff materials as the plate motion is more difficult to control and large forces may damage the force sensor.
  • Plate Frequency Response -
  • Flexure Frequency Response -
  • Force Signals -

Flexure Analysis

Flexure_analysis_GUI


  1. Importing Data - First, select the parameters that you would like the program to fit to the data. If any of the boxes are unchecked then another GUI will appear prompting the user to input the actual values. Leaving an entry as NaN will fit that parameter, Zeros will set all values to 0, Import allows you to import the values from a previous fit, and Done accepts the values and continues the program. To begin, press the Import Data button in the bottom center of the screen.
  2. Plot Options - On the left side of the GUI, there are several options for the user. There are two types of plots: FFT and Bode plots. More details about these can be found below. The y-scale can either be linear (Force in Newtons) or logarithmic (dB). The frequency can either be in Hz or rad/s. The other options are for changing the inputs/outputs being plotted. The upper box is for a single input to all of the outputs and the lower box is for all of the inputs to a single output.
    • FFT Plots - This option displays the fast Fourier transform of the chosen input/output signals on the upper row of plots, with a legend showing the frequencies in the lower left plot. The options for the FFT plots are found in the lower left corner. Users can select the frequencies to plot as well as the number of harmonics of each frequency to plot. The x-scale can be switched between harmonic and actual frequency. Ideally all harmonics that are not the first should be zero.
    • Bode Plots - This option displays the Bode plots of the chosen input/output signal. Each plot shows the data as points and the best fit model as a solid line.
  3. Flexure Parameters - This button opens a new window displaying the fit (or input) mass, damping, and spring coefficients for the flexure being tested. The button at the bottom of the window saves the three matrices to the base MATLAB workspace.
  4. Export Options - Export Handles will save the handles structure to the base MATLAB workspace. Save Handles will save the handles structure to a .mat file in the location chosen.

Troubleshooting

If the PPOD is not performing properly, the following steps should followed to ensure everything is set up correctly.

Power

If the control/accleration signals are zero or the plate is having difficulty controlling then there may be a problem with the power. Ensure all of the amplifiers and the DAQ board are turned on and have power. Check to see if all the amplifiers are set to the same gain (+8 dB has been found to work well, though any value that will not overload the actuators should work).

Mechanical Connections

If one or two control signals are saturating, or the PPOD is rattling then there may be a problem with the mechanical connections. Manually inspect the flexures for signs of buckling, kinking, or misalignment. If necessary, replace damaged felxures using Tygon tubing and metal bonding epoxy. When changing flexures, sometimes it is necessary to rotate an actuator slightly to keep the flexure aligned. To do this, loosen the bolts found on the underside of the base below the desired actuator. Check the set screws on the plate and actuators that hold the flexures in place. Check the springs to make sure they are tensioned approximately evenly.

DAQ Initialization

If the PPOD will not function at all or the signals do not match the plate motions then there may be a problem with the DAQ initialization/setup in MATLAB. The BoardNames match up with the respective InstalledBoardIds in the output structure. If the PPOD does not work, ensure that the DAQ objects were initialized properly by comparing the 'DevX' from above with the handles.daqinfo.ai and handles.daqinfo.ao object in the Initializedaqinfo.m file, set in lines 25-26. Output channels should be 0:6 (0 is the clock pulse, 1:6 are speaker channels) set in line 36. Input channels should be 0:11 (for the 12 accelerometer signals) set in line 39.

Speaker/Accelerometer Connections

If one or more signals are zero, or the signals do not match the plate motions then there may be a problem with the speaker/accelerometer connections. Check the connections on the back on the amplifiers. CH 1 input corresponds to Channel A output, and CH 2 with Channel B. Ex. Channel 1 leading out from the DAQ board should connect to CH 1 of the bottom amplifier and the leading out of Channel A should connect to the screw terminal labeled Speaker 1 on the accelerometer board. Accelerometer 1 should be found above Speaker 1, Accelerometer 2 should be found above Speaker 2, etc on the PPOD. The pins on the accelerometers plug into the holes on the ribbon cable sockets that are closest to the end of the cable. Check the MATLAB function L2Wconverter.m to ensure that the accelerometer locations in the function correspond to the actual locations on the plate.

Other

These steps should solve most problems encountered during normal use of the PPOD. If problems persist, it may require a more in-depth examination of the code and/or physical setup.