Axiom: a 100kW+ motor controller

marcos

1 kW
Joined
Nov 19, 2016
Messages
348
/***************************************************************************************/
Jump to page 11 for the latest hardware!
https://endless-sphere.com/forums/viewtopic.php?f=30&t=89056&start=250#p1458465
/***************************************************************************************/


Hi folks,
For some months I've been working on a fork of VESC thanks to resources of pymco.fr and paltatech.com The original VESC is an open source inverter for up to 50v and around 3-5kw motors, and Benjamin (vesc creator) helped me adding firmware support to this new hardware.

This one decouples the control logic from the gate drivers, so we can use an external gate driver for high power applications. We have a second revision working with 600V 600A IGBT modules and +/-460A current sensors, with an extensive set of hardware protections to avoid fires related to firmware bugs.


(click to enlarge)

VESC-controller_schematic.png


For a quick glance at the schematic, here it is
https://eyrie.io/board/6f397be723754f039735d8350260c2c0?active=schematic
And layout is here
https://eyrie.io/board/6f397be723754f039735d8350260c2c0?active=layout

Design files are in the github repo http://www.github.com/paltatech/VESC-controller

This board is made with kicad, an open source EDA. Head to http://www.kicad.org for more info about that.

Screenshot of the user interface, IMO the best GUI out there.

(click to enlarge)

And a quick video to show it spinning a motor. Its not a big motor, its not a good video either and needs some finer tuning, but that will happen on the real motor.

[youtube]7G35nryvwx8[/youtube]

A customer testing at 300V 300 phase amps
[youtube]8U7v-7AtHAY[/youtube]


These are general VESC features:

* Hardware and software is open source.
* Plenty of CPU resources left.
* STM32F4 microcontroller.
* Sensored and sensorless FOC wich auto-detection of all motor parameters
* Firmware based on ChibiOS/RT, a real time operating system.
* PCB size: 160mm x 90mm.
* Current and voltage measurement on all phases.
* Regenerative braking.
* DC motors are also supported.
* A GUI that is easy on the eyes.
* Adaptive PWM frequency to get as good ADC measurements as possible.
* Good start-up torque in the sensorless mode (and obviously in the sensored mode as well).
* The motor is used as a tachometer, which is good for odometry on modified RC cars.
* Duty-cycle control, speed control or current control.
* Seamless 4-quadrant operation.
* Interface to control the motor: PPM signal (RC servo), analog, UART, I2C, USB or CAN-bus.
* Consumed and regenerated amp-hour and watt-hour counting.
* Optional PPM signal output. Useful when e.g. controlling an RC car from a raspberry pi or an android device.
* The USB port uses the modem profile, so an Android device can be connected to the motor controller without rooting. Because of the servo output, the odometry and the extra ADC inputs (that can be used for sensors), this is perfect for modifying an RC car to be controlled from Android (or raspberry pi).
* Adjustable protection against
Low input voltage
High input voltage
High motor current
High input current
High regenerative braking current (separate limits for the motor and the input)
Rapid duty cycle changes (ramping)
High RPM (separate limits for each direction).
* When the current limits are hit, a soft back-off strategy is used while the motor keeps running. If the current becomes way too high, the motor is switched off completely.
* The RPM limit also has a soft back-off strategy.

Added features in this board:
* Hardware overcurrent protection
* Hardware pwm overlap elimination for preventing shoot-troughs
* Differential analog measurements for better noise immunity on all motor inputs (3 phase voltages, 3 currents, and dc bus voltage)
* Temperature input for each half bridge
* Isolated CAN bus for proper control
* Resolver interface (no firmware support yet)
* 9v to 30v supply voltage
* Integrated power supply for gate drivers. 15v or 24v output

This not yet a proven product, but a placeholder so if anyone wants to develop an inverter like this its possible to build upon it rather than start from scratch. I'll be making some changes in the layout and modifying bits of the design.

And if thats not enough, here is a kitten. I can get you an unicorn if you want.
kitten.png



Just remember the main difference between the original VESC and this: This one can kill you.

--
Marcos
 
Oh, and here is a photo of one of the first protoypes, in very high resolution.

http://paltatech.com/files/VESC-controller_0001.jpg
This first proto had a wrong footprint that I need to fix for the next revision.
 
coleasterling said:
This looks really exciting!! Are you having more boards made?
It needs a second prototype before sending boards to pcba to be sure there are no bugs left. The first was assembled in our lab and I reckon I'll hand assemble the second prototype as well, and then we can send it to a pcba house.

This inverter uses infineon igbts and power integration's gate drivers, in the repo there is a directory with the interface board that provides the connections to the high power stuff. I guess people should use an interface board like that.
 
Great!! I would like to use an OpenSource motor controller and I did read VESC firmware a few times. In fact I did simplified FOC for electric unicycles with a more limited STM32.

The only thing I don't like VESC is the high price. Can you please tell which is the estimated final price??
 
This is exciting. I don't know a ton about controllers, but would love to learn how to implement this in future builds. Subscribed.
 
If you're concerned about price you might be in the wrong state of mind to build a 150kw motor controller :)

This board has some $ spent in protecting the powerpass ($$$$). I also tend to care a lot about not dying, so every safety feature is welcome.

The small VESC is not meant to be cheap, its meant to be limitless, and this fork is about that.

Having said that, its not particularly expensive to build. This batch was expensive because it took me 5 hours to assemble and test each board.
 
marcos said:
If you're concerned about price you might be in the wrong state of mind to build a 150kw motor controller :)
Thanks I understand now. Would like to find an OpenSource and relative cheap controller with 2 phases current sensors and with ARM cortex M3 or M4 for doing FOC and for lower power motors like 500W or a bit more. The cheap Kunteng controllers have only 1 phase sensor and STM8 8 bits and with that can't do FOC...
Need to keep finding other alternatives.
 
casainho said:
Would like to find an OpenSource and relative cheap controller with 2 phases current sensors and with ARM cortex M3 or M4 for doing FOC and for lower power motors like 500W or a bit more.
I've seen VESC boards for $50 on aliexpress, and they are certainly capable of 500W. Maybe not the best assembly quality, but I was surprised how cheap they are. VESC 4.xx has only 2 phase current sensors. Its not ideal but it can get you running. For around the same price someday VESC6 will be available in china and those who know the firmware will be one step ahead.
 
Never saw a less than 100€ VESC board which is a lot!! A Chinese ebike controller costs 30€ with a protective metal case that is water resistant.
A think VESC is to much expensive, even for Chinese prices. I think I am stuck with cheap Chinese controllers until they decide to move to FOC ones -- current controllers would just need a more expensive microcontroller like STM32F103 and another phase current sensor... Maybe more 4€ in the boom that could translate to more 20€ on the final price...
 
casainho said:
Never saw a less than 100€ VESC board which is a lot!! A Chinese ebike controller costs 30€ with a protective metal case that is water resistant.
A think VESC is to much expensive, even for Chinese prices. I think I am stuck with cheap Chinese controllers until they decide to move to FOC ones -- current controllers would just need a more expensive microcontroller like STM32F103 and another phase current sensor... Maybe more 4€ in the boom that could translate to more 20€ on the final price...

I think that this fork is onto a different section of the good/fast/cheap triangle than you'd like to hang out.
 
Yeah, you don't want this on a bike.

file.php


The image still misses the beefy DC link capacitor.

It could be useful if you are interested into motor control though, its easy to measure things and develop custom algorithms given its open sourceness.
 
Ohbse said:
Ecyclist said:
Your board size 160x90 mm is kind of big. Too big for an ebike IMHO. I like VESC-X size. The case is 64x64x22mm. Perfect fit with 18650 cells.

This isn't for ebikes. Buy a VESC-X
I did, but it would be nice to buy controller that can handle more power. VESC-X can only go up to 60A and 10S (recommended).
 
Ecyclist said:
600V and 600A, maybe Tesla can use that. Cool stuff but kind of scary in the same time.
Tesla is way ahead, they have their own IGBTs by now, and they figured out this control part years ago.
 
Ecyclist said:
Ohbse said:
Ecyclist said:
Your board size 160x90 mm is kind of big. Too big for an ebike IMHO. I like VESC-X size. The case is 64x64x22mm. Perfect fit with 18650 cells.

This isn't for ebikes. Buy a VESC-X
I did, but it would be nice to buy controller that can handle more power. VESC-X can only go up to 60A and 10S (recommended).

Off topic : How much power do you seek?

On topic : This is still very acceptable size to put on a monster bike. Few years ago I had 36 FET monster controllers (which I forget the name, who did design it again ? ) good for 30Kw continuous, never built my bike and went on skates instead. My point is : it was as big as 300x150x50mm.

This little fella can manage lot more through external driver gates, and control board itself is only 160x90mm. Given the performance it is very good price indeed.

For an e-bike it is maybe too much but for an e-motorcycle it nails it. Also for a DIY car conversion, like Arlo's build, it will make great !
 
Vanarian said:
Off topic : How much power do you seek?
Um, car-worthy?
Its basic dimensions were laid out based on this thread
https://endless-sphere.com/forums/viewtopic.php?f=30&t=84930&start=50#p1283214

The idea is mostly to unleash the vesc project so its not bound by its original 60v limit.

Vanarian said:
On topic : This is still very acceptable size to put on a monster bike. Few years ago I had 36 FET monster controllers (which I forget the name, who did design it again ? ) good for 30Kw continuous, never built my bike and went on skates instead. My point is : it was as big as 300x150x50mm.

This little fella can manage lot more through external driver gates, and control board itself is only 160x90mm. Given the performance it is very good price indeed.

For an e-bike it is maybe too much but for an e-motorcycle it nails it. Also for a DIY car conversion, like Arlo's build, it will make great !
Yes, I got driven away by the low cost ebike comments, but if you aim for high power, its not an unreasonable controller given how much space the power pass and cooling takes. Just keep in mind that 5kw is vesc vanillla territory, >30kw and you get into this controller territory. There are already some neat apps for a vesc bike https://www.youtube.com/watch?v=BYhBEbIxGFo
 
I'm sorry about my comment. I didn't read the thread from the beginning to the end and was exited about possibility of getting VESC with a little more kick.
Obviously you build something special. No doubt in my mind. Good luck and have fun with your project.
 
Ecyclist said:
I'm sorry about my comment. I didn't read the thread from the beginning to the end and was exited about possibility of getting VESC with a little more kick.
Obviously you build something special. No doubt in my mind. Good luck and have fun with your project.
No worries :)

This is how a motor start from 0 rpm limited to 40A looks like.

Its cleaner than the oscilloscope capture because its sampled in sync with pwm.

Its configured for 1.4us deadtime. it could be a bit less though. I wrote a quick C code that generate the required register bits to acheve X nsec of deadtime, hopefully it will be integrated to the firmware in the future. That register is a pain to setup, very nonlinear so having code that does if for you helps a bit.
 
Great!!!
 
Sensorless startup at 17% of the available current for this setup.
startup with 1.4usec DT 80A.jpeg

Can't go further until I set up a proper mechanical load.

And a quick load test at 50A. Heatsink only, no fans or watercooling, just running an openloop 50amp FOC.
img_thermal_1497133271852.jpg
Hottest point are the gate resistors.
 
Bumped version to 0.2, updated schematic, layout and 3d so its ready to prototype. I won't send it to mfg right away, the changes are very minor so I'll keep using the first version but I wanted to keep things ready just in case.

View attachment VESC-controller v0.2 - Schematic.pdf

VESC-controller v0.2.jpg
 
marcos said:
Bumped version to 0.2, updated schematic, layout and 3d so its ready to prototype. I won't send it to mfg right away, the changes are very minor so I'll keep using the first version but I wanted to keep things ready just in case.

View attachment 1



-Dumb question alert-

I need a controller in the 20kw segment, but there is no good option for what I need.

Optimal controller:

80v max
275A semi continuously(15kw continuously, 22kw peak, for climbing)
Sensorless(linear load, propeller in air, should not have any startup problems)
Lightweight
Aircooled


Could this controller board do this, would I need a good mosfet layout and capacitors, or is more needed?

Thank you
 
Back
Top