You do not need to change the SEVCON configuration to use a custom battery if the custom battery delivers voltage and power matching the standard operating range and your SEVCON battery protection has not been disabled.
- The SEVCON G48 series can operate with input voltages from 19.3 to 69.6 V. The Twizy SEVCON is by default configured for a range of 39 to 65 V.
- In standard configuration, the Twizy will draw up to ~330 A or 16 kW from the battery, and recuperate at up to ~70 A or 3.5 kW.
If your battery cannot cope with these limits, you can either use the Virtual BMS to lower the limits or modify the SEVCON configuration.
If you need to set the limits regularly below the standards, consider tuning the Twizy down. Triggering the power limiter will result in a sudden power cutback followed by slowly raising power levels until the limit is reached again. This continues over and over leading to an inconvenient pumping effect.
Note: SEVCON write access has been limited by Renault on Twizys (SEVCONs) delivered after June 2016. The write protection applies to all power and driving profile tuning registers, and also to the voltage limits. If you've got a locked Twizy, your battery should match the standard battery parameters.
A locked SEVCON will respond to register writes with an error. You can also check the software version (rs 100a 00
): if it's 0712.0003
or higher, the Twizy is locked.
You can configure the SEVCON using…
- Official SEVCON tools
- OVMS
- Twizy-Cfg for Arduino
- Generic CANopen editor
The syntax for reading/writing the SEVCON registers slightly varies depending on the software used, but the registers and values are the same.
Function | Twizy-Cfg | OVMS |
---|---|---|
Enter pre-op mode | p |
cfg pre |
Enter op mode | o |
cfg op |
Read register | r <id> <sub> |
cfg read <id> <sub> |
Write register | w <id> <sub> <val> |
cfg write <id> <sub> <value> |
The following command examples use the Twizy-Cfg syntax.
Note: negative values currently need to be read and written with value offset 65536 ("complementary"), i.e. -1 = 65535.
Register | Description | Default | Scaling | …= |
---|---|---|---|---|
2c01 01 |
Over voltage start cutback | 992 | 1/16 | 62 V |
2c01 02 |
Over voltage limit | 1040 | 1/16 | 65 V |
2c02 01 |
Under voltage start cutback | 656 | 1/16 | 41 V |
2c02 02 |
Under voltage limit | 624 | 1/16 | 39 V |
2c03 00 |
Protection delay | 80 | 1/10 | 8 s |
Example: to allow voltages down to 35 V, issue…
w 2c02 01 592
w 2c02 02 560
Keep in mind that the SEVCON derives current levels from allowed power levels (unless configured otherwise, see below). A lower voltage will result in higher currents, take care to lower the power limits as necessary using the setPowerLimits()
API call when your voltage drops.
Note: these only apply to the driving state, the charger current can be controlled by setChargeCurrent()
regardless of the SEVCON configuration.
Register | Description | Default | Scaling | …= |
---|---|---|---|---|
2870 01 |
Battery current limit source | 4 | see below | BMS |
2870 02 |
Max discharge current | 500 | 1 | 500 A |
2870 03 |
Max recharge current | 65336 | -1 | 200 A |
2870 04 |
Profile 1 level | 0 | 1 | 0% |
2870 05 |
Profile 2 level | 0 | 1 | 0% |
2870 06 |
Max discharge power (derived) | i.e. 4608 | 1/256 | 18 kW |
2870 06 |
Max recharge power (derived) | i.e. 64896 | -1/256 | 2.5 kW |
4623 01 |
Calculated recharge current limit (power/voltage) | 65493 | -1 | 43 A |
4623 02 |
Calculated discharge current limit (power/voltage) | 314 | 1 | 314 A |
4623 03 |
Battery current cutback range | 15 | 1 | 15 A |
3813 30 |
Battery current recovery speed | 100 | 100/256 | 39.0625 %/s |
3813 30 |
Battery current cutback speed | 800 | 1 | 312.5 %/s |
Battery current limit source:
4
: BMS controls power limits throughsetPowerLimits()
, current levels calculated from power levels3
: Use max currents scaled down by profile level (setPowerLimits()
disabled)1
: Use max currents (setPowerLimits()
disabled)0
: Limiter off (setPowerLimits()
disabled)
These registers need pre-operational mode to allow writes.
Example: to disable setPowerLimits()
and set a fixed maximum of 250 A for discharge (driving) and 50 A for recharging (recuperation), issue…
p
w 2870 01 1
w 2870 02 250
w 2870 03 65486
o
Register | Description | Default | Scaling | …= |
---|---|---|---|---|
3813 11 |
Drive cutback map: SOC 1 | 0 | 1/50 | 0 % SOC |
3813 12 |
… cutback 1 | 750 | 1/50 | 15 % power |
3813 13 |
… SOC 2 | 750 | 1/50 | 15 % SOC |
3813 14 |
… cutback 2 | 5000 | 1/50 | 100 % power |
3813 15 |
Brake cutback map: SOC 1 | 0 | 1/50 | 0 % SOC |
3813 16 |
… cutback 1 | 5000 | 1/50 | 100 % power |
3813 17 |
… SOC 2 | 500 | 1/50 | 10 % SOC |
3813 18 |
… cutback 2 | 5000 | 1/50 | 100 % power |
The SEVCON applies these linear cutbacks based on SOC additionally to the BMS power limits allowing for a smooth cutback slope. Default is to cutback drive power below 15% SOC, and leave brake power at BMS control.
These registers need pre-operational mode to allow writes.
Example: configure full brake power cutback from 90% to 100% SOC:
p
w 3813 15 4500
w 3813 17 5000
w 3813 18 0
o
Read the SEVCON Gen4 manual for some basic description. The full register set is documented in the SEVCON master dictionary, which is ©SEVCON. It's contained in the SEVCON DVT package.
Most registers of interest for normal tuning have been documented in the OVMS Twizy SDO list.
Have fun!