Yasa/Makani controller teardown

Electric Motors and Controllers
Post Reply
axialflux   1 mW

1 mW
Posts: 11
Joined: Sep 07 2020 3:52pm

Yasa/Makani controller teardown

Post by axialflux » Sep 07 2020 4:29pm

A couple of friends and I just bought a large pile of Yasa motors at Makani's going-out-of-business auction.
Makani was a Google X company that spent a lot of money on wind power kites:
https://www.youtube.com/watch?v=uBZayX1QlZQ
before people realized perhaps that wasn't such a great idea.

The motors are similar to and larger than the Yasa 750 R:
https://www.yasa.com/yasa-750
which is an axial flux motor rated at 790Nm peak torque, 200kW peak power.

Here's a teardown of one of the Makani controllers we got with these motors.
The interior structure looks printed on an SLA printer.

With the processor card removed, the film caps and gate drivers
are visible, as are DC/DC power supplies in the box at the top right:
Image

Here's the control card, front and back:

Image
Image

The processor is a TMS320F28377S, curiously that processor does not have TI's magic instaspin FOC firmware.
There's also a TMS570, which is an ARM floating point MCU for transportation applications.
On the backside, a couple of Avago fiber optic ethernet transceiver modules.

A dense array of snubbers on a board that screws directly to the half bridges:

Image

Bus layout with Hass 300-S current transducers on 3 phases and DC.
The bus seems to be nickel plated copper.
It seems odd the current sensors are connected to the control board as single sided
(i.e. not differential) signals.

Image

The half bridges seem to be Cree/Wolfspeed CAS325M12HM2 SiC (a spendy $1375 each at Digikey)
though rumor has it these are custom parts rated to 1700V:

Image

The Makani custom gate drivers screw directly to the half bridges, with an array of small snubbers.
There exists a Cree/Wolfspeed CGD15HB62LP Dual-Channel Isolated Gate Driver
reference design for these half bridges. The reference design gate drivers are driven with a differential signal,
and there is also a CGD12HB00D 2-Channel Differential Transceiver reference design for the gate drivers to enable
retrofitting single-ended systems. I wonder why not an optical link? That seems it would be easier than converting
to differential and back from the PWM to the gate driver mosfets.

Image

Lacking schematics and firmware for the control card, I am planning to drive the
power section of this using a LAUNCHXL-F280049C unless anyone suggests a better idea.

fictivedesigns   1 mW

1 mW
Posts: 13
Joined: Oct 11 2016 5:47pm

Re: Yasa/Makani controller teardown

Post by fictivedesigns » Sep 10 2020 11:51am

Wow, nice teardown and nice score. This is insanely interesting! Here are some of my thoughts:

I saw that each film cap is rated to 1100V, so unless they are connecting caps in series that limits their max working voltage to 8-900V (due to thermal derating; it's 80% VRated at 80C). 1100V also lines up nicely with the SiC FET rating. Assuming the 18x20uF caps are connected in parallel, they're running just over 360uF of DC link capacitance.

The ceramic bus caps are connected 4x in series, 10x in parallel. You can see the blue balancing resistors. Better hope none of those caps cracks, I could see that eventually causing a cascading failure.

Looks like they're using TMS320 for motor control and TMS570 for communications/housekeeping.

Their TMS320 has some very nice features for motor control, including an FPU, trig unit, fancy 16-bit ADCs, and a sigma-delta filter. These teams don't need InstaSPIN and this processor has the power to let them do whatever control they want, including more advanced control schemes like DTFC.

The TMS570 has the ethernet MAC in this system. It's hooked up to a 1:2 port ethernet switch, probably for redundancy. Both microcontrollers are ISO26262 ready which is usually a requirement in safety critical applications. The TMS570 is pretty popular among embedded teams because it's one of the only ARM MCUs in the safety market.

I've used HASS 300-S in one of my designs, but I had a small problem with noise in the current sensor causing noticeable motor hiss at 0 current. Not sure if the noise was inherent to the sensor or picked up from switching. I fixed that problem by moving to a more carefully designed shunt based solution.

I'm surprised they went with differential PWM signaling while also using single-ended current sensors. It's definitely important to protect against noise induced switching artifacts but current sense is also important.

The Cree half bridges are very nice. That ceramic baseplate has insanely low thermal resistance (0.1K/W) and doesn't need an insulator. I bet that saved their thermal guy a lot of work.

axialflux   1 mW

1 mW
Posts: 11
Joined: Sep 07 2020 3:52pm

Re: Yasa/Makani controller teardown

Post by axialflux » Sep 10 2020 6:26pm

Thanks for the observations.

I've been able to make the huge Yasa/Makani motors spin using a LAUNCHXL-F280049C with
a BOOSTXL-DRV8320RS. Had to completely disable OCP, the filtering on the BOOSTXL-DRV8320RS
is crappy and I was getting a lot of false positive OCP faults from the BOOSTXL-DRV8320RS glitches even at powerup
at higher voltages from the lab supply.

Am running the tiny power stage immersed in dielectric fluid for a bit more cooling.
Here is is, stable at 10 rpm with 18 W from a DC supply, sensorless:
http://rp.to/7t01q

Yeah, they were running their controllers at something like 1000V.
Turns out the custom Makani gate drivers are not differential, although the Wolfspeed reference design is.

And an ex-Makani engineer told me they were seeing only 1A of noise on the single-ended Hass current sensors,
which seems low to me. I presume they mean after some digital filtering.

And Makani just open sourced all their code, including motor firmware, I have not yet studied it:
https://github.com/google/makani/tree/m ... nics/motor

axialflux   1 mW

1 mW
Posts: 11
Joined: Sep 07 2020 3:52pm

Re: Yasa/Makani controller teardown

Post by axialflux » Sep 10 2020 6:31pm

We have a lot of these motors and controllers.
Am pondering what vehicles to put them in... and how many in each.

uberlieb   100 µW

100 µW
Posts: 8
Joined: Jun 12 2016 6:09pm

Re: Yasa/Makani controller teardown

Post by uberlieb » Sep 15 2020 3:47pm

I have one of the Yasa motors from Makani and a Protean. Watching this thread closely to see what you / we can do with them!

fictivedesigns   1 mW

1 mW
Posts: 13
Joined: Oct 11 2016 5:47pm

Re: Yasa/Makani controller teardown

Post by fictivedesigns » Sep 15 2020 10:54pm

Check out the design doc by Andrew Goessling for this inverter here starting page 147:
https://storage.googleapis.com/x-prod.a ... _Part2.pdf

A few things:

The SiC modules are 1700V rated and the 1100V caps are put in series to handle the voltage.
The ceramic DC link caps are J-lead so they should be fairly resistant to cracking failure. Total capacitance is 5uF per leg.

Makani was "stacking" 4 inverters for a total tether bus voltage of 4800V. Expected bus voltage per inverter is 1200V, but they were designed to withstand up to 1600V in a motor/inverter failure scenario. Pretty interesting topology and the control logic to regulate motor load is found in stacking.c


Still looking over their codebase. Looks like all the motor control was done on the TMS570! Design switching frequency is either 15kHz with FOC running cycle-by-cycle or 30KHz with FOC running every other cycle.

fictivedesigns   1 mW

1 mW
Posts: 13
Joined: Oct 11 2016 5:47pm

Re: Yasa/Makani controller teardown

Post by fictivedesigns » Sep 15 2020 11:44pm

axialflux wrote:
Sep 10 2020 6:26pm
Am running the tiny power stage immersed in dielectric fluid for a bit more cooling.
Here is is, stable at 10 rpm with 18 W from a DC supply, sensorless:
http://rp.to/7t01q
Nice progress! Interested to see what you plan on doing with these motors. ~32kg mass, ~200kW peak could make a lot of fun stuff 8) . Only problem is you need insanely high bus voltage to get max power out of these things. Since power is proportional to voltage (at a fixed motor current) a 72S pack will only get you to ~50kW peak. I'm making some assumptions here but the loss of power is a bit unfortunate.

Looks like the YASAs really are meant to be oil cooled- page 46 shows the wet stator design which requires a dielectric coolant. Kind of a pain.

Just curious, does stuff like this sell for cheap at auction in the Bay? I feel like I'm missing out on a lot of fun..

axialflux   1 mW

1 mW
Posts: 11
Joined: Sep 07 2020 3:52pm

Re: Yasa/Makani controller teardown

Post by axialflux » Sep 16 2020 2:52pm

Great find on that inverter design document.

I agree that high voltage will be needed to get high torque from the motor. Rs is about 100 mOhm (Instaspin motor id returns 73 mOhm for one of my motors), so even low voltages enough to push a lot of current into the motor.

Am thinking about what kind of batteries to use. I have lots of experience with Tesla S modules, but need something with more series and less parallel connection for the applications I have in mind. Anyone have any ideas? I think as a hack I'll just put some cheap ebike 48V modules in series, easy enough to charge them in parallel and probably not too pricey.

The cooling is easy for me, my neighbor in Sausalito is https://www.engineeredfluids.com and I have free access to gallons of their dielectric juice. I might be able to provide some for the cost of shipping to anyone with a sufficiently interesting project for these motors.

Cheap at auction? Yes. We bought their 40' dyno container, with 16 Yasa/Makani Gen2 motors
and controllers (6 Ozone, 6 older) and a 650kW Satcon inverter, for $6500.

More than makes up for the cost of everything else here. And then there's the environmental benefit of keeping Google's expensive trash out of the landfill!

axialflux   1 mW

1 mW
Posts: 11
Joined: Sep 07 2020 3:52pm

Re: Yasa/Makani controller teardown

Post by axialflux » Sep 16 2020 4:45pm

Hey Fictive:

Where did you find the pointer to that Makani document?

In particular, what would be really nice to have are schematics and pinouts for the Ozone controller. With that I could just use the existing controllers and I wouldn't have to be screwing around with the TI Instaspin magic, as educational as that is.

fictivedesigns   1 mW

1 mW
Posts: 13
Joined: Oct 11 2016 5:47pm

Re: Yasa/Makani controller teardown

Post by fictivedesigns » Sep 16 2020 8:01pm

Axial, the docs are here: https://blog.x.company/sharing-makani-w ... 49398df78c

Unfortunately it doesn't look like they released every single internal document. I wasn't able to find any controller source files, but if you just want to use the firmware it's 100% possible to reuse their codebase and hack the thing to work. Probably wouldn't take more than a few days to rip out the stuff you don't care about. TMS570 compilation is free with Code Composer Studio. There are also open source toolchains that support the processor. If you really want to roll your own code you could determine which processor pins are being used from the codebase as well.

I'm also happy to share what I find after I get a chance to look at the code again.

axialflux   1 mW

1 mW
Posts: 11
Joined: Sep 07 2020 3:52pm

Re: Yasa/Makani controller teardown

Post by axialflux » Sep 16 2020 11:58pm

I am a little undecided as to the best way to proceed. Prior to their release of the motor controller firmware, I began to drink the TI Instaspin-FOC koolaid.

But now perhaps I should invest in a TMS570 JTAG probe:
https://www.ti.com/tool/TMDSEMU110-U
and try to get the Ozone controller board to work with a hacked version of their firmware. I do worry that without a schematic, debugging if it doesn't just work could be problematic.

And I'd prefer to communicate with a motor controller via CAN rather than their (to me) exotic optical fiber ethernet, which might be the best approach to talk to an array of motors but I only need to control one or two at a time.

BTW, I think I have enough info to use the Makani gate driver cards. Am happy to share that info if you or anyone else cares.

So the hardware I need to build to interface a LAUNCHXL-F280049C to the gate drivers, and read the phase voltages and current sensors is pretty minimal: some isolated voltage measurement and some filters. The TI board emits the PWMs needed to drive the Makani gate drivers, and reads 3 current and 4 voltage signals.

With this approach, I could also reuse the other 8 pre-Ozone APEI motor controllers that came with the 8x8 dyno.
Adapting the LAUNCHXL-F280049C to the Makani power stage gives me a path to develop this further, whereas the closed-source Ozone controller hardware does not.

User avatar
fechter   100 GW

100 GW
Posts: 14958
Joined: Dec 31 2006 3:23pm
Location: California Bay Area, USA

Re: Yasa/Makani controller teardown

Post by fechter » Sep 17 2020 12:16am

Great stuff. How about some pics of the motors. Sounds like they might be a bit too big for a motorcycle.
"One test is worth a thousand opinions"

uberlieb   100 µW

100 µW
Posts: 8
Joined: Jun 12 2016 6:09pm

Re: Yasa/Makani controller teardown

Post by uberlieb » Sep 17 2020 12:40pm

Pics of the Yasa motor made specifically for Makani
Image

Image

axialflux   1 mW

1 mW
Posts: 11
Joined: Sep 07 2020 3:52pm

Re: Yasa/Makani controller teardown

Post by axialflux » Sep 17 2020 3:49pm

On the subject of the HASS 300-S current transducers (3 phases and DC) used in the Makani Ozone controller:

An ex-Makani engineer told me they were getting < 1 A noise, and I wondered how that is possible given they are single ended. The answer is on p.168-169 of https://storage.googleapis.com/x-prod.a ... _Part2.pdf

They use a common mode choke to passively attenuate common node noise coupled from the phase. The specific part they use for this is: Epcos B82792C2475N365

Here's the schematic:
current_sense.png
current_sense.png (33.17 KiB) Viewed 194 times

SRFirefox   1 W

1 W
Posts: 55
Joined: Apr 24 2019 7:27pm

Re: Yasa/Makani controller teardown

Post by SRFirefox » Sep 17 2020 4:43pm

Serious piece of kit there. I'd be interested to see what an Axiom with 1200V switches could do with it - last I read the control board isolation was good for 800V bus. Are the spinning cases integrated into the motor or is there a shaft behind them? The example motor you linked is an in-runner that could, in theory, be stacked, but these look significantly more difficult to stack together or integrate with a transmission for traction duty.

axialflux   1 mW

1 mW
Posts: 11
Joined: Sep 07 2020 3:52pm

Re: Yasa/Makani controller teardown

Post by axialflux » Sep 18 2020 12:37pm

SRFirefox: The Makani SiC half bridges are 1700V, not 1200V. I was originally very keen to try an Axiom control board with the Makani power stage. And then Arlin told me the expected price of an Axiom would be $6500 (!). For that price I can buy a Rinehart, a Sevcon Gen 4 Size 10, or any other controller. And a TI LAUNCHXL-F280049C is $30, and does pretty much everything the Axiom does except for some optoisolation. Most of it on chip. So thanks but no thanks on the Axiom. IMHO, motors should be driven with realtime control system hardware, not a zillion interrupts on a general purpose micro. But what do I know?

Yes, on the Makani Yasas, the entire CNC aluminum case spins (i.e. outrunner). There is a splined hole in the center and plenty of places to bolt to the spinning cases as was done for the Makani dyno coupling. Transmission? Not needed: 3250 rpm on a 16" tire is 100 mph, enough for me. I am planning to run 2 of these where a differential would be, each driving an IRS half shaft. Should be fast enough that stacking is not needed.

Post Reply