Operating the buck/boost converter for a low voltage CCS charging application

From openinverter.org wiki
Jump to navigation Jump to search

The aim of this project is to enable ‘low’ voltage battery packs (c. 120V) to be charged using CCS chargers, which will not operate below 200V and more typically operate around 400V.

The plan is to use the Buck/Boost converter found in the Gen 2 Prius inverter/converter module which the Prius uses to boost battery voltage to c. 400V to power the car’s motors, and to buck that voltage back down to pack voltage of c. 200V when in regen mode.

In this project, the plan is to boost the battery pack voltage to c. 400V, connect to the EVSE charger using a CCS controller, and then reduce the voltage boosting in order to draw current from the EVSE and charge the car’s battery pack. The CCS standard does not support charging below 200V so for battery packs lower than this, it's not been possible to use CCS charging. This project may change that and make rapid charging available to lower voltage packs but at said low voltages, current handling will be the limiting factor for charging speeds.


Step 1 is to demonstrate control of the Prius buck/boost converter. This is essentially complete.

Step 2 is to implement a ‘man in the middle’ solution, which will:

  • Control the buck/boost converter;
  • Control any battery-side contactors;
  • Receive charging requirements and restrictions from the BMS via CAN;
  • Translate these low-volage requirements into higher voltage requirements for the CCS controller to pass to the EVSE.

Theory

A schematic of the buck/boost converter and the inverter is below, with the converter boxed in red.

If the inverter stage were to be bypassed, as shown in blue, the boosted battery voltage could match that output from a CCS charger and in theory at least allow for a sub 200V pack to be charged.

Buck boost for CCS

A man-in-the-middle board will interface with the car's BMS and accept the low-voltage charging requirements and restrictions, and translate these into high voltage requirements and restrictions and pass this onto whatever CCS controller we end up using. The BMS will never 'know' it's taking in high voltage as it will only see the pack voltage levels that the buck/booster reduces the EVSE level to, and the EVSE will not 'know' its charging a sub 200V pack, since it sees c. 400V and is instructed to provide said volage by the CCS controller. I hope to use FOCCCI and CLARA for the CCS controller and at present the MITM board for controlling pre-charging and the buck/boost controller is a simple Teensy 4.1.

Buck-Boost converter

Control of the buck/boost converter

The buck/boost converter’s Intelligent Power Module is a Mitsubishi PM400DV1A400. It has an 16 pin input plug P/N: 1318386-1, crimps 1123343-1 from TE. These plugs are pretty small and necessitate a thin wire gauge (c. 20-23 AWG at a guess).

Pin numbering and colouring can be found in the Toyota wiring guide, p106 [find a link] and these connect into the 32 pin Prius Inverter plug as show in the wiki Prius Gen 2 Wiki with the exception of the modules power, ground and OVH wire (more on that below).

Block diagram from Toyota for the Mitsubishi IPM

Block diagram shown.

The pin numbering is shown below. Pin numbers start with pin 1 at the top, right side of the TE plug when looking at the wire entry side. So the red 12V power input is pin 8, and the orange voltage sense wire is pin 1.

Pin Toyota colour Toyota name Notes
1 x
2 x
3 Green/Red CT Temp dependent voltage signal
4 Purple VL 1:100 scaled isolated voltage of orange wire
5 Pink OVH IPM Enable line, 5V on, 0V off
6 Blue CPWM 0-100% duty cycle PWM 12V - 0V, 5kHz
7 Black GND Ground
8 Red 12V 12V
9 Orange ? Isolated voltage sense wire
10 x
11 x
12 ? OVL not known
13 white/red FCV Fault reporting line. More detail needed
14 black/red GCNV Held at ground, more detail needed
15 brown/white CSDN Shutdown line. If high, IPM shuts down. Held low.
16 x

Johannes has demonstrated control using his own boards and software, see Resources below. The following describes generic control, should you want to use your own harware/software. I have not yet used CT for temp sensing, FCV for fault reporting, and have had limited sucess with the VL voltage sensing (it may be the voltage I was testing on is just too low). Johannes does show it working.

Boosting control

Control is achieved as follows. To start up the boost module safely without it doing any boosting the CPWM duty cycle must be set to 0%, so 0V, the OVH line also held low, and GCNV, CSDN grounded. 12V is then applied to pin 8.

Use a pre-charge mechanism, feed the "low" voltage from the pack to the DC battery input posts of the inverter module. This will mean the big capacitor in the inverter/controller will see pack voltage, hence the need to pre-charge before applying the main pack voltage.

See Johannes' charger videos linked below and see the main Prius wiki to make sure you understand how the IPM works with regards to the top and bottom IGBTs, because it is easy to short out the battery pack.

Next, supply 5V to OVH and this enables the IPM. Then, by increasing the CPWM duty cycle, the battery voltage can be boosted and this higher voltage can now be seen on the DC rails (shown in blue in the Buck/Boost for CCS diagram above).

It's important that the CPMW is set to zero when starting and to ensure this, I used a very simple circuit with two transistors as shown, because during the boot/power on of the Teensy the output pin is floating until it's explicity set low, and this circuit makes sure that CPWM is set low from the beginning. To stop, remove 5V from OVH and open contactors to battery to remove input DC. There is a bleed resistor board in the inverter which will drain the voltage on the capacitor but take care none the less. It may be wise to reduce the boosting to zero before setting OVH low, I don't know.

Keeping PWM low during boot

Charging

Possible CCS take off points circled in red

The idea is to boost the battery voltage to the output voltage of the charger, then allow the charger to connect to either the DC bus rails circled below in red in picture labelled 'possible CCS take-off' (but confirmation needed on this), OR, to two of the MG1 terminals. The latter does mean that the current will flow through the diodes on the inverter circuit, and this may not be desirable because a) it might limit the current that can be drawn and b) it means keeping the inverter circuitry even though we don't use it for this application and could perhaps discard it to save space. Either way, once the voltages are matched, the charger can be allowed to connect to the DC bus rails (in theory without its own pre-charge circuitry but that might not be wise). Assuming the charger voltage and the boosted pack voltage are the same, no current will flow. By reducing the boosting by reducing the PWM duty cycle, current can be drawn towards the pack. The pack will see the bucked down voltage level and by controlling the amount of boosting the amount of current can also be controlled.

Note: the above is conceptual and I have been successful using very low voltages to test charging a 12V battery from an 18V battery. Scaling this up to charging a 120V battery from a 400V EVSE is a different kettle of fish altogether, and I could use some help from the community to confirm where best to connect the EVSE HV to (see blue lines on Buck/Boost for CCS schematic above) and general advice regarding safety and best practice.

Power

It is not clear how much power we can pass through the buck/boost converter, and hence what charging speeds we could achieve, however even if it’s as low as 10kW it’s an improvement over the 6.6kW typical max charge rate for a low voltage EV conversion and importantly means CCS chargers can be used when AC chargers are not available. It’s been suggested that the maximum current the Gen 2 inverter/controller can push out through the DC lines is 100A, which would limit the charging rate to c. 12kW maximum. The IPM may be rated at up to 400A Prius boost module PM400DV1A120 which may mean a higher rate is possible. More info needed.

It's also possible that two (or more) of these buck/boost converters could be run in parallel with essentialy the one control code.

Next Steps

The MITM needs to be able to communicate with the CCS controller, and hopefully the FOCCCI and CLARA CSS projects here on OI will be suitable. I hope to establish what Clara needs for battery pack info, and its operational flow chart so I can work out the logic for the MITM and how it will interface between Clara and my BMS. Updates to follow.

Resources

Johannes has some videos, linked below, showing AC charging using the buck/boost controller and Damien also demontrates it. These things are potentially pretty dangerous so do watch these first.

Damien's charging demonstration

Johannes' charger

Johannes' Lab Update #42

Johannes's Lab Update #45

Any suggestions/ideas/corrections very welcome.

forum discussion thread