Option: Use of distance sensor and motor encoder

This option is available starting at CNC Build V2.11.2804.02 and higher.

Distance sensor

Normally the distance is just measured by the distance sensor. The actual position of the Z axis is not included.

Deviation = set distance - sensor value

          Δd = dcom - dact                     (controllerDistCtrl: Zoffset,i = Zoffset,i-1 + Δd)

          dact = Filter (d’act)

Option: Use of distance sensor and motor encoder 1:
Block diagram of distance control with distance sensor

Distance sensor and motor encoder

Both the distance sensor and the axis motor encoder can be used as an extension. The inverse coupling of the two encoders (motor, distance) means that motor oscillations are not transmitted to distance control and this can reduce any tendency to oscillate. The parameters can be entered either in the axis list or by NC command.

Deviation = set distance - sensor value

          Δd = dcom - dact                  (Zoffset,i = Zoffset,i-1 + dε)

          dact = filter (d’act + Zact - Zcom) = filter (d’act - ΔΖ)

Option: Use of distance sensor and motor encoder 2:
Block diagram with distance sensor and motor encoder

If the axes involved in the control direction are used without feedforward control, the function becomes very sluggish due to position lag. In this case, the position lag of the axes can be included by using the ‘ON_LAG_FREE’ mode for a programmed motion in the control direction.

In this case, the following parameters must be additionally set in the axis list:

- P-AXIS-00099

- P-AXIS-00191

- P-AXIS-00833

Please take note of the following instructions:

There are limited options internally for checking the correctness of the parameters. Incorrectly set parameters can result in an overcompensation of the axis.

If the “ON_LAG_FREE” mode is used together with 100% axis feedforward control, this will result in an overcompensation of the axis.

It is also possible to switch between individual modes on the fly using an NC command, even while distance control is active. However, it should be noted that this can cause compensations to be suddenly cancelled or applied and this may result in jumps on the axis.