Smart 450, Tesla powered.

Tell us about the project you do with the open inverter
Post Reply
User avatar
Peter
Posts: 310
Joined: Fri Dec 14, 2018 9:07 pm
Location: North West Lancs, UK
Been thanked: 8 times

Smart 450, Tesla powered.

Post by Peter »

Project Smart in its early days with twin DC power..... all 200 Watts of it, wow.
I bet you were hoping for something much more interesting. However more pics to come of what it has now under the rear :-)
Any paint left Damien ??
IMG_0127.JPG
Roger
Posts: 10
Joined: Sat Dec 15, 2018 5:05 am
Location: Toronto, Canada
Has thanked: 2 times

Re: Smart 450, 18 months of work and nearly on the road.

Post by Roger »

those look like 2 pole wheelchair motors :)
User avatar
Peter
Posts: 310
Joined: Fri Dec 14, 2018 9:07 pm
Location: North West Lancs, UK
Been thanked: 8 times

Re: Smart 450, Tesla powered.

Post by Peter »

Hi Forum. Finally back after deciding to change from Enova to SDU. The difference is beyond belief, really quick and had to tone down the settings ! Did some 0-60 timed runs with average 4.87 secs :-) Plenty more 'go' available but may kill batteries if I do. Hope you like the pics for reference and for an insight. All thanks to Johannes and Damien for their work too. Peter
Attachments
Inverter board fitting.jpg
Motor case mods.jpg
Drive shaft fit.jpg
Battery box.jpg
External oil setup.jpg
External oil pump.jpg
Rad and pump.jpg
SDU fitted.jpg
Front mods.jpg
Car side view.jpg
jkelly77
Posts: 6
Joined: Tue Oct 08, 2019 2:25 am

Re: Smart 450, Tesla powered.

Post by jkelly77 »

Peter, great zero to 60! I wonder if you could post your parameters? We have an SDU in a Boxster and it's amazing but could always be improved, especially for full power at launch. I've been comparing SDU parameters from recent projects on this forum to find the optimal settings. BTW, our current settings are pasted below, but these are definitely not final.
Thanks,
John

Code: Select all

{
  "boost": 2400,
  "fweak": 220,
  "fconst": 400,
  "udcnom": 370,
  "fslipmin": 2,
  "fslipmax": 5,
  "fslipconstmax": 6,
  "fmax": 600,
  "dirchrpm": 1000,
  "dirmode": 1,
  "ocurlim": 1200,
  "bmslimhigh": 90,
  "bmslimlow": -100,
  "udcmin": 300,
  "udcmax": 460,
  "idcmax": 5000,
  "idcmin": -500,
  "tmphsmax": 100,
  "tmpmmax": 300,
  "throtmax": 100,
  "throtmin": -100,
  "iacmax": 5000,
  "chargemode": 0,
  "chargecur": 0,
  "chargekp": 80,
  "chargeki": 10,
  "chargeflt": 8,
  "chargepwmin": 0,
  "chargepwmax": 90,
  "potmin": 460,
  "potmax": 1900,
  "pot2min": 850,
  "pot2max": 3850,
  "potmode": 1,
  "throtramp": 10,
  "throtramprpm": 20000,
  "ampmin": 2,
  "slipstart": 40,
  "brknompedal": -15,
  "regenramp": 100,
  "brknom": 15,
  "brkmax": -15,
  "brkcruise": -15,
  "brkrampstr": 10,
  "brkout": -100,
  "idlespeed": -100,
  "idlethrotlim": 50,
  "idlemode": 3,
  "speedkp": 1,
  "speedflt": 5,
  "cruisemode": 0,
  "udcsw": 300,
  "udcswbuck": 540,
  "tripmode": 3,
  "pwmfunc": 0,
  "pwmgain": 100,
  "pwmofs": 0,
  "canspeed": 1,
  "canperiod": 0,
  "fslipspnt": -2,
  "respolepairs": 1,
  "encmode": 1,
  "pwmfrq": 1,
  "deadtime": 63,
  "ampnom": 0
}
User avatar
Bigpie
Posts: 1595
Joined: Wed Apr 10, 2019 8:11 pm
Location: South Yorkshire, UK
Has thanked: 75 times
Been thanked: 304 times

Re: Smart 450, Tesla powered.

Post by Bigpie »

What are those battery modules?
VW Beetle 2003
Outlander front generator
Prius Gen 3 inverter (EVBMW logic board)
Outlander charger
3x Golf GTE batteries
Chademo Charging
Outlander water heater
User avatar
Peter
Posts: 310
Joined: Fri Dec 14, 2018 9:07 pm
Location: North West Lancs, UK
Been thanked: 8 times

Re: Smart 450, Tesla powered.

Post by Peter »

Hi John. Thanks for your comment. I have been tweaking quite a lot but I am limited by battery power and ratings.
I have listed the parameters that differ from yours.
{
"boost": 5000,
"udcnom": 0,
"dirchrpm": 100,
"ocurlim": 750, my 350A semiconductor fuse will blow after 90 secs at this value
"idcmax": 1200, acts as a current limiter
"iacmax": 1500, acts as current limiter
"throtramp": 20,
"ampmin": 10,
"slipstart": 50,
"tripmode": Precharge ON
}
I also added Transient Voltage Suppressors across the HV DC input to the SDU to reduce chance of spikes killing inverter when hitting overcurrent shutdown.
Hope all goes well. Peter
User avatar
Peter
Posts: 310
Joined: Fri Dec 14, 2018 9:07 pm
Location: North West Lancs, UK
Been thanked: 8 times

Re: Smart 450, Tesla powered.

Post by Peter »

Hi Bigpie. They are LG modules. Rated at 60v 30Ahr. Believe to come from ex-Volvo test vehicles. I will send some pics later :-) Peter
User avatar
Peter
Posts: 310
Joined: Fri Dec 14, 2018 9:07 pm
Location: North West Lancs, UK
Been thanked: 8 times

Re: Smart 450, Tesla powered.

Post by Peter »

Hi Bigpie. Pics as mentioned. Front facing shows BMS module which is plugged in and can be daisy chained. 16 cells per module. Nominal 60v. I have managed to comms to the BMS but only using the Texas Instruments software and not by Arduino etc which I would like to do. Modules are liquid cooled and have a temp sensor at each end of the module. Peter
Attachments
LG_P30_4.jpg
LG_P30_3.jpg
LG_P30_2.jpg
LG_P30_1.jpg
User avatar
FJ3422
Posts: 113
Joined: Fri Jul 10, 2020 9:55 am
Location: Netherlands
Been thanked: 1 time

Re: Smart 450, Tesla powered.

Post by FJ3422 »

Aren’t these bricks from a Volvo XC90 hybrid pack ?

Quite looks like the V60 hybrid modules I got here which are 10s bricks.
Do the BMS slaves look like the ones in this topic ? -> viewtopic.php?f=13&t=885&p=26321#p26321
User avatar
catphish
Posts: 955
Joined: Fri Oct 08, 2021 11:02 pm
Location: Dorset, UK
Has thanked: 94 times
Been thanked: 179 times

Re: Smart 450, Tesla powered.

Post by catphish »

I'm embarking on a moderately similar project, and wanted to say hi. I'm hoping to convert a VX220 using a Tesla SDU, openinverter, and some of my own software to glue everything together. While I haven't decided on batteries yet, I have some of the same battery modules as you, and I'm currently attempting to hook them up to my Arduino. Did you make any progress with this? If so, I'd appreciate any info, if not, I will share mine.

I am particularly interested in the performance you were able to achieve with these battery modules. Are you using 10 modules (300V x 2p), how much current are you drawing? I'm considering *not* using these battery modules, because even with 2 parallel strings, I'd only be looking at a max current of 250A, so I'm interested in your take on it. Your settings seem to have the limit at 1200A!

I haven't started building anything yet, just have have the car and Tesla SDU ready, and making sure I have a sensible idea of what will work.

Thanks
User avatar
catphish
Posts: 955
Joined: Fri Oct 08, 2021 11:02 pm
Location: Dorset, UK
Has thanked: 94 times
Been thanked: 179 times

Re: Smart 450, Tesla powered.

Post by catphish »

Peter wrote: Sun Aug 01, 2021 2:42 pm I have managed to comms to the BMS but only using the Texas Instruments software
What hardware are you using to talk to the battery module?

Since my last reply I've spent a few hours reading the datasheets and trying to get the BMS Slave (the thing attached to the battery) to respond but haven't had any luck. I think the best approach would be to buy the official TI interface, but because of stock, this would be an expensive exercise: https://www.mouser.co.uk/ProductDetail/ ... NrUg%3D%3D

I'm comfortable with software, but haven't made much progress with the hardware on this :(

I'm still unsure if this will be a good choice, because of the current limits, but might be sufficient with two in parallel if I can get the BMS working. Thanks!
User avatar
Peter
Posts: 310
Joined: Fri Dec 14, 2018 9:07 pm
Location: North West Lancs, UK
Been thanked: 8 times

Re: Smart 450, Tesla powered.

Post by Peter »

Hi catphish. I connected directly to the onboard chip of the BMS modules by using 4 wires of an RS232 adaptor cable then using the TI software. Tried to use the software thankfully offered by FJ3422 but couldn’t extract what I thought was the simple cell voltage reading part. Any assistance to be able to comms with the modules via Arduino would be gratefully accepted. I am already using an UNO and CAN shield to interface SDU to a Nextion screen so if I could sort comms to BMS the task would be complete. As to current, pulling 250A is exciting in such a small car but a quick delve into higher doesn’t so far show any deterioration of the capacity. I will be adding another 2 modules in parallel to give 400v so that will require waterproof underwear :-)
User avatar
Peter
Posts: 310
Joined: Fri Dec 14, 2018 9:07 pm
Location: North West Lancs, UK
Been thanked: 8 times

Re: Smart 450, Tesla powered.

Post by Peter »

Reason for 1200A limit is to stop over current events when flooring throttle from standstill. Tried using lower Boost and increasing throttle ramp time but still could not stop events without drastically lowering performance. I am sure others have solved this but for now that’s my method of broad grin take offs :-)
User avatar
catphish
Posts: 955
Joined: Fri Oct 08, 2021 11:02 pm
Location: Dorset, UK
Has thanked: 94 times
Been thanked: 179 times

Re: Smart 450, Tesla powered.

Post by catphish »

Peter wrote: Sat Oct 09, 2021 6:54 pm Hi catphish. I connected directly to the onboard chip of the BMS modules by using 4 wires of an RS232 adaptor cable then using the TI software. Tried to use the software thankfully offered by FJ3422 but couldn’t extract what I thought was the simple cell voltage reading part. Any assistance to be able to comms with the modules via Arduino would be gratefully accepted. I am already using an UNO and CAN shield to interface SDU to a Nextion screen so if I could sort comms to BMS the task would be complete. As to current, pulling 250A is exciting in such a small car but a quick delve into higher doesn’t so far show any deterioration of the capacity. I will be adding another 2 modules in parallel to give 400v so that will require waterproof underwear :-)
Thanks for the info. Unfortunately I am not at all keen to try to tap directly into to the BMS boards with a serial link, and would prefer to use the proper connectors if possible. Unfortunately, these connectors don't expose normal serial, only a proprietary link, requiring the board I linked to previously. Connecting to the first one would be enough to access the chain and talk to the others, so I suppose this is an option to consider. I suspect if I had the hardware working it would be quite easy to get comms with the Arduino working, as the protocol is well documented (and I'm a software engineer).

Could you send me a picture of how you physically connected it? My board seems to have a shiny protective coating on it, so it's not that easy to connect to, and I'm not keen to risk damaging any of the modules.

If you want, I'll write some some Arduino code, and you can run it against your module and tell me if it works.

I've been trying to emulate the proprietary daisychain link using an Arduino but so far haven't managed to get any life out of it. I'm contemplating buying the expensive interface hardware.

My car actually weighs less than yours, so I'm hopeful that I'll be able to get some good results. Are you able to confirm more details about what voltage and current you actually used to get your 5 second 0-60, and ideally, what speed you reach peak power? My goal is to get below 4 seconds 0-60, but I don't know how realistic I'm being.

Thanks, and hope I can help.
User avatar
catphish
Posts: 955
Joined: Fri Oct 08, 2021 11:02 pm
Location: Dorset, UK
Has thanked: 94 times
Been thanked: 179 times

Re: Smart 450, Tesla powered.

Post by catphish »

This is my best first attempt. Some things may need tweaking to match your setup. I'd be interested to know if it does anything. Note that it has no way to wake the module up if it's asleep. Sending data may be enough, I'm not sure.

Code: Select all

#include "CRC16.h"
#include "CRC.h"

#define FRM_TYPE_COMMAND (1<<7)
#define REQ_TYPE_BROADCAST_READ (6<<4)
#define ADDR_SIZE_8 0

void setup() {
  // Communication with PC for debugging, I assume you know what you're doing here
  Serial.begin(115200);
  // I'm not certain what baud rate is required. Default is likely 250,000
  Serial2.begin(250000);
  Serial.println("Hello!");
}

uint16_t crc_16_ibm(uint8_t *buf, uint16_t len);

void loop() {
  delay(1000);
  // Our command frame will be 6 bytes (init, address, data, data, crc, crc)
  uint8_t command[6];
  // Broadcast read (write with response) command. 2 data byts. See datasheet page 64.
  // We use a broadcast because we don't know or care about the device's address.
  command[0] = FRM_TYPE_COMMAND | REQ_TYPE_BROADCAST_READ | ADDR_SIZE_8 | 2;
  // Register address 0 is the 2 byte silicon version
  // Change this to 0x0A to get the device address (and change length below to 0)
  command[1] = 0;
  // First "data" byte is address of highest responder, we'll set this to 31, the highest possible address.
  command[2] = 31;
  // Second "data" byte is the number of bytes expected (less 1). We expect 2 bytes, so set 1 here.
  // Set this to zero if only 1 byte is expected
  command[3] = 1;
  // Calculate crc
  uint16_t crc = crc_16_ibm(command, 4);
  // Append CRC
  command[4] = crc >> 8;
  command[5] = crc & 0xff;
  // Send the command
  Serial2.write(command, 6);

  // Wait for a response, first byte is length (less 1)
  uint8_t length = Serial2.read() + 1;
  Serial.print("Received response. Length: ");
  Serial.print(length);
  Serial.print("\n");
  // Receive and print each byte reseived. This should probably be 08 06 but, any response would be a start.
  for(int n=0; n<length; n++) {
    uint8_t data = Serial2.read();
    Serial.print(" Data: ");
    Serial.print(data, HEX);
    Serial.print("\n");
  }
  // Ignore CRC
  Serial2.read();
  Serial2.read();
}

// Ths function is provided in the TI datasheet. It should just work.
uint16_t crc_16_ibm(uint8_t *buf, uint16_t len) {
  uint16_t crc = 0;
  uint16_t j;
  while (len--) {
    crc ^= *buf++;
    for (j = 0; j < 8; j++)
      crc = (crc >> 1) ^ ((crc & 1) ? 0xa001 : 0);
    }
  return crc;
}
User avatar
FJ3422
Posts: 113
Joined: Fri Jul 10, 2020 9:55 am
Location: Netherlands
Been thanked: 1 time

Re: Smart 450, Tesla powered.

Post by FJ3422 »

catphish wrote: Sat Oct 09, 2021 10:22 pm Unfortunately, these connectors don't expose normal serial, only a proprietary link, ...
What do you mean with the 'proprietary link'' ? Isn't that the CAN-bus between the slaves (that's the interface I used)?
Do you have a picture of your BMS-slave boards ? If the BMS is designed by LGchem like all the Volvo BMS'ses I have seen, you can just request the cell voltages & requests to activate the balancing resistors by CAN.
User avatar
catphish
Posts: 955
Joined: Fri Oct 08, 2021 11:02 pm
Location: Dorset, UK
Has thanked: 94 times
Been thanked: 179 times

Re: Smart 450, Tesla powered.

Post by catphish »

FJ3422 wrote: Sun Oct 10, 2021 7:56 am What do you mean with the 'proprietary link'' ? Isn't that the CAN-bus between the slaves (that's the interface I used)?
Unfortunately this isn't CAN. There's only one IC on the board, and it doesn't support CAN.
Here's the datasheet if you're interested: https://www.ti.com/lit/ds/slusc51c/slus ... 3691907593

Image
4G63T
Posts: 1
Joined: Wed Jul 19, 2023 10:37 pm

Re: Smart 450, Tesla powered.

Post by 4G63T »

Peter,

I’m trying to also delete the jack shaft and just run two “driver side cv’s” but I’m having issues with the SDU seal.

I just purchased a used oem driver side cv and found that the seal on the drive unit is too large . The front left (USA driver side) cv I have is 40mm diameter where as the seal on the front SDU are 44 mm .

I assume maybe my left seal was incorrectly replaced with larger one by prior owner/ handler of drive unit. So my question for you is did you have the same issue for the jack shaft seal ? If so , what did you do , did you replace it within another oem smaller seal ?
Post Reply