Challenge

Final Project: Design of an Electric Vehicle

this report, I will be modelling an electric vehicle with a DC motor and battery system using the SIMULINK software. The components I will need for my model exist as blocks in the SIMULINK block library. I will be modelling this EV for a drive cycle and measure the velocity characteristics and the current and SOC characteristics of its battery system.

Components

The main components of an EV are:

batteries
power converters
motor controllers
motor/generator
transmission system
wheels/tires

Batteries store the electrical energy needed to power the EV in all of its systems and needs. Power converters convert the power coming from the battery to a usable form for the motor. This conversion can be from DC to AC or vice versa and can even be between 2 different magnitudes of DC to DC or AC to AC. Motor controllers are electronics which control the amount of power delivered to the motor via control signals so that the motor is running as commanded. The motor is used for propulsion in order to move the vehicle in forward or reverse motoring. The generator is a part of the motor and just works in the opposite method to the motor. When braking, the vehicle can generate electricity and send this power back to the battery, charging it (regenerative braking). The transmission system is needed for the vehicle to change speeds as it accelerates/decelerates. The wheels are needed for traction on the roads and depending on the powertrain, the EV may be an FWD or RWD (forward or rear wheel drive). If a vehicle is an FWD, only the front axle wheels produce propulsion i.e.. rotate from motor effect and if it is an RWD, the back axle wheels produce it instead. All wheel drives (AWDs) also exist where the front and rear axle wheels work together to produce propulsion.

System Level Configuration

To model an EV in SIMULINK, we will need to model the aforementioned components separately and then have them work together. All the main components are available in the library of SIMULINK blocks and we will be adding each component and configuring its parameters to fit the requirements of the model. First, I have modelled the vehicle main body.

Vehicle Body

To model a vehicle's body, we need to first add the vehicle body block and this is shown below:

This block contains 6 ports which can be used to model the various aspects of the vehicle body. The ports are mentioned and elaborated below:

H - This stands for 'Hub' and is used to connect the hubs of the wheels to the main body of the vehicle.
V - This is a physical signal output port which stands for 'Velocity' and is used to output the speed/velocity at which the vehicle is moving at.
W - This is a physical signal input port and allows us to model a 'headwind' acting on the vehicle by giving a speed for it.
NR - This is a physical signal output port to model the rear wheel normal forces.
NF - This is a physical signal output to model the front wheel normal forces.
beta - This is a physical signal input port and allows us to model the vehicle on an inclination angle to create the effect of a hill climbing force.

As you can see, we are able to modify various parameters of the vehicle body e.g. mass, number of wheels per axle, distance of the center of gravity to the front and rear axles. These are the main parameters and have been left with the default values assigned when the block was added to the workspace. The next tab shows the parameters for 'Drag' and this is shown below:

We can see from this image that the parameters of frontal area, drag coefficient and air density can be modified in order to effect the drag force acting on the vehicle. In my case, I have only changed the drag coefficient to 0.3 from the default value 0.4 in order for the model to resemble a typical sedan. Air density and frontal area are normal for this type of vehicle.

Tires

The tires used in this EV model are the 'magic formula' tires. There are several tire blocks that can be used for modelling a vehicle but I have used the magic formula ones because it allows us to model the longitudinal behavior of vehicle tires on highways. They also allow us to model extra effects such as tire inertia, stiffness which allow for greater accuracy of real world conditions. The magic formula tire block is shown below.

N - This port stands for 'Normal' and is the physical signal input port for the normal force acting on the tire and is considered positive in the downwards direction.
S - This port stands for 'Slip' and is the physical signal output port is that reports the slip acting on the tire.
A - This port stands for 'Axle' and is the mechanical rotational conserving port for the wheel axle.
H - This port stands for 'Hub' and is the mechanical translational conserving port for the wheel hub through which the thrust developed by the tires is applied to the vehicle body.

Double clicking the magic formula tire block takes us to its parameters.

Dynamics

The next parameters are the dynamics of the magic formula tires. This is where we can model additional effects e.g. tire inertia and the initial velocity if we are modeling to specify those 2 conditions.

Rolling Resistance

Here, we can model the rolling resistance parameters on the tires and I have chosen to switch ON the rolling resistance force on the tires. Also, I have selected a constant coefficient of rolling resistance of 0.015 and a velocity threshold of

Advanced

Finally, the last parameter for the magic formula tires is the velocity threshold and this has been set to 0.1m/s. Below this speed, the block will not model any of the aforementioned effects of motion on to the tire, hence called a 'threshold' velocity.

Gear

Next, we will model the transmission system of the EV. I have decided to use a 'Simple Gear' block so as to simplify the transmission system parameters. This block models a gear system with a fixed gear ratio with no inertia effects, however we can modify the effects of the meshing of the gear teeth. The simple gear block is shown below:

Main

The main parameters of the simple gear are the follower to base teeth ratio and this has been set to 3.7. I have also specified that the output shaft rotates in the same direction as the input shaft as opposed to the opposite direction of the input shaft.

Meshing Losses

The meshing losses I have selected follow a constant efficiency friction model with an efficiency of 0.86 and follower power threshold of 0.001W.

Wind and Slope

As mentioned earlier, the velocity block allows us to model the effects of wind resistance and road inclination through the 'W' and 'beta' ports respectively. In my model, I have used a 'PS - Constant' block to model the parameters of wind and road inclination on the vehicle's motion. For the wind effect, I have given a constant signal of 5m/s and this acts in the opposite direction to the direction of motion i.e.. headwind. For the road inclination, I have given a constant signal of 0. The block parameters of the wind and slope effects are shown in the images below:

Velocity Subsystem

The velocity port which outputs the velocity signal of the vehicle body block has been modified. By default, the velocity signal that is output from the vehicle body block is measured in miles per hour. To change these units, I have implemented a small subsystem from the output of the velocity port. This subsystem uses the following blocks:

PS - Simulink converter - this block will convert the physical signal of velocity to a logic signal.
Gain - This block uses a multiplication factor of 1.6 to convert the miles per hour units to kilometres per hour.
Zero - Order Hold - This block is used implement a zero order hold sample period.

The inside of the subsystem is shown below:

As seen in the diagram above, the various blocks are connected to model the vehicle body. 4 magic formula tire blocks are used as the vehicle will have 4 tires, 2 on each axle. The tires are LR, LF, RR and RF (left rear, left front, right rear, and right front). The normal ports of each tire are connected to the appropriate NR and NF ports on the vehicle body block. The hubs of each tire are connected together and an extra connection is made from them to the vehicle body block. The 'S' ports of the LR and LF tires have been modelled with a slip using a small subsystem. The simple gear and inertia blocks are connected to the axle port of the tires. The wind velocity and road incline are provided with constant physical signals of 5m/s and 0 degrees respectively. The velocity port has been connected to the velocity subsystem and the connection from the subsystem is open to the 'v' port. The base port of the simple gear has been left open to the 'R' port to take in a rotational signal. If all these connections are made, all of these components can be selected and made in to a subsystem shown below:

Motor

For the EV model, I have selected to use a DC motor block as the motor. This is because DC motors are easier to model and have fewer parameters to modify for a particular application. For this model, a DC motor will do just fine. The DC motor block is shown below:

As we can see, there are 2 sides to the block: the mechanical side on the right and the electrical side on the left. The mechanical side has 2 ports, C and R. The C refers to the casing and the R for the rotation of the rotor which produces a torque. The electrical side has a positive and a negative terminal for the voltages to be applied. If a positive voltage is applied to the DC motor block from the positive to the negative terminal, a positive torque will act from the C port to the R port. The direction of the torque produced by the DC motor can be changed by changing the sign of the back emf or the torque constant. The C port of the mechanical side needs to be connected to a mechanical rotational reference because it will be stationary. The R port will be connected to the open connection of the simple gear from the vehicle body block. The positive terminal on the electrical side is connected to the positive terminal of a power converter which in my case will be an 'H bridge'.

The mechanical rotational reference block is shown below:

Double clicking the DC motor block takes us to its parameters. The electrical torque parameters are first considered. Here, I have chosen to parameterize the block 'By rated power, rated speed & no-load speed'. This lets us modify parameters such as DC supply voltage, rated load. I have kept all values default except for the no load speed, rated speed, rated load and the DC supply voltage which were changed to the values shown in the image below:

Power Converter

The power converter is needed to provide power of the correct form and magnitude from one component to another. In the case of EVs, a power converter is needed to provide a DC voltage from the battery of the EV to the DC motor so that it can operate properly with the required parameters. As mentioned earlier, I have used an H-Bridge motor drive as my power converter. Its block is shown below:

The H Bridge has 2 sides to it: the left side is for the controlling of the voltage signals and the right side is for the terminals to provide the controlled voltage to the DC motor. The left side ports of the H-Bridge block are:

PWM - This stands for Pulse Width Modulation which will provide the voltage pulses to the H-Bridge either in the PWM or average mode.
REF - This stands for Reference.
REV - This stands for Reverse.
BRK - This stands for Brake.

Opening the H-Bridge block will take us to its parameters shown below:

The main parameters are for the simulation mode and load assumptions of the H-Bridge. I have selected the H-Bridge to run on an internal power supply with an averaged simulation mode instead of the PWM mode. This is because using the PWM mode will result in significantly longer simulation times compared to using the averaged mode. I have enabled the regenerative braking mode and set the load current characteristics to the smoothed option.

elast parameters for the H-Bride pertain to its bridge parameters. Only the first parameter of 'Output voltage amplitude' was modified. This is because the DC motor has been parameterized to run on a DC supply voltage of 330V. So this same value is used for the output voltage amplitude.

Once these parameters have been applied, close the parameter settings. The connections for this block will be made later on.

Controlled PWM Voltage

Next, I have used a 'Controlled PWM Voltage' block to provide a controlled pulse width modulated voltage to the H-Bridge block. The block will output the PWM voltage through its 'PWM' and 'REF' ports which will feed in to the same ports found on the H-Bridge block. If the pulse is low the output voltage is considered 0V whereas if the pulse is high, the output voltage will be equal to the output voltage amplitude which was set to 330V in the H-Bridge block. The pulses of voltage created by this block are dependent on the duty cycle which is the ratio of the time that the switch is ON to the time taken for 1 cycle (which is the time for which the switch is ON and OFF). The duty cycle is set by the input of the controlled PWM voltage block.

The main settings pertain to the PWM parameters. Here all the parameters are maintained at their default values. I have chosen the 'Averaged' simulation mode so that the average value of the voltage pulses are generated and fed in to the H-Bridge. This will allow for quicker simulation times, just like for the H-Bridge block parameters. The remaining parameters of 'Input Scaling' and 'Output Voltage' are unchanged.

If these parameters have been applied, close the block parameter window. The connections for this block will be made later on.

Controlled Voltage Source

The input ports of the controlled PWM voltage block are still unconnected and that is because they require a controlled voltage source to provide the voltages to produce the voltage pulses to be fed in to the H-Bridge. For this, I have used the controlled voltage source block. This block is useful because it will provide the necessary voltage that is powerful enough to maintain the voltage at the output regardless of the current that passes through it. This controlled voltage source block is shown below:

In this model, 2 controlled voltage sources have been used. One block is to provide the voltage for the acceleration of the vehicle and the other is to provide the voltage for the deceleration of the vehicle.

Electrical Reference

The electrical reference block is used to create a grounding effect for electrical circuits. Any model that uses electrical or electronics components will need to have at least one electrical reference block in it. The electrical reference block is shown below:

Solver Configuration

The solver configuration block is used to solve any necessary equations in a model and in my case, I have used them in the connection to the 'REV' port of the H-Bridge block. The solver configuration block is shown below:

Longitudinal Driver

The longitudinal driver block is used for giving normalized acceleration and deceleration commands to a controller based on 2 sets of data. The first data set is the reference velocity and the second data set is the feedback velocity. The longitudinal driver block is shown below:

VelRef - This stands for the reference velocity and it is the velocity data provided from a drive cycle source.
VelFdbk - This stands for the feedback velocity and it is the velocity data provided from the vehicle body's velocity port which outputs the velocity data.
Grade - This port provides a grade or inclination angle for the surface on which the vehicle is travelling in degrees.
Info - This port is for the bus signals which consist of block calculations e.g. acceleration/deceleration command, difference between reference and vehicle speed.
AccelCmd - This port provides the acceleration command to a controlled voltage source.
DecelCmd - This port provides the deceleration command to another controlled voltage source.

Drive Cycle

A drive cycle is a data set that contains velocity and time data for the purpose of modelling the motion of a vehicle. The drive cycle will be a plot of the velocity against the time and it is made to resemble typical driving conditions that a consumer may experience themselves in. For instance, they can model highway driving situations, driving in urban areas, or driving with full power etc. Drive cycles are used by automotive companies for various testing procedures such as mileage, pollution tests, and acceleration and top speed tests. There are various different drive cycles that are industry standard e.g. Urban Dynamometer Driving Schedule (UDDS), FTP 75.

In my EV model, a drive cycle is used as the reference velocity data for the longitudinal driver block to send acceleration or deceleration commands according to the drive cycle. There are 3 ways of implementing a drive cycle. One method is to create or own drive cycle with a spreadsheet of velocity data in one column and time data in another column. Another method is to use a signal builder block and create signals that represent the velocities at which the vehicle should travel and the durations for which those velocities are to be maintained. The last method is to use the industry standard drive cycles which are in - built in to the SIMULINK library. In my case, I have used an industry standard 'WOT' drive cycle. This drive cycle stands for 'Wide Open Throttle' and it models the situation where the vehicle is made to accelerate at full power and maintained at a particular speed and made to decelerate back to rest.

By default, the drive cycle block is set to the FTP75 drive cycle.

m/s.

Battery

The battery will be the energy store of the EV and will contain the electrical energy in DC form and provide this energy to the DC motor for it to operate. The battery block used is a simple one and considers only the basic parameters. The battery block is shown below:

Controlled Current Source

The controlled current source block is a part of the battery system used in the EV model. Similar to the controlled voltage source, this block will represent an ideal current source that is powerful enough to maintain the specified current regardless of the voltage across it. The controlled current source block is shown below:

Current Sensor

The current sensor block represents an ideal current sensor and is used to convert the current measured in an electrical circuit to a physical signal that is proportional to the current. This block is used to measure the current between the battery circuit (controlled current source) and the DC motor. The current sensor block is shown below:

SOC & Current

SOC stands for state of charge and it is a measurement of the available charge in a battery. When a battery is fully charged, it is considered to have a 100% charge and conversely 0% charge if fully discharged. In this EV model, I want to measure the current and the SOC of the battery as the simulation is run. For this, I have used a scope block which shows the output signal we wish to measure as a plot against time. 2 scopes have been used, one for the current and the other for the SOC. In order for this to be measured, we need to use a 'PS - Simulink converter' block. This is because the current signal is a physical one and we are measuring it as a logic signal in the SIMULINK workspace.

SOC Subsystem

To measure the state of charge of the battery, a subsystem was created of various blocks. The first block is the 'Rate Transition' block and it is used to handle data transfer between different rates and tasks. Next, a 'Gain' block is used in order to multiply or divide the signal coming from the rate transition block. In this case, the gain block will divide the current signal with the ampere rating of the battery which has been taken as 80Ah multiplied by 3600 (seconds in an hour). This is shown in the gain block parameters below:

Then, a 'Discrete - Time Integrator' block is used to perform a discrete integration of the current signal with respect to the time. A constant block is used to represent the initial SOC of the battery. Assuming that the battery is always fully charged when performing a simulation, I have altered the constant block with a value of 1 representing 100%. Next, a 'sum' block is used to perform addition and subtraction operations. The signal from the 'discrete time integrator' block will be subtracted from the constant block representing 100% charge. These components are connected as shown below:

These blocks are then made in to a subsystem called 'SOC Estimate' and linked with the battery circuit using the PS-Simulink converter block. A scope block is used at the junction of the PS-Simulink converter block to plot the output signal of the current from the battery. Another scope is used to plot the output signal of the SOC from the SOC subsystem. This is shown in the image below:

Speed Measurement

In order to measure the speed of the EV model, I needed to use the scope block once again. I modified the scope block to have 2 input ports where one port takes the output velocity signal from the vehicle subsystem block and the other port takes the output signal from the drive cycle to the reference velocity port on the longitudinal driver block. This has been done so that the scope can show us the plots of the reference velocity and the actual velocity of the vehicle to see how they compare with each other.

Distance Measurement

I have used the scope block and mathematical operator blocks to measure the distance travelled by the vehicle according to the drive cycle data. The area under a velocity time graph tells us the distance travelled by an object and so in my model. This means that the integral of the velocity with respect to time, gives us the distance travelled. So, I have implemented the integrator block to integrate the velocity signal that is output from the vehicle subsystem.

From the integrator block, I needed to use the 'Divide' block along with a 'Constant' block having a value of 3600 in order to convert the divide the integrated speed signal which is in kilometres per hour by 3600. This will give us the distance travelled in kilometres.

The constant block with a value of 3600:

The 'Divide' block:

RESULT:

  • The area under the velocity time graph tells us the displacement of an object. From looking at the speed scope, a rough calculation indicates that this distance measurement is correct.

    Displacement is defined as distance in a given direction and is a vector quantity meaning it has both size and direction. So, if the velocity data in a drive cycle was negative, this would indicate that the vehicle is moving in the reverse direction and this would correspond to a negative displacement. The display block would indicate the same if the velocities in the drive cycle data were of that nature.

CONCLUSION:

The simulation has produced results of the velocity of the vehicle, current flowing from the battery, and the SOC of the battery as well as the distance travelled by the EV. Since the EV model was parameterized to simulate averaged voltage pulses in the H-Bridge and Controlled PWM voltage blocks to be fed in to the DC motor, the simulation was run very quickly within a matter of seconds

The discrepancy between the reference velocity and actual velocity of the vehicle may be attributed to a variety of factors e.g. vehicle inertia, transmission system, transmission inertia. If the EV model was designed in such a way as to improve upon those factors, the model would follow the reference signals more closely and would improve the performance characteristics as well. The distance travelled by my EV model was measured at km and seems to be an appropriate value based on the drive cycle used.

I had observed that the SOC of the battery used in my EV model did not get discharged in a way I had expected it to. This could be because the drive cycle commands did not push the EV model to its limits or it could be due to the fact that the battery model was very efficient and was suitable for the driving application.

My EV model had also included some actual features of EVs such as regenerative braking and this was evident in the current - time and SOC - time graphs whenever the EV decelerated. If the duration of the drive cycle was modified to be longer, I could have seen my EV model exhibit its true performance characteristics. For instance, the EV model may achieve its top speed and it may also have been possible to see the time it takes for the vehicle to decelerate from that top speed and hence the time taken for the acceleration .

Your portfolio, next

Ship work like this
in your own course.

Talk to a career counsellor

Free 20-minute call. We'll map the right course to where you want to work.

By submitting you agree to our Terms and Privacy Policy.

Talk to a career counsellor

Free 20-minute call. We'll map the right course to where you want to work.

By submitting you agree to our Terms and Privacy Policy.