Skip to main content
Skip table of contents

Motor Tuning

Cool Muscle motors use an H-Infinity control algorithm, which is fundamentally different than any PID control system many are familiar with. The control algorithm is actively trying to achieve stability at all times. This makes it a very robust and dynamic controller when applied to motion control.  The controller is very forgiving giving the user a large envelope to work in while still achieving optimal and stable motion. The controller is formulated using a state-space model where each of the 8 user parameters are elements in a matrix. The matrix as a whole defines the controller and is used to solve the control algorithm. As such there is no direct cross over of the controller gains to a PID controller. However, some parameters will act in a similar fashion even though they are fundamentally different.

Due to the stability of the controller the majority of applications will not require any changing/tuning of parameters. Most often large inertia mismatches (>50:1) or very light loads with accurate slow speeds targets will require tuning. Each of the parameters are discussed below and approaches to common control problems.

Parameter

Range

[min, max]

Motor Defaults

11S

11L

17S

17L

23S

23L

H0

[20 , 100]

100

100

100

100

100

100

H1

[0, 512]

46

46

46

46

46

46

H2

[-5000, 5000]

-2427

-2427

-2427

-2427

-2427

-2427

H3

[0, 5000]

1747

1454

2100

455

376

204

H4

[0, 3000]

127

74

61

54

70

90

H5

[0, 1000]

46

31

20

34

43

65

H6

[0, 1000]

38

20

21

10

13

15

H7

[0, 32767]

98

64

19

8

21

10

Parameter

Description

H0

H0 is an overall gain on the controller. This is set to 100% by default. It will affect the following gains

H4_CONTROLLER = H4 * H0 / 128
H5_CONTROLLER = H5 * H0 / 128
H6_CONTROLLER = H6 * H0 / 128
H7_CONTROLLER = H7 * H0 / 128

H0 is commonly used to detune the controller as a whole.

H1

H1 does not have any specific function. Changing H1 will have little effect and should not be changed

H2

H2 does not have any specific function. Changing H2 will have little effect and should not be changed

H3

H3 is a filter in the control system. Increasing H3 will stiffen the controller increasing response time.

H4

H4 acts most similar to a proportional gain

H5

H5 acts most similar to a differential gain

H6

H6 acts most similar to an integral gain

H7

H7 is a filter on the control system. Increasing H7 will make the controller sluggish. It gives the effect of making the system feel more "spongy".

Common Gain Tuning Examples

Harmonic resonance

When coupled to a long ballscrew a harmonic resonance may be induced. Reduce H0 to detune the system as a whole. H0 should be reduced in increments of 10 until the resonance is eliminated.

  • You may notice that that the system response is reduced below acceptable levels. Increasing H4, H5, and H6 can help improve response.

Large inertia mismatch

The default gains will often function well on mismatches all the way to 50:1. Once going beyond 50:1 it may be required to change a few parameters. The following steps can be followed to easily obtain stability.

  1. Set H4=200

  2. Set H6=9

  3. Continue to increase H4 in increments of 50 and decrease H6 in decrements of 2 until the load is stable.

    1. If H4 is required to get very large (>600) a humming sound (resonance) may appear. Reduce H0 slightly to account for this.

    2. H6 can be set as low as 0 but typically you would want to keep this at minimum 1.

  4. H3 can be increased slowly if the response of the system is lagging. Often this is not required unless the load is accelerating quite quickly.

Oscillating Load

If the load is coupled to the motor with a flexible helical style coupling there could be oscillations induced. Increasing H3 will stiffen the controller and help stabilize the oscillating.

Slow speed, low ripple, light load

The default gains are quite responsive and will quite obviously react to dynamics in the motor system at lower speeds. This can be accounted for by treating the system as if there is a large inertia mismatch. This will dampen the controller reducing speed ripple. Follow the steps described above in Large inertia mismatch.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.