DMC5 ControlConcept 0.3
DMC5 ControlConcept 0.3
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
Introduction ............................................................................................................................................... 2
4.1
4.2
4.3
5.2
5.3
5.4
5.5
6.2
6.3
Page 3 of 9
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?
DMC Standby
HV OK?
DMC Ready?
DCM Ready
Set Run Rq
Run Request
DMC Running
DMC is running
ExceptionHandler
Error
flow
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
Signal
DMC_EnableRq
DMC_ModeRq
DMC_ClrError
DMC_NegTrqSpd
DMC_PosTrqSpd
DMC_SpdRq
DMC_TrqRq
5.2
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
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
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.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
Ku
6.2
Description
Pole pair number of the Motor
magnetic constant of the Motor
max. pwm modulation factor
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
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
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