Gelöste Aufgaben/JUMP/E-Motor and Drive-Train: Unterschied zwischen den Versionen

Aus numpedia
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: „k“)
 
 
(59 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
k
[[Gelöste Aufgaben/JUMP#workpackages|← Back to Start]]
 
==Scope==
[[Datei:JUMP-E-Motor_and_Drive_Train.png|alternativtext=|mini|Diagram of drive-train components.]]
The Drive-Train consists of a DC/DC-converter, a DC Motor and a gear-box.
 
* '''DC/DC-converter''': is supplied with the battery voltage ''U<sub>B</sub>'', the output voltage is controlled by the driver via setpoint “''p''“.
* '''motor''': is a standard DC brushed motor, the manufacturer provides only few information on its characteristics - we’ll need to improvise.
* '''gearbox''': has a gear ratio of ratio of ''n<sub>G</sub>''=100, its shaft rotates at speed ''ω<sub>W</sub>'' and delivers a torque ''M<sub>W</sub>'' to the front wheels.
 
The task is: provide a mathematical model for the drive train that accounts for load-alterations imposed by the driver. And we assume losses in the two converters - DC/DC and gearbox - to be negligible.
 
==Structure==
[[Datei:JUMP-drivetrain-blockdiagram.png|mini|150x150px|Block diagram]]
The drive train receives a "gas"-pedal position "p" from the driver and a battery-voltage ''U<sub>B</sub>''.
 
It delivers a torque ''M<sub>W</sub>'' on the wheel and creates an electric current ''I<sub>M</sub>'' through the motor.
[[Datei:JUMP-drivetrain-exploded.png|links|mini|Drive-train components.|alternativtext=|500x500px]]
The sub-model consists of  DC/DC-converter, Motor and gear-box:
 
===DC/DC Converter===
Losses in the DC/DC converter shall be small - so for input port “1“ and output port “2“ we obtain
 
::<math>U_B \cdot I_B = U_M \cdot I_M</math> .
 
Let the “gas”-pedal-indicator “''p''“ control
 
::<math>U_M = p \cdot U_B \text{; } 0 \le p \le 1.</math>
 
with
 
::<math>0 \le p \le 1 \text{ and } U_1 = U_B</math>
 
===Motor===
[[Datei:JUMP-drivetrain-motor.png|mini|Brushed-DC motor]]
We use a common electric circuit representation for a series wound motor, the field coils are connected electrically in series with the armature coils, resistance ''R'' sums up all electrical losses in the motor.
===Gearbox===
Losses in the gearbox shall be small - so for input (''ω<sub>M</sub>'', ''M<sub>M</sub>'') and output (''ω<sub>W</sub>'', ''M<sub>W</sub>'') we obtain the fixed relation
 
::<math>\omega_M \cdot M_M = \omega_W \cdot M_W</math>.
 
Fortunately, this relationship is already "hardwired" in the [[Werkzeuge/Gleichgewichtsbedingungen/Arbeitsprinzipe der Analytischen Mechanik/Prinzip der virtuellen Verrückungen|Principle of Virtual Work]].
And we have only one differential equation for the electrical components:
 
::<math>\frac{\displaystyle d I_B}{\displaystyle d t} = \frac{\displaystyle U_L}{\displaystyle L}</math>,
 
the remaining equations are algebraic.
 
==Model==
 
{{MyCodeBlock
|title=Electrical Components
|text=For the motor, we find with Kirchhoff's law that
 
::<math>U_M = U_R + U_L + e</math>
 
with ''U<sub>R</sub>, U<sub>L</sub>'' being the differential voltage over resistance ''R'' and inductance ''L'' respectively. “''e''” is the back electromagnetic force with
 
::<math>e = k_e\cdot \tilde{\omega}_M</math>
 
and the electromotive force constant ''k<sub>e</sub>''. Note the <math>\tilde{\omega}_M</math> is the differential rotational velocity between rotor and stator, i.e.
 
::<math>\tilde{\omega}_M = \dot{\psi}_M(t) - \dot{\phi}(t).</math>
 
Employing
 
::<math>U_R = R \cdot I_M, U_L = L\cdot \frac{\displaystyle d I_M}{\displaystyle dt}</math>
 
and using
 
::<math>M_M = k_T \cdot I_M</math>
 
with the armature constant ''k<sub>T</sub>'', we have the complete set of equations.
 
From the above, we find
 
::<math>L \cdot \frac{\displaystyle d}{\displaystyle d t} {I_M}(t)= U_B (t) \cdot p(t) -R \, {I_M}(t) - e</math>
 
and additionally the algebraic equations
 
::<math>\begin{array}{ll}
{I_B}&={I_M} \cdot \operatorname{p}(t),\\
{U_R}&=R \cdot {I_M}(t),\\
{U_L}&={U_B} \cdot \operatorname{p}(t)-R\cdot  {I_M}(t)-e,\\
{U_M}&={U_B} \cdot \operatorname{p}(t)
\end{array}</math>.
|code=
<syntaxhighlight lang="lisp" line start=1>
/*******************************************************/
/* MAXIMA script                                      */
/* version: wxMaxima 16.04.2                          */
/* author: Andreas Baumgart                            */
/* last updated: 2021-02-08                            */
/* ref: Modelling and Simulation (TUAS)                */
/* description: virtual work of drive train electrics  */
/*******************************************************/
 
/*******************************************************/
/* declarations                                        */
/*******************************************************/
declare("φ", alphabetic);
declare("ψ", alphabetic);
declare("ω", alphabetic);
 
/*******************************************************/
/* kinematics                                          */
/*******************************************************/
kirchhoff : [U[M] = p(t)*U[B],
    U[B]*I[B] = U[M]*I[M],
    U[M] = U[R] + U[L] + e,
            e = k[e]*omega[M],
    ω[M] = diff(ψ[M](t),t)+diff(φ(t),t),
    U[R] = R*I[M](t),
    U[L] = L * diff(I[M](t),t),
    M[M] = k[t]*I[M](t)];
 
solve(kirchhoff[7], [diff(I[M](t),t)]);
</syntaxhighlight>
}}
 
 
<!------------------------------------------------------------------------->
 
{{MyCodeBlock
|title=Mechanical Components
|text=
The Virtual Work of d'Alembert forces, motor torque ''M<sub>M</sub>'' and wheel torque ''M<sub>W</sub>'' is
 
::<math>\begin{array}{ll}
\delta W &= - J_M \cdot \ddot{\psi}_M(t)\cdot \delta \psi_M
+ M_M \cdot \left(\psi_M + \phi(t) \right)
  - M_W \cdot \delta \psi_W\\
&= 0
\end{array}</math>.
 
Since the gearbox is built into the car, the wheel-side relative gear-box-angle is
 
::<math>\tilde{\psi}_{W} = \psi_W(t) + \phi(t)</math>
 
and on the motor-side
 
::<math>\tilde{\psi}_{M} = \psi_M(t) - \phi(t)</math>.
 
With the gear transmission ratio
 
::<math>n_G = \frac{\displaystyle \tilde{\psi}_M}{\displaystyle  \tilde{\psi}_W}</math>
 
and
 
::<math>\underline{q}_E = \left(
\begin{array}{c}
\phi(t)\\
\psi_W(t)
\end{array}
\right)</math>
 
we find
 
::<math>\delta W = \delta \underline{q}_E \cdot \left(
- \underline{\underline{M}}_E \cdot  \underline{\ddot{q}}_E +
\left(
\begin{array}{c}
-n_G\cdot M_M\\
+n_G\cdot M_M-M_W\\
\end{array}
\right)
\right)</math>
 
with
 
::<math>\underline{\underline{M}}_E=\begin{pmatrix}\left( {{n}_{G}^{2}}+2 {n_G}+1\right) \, {J_M} & -\left( {{n}_{G}^{2}}+{n_G}\right) \, {J_M}\\
-\left( {{n}_{G}^{2}}+{n_G}\right) \, {J_M} & {{n}_{G}^{2}}\, {J_M}\end{pmatrix}</math>.
 
We have thus "returned" all state variables to the [[Gelöste Aufgaben/JUMP/Car-Body|Car-Body]]-submodel.
|code=
<syntaxhighlight lang="lisp" line start=1>
/*******************************************************/
/* MAXIMA script                                      */
/* version: wxMaxima 16.04.2                          */
/* author: Andreas Baumgart                            */
/* last updated: 2021-02-08                            */
/* ref: Modelling and Simulation (TUAS)                */
/* description: virtual work of drive train mechanics  */
/*******************************************************/
 
/*******************************************************/
/* declarations                                        */
/*******************************************************/
declare("δ", alphabetic);
declare("φ", alphabetic);
declare("ψ", alphabetic);
 
/*******************************************************/
/* kinematics                                          */
/*******************************************************/
kin : [ψ[M,r] = n[G]*ψ[W,r],
      ψ[W,r] = ψ[W](t) - φ(t),
      ψ[M,r] = ψ[M](t) + φ(t)];
Q : [ψ[M](t),ψ[M,r],ψ[W,r]];
sol: ratsimp(solve(kin,Q))[1];
 
 
/* Principle of Virtual Work */
PVW: δW = - J[M]*diff(ψ[M](t),t,2)*δψ[M] + M[M]*(δψ[M]+δφ) - M[W]*δψ[W];
 
/* minimal coordinates */
q : [ φ(t), ψ[W](t)];
δq: [δφ  ,δψ[W]  ];
 
varia: [ψ[M](t)=δψ[M],ψ[M,r]=δψ[M,r],ψ[W,r]=δψ[W,r],
        ψ[W](t)=δψ[W], φ(t) =δφ];
sol : expand(append(sol, subst(varia,sol)));
 
PVW : expand(subst(sol,PVW));
PVW : ev(PVW,nouns);
 
eom : makelist(coeff(rhs(PVW),δq[i]),i,1,2);
eom : ratsimp(eom);
 
MM : funmake('matrix,makelist(makelist(ratsimp(coeff(-eom[i],'diff(q[j],t,2))),j,1,2),i,1,2));
 
rest : expand(eom + makelist(sum(MM[i,j]*diff(q[j],t,2),j,1,2),i,1,2));
 
print(δq, "*(-",MM,"*",transpose(diff(q,t,2)),"+",transpose(rest),") = 0")$
</syntaxhighlight>
}}
 
Consequently, the drive train has only one state-variable: ''I<sub>M:</sub>''
 
::<math>\underline{q}_E(t) = \left( I_M(t) \right)</math>
 
where
 
::<math>\frac{\displaystyle d}{\displaystyle d t} {I_M}(t)=\frac{\displaystyle {U_B} \operatorname{p}(t)-R\, {I_M}(t)-e}{\displaystyle L}</math>
 
and with this algebraic equation
 
::<math>e = k_e \cdot \underbrace{\left(\dot{\psi}_M(t) + \dot{\phi}(t) \right)}_{\displaystyle =\tilde{\omega}_M = n_G \cdot \tilde{\omega}_W}</math>.
 
Keep in mind that <math>\tilde{\omega}_M</math> and <math>\tilde{\omega}_W</math> are the rotational velocities of the gearbox-shafts '''relative''' to the car-body, thus
 
::<math>\begin{array}{ll}\tilde{\omega}_W &= \frac{\displaystyle d\,\tilde{\psi}}{\displaystyle d\, t}\\
                                          &= \left( \underbrace{\frac{\displaystyle d\, \psi}{\displaystyle d\, t}}_{\displaystyle =\omega} - \frac{\displaystyle d\, \phi}{\displaystyle d\, t}\right)\end{array}</math>.
 
==Variables==
 
{| class="wikitable"
!name
!symbol
!unit
|-
|motor current
|''I<sub>M</sub>''
|A
|}
 
==Parameter==
System parameters for the motor are ''k<sub>T</sub>, k<sub>e</sub>'' and ''R<sub>M</sub>'' . For the stationary (<math>\frac{\displaystyle d \; I_M}{\displaystyle dt} = 0</math>) - condition, we derive
 
::<math>M_M=\frac{{U_M}\, {k_T}-{k_T}\, {k_e} \tilde{\omega}_M }{{R_M}}</math>.
 
For our application, it will be easier to replace ''k<sub>e</sub>'', ''k<sub>R</sub>'' and ''R'' by mechanical properties as
 
<ol>
<li>under a "no-load"-condition ''M<sub>M</sub>=0'', we have
 
::<math>k_e= \frac{U_M}{\tilde{\omega}_{NL}}</math></li>
<li>under the "stalled motor"-condition <math>\tilde{\omega}_{St}=0</math>, we have
 
::<math>k_T = \frac{\displaystyle M_{St}}{\displaystyle I_{St}}</math> and  <math>R = \frac{\displaystyle U_M}{\displaystyle I_{St}}</math>.</li>
</ol>
 
Thus for ''U<sub>M</sub> = 12 V'' we can import measured performance parameters and then replace ''k<sub>T</sub>, k<sub>e</sub>'' and ''R<sub>M</sub>'' by <math>\tilde{\omega}_{NL}</math>
''I<sub>St</sub>'' and ''M<sub>St</sub>''.
 
{| class="wikitable" style="border-collapse: collapse;"
!style="border-right: solid 0px;"|name
!symbol
!value
!unit
|-
|nominal voltage
|''U<sub>ref</sub>''
|12
|V
|-
|no-load rotational speed
|<math>\tilde{\omega}_{NL}</math>
|14800
|rpm
|-
|stall-current
|''I<sub>St</sub>''
|8.6
|A
|-
|stall-torque
|''M<sub>St</sub>''
|0.042
|N m
|-
|inductance
|''L''
|0.05
|H
|-
|gear tramission ratio
|''n<sub>G</sub>''
|25
|1
|}
[[Gelöste Aufgaben/JUMP|Back to Start →]]
 
<hr/>
 
'''References'''
* ...

Aktuelle Version vom 24. März 2021, 15:54 Uhr

← Back to Start

Scope

Diagram of drive-train components.

The Drive-Train consists of a DC/DC-converter, a DC Motor and a gear-box.

  • DC/DC-converter: is supplied with the battery voltage UB, the output voltage is controlled by the driver via setpoint “p“.
  • motor: is a standard DC brushed motor, the manufacturer provides only few information on its characteristics - we’ll need to improvise.
  • gearbox: has a gear ratio of ratio of nG=100, its shaft rotates at speed ωW and delivers a torque MW to the front wheels.

The task is: provide a mathematical model for the drive train that accounts for load-alterations imposed by the driver. And we assume losses in the two converters - DC/DC and gearbox - to be negligible.

Structure

Block diagram

The drive train receives a "gas"-pedal position "p" from the driver and a battery-voltage UB.

It delivers a torque MW on the wheel and creates an electric current IM through the motor.

Drive-train components.

The sub-model consists of  DC/DC-converter, Motor and gear-box:

DC/DC Converter

Losses in the DC/DC converter shall be small - so for input port “1“ and output port “2“ we obtain

.

Let the “gas”-pedal-indicator “p“ control

with

Motor

Brushed-DC motor

We use a common electric circuit representation for a series wound motor, the field coils are connected electrically in series with the armature coils, resistance R sums up all electrical losses in the motor.

Gearbox

Losses in the gearbox shall be small - so for input (ωM, MM) and output (ωW, MW) we obtain the fixed relation

.

Fortunately, this relationship is already "hardwired" in the Principle of Virtual Work. And we have only one differential equation for the electrical components:

,

the remaining equations are algebraic.

Model

Electrical Components

For the motor, we find with Kirchhoff's law that

with UR, UL being the differential voltage over resistance R and inductance L respectively. “e” is the back electromagnetic force with

and the electromotive force constant ke. Note the is the differential rotational velocity between rotor and stator, i.e.

Employing

and using

with the armature constant kT, we have the complete set of equations.

From the above, we find

and additionally the algebraic equations

.

/*******************************************************/
/* MAXIMA script                                       */
/* version: wxMaxima 16.04.2                           */
/* author: Andreas Baumgart                            */
/* last updated: 2021-02-08                            */
/* ref: Modelling and Simulation (TUAS)                */
/* description: virtual work of drive train electrics  */
/*******************************************************/

/*******************************************************/
/* declarations                                        */
/*******************************************************/
declare("φ", alphabetic);
declare("ψ", alphabetic);
declare("ω", alphabetic);

/*******************************************************/
/* kinematics                                          */
/*******************************************************/
kirchhoff : [U[M] = p(t)*U[B],
	     U[B]*I[B] = U[M]*I[M],
	     U[M] = U[R] + U[L] + e,
             e = k[e]*omega[M],
	     ω[M] = diff(ψ[M](t),t)+diff(φ(t),t),
	     U[R] = R*I[M](t),
	     U[L] = L * diff(I[M](t),t),
	     M[M] = k[t]*I[M](t)];

solve(kirchhoff[7], [diff(I[M](t),t)]);





Mechanical Components

The Virtual Work of d'Alembert forces, motor torque MM and wheel torque MW is

.

Since the gearbox is built into the car, the wheel-side relative gear-box-angle is

and on the motor-side

.

With the gear transmission ratio

and

we find

with

.

We have thus "returned" all state variables to the Car-Body-submodel.


/*******************************************************/
/* MAXIMA script                                       */
/* version: wxMaxima 16.04.2                           */
/* author: Andreas Baumgart                            */
/* last updated: 2021-02-08                            */
/* ref: Modelling and Simulation (TUAS)                */
/* description: virtual work of drive train mechanics  */
/*******************************************************/

/*******************************************************/
/* declarations                                        */
/*******************************************************/
declare("δ", alphabetic);
declare("φ", alphabetic);
declare("ψ", alphabetic);

/*******************************************************/
/* kinematics                                          */
/*******************************************************/
kin : [ψ[M,r] = n[G]*ψ[W,r],
       ψ[W,r] = ψ[W](t) - φ(t),
       ψ[M,r] = ψ[M](t) + φ(t)];
Q : [ψ[M](t),ψ[M,r],ψ[W,r]];
sol: ratsimp(solve(kin,Q))[1];


/* Principle of Virtual Work */
PVW: δW = - J[M]*diff(ψ[M](t),t,2)*δψ[M] + M[M]*(δψ[M]+δφ) - M[W]*δψ[W];

/* minimal coordinates */
q : [ φ(t), ψ[W](t)];
δq: [δφ   ,δψ[W]   ];

varia: [ψ[M](t)=δψ[M],ψ[M,r]=δψ[M,r],ψ[W,r]=δψ[W,r],
        ψ[W](t)=δψ[W], φ(t) =δφ];
sol : expand(append(sol, subst(varia,sol)));

PVW : expand(subst(sol,PVW));
PVW : ev(PVW,nouns);

eom : makelist(coeff(rhs(PVW),δq[i]),i,1,2);
eom : ratsimp(eom);

MM : funmake('matrix,makelist(makelist(ratsimp(coeff(-eom[i],'diff(q[j],t,2))),j,1,2),i,1,2));

rest : expand(eom + makelist(sum(MM[i,j]*diff(q[j],t,2),j,1,2),i,1,2));

print(δq, "*(-",MM,"*",transpose(diff(q,t,2)),"+",transpose(rest),") = 0")$




Consequently, the drive train has only one state-variable: IM:

where

and with this algebraic equation

.

Keep in mind that and are the rotational velocities of the gearbox-shafts relative to the car-body, thus

.

Variables

name symbol unit
motor current IM A

Parameter

System parameters for the motor are kT, ke and RM . For the stationary () - condition, we derive

.

For our application, it will be easier to replace ke, kR and R by mechanical properties as

  1. under a "no-load"-condition MM=0, we have
  2. under the "stalled motor"-condition , we have
    and .

Thus for UM = 12 V we can import measured performance parameters and then replace kT, ke and RM by ISt and MSt.

name symbol value unit
nominal voltage Uref 12 V
no-load rotational speed 14800 rpm
stall-current ISt 8.6 A
stall-torque MSt 0.042 N m
inductance L 0.05 H
gear tramission ratio nG 25 1

Back to Start →


References

  • ...