Calibrating your System

From OKOS Wiki
Jump to navigation Jump to search

Checking Signal Inputs

Digitizers

ODIS software should automatically detect all supported A/D devices in the system. The order in which the boards are used can be set by the .exe.config file.

To test if the A/D board is receiving a signal, you can hook up a standard signal generator to the Channel A input. This signal should be visible on the Digital Oscilloscope. Test the inputs for each board (and each available channel if using a multi-channel A/D).

Pulser/Receivers

Digital Oscilloscope showing the Main Bang from an attached Pulser/Receiver.

The type of P/R in the system should be defined when ODIS is installed. If the user changes the pulser or has multiple pulsers, changes must be made to the .exe.config file. Multiple pulsers may require Channel Mapping if the operator runs in Basic Mode.

To test that you can send a signal from the A/D to the pulser, connect the Trigger of the pulser to the Trigger of the A/D board, and connect the Signal Output of the pulser to the input channel of the A/D. In Advanced Mode, make sure you set your A/D Trigger mode to "Auto-Software", P/R Trigger mode to "External" and turn on the P/R. In Basic Mode, this is done by default.

If the pulser is connected properly, you should see a large spike of signal at time Zero of the Digital Oscilloscope (this should occur whether or not you have a transducer connected to the system.

Configuring Multi-channel Pulser/Receivers

the "Select Channel" interface when both channels of a P/R are mapped to a single A/D channel.

A single multi-channel P/R (such as a DPR500 or a DPR002) will automatically detect the active channels and configure itself appropriately. If using Basic Mode, use Channel Mapping if you want both P/R channels to be available on a single A/D channel. If this is done, the Setup screen will show a "Select Channel" interface.

Configuring Multiple Pulser/Receivers

To configure a system with multiple Pulser/Recievers, the user must make changes to the ODIS_Config.xml file. The "PRType" must be set to "Multi" and the type and number of P/Rs (DPR500, DPR300, etc.) must be defined in the "<Pulsers>" section. All P/Rs in a multi-pulser setup must be of the same type.

If the user has multiple pulsers and A/D boards, Channel Mapping can be used to determine which pulser is connected to which A/D.


Channel Mapping

Typical view of the channel mapper dialog. No connections have been made.

Channel Mapping is used in Basic Mode to automatically display the controls for the appropriate P/R channel when the A/D channel is selected. It can also be used to specify that a single A/D channel may be controlling multiple P/Rs.

Note: make sure that your channel map matches the physical wiring of your A/Ds to P/Rs, or you may get unexpected results (e.g., the P/R channel mapped to A/D #1 actually controls the signal on A/D #2, etc).

To activate Channel Mapping, select the menu item "A/D to P/R Map" on the "Edit" menu of the main form. This will show the Channel Map Dialog.

Connections are made to a single-channel A/D with a dual-channel pulser.

To use Channel Mapping, left-click on the A/D channel you wish to map. This will activate the P/R Channels. Left-click on the P/R channel to associate with the specified A/D channel. When linked, a green line will appear between the channels. A P/R channel can be associated with only one A/D, but one A/D can be associated with more than one P/R channel.

Connections are made to two multi-channel A/D boards and two multi-channel pulsers. Only the 1st channel of each is used.

If you have multiple A/Ds and multiple pulsers, you can associate any combination of A/D channel and P/R channel (within the limits specified above).

To clear your mapping and start over, simply press the "Clear" button.

Once the "OK" button on the Channel Mapping is pressed, the map is stored and will be used to set the interface on the Setup window when the appropriate A/D channel is visible.



Calibrating Motion

Calibrating Motion Using the Motor Calibration Tool

Motor Calibration Wizard

The Motor Calibration Tool will walk a user through the steps of configuring motion on a 3-axis SAM system. NDT systems vary widely and must be calibrated manually.

Before running this wizard, it is best that all Direction entries in Motors.xml be set to "1".

Tests

The tests that are performed are as follows:

Axis Resolution
Confirming that the axis moves the distance specified. This tests that the Counts per Unit values of Motors.xml are correct.
Axis Direction
Confirms that the axis is moving in the correct direction when told to move. This tests that the direction lines of the motor are correct. IMPORTANT NOTE: This test will reset the direction setting to "1", regardless of the settings in Motors.xml. If any directions are reversed in Motors.xml, make sure they are all set to "1" after this test is completed and all axes are moving correctly.
Range/Limit Check
This measures the axis range and confirms that limits are working.
Encoder Check (only on the Scan Axis)
This confirms that the encoder and motor are moving in the same direction, and that the Encoder resolution is also set correctly.
Sample Motor Calibration Report

The user steps through the tests one at a time for each axis. Some tests require user feedback to confirm that the tests worked. After all tests are performed, the user can generate a report that sows which tests failed, which worked, and what troubleshooting may be required.

Test Results

  • GREEN indicates the test passed.
  • YELLOW indicates a test that was skipped or for which the user did not respond.
  • RED indicates a test that failed. Possible reasons will be shown in the Troubleshooting Details.

Troubleshooting Details

The Troubleshooting Details will describe any errors found, and possible reasons for the error.

Resetting Software Limits

Because the calibration moves axes, may reset positions to zero and disables software limits, the system must be reinitialized after calibration, and software limits reestablished. A warning box will appear communicating this to the user.

Calibrating Motion Manually

If the user wishes to test the motors manually, the following guide will describe the process.

Axis Range

X,Y, and Z ranges shown in red.Scan parameters outside this range will fail to scan.

First, test that the motor resolution for each axis is accurate. Use the Motor controls to move a fixed distance (e.g. 10 mm) and confirm that the motors physically move the specified distance. Use a ruler to measure the physical result. Repeated tests should be done to insure accuracy. If your axis is not moving as much as specified, the axis Resolution parameter in Motors.xml is probably incorrect. Edit the Motors.xml file and enter the correct value before proceeding.

Note: Changing the motor resolution may require recalibrating the Max Speeds and Jog Speeds.

The range of travel for each axis is embedded in the Motors.xml file in the "AxisLength" parameter. This should be as accurate as possible to allow the system to detect scan parameters that are out of the tank range. The range assumes that the Zero position is at the front left bottom corner of a 3-axis tank (Note that the Zero position is NOT the same as the Initialization position).

Range Finding
Scan Range warning dialog

An operator can determine the range of each axis by using the Range Finding dialog. The Range finder will move each axis to both the positive and negative limits and record the difference. Range finding will ignore axes marked as "Zero Only" in the "Initialization" tab of the Configuration dialog.

Note: Make SURE you have all obstructions out of the tank and that there is no possibility of collisions when doing range finding.

Scan Range results.

When you have the ranges, enter them into the Motors.xml file "AxisLength" tags. Restart ODIS for these ranges to take effect.

Velocities and Accelerations

The Velocities and accelerations determine how your system will move. Improper settings will result in stalled motors or decreased performance.

Maximum Speeds

The maximum velocity and acceleration allowed for each axis should be set in the "Max Speeds" tab of the ODIS Configuration dialog. The values are absolute: a speed entered anywhere in the system will be limited to the max speeds.

The speeds should be set such that the axis will not stall if running at maximum velocity.

Set your Maximum speeds before changing any other velocity settings.

Jog Speeds

Set the Jog Speeds to the desired values for Slow, Medium and Fast speeds in the "Jog Speeds" tab of the ODIS Configuration dialog. A Jog speed that is set higher than the Maximum speed on the same axis will be ignored and the axis will move at Maximum speed.

Axis Direction of Motion

There are several parameters that have to do with direction of motion. The system must be configured properly or some scanning functions (such as software limits and Range checking) may not work correctly. This section will take you through the proper calibration procedure step-by-step.

Warning: All calibration settings should be configured at the factory. Only proceed with this calibration if instructed by OKOS.

Clear all Configuration Options

BEFORE PROCEEDING WITH THE CALIBRATION CHECK:

  1. Remove any Direction options from Motors.xml
    1. Close ODIS (if running)
    2. Open Motors.xml for editing
    3. Set all "Direction" tags to 1 (not -1)
    4. Save Motors.xml
  2. Clear any Direction options from ODIS Configuration
    1. Restart ODIS (do not initialize)
    2. Open the ODIS Configuration dialog.
    3. Select the tab "Motor Configuration->Jog Speeds"
    4. Make sure "Invert Controls" is UNchecked on all axes.
    5. Select the tab "Home/Init Speeds"
    6. Make sure "Use Home Limit" us UNchecked on all axes.
    7. Select the "Initialization." tab.
    8. Make sure the "Reverse Direction" option is UNchecked on all axes.
    9. Select the "Homing." tab.
    10. Make sure the "Reverse Homing Direction" checkbox is UNchecked.

Setup for 3-Axis SAM Systems

Wireframe showing the desired directions for positive motion on a 3-axis system.

An ordinary Scanning Acoustic Microscope has three axes (usually designated X, Y, and Z) that are perpendicular to each other. The positive direction of motion should be away from the front left corner of the tank.

Jog controls in Basic mode for a standard 3-Axis SAM
Axis When axis is moving positive (+)... When axis is moving negative (-)...
X Move to Right Move to Left
Y Move Back Move Forward
Z Move Up Move Down
Axis To move axis Positive (+)... To move axis Negative (-)...
X F2 F1
Y F3 F4
Z F5 F6

Setup for generic NDT Systems

A generic NDT setup may include rotational and angular (e.g. Gimbal/Swivel) axes as well.

Axis When axis is moving Positive (+)... When axis is moving Negative (-)...
XMove to RightMove to Left
YMove BackMove Forward
ZMove UpMove Down
Turntable/RotatorMove ClockwiseMove Counterclockwise
Gimbal/SwivelMove ClockwiseMove Counterclockwise
Axis To move axis Positive (+)... To move axis Negative (-)...
X F2 F1
Y F3 F4
Z F5 F6
Turnable/RotatorF8F7
Gimbal/SwivelF10 & F12F9 & F11

Motor Troubleshooting

The solution to reversed direction depends on the type of reversal. PERFORM THE FOLLOWING TESTS IN ORDER ON EACH AXIS IN THE SYSTEM:

  1. Check the Function Keys
    If the Direction of Motion is correct but the Position is reversed (e.g. pressing the F1 key moves the X-axis to the left, but the counts increasing rather than decreasing),
    Change the wiring and/or Motor controller programming so that the count direction is correct.
    If the Position is correct but the Direction of Motion is reversed (e.g., F1 moves the axis to the right but the counts are increasing),
    Reverse the direction of motion by setting the "Direction" line of the axis in Motors.xml to "-1".
    Note: if the Motors.xml file is changed, the user must exit ODIS and restart before continuing.
  2. Check the Jog Controls
    If the position is OK but the Jog controls are reversed (e.g. Left is Right, Down is Up, etc.),
    Check the "Invert Controls" checkbox of the appropriate axis in the Configuration dialog under "Jog Speeds". (Note: Invert Controls will not affect the Function keys)
  3. Check the Initialization Direction
    If the direction of initialization is backwards,
    Check the "Reverse Direction" button of the appropriate axis in the "Intialization" tab of the Configuration dialog (this does not affect the jog and control motion of an axis). If an Initialization axis is reversed, when Initialization occurs the axis will not be set to zero, but to the maximum Range value for that axis.
    If the order of initialization is incorrect (e.g. the Y-Axis moves before the X-Axis),
    change the order of initialization in the "Initialization " tab.
  4. Check the Scan direction.
    For a Linear scan, if no other options are set, the X-Axis should move from Left to Right on the first scan line, and the Y-Axis should move from Front to Back.
    If it does not move in this manner, make sure that the "Reverse Scan/Step Direction" options are turned off (these are found in the Options tab of the Scan Manager in Advanced Mode.

Encoders

Location of the Encoder Feedback for the Scan Axis (Basic Mode).

When doing Pulse-on-Position scanning with encoder feedback, the encoder lines are fed directly into the A/D board so that the A/D board can trigger on position. The encoder position (as read by the A/D) must increase and decrease in the same direction as the corresponding motor. Also, the Encoder Resolution must be set correctly in ODIS_Config.xml so that the distances moved are correct (Note: This is NOT the same entry as the EncoderResolution in the Motors.xml file, although the value may be the same.)

To check that the encoder is counting in the proper direction and with the correct increment, do the following:

Note: You will need to reinitialize the system after the "Set Zero" in order to recall positions correctly.

  1. Move to a clear spot in your tank.
  2. Press the "Set Zero" button to reset all positions to zero.
  3. Move the X-Axis in a positive direction.
    1. (Basic Mode): Check the Motors tab on the Setup window and check that the distance the X-Axis and the Encoder have moved is the same (within the tolerances of the motor and encoder resolution)
    2. (Advanced Mode): Open the Board Settings tab of the Digital Oscilloscope and check the Encoder Counts. You will need to divide by the Counts per unit (as specified in ODIS_Config.xml to check that the motion is the correct amount.

Encoder Troubleshooting

If the positions do not match, you have the following options.

If the motor and encoder are moving in OPPOSITE directions (e.g., the motor readout says 10 mm but the encoder says -10 mm)
Reverse the direction of the encoder by flipping the A+/A- and B+/B- wires (A+ and B+ only for single-ended encoders)
If the motor and encoder are moving in the SAME direction (e.g., the motor readout shows 10 mm but the encoder readout shows 5 mm)
The encoder resolution is set incorrectly. Make sure the Encoder Resolution value in ODIS_Config.xml is correct.


Transducer Calibration

See Transducer Characterization.