ZombieVerter VCU: Difference between revisions
m (→Software) |
m (→Software) |
||
Line 101: | Line 101: | ||
''As of this writing , The [https://github.com/damienmaguire/Stm32-vcu/tree/GD_Zombie GD_Zombie] branch has fallen behind and substantially diverged from the primary code base. It has been suggested that work needs to be done to make the present firmware chip agnostic via detection routines. See this [https://openinverter.org/forum/viewtopic.php?p=34220#p34220 Zombieverter Development Thread forum post]. As of this writing that work has yet to be undertaken and remains to be organized and completed. And issue has be devoted to tracking this progress here: [https://github.com/damienmaguire/Stm32-vcu/issues/21 Issue #21]'' | ''As of this writing , The [https://github.com/damienmaguire/Stm32-vcu/tree/GD_Zombie GD_Zombie] branch has fallen behind and substantially diverged from the primary code base. It has been suggested that work needs to be done to make the present firmware chip agnostic via detection routines. See this [https://openinverter.org/forum/viewtopic.php?p=34220#p34220 Zombieverter Development Thread forum post]. As of this writing that work has yet to be undertaken and remains to be organized and completed. And issue has be devoted to tracking this progress here: [https://github.com/damienmaguire/Stm32-vcu/issues/21 Issue #21]'' | ||
Here is a link to a post with a pre compiled bin and hex for the GD_Zombie created by Damien 23/11/21; [https://openinverter.org/forum/viewtopic.php?p=34256#p34256 ZombieVerter VCU Support - Page 9 - openinverter forum] | Here is a link to a post with a pre compiled bin and hex for the GD_Zombie created by Damien 23/11/21; [https://openinverter.org/forum/viewtopic.php?p=34256#p34256 ZombieVerter VCU Support - Page 9 - openinverter forum] This is based on the 16/6/21 code not an update. | ||
Revision as of 13:11, 23 November 2021
Now available for general sale here.
Development continues and you can
follow and contribute along with the development here on the forum
Support is available via a separate thread on the forum
Introduction
Rather than crack open inverters and swap components about to drive them, what if we simply send them the messages they're expecting? This has been the case with a couple of existing designs (Nissan leaf inverter and GS450H) and thanks to the SAM3X8E microcontroller no longer being stocked by JLCPCB this project looks to take it further.
So rather than driving an inverter powerstage this version sends CAN for the Leaf inverter or Sync serial for the GS450H and of course can be expanded to any number of others. This will be the default firmware for all vcu products from now on and future hardware will support future fun packed stuff like FLEXRAY!!!
It's basically an rip off homage and builds on other people's hard work in the shape of the following projects
- STM32-CAR project
- Openinverter
- ISA library
- Leaf inverter driver by Celeron55
What we have as of now is the openinverter wrapper with things like :
- Throttle cal and mapping,
- Precharge and contactor control,
- Temp derating,
- BMS limits,
- for/rev/neutral control,
- Graphing and monitoring,
- Firmware updates via the web interface,
- Cruise control,
- Fuel gauge driver,
- etc
Hardware
So you've ordered your kit, first things first, watch the following two videos to assemble it.
Due to chip shortages (written summer 2021) the board isn't fully assembled so you will need to do some soldering, or take it to a local phone repair shop (or similar) who'll find soldering at this scale like playing with Duplo (Legos to you Yanks).
The current list of parts to be fitted:
CONN1
IC10 = MCP25625T
IC14 = TJA1020 OR MCP2004
IC19 = NCV7356
IC20 = TJA1055T
IC21, 22 = AD5160
IC27, 28, 29 = FAN3122
And the positions on the V1 board.
The enclosure kit links
You only need one, but below are two options - one with just the connector, and the other prewired with 3M long leads.
- Enclosure Kit with Header, connector and pins :
- Prewired connector with 3M leads :
Note that in addition to the VCU, the inverter and transmission, you will require a specific CANBUS connected shunt: Isabellenhütte Heusler
Installation
Pin Out Diagram
Further information for a GS450 system can be found here: Lexus GS450h Inverter
Note: In the software port 0 = EXT2 and port 1 = EXT
Software
GD variant:
Status as of November 2021
Early boards fitted with the GigaDevices GD32F107 aka "GD chip" require different firmware routines than STM32F107 equipped boards. See this Zombieverter VCU Support Thread forum post
The GigaDevices `GD32F107 was chosen as an alternative to the ST equivalent due to microchip shortages during the COVID-19 pandemic. A specific branch of firmware code for the GD32F107 variant is found here: https://github.com/damienmaguire/Stm32-vcu/tree/GD_Zombie However development of this variant was abandoned shortly after it's release.
As of this writing , The GD_Zombie branch has fallen behind and substantially diverged from the primary code base. It has been suggested that work needs to be done to make the present firmware chip agnostic via detection routines. See this Zombieverter Development Thread forum post. As of this writing that work has yet to be undertaken and remains to be organized and completed. And issue has be devoted to tracking this progress here: Issue #21
Here is a link to a post with a pre compiled bin and hex for the GD_Zombie created by Damien 23/11/21; ZombieVerter VCU Support - Page 9 - openinverter forum This is based on the 16/6/21 code not an update.
ST Variant:
https://github.com/damienmaguire/Stm32-vcu/tree/LIM_ST107
The VCU is configured by connecting to its wifi access point. For existing units this is something like SSID: ESP-03xxxx, no password. For future units (shipped after 20/10/21) this will be SSID: inverter PASSWORD: inverter123
Then navigate to 192.168.4.1 to see the huebner inverter dashboard.
Initial start-up and testing (Instructions for GS450H application)
Get familiar with the interface and check that all of the parameters make sense. If in doubt, make sure the default value is set. At each stage the current state of the system and any error can be seen on the interface, for example opmode and lasterr. Press refresh at the top of the screen to update the values.
You will need the HV supply connected, which can be a lower voltage (50-100V), current limited power supply for test purposes. Set udcmin to some value below that (e.g. 50V for a 100V supply) and udcsw to 10V lower than the supply.
- Apply the Ignition T15 in 12V signal. The relay supplying 12V to the inverter should now be on.
- Check the accelerator by applying it gradually and watching / refreshing the interface. You should see values at pot change as the pedal is pressed. potmin should be set just above where your off-throttle position is, and potmax just below the value seen at maximum travel. Same for pot2min and pot2max, if they are electrically connected. The resulting value as a 0-100 value can be seen at potnom.
If it does not show up, check for errors and check that throtmax is not set to zero!
- Apply the Start 12V signal for a short time. The pre-charge relay should turn on, and the voltage available at the inverter and the U1 input of the ISA shunt should quickly rise. If the udc reading goes above udcsw within 5 seconds then the main contactor(s) should close. If all is well, invstat should now be "on", opmode should be "run".
If you do not see a good value at udc, it may be that your external shunt is not connected properly or is not initialised.
If you do not see a good value at Invudc, it may be that the inverter is not powered, or the communication signals are not correctly wired.
- Once the contactors are on, select forwards direction. For example if dirmode is set to "Switch" then a 12V signal applied to the Forward input will work.
- Carefully apply the accelerator and the motor should begin to turn. Do not spin the motor up to any speed if you are using a test power supply.
Software update
As supplied, both the ESP32 (the wifi plug-in board) and the STM32 (main MPU) are pre-loaded.
The "UART Update" field on the GUI can be given a stm32_vcu.bin file to update the firmware. Note that at this time, loading via Windows 10 is suspect and may lock you out of the board. Ubuntu works best.
If you are unable to build your own, use the stm32_vcu.bin that Damien posted on 10/30/2021 in the ZombieVerter VCU Support thread.
By using the ST-Link V2 in-circuit loader, .hex files can be sent to the board to initialize a fresh STM32 MCU, or if it can't be loaded via the bootloader.
If you are unable to build your own, use the stm32_vcu.hex that Damien posted on 10/30/2021 in the ZombieVerter VCU Support thread.
The connections needed to use the ST-Link loader are shown below:
Initializing an ISA Shunt
Under Comms in the web interface, there is now an ISAMode option. By default its in "Normal". If you want to initialize a new shunt, connect it up, power on the shunt and vcu, select "Init", hit save parameters to flash. Power cycle the vcu and shunt at same time (they should be on same 12v feed anyway). The shunt will initialize. Select ISAMode "normal", save to flash again and reboot again. The shunt should now be up and running.
Supported OEM Hardware
- Nissan Leaf Gen1/2/3 Inverter/ motor
- nissan leaf gen 2 drive stack (inverter, dcdc, charger) gen 3 coming soon
- Lexus GS450H inverter / gearbox via sync serial
- Toyota Prius/Yaris/Auris Gen 3 inverters via sync serial
- chevy volt HV water heater
- BMW E46 CAN support
- BMW E39 CAN support
- BMW E65 CAN Support
- CCS DC Fast Charge via BMW i3 LIM