DIY Electric Car Forums banner

Any AC motor with any inverter - UMC Drive 2.0

170K views 262 replies 69 participants last post by  jlcortex  
#1 · (Edited)
Hi guys!

Some might remember my prototype of the universal AC motor controller, designed to be compatible with Toyota Prius inverters. I've been busy with making it a bit more interesting, by adding support of new inverters and making it as universal as possible. I ended up completely redesigning everything, making it more robust and safe for automotive use.

The idea is, that we all can now get powerful and cheap power electronics from our favourite car manufacturer. The market is flooded with them, and since they are generally well designed and water cooled, they don't break - therefore currently there is no market for them.

Of course you could try to reverse engineer the whole drivetrain from a pure electric car, like the Leaf - but there are only few of those, compared to the availability of hybrid cars. Unfortunately their drivetrains are integrated with the combustion engine control units, so you cannot just use the Volt inverter with the Volt motor. Well, now you can :)

Short summary:
- Possibility to drive any three phase motor (induction, BLDC, weird hybrid designs etc)
- Both sensor as well as sensorless capabilities
- Drive by wire dual output accelerator support
- Isolated CAN interface
- Isolated USB interface
- Very robust input protection
- Compatible with all Toyota / Lexus stuff, Chevrolet Volt inverters and several others

One of the very interesting things is a dual motor support. Yes, if you take a Chevy Volt inverter, you can use something like 2x 100kW motors. With peaks going even higher.

I've just sent the UMC Drive V2.0 in the production, this is how it will look like:

Image


As you can see, everything is doubled. Two motor, fully differential PWM 3 phase control, measurement of 6 phase voltages, all currents, Vbus voltage, two throttle inputs, two temperature sensors, two encoder interfaces, several inputs and outputs.. one CAN :)

As with the prototype, you can easily run a calibration routine and teach it your own specific motor, or use configuration that someone else already made.

In terms of algorithms, I'm using InstaSPIN from Texas Instruments. This is currently the most advanced motor controller library, for both sensor as well as sensorless applications. The controller consists of two parts - the main carrier board, with all analog and digital signal conditioning, and an MCU board.

I've talked with several forum members having some interesting motors/projects, and they were willing to help me with the initial testing and verification of this controller on different motors.
They are going to get this controller, once the first batch comes from production :) If everything goes well, and tests are successful, I can offer it to other people.

Even though I'm not going to publish all the schematics and source code now, everyone who will buy it will get them. Eventually I can make it completely open source. I'm not sure, if this model might work (colleagues are telling me that it's a stupid idea), but I'm willing to risk it :)

What are your thoughts? What would you expect from such motor controller? What would you use it for? Any feedback welcomed!

Edit: The new company website for the UMC Drive is http://advantics.fr/
 
#2 ·
Sounds very exciting! If it does what you promise, it would unlock a huge re-use potential for OEM electric vehicle components that is currently more or less completely untapped. As to your strategy, or design etc., I can't knowledgeably comment but do wish you the best of luck!
 
#3 ·
Are the drives for the end stages, igbt/mosfet/whatever intergrated on the board? More specificaly, what kind of signals are used to control the high voltage side, as in what voltage. Since you mention prius, so 12v PWM?
Also current measurement input levels, 0-5 volts?

Also any idea on pricing for a board?
 
#4 · (Edited)
Yes, idea is to reuse as much from the original inverter as possible. Therefore the IGBT drivers are reused as well. As you correctly noted, Prius uses 12V signalling, and only one signal per half bridge, while for example Chevy uses 5V and needs full differential PWM drive.

I get around the problem by using high voltage open collector drivers. Then on the output you have two resistors - depending on which one you populate, you either have 5V or 12V output drive :)

Current measurement is designed the same way as the input phase voltage measurement. You have an instrumentation amplifier, where you can modify both input scaling as well as apply offset (to support LEM sensors with a fixed offset, as well as current sensors that swings around 0V and goes negative). On all analog inputs there are TVS diodes clamping an overload between differential inputs as well as to GND and power rail. So it should be almost impossible to burn any op amp. I'll post more info on how this can be connected into inverters soon.

I do have all three current measurements for both motors (therefore up to 6 current sensors). Even though you need only two per motor, some inverters have three to have redundancy and to detect a short in the winding/case, so I'm doing the same thing.

No idea about the pricing yet, will know this once first batch is manufactured and assembled.
 
#5 ·
Good to hear you are keeping it very open to almost all kinds of "expensive" bits, love toying with those parts of the electronics.

Becareful you do not call it an inverter, this will confuse alot of buyers to thinking they just need your kit/board to run motors.
 
#6 · (Edited)
Good thinking, Tom - I modified it in the original text. This is a motor controller that is designed to work with widely available automotive inverters. In theory, you can build your own power stage - all you need are current sensors, IGBT/MOSFETs and drivers for them. It can be for a bicycle, motorcycle or a drag racer - controller doesn't care. All you have to do pick a reasonably scaled inverter, and adjust the scaling once and you're done.
 
#8 ·
Hi jddcircuit!
This is a very good question - I've spent quite a lot of time thinking how to solve this. Almost all motors that people are using are encoder based, while all the automotive motor-gearbox combos are using resolvers. (and I always go sensorless! :)

At the end I decided to go for the encoder option, as this microcontroller has two dedicated HW encoder interfaces (therefore not slowing down the critical part - two FOC cores running in parallel).

Image


There is a very nice resolver chip - AD2S1205 (among others it is used on Chevy Volt inverters). It has an encoder emulation output - so you can have a simple daughter card that fits on these headers (that's why there is +5V and +12V available) and provides resolver to encoder interface.

There is a possibility of putting it on the motor controller directly - but it would make the board more expensive for people not using resolvers. I can make the daughter card later on and offer it for the price of components (it would be very small). Or maybe I'll put those two chips (two motors, two resolvers) directly onboard in the next manufacturing run.

What is your opinion?
 
#9 ·
Wow, I'm keen. One key interest I am currently looking at is reusing Lexus hybrid drives so this is exactly what I'm looking for.
What software interface is needed and how 'idiot proof'or user friendly would it be? I'm not a programmer or electrician or anything so totally new to me.
Thanks
 
#13 ·
Hi tylerwatts - user friendliness is a difficult thing. Have too much flexibility, and it gets impossible to be user friendly. Limit functionality too much, and beautiful interface will not help people get what they need.. I wish there will be some nice balance, that we manage to reach. I'll be using the word "we", as the only way how such complex and universal system can be made operational, is by cooperation of it's users. Problem is, that most of the systems that you guys will be using with this controller, I don't have. Therefore I can do my best to assure broadest compatibility, but we will have to cooperate to get your particular application up and running.

Eventually, there will be a good chance that someone already used the combination that you want to use - let's say a Chevy motor with a Chevy inverter. One guy that is getting this motor controller in the first run has this combo. If it will therefore work for him, it will for you as well :)

For at least the first two runs of this controller, I will basically be cooperating with every person that buys it on making it better in terms of software and features.
 
#14 ·
Motor controller does not communicate with the BMS - you can set a minimum voltage that reduces the max power, and one that shuts down the inverter completely. You could add a signal from your particular BMS, that is a logical level that tells inverter to shut down (external undervoltage).

Of course the motor controller has a CAN interface, that reports all the values and can be used to change many parameters - just like other motor controllers that you could buy
 
#11 ·
Great news ,
I'm interested in the Chevy volt motors .They look like the most advanced drive out . But my starter project is a Ford Ranger factory ev . I would love to get this running. I hope your board would make this a better ev.
I've used the volt battery for solar and am now working with a A123 spark battery for solar .
 
#15 ·
Hi eldis.
Thank you for responding. Yes, please do not compromise the capabilities of the controller. Also, I think you are saying what I meant about the link to bms. So that is good. I would like to run a dual motor Lexus rwd transmission and controller power stage.

How would the controller interface with an oem controller's internals please?
 
#19 ·
Resolvers are the most popular means of rotor position feedback on synchronous motors (PM or wound field) because they always provide absolute rotor position as soon as excitation is supplied to them, regardless of whether the rotor has moved while the drive/resolver was powered off. Encoders are more popular whenever absolute rotor position isn't needed (e.g. - induction motors) because they are much cheaper to make and much easier to drive/interface.

Resolvers also tend to be more robust, both mechanically and electrically, but needing a source of sine wave excitation and accurate A/D conversion of the sine/cosine AC output makes them much less fun to work with in the increasingly all-digital world of motor control.
 
#21 · (Edited)
I'll be able to answer that question rather soon. Yesterday I've became a proud owner of a Tesla drivetrain:

Image


On the way home, we stopped by a Tesla superchager - the owner of the brand new white Tesla was quite surprised, to see a Peugeot with a Tesla drivetrain :)

Image


I will start a new thread for this soon, so we don't spam this one. The reason why am I posting it, is that the UMC Drive 2.0 will be eventually getting a Tesla motor + inverter on the list of supported components :)


To the discussion of resolvers against encoders - Tesseract is perfectly right with his explanation of differences. When studying Texas Instruments InstaSPIN some time ago, I've seen in one of their workshops a slide about playing with Prius motors. These are PM motors with quite interesting and complicated design. They were claiming, that their algorithm can drive it very well without the need for a resolver.

To the question about how to put the UMC Drive 2.0 inside an inverter - it's a simple matter of making few cables with connectors on both sides. Here you can see a Chevy Volt inverter disassembled, with the original main control module. All that is needed is to remove this control module board, put in the new one, put different connectors instead of the black ones and add voltage feedback lugs under bus bars screws:

Image
 
#22 ·
Congratulations on this :)

As for the flexibility: I've had some very good user feedback on text based configuration (plain text or JSON) + editor tool. Sane default values contribute to ease of configuration.

That way the firmware only needs to parse a simple text file and the user friendly GUI can be implemented with much more powerful PC tools. It can show or hide advanced parameters, offer config wizards etc.

Not sure if that has been discussed, is the software open source?
 
#23 ·
Hi Johannes, thanks for the tips! I agree with you - text interface tends to be quite powerful. Maybe it will be the way to go (definitely in the first releases)

I would like to make the firmware completely open source. This is a typical situation when you have a complex project, and even though it might run perfectly for 80% people, there will be people with problems or specific applications. Also I still hold a bit of hope, that eventually someone will want to actively participate on the firmware development.

For now the firmware depository will be made available to anyone owning the UMC Drive - they will have an access to the latest code, schematics, they can modify it, have a support for it, but they will not be allowed to make money on it. Once there is a batch of these controllers available for people to buy, I can come up with a number, after how many sold pieces will the source code be available to anyone. Maybe there is some license template usable for this - didn't look for it yet.
 
#25 · (Edited)
Very cool indeed! Though I am sceptical about a sensorless prius. Looks pretty hypothetical , I did see an instaspin tutorial about a locked rotor prius, but nothing dynamic, or in the real world (perhaps because of its size, and that it is part reluctance motor).

Also, overstating how "simple" getting all those wires sorted might be misleading too, lots of folks bound to bite off more than they can chew there.

I'm inclined to think that toyota added robust resolvers because they were needed.

Would be very pleased if an instaspin can make it all work of course (in a common vehicle like a prius or volt especially) at the production performance levels or better preferrably. It sounds like there is a whole lot to verify and sort out yet though. Please do correct me if I'm wrong of course (seriously, would love to learn that it works well in the real world).

Edit, I do have to say the spice file (dont forget to expand the support pack in the same dir) worked just fine in ltspice, and is quite interesting all the same.
 

Attachments

#27 ·
Very cool indeed! Though I am sceptical about a sensorless prius. Looks pretty hypothetical , I did see an instaspin tutorial about a locked rotor prius, but nothing dynamic, or in the real world (perhaps because of its size, and that it is part reluctance motor).

Also, overstating how "simple" getting all those wires sorted might be misleading too, lots of folks bound to bite off more than they can chew there.
Skepticism is perfectly justified in these cases. That's why I'm not offering those first boards for sale as a finished product, but only to few people that has motors/inverters like this already available somewhere, and can run it on something interesting to test it out.

I believe that getting wires sorted is as simple/difficult as doing any other connector job on a car. What is more difficult is setting stuff up correctly in the software.

As a matter of fact, I will have one more controller prototype to offer (basically for the price of components) to a person with an application that would benefit other people later on. So if you have a Prius, Volt, Leaf, Lexus or similar drivetrain already available somewhere, write me a PM and the controller is yours.
 
#28 · (Edited)
I've got a 2nd gen prius and a leaf, but the prius is the most likely candidate. The ICE isn't dead yet, but it has issues.

I don't think most people are familiar with the extent of your testing so far though. Indeed your build thread has been clobbered it seems?

http://www.diyelectriccar.com/forums/showthread.php?p=551754#post551754

Do you think you could post some top speed and acceleration/deceleration data vs battery volts/amps/ weight/ and we could sort-of guessitmate how well it is working in that application?

I mean it sounds like you are asking for help (in a roundabout way) in validating a potential commercial product that you would retain full rights to. So it seems fair to be clear about how much work that could involve and what the risks are that it might not even work right.
 
#29 ·
I've got a 2nd gen prius and a leaf, but the prius is the most likely candidate. The ICE isn't dead yet, but it has issues.

I don't think most people are familiar with the extent of your testing so far though. Indeed your build thread has been clobbered it seems?

http://www.diyelectriccar.com/forums/showthread.php?p=551754#post551754
I started a thread about my conversion, but never continued in it. Guilty as charged :) I'll try to fix that soon.

Do you think you could post some top speed and acceleration/deceleration data vs battery volts/amps/ weight/ and we could sort-of guessitmate how well it is working in that application?
I did the testing with V1 of my controller in my first Golf, with Prius battery as a test setup (didn't have my Volt battery pack at the time). The point of these test were to verify behavior of FOC in near zero speed conditions and starting up the hill. I had smooth starts on fifth gear flat ground, and no problems starting in a very steep hill (1st, 2nd gear). My current was quite limited, as Prius battery cannot deliver that much power. Therefore I stayed in 0-50km/h speeds. Data logging was done in a debugger connected to a running car (one of the nice and scary things you can do with isolated USB) :)

Now I have a new Golf that is just few weeks from being drivable with a Volt pack - I intend to collect and publish as much data as I can with this setup (for this purpose I've made a CAN<->MATLAB tool). I hope that this setup will help my case, and show that my controller is a viable option for DIY conversions.

I do realize that I started this thread too soon, but all this feedback I've got already helped me a lot - I see that almost everyone will want to drive resolver motors, that practically nobody expressed interest in industrial standard motors, or using such controller with AC motors that you can already buy in some store (watercooled Siemens etc.).

I mean it sounds like you are asking for help (in a roundabout way) in validating a potential commercial product that you would retain full rights to. So it seems fair to be clear about how much work that could involve and what the risks are that it might not even work right.
Again fair point. I still don't know where to fit with this controller. It is not a commercial product, at the best it is an assembled and tested kit. As I mentioned several times, I want it to be open source. I'm never going to make money on this, it is just not possible - All I want is not to be losing money on it. I have my low-risk electronics engineering day job that pays better than this awkward attempt to offer a controller ever will.

Original idea was to offer a cheap HW platform with a bit of software, that will enable us all to use high quality and cheap OEM market parts.

So dcb (and others), what is your take on this? How would you imagine this could work? What kind of model would you guys like to see in this? Would you prefer to just get all the codes, bag of SMD components and a PCB, or a tested board that comes with an email support to get your application up and running? Or you want me to buy a Chevy/Prius inverter, put all the stuff in, tune it for your motor and sell you a product with warranty? I'm always open to other people's ideas - let me know what you think.
 
#32 ·
I'm sorry to hear that. I understand that for now these are just empty words. I hope that once there are some videos and data available, I'll manage to convince you that shady is not my intention. Anyway, it does not really matter. I have now enough people willing to try it with their motors.
 
#33 ·
Just got 10 bare PCBs from the manufacturer :) No idea why 10 - I did order only five, but hey, I'm not gonna complain. Next week I'll receive the solder paste mask, and I can start assembling them:

Image
 
#34 ·
Many times you get extra from the PCB proto houses because of the fall out. Just my memories from ordering PCB protos back in the 2000´s , Proto houses might have improved, yet should be a good advise to check as much as possible for missing or faulty traces....
 
#35 ·
Thanks for the warning! I'll definitely check :)

Today I've received the PCB solder paste stencil (ouch!), but it is a necessary item if you don't want to solder hundreds of SMDs by hand..

Image
 
#47 ·
The Volt is a Remy pm , the 2 motor plantary dive gives variable ratios By rotating the motors opposite each other. The earlier Mars landers used this system . I think this gear makes the most advanced dive gear . The motors can be locked together with clutch between the motors which makes 1 motor. You also have a clutch to the engine .
 
#49 ·
I'm more than a bit surprised there's not more chatter re: the Toyota Highlander 2008 and later AWD as a donor. (aka "Kluger" in other countries)

Toyota (Lexus) has a real winner for their variable planetary gear ratio drive. I've seen someone who used the FWD system in his DIY project, removed the ICE and locked the input shaft to the case, using only the electric drive. I also remember someone using the RWD axle in a Saturn conversion...

Specs:
"MG2" FWD motor is rated at 123kW (165HP) @ 4500RPM, max. 333Nm (245 ft.lbf.) @ 0-1500RPM

"MG1" FWD motor/generator (was crankshaft mounted to start the ICE) is rated for 109kW (146HP) @ 13,000 RPM, max. 80 Nm (59 ft.lbf.) @ 0-13,000 RPM

"MGR" RWD motor is rated for 50kW (67HP) @ 4610-5120 RPM, max. 130 NM (96 ft.lbf) @ 0-610 RPM actual rear wheel speed

Their RWD integrated motor assembly 'seems' like it would be a simple implementation for a small vehicle RWD. I see them for $400 on eBay sometimes. There may be a need for additional cooling if used as a full-time drive... drill holes, plumb an electric oil pump and a small radiator.

The main "catch" is that they are all rated for 650V operation, since they utilize a bi-directional Boost-Buck converter from/to the 288V battery pack. (Buck mode for regen, using the same huge inductor)

Our 2008 HiHy seats 7, 3.3L V6 ICE, electric AWD, weighs 4700 pounds, and we can average 27MPG... 30MPG if we try (under 65MPH). I'm just wishing it had a much higher capacity Li-based battery pack (plug-in), and a way to force it to use EV mode more (to higher MPH), and delete the "idle creep" and "coasting" regen... I'd like manual control over braking regen... thank you.

But, I understand Toyota... trying to make the transition "familiar" from ICE to Electric... so the driver "feels at home".

It's got such great acceleration performance for a BIG vehicle, I've often thought about transplanting a complete drivetrain from a wrecked HiHy into my classic '98 Olds Aurora... which was originally designed (by Cadillac) to be AWD, but when it got moved to the Olds division, AWD was removed for cost-sake. (powered by 4L 32V DOHC Northstar V8 - yes, I'd be willing to give that up)

...but I digress.
 
#50 ·
Update - yesterday I've assembled the first UMC Drive 2.0

Image


Image


There are around 500 components for the full-blown dual motor configuration. Even with a proper stencil and all the SMD components ready on the table, it took me around 4 hours to assemble one board and reflow it. The next batch will be completely made and assembled professionally, as this way I could not offer you the pricing I wish to offer. And selling a kit like this IKEA style with millions of plastic bags is not a solution. People would be struggling to put it together in reasonable amount of time.

Now I'll start testing it. The priority is to have three assembly variants for inverters - Chevy Volt, Prius 2nd Gen and Tesla Model S. These inverters I use the most :)