Update Content - 2023-01-10
This commit is contained in:
1181
content/book/hughes13_elect_motor_drives.md
Normal file
1181
content/book/hughes13_elect_motor_drives.md
Normal file
File diff suppressed because it is too large
Load Diff
@@ -1,19 +1,19 @@
|
||||
+++
|
||||
title = "The design of high performance mechatronics - third revised edition"
|
||||
author = ["Thomas Dehaeze"]
|
||||
author = ["Dehaeze Thomas"]
|
||||
description = "Awesome book that gives great overview of high performance mechatronic systems"
|
||||
keywords = ["Metrology", "Mechatronics", "Control"]
|
||||
draft = false
|
||||
+++
|
||||
|
||||
Tags
|
||||
: [Reference Books]({{< relref "reference_books" >}}), [Dynamic Error Budgeting]({{< relref "dynamic_error_budgeting" >}})
|
||||
: [Reference Books]({{< relref "reference_books.md" >}}), [Dynamic Error Budgeting]({{< relref "dynamic_error_budgeting.md" >}})
|
||||
|
||||
Reference
|
||||
: ([Schmidt, Schitter, and Rankers 2020](#org4e5c703))
|
||||
: (<a href="#citeproc_bib_item_1">Schmidt, Schitter, and Rankers 2020</a>)
|
||||
|
||||
Author(s)
|
||||
: Schmidt, R. M., Schitter, G., & Rankers, A.
|
||||
: Schmidt, R. M., Schitter, G., & Rankers, A.
|
||||
|
||||
Year
|
||||
: 2020
|
||||
@@ -66,9 +66,9 @@ Year
|
||||
|
||||
#### Electric Field {#electric-field}
|
||||
|
||||
<a id="org16b370d"></a>
|
||||
<a id="figure--fig:schmidt20-electrical-field"></a>
|
||||
|
||||
{{< figure src="/ox-hugo/schmidt20_electrical_field.svg" caption="Figure 1: Charges have an electric field" >}}
|
||||
{{< figure src="/ox-hugo/schmidt20_electrical_field.svg" caption="<span class=\"figure-number\">Figure 1: </span>Charges have an electric field" >}}
|
||||
|
||||
|
||||
##### Potential Difference and Capacitance {#potential-difference-and-capacitance}
|
||||
@@ -172,14 +172,13 @@ The term "rms" refers to Root Mean Square, named from the action of taking the r
|
||||
The RMS value is a well known term used to characterize the "useful" value of the energy supply with a signal by comparing it with an equivalent DC voltage that would cause the same power in a resistive load.
|
||||
|
||||
<div class="exampl">
|
||||
<div></div>
|
||||
|
||||
For a sinusoidal signal \\(V(t) = V\_p \sin(\omega t)\\), the equivalent DC voltage becomes:
|
||||
|
||||
\begin{equation}
|
||||
\begin{aligned}
|
||||
V\_{\text{rms}} &= \sqrt{\frac{1}{T} \int\_0^T \left< V\_p\sin(\omega t) \right>^2 dt} \\\\\\
|
||||
&= \dots \\\\\\
|
||||
V\_{\text{rms}} &= \sqrt{\frac{1}{T} \int\_0^T \left< V\_p\sin(\omega t) \right>^2 dt} \\\\
|
||||
&= \dots \\\\
|
||||
&= \frac{V\_p}{\sqrt{2}} \quad [V]
|
||||
\end{aligned}
|
||||
\end{equation}
|
||||
@@ -213,7 +212,7 @@ Its inverse, the spatial period length called _wavelength_ \\(\lambda\\) [m] is
|
||||
The relation between the above defined terms is:
|
||||
|
||||
\begin{align}
|
||||
\lambda &= \frac{1}{\nu} = c\_p T = \frac{c\_p}{f} \quad [m] \\\\\\
|
||||
\lambda &= \frac{1}{\nu} = c\_p T = \frac{c\_p}{f} \quad [m] \\\\
|
||||
v\_p &= \frac{f}{\nu} \quad [m/s]
|
||||
\end{align}
|
||||
|
||||
@@ -221,11 +220,11 @@ The relation between the above defined terms is:
|
||||
##### Mechanical Waves {#mechanical-waves}
|
||||
|
||||
The propagation speed value of a mechanical wave is mostly determined by the density and elasticity of the medium.
|
||||
The wave propagation through an elastic material can be qualitatively explained with the help of a simplified lumped element model, consisting of a chain of springs and bodies as shown in Figure [2](#orgaa33fb8).
|
||||
The wave propagation through an elastic material can be qualitatively explained with the help of a simplified lumped element model, consisting of a chain of springs and bodies as shown in Figure [2](#figure--fig:schmidt20-mechanical-wave).
|
||||
|
||||
<a id="orgaa33fb8"></a>
|
||||
<a id="figure--fig:schmidt20-mechanical-wave"></a>
|
||||
|
||||
{{< figure src="/ox-hugo/schmidt20_mechanical_wave.svg" caption="Figure 2: Lumped element model of one wavelength of a mechanical wave." >}}
|
||||
{{< figure src="/ox-hugo/schmidt20_mechanical_wave.svg" caption="<span class=\"figure-number\">Figure 1: </span>Lumped element model of one wavelength of a mechanical wave." >}}
|
||||
|
||||
To explain the principle of energy transfer, the longitudinal wave is taken as example.
|
||||
When a movement of mass \\(m\_1\\) is introduced in the propagation direction of the chain, this will first cause a compression of the elastic coupling \\(k\_1\\).
|
||||
@@ -234,7 +233,6 @@ This process is repeated over the total chain until the original movement reache
|
||||
With this mechanism the kinetic energy from mass \\(m\_1\\) is converted into potential energy in \\(k\_1\\), which in turn is transferred into kinetic energy of \\(m\_2\\), and so on.
|
||||
|
||||
<div class="important">
|
||||
<div></div>
|
||||
|
||||
This phenomenon of transfer of energy in an elastic body is important in mechatronic systems because driving forces are also transported through the body as a wave and as a consequence will experience a delay between the actuator and the sensor when they are located separately.
|
||||
|
||||
@@ -247,7 +245,6 @@ The propagation speed \\(c\_p\\) is determined by the density \\(\rho\_m\\) and
|
||||
\end{equation}
|
||||
|
||||
<div class="exampl">
|
||||
<div></div>
|
||||
|
||||
The propagation speed in stainless steel varies between 3500 m/s for transversal waves and 5500 m/s for longitudinal waves.
|
||||
With for instance half a meter of steel this gives a delay of about 0.1ms, resulting in a phase delay of 36 degrees at 1kHz, which can be significant from a control point of view.
|
||||
@@ -384,7 +381,7 @@ The values are given in Table [1](#table--tab:relation-slope-decade) for a decad
|
||||
|
||||
<a id="table--tab:relation-slope-decade"></a>
|
||||
<div class="table-caption">
|
||||
<span class="table-number"><a href="#table--tab:relation-slope-decade">Table 1</a></span>:
|
||||
<span class="table-number"><a href="#table--tab:relation-slope-decade">Table 1</a>:</span>
|
||||
Relation between the order of the slope of a bode plot and the magnitude ration in dB, amplitude ratio and power ration, per <b>decade</b> (\(f_1 = 10 f_2\))
|
||||
</div>
|
||||
|
||||
@@ -398,7 +395,7 @@ The values are given in Table [1](#table--tab:relation-slope-decade) for a decad
|
||||
|
||||
<a id="table--tab:relation-slope-octave"></a>
|
||||
<div class="table-caption">
|
||||
<span class="table-number"><a href="#table--tab:relation-slope-octave">Table 2</a></span>:
|
||||
<span class="table-number"><a href="#table--tab:relation-slope-octave">Table 1</a>:</span>
|
||||
Relation between the order of the slope of a bode plot and the magnitude ration in dB, amplitude ratio and power ration, per <b>octave</b> (\(f_1 = 2 f_2\))
|
||||
</div>
|
||||
|
||||
@@ -589,7 +586,8 @@ The values are given in Table [1](#table--tab:relation-slope-decade) for a decad
|
||||
|
||||
### Summary on Dynamics {#summary-on-dynamics}
|
||||
|
||||
<summary>
|
||||
<div class="sum">
|
||||
|
||||
In this chapter some important lessons have been learned, which are summarised as follows:
|
||||
|
||||
- Stiffness, whether it is created mechanically or by means of a control system, is determinative for precision
|
||||
@@ -604,7 +602,8 @@ In this chapter some important lessons have been learned, which are summarised a
|
||||
- Modal analysis is a powerful and widely applied tool to investigate the dynamics of a mechanical structure.
|
||||
|
||||
Finally it can be concluded, that these insights help in designing actively controlled dynamic motion systems with optimally located actuators and sensors, which reduce the sensitivity for modal dynamic problems.
|
||||
</summary>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
## Motion Control {#motion-control}
|
||||
@@ -612,15 +611,15 @@ Finally it can be concluded, that these insights help in designing actively cont
|
||||
|
||||
### A Walk around the Control Loop {#a-walk-around-the-control-loop}
|
||||
|
||||
Figure [3](#org6432052) shows a basic control loop of a positioning system.
|
||||
Figure [1](#figure--fig:schmidt20-walk-control-loop) shows a basic control loop of a positioning system.
|
||||
First, the A/D and D/A converters are used to translate analog signals into time-discrete digital signals and vice versa.
|
||||
Secondly, the impact locations of several disturbances are shown, which play a large role in determining what reqwuirements the controller needs to fulfil.
|
||||
The core of the control system is the _plant_, which is the physical system that needs to be controlled.
|
||||
|
||||
<a id="table--tab:walk-control-loop"></a>
|
||||
<div class="table-caption">
|
||||
<span class="table-number"><a href="#table--tab:walk-control-loop">Table 3</a></span>:
|
||||
Symbols used in Figure <a href="#org6432052">10</a>
|
||||
<span class="table-number"><a href="#table--tab:walk-control-loop">Table 1</a>:</span>
|
||||
Symbols used in Figure <a href="#orge5a2ac8">3</a>
|
||||
</div>
|
||||
|
||||
| Symbol | Meaning | Unit |
|
||||
@@ -634,16 +633,16 @@ The core of the control system is the _plant_, which is the physical system that
|
||||
| \\(y\\) | Measured output motion | [m] |
|
||||
| \\(y\_m\\) | Measurement value | [m] |
|
||||
|
||||
<a id="org6432052"></a>
|
||||
<a id="figure--fig:schmidt20-walk-control-loop"></a>
|
||||
|
||||
{{< figure src="/ox-hugo/schmidt20_walk_control_loop.svg" caption="Figure 3: Block diagram of a motion control system, including feedforward and feedback control." >}}
|
||||
{{< figure src="/ox-hugo/schmidt20_walk_control_loop.svg" caption="<span class=\"figure-number\">Figure 1: </span>Block diagram of a motion control system, including feedforward and feedback control." >}}
|
||||
|
||||
The plant combines the mechanical structure, amplifiers and actuators, as they all deal with energy conversion in close interaction (Figure [4](#org21aa9c3)).
|
||||
The plant combines the mechanical structure, amplifiers and actuators, as they all deal with energy conversion in close interaction (Figure [1](#figure--fig:schmidt20-energy-actuator-system)).
|
||||
They interact in both directions in such a way that each element not only determines the input of the next element, but also influences the previous element by its dynamic load.
|
||||
|
||||
<a id="org21aa9c3"></a>
|
||||
<a id="figure--fig:schmidt20-energy-actuator-system"></a>
|
||||
|
||||
{{< figure src="/ox-hugo/schmidt20_energy_actuator_system.svg" caption="Figure 4: The energy converting part of a mechatronic system consists of a the amplifier, the actuator and the mechanical structure." >}}
|
||||
{{< figure src="/ox-hugo/schmidt20_energy_actuator_system.svg" caption="<span class=\"figure-number\">Figure 1: </span>The energy converting part of a mechatronic system consists of a the amplifier, the actuator and the mechanical structure." >}}
|
||||
|
||||
|
||||
#### Poles and Zeros in Motion Control {#poles-and-zeros-in-motion-control}
|
||||
@@ -672,7 +671,7 @@ Fortunately the effect is mostly so small that it can be neglected.
|
||||
|
||||
#### Overview Feedforward Control {#overview-feedforward-control}
|
||||
|
||||
Figure [5](#org4b3a329) shows the typical basic configuration for feedforward control, which is also called _open-loop control_ as it is equal to a situation where the measured output is not connected to the input for feedback.
|
||||
Figure [1](#figure--fig:schmidt20-feedforward-control-diagram) shows the typical basic configuration for feedforward control, which is also called _open-loop control_ as it is equal to a situation where the measured output is not connected to the input for feedback.
|
||||
|
||||
The reference signal \\(r\\) [m] is applied to the controller, which as a reference transfer function \\(C\_{ff}(s)\\) in [N/m].
|
||||
The output \\(u\\) in [N] of the controller is connected to the input of the motion system, which has a transfer function \\(G(s)\\) in [m/N] giving the output \\(x\\) in [m].
|
||||
@@ -684,12 +683,11 @@ If one would like to achieve perfect control, which means that there is no diffe
|
||||
G\_{t,ff}(s) = \frac{x}{r} = C\_{ff}(s)G(s) = 1 \quad \Longrightarrow \quad C\_{ff}(s) = G^{-1}(s)
|
||||
\end{equation}
|
||||
|
||||
<a id="org4b3a329"></a>
|
||||
<a id="figure--fig:schmidt20-feedforward-control-diagram"></a>
|
||||
|
||||
{{< figure src="/ox-hugo/schmidt20_feedforward_control_diagram.svg" caption="Figure 5: Block diagram of a feedforward controller motion system with one input and output (SISO)." >}}
|
||||
{{< figure src="/ox-hugo/schmidt20_feedforward_control_diagram.svg" caption="<span class=\"figure-number\">Figure 1: </span>Block diagram of a feedforward controller motion system with one input and output (SISO)." >}}
|
||||
|
||||
<div class="important">
|
||||
<div></div>
|
||||
|
||||
Feedforward control is a very useful and preferred first step in the control of a complex dynamic motion system as it provides the following advantages:
|
||||
|
||||
@@ -702,7 +700,6 @@ Feedforward control is a very useful and preferred first step in the control of
|
||||
</div>
|
||||
|
||||
<div class="important">
|
||||
<div></div>
|
||||
|
||||
The drawbacks and limitations of feedforward control are:
|
||||
|
||||
@@ -718,21 +715,20 @@ The drawbacks and limitations of feedforward control are:
|
||||
|
||||
In feedback control the actuator status of the motion system is monitored by a sensor and the controller generates a control action based on the difference between the desired motion (reference signal) and the actuator system status (sensor signal).
|
||||
|
||||
The block diagram of Figure [6](#org3bccc77) shows a SISO feedback loop for a motion system without the A/D and D/A converters.
|
||||
The block diagram of Figure [1](#figure--fig:schmidt20-feedback-control-diagram) shows a SISO feedback loop for a motion system without the A/D and D/A converters.
|
||||
The output \\(x\\) in [m] is the total motion of the plant on all its parts and details, while \\(y\\) is the measured motion with a measured value \\(y\_m\\) measured on a selected location in the plant.
|
||||
This measured is compared with \\(r\_f\\), which is the reference \\(r\\) after filtering.
|
||||
The result of this comparison is used as input for the feedback controller.
|
||||
|
||||
<div class="note">
|
||||
<div></div>
|
||||
|
||||
The transfer function of any input to any output in a closed-loop feedback controlled dynamic system is equal to the forward path from the input to the output divided by one plus the transfer function of the total feedback path.
|
||||
|
||||
</div>
|
||||
|
||||
<a id="org3bccc77"></a>
|
||||
<a id="figure--fig:schmidt20-feedback-control-diagram"></a>
|
||||
|
||||
{{< figure src="/ox-hugo/schmidt20_feedback_control_diagram.svg" caption="Figure 6: Block diagram of a SISO feedback controlled motion system." >}}
|
||||
{{< figure src="/ox-hugo/schmidt20_feedback_control_diagram.svg" caption="<span class=\"figure-number\">Figure 1: </span>Block diagram of a SISO feedback controlled motion system." >}}
|
||||
|
||||
In control design, one has the freedom to choose \\(F(s)\\) and particularly \\(C\_{fb}(s)\\) such that the total transfer function fulfills the desired specifications.
|
||||
Feedback control allows to directly place the system poles at values that are more useful for the operation of the motion system that their natural locations.
|
||||
@@ -743,7 +739,6 @@ It is mainly used to present unwanted signals from entering the system.
|
||||
This can be signals that drive the system into its "incapability" region where the system can no longer perform as required due to limitations in the hardware.
|
||||
|
||||
<div class="important">
|
||||
<div></div>
|
||||
|
||||
Feedback is an addition to feedforward control with the following benefits:
|
||||
|
||||
@@ -754,7 +749,6 @@ Feedback is an addition to feedforward control with the following benefits:
|
||||
</div>
|
||||
|
||||
<div class="important">
|
||||
<div></div>
|
||||
|
||||
Also, some pitfalls have to be dealt with:
|
||||
|
||||
@@ -769,9 +763,9 @@ Also, some pitfalls have to be dealt with:
|
||||
|
||||
#### Summary {#summary}
|
||||
|
||||
<a id="table--tab:feedback-feedforward-summary"></a>
|
||||
<a id="table--tab:feedback-feedforward-sum"></a>
|
||||
<div class="table-caption">
|
||||
<span class="table-number"><a href="#table--tab:feedback-feedforward-summary">Table 4</a></span>:
|
||||
<span class="table-number"><a href="#table--tab:feedback-feedforward-sum">Table 1</a>:</span>
|
||||
Summary of Feedback and Feedforward control
|
||||
</div>
|
||||
|
||||
@@ -795,11 +789,11 @@ Also, some pitfalls have to be dealt with:
|
||||
#### Model-Based Feedforward Control {#model-based-feedforward-control}
|
||||
|
||||
In the following an example of a model-based feedforward controller is introduced.
|
||||
The measured frequency-response of the scanning unit taken as as an example is shown in Figure [7](#org77061d7).
|
||||
The measured frequency-response of the scanning unit taken as as an example is shown in Figure [1](#figure--fig:schmidt20-bode-plot-scanning).
|
||||
|
||||
<a id="org77061d7"></a>
|
||||
<a id="figure--fig:schmidt20-bode-plot-scanning"></a>
|
||||
|
||||
{{< figure src="/ox-hugo/schmidt20_bode_plot_scanning.svg" caption="Figure 7: Bode plot of a piezoelectric-actuator based scanning unit for nanometer resolution positioning. It shows the measured response (solid line) and the second order model, which is fitted for the low-frewquency system behaviour (dashed line)." >}}
|
||||
{{< figure src="/ox-hugo/schmidt20_bode_plot_scanning.svg" caption="<span class=\"figure-number\">Figure 1: </span>Bode plot of a piezoelectric-actuator based scanning unit for nanometer resolution positioning. It shows the measured response (solid line) and the second order model, which is fitted for the low-frewquency system behaviour (dashed line)." >}}
|
||||
|
||||
A mathematical model of a seconder-order mass-spring system with a force input is fitted to this measured response:
|
||||
|
||||
@@ -835,17 +829,17 @@ C\_{ff}(s) = \frac{s^2 + 2 \xi\_f \omega\_0 s + \omega\_0^2}{(s + \omega\_0)(s^2
|
||||
Then this controller is connected in series with the scanning unit, the anti-resonance of the controller and the resonance of the piezo-scanner cancel each other out:
|
||||
|
||||
\begin{align}
|
||||
G\_{t,ff}(s) &= G(s)G\_{ff}(s) \\\\\\
|
||||
&= \frac{C\_f}{s^2 + 2 \xi\_f \omega\_0 s + \omega\_0^2} \frac{s^2 + 2 \xi\_f \omega\_0 s + \omega\_0^2}{(s + \omega\_0){s^2 + 2 \omega\_0 s + \omega\_0^2}} \\\\\\
|
||||
G\_{t,ff}(s) &= G(s)G\_{ff}(s) \\\\
|
||||
&= \frac{C\_f}{s^2 + 2 \xi\_f \omega\_0 s + \omega\_0^2} \frac{s^2 + 2 \xi\_f \omega\_0 s + \omega\_0^2}{(s + \omega\_0){s^2 + 2 \omega\_0 s + \omega\_0^2}} \\\\
|
||||
&= \frac{C\_f}{(s + \omega\_0){s^2 + 2 \omega\_0 s + \omega\_0^2}}
|
||||
\end{align}
|
||||
|
||||
The bode plot of the resulting dynamics is shown in Figure [8](#org1f513e4).
|
||||
The bode plot of the resulting dynamics is shown in Figure [1](#figure--fig:schmidt20-bode-plot-feedfoward-example).
|
||||
The controlled system has low-pass characteristics, rolling of at the scanner's natural frequency.
|
||||
|
||||
<a id="org1f513e4"></a>
|
||||
<a id="figure--fig:schmidt20-bode-plot-feedfoward-example"></a>
|
||||
|
||||
{{< figure src="/ox-hugo/schmidt20_bode_plot_feedfoward_example.svg" caption="Figure 8: Bode plot of the feedforward-controlled scanning unit" >}}
|
||||
{{< figure src="/ox-hugo/schmidt20_bode_plot_feedfoward_example.svg" caption="<span class=\"figure-number\">Figure 1: </span>Bode plot of the feedforward-controlled scanning unit" >}}
|
||||
|
||||
|
||||
#### Input-Shaping {#input-shaping}
|
||||
@@ -861,11 +855,11 @@ The oscillation caused by each individual step are 180 degrees out of phase and
|
||||
This method is clearly very different form pole-zero cancellation.
|
||||
In the frequency domain, these sampled adaptations to the input create a frequency spectrum with a multiple of notch filters at the harmonic of the frequency where these adaptations are applied.
|
||||
|
||||
Applying input-shaping to the triangular scanning signal results in the introduction of a plateau instead of the sharp peak, where the width of the plateau corresponds to half the period of the scanner's resonance as can be seen in Figure [9](#orgddd25e4).
|
||||
Applying input-shaping to the triangular scanning signal results in the introduction of a plateau instead of the sharp peak, where the width of the plateau corresponds to half the period of the scanner's resonance as can be seen in Figure [1](#figure--fig:schmidt20-input-shaping-example).
|
||||
|
||||
<a id="orgddd25e4"></a>
|
||||
<a id="figure--fig:schmidt20-input-shaping-example"></a>
|
||||
|
||||
{{< figure src="/ox-hugo/schmidt20_input_shaping_example.svg" caption="Figure 9: Input-shaping control of the triangular scanning signal in a scanning probe microscope." >}}
|
||||
{{< figure src="/ox-hugo/schmidt20_input_shaping_example.svg" caption="<span class=\"figure-number\">Figure 1: </span>Input-shaping control of the triangular scanning signal in a scanning probe microscope." >}}
|
||||
|
||||
|
||||
#### Adaptive Feedforward Control {#adaptive-feedforward-control}
|
||||
@@ -891,13 +885,13 @@ The limitations of the actuators and electronics in a controlled motion system a
|
||||
Of at least the levels of Jerk and preferable also Snap should be limited.
|
||||
The standard method to cope with these limitations involves shaping the input of a mechatronic motion system by means of _trajectory profile generation_ or _path-planning_.
|
||||
|
||||
Figure [10](#orge30b109) shows a fourth order trajectory profile of a displacement, which means that all derivatives including the fourth derivative are defined in the path planning.
|
||||
Figure [1](#figure--fig:schmidt20-trajectory-profile) shows a fourth order trajectory profile of a displacement, which means that all derivatives including the fourth derivative are defined in the path planning.
|
||||
A third order trajectory would show a square profile for the jerk indicating an infinite Snap and the round of the acceleration would be gone.
|
||||
A second order trajectory would show a square acceleration profile with infinite Jerk and sharp edges on the velocity.
|
||||
|
||||
<a id="orge30b109"></a>
|
||||
<a id="figure--fig:schmidt20-trajectory-profile"></a>
|
||||
|
||||
{{< figure src="/ox-hugo/schmidt20_trajectory_profile.svg" caption="Figure 10: Figure caption" >}}
|
||||
{{< figure src="/ox-hugo/schmidt20_trajectory_profile.svg" caption="<span class=\"figure-number\">Figure 1: </span>Figure caption" >}}
|
||||
|
||||
|
||||
### Feedback Control {#feedback-control}
|
||||
@@ -915,29 +909,29 @@ Feedback control is more complex and critical to design than feedforward control
|
||||
In general, a feedback controlled motion system is to perform a certain predetermined motion task defined by the reference input \\(r\\), while reducing the effects of other inputs like external vibrations and noise from the electronics.
|
||||
All these input signals, whether desired of undesired, are treated by the feedback loop as disturbances and it is the sensitivity of the desired output signal to all input signals that determine the performance of the feedback controller.
|
||||
|
||||
<a id="org39f635c"></a>
|
||||
<a id="figure--fig:schmidt20-feedback-full-simplified"></a>
|
||||
|
||||
{{< figure src="/ox-hugo/schmidt20_feedback_full_simplified.svg" caption="Figure 11: Full and simplified representation of a feedback loop in order to determine the influence of the reference signal and most important disturbance sources on real motion output of the plant \\(x\\), the feedback controller output \\(u\\) and the measured motion output \\(y\\). \\(y\_m = y\\) when the measurement system is set at unity gain and the sensor disturbance is included in the output disturbance." >}}
|
||||
{{< figure src="/ox-hugo/schmidt20_feedback_full_simplified.svg" caption="<span class=\"figure-number\">Figure 1: </span>Full and simplified representation of a feedback loop in order to determine the influence of the reference signal and most important disturbance sources on real motion output of the plant \\(x\\), the feedback controller output \\(u\\) and the measured motion output \\(y\\). \\(y\_m = y\\) when the measurement system is set at unity gain and the sensor disturbance is included in the output disturbance." >}}
|
||||
|
||||
Several standard sensitivity functions have been defined to quantify the performance of feedback controlled dynamic systems.
|
||||
There are derived from a simplified version of the generic feedback loop as shown in Figure [11](#org39f635c).
|
||||
There are derived from a simplified version of the generic feedback loop as shown in Figure [1](#figure--fig:schmidt20-feedback-full-simplified).
|
||||
The first simplification is made by approximating the measurement system to have a unity-gain transfer function.
|
||||
For further simplification the sensor disturbance in the measurement system is included in the output disturbance \\(n\\), thereby defining the output of the system \\(y\\) as the measured output.
|
||||
With this simplified model, the transfer functions of the different inputs of the system to three relevant output variables in the loop are written down in a set of equations.
|
||||
Six different transfer functions are obtained and summarized in equation \eqref{eq:gang_of_six}.
|
||||
Six different transfer functions are obtained and summarized in equation <eq:gang_of_six>.
|
||||
|
||||
\begin{equation} \label{eq:gang\_of\_six}
|
||||
\begin{aligned}
|
||||
\frac{x}{r} &= \frac{y}{r} = \frac{GCF}{1 + GC} \\\\\\
|
||||
-\frac{x}{n} &= -\frac{u}{d} = \frac{GC}{1 + GC} \\\\\\
|
||||
\frac{x}{d} &= \frac{y}{d} = \frac{G}{1 + GC} \\\\\\
|
||||
\frac{u}{r} &= \frac{CF}{1 + GC} \\\\\\
|
||||
\frac{u}{n} &= \frac{C}{1 + GC} \\\\\\
|
||||
\frac{x}{r} &= \frac{y}{r} = \frac{GCF}{1 + GC} \\\\
|
||||
-\frac{x}{n} &= -\frac{u}{d} = \frac{GC}{1 + GC} \\\\
|
||||
\frac{x}{d} &= \frac{y}{d} = \frac{G}{1 + GC} \\\\
|
||||
\frac{u}{r} &= \frac{CF}{1 + GC} \\\\
|
||||
\frac{u}{n} &= \frac{C}{1 + GC} \\\\
|
||||
\frac{y}{n} &= \frac{1}{1 + GC}
|
||||
\end{aligned}
|
||||
\end{equation}
|
||||
|
||||
In case no input filter is applied \\(F\\) is equal to one and the set of six equations is reduced to a set of four equations as shown in equation \eqref{eq:gang_of_four}.
|
||||
In case no input filter is applied \\(F\\) is equal to one and the set of six equations is reduced to a set of four equations as shown in equation <eq:gang_of_four>.
|
||||
This short set of equations also corresponds to the situation without a reference signal.
|
||||
|
||||
The most important transfer function is named the _Sensitivity Function_ (no unit):
|
||||
@@ -968,9 +962,9 @@ For that reason the most relevant motion system performance criteria are the Sen
|
||||
|
||||
\begin{equation} \label{eq:gang\_of\_four}
|
||||
\boxed{\begin{aligned}
|
||||
\frac{x}{r} &= \frac{y}{r} = -\frac{x}{n} = -\frac{u}{d} = \frac{GC}{1 + GC} \\\\\\
|
||||
\frac{x}{d} &= \frac{y}{d} = \frac{G}{1 + GC} \\\\\\
|
||||
\frac{u}{r} &= \frac{u}{n} = \frac{C}{1 + GC} \\\\\\
|
||||
\frac{x}{r} &= \frac{y}{r} = -\frac{x}{n} = -\frac{u}{d} = \frac{GC}{1 + GC} \\\\
|
||||
\frac{x}{d} &= \frac{y}{d} = \frac{G}{1 + GC} \\\\
|
||||
\frac{u}{r} &= \frac{u}{n} = \frac{C}{1 + GC} \\\\
|
||||
\frac{y}{n} &= \frac{1}{1 + GC}
|
||||
\end{aligned}}
|
||||
\end{equation}
|
||||
@@ -1001,17 +995,17 @@ To achieve sufficient robustness against instability in closed-loop feedback con
|
||||
|
||||
The condition for robustness of closed-loop stability is that the total phase-lag of the **total feedback-loop**, consisting of the feedback controller in series with the mechatronic system, must be less than 180 degrees in the frequency region of the _unity-gain cross-over frequency_.
|
||||
|
||||
The Nyquist plot of the feedback loop, like the example shown in Figure [12](#org6e48553), is most appropriate to analyze the robustness on stability of a feedback system.
|
||||
The Nyquist plot of the feedback loop, like the example shown in Figure [1](#figure--fig:schmidt20-nyquist-plot-stable), is most appropriate to analyze the robustness on stability of a feedback system.
|
||||
It is an analysis tool that shows the frequency response of the **feedback-loop** combining magnitude and phase in one plot.
|
||||
In this figure, two graphs are shown, designed for a different purpose.
|
||||
The first graph from the left shows margin circles related to the capability of the closed-loop feedback controlled system to follow a reference according to the complementary sensitivity.
|
||||
The second graph shows a margin circle related to the capability of the closed-loop feedback controlled system to suppress disturbances according to the sensitivity function.
|
||||
|
||||
<a id="org6e48553"></a>
|
||||
<a id="figure--fig:schmidt20-nyquist-plot-stable"></a>
|
||||
|
||||
{{< figure src="/ox-hugo/schmidt20_nyquist_plot_stable.svg" caption="Figure 12: Nyquist plot of the feedback-loop response of a stable feedback controlled motion system. Stability is guaranteed as the \\(-1\\) point is kept at the left hand side of the feedback loop repsonse line upon passing with increased frequency, even though the phase-lag is more than 180 degrees at low frequencies." >}}
|
||||
{{< figure src="/ox-hugo/schmidt20_nyquist_plot_stable.svg" caption="<span class=\"figure-number\">Figure 1: </span>Nyquist plot of the feedback-loop response of a stable feedback controlled motion system. Stability is guaranteed as the \\(-1\\) point is kept at the left hand side of the feedback loop repsonse line upon passing with increased frequency, even though the phase-lag is more than 180 degrees at low frequencies." >}}
|
||||
|
||||
Three values are shown in Figure [12](#org6e48553) related to the robustness of the closed-loop feedback system:
|
||||
Three values are shown in Figure [1](#figure--fig:schmidt20-nyquist-plot-stable) related to the robustness of the closed-loop feedback system:
|
||||
|
||||
- **The gain margin** determines by which factor the feedback loop gain additionally can increase before the closed-loop goes unstable.
|
||||
- **The phase margin** determines how much additional phase-lab at the unity-gain cross-over frequency is acceptable before the closed-loop system becomes unstable.
|
||||
@@ -1024,14 +1018,14 @@ Higher margins corresponds to a higher level of damping.
|
||||
The Nyquist plot has one significant disadvantage as it does not show directly the frequency along the plot.
|
||||
For that reason many designers prefer to use the Bode plot.
|
||||
|
||||
Fortunately it is also possible to indicate the phase and gain margin in the Bode plot as is shown in Figure [13](#orgc932364).
|
||||
Fortunately it is also possible to indicate the phase and gain margin in the Bode plot as is shown in Figure [1](#figure--fig:schmidt20-phase-gain-margin-bode).
|
||||
|
||||
In many not too complicated cases, these two margins are sufficient to tune a feedback motion controller.
|
||||
In more complicated control systems, it remains useful to also use the Nyquist plot as it also gives the Modulus margin.
|
||||
|
||||
<a id="orgc932364"></a>
|
||||
<a id="figure--fig:schmidt20-phase-gain-margin-bode"></a>
|
||||
|
||||
{{< figure src="/ox-hugo/schmidt20_phase_gain_margin_bode.svg" caption="Figure 13: The gain and phase margin in the Bode plot" >}}
|
||||
{{< figure src="/ox-hugo/schmidt20_phase_gain_margin_bode.svg" caption="<span class=\"figure-number\">Figure 1: </span>The gain and phase margin in the Bode plot" >}}
|
||||
|
||||
|
||||
### PID Feedback Control {#pid-feedback-control}
|
||||
@@ -1152,11 +1146,11 @@ However, analogue controllers have three important disadvantages:
|
||||
|
||||
The digital implementation of filters overcome these problems as well as allows more complex algorithm such as adaptive control, real-time optimization, nonlinear control and learning control methods.
|
||||
|
||||
In Figure [14](#org4b95e2a) two elements were introduced, the _analogue-to-digital converter_ (ADC) and the _digital-to-analogue converter_ (DAC), which together transfer the signals between the analogue and the digital domain.
|
||||
In Figure [1](#figure--fig:schmidt20-digital-implementation) two elements were introduced, the _analogue-to-digital converter_ (ADC) and the _digital-to-analogue converter_ (DAC), which together transfer the signals between the analogue and the digital domain.
|
||||
|
||||
<a id="org4b95e2a"></a>
|
||||
<a id="figure--fig:schmidt20-digital-implementation"></a>
|
||||
|
||||
{{< figure src="/ox-hugo/schmidt20_digital_implementation.svg" caption="Figure 14: Overview of a digital implementation of a feedback controller, emphasising the analog-to-digital and digital-to-analog converters with their required analogue filters" >}}
|
||||
{{< figure src="/ox-hugo/schmidt20_digital_implementation.svg" caption="<span class=\"figure-number\">Figure 1: </span>Overview of a digital implementation of a feedback controller, emphasising the analog-to-digital and digital-to-analog converters with their required analogue filters" >}}
|
||||
|
||||
Anti-aliasing filter is needed at the input of the ADC to limit the frequency range at the input to less than half the sampling frequency, according to the Nyquist-Shannon sampling theorem.
|
||||
|
||||
@@ -1176,7 +1170,7 @@ Fixed point arithmetic has been favored in the past, because of the less complex
|
||||
A main drawback is, that the developer must pay attention to truncation, overflow, underflow and round-off errors that occur during mathematical operations.
|
||||
Fixed points numbers are equally spaced over the whole range, separated by the gap which is denoted by the least significant bit.
|
||||
The two's complement is the most used format for representing positive and negative numbers.
|
||||
For representing a fixed point fractional number of two's complement notation, the so called \\(Q\_{m,n}\\) format is often used (see Figure [15](#orgf73916a)).
|
||||
For representing a fixed point fractional number of two's complement notation, the so called \\(Q\_{m,n}\\) format is often used (see Figure [1](#figure--fig:schmidt20-digital-number-representation)).
|
||||
\\(m\\) denotes the number of integer bits and \\(n\\) denotes the number of fractional bits.
|
||||
\\(m+n+1=N\\) bits are necessary to store a signed \\(Q\_{m,n}\\) number.
|
||||
If the binary representation is given, the decimal value can be calculated to:
|
||||
@@ -1185,11 +1179,11 @@ If the binary representation is given, the decimal value can be calculated to:
|
||||
x = \frac{1}{2^n} \left( -2^{N-1 }b\_{N-1} + \sum\_{i=0}^{N-2} 2^i b\_i \right)
|
||||
\end{equation}
|
||||
|
||||
where \\(b\\) indicate the bit position, starting with \\(b\_0\\) from the right in Figure [15](#orgf73916a).
|
||||
where \\(b\\) indicate the bit position, starting with \\(b\_0\\) from the right in Figure [1](#figure--fig:schmidt20-digital-number-representation).
|
||||
|
||||
<a id="orgf73916a"></a>
|
||||
<a id="figure--fig:schmidt20-digital-number-representation"></a>
|
||||
|
||||
{{< figure src="/ox-hugo/schmidt20_digital_number_representation.svg" caption="Figure 15: Example of a \\(Q\_{m.n}\\) fixed point number representation and a single precision floating point number" >}}
|
||||
{{< figure src="/ox-hugo/schmidt20_digital_number_representation.svg" caption="<span class=\"figure-number\">Figure 1: </span>Example of a \\(Q\_{m.n}\\) fixed point number representation and a single precision floating point number" >}}
|
||||
|
||||
Floating point arithmetic has a higher dynamic range than fixed point arithmetic, given by the largest and smallest number that can be represented, has a higher precision due to the smaller gaps between adjacent numbers, less quantization noise, and it is easier to handle in terms of programming.
|
||||
A floating point number is represented by a multiplication of a _mantissa_ \\(M\\) with a _base_ \\(b\\) to the power of the _exponent_ \\(q\\):
|
||||
@@ -1209,41 +1203,41 @@ x = -1^i M 2^{E-127}
|
||||
The term \\(E\\) in the exponent is stored as a positive number ranging from \\(0 \le E < 256\\) with 8 bits.
|
||||
An offset of \\(-127\\) is added in order to allow very small to very large numbers.
|
||||
The decimal value is normalized, meaning that only one nonzero digit is noted at the left of the decimal point.
|
||||
The storage register is divided into three groups, as shown in Figure [15](#orgf73916a).
|
||||
The storage register is divided into three groups, as shown in Figure [1](#figure--fig:schmidt20-digital-number-representation).
|
||||
1 bit represents the sign, the exponent term \\(E\\) is represented by 8 bits, and the mantissa is stored in 23 bits.
|
||||
|
||||
|
||||
#### Digital Filter Theory {#digital-filter-theory}
|
||||
|
||||
<a id="org3a2480f"></a>
|
||||
<a id="figure--fig:schmidt20-s-z-planes"></a>
|
||||
|
||||
{{< figure src="/ox-hugo/schmidt20_s_z_planes.svg" caption="Figure 16: Corresponding points and area in s and z planes" >}}
|
||||
{{< figure src="/ox-hugo/schmidt20_s_z_planes.svg" caption="<span class=\"figure-number\">Figure 1: </span>Corresponding points and area in s and z planes" >}}
|
||||
|
||||
|
||||
#### Finite Impulse Response (FIR) Filter {#finite-impulse-response--fir--filter}
|
||||
|
||||
<a id="org4983bdd"></a>
|
||||
<a id="figure--fig:schmidt20-transversal-filter-structure"></a>
|
||||
|
||||
{{< figure src="/ox-hugo/schmidt20_transversal_filter_structure.svg" caption="Figure 17: Transversal filter structure of a FIR filter. The term \\(z^{-1}\\) each represent a sampling period which means that \\(b\_0\\) is the gain of the last sample, \\(b\_1\\) is the gain of the precious sample etcetera." >}}
|
||||
{{< figure src="/ox-hugo/schmidt20_transversal_filter_structure.svg" caption="<span class=\"figure-number\">Figure 1: </span>Transversal filter structure of a FIR filter. The term \\(z^{-1}\\) each represent a sampling period which means that \\(b\_0\\) is the gain of the last sample, \\(b\_1\\) is the gain of the precious sample etcetera." >}}
|
||||
|
||||
<a id="org936becf"></a>
|
||||
<a id="figure--fig:schmidt20-optimized-fir-filter-structure"></a>
|
||||
|
||||
{{< figure src="/ox-hugo/schmidt20_optimized_fir_filter_structure.svg" caption="Figure 18: Optimized FIR filter structure with symmetric filter coefficients" >}}
|
||||
{{< figure src="/ox-hugo/schmidt20_optimized_fir_filter_structure.svg" caption="<span class=\"figure-number\">Figure 1: </span>Optimized FIR filter structure with symmetric filter coefficients" >}}
|
||||
|
||||
<a id="org8ea00c7"></a>
|
||||
<a id="figure--fig:schmidt20-dir-filter-cascaded-sos"></a>
|
||||
|
||||
{{< figure src="/ox-hugo/schmidt20_dir_filter_cascaded_sos.svg" caption="Figure 19: Higher-order FIR filter realization with cascade SOS filter structures" >}}
|
||||
{{< figure src="/ox-hugo/schmidt20_dir_filter_cascaded_sos.svg" caption="<span class=\"figure-number\">Figure 1: </span>Higher-order FIR filter realization with cascade SOS filter structures" >}}
|
||||
|
||||
|
||||
#### Infinite Impulse Response (IIR) Filter {#infinite-impulse-response--iir--filter}
|
||||
|
||||
<a id="org696a8aa"></a>
|
||||
<a id="figure--fig:schmidt20-irr-structure"></a>
|
||||
|
||||
{{< figure src="/ox-hugo/schmidt20_irr_structure.svg" caption="Figure 20: (a:) IIR structure in DF-1 realization and (b:) IIR structure in DF-2 realization" >}}
|
||||
{{< figure src="/ox-hugo/schmidt20_irr_structure.svg" caption="<span class=\"figure-number\">Figure 1: </span>(a:) IIR structure in DF-1 realization and (b:) IIR structure in DF-2 realization" >}}
|
||||
|
||||
<a id="orge99cdac"></a>
|
||||
<a id="figure--fig:schmidt20-irr-sos-structure"></a>
|
||||
|
||||
{{< figure src="/ox-hugo/schmidt20_irr_sos_structure.svg" caption="Figure 21: IIR SOS structure in DF-2 realization" >}}
|
||||
{{< figure src="/ox-hugo/schmidt20_irr_sos_structure.svg" caption="<span class=\"figure-number\">Figure 1: </span>IIR SOS structure in DF-2 realization" >}}
|
||||
|
||||
|
||||
#### Converting Continuous to Discrete-Time Filters {#converting-continuous-to-discrete-time-filters}
|
||||
@@ -1275,7 +1269,8 @@ The storage register is divided into three groups, as shown in Figure [15](#orgf
|
||||
|
||||
### Conclusion on Motion Control {#conclusion-on-motion-control}
|
||||
|
||||
<summary>
|
||||
<div class="sum">
|
||||
|
||||
Motion control is essential for Precision Mechatronic Systems and consists of two complementary elements:
|
||||
|
||||
- **Extremely accurate Feedforward Control** is required when the motion system must execute a user defined motion to within maximum user defined position error limits.
|
||||
@@ -1283,7 +1278,8 @@ Motion control is essential for Precision Mechatronic Systems and consists of tw
|
||||
- **High Performance Feedback Control** is required when the motion system must be able to follow an unknown motion of a target, stabilize an otherwise unstable system and reduce the impact of disturbing forces and vibrations, such that the position error remains below a maximum user defined level.
|
||||
Due to the fact that a feedback controller can become unstable, sufficient robustness must be guaranteed.
|
||||
These is a conflicting relation between stability and performance.
|
||||
</summary>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
## Electromechanic Actuators {#electromechanic-actuators}
|
||||
@@ -2237,4 +2233,6 @@ Motion control is essential for Precision Mechatronic Systems and consists of tw
|
||||
|
||||
## Bibliography {#bibliography}
|
||||
|
||||
<a id="org4e5c703"></a>Schmidt, R Munnig, Georg Schitter, and Adrian Rankers. 2020. _The Design of High Performance Mechatronics - Third Revised Edition_. Ios Press.
|
||||
<style>.csl-entry{text-indent: -1.5em; margin-left: 1.5em;}</style><div class="csl-bib-body">
|
||||
<div class="csl-entry"><a id="citeproc_bib_item_1"></a>Schmidt, R Munnig, Georg Schitter, and Adrian Rankers. 2020. <i>The Design of High Performance Mechatronics - Third Revised Edition</i>. Ios Press.</div>
|
||||
</div>
|
||||
|
Reference in New Issue
Block a user