Axiom: a 100kW+ motor controller

The Axiom part starts at 13:15 in the video. Soooo good to see you together on the stage, deep respect and congrats!
 
Congrats guys! I joined this forum specifically because of the hackaday comp. I'd love to get my hands on one of these motor controllers as a beta tester ASAP!
 
emmgee said:
The Axiom part starts at 13:15 in the video. Soooo good to see you together on the stage, deep respect and congrats!

The whole thing was an awesome meetup, and it was great to have the chance to finally have a team meeting, here are 4 glasses for maxi that didn't make it.
20191116_134321.jpg

Btw I barely got there as my US visa arrived few minutes after we got the invitation to the event, kudos for my wife that handled all that visa paperwork and as usual ended up carrying motordrive stuff with me :) Also thanks to Eric from Luna that got us a place to stay and a car, both equally important if you want to visit L.A. Oh, and I got to experience some tesla M3 performance bursts, now that's a target!

Now back to the lab, where the updated Rev1 boards with higher isolation ratings and stronger filtering were waiting for me to test, along with a 100kW motor that needs some tuning plus some studying to do to get a canada visa for extra productive trips and polar bear sightings.
 
Hey marcos what is status of MTPA and flux weakning. I want to test switched reluctance IPM motor on this controller.

Sent from my POCO F1 using Tapatalk

 
Hackey said:
Hey marcos what is status of MTPA and flux weakning. I want to test switched reluctance IPM motor on this controller.

That branch is quite behind the latest master branch, and requires you to build both vesc firmware and vesc tool in order to have the features. FW still lacks a safety feature that slowly downramps Id current in a fault event. If the powerstage can withstand the BEMF generated at those high speeds it shouldn't damage anything, but in a fault the motor will be decelerated violently to base speed. If you can work in linux email me and I can help setting it up (I don't know how to compile vesc tool in windows).

MTPA should work well, the main inconvenience is that there isn't a way to autodetect Ld and Lq so you would have to measure those motor parameters. We are building 2 big dynos and I also got access to a couple of very small IPM motors that are handy to for MTPA tuning, currently sitting on my desk until I assemble the custom made controllers for that drive unit.

john61ct said:
marcos said:
Jump to page 11 for the latest hardware
There is no such thing as "pages" in the app. Just link to the actual post, or also give a post#
There is a link right below the line you quoted, it ends in [...]#p1458465 which I think is pointing to the post. Doesn't it work in the app? btw, which app?
 
I have already setup qt and all stuff for firmware compiling and i am using ubuntu no issues.

Sent from my POCO F1 using Tapatalk


 
marcos said:
There is a link right below the line you quoted, it ends in [...]#p1458465 which I think is pointing to the post. Doesn't it work in the app? btw, which app?

Tapatalk. Yes I see now what you mean. Here's how it renders:
Screenshot_20191214-114440.jpg
Maybe change it to "Click [here (link)] for the latest hardware"?
 
Congrats! Looks like a killer controller. Looking forward to seeing mass delivery/adoption and general improvements. :)
 
Hackey said:
I have already setup qt and all stuff for firmware compiling and i am using ubuntu no issues.

Sent from my POCO F1 using Tapatalk
I just stumbled onto Qt and am jumping in. Did you find anything online to help you start building or did you start from scratch? I'm confident enough in building the visual aspect but starting communication with the motor/controller/bms seems enough not to mention control.

Sent from my Phone 2 using Tapatalk

 
bigdaveakers said:
Finally got chance to have a play with my board.....I wont post pictures as it is a bit 'lashed up' at the moment. My main concern is to get the resolver working.

Sadly it seems to be misbehaving :(

resolversnap.jpg

If the rotor is still it reads around 180 degrees, if I move it I get the trace shown. If I stop it goes back to 180 :(

Any ideas?

Also I took a big deep breath and tried to detect the motor parameters and got the message that inductance was 0 - probably going to need some help!

Dave have you had any luck on moving forward with the Outlander motor and inverter? I am looking at using this powertrain in my setup and I am very keen to see how you are getting on.
 
Ok so now i am working on MID For my Bike. here is final layout i have tested it on display its working with ILI9486 3.5" display and Esp32 . now i need to get data from vesc over uart and we are good to go.dash.png
 
Hello, someone has tested FF600R06ME3 from aliexpress?, prices are 1/4 the price at mouser! about 40€, is it possible?
 
jlcortex said:
Hello, someone has tested FF600R06ME3 from aliexpress?, prices are 1/4 the price at mouser! about 40€, is it possible?
Yep they will work just fine. Actually they are used igbts from big factory machinery.

Sent from my POCO F1 using Tapatalk

 
jlcortex said:
Hello, someone has tested FF600R06ME3 from aliexpress?, prices are 1/4 the price at mouser! about 40€, is it possible?
Most likely counterfeit, and most likely its not worth the risk if a total fire costs you more that what you saved in those IGBTs.

On other news, we got merged some features for better resolver support.

https://github.com/vedderb/bldc/pull/124

Now when you connect a resolver and configure vesc to use it you can type "encoder" in the vesc terminal and axiom will report stats for 4 failure sources:

* SPI error: when packets coming from the resolver interface have parity errors
* Loss Of Tracking: measured angle has >5° error
* Degradation Of Signal: measured angle has >33° error
* Loss Of Signal: >57° error, most likely a wiring issue or disconnected resolver.

In the code, if any of those error flags are set the resolver angle will be ignored.
If during the last second any of those error flags is asserted more than 5% of the time a system fault will be asserted. You can see in the GUI what was the error source (SPI, LOT, DOS, LOS).

The resolver hardware on board requires some manual tuning that involves measuring the sin/cos signal amplitude, if it is out of bounds its necessary to change 2 resistors to change EXC amplitude.
We have an application note that documents the resolver tuning and setup.

In a leaf motor typically we see pretty much zero resolver errors, sometimes a few tracking errors appear during extreme acceleration. We'll keep testing.

We are testing a Rev1 board now with better isolation ratings.
Another merge a while ago was FPGA binary compression because it couldn't fit anymore in the memory, and Benjamin now uses the compression library to speed up the firmware update process, its quite faster now.
 
last week we passed 100kW at 350V on the dyno. @lewbowski, you're right about 45deg being a pretty decent default value for timing adjust.

arlo gives a once over tour in the video: https://youtu.be/hYvuRghNGTc

Major Milestone achieved. :bigthumb:
 
HighHopes said:
last week we passed 100kW at 350V on the dyno. @lewbowski, you're right about 45deg being a pretty decent default value for timing adjust.

arlo gives a once over tour in the video: https://youtu.be/hYvuRghNGTc

Major Milestone achieved. :bigthumb:

I think what Arlo1 does here is not what I do...

I have a 45 degree rotation in the error signals of Id and Iq, this is fundamentally not the same as a 45 degree rotation in the resolver output... with the rotation in the resolver signal you will not be FOC anymore as you also rotate the wanted Id and Iq. With the rotation in the error signals you have the 45 degree rotation in the control loop (giving you the stability) but not in the wanted Id and Iq (so you remain FOC).

I have this 45 degree rotation in the error signals for both sensored and sensorless modes.

Have you ever seen a rotation being applied to the error signals of Id and Iq ?
 
Lebowski said:
HighHopes said:
last week we passed 100kW at 350V on the dyno. @lewbowski, you're right about 45deg being a pretty decent default value for timing adjust.

arlo gives a once over tour in the video: https://youtu.be/hYvuRghNGTc

Major Milestone achieved. :bigthumb:

I think what Arlo1 does here is not what I do...

I have a 45 degree rotation in the error signals of Id and Iq, this is fundamentally not the same as a 45 degree rotation in the resolver output... with the rotation in the resolver signal you will not be FOC anymore as you also rotate the wanted Id and Iq. With the rotation in the error signals you have the 45 degree rotation in the control loop (giving you the stability) but not in the wanted Id and Iq (so you remain FOC).

I have this 45 degree rotation in the error signals for both sensored and sensorless modes.

Have you ever seen a rotation being applied to the error signals of Id and Iq ?

45 deg rotation in the error signals but not 45 deg in the NON ERROR signals?
 
OK everyone.

Here is the last 3 videos I have put together during testing. With more to come.

-Arlin

[youtube]z9XviQ09r-k[/youtube]

[youtube]hYvuRghNGTc[/youtube]

[youtube]0aL3Er-WFqU[/youtube]
 
i have not worked a lot with IPM motors. a little with axial flux. but mostly SPM and separately excited. so this whole salience thing, the details of making it ACTUALLY work is mostly new to me. we were using a fixed 45deg angle just for quick test and got really good results, better than was expected. but we changed that to now use MTPA algorithm that does a better job
 
HighHopes said:
i have not worked a lot with IPM motors. a little with axial flux. but mostly SPM and separately excited. so this whole salience thing, the details of making it ACTUALLY work is mostly new to me. we were using a fixed 45deg angle just for quick test and got really good results, better than was expected. but we changed that to now use MTPA algorithm that does a better job

An oscillation on the phase angle combined with looking at the 1st and 2nd harmonic (in the motor currents) of this oscillation?
 
Lebowski said:
I think what Arlo1 does here is not what I do...

I have a 45 degree rotation in the error signals of Id and Iq, this is fundamentally not the same as a 45 degree rotation in the resolver output... with the rotation in the resolver signal you will not be FOC anymore as you also rotate the wanted Id and Iq. With the rotation in the error signals you have the 45 degree rotation in the control loop (giving you the stability) but not in the wanted Id and Iq (so you remain FOC).

I have this 45 degree rotation in the error signals for both sensored and sensorless modes.

Have you ever seen a rotation being applied to the error signals of Id and Iq ?

I hear you there Bas, rotating the position sensor X degrees is a common hack to introduce some id current into the motor. The idea is to approximate the optimum torque trajectory (red trace) with just a straight line instead of the exponential trace.
mtpa.png


This breaks the FOC principles and I think d/q axis decoupling breaks as well so we disabled it for now.

In parallel with these tests at 100+kW we are testing the proper way to do this: implementing the MTPA trajectory in the firmware.
Well, proper for our particular FOC code, yours I think auto-aligns.

This MTPA code is working awesome on my bike and is under dyno testing. We had some early MTPA tests with poor results because both Texas and vesc had some minor math errors.
 
An oscillation on the phase angle combined with looking at the 1st and 2nd harmonic (in the motor currents) of this oscillation?
nothing that complicated, just textbook stuff. its meant to be open source afterall ;)
 
maximum torque per amp (MTPA) now fully implemented. makes a very obvious improvement in power production for IPM motors. this first version was very simply implemented. it basically takes the user's total torque command and splits it up into two components, a "direct" current and a "quadrature current" and then applies it to IPM motor. this is important because internal permanent magnet motors have "saliency" which means not only is there your typical magnetic torque available, there is now also a reluctance torque which you can use to produce more power... but only if you can apply a current that will interact with the motor specially to make use of reluctance torque. that's exactly what MTPA does.. using some basic motor parameters it will split the current to send some to produce magnetic torque and also some to produce reluctance torque and together it means your controller can finally take FULL advantage.

on to the next challenge!
 
Back
Top