This project was released in endless-sphere forum, and it has quite some history, and previous hackaday coverage.
Here is the forum thread where the discussion takes place: https://endless-sphere.com/forums/viewtopic.php?f=30&t=89056&start=250#p1458465
What is it?
It is a 3 phase motor controller. It takes a DC voltage and using PWM generates 3 sinewaves for driving a motor, conceptually similar to those small ESC for drones and bikes. The difference is that this particular setup can safely work with a 400V battery, flowing 300A all year long.
Our work has been focused in the control board, which is capable of driving way more than 400V and way more than 300A, those are defined by the powerstage (IGBTs, DC Link Capacitor, etc)
We chose EconoDual IGBT modules because its a popular package, they come in many voltage and current levels (from 600V to 1700V, and from 100A to 800A), from many brands, in both IGBT and SiC technology and with available off the shelf gate drivers matched for them.
Because we want to be part of the boldest, most spectacular builds, there is no other open platform capable of driving a 100kW-class motor. All you can get are proprietary controllers with high markups and no way to tweak them to your needs, and more importantly, you don't get to see the inner workings to evaluate if the quality is up to your standards, both in software and hardware.
The new wave of EV companies have been tied to proprietary motor drives, we provide our customers with a chance to deeply integrate the motor drive into their systems, offering a unique chance of verticalization within their product. This saves costs, and improves the quality and integration of their vehicles.
Opening up Axiom also showcases the quality of our work and makes our team a desirable contractor, there are not many people in the world with the set of skills and knowledge to produce a high performance drive unit.
Axiom is also made possible thanks to the VESC base platform growing steadily to the point we can take it for the first time to the next level, from a hobby tool to a full EV-capable piece of technology.
How it works?
As we said, long story short, it takes your battery voltage (HighVoltageDC) and using PWM creates 3 sinewaves spread 120° for driving a motor. Actually, it uses Space Vector Modulation (SVM), which reduces the amount of switching required, and hence the switching losses.
Despite VESC supports driving motors in both trapezoidal and Field Oriented Control control modes, our boards only work in FOC. Its just better suited for the application.
FOC is about aligning your sinewaves with the actual field inside the motor, and controlling the machine with a vector signal composed on a torque-generating current in quadrature with the flux (Iq), and a flux-generating current (Id). There are lots of good resources about this topic, and you can see the actual lines of code performing the transformations here.
Along with a control loop, you need a user interface to configure the motor parameters, and it will be your tool for debugging problems and getting to know your machine. Hats off to Benjamin's VESC Tool:
Now that you have some software in place, a high power application will need some very particular hardware:
Here is our take at this:
- Mechanically matched to EconoDual/17mm IGBT modules. More compact, fewer assembly steps, less wiring and crimping, no adapter parts.
- Isolated HVDC and phase voltage monitoring integrated on board, direct connection to the IGBTs for cleaner signal and faster assembly.
- DC Link Capacitor discharge resistor on board. Safety requirement, discharges it when board is not powered.
- RF connectors to measure analog signals. This provides simulation-like signal quality, extremely good for development.
- Individual IGBT fault monitoring. You can tell which IGBT faulted.
- Individual fault leds for overvoltage, overcurrent and overtemperature.
- Individual IGBT temperature monitoring.
- A Lattice iCE40 FPGA, using an open source toolchain for sinthesis and HDL development.
- The FPGA is continuously monitoring all fault inputs. If any fault is asserted, all PWM activity is shut down.
- FPGA supervises the PWM generated by the MCU. Shuts down PWM if a shoot-through command is detected.
- RJ45 ports. These are not ethernet, they provide a shielded, twisted pair wiring in a standard off the shelf fashion.
- Dual analog Accelerator inputs.
- Dual isolated CANbus interfaces (firmware no there yet for the 2nd interface).
- Resolver support.
- BiSS absolute encoder support (firmware under dev).
- Sin/Cos encoder support.
- Supplies a regulated 15Vdc to the gate drivers, and monitors that voltage.
- 2 DAC outputs with RF connectors to peek inside the firmware.
- 2 Open drain outputs for driving small loads or relays, for a pump for example.
- More fuses, more TVS, more EMI filtering.
Here are some high-res images for reference:
Poking your critical analog signals with RF connectors should be taught in school:
An old prototype that can show the isolation cleareances. With newer boards you don't see through the thick soldermask
A sensorless full speed reversal with an IGBT-based powerstage: (yellow trace is the observer phase being output to a DAC channel). You don't get to see this often
Unless it is an Axiom! Many full speed reversals:
This is an exercise on the signal quality of the the board, in practice we strongly suggest to use absolute encoders on high power builds.
Crystal clear signals measured right at the ADC pins, and phase angle sent over the DAC to the scope
Clear fault reporting
Schematic top level:
Click on the link for an interactive BOM viewer: http://paltatech.com/files/ibom.html
More data, board datasheet and images will be available at www.powerdesigns.ca, as well as schematic and other design files. The build in the pictures is designed for 400V 300Amp continuous operation.
The BIGGEST news about this project is the formal presentation of the team that made it possible. Forum legends HighHopes and Arlo1 are deeply involved in the design, we have been working together on getting this control board out, and we founded www.powerdesigns.ca to centralize all the contract work we have been doing together as separate companies.
So what does this means? Arlo1 provides the field experience with his awesome, record-setting builds and tooling while HighHopes provides deep insight, his power systems knowledge and hard math to every design decision, while Maxi and I do what we do best, engineering, CAD, firmware and manufacturing. And remember this is standing on years of Benjamin Vedder's firmware development, to which we are already collaborators.
PowerDesigns should provide the assembled boards to anyone interested. We can offer bare PCBs on demand but the risk is so high and I didn't see a successful build when people have to assemble the boards, so its better if we take care of the assembly. Its even much better if we provide the complete motor controller, we are working on providing that option.
Maxi (co-founder engineer at paltatech) and me switched gears some months ago to firmware developing and testing when the hardware design was settled, meanwhile some alpha users start putting some miles on this, not many miles actually, we are still craving for testers and we don't claim it comes without bugs. All the code we provide for these high power applications is carefully crafted for direct integration into the VESC codebase so it stays public and well maintained.
Hardware-wise, we have math for finely setting our trip points, which we can easy tune at will by changing resistors, and the FPGA is a very powerful addition for co-processing and safety functions. We went as far as designing our own DC Link with an OEM, shown in the pictures and still under testing.
Its quite a compact and tidy unit.
This is an awesome platform for research and for high power builds, I don't know of any controller at this power level, with this quality and attention to detail while open to the user to modify the firmware at will.
We have been going on for a long way without external feedback, so I'm eager to hear what you guys think. Just remember this is not meant to be a cheap controller, its meant to drive very expensive and dangerous equipment, so it should be a safe and solid piece of hardware.