XC90 inverter teardown and reverse engineering
- manny
- Posts: 62
- Joined: Sun Jan 23, 2022 4:15 pm
- Location: Netherlands
- Has thanked: 12 times
- Been thanked: 50 times
XC90 inverter teardown and reverse engineering
Bought a slightly crispy Volvo XC90 (2015) inverter from a car breaker. My plan is to replace the controller board.
The inverter is specified for 65kW and also includes the DCDC converter.
The battery and motor connectors are on the bottom if the inverter sits in the car.
On the side there is a low voltage multi pin connector, a low power HV connector and a B+ post. think the case is used as the ground connection.
With the lid off we can see the control board on a bracket and the DCDC converter below.
There are 3 smale 2 pin connectors for the HV interlock. A short flatflex cable for the DCDC converter. and the big connector for the inverter.
After removing screws from the DCDC converter side, the case can be split and reveals the inverter.
The inverter board and the DC Link capacitor come out as one unit. the capacitor is connected with 6 screws.
will start with the inverter connector pinout reverse engineering.
Manny
The inverter is specified for 65kW and also includes the DCDC converter.
The battery and motor connectors are on the bottom if the inverter sits in the car.
On the side there is a low voltage multi pin connector, a low power HV connector and a B+ post. think the case is used as the ground connection.
With the lid off we can see the control board on a bracket and the DCDC converter below.
There are 3 smale 2 pin connectors for the HV interlock. A short flatflex cable for the DCDC converter. and the big connector for the inverter.
After removing screws from the DCDC converter side, the case can be split and reveals the inverter.
The inverter board and the DC Link capacitor come out as one unit. the capacitor is connected with 6 screws.
will start with the inverter connector pinout reverse engineering.
Manny
- manny
- Posts: 62
- Joined: Sun Jan 23, 2022 4:15 pm
- Location: Netherlands
- Has thanked: 12 times
- Been thanked: 50 times
Re: XC90 inverter teardown and reverse engineering
Got 25 wire of the 40 figured out.
The current sensors, temperature sensors and gate-divers.
This whas a big job to figure out. Started out with a wrong assumption that the 3 chips where the same. One of them turned out to be a inverter chip instead off a AND gate. This circuit is a hardware dead-time generator.
This is the output from a simple simulation of the dead-time circuit. Capacitor values are a guess, I couldn't measure them on the PCB.
to do:
-figure out how voltage sense works
-I think there is a cap discharge circuit.
-floating power supply for the gate-drivers
-and some other stuff probably
The current sensors, temperature sensors and gate-divers.
This whas a big job to figure out. Started out with a wrong assumption that the 3 chips where the same. One of them turned out to be a inverter chip instead off a AND gate. This circuit is a hardware dead-time generator.
This is the output from a simple simulation of the dead-time circuit. Capacitor values are a guess, I couldn't measure them on the PCB.
to do:
-figure out how voltage sense works
-I think there is a cap discharge circuit.
-floating power supply for the gate-drivers
-and some other stuff probably
- manny
- Posts: 62
- Joined: Sun Jan 23, 2022 4:15 pm
- Location: Netherlands
- Has thanked: 12 times
- Been thanked: 50 times
Re: XC90 inverter teardown and reverse engineering
Got the DCDC converter working today
The DCDC gets a voltage signal from the inverter power board and sends the value on the canbus. the signal is 8.5mV/V and this needs to be above 200V equivalent so 1.7V.
The PSRP_WAKEUP signal needs to be 12V.
On the canbus you need to send on ID 0x101 with 8 bytes 0x00 one time. after this the dcdc will stay on and output 13.8V
Or keep sending this frame with all bytes 0x00 except byte 0 that needs to be 0x01. This one bit will turn the dcdc converter on and off.
On the canbus it sends the HV voltage the 12V voltage. I think there is also a current value in there somewhere and two temp sensors, haven't figured out what the conversion values are to calcuate real temperature.
So now I can design a replacement pcb and get on with the project
The DCDC gets a voltage signal from the inverter power board and sends the value on the canbus. the signal is 8.5mV/V and this needs to be above 200V equivalent so 1.7V.
The PSRP_WAKEUP signal needs to be 12V.
On the canbus you need to send on ID 0x101 with 8 bytes 0x00 one time. after this the dcdc will stay on and output 13.8V
Or keep sending this frame with all bytes 0x00 except byte 0 that needs to be 0x01. This one bit will turn the dcdc converter on and off.
On the canbus it sends the HV voltage the 12V voltage. I think there is also a current value in there somewhere and two temp sensors, haven't figured out what the conversion values are to calcuate real temperature.
So now I can design a replacement pcb and get on with the project
- manny
- Posts: 62
- Joined: Sun Jan 23, 2022 4:15 pm
- Location: Netherlands
- Has thanked: 12 times
- Been thanked: 50 times
Re: XC90 inverter teardown and reverse engineering
After a couple of long nights V1 board is done
looks similar
looks similar
- manny
- Posts: 62
- Joined: Sun Jan 23, 2022 4:15 pm
- Location: Netherlands
- Has thanked: 12 times
- Been thanked: 50 times
Re: XC90 inverter teardown and reverse engineering
PCB are here!
After desoldering two DC-DC converter boards for parts and transferring them to the new PCB. The power supply whas tested before I placed the other components. The 5V line whas 1.25V at first power up. The LM2596 I got is the adjustable type and not the fixed 5V one.
Added a couple resistors for now. It will be replaced at some point.
The inverter uses a 15V feed so I changed the DC-DC converter from the original design to a more powerful one.
This DC-DC converter is powered from the 12V instead of the 5V like it is in the original design. So I replaced it for a sepic type so it will work from 5V to 32V.
First problem: The capacitors are to high so the pcb dose not fit in the inverter housing. Will find some lower ones.
but first more testing to find out if there are more problems.
It looks a lot better than the prototype
After desoldering two DC-DC converter boards for parts and transferring them to the new PCB. The power supply whas tested before I placed the other components. The 5V line whas 1.25V at first power up. The LM2596 I got is the adjustable type and not the fixed 5V one.
Added a couple resistors for now. It will be replaced at some point.
The inverter uses a 15V feed so I changed the DC-DC converter from the original design to a more powerful one.
This DC-DC converter is powered from the 12V instead of the 5V like it is in the original design. So I replaced it for a sepic type so it will work from 5V to 32V.
First problem: The capacitors are to high so the pcb dose not fit in the inverter housing. Will find some lower ones.
but first more testing to find out if there are more problems.
It looks a lot better than the prototype
- johu
- Site Admin
- Posts: 6297
- Joined: Thu Nov 08, 2018 10:52 pm
- Location: Kassel/Germany
- Has thanked: 245 times
- Been thanked: 1303 times
- Contact:
Re: XC90 inverter teardown and reverse engineering
So this is an OI inverter board that drives the Volvo powerstage? And it also provides power to the gate drivers?
Support R/D and forum on Patreon: https://patreon.com/openinverter - Subscribe on odysee: https://odysee.com/@openinverter:9
- manny
- Posts: 62
- Joined: Sun Jan 23, 2022 4:15 pm
- Location: Netherlands
- Has thanked: 12 times
- Been thanked: 50 times
Re: XC90 inverter teardown and reverse engineering
Yes it drives the power stage. On the power stage board there is a isolated DC-DC converter with multiple outputs to power the IGBT drivers.
From memory it outputs +15V en -5V not a 100% sure.
I need to take the unit apart to reseal it. when i do i will take a picture of the power stage. The only photo I have is in the first post.
From memory it outputs +15V en -5V not a 100% sure.
I need to take the unit apart to reseal it. when i do i will take a picture of the power stage. The only photo I have is in the first post.
- manny
- Posts: 62
- Joined: Sun Jan 23, 2022 4:15 pm
- Location: Netherlands
- Has thanked: 12 times
- Been thanked: 50 times
Re: XC90 inverter teardown and reverse engineering
IT RUN'S !!!
Got the motor running on a 30V 5A power supply. I have the syncofs roughly set.
Changed R46 from 10k to 8k2 to lower the excitation signal. When I put the scope on the sin or cos lines the signal oscillated between -0.5V and 3.5V. I don't think that will be great for the FOC software that the sin and cos signals are clipping the ADC. After the resistor change the voltage stayed between 0.3 and 3.0V, much better.
The first connections I tried for the resolver did generated a good looking signal on the plot. But could not spin the motor with id current. After swapping the sin connections on the motor it spins with a couple of amperes.
The temperature sensors on the motor measure 104 ohm at 7°C. So maybe a pt100. Will check by running some hot water through the motor and checking the resistance.
The same thing for the inverter. Got to figure out what kind of temperature sensors are in there. Tried all the settings in the web interface but nothing made sense.
Got the motor running on a 30V 5A power supply. I have the syncofs roughly set.
Changed R46 from 10k to 8k2 to lower the excitation signal. When I put the scope on the sin or cos lines the signal oscillated between -0.5V and 3.5V. I don't think that will be great for the FOC software that the sin and cos signals are clipping the ADC. After the resistor change the voltage stayed between 0.3 and 3.0V, much better.
The first connections I tried for the resolver did generated a good looking signal on the plot. But could not spin the motor with id current. After swapping the sin connections on the motor it spins with a couple of amperes.
The temperature sensors on the motor measure 104 ohm at 7°C. So maybe a pt100. Will check by running some hot water through the motor and checking the resistance.
The same thing for the inverter. Got to figure out what kind of temperature sensors are in there. Tried all the settings in the web interface but nothing made sense.
- manny
- Posts: 62
- Joined: Sun Jan 23, 2022 4:15 pm
- Location: Netherlands
- Has thanked: 12 times
- Been thanked: 50 times
OI replacement PCB V1.1
Made a revision on the PCB there where a couple of small errors pin swaps etc.
Bigger problem whas that the board did not fit in the inverter. Caps and inductors for the 2 DCDC converters where to tall.
Replaced the LM2596 and XL6009 for parts with a higher switching frequency. With a higher frequency the passive components can be smaller.
Used a MP1584 for the 5V supply and a mt3608 for the 15V supply, Did not go with a sepic converter for the 15V supply this time. There is no need for running this controller on 24V or something.
Added a opamp circuit for the PT100 temp sensor in the motor. And changed the layout for the inverter temperature.
Added connectors for the HVIL and connected it to the E-stop input.
Removed a contactor output and used the pin for ground for the resolver excitation signal. to make the wiring simpler.
Moved some of the mounting holes. They did not lined up perfectly on the V1 board and still don't But the holes a oversized so it fits fine.
Have to change the code for the temp sensors.
The design is not final but this is good enough to get the project running.
Bigger problem whas that the board did not fit in the inverter. Caps and inductors for the 2 DCDC converters where to tall.
Replaced the LM2596 and XL6009 for parts with a higher switching frequency. With a higher frequency the passive components can be smaller.
Used a MP1584 for the 5V supply and a mt3608 for the 15V supply, Did not go with a sepic converter for the 15V supply this time. There is no need for running this controller on 24V or something.
Added a opamp circuit for the PT100 temp sensor in the motor. And changed the layout for the inverter temperature.
Added connectors for the HVIL and connected it to the E-stop input.
Removed a contactor output and used the pin for ground for the resolver excitation signal. to make the wiring simpler.
Moved some of the mounting holes. They did not lined up perfectly on the V1 board and still don't But the holes a oversized so it fits fine.
Have to change the code for the temp sensors.
The design is not final but this is good enough to get the project running.
- manny
- Posts: 62
- Joined: Sun Jan 23, 2022 4:15 pm
- Location: Netherlands
- Has thanked: 12 times
- Been thanked: 50 times
Re: XC90 inverter teardown and reverse engineering
On youtube I watched this video.
Under the hood I saw this.
at first i thought this is a weird place to mount the inverter. Then i realized my mistake, this inverter is for the starter/generator.
So i am not sure what the specs are for this inverter.
Under the hood I saw this.
at first i thought this is a weird place to mount the inverter. Then i realized my mistake, this inverter is for the starter/generator.
So i am not sure what the specs are for this inverter.
- manny
- Posts: 62
- Joined: Sun Jan 23, 2022 4:15 pm
- Location: Netherlands
- Has thanked: 12 times
- Been thanked: 50 times
Re: XC90 inverter teardown and reverse engineering
Today I spend multiple hours online to answer the question how much power can the inverter take.
With google image search I looked at a LOT of IGBT modules. At some point I found this.
This type of cooling is called Double Side Cooled (DSC).
searching for DSC module I came across this
The Borgwarner Viper looks like the module in the volvo XC90 inverter.
Looking for Viper modules I landed on the Borgwarner's website. Look what they make
https://www.borgwarner.com/technologies ... onics#cidd We are getting somewhere. After some more googling I found out that Borgwarner at some point bought Delphi how made the viper module.
Strike!!!
In a IEEE paper comparing DSC modules https://ieeexplore.ieee.org/stamp/stamp ... er=9769770
As far as I can tell its a 650V 500A IGBT module.
Later found this so maybe 750A https://www.power-mag.com/pdf/feature_p ... eature.pdf
Anyway I am pretty sure it will handle the 65kW I am looking for.
With google image search I looked at a LOT of IGBT modules. At some point I found this.
This type of cooling is called Double Side Cooled (DSC).
searching for DSC module I came across this
The Borgwarner Viper looks like the module in the volvo XC90 inverter.
Looking for Viper modules I landed on the Borgwarner's website. Look what they make
https://www.borgwarner.com/technologies ... onics#cidd We are getting somewhere. After some more googling I found out that Borgwarner at some point bought Delphi how made the viper module.
Strike!!!
In a IEEE paper comparing DSC modules https://ieeexplore.ieee.org/stamp/stamp ... er=9769770
As far as I can tell its a 650V 500A IGBT module.
Later found this so maybe 750A https://www.power-mag.com/pdf/feature_p ... eature.pdf
Anyway I am pretty sure it will handle the 65kW I am looking for.