+++
title = "Mechatronic design of a magnetically suspended rotating platform"
author = ["Thomas Dehaeze"]
draft = false
+++

Tags
: [Dynamic Error Budgeting]({{< relref "dynamic_error_budgeting" >}})

Author
: Jabben, L.

Year
: 2007

DOI
:


## Dynamic Error Budgeting {#dynamic-error-budgeting}


### Introduction {#introduction}

A large class of mechatronic machines have specifications based on their _standstill_ performance.
The standstill performance is then limited by the (stochastic) disturbances action on the closed loop.

The difficulty in calculation with stochastic signals and Bode plots, is that, instead of calculating with the complex response at one frequency, the **area** over a frequency range should be taken into account.

The **error budgeting** is often used to estimate how much each component contributes to the total error

Since many of the disturbances have a stochastic nature, they can be modelled with their **Power Spectral Densities**.

The PSD of the performance measure in the closed loop system is the weigted sum of PSDs of the contributions of each disturbance to the performance channel.
This approach allows frequency dependent error budgeting, which is why it is referred to as **Dynamic Error Budgeting**.


### Common Mechatronics Disturbances {#common-mechatronics-disturbances}


#### Ground vibrations {#ground-vibrations}


#### Electronic Noise {#electronic-noise}

**Thermal Noise** (or Johson noise).
This noise can be modeled as a voltage source in series with the system impedance.
The noise source has a PSD given by:
\\[ S\_T(f) = 4 k T \text{Re}(Z(f)) \ [V^2/Hz] \\]
with \\(k = 1.38 \cdot 10^{-23} \,[J/K]\\) the Boltzmann's constant, \\(T\\) the temperature [K] and \\(Z(f)\\) the frequency dependent impedance of the system.

<div class="bgreen">
  <div></div>

A kilo Ohm resistor at 20 degree Celsius will show a thermal noise of \\(0.13 \mu V\\) from zero up to one kHz.

</div>

**Shot Noise**.
Seen with junctions in a transistor.
It has a white spectral density:
\\[ S\_S = 2 q\_e i\_{dc} \ [A^2/Hz] \\]
with \\(q\_e\\) the electronic charge (\\(1.6 \cdot 10^{-19}\, [C]\\)), \\(i\_{dc}\\) the average current [A].

<div class="bgreen">
  <div></div>

An averable current of 1 A will introduce noise with a STD of \\(10 \cdot 10^{-9}\,[A]\\) from zero up to one kHz.

</div>

**Excess Noise** (or \\(1/f\\) noise).
It results from fluctuating conductivity due to imperfect contact between two materials.
The PSD of excess noise increases when the frequency decreases:
\\[ S\_E = \frac{K\_f}{f^\alpha}\ [V^2/Hz] \\]
where \\(K\_f\\) is dependent on the average voltage drop over the resistor and the index \\(\alpha\\) is usually between 0.8 and 1.4, and often set to unity for approximate calculation.

**Signal to Noise Ration**
Electronic equipment does most often not come with detailed electric schemes, in which case the PSD should be determined from measurements.
In the design phase however, one has to rely on information provided by specification sheets from the manufacturer.
The noise performance of components like sensors, amplifiers, converters, etc., is often specified in terms of a **Signal to Noise Ratio** (SNR).
**The SNR gives the ratio of the RMS value of a sine that covers the full range of the channel through which the signal is propagating over the RMS value of the electrical noise.**
Usually, the SNR is specified up to a certain cut-off frequency.
If no information on the colouring of the noise is available, then the corresponding **PSD can be assumed to be white up to the cut-off frequency** \\(f\_c\\):
\\[ S\_{snr} = \frac{x\_{fr}^2}{8 f\_c C\_{snr}^2} \\]
with \\(x\_{fr}\\) the full range of \\(x\\), and \\(C\_{snr}\\) the SNR.


#### AD and DA converters {#ad-and-da-converters}

ADC and DAC add quantization noise to the signal.
The variance can be calculated to be:
\\[ \sigma^2 = \frac{q^2}{12} \\]
with \\(q\\) the quantization interval.

The corresponding PSD is white up to the Nyquist frequency:
\\[ S\_Q = \frac{q^2}{12 f\_N} \\]
with \\(f\_N\\) the Nyquist frequency [Hz].

<div class="bgreen">
  <div></div>

Let's take the example of a 16 bit ADC which has an electronic noise with a SNR of 80dB.
Let's suppose the ADC is used to measure a position over a range of 1 mm.

-   ADC quantization noise: it has 16 bots over the 1 mm range.
    The standard diviation from the quantization is:
    \\[ \sigma\_{ADq} = \frac{1 \cdot 10^6/2^16}{\sqrt{12}} = 4.4\,[nm] \\]
-   ADC electronic noise: the RMS value of a sine that covers to full range is \\(\frac{0.5}{\sqrt{2}} = 0.354\,[mm]\\).
    With a SNR of 80dB, the electronic noise from the ADC becomes:
    \\[ \sigma\_{ADn} = 35\,[nm] \\]

Let's suppose the ADC is used to measure a sensor with an electronic noise having a standard deviation of \\(\sigma\_{sn} = 17\,[nm]\\).

The PSD of this digitalized sensor noise is:
\\[ \sigma\_s = \sqrt{\sigma\_{sn}^2 + \sigma\_{ADq}^2 + \sigma\_{ADn}^2} = 39\,[nm]\\]
from which the PSD of the total sensor noise \\(S\_s\\) is calculated:
\\[ S\_s = \frac{\sigma\_s^2}{f\_N} = 1.55\,[nm^2/Hz] \\]
with \\(f\_N\\) is the Nyquist frequency of 1kHz.

</div>


#### Acoustic Noise {#acoustic-noise}

This can be a big error source in high precision machines, especially when the surface is big compare to the mass.

The disturbance force acting on a body, is the **difference of pressure between the front and the back times the surface**.
To have a pressure difference, the body must have a certain minimum dimension, depending on the wave length of the sound.
For a body of typical dimensions of 100mm, only frequencies above 800 Hz have a significant disturbance contribution.

<div class="bgreen">
  <div></div>

Consider a cube with a rib size of 100 mm located in a room with a sound level of 80dB, distributed between one and ten kHz, then the force disturbance PSD equal \\(2.2 \cdot 10^{-2}\,[N^2/Hz]\\)

</div>


#### Brownian Noise {#brownian-noise}

This is due to thermal effects and it notable where a small mass needs positioning.


#### Turbulence {#turbulence}

Rotation of the spindle introduces and air flow in which turbulence is cause by sharp angles on the rotor and stator.


### Optimal Control {#optimal-control}


#### The use of Optimal Control in DEB {#the-use-of-optimal-control-in-deb}

Three factors influence the performance:

-   the disturbances: often a given value
-   the plant: can be costly to redesign
-   the controller

The DEB helps identifying which disturbance is the limiting factor, and it should be investigated if the controller can deal with this disturbance before re-designing the plant.

The modelling of disturbance as stochastic variables, is by excellence suitable for the optimal stochastic control framework.
In Figure [1](#org322128e), the generalized plant maps the disturbances to the performance channels.
By minimizing the \\(\mathcal{H}\_2\\) system norm of the generalized plant, the variance of the performance channels is minimized.

<a id="org322128e"></a>

{{< figure src="/ox-hugo/jabben07_general_plant.png" caption="Figure 1: Control system with the generalized plant \\(G\\). The performance channels are stacked in \\(z\\), while the controller input is denoted with \\(y\\)" >}}


#### Using Weighting Filters for Disturbance Modelling {#using-weighting-filters-for-disturbance-modelling}

Since disturbances are generally not white, the system of Figure [1](#org322128e) needs to be augmented with so called **disturbance weighting filters**.

A disturbance weighting filter gives the disturbance PSD when white noise as input is applied.

This is illustrated in Figure [2](#orgd4f3b10) where a vector of white noise time signals \\(\underbar{w}(t)\\) is filtered through a weighting filter to obtain the colored physical disturbances \\(w(t)\\) with the desired PSD \\(S\_w\\) .

The generalized plant framework also allows to include **weighting filters for the performance channels**.
This is useful for three reasons:

-   the performance channels might have different dimensions, which require scaling in order to compare
-   some performance channels may be of more importance than others
-   by using dynamic weighting filters, one can emphasize the performance in a certain frequency range

<a id="orgd4f3b10"></a>

{{< figure src="/ox-hugo/jabben07_weighting_functions.png" caption="Figure 2: Control system with the generalized plant \\(G\\) and weighting functions" >}}

The weighting filters should be stable transfer functions.

**Obtaining the weighting filters**:

If the PSD is given as a function \\(S\_x(j\omega)\\), the disturbance filter can be using **spectral factorization**:

> Given a positive even function \\(S\_x(f)\\) of finite area, find a minimum-phase stable function \\(L(s)\\), such that \\(|L(j2\pi f)|^2 = S(s)\\)

**Harmonic signals** can be approximately modeled by filtering white noise with a badly damped second order system, having a \\(+1\\) slope below the resonance frequency and a \\(-1\\) slope above the resonance frequency:
\\[ V\_h = \frac{s}{s^2 + 2 \xi \omega\_h + \omega\_h^2} \\]
with \\(\xi\\) the relative damping and \\(\omega\_h\\) the resonance frequency [rad/s].
By making the \\(\mathcal{H}\_2\\) norm of \\(V\_h\\) equal to the RMS-value of the harmonic signal, the propagation of the disturbance to the performance channel can be well approximated.


#### Balancing Control Effort vs Performance {#balancing-control-effort-vs-performance}

IF only the output \\(y\\) are considered in the performance channel \\(z\\), the resulting optimal controller might result in very large actuator signals.
So, to obtain feasible controllers, the performance channel is a combination of controller output \\(u\\) and system output \\(y\\).
By choosing suitable weighting filters for \\(y\\) and \\(u\\), the performance can be optimized while keeping the controller effort limited:
\\[ \\|z\\|\_{rms}^2 = \left\\| \begin{bmatrix} y \\ \alpha u \end{bmatrix} \right\\|\_{rms}^2 = \\|y\\|\_{rms}^2 + \alpha^2 \\|u\\|\_{rms}^2 \\]

By calculation \\(\mathcal{H}\_2\\) optimal controllers for increasing \\(\alpha\\) and plotting the performance \\(\\|y\\|\\) vs the controller effort \\(\\|u\\|\\), the curve as depicted in Figure [3](#orgae97f26) is obtained.

<a id="orgae97f26"></a>

{{< figure src="/ox-hugo/jabben07_pareto_curve_H2.png" caption="Figure 3: An illustration of a Pareto curve. Each point of the curve represents the performance obtained with an optimal controller. The curve is obtained by varying \\(\alpha\\) and calculating an \\(\mathcal{H}\_2\\) optimal controller for each \\(\alpha\\)." >}}


## Conclusion {#conclusion}

> Using the DEB analysis during the design helped to formulate the specifications of the several subcomponents, such as:
>
> -   The target bandwidth of the decentralized closed loops, which is very important for the mechanical design, as mechanical resonances can severely limit the bandwidth.
>     This value was also used to specify the current loop bandwidth of the custom designed power amplifiers for the RTAs and other components such as sensors and filters.
> -   The target value of the stiffness of the actuators was derived at 1000 N/m.
>     It was shown that the stiffness of a motor with back-iron is too much for the separated frame concept.
> -   The analysis pinpointed the most limiting component in the final design to be the Analogue-to-Digital Converter (ADC).

<!--quoteend-->

> In the DEB-framework there are three distinct factors which determine the performance.
> These are the plant, the controller and the disturbances.
> Synthesizing optimal controllers, such as H2-control, in the design helps to eliminate the controller out of the equation.
> If the performance specifications are not met with an optimal controller, it is certain that a redesign of the system is required.
> To use the measured PSDs in an optimal control design, such as H2-control, the disturbances must be modelled using linear time invariant models with multiple white noise input.
> To derive such models, spectral factorization is used.
> It is recommended to investigate which methods for spectral factorization are currently available and numerically robust.
