External Linear Axis

From CPR Wiki
Jump to: navigation, search

To use an external linear axis, an additional stepper motor module is required. That module needs to be configured upon receipt. Changes to the CPRog project file need to be made and a robot file for the external linear axis has to be installed and potentially adapted.

Module Configuration

Prior to supplying power to the module, set the switch on the top of the stepper motor module.

Configure rotary switch on the stepper motor module to the next available address:

  • If configured as 4th axis, the switch on the module needs to be set to position "6". (In software this is (in decimal) joint ID 64 = 0x10 + 8 * <switch_position>)
  • If configured as 5th axis, the switch on the module needs to be set to position "8". (In software this is (in decimal) joint ID 80 = 0x10 + 8 * <switch_position>)


Firmware Paramters

The stepper motor module will need new firmware parameters. These have to be configured using the ModuleCtrl Software.

  1. Install and start the ModuleCtrl software.
  2. Select the correct CAN ID (hex) of your module.
    Fig 1. Select the correct CAN ID of your module and click connect.
    • For an additional 4th axis this would be 0x40 (decimal 64 converted to hex).
    • For an additional 5th axis this would be 0x50 (decimal 80 converted to hex).
  3. Click "connect"
  4. Switch to the Configuration tab.
  5. If the additional external axis has a motor encoder, which it normally should, enter the paramters as shown on Fig 2.
    Fig 2. Enter the module paramters as shown on this image.
    . Initially, click "read" to download the current parameters from the module. Remember to click the set after entering the values, so that the parameters are uploaded to the firmware.
  6. Switch to the StepperMotor Tab and initially click "read" to download the current parameters. Enter the values shown in Fig 3 and click "write".
    Fig 3. Enter the module paramters as shown on this image.
  7. Then click "read" again to verify that the configuration has been written as intended.
  8. The axis is now configured to the default parameters for an external linear axis. However, you may want to vary the parameters:
  9. If you later on notice that the referencing switch is not being found, change
    • "End Switch Rising" to invert the end-switch logic.
    • "Ref Speed" and "Ref Speed Slow", if the axis is moving at the wrong speed when referencing.

Software Configuration

  1. Close ModuleCtrl.
  2. Open CPRog. If you have been using the robot before, the correct project file should already be loaded. You can check, which project file you are currently using: The current project file is displayed in the title bar of CPRog when the window is not maximised.
  3. Close CPRog.
  4. CPRog is installed by default in c:\CPRog. Use an editor, such as Notepad++ to open your project file, which is located in c:\CPRog\Data\Projects\<name_of_your_project_file>. Make a backup copy of that file and save it in a known location.
  5. Edit the Project file. Insert the following line below the line near the top starting with <Robot Name=....
     <LinearAxis  Name="igus_LinearAxis" Type="igus_LinearAxis"/>
    
  6. This will call up a robot file in the located here: c:\CPRog\Data\Robots\igus_LinearAxis\igus_LinearAxis.xml
    • Initially create the directory c:\CPRog\Data\Robots\igus_LinearAxis, if it does not exist yet.
    • Then, inside the directory, create an empty file named igus_LinearAxis.xml
  7. The file should have the following content to start with:
    <ROBOT>
      <INFO NAME="igus_LinearAxis" AUTHOR="Christian Meyer"/>
      <Kinematic lz0="100.0"/>
      <ManufacturerJointConfig A1Dir="1.0" A1Offset="0.0" />
      <SoftwareMinMax A1Min="-1000.0" A1Max="1000.0" />
      <JointVelocities A1="200.0" />
    </ROBOT>
    
  8. Save the file.
  9. Start CPRog. The axis should now be active. Depending on the type of linear axis, ini switch, gear ratio firmware parameters may need adapting as described above.