Mathematical Model

The OpenServo inclusive gear can be modeled simplified as a mass with moment of inertia $J$ mounted to a DC-motor. The motor generates a torque $\tau$ depending on the applied voltage $u$ and the gear generates a converse torque due to the friction $F_f$. Furthermore a mounted load is modeled by torque $F_l$.

The transfair behavior of the whole servo system can be sperated in two submodels. A mechanical part and a electro-magnetic part.

Mechanical Part

The rotation of the servo is described by the conservation of angular momentum. This means, the angular momentum of a rigid body only changes due to torques exerting to the center of mass, which yields to the equation of motion:

where $\omega$ is the angular velocity of the motor. The friction force $F_f$ is consisting of three components as shown in the following figure:

Electro-Magnetic Part

The schematic diagram of the electic motor can be modeled as:

where $u_A, i_A, R_A, L_A$ are the voltage, current, resistance, inductance of the armature, respectively, and $u_q$ is the inner source volatage generated by the back-emf. The inner source volatage is caused by the coil while moving through the magnetic field $\Phi$. The dependency can be expressed linear as followed:

where $C_1$ is a motor constant. Assuming the magnetic field to be constant, it can be expressed together with $C_1$ in a compound parameter $K_{\tau}$. The generated torque can be derived over a simple power balance:


which yields in a expression for the torque:

The dependency between the current $i_A$ and the outer volatage $u_A$ can be derived with Kirchhoff's law and yields to

Complete Model

Combining the differntial equation of 2nd order for the mechanical model and the differential equation of 1st order for the electro-magnetic model the complete model can be written in 3 differential equations of 1st order, the so called state-space-form.

where the new state $\theta$ is the position of the servo. Introducing the state vector

$x=\left[\begin{array}{c} \theta\\ \omega\\ i_a \end{array}\right]$

and seperating the nonlinear friction term and the unkown load torque, the equations can be written in matrix notation:

OpenServo/Model (last edited 2006-07-31 19:23:53 by StefanEngelke)