How to Setup a Motion Controller for Analog Feedback Control

Set primary feedback to ADC channel

Set ADC range

For the 733x and 734x motion controllers, the ADC is 12 bit (0 to 4095)

For the 735x motion controller, the ACD is 16 bit (0 to 65535)
Set Operation Mode to ‘Absolute Position’ and Trajectory Units to ‘counts’

Note: Setting Operation Mode to ‘Velocity’ control, will not work! There are only a finite number of counts available on the analog input (4095 for 12bit ADC’s, 65535 for 16bit ADC’s). If the controller tries to run a certain number of counts per second, it will quickly run to the end of the count range of the analog input. In contrast, encoders can continue to count to as large of value as the count register will hold (2^31 -1).

Test the Motion Setup

Now for the tricky part . . . semantics.

The name of “Target Position”, “Velocity”, and “Accel/Decel” in MAX and LabVIEW will have different meanings depending on the type of analog feedback device that is used.

If a position analog feedback device is used, the meaning of the names of the settings in MAX and LabVIEW stay the same. However, if a velocity or acceleration sensor is used, the meanings of the names shift by the corresponding number of derivatives the sensor is shifted from “Position”.

Note: Velocity is the 1st derivative of Position

Accel/Decel are the 2nd derivatives of Position

Jerk is the 3rd derivative of Position

Torque is an example of a different type of feedback not based on any derivative of position
Setting the Correct Target Value . . . a matter of many conversions.

In this example, using a 7344 motion controller (meaning the ADC is 12 bit input), a velocity sensor is the primary feedback device. At 10,000 rpm the sensor will output 10 volts and at 0 rpm the sensor will output 0 volts.

When the sensor was outputting 0 volts, the ‘Reset Position’ was selected to remove any offsets. In MAX, after doing such, the Position shows 0 counts. The desired speed of the motor is 5000 rpm. The target position is set to 2048 counts (5000 rpm corresponds to 5 volts which corresponds to 2047.5 counts on the ADC range – but bits are integer values, so the value is quantized to 2048).

When ‘Start’ is clicked, a trajectory is generated and run on the motion board and the motor accelerates to 5000 rpm based on the 10,000 counts/ sec ‘Velocity’ setting (the meaning was shifted by 1 derivative to indicate acceleration) which translates to 407 rev/s^2 (from eq: 10,000 counts/sec * (10,000 rev/min)/(4095 counts) * 1 min/60 sec = 407 rev/s^2)