2. Amplifier Configuration

The first step required to interface a controller to a 3rd party amplifier is to define the basic hardware and servo configuration parameters.  These parameters fall into two categories:  (1) those that are needed when the controller is first restarted, and (2) those that are needed at runtime when the system is actively controlling a motor.  The setup for each of these sets of parameters is described in the following sections.

All of the parameters that you are required to set are stored within the System Configuration and Parameter Database.  In order to modify these values, it is assumed that you are familiar with the web pages that provide access to these values.  If you are not familiar with these web pages or the methods for altering these values, please refer to the Controller Software, Introduction to the Software section of the PreciseFlex Library.

2.1. System Startup/Restart Parameters

These first parameters must be properly set when the controller is restarted in order for the system to configure some key subsystems.

2.1.1. The "Servo board configuration code" (DataID 10008) defines whether you are utilizing one of the standard configurations or a custom configuration.  If you are configuring a Guidance Controller without integrated amplifiers and will only be using 3rd party amplifiers, you can select configurations "9" (G0400) or "10" (G0600).

DataID

Parameter Name

Description

10008

Servo board configuration code

Set to "9" if configuring a G0400 or "10" if configuring a G0600.

If you are using a G0400 or a G0600, you can now configure the encoders, save the configuration data to the flash, restart your controller, and skip to section 2.2.

If you are using a combination of integrated Brooks amplifiers and 3rd party amplifiers, you need to generate a custom board configuration.

DataID Parameter Name Description

10008

Servo board configuration code

Set to "-1" if generate a custom configuration with a combination of integrated and 3rd party amplifiers.

You must now perform the steps described in the following sections to set parameters in the 10020 to 10048 range. In each case, you should be setting the described values just for the axes that are driven by 3rd party amplifiers.  For example, if you are utilizing three of the integrated drives and the 4th axis is powered by a 3rd party amplifier, the 4th value for each configuration parameter should be set as described below.

2.1.2. Specify that the axis is a full servo control axis rather than a readonly encoder.

DataID

Parameter Name

Description

10020

Axis capability bitmask

Set to "15" for full function servo axis.

By setting this DataID to 15, you are specifying that the axis has the following capabilities: encoder feedback, interfaces to an amplifier/motor, servo motion command services, and feedback compensation.

2.1.3. Indicate that the drive is a 3rd party amplifier and it self commutates.

DataID

Parameter Name

Description

10029

Amplifier type

Set to "20" for 3rd party amplifiers.

10030

Motor commutation method

Set to "0" to indicate that the amplifier automatically handles commutation of the motor.

The "Amplifier type" is the key parameter that informs the system that a DAC channel should be used to send motor torque commands to a generic 3rd party amplifier.

2.1.4. The amplifier channel number should be set equal to the number of the DAC to be used.

DataID

Parameter Name

Description

10028

Amplifier hardware channel number

Should be set to a number from 1 to 6 depending upon which DAC channel is connected to the 3rd party amplifier.

Note that instead of setting a physical amplifier channel as in the case of configuring an integrated amplifier, the amp channel number specifies the DAC channel to be used. If the value is “0” or it is greater than the number of available DAC's, then the DAC channel number will be cleared to 0. This means that the DAC signal is unspecified and no torque output will be produced.

2.1.5. At this time, the information for the encoder setup, such as the encoder type, encoder channel, etc., should be defined as usual. Once done, save all parameters into the flash, and restart the controller.

2.1.6. After the controller has restarted and before proceeding further, you should verify the values of a few key DataIDs to ensure that the configuration has properly been put into effect.

DataID

Parameter Name

Description

10600

Amplifier type

Should be set to "20".

10602

Motor commutation method

Should be set to "0".

10626

Torque output DAC signal

Should display the DAC channel, 1-6.

Note that these DataID codes are different from the basic configuration DataIDs mentioned previously.

2.2. System Run-Time Parameters

At time point, you should have defined the startup configuration parameters required to use the DAC as the amplifier interface together specifying the encoder data, saved these values to flash, and restarted the controller.  We are now ready to specify the parameters that the system will use when it is actually running the motor.

2.2.1. Setup the DAC output scale factor and offset.

Independent of whether the servo code is controlling a motor with an integrated or a 3rd party amplifier, the servo code always internally represents torque values as 16-bit, 2's complement numbers.  These values range between +/- 32767 tcnts, i.e. torque counts, and represents the full range of the amplifier (not the motor) current.  For 3rd party amplifiers, the torque commands represented as torque counts are then converted to +/- 10VDC using the following equation:

DAC_output = ((torque - torque_offset)/32767) * 10V * DAC_scale

If the amplifier only accepts a voltage range of less than 10V, e.g. 8V, then the DAC_scale may be used to scale down the final DAC output.  This equation also includes a DAC offset to compensate for any DC bias in the amplifier.  The DAC_scale and the torque_offset values are defined by the following parameters.

Data ID Parameter Name Description

10628

Torque output scale factor [0,1]

Should be set to 1 if the amplifier can accept a +/- 10VDC signal.  If its range is less, adjust this value accordingly.  For example, for a +/- 8VDC range, this value should be set to 0.8.

10627

Torque output DAC offset

Torque offset in units of torque counts.  Normally set to 0.

2.2.2. Define the maximum amplifier current capability.

Data ID Parameter Name Description

10610

Amplifier PEAK(non-RMS) current, A(z-p)

Should be set to the peak single phase current in amps that can be output by the amplifier.

It is critical that this parameter is setup correctly such that the motor current vs. torque mapping is accurate.

2.2.3. Setup the rated motor current and the maximum motor torque as specified by the motor data sheet.

Data ID Parameter Name Description

10611

RMS rated motor current, A(rms)

Rated motor current in RMS amps as specified in the motors data sheet.

10613

AUTO mode motor PEAK(non-RMS)/(RMS rated) current, %

Maximum single phase motor current as a percentage of the rated motor RMS current.  This is the limit used when the motor is under program control.

2.2.4.  At this point, the remainder of the controller parameters should be defined in the same manner as that required for the integrated amplifiers.  The one difference is that for the DAC-based amplifier interface, there is no need to setup the current loop or commutation process.  Since the 3rd party amplifier implements the current loop and the motor commutation, all parameters related to these two categories should be left as 0’s.   If you are using the controller's web interface and all axes are DAC-based, then the web panels for these two categories are empty.

2.2.5.  You should now save all of your settings to the flash disk.  Since these run-time parameters take effect immediately, there is no need to restart the controller.