0% found this document useful (0 votes)
231 views9 pages

DMC5 ControlConcept 0.3

This document provides an overview of the basic control concept for the DMC5 motor controller. It describes the DMC5 state machine and important status and control bits. It lists the most important CAN signals for controlling the DMC5 in standby, torque, and speed modes. It also provides details to improve DMC5 control, such as when to enable and disable it based on speed and requested torque values.

Uploaded by

Dutu Alin
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
231 views9 pages

DMC5 ControlConcept 0.3

This document provides an overview of the basic control concept for the DMC5 motor controller. It describes the DMC5 state machine and important status and control bits. It lists the most important CAN signals for controlling the DMC5 in standby, torque, and speed modes. It also provides details to improve DMC5 control, such as when to enable and disable it based on speed and requested torque values.

Uploaded by

Dutu Alin
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 9

DMC5

Control Concept
Version 0.3

BRUSA Elektronik AG
Neudorf 14
CH-9466 Sennwald
+4181 758 19 00
[email protected]
www.brusa.biz

1 Document History
Version
0.1
0.2
0.3

Date
10.01.2011
20.01.2011
14.12.2011

Name
Peter Oehry
Peter Oehry
Peter Oehry

Comment
New document
Rework and correct typos.
add commonly used CAN identifiers

2 Introduction
This document gives an overview over the basic control concept of the DMC5. Keep in mind, that there will
not be a single strategy to control the DMC5 since different applications needs different optimisations.

Page 2 of 9

3 Table of contents
1

Document History ..................................................................................................................................... 2

Introduction ............................................................................................................................................... 2

Table of contents ...................................................................................................................................... 3

Understanding the state machine ........................................................................................................... 4

4.1

Status bits ....................................................................................................................................... 4

4.2

Control Bits ..................................................................................................................................... 4

4.3

Start-Up procedure ......................................................................................................................... 5

Most important CAN signals ................................................................................................................... 6


5.1

Controlling DMC in standby ............................................................................................................ 6

5.2

Controlling DMC in torque mode (normally used in vehicles) ........................................................ 6

5.3

Controlling DMC in speed mode .................................................................................................... 6

5.4

Receive Signals .............................................................................................................................. 6

5.5

Commonly used CAN identifiers .................................................................................................... 7

Improving the control ............................................................................................................................... 8


6.1

Switching DMC_EnableRq ............................................................................................................. 8

6.2

Operation around zero speed ......................................................................................................... 8

6.3

Prevent the speed limiter to get active ........................................................................................... 9

Page 3 of 9

4 Understanding the state machine


The DMC has the following simplified state diagram. The status and command bits are mapped to these
states.

Init
Init

Standby

HV nicht ready

Clear Error

HV ready

ClrErrorRequest

Error

Ready

Prerun

4.1

OnError

Running

Status bits

Signal
DMC_Ready

DMC_Running

DMC_GenErr

4.2

Error

Description
As soon as the DMC is in Ready state (or one off the running) the
DMC_Ready bit will be set.
When the DMC is not ready it is possible to find the reason by checking
the warning bits in the DMC_ERR message. The Document
DMC5_ErrorsAndWarnings will have more detailed information.
As soon as the powerstage is running this bit will be set. This is a feedback to the vehicle control unit that the DMC_EnableRq was understood
and the state was changed.
If the DMC is in an error state this bit will be set.

Control Bits

Signal
DMC_EnableRq

DMC_ClrError

Description
The enable request will initiate the transition to the Prerun and Running
state if the DMC is in ready state. Otherwise the enable request will be
ignored. As soon as the bit is zero the DMC will go back to the ready
state. The DMC_Running bit is the feedback of this request.
The DMC_Ready bit should be checked prior to setting this bit. If this is
omitted its likely that an error will be set.
A change from zero to one will trigger a clear error request if the DMC is
in Error state. If the error is still present the error bit can not be cleared or
it will come back after a short time.
Setting the DMC_EnableRq and DMC_ClrError at the same time should
be omitted. If both bits are set the DMC_EnableRq will have precedence.

Page 4 of 9

4.3

Start-Up procedure

The following picture shows a normal start-up sequence. Only the most important steps are showed not to
overload the drawing.
act Test
VCU

DMC

[KL15 ON]

Startup

CAN RX
OK?

Send CAN Messages

DMC Standby

HV OK?

DMC Ready?
DCM Ready

Set Run Rq

Run Request

DMC Running

DMC is running

ExceptionHandler
Error
flow

Signal / Action / State


KL15 (switch on the DMC)

Standby
Ready

DMC_EnalbeRq=1
Error

Error

Error occured

Description
After power up the DMC waits for valid CAN communication before going
further to the Standby state. The DMC will wait in the Init state until all
expected messages are received once. The error state will be entered
after a timeout if messages are missing.
Note: It will be interpreted as an error if the DMC_EnableRq is set to one
in the first received CAN message.
The standby state can be left as soon as HV is connected and all internal
supplies are started and running.
The DMC is ready to operate and signals its readiness by setting the
DMC_Ready signal. The VCU has to check this signal prior to send the
DMC_EnableRq signal.
The DMC switches on the powerstage. This is signaled by the
DMC_Running bit.
As soon as an Error occurs the DMC signals its error state by setting the
signal DMC_GenErr. This can be used to trigger the exception handling in
the vehicle control unit.

Page 5 of 9

5 Most important CAN signals


5.1

Controlling DMC in standby

Signal
DMC_EnableRq
DMC_ModeRq
DMC_ClrError
DMC_NegTrqSpd
DMC_PosTrqSpd
DMC_SpdRq
DMC_TrqRq

5.2

Controlling DMC in torque mode (normally used in vehicles)

Signal
DMC_EnableRq
DMC_ModeRq
DMC_ClrError
DMC_NegTrqSpd
DMC_PosTrqSpd
DMC_SpdRq
DMC_TrqRq

5.3

Description
Has to be enabled to generate torque.
Zero for torque mode
Zero in running (clear error only possible if ModeRq=0)
1 to enable negative speed.
1 to enable positive speed.
Absolute value of speed limit. Value sent has to be positive.
Requested torque.

Example
1
0
0
1
1
10000rpm
10Nm

Controlling DMC in speed mode

Signal
DMC_EnableRq
DMC_ModeRq
DMC_ClrError
DMC_NegTrqSpd
DMC_PosTrqSpd
DMC_SpdRq
DMC_TrqRq

5.4

Description
Example
Zero to switch off the powerstage of the inverter
0
dont care
x
A change from 0 1 will request a clear error. Normally a 0
zero should be sent.
dont care
x
dont care
x
dont care
x
dont care
x

Description
Has to be enabled to make torque.
One for speed mode
Zero in running (clear error only possible if ModeRq=0)
1 to enable negative torque.
1 to enable positive torque.
Speed request value.
Absolute value of torque limit. Value sent has to be positive.

Receive Signals

Signal
DMC_Ready
DMC_Running
DMC_GenErr
DMC_SensorWarning
DMC_TrqLimitation
DMC_TrqAct
DMC_SpdAct

Description
DMC is ready to work
Powerstage is up and running
An error is present. See separate document for details.
A sensor warning is present.
The requested torque has been limited by a limiter.
Actual torque.
Actual speed.

Page 6 of 9

Example
1
1
0
1
1
1000rpm
100Nm

5.5

Commonly used CAN identifiers

Nr.
01

Name
Scale Speed

DMC1
1

DMC2
1

02

Scale Torque

0.01

0.01

03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24

Baudrate
Sampling point
DBG COM Master ID
DBG COM Slave ID
CTRL ID
CTRL Timeout
LIM ID
LIM ID Timeout
TRQS ID
TRQS Rate
ACTV ID
ACTV Rate
TEMP ID
TEMP Rate
ERR ID
ERR Rate
CTRL2 ID
CTRL2 Timeout
TRQS2 ID
TRQS2 Rate
DBG_CAN_EnableMask
DBG_CAN_Rate

500
70
400
401
210
100
211
1000
258
10
259
10
458
100
25A
100
212
100
268
10
0
0

500
70
402
403
208
100
209
1000
25B
10
25C
10
459
100
25D
100
20A
100
26B
10
0
0

25
26

DBG_CAN_Base ID
DBG_CAN_FirstMessage

100
0

110
0

Comment
Factor to convert CAN value to real rpm (Default
1.0)
Factor to convert CAN value to real rpm (Default
0.01)
kBit/sec
%
Default 0x400
Default 0x401
Default 0x210
[ms] Default 100
Default 0x211
[ms] Default 1000
Default 0x258
[ms] Default 10
Default 0x259
[ms] Default 10
Default 0x458
[ms] Default 100
Default 0x25A
[ms] Default 100
Default off: 0x000 (on: 0x212)
[ms] Default 100
Default off: 0x000 (on: 0x268)
[ms] Default 10
Default 0
[n x 0.666ms] To select transmition rate of debug
Messages (0 to switch off)
default = 0x100
Index of the first debug message. (default = 0)

Page 7 of 9

6 Improving the control


This chapter gives some deeper details in optimising the control of the DMC.

6.1

Switching DMC_EnableRq

It is recommended to control the DMC_EnalbeRq depending on the control situation. These points should be
taken into account for the proper control strategy.
When TrqRq is zero disabling the DMC_EnableRq can save power.
When TrqRq is zero disabling the DMC_EnableRq will make unwanted torque unlikelier.
At high speed disable the DMC_EnableRq can be dangerous because a field weakening current is
needed to achieve zero torque. Switching off the DMC in such a situation will make heavy regenerating torque that cant be controlled.
It is safe to switch off the inverter if the following condition is given:

U DC K u
p A

30
3

If a constant speed for decision is needed the formula can be calculated with the minimum expected DC
Voltage. To achieve more security the U-Mod factor can be chosen a few % smaller (0.85 instead of 0.9 for
example). The following parameters are motor table specific.
Parameter
[11:03] PolePairNumber
[11:06] Psi A

Short
p

[11:11] U-Mod Factor

Ku

6.2

Description
Pole pair number of the Motor
magnetic constant of the Motor
max. pwm modulation factor

Operation around zero speed

Because the quadrant of operation is not always clear when the speed or torque is near to zero you have to
make sure that all limiters have enough room to operate. If this is not given it is likely that a lot of bucking /
jerking are the case. For example if you start from zero rpm in positive direction it is likely that after acceleration of the shaft it will spring back for a short time which will change from motoring to regenerating operation.
Acceleration will stop immediately if in this situation the regenerating torque is not allowed. This will cause
oscillations in the drive train. To prevent this hold on the following instructions.
DMC_DcVLimGen > DMC_DcVltAct
DMC_DcVLIMMot < DMC_DcVltAct
DMC_DcCLimMot > 5A (value depends on actual setup)
DMC_DcCLimGen > 5A (value depends on actual setup)
Speed limit allowed in both direction with big enough margin.
Both bits DMC_PosTrqSpd and DMC_NegTrqSpd should be set.

Page 8 of 9

6.3

Prevent the speed limiter to get active

The speed limiter is a proportional limiter. For this limiter it is important that there is no overshoot. To achieve
this, the maximum allowed torque will be reduced before the limit is reached. To prevent the speed limiter
from getting active a margin to the limit has to be guaranteed.
Parameter
[10:28] kM
[10:4] Nmax
[10:5] Nmin

Description
proportional factor of speed limiter
max positive allowed rpm signal
minimal allowed (max negative) allowed rpm signal
N_limit:
M_max:
N_Grenz:
p:

M
M_max

n_limit

n_Grenz

nGrenz
nmargin

limit of rpm signal


maximal (or commanded) torque
speed where the given torque will be derated.
polpair number of the motor

M max 100
p kM
M max 100
p kM

nlimit

This is our suggestion how to set the speed limit (DMC5_SpdRq) in torque mode.

SpdLim

Spd act

Trq Rq

100
p kM

Page 9 of 9

You might also like