The ZombieVerter VCU Project

Locked
Dilbert
Posts: 410
Joined: Mon Aug 12, 2019 7:21 pm
Location: Dublin, Ireland
Been thanked: 4 times

Re: The ZombieVerter VCU Project

Post by Dilbert »

I guess I could apply a high voltage to the hv bus and see if we get the values in the same location as the mth frame.

I wonder did they expand the size of the frame for the 3 motor systems
User avatar
Jack Bauer
Posts: 3563
Joined: Wed Dec 12, 2018 5:24 pm
Location: Ireland
Has thanked: 1 time
Been thanked: 87 times
Contact:

Re: The ZombieVerter VCU Project

Post by Jack Bauer »

Huh, that is a weird one. I have a bunch of logic boards here inc a yaris one if you get stuck.
I'm going to need a hacksaw
Dilbert
Posts: 410
Joined: Mon Aug 12, 2019 7:21 pm
Location: Dublin, Ireland
Been thanked: 4 times

Re: The ZombieVerter VCU Project

Post by Dilbert »

On the yaris MTH frame the DC bus voltage has moved up 17 places to 117-118, so it looks like they shoved in an extra 17 bytes into the frame some where and pushed everything up. I'm wondering did they just pad in a 3 zero's near the end to bring the total up to 140.

I've an excel sheet on to the go to map out the HTM and MTH frames for all the different variants.
Dilbert
Posts: 410
Joined: Mon Aug 12, 2019 7:21 pm
Location: Dublin, Ireland
Been thanked: 4 times

Re: The ZombieVerter VCU Project

Post by Dilbert »

Jack Bauer wrote: Wed Mar 17, 2021 6:00 pm Huh, that is a weird one. I have a bunch of logic boards here inc a yaris one if you get stuck.
Thanks, i'll see how i get on with the OEM board, it would be nice to figure everything out for the different models.

I'm struggling to get the the VCU opmode to 1, it is stuck in pre-charge (2) as it thinks the pot is pressed. I've tried lots of different min/max values. It was returning a potnom of 1, now it's returning a potnom of 4.09.

The CalcThrottle( ) function looks a bit strange, i'm wondering am i seeing some sort of brake value being returned from this function. I think there's a problem with some of my brake/throttle parameters.

I'm using a BMW throttle pedal connected to the main pot input and it sits at 240 when not pressed. What min/max values are people using?
User avatar
Jack Bauer
Posts: 3563
Joined: Wed Dec 12, 2018 5:24 pm
Location: Ireland
Has thanked: 1 time
Been thanked: 87 times
Contact:

Re: The ZombieVerter VCU Project

Post by Jack Bauer »

Here are my params from the Grey Goose. Driving fine on latest firmware.
Attachments
params_march21_driving_gg.json
(637 Bytes) Downloaded 87 times
I'm going to need a hacksaw
Dilbert
Posts: 410
Joined: Mon Aug 12, 2019 7:21 pm
Location: Dublin, Ireland
Been thanked: 4 times

Re: The ZombieVerter VCU Project

Post by Dilbert »

Perfect, i'll try them in the morning. I can get it to work by removing some of the code, but didn't want to go down that route quite yet...
User avatar
Jack Bauer
Posts: 3563
Joined: Wed Dec 12, 2018 5:24 pm
Location: Ireland
Has thanked: 1 time
Been thanked: 87 times
Contact:

Re: The ZombieVerter VCU Project

Post by Jack Bauer »

Assuming you are not using a isa shunt you need to set udcsw and udcmin at 0.
I'm going to need a hacksaw
Eflyers
Posts: 26
Joined: Thu Apr 11, 2019 4:08 pm
Location: NW USA

Re: The ZombieVerter VCU Project

Post by Eflyers »

Jack Bauer wrote: Sat Mar 13, 2021 3:07 pm Here are some connectors and Toyota part number for connecting to the Prius/Yaris gen 3 inverter. Still need to find the tails for the small signal wires and the resolver plug.
For the resolver plug PN on my Prius C(similar to the Yaris?), I come up with G9266-47010. It is an easy push and snap into the main plug and lever (G9260-47010 and G9261-47010) you have. Did the lever come with the G9260-47010 plug housing?
User avatar
jason_arnold
Posts: 21
Joined: Wed Sep 11, 2019 4:42 pm
Location: Canada
Has thanked: 1 time
Been thanked: 2 times

Re: The ZombieVerter VCU Project

Post by jason_arnold »

Dilbert wrote: Sat Mar 13, 2021 5:17 pm If the whole connector is Sumitono, the only crimp that seems close to the right pitch for the signal wires is the type 1.0II or 1.0III, which are 1.8mm wide...
Hold on... Sumitomo? I thought Johannes had established a while back that the mating piece to this housing (i.e. the infamous unobtainium PCB mount plug) was this part from TE (1939561-3): https://www.te.com/usa-en/product-1939561-3.html

SOURCE: https://www.diyelectriccar.com/threads/ ... st-1027951
User avatar
jason_arnold
Posts: 21
Joined: Wed Sep 11, 2019 4:42 pm
Location: Canada
Has thanked: 1 time
Been thanked: 2 times

Re: The ZombieVerter VCU Project

Post by jason_arnold »

Eflyers wrote: Thu Mar 18, 2021 9:34 pm
Jack Bauer wrote: Sat Mar 13, 2021 3:07 pm Here are some connectors and Toyota part number for connecting to the Prius/Yaris gen 3 inverter. Still need to find the tails for the small signal wires and the resolver plug.
For the resolver plug PN on my Prius C(similar to the Yaris?), I come up with G9266-47010. It is an easy push and snap into the main plug and lever (G9260-47010 and G9261-47010) you have. Did the lever come with the G9260-47010 plug housing?

Can confirm that the resolver plug on my salvage gen 3 Prius plug is indeed G9266-47010:
Image
Eflyers
Posts: 26
Joined: Thu Apr 11, 2019 4:08 pm
Location: NW USA

Re: The ZombieVerter VCU Project

Post by Eflyers »

I'm not sure if we are discussing the same connectors, but the housings for the ones in Damian's Mar 13, 2021 8:07 am post, that fit the outside logic and resolver connectors for the Gen3, are from Tyco Electronics, or TE as the company is now known as. Enlarge the second photo, and "Tyco Electronics" is cast on the gray lever.
User avatar
arturk
Posts: 146
Joined: Wed Oct 02, 2019 3:58 am
Location: United States, MD
Has thanked: 1 time
Been thanked: 2 times

Re: The ZombieVerter VCU Project

Post by arturk »

Dilbert, I played with regen over the last few days. This was mostly tuning exercise as I wanted to find best settings for my setup (Jaguar XJR with Lexus GS450h drivetrain controlled by Version 2 VCU. Also, I am extremely excited to finally get regen working, this is game changer.

I started with your CalcTorque function and added additional functionality like torque mapping and ramps.

1) Priorities as currently setup work great.
2) As far as other parameters, I found that we do not want any regen below 100rpm. In fact we want to sharply reduce regen from 1000rpm down to 0 at 100rpm (otherwise bad things happen). In my code below I use interpolation function to map regen torque based on RPM. My table is just a suggestion but the idea is that you do not want to much regen at low RPM to prevent excessive braking. At the top end you may want to limit current going back into batteries. My regen values in the table are between 0 to 100 and are later multiplied by factor of 0 - 10 to simplify calculations. BTW, code is horrible but I wanted to get adjustment capacities implemented so I could work on tuning. Hopefully you can come up with right way to implement it.
3) In addition to mapping of the regen torque based on RPM, ramp is needed to gradually ramp up torque to make smooth transitions and reduce wear and tear of the drivetrain. For example, during engine braking simulation without ramp we get "knocking" caused by play between all the gears between motors, drive axles (primarily real diff in my setup, but also Lexus planetary and input shaft locking mechanism). Introducing 200-300ms ramp makes for smooth transition between acceleration and regen and completely eliminates any unwanted noises. In case of braking, by the time you step your foot on brake pedal, drivetrain is already setup for braking so there would be no noise but braking is too aggressive which makes for unpleasant experience and puts unnecessary stress on drivetrain components. In my setup I do not have brake pressure sensor so ramp is the only option. In setup with sensor I guess ramp may be replaced by proper mapping.

Hopefully this will be helpful in some way. If more test scenarios are needed I will be happy help.
I should get my Version 3 board soon and them I will be able to test "official" ZombieVerter software.

Here is the code:

Code: Select all

short BrakeFactor = 4; 		// Regen brake factor (0-10)
short EngineBraking = 1;	// Engine braking factor (0-10)
long RampDuration = 300;   	// Regen ramp duration [ms]
double xRegenRPM[10] = {0,100,1000,2000,3000,4000,5000,6000,8000,10000};
double yRegenTRQ[10] = {0,  0,  40,  60,  80, 100, 100, 100,  80,   60};

short CalcTorque( short mappedTorque, short brake, short motorSpeed)
{
  short torque;

  if(brake > 0)
  {
    if(motorSpeed > 100) //moving forward
    { 
      torque = (-1) * RampUpRegen(BrakeFactor * Interpolation(xRegenRPM, yRegenTRQ, motorSpeed, true));
    }
    else
    {
      torque = 0;
    }
  }
  else if((mappedTorque > 0) || (mappedTorque < 0))
  {
    //reset regen ramp
    ResetRgenRamp();

    //let the mappedTorque set the torque directly
    torque = mappedTorque;
  }
  else //no throttle or brake applied so see if we need a negative torque
  {   
    if(motorSpeed > 100) //moving forward
    {
      //minimum torque to simulate engine braking
      torque = (-1) * RampUpRegen(EngineBraking  * Interpolation(xRegenRPM, yRegenTRQ, motorSpeed, true));
    }
    else //not moving
    { 
      torque = 0;
    } 
  }
  return torque;
}
Attached is log with torque, MG2 speed and current from my last a drive cycle, I logged those mainly because I was curious to see relation of regen torque and current at different rpms.
Attachments
Regen2RampUp500.xlsx
(97.04 KiB) Downloaded 102 times
1998 Jaguar XJR, GS450h drivetrain, 48kWh/96s BMW battery
Dilbert
Posts: 410
Joined: Mon Aug 12, 2019 7:21 pm
Location: Dublin, Ireland
Been thanked: 4 times

Re: The ZombieVerter VCU Project

Post by Dilbert »

That looks good, yes the ramp up/down of the torque makes sense to give a smooth transition between driving and braking.

I got my VCU to work here on the bench, there is possibly an issue if the ISA shunt is not connected. The issue i saw is:- ProcessThrottle( ) is only called when in run mode, but to get from mode 2 (pre-charge -> run), the pot must be at zero, but the pot is not being read when in pre-charge mode.

I'm now seeing a potnom value so will test with the motors over the weekend :) i'm not expecting too much as we don't know if the HTM frame has changed or not from the prius gen 3....
User avatar
Jack Bauer
Posts: 3563
Joined: Wed Dec 12, 2018 5:24 pm
Location: Ireland
Has thanked: 1 time
Been thanked: 87 times
Contact:

Re: The ZombieVerter VCU Project

Post by Jack Bauer »

Are you using the latest firmware from github?
I'm going to need a hacksaw
Dilbert
Posts: 410
Joined: Mon Aug 12, 2019 7:21 pm
Location: Dublin, Ireland
Been thanked: 4 times

Re: The ZombieVerter VCU Project

Post by Dilbert »

Yep i pulled the latest down earlier in the week....

It was the check at line 302 stopping me going into run, due to the param::potnom variable indicating the pot was being pressed, but param::potnom hadn't been set
if ((stt & (STAT_POTPRESSED | STAT_UDCBELOWUDCSW | STAT_UDCLIM)) == STAT_NONE)

possibly param::potnom could be zero, depending on how the CPU comes up, i'm not sure if there's default values for them parameters or not.
User avatar
EV_Builder
Posts: 1199
Joined: Tue Apr 28, 2020 3:50 pm
Location: The Netherlands
Has thanked: 16 times
Been thanked: 33 times
Contact:

Re: The ZombieVerter VCU Project

Post by EV_Builder »

Which "SPARE IO" do we have on this VCU?

I bought a 3.6Kw Charger (2016 2017 2018 2019 Chevrolet Volt OEM 3.6kW Battery Pack Charger 24281923) from Ebay time ago and wanted to look if i could get one going?
Later i can then add another one (or more) if needed.

Ok, seems like it needs 2 PWM inputs (measure duty cycle) and one PWM output to control charging.
12Volts if i'm correct.

@jack_bauer ; can you elaborate?

I have the charger so if we have the pins i can write the code and we add this charger.
That could be step one. If we have a small CAN board with couple of IO's i'm willing to make a small SLAVE CAN controller, then we can just mount multiple of them and control them over CAN.

Idea? They are water cooled and have 95% eff.
Converting an Porsche Panamera
see http://www.wdrautomatisering.nl for bespoke BMS modules.
User avatar
Jack Bauer
Posts: 3563
Joined: Wed Dec 12, 2018 5:24 pm
Location: Ireland
Has thanked: 1 time
Been thanked: 87 times
Contact:

Re: The ZombieVerter VCU Project

Post by Jack Bauer »

The new hardware rev based on the 100 pin part will have lots of options for I/O. Expect in the next few weeks. Much appreciate the offer:)
I'm going to need a hacksaw
Dilbert
Posts: 410
Joined: Mon Aug 12, 2019 7:21 pm
Location: Dublin, Ireland
Been thanked: 4 times

Re: The ZombieVerter VCU Project

Post by Dilbert »

Would anyone have access to toyota wiring diagrams? i'm looking to get a yaris hybrid diagram.

I was thinking of buying a yaris power control ECU (hybrid), to help reverse engineer the serial format. They are very cheap on line, but looking at the connections, it doesn't seem to generate MTH, HTM, CLK or REQ lines. These must be coming from the engine ECU on this model, probably for cost reasons.

So it looks like they went for a tighter integration and reduced cost. I wonder does that explain the larger data frame, feeding more data back to the engine ECU about what's happening.
User avatar
EV_Builder
Posts: 1199
Joined: Tue Apr 28, 2020 3:50 pm
Location: The Netherlands
Has thanked: 16 times
Been thanked: 33 times
Contact:

Re: The ZombieVerter VCU Project

Post by EV_Builder »

Jack Bauer wrote: Sat Mar 20, 2021 3:35 pm The new hardware rev based on the 100 pin part will have lots of options for I/O. Expect in the next few weeks. Much appreciate the offer:)
Ok, can we tighten this a bit more? When could i have one at home? If i order?

Did you check / use my code snippet?
Do we need to implement this for all can messages?
Do we need to improve the snippet?

It's hard to help without a bit more feedback etc.
Converting an Porsche Panamera
see http://www.wdrautomatisering.nl for bespoke BMS modules.
User avatar
Jack Bauer
Posts: 3563
Joined: Wed Dec 12, 2018 5:24 pm
Location: Ireland
Has thanked: 1 time
Been thanked: 87 times
Contact:

Re: The ZombieVerter VCU Project

Post by Jack Bauer »

EV_Builder wrote: Sat Mar 20, 2021 5:59 pm
Jack Bauer wrote: Sat Mar 20, 2021 3:35 pm The new hardware rev based on the 100 pin part will have lots of options for I/O. Expect in the next few weeks. Much appreciate the offer:)
Ok, can we tighten this a bit more? When could i have one at home? If i order?

Did you check / use my code snippet?
Do we need to implement this for all can messages?
Do we need to improve the snippet?

It's hard to help without a bit more feedback etc.
I'm not doing preorders and I can't give an exact time. The thing I ask people to understand is that I'm just one person keeping a lot of things in balance. I've not had a chance as yet to test your code but I will do so asap. Its intended use is for the charger controller api messages only at this time.
I'm going to need a hacksaw
User avatar
Jack Bauer
Posts: 3563
Joined: Wed Dec 12, 2018 5:24 pm
Location: Ireland
Has thanked: 1 time
Been thanked: 87 times
Contact:

Re: The ZombieVerter VCU Project

Post by Jack Bauer »

And on that subject :) The new h/w will incorporate swcan for controlling things like the volt/ampera cabin heater now installed in the grey goose.
Attachments
2021-03-19 12.51.18.jpg
I'm going to need a hacksaw
User avatar
EV_Builder
Posts: 1199
Joined: Tue Apr 28, 2020 3:50 pm
Location: The Netherlands
Has thanked: 16 times
Been thanked: 33 times
Contact:

Re: The ZombieVerter VCU Project

Post by EV_Builder »

Some data about this charger (perhaps we need to split this off to a seperate section: Chrevolet Hardware)..

P3 HVdc = 6.25*(pwm%-10)
P10 Vac = 2.75 * pwm + 32.5
P4 controls the charge power/current
12V 100Hz PWM is used for the I/O
Chevy Volt Gen 2 Charger Info
3.6kW, Gen 1 Charger was 3.3kW
Approximately 5% more efficient than the Gen 1 (95%)
Located in the trunk beside the DC-DC Converter (AKA 14V Power Module, AKA APM)
Controlled and monitored by HPCM2 through PWM signals, Gen 1 was controlled through CanBus
Water cooled.
Given the efficiency and the flat top and bottom perhaps cooling with heat sinks and fans would be sufficient

The Chevy Volt Gen 2 Service manual is accessible for a minimal fee ($10 for 24 hours) at repairprocedures.com . Sign up, find the sections of interest and print them to pdf files for future use/study.


Control and Sensing Pins
The control and sensing of the device appear to be fairly straight forward. The unknowns are indicated in the pinout listing below. There may also be some required timing/order that the input signals, HVDC, AC signals are applied.
Looking into the cable connector (see img below) Top row (L->R) pins 6 to 1, bottom row pins 12 to 7 the pins are:

P2 BK - Ground

P3 VT/WH - Sensed HVDC voltage (PWM)
- DutyCycle - 0V = 10% greater than or equal 500V = 90%
- thus Vhvdc = 6.25*(pwm%-10)
- Frequency?
- 5V?


P4 YE/GY - HV Charging Control (PWM)
- Frequency?
- 5V?
- Duty Cycle Range?
- Controlling:
- amps or watts?
- AC input or DC output?
- Seems likely to be AC amps in order to stay within Elec code limits (i.e. liability)?
- The Controller in HPCM2 may calculate required watts then convert to amps and clip to current limits​

P9 RD/L-BU - Battery + (12v)

P10 L-GN/GY - Sensed AC Voltage (PWM)
- Duty Cycle - Less than or equal to 60V = 10% Greater than or equal to 280V = 90%
- thus Vac = 2.75 * pwm + 32.5
- Frequency?
- 5V?​

P11 L-BU/YE - 12V Charger Enable Signal
Converting an Porsche Panamera
see http://www.wdrautomatisering.nl for bespoke BMS modules.
User avatar
mdrobnak
Posts: 692
Joined: Thu Mar 05, 2020 5:08 pm
Location: Colorado, United States
Has thanked: 1 time
Been thanked: 5 times

Re: The ZombieVerter VCU Project

Post by mdrobnak »

Jack Bauer wrote: Sat Mar 20, 2021 6:27 pm And on that subject :) The new h/w will incorporate swcan for controlling things like the volt/ampera cabin heater now installed in the grey goose.
Yes please! That's great.

-Matt
User avatar
EV_Builder
Posts: 1199
Joined: Tue Apr 28, 2020 3:50 pm
Location: The Netherlands
Has thanked: 16 times
Been thanked: 33 times
Contact:

Re: The ZombieVerter VCU Project

Post by EV_Builder »

Jack Bauer wrote: Sat Mar 20, 2021 3:35 pm I'm not doing preorders and I can't give an exact time. The thing I ask people to understand is that I'm just one person keeping a lot of things in balance. I've not had a chance as yet to test your code but I will do so asap. Its intended use is for the charger controller api messages only at this time.
I know, i know. I'm just trying to actually help you/us. But i don't have the hardware yet to help you.

Do you allow adaptation / copying / modifying of the MIM project? To become a CAN IO module?
Converting an Porsche Panamera
see http://www.wdrautomatisering.nl for bespoke BMS modules.
User avatar
arturk
Posts: 146
Joined: Wed Oct 02, 2019 3:58 am
Location: United States, MD
Has thanked: 1 time
Been thanked: 2 times

Re: The ZombieVerter VCU Project

Post by arturk »

Jack Bauer wrote: Sat Mar 20, 2021 3:35 pm The new hardware rev based on the 100 pin part will have lots of options for I/O. Expect in the next few weeks. Much appreciate the offer:)
This is great Damien!
As workaround I currently have 2 VCU controllers (version 2) in my conversion, one is dedicated to drivetrain and the other one handling all other stuff (accessories, gauges, ...). Both communicate over CAN.
We definitely need a lot more general purpose low-side switches (high-side are handy too), PWM, analog inputs and communication busses.
1998 Jaguar XJR, GS450h drivetrain, 48kWh/96s BMW battery
Locked