Home

VSM MOTOR MODELS

This help file contains documentation on the following models:

  • DC Motor Model

  • Servo Motor Model

  • Unipolar Stepper Motor Model

  • Bipolar Stepper Motor Model

  • PWM Controlled Servo Motor Model

  • DC Motor Model with Position Encoder

  • Brushless DC Motor Model


Bipolar

BIPOLAR STEPPER MOTOR

Overview

A bipolar stepper motor is essentially the same as a unipolar stepper motor except that the opposing coils are wired in parallel and therefore the device has just four terminals.

The motor must be driven using circuitry that can drive current through each pair of coils in either direction. This is achieved using an H-Bridge driver for each coil – this can be most easily implemented using bridge driver ICs such as the L298 or L6201/2/3 for which behavioural simulator models are also provided.

The properties and theory of operation of the bipolar stepper motor model are almost identical to those of the unipolar stepper motor model.


BrushlessDC

BRUSHLESS DC MOTOR MODEL

Introduction

The Brushless DC motor model builds on the Advanced DC Motor model and implements the following functionality:

  • Nominal Operating Voltage.

  • Free running RPM.

  • Coils (stator) resistance, inductance and mutual inductance effects between coil phases.

  • Back EMF that the motor generates in direct proportion to its angular velocity.

  • Load Resistance.

  • Inertial Mass.

  • Three position sensors, TTL output, at increments of 60 degrees.

  • Three phase coils, two poles.

Theory

A brushless dc motor consists of a wound stator, a permanent magnet salient rotor and a number of position sensors. A typical brushless motor has either two or three of coils wound on the stator, or phases. The VSM model supplied with ProSPICE implements a two poles, three phases design and it can be represented in the following sketches:

In a three phases brushless dc motor the stator field is incremented at 60°. That is, the stator field must be kept in the same place during 60° of the shaft rotation.

The following schemes summarize as above stated three steps:

The back EMF voltage in the j-th phase and the torque generated by the j-th phase can be expressed as:

where:

'Ke' and 'Kt' are the back-emf and torque constants, respectively

'wi' and 'ws' are respectively the rotor and stator velocity

'ns' is the number of north poles on the stator

'p' is the number of phases

theta is the angle

'j=1…p' in the phase index.

Sensored Communication

Unlike brushed DC motors, the communication of a brushless motor must be done with a suitable electronic system based on the value of stator angular position.

This is accomplished with a number of sensors embedded on the stator which sense its position and give the relevant information to an external regulation system. For reliability reasons, the communication signals are driven from Hall’s effect sensors which are fully solid state devices and, as a result, do not have any mechanical frictions. As we’ve said above, the rotor position must be sensed with increments of 60° in order to allow correct operation.

In our BLDC motor we have modelled such communication with the addition of a DLL based model which senses the rotor position and provides the three digital output pins, B1, B2 and B3 the pulses with the proper sequence of communication with the correct phase increments.


DCMotor

DC MOTOR MODEL

Introduction

The VSM DC Motor model offers considerably more sophistication than the Active Motor model supplied as standard with ProSPICE. Specifically it correctly models:

  • Nominal operating voltage and free running RPM.

  • Coil (armature) resistance and inductance.

  • Back EMF, such that the motor generates a DC voltage opposing the supply that increases in direct proportion to its angular velocity.

  • Load resistance (i.e. friction), specified as a percentage of the maximum (stalled) torque available at the nominal supply voltage.

  • Load/Armature inertia, such that the motor will continue to spin after the supply is removed.

Theory

The DC motor uses a combination of schematic and programmatic modelling techniques. The schematic model is shown below, and demonstrates rather nicely how electrical circuits may be used to simulate mechanical phenomena.

The model corresponds with mechanical reality as follows :

  • The armature's properties as a simple inductor are modelled by R1 and L1. This does not accurately model the chopping effect of the commutator, but is sufficient to correctly simulate the load current when stalled, and the back-emf spike that is generated by the armature inductance when the supply is removed.

  • Voltage controlled current source G1 is used to measure the current flowing through the armature. The torque developed by the motor is directly proportional to this value. In reality the constant of proportionality involves a number of parameters that for convenience we have subsumed into <VNOM> and the free running angular velocity <RPM>. To avoid overly long formulae, we have then defined <OMEGA> as <RPM> expressed in radians per second, and <RPV> as the ratio <OMEGA> / <VNOM> - a kind of revs. per Volt, if you will.

  • The torque current is integrated by capacitor C1 such that the voltage developed across it represents the angular velocity <OMEGA> of the motor in radians per second. C1 has the value of the motor's moment of inertia - the rotational equivalent of its mass. This value has units of gm². The angular velocity voltage is measured by VP1 and fed to the VSM animated rotor model which displays it in the motor's readout panel.

  • Voltage controlled current source G2 scales the angular velocity into a current representing degrees of rotation per second, and this value is integrated by capacitor C2 to produce a voltage representing the angular position of the motor. This voltage is measured by real-time voltage probe VP2, and fed to the VSM animated rotor model which then draws the rotor blades at the appropriate angle.

  • Since the rotation of the armature occurs within a magnetic field, it acts an electric generator, producing a voltage proportional to the angular velocity. This effect is modelled by the voltage-controlled voltage source E1, which sets up a 'back-emf' voltage opposing the drive current. As the motor's angular velocity approaches the user specified free-running <RPM>, E1 produces a back EMF equal to the motor's nominal running voltage - <VNOM>. At this speed, no current flows in or out of the motor, and it neither accelerates nor decelerates.

  • The final touch is resistor R2 which models the mechanical load on the motor. In reality this is a very complicated subject, since the friction acting against a motor's rotation is made up of many complex components. Many of these will produces forces which are non-linear with respect to the motor's velocity and even its absolute position. For the sake of simplicity, we have assumed the frictional force to be directly proportional to velocity, and so this is basically a torque current that subtracts from the torque applied by the armature. The formula for R2 is contrived such that the motor's terminal velocity will reduce in proportion to the load percentage; this effect is independent of <VNOM>, <RPM> or <RCOIL>.

  • For accurate modelling of specific loading conditions, the resistor could be replaced by an arbitrary controlled current source with voltage inputs that could be taken from the velocity and/or absolute position voltages.


DCPositionEncoder

DC POSITION ENCODER MOTOR

Introduction

It is quite common in electro-mechanical applications to attach a position encoder to the shaft of a DC motor. Such devices typically consist of a wheel marked with two concentric patterns as shown below, and two optical sensors.

In some cases, there are more alternating black and white segments in each ring giving a higher angular precision, and also there can be a third ring containing just one black segment to indicate the zero position.

When the motor spins, the black and white marks pass the two photo-sensors and this results in two square wave patterns at the encoder outputs, as shown below on the top two waveforms. In this case, the motor is rotating anti-clockwise, a black mark generates a logic 1 and a white mark generates a logic 0.

The clever part is shown in what happens when the motor rotates in the opposite direction (clockwise), as shown below:

If you study these two diagrams carefully, you will see that in the first case, rising edges of Q1 occur when Q2 is low, but in the second case, rising edges of Q1 occur when Q2 is high. This means that a device (typically a microcontroller) attached to the Q1 and Q2 outputs can determine both the rotational speed and the absolute angular position of the motor shaft, even if it rotates both clockwise and anti-clockwise.

The presence of the index pulse (IDX) which is generated only once per revolution provides a way to identify the zero position of the shaft.

Theory

The MOTOR-ENCODER model is identical to the DC Motor Model save for the addition of a DLL based model that tracks the angular position value at the output of the DC motor model schematic, and generates the appropriate output pulses. This model is parameterized in terms of the number of pulses per revolution (PPR), and uses some sophisticated interpolation techniques to generate the digital pulses at the correct times without unduly limiting the speed of the simulation.

Note also:

  • The index (home position) pulse is generated in phase with the Q2 output and has the same width as a single Q2 pulse.

  • Gearing arrangements between the motor and the encoder can be modelled by specifying a fractional value for the pulses per revolution.

  • The digital outputs (Q1, Q2, IDX) are modelled as being TTL compatible and the MOTOR-ENCODER model therefore has two hidden power pins (VCC/GND) which provide notional power for this circuitry.


PWMServo

PWM SERVO MOTOR

Introduction

In typical hobby applications such as radio controlled cars, boats and planes, a basic servo motor is combined with controller electronics that respond to a PWM (pulse width modulation) control signal. This combination of servo-motor and electronics is often referred to as a "Hobby Servo".

The Proteus VSM hobby servo model is implemented using a DLL based DSIM model which allows the following parameters to be defined:

  • Minimum and maximum angles of rotation. These correspond with the end-stops on a typical hobby servo which has a rotational range of 180°.

  • Minimum and maximum values for the control pulse width. In a typical hobby servo, the control pulse width range is 1-2ms.

  • Rotational speed. This is specified in revolutions per minute and determines the time it takes for the motor to move to a new position.

The default values have been selected to match the characteristics of a typical hobby servo such as the Hitec HS311.


ServoMotor

SERVO MOTOR MODEL

Introduction

A servo motor is essentially a coupling of a DC motor to a potentiometer such that the control circuit is able to establish the absolute position of the rotor. Typically, the shaft of the DC motor will be geared down to drive the cam arm so that a substantial amount of torque can be developed.

The rotation of the cam arm is usually restricted by end-stops; it cannot be made to rotate continuously as this would make create a difficulty in establishing its absolute position using an ordinary potentiometer.

The VSM Servo motor model builds on the Advanced DC Motor Model to provide a realistic simulation of a standard servo motor assembly. The following parameters are modelled:

  • Nominal operating voltage and free running RPM.

  • Coil (armature) resistance and inductance.

  • Back EMF, such that the motor generates a DC voltage opposing the supply that increases in direct proportion to its angular velocity.

  • Load resistance (i.e. friction), specified as a percentage of the maximum (stalled) torque available at the nominal supply voltage.

  • Load/Armature inertia, such that the motor will continue to spin after the supply is removed.

  • Minimum and maximum rotation angles

  • End to end resistance of the potentiometer

The default values have been selected to provide realistic rotational velocity, inertia and torque for a typical servo, allowing for some gearing internal to the motor assembly.

Theory

Much of the design of the servo motor model is identical to the Advanced DC Motor Model, as may be see from the diagram, below:

The additional circuitry at the bottom simulates the potentiometer (VCR1 and VCR2) and the end-stops (ACS1 and ACS2). Both these elements are controlled by the absolute angular position of the rotor in degrees, represented by the voltage across C2.

The operation of the potentiometer model should be fairly obvious - all that is required is two voltage controlled resistors with symmetrically opposite values for RON and ROFF.

The end-stops are modelled by a very nifty feature of SPICE3F5. ACS1 and ACS2 are arbitrary voltage controlled current sources which have uramp(x) transfer functions. This function has value 0 for x <= 0 and x for x > 0. The result is that each ACS primitive contributes a counter-torque (current into C1) of 1Nm for each degree that the rotor position exceeds the specified end stop angle. This creates end stops which are just slightly springy - if your drive the rotor hard against them, you will see that they 'give' very slightly. Even more amusing - if you slam the rotor into them and then cut the power, it will bounce off!


Unipolar

UNIPOLAR STEPPER MOTOR

Introduction

A unipolar stepper motor has four fixed coils arranged around a magnetized rotor, as shown below. Typically, the coils are arranged in two centre tapped pairs, on opposing sides of the motor.

Driving current through any coil will cause the rotor magnet to be attracted to it, and by sequencing the drive current though each coil in turn, the motor can be made to rotate continuously. Higher torque can be achieved if two coils are energized at a time, and by alternating between one and two coil drive states, a half stepping mode can be realized.

An excellent description of stepper motor theory and practice may be found at http://www.doc.ic.ac.uk/~ih/doc/stepper

Properties

The VSM stepper motor model has the following properties:

  • Nominal operating voltage.

  • Stepping angle - this defaults to 90° so that you can see what is going although typical real-life stepper motors have step angles of less than 10°.

  • Maximum RPM - this defines the maximum rotor velocity achievable in single coil drive mode.

  • Coil resistance and inductance - these model the electrical properties of the drive coils.

Note that unlike the DC motor and Servo Motor models the stepper model, does not model back emf, friction or momentum. We chose not to simulate these effects, because it is unlikely that you would be able to observe the effect of them at realistic rotation speeds, given the gearing present in real stepper motor units.

Theory

As mentioned above, the stepper motor model does not simulate second order (acceleration) effects within the motor. Instead, we assume that the rotor arm is light relative to the forces acting upon it, and that maximum rotational velocity for a given rotor position and applied voltage is attained instantly.

The schematic model is shown below.

This corresponds with mechanical reality as follows:

  • L1-L4 and R1-R4 model the electrical properties of the drive coils.

  • The force acting on the rotor is the sum of the forces generated by the currents flowing through the drive coils. The force is proportional to the current, and also depends on the current absolute position of the rotor. For a typical motor design, this involves a sine law, with the force changing sign as the rotor passes either side of the coil position. When the rotor is dead in line with a particular coil, there is no force since sin(0) == 0.

Strictly speaking, we should integrate these torque forces to get the angular velocity, and also generate back-emfs in each drive coil according to the current rotor velocity and absolute position. However, if we assume that the rotor is light, and that the maximum rotational velocity is achieved instantly, it is reasonable to say that the rotor velocity is simply proportional to the drive voltage.

This is achieved electrically by arbitrary controlled sources ACS1-4 which generate output currents as a function of coil drive voltage and the angular position.

  • These currents are summed and integrated by capacitor C1 to generate a voltage representing absolute rotor position. This voltage is normalized to a 90° step angle, so that the forces generated by the four coils can be computed directly.

  • Voltage probe VP1 scales the value for the step angle (i.e. applies a gearing ratio) and feeds the result to the animated rotor model.