I am modellign some examples using the modelling language Modelica. Unfortunately, I am not an electrical engineer, so it is hard to understand the physical behavior of the following example (DC motor): enter image description here

Where emf "transforms electrical energy into rotational mechanical energy". The model "emf" looks like this:

enter image description here

The input voltage is plotted in the following graphic (top). I dont understand the following things:

  1. Why is the current zero in steady state?
  2. My interpretation: In steady state, the voltage input is equal to the voltage drop at the emf. The angular velocity is proportional to the voltage drop at emf.
  3. What is the "emf model" in a real DC-motor?

enter image description here

Thank you very much for your help

  • Note: your model is seriously flawed, with one fixed L. In reality, you'll have multiple coils, which are toggled (and have polarity reversed) sequentially, in relation to $\phi$. That's essentially AC supply to the inductive load, with frequency proportional to the angular velocity and phase offset by $x {2 \pi} \over n $ for x-th out of n coils. – SF. Sep 18 '17 at 7:38
  1. The components in your model represent internal equivalant circuit of a motor such as internal resistor and internal inductor characteristics. Using mobility anology, you can replace inertia with a capacitor. So circuit becomes a RLC network. In steady state, the capacitor will be loaded with electrical charges and voltage drop on the capacitor will approach to the input voltage. The voltage drop on the resistor will be very low, and thus there will be little current passing through it. Thinking mechanically, the inertia requires energy to change its angular velocity in transient. But after reaching steady state, it wants to keep its velocity. The only thing against this is the damping. So, as long as the circuit supply enough power to compansate the damping, the velocity will be constant.
  2. Yes, your interpretation is correct. You modelica component explicitly state that with equations kw=v and tau=-ki. As an alternative, different constants such as $k_v$ and $k_i$ can be used. Because of the conservation of energy, you must pay attention to input-ouput energies. In your model $k=1$, so it is ideal energy converter. Input power to EMF component, $P_{in}=v_{emf}\cdot i$ and output power of the EMF component $P_{out}=w\cdot\tau$ is equal (on the EMF component). The heat lost of the motor is represented by resistor.
  3. In reality, it depends on how much detail you want to experiment (simulate/analyse). You may model the windings, permanant magnets, magnetic fields, current, relative positions of magnets and windings and resulting force etc (in the case of PMDC). But if you will not analyse DC motor deeply, and just use it as a component in your system, an approximation is good enough. Usually, variable efficiency is modeled, so using k as not a constant but a function of w or something.

The answer for your first question is because the DC motor is probably not mechanically loaded. When the voltage started to rise up, the motor withdrew a current to rotate it's inertia. When the voltage reaches to rated value, the speed settles and the current will be almost zero as long as there is no mechanical torque applied on DC motor shaft.

Regarding EMF that appears in your model, It is a simulation block to model the interaction between the electrical side of the circuit (voltage, current) and the mechanical side (torque,speed). In real life the you will not see such thing as the DC motor inherently convert the electrical energy to mechanical one. As we just modeled the machine electrical losses by R, a real life parameters such as Back EMF can be included in EMF model.

An idea about back EMF in DC motors: it is a voltage that appears in the opposite direction to current flow as a result of the motor’s coils moving relative to a magnetic field. It is this voltage that serves as the principle of operation for a generator. The back EMF is directly related to the speed of the motor, so knowing the value of back EMF allows us to calculate the speed of that motor. 1

  • The model in question does include back emf. Modellica is not a normal programming language and equal signs are not variable assignments. – joojaa Aug 19 '17 at 10:42

Your Answer


By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.