Tesla Research

After purchasing the Tesla Model S Drive Unit from EV West, this is essentially a salvaged drive unit made into a kit with a controller from EV controls, it seems there is some work to make this "ready to run" unit working.

EV Controls user Guide

EVTV research

Inside | Hacking | Capturing CAN data | Unit delivered | update | update. | first shipment | 63 Impala | Drive Train | Inside | Hacking | HACKED | Hacked

EVBMW research

The Tesla Project : 15,000 RPM | IGBT Driver | Tesla Inverter Teardown | It Lives | Logic Board V2 | Rear Drive Unit Back Together | Just Crusin | Thermal Velocity

Others research

lightbulb test | Tesla motor hacked!

Wiring up the Harness

Controller





Inverter





Now showing CanBus signals coming from a working inverter


Motor Position Encoder

https://en.wikipedia.org/wiki/Incremental_encoder
1002722-00-B CRANKSHAFT POSITION SENSOR
1002722-00-C - SENSOR ENCODER




RPM shows a value when the shaft is spun by hand after connecting sensor showing it working


Found by experimentation that the sensor wheel has 72 teeth:


Accelerator Pedal (APP Sensor)





Now showing accelerator position after connecting to inverter

NOTE: This did not work as the supplied diagram is wrong

This one is correct for the supplied pedal:



Brake



Brake is showing as working (red dot on the right), and we can now select "D" drive (as well as other modes).


Delving in:

Driver board


Driver board connector




JST CPT connector

+

Driver and output datasheets

1ED020I12FA2 | IKW75N60T

IGBT boards


IGBT board diagram (gates have 10R serial, 2x20R)


Connections to the gate driver are mirrored

Tesla Gate Driver Replacement

This is using a Cree/Wolfspeed CGD15HB62P1 gate driver board as a replacement for the Tesla one.
The CGD15HB62P1 is sold by both RS and Farnell, and probably others, so it's something which is readily available.

It uses the same Infineon 1ED020I12 driver so is compatible with anything which connects to the original Tesla board.
The board plus DC-DC converter comes in under £250 (inc UK VAT).
They are not the right shape to fit in the original space, but there is space above the IGBTs to fit a board so will fit inside the inverter housing.

MANUAL | SCHEMATIC


This board is intended to be used with a Cree IGBT module, so it needs some modification.
The supply is 15vDC instead of 12vDC so needs a DC-DC converter,
also the board is intended to be connected directly to the gates so a connection needs to be added before the on-board gate resistors.




If you are intending to connect the original logic board you will also
need a lead to convert from the JST plug to the Molex socket on the CGD15HB62P1 board,
This would need to include the DC-DC converter inline.




Properly mounted

..with screened leads for the gates

Plenty of space inside sleeve

Trinary control


Original gschem schematic

This is the 1.3Mhz trinary PWM (50/50) to inspect the transitions:
.equ LOW_IN   = 0x00
.equ HIGH_OUT = 0xFF
.equ DDRB     = 0x04
.equ PORTB    = 0x05


    ldi	r24, LOW_IN
    ldi	r25, HIGH_OUT

loop:

;   nop equivalent to jump
;   nop
    out	DDRB,  r24; OFF

    nop
    out	PORTB, r24
    out	DDRB,  r25; LOW

    nop
    nop
    out	DDRB,  r24; OFF

    nop
    out	PORTB, r25
    out	DDRB,  r25; HIGH

    rjmp loop


TIME:200nS/div, Blue:TP1(2vDC/div), Red:TP2(2vDC/div), Orange:TP3(2vDC/div), Green:TP4(2vDC/div).

This is showing fast transitions for high (Green) and low (Red) with the max wait 100nS and max switch 100nS.
Which means the total switching delay is 200nS well within the 1uS required.

Latest Tesla version of trinary.asm:


Hooking Up To Motor

Driver board only

TIME:200nS/div, Blue:TP1(2vDC/div), Red:TP2(2vDC/div), Orange:TP3(2vDC/div), Green:TP4(2vDC/div).


TIME:200nS/div, Blue:TP1(2vDC/div), Red:TP2(2vDC/div), Orange:TP3(2vDC/div), Green:TP4(2vDC/div).

Low power output



Output switching transition (~50nS):

TIME:50nS/div, Blue:TP1(2vDC/div), Green:V-phase(4vDC/div).

TIME:50nS/div, Blue:TP1(2vDC/div), Green:V-phase(4vDC/div).

Switching delay (2uS max)

TIME:500nS/div, Blue:TP1(2vDC/div), Green:V-phase(4vDC/div).

TIME:500nS/div, Blue:TP1(2vDC/div), Green:V-phase(4vDC/div).

Trinary interface input vs output (~3.33kHz 50:50 PWM)

TIME:50uS/div, Blue:TP1(2vDC/div), Green:V-phase(4vDC/div).



Original inkscape drawing



Checking V-phase Motor input (PWM ~4kHz, field rotation ~1kHz)

TIME:200uS/div, Blue:MCU V-phase(2vDC/div), Red:MCU W-Phase(2vDC/div), Green:MCU U-Phase(2vDC/div), Yellow: Motor V-phase(4vDC/div).

Adding Schmitt Triggers

7414 Schmitt Trigger inverters are very fast, in the order of 10nS switch times.
This is much faster than the BC5x7B circuits so it makes sense to use one as an inverter.
Also having 2 in series provides a good buffered output.

Original gschem schematic



Low Side

TIME:50nS/div, Blue:TP1(2vDC/div), Red:TP3(2vDC/div), Green:TP5(2vDC/div), Yellow:TP6(2vDC/div).


TIME:50nS/div, Blue:TP1(2vDC/div), Red:TP3(2vDC/div), Green:TP5(2vDC/div), Yellow:TP6(2vDC/div).

High Side

TIME:50nS/div, Blue:TP1(2vDC/div), Red:TP2(2vDC/div), Yellow:TP4(2vDC/div).


TIME:50nS/div, Blue:TP1(2vDC/div), Red:TP2(2vDC/div), Yellow:TP4(2vDC/div).

Input from MCU vs Inverter Output

TIME:200nS/div, Blue:TP1(2vDC/div), Red:Motor V-phase(4vDC/div), Green:TP4(2vDC/div), Yellow:TP6(4vDC/div).


TIME:200nS/div, Blue:TP1(2vDC/div), Red:Motor V-phase(4vDC/div), Green:TP4(2vDC/div), Yellow:TP6(4vDC/div).


TIME:50uS/div, Blue:TP1(2vDC/div), Red:Motor V-phase(4vDC/div).

Logic interface

To create the logic interface between the Arduino and the Tesla driver board a bit of stripboard needs to be laid out.


Original inkscape drawing | mask



MCU Upgrade to SAM3X (Arduino Due)


Original gschem schematic


Original inkscape drawing | mask