Page History
Metadata (Metadata Plugin) | ||||
---|---|---|---|---|
| ||||
1.0.0 |
Scroll Ignore | |||||
---|---|---|---|---|---|
Version:
|
...
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 H0 is commonly used to detune the controller is 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 me 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.
- Set H4=200
- Set H6=9
- Continue to increase H4 in increments of 50 and decrease H6 in decrements of 2 until the load is stable.
- If H4 is required to get very large (>600) a humming sound (resonance) may appear. Reduce H0 slightly to account for this.
- H6 can be set as low as 0 but typically you would want to keep this at minimum 1.
- 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.
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.
The H parameters are the way we tune the motor. There are eight different parameters from H0 to H7. These values are programmed and read in the exact same manner as you would any of the other registers in the cool muscle motor, such as the K, S, P, and A registers.
Due to the robust nature of the H-Infinity control, you will most likely not need to tune the motor at all. The cool muscle is excellent at dealing with many different loads with no tuning. One common situation where you may need to adjust tuning parameters is in the case of a large inertia mismatch.
In order to overcome a large inertia mismatch, the following parameters can be changed:
H4
H4 should be increased in increments of 50. This will increase the motors reactivity and help compensate for a large inertia mismatch.
H6
H6 should be increased in increments of 2. Increasing H6 will improve the settling time of the position controller, but may introduce some overshoot in the system.
H0
H0 can be decreased in increments of 1 or 2 if the motor starts to hum but do not go below 45.
H3
...