Dorna Document

Dorna Document

  • GitHub
  • Dorna.ai

›Guides

Guides

  • Motion concepts
  • Auxiliary axes
  • Connect to the robot
  • Mounting
  • Joint limit
  • Setting joints
  • Installation of toolheads
  • Set tool length
  • Inputs and outputs
  • Upgrade process

Auxiliary axes

Dorna 2 enjoys an eight axes closed loop motion controller. Since the robot has five axes, the extra three axes are available for the user to use them with various automation applications, such as, linear track, camera zoom and focus control, round table, 3D printing nozzle head, etc.

In this document we will go over setting up and using the extra three axes of Dorna 2 robot which are also called auxiliary axes.

Basic properties

The three auxiliary axes of the controller are synched with the rest of the axes of the robot based on the trajectory of the motion. For line commands, they will vary based on the line trajectory and for cirlce commands, they will vary based on the circle trajectory.

Auxiliary axes, similar to main axes of the controller, are closed loop controlled. In a typical application, you can use stepper motors with differential encoders installed on them connected to the controller. The stepper motor and the encoder will need to satisfy the following requirements:

  • The encoder and the stepper motor driver should be compatible with 3.3 V voltage level.

  • The number of microsteps per turn of the stepper motor driver and the number of pulses generated in each turn by the encoder should be equal. For example, if the stepper driver is set to 4000 microsteps, the encoder should also be set to resolution of 4000 (which corresponds to PPR setting of 1000 on the encoder.)

One unit of motion of the auxiliary axes corresponds to 200 microsteps of the stepper motors. So if the stepper driver is set to 4000 microsteps per revolution, each 20 units of the auxiliary axes is one revolution of the stepper motor.

How to connect

To connect the encoder and stepper driver to the controller, you will need to remove the top panel of the controller box. Locate the controller board inside the box, and notice that there are 8 connectors for 8 stepper drivers on the board and 8. The first 5 connectors for stepper drivers and the first 5 connectors for encoders are reserved for the robot control. The user can use the last 3 connectors. The last 3 joints of the controller (auxiliary axes) are called j5, j6, j7 and are specified in the following picture.

Board

The encoder connectors are JST XH type with 5 pins which are respectively B, VIN, A, I, GND.

The stepper driver connectors are JST XH type with 6 pins which are respectively PUL, GND, DIR, GND, EN, GND.

For instance to use the auxiliary axis j5, connect the stepper driver connector for j5 to your stepper driver. Make sure the same pins on the board and on the driver are connected together.

Driver connector

Next, install the differential encoder on the stepper motor. The encoder should have pins for A, B, GND, VIN and optionally index pin I. To protect encoder signal against motor noise the following are recommended:

  • Use shielded cable for encoder connection to the controller.
  • Connect GND pin of the encoder to the body of the stepper motor.

Now, connect the encoder connector on the board for j5 to the encoder. Again, be careful to connect the same pins on the encoder and board together. In case your encoder does not have an index pin, leave the I pin on the board disconnected.

Encoder connector

Finally, complete the cabling by connecting the stepper driver to the appropriate power supply and also connect the A-,A+,B-,B+ pins from the stepper driver to the stepper motor.

Stepper connector

For better cable managment, you can use two holes placed on the back panel of the controller box.

Cable routing

As a reminder, set the microstepping on the stepper driver the same as the resolution of the encoder (resolution is four time PPR value of the encoder).

Set the proper current setting on the stepper driver.

Now you can put the top panel back in place and turn the controller and the power supply on and start programming the the auxiliary axes.

Auxiliary axes in Dorna 2, Black version

The motors and encoders connectors for the three auxiliary axes in Black version of Dorna 2, are available on the back panel of the controller box. Therefore, in order to connect the motor driver and encoder to the controller board, you do not need to open the controller box and can directly connect them through the connectors on the back panel. In addition, the 48V and GND pins are available to power the driver directly from the controller box. The instructions for connecting the encoder and drivers wires can be seen at the end of the following video: https://youtu.be/FeDiU8BShk4

How to program

You can use Dorna lab or API to program the auxiliary axes the same way that you program the normal axes of the robot. For motion commands in joints space, the auxiliary axes are referred to as j5, j6, and j7. For motion commands in Cartesian space, the auxiliary axes are referred as c, d, and e respectively.

Auxiliary axes unit of distance is 200 microsteps.

For example, if you are using a belt driven linear rail that moves 10mm per turn of the motor, and the stepper driver is set to 4000 microsteps, then each unit of the auxiliary axes corresponds to 1/20 turn of the motor which is 0.5mm.

While programming, keep in mind that the maximum velocity of each auxiliary axes is approximately 500 unit/sec.

If the controller does not respond to the motion commands for the auxiliary axes (usually causing alarm state), the most probable cause is that the direction of the rotation of the motor and encoder are not consistent. The easiest fix for this problem is to change the wiring of the motor to the driver so that the motor rotates in the opposite direction. For that you can swipe the connection of A+ and A- on the driver (or B+ and B-).

Last updated on 12/2/2022
← Motion conceptsConnect to the robot →
  • Basic properties
  • How to connect
    • Auxiliary axes in Dorna 2, Black version
  • How to program
Dorna website →
Copyright © 2022 Dorna Robotics