Config for scaling in mm, mm/s, mm/s2
Data about the motor can be found here: https://infosys.beckhoff.com/english.php?content=../content/1033/am8100/index.html&id=
Important for scaling factors in axis.yaml is the motor pole count. For the AM8111-XFX0 motor the pole count is 6.
Only the encoder integrated encoder is configured in this example. The specification of the encoder for a AM8111-0F20 motor:
One Cable Technology for power and feedback: feedback transmission via motor cable, no feedback cable necessary, electronic nameplate, multi-turn, absolute position within 4096 revolutions, 18 bit resolution.
However, when connecting to an Ex72xx drive the single turn count will be 20bits and 12bits multi-turn, resulting in a total of 32bits absolute bits.
# The encoder on most motors are 20bit single turn and 12 bit multi-turn (4096 turns)
encoder:
type: 1
position: ec0.s$(DRV_ID).positionActual01
numerator: 1
denominator: 1048576
bits: 32
absBits: 32
absOffset: -1000
Max scale for motors depend on the pole count:
This then converts to the following cfgs:
drive:
numerator: 8000 # mm/s, Max speed is 8000 rev/sec for drive (6 pole motor)
denominator: 2147483648
type: 1 # Stepper: 0, DS402: 1 (servos)
control: ec0.s$(DRV_ID).driveControl01
status: ec0.s$(DRV_ID).driveStatus01
setpoint: ec0.s$(DRV_ID).velocitySetpoint01
reset: 7
In standard setup switches are feed from 24V output, for the lab 4ax motion crate this is not the case. However, the configuration for feeding switches (axis.feedSwitchesOutput) have been added anyway:
axis:
id: ${AX_ID=1}
feedSwitchesOutput: ec0.s$(BO_ID).binaryOutput01.0 # Ethercat entry for feed switches