Lebowski's motor controller IC, schematic & setup, new v2.A1

HighHopes said:
i am not familiar with lebowski's controller .. so these are just some thoughts.

i'm guessing that the inductance measuring basically tells some combination of mosfets to turn ON, the current ramps up and is measured, then mosfets turn OFF. inductance can then be calculated L = V*di/dt. ?

Nope :mrgreen: man what you're describing is hugely primitive and would never work !

It puts 3 120 degree separated, fixed frequency sines on the motor and measures the phase difference
w.r.t. the motor currents, then calculates the real and imaginary impedance parts (resistance and inductance).
Oh, and it doesn't determine the phase difference by just looking at the 0 crossings. It uses in phase/quadrature
phase synchronous demodulation and 2nd order Bessel filtering. If you want to get technical :mrgreen:

Since the motor currents are the same as when you're running the motor, if the controller doesn't survive
the impedance measurement it will also not survive powering the motor at the same current levels.
 
Lebowski said:
Since the motor currents are the same as when you're running the motor, if the controller doesn't survive
the impedance measurement it will also not survive powering the motor at the same current levels.


I tested the current sensor on the center phase to make sure it was good and I inspected the rest of the controller.
I then ran the motor with a 100 phase amp limit and it survived, and I did calibrate the current sensors.
Then after all this I set the measurement limit to 20 amps and tried a measurement and in about 1/4 of a second it died....
I am going to repair it today and I will have a very close look.
IM going to try to get it back to the way it was during the video of me riding it.
Im done with this one I just want to make it live and put it in the bike and move to the next controller to test with, I have boards with a better cap/mosfet layout ready to be built but for some reason I have gone backwards and now I can't get this controller to last as long as it used to.....

Lebowski. IM running a delta motor is this a problem?
 
V1.11. It's my second last chip.
 
man what you're describing is hugely primitive and would never work !

my sincere apologies, i assumed your design was similar to other hobbyiest controllers i've seen on the net which is all first principle stuff that barely (if at all) works, just like you say. i'm glad & encouraged you have more advanced stuff!

i am starting to get a new respect for your controller :wink:
 
arlo, if you want to learn more about your gate driver characteristics, limitations and performance you should conduct a double pulse test. google it if you're interested, i can send my lab notes on this subject if you want more info. i've performed this test many many times and it has always been useful, actually i would say the most important validation test you can do other than actually running it in the application.
 
Hey Lebowski,

Your controller algorithm seems similar to InstaSPIN™-FOC with FAST rotor flux sensing

I wondering if you could apply the same motor setup procedure where all you have do is look at the flux signal and adjust the "flux threshold"

This may make it super simple to use with almost all motors (5 minute setup with no hall sensors; no tuning skills required)

----

Also how good is your sensorless zero speed start-up?

TI now offers an Initial Position Detection (IPD) algorithm which uses high frequency injection (HFI) for smooth starts with 100% torque (their default "forced-angle" start-up algorithm can result in slight reverse jerks in some instances). The downside is the IPD algorithm does require skill to tune (knowledge of motor parameters)

I can't wait to get rid of position sensors
 
I don't know anything about Instaspin so... I don't have a flux threshold or anything like that.
With a motor that has no cogging (like my AF) my controller is very "rotation happy", give it a bit
of current and the motor will move immediately. A big problem is that it will go just as
easely forward as reverse, so the main focus of the sensorless startup is to detect as soon
as possible which direction it's going and put on the brakes when it goes the wrong way.

I've looked at high frequency injection and it works fine to detect which two out of three
motor terminals need to be powered. But it does not give you info about the polarity, so again
you don't know which is forward and which is reverse.

I tried with my AF and I managed to spin it with 0.03 W (0.3V , 0.1A) at around 30 e-rpm, sensorless...
And this was with the standard (65V) setup, so no changing resistors or anything to get more signal voltage
to the CPU.
 
zero speed sensorless startup is a challenge. but maybe for EV it can be trouble free; just keep the engine in neutral until polarity is determined? or maybe there is no such thing as a neutral gear for EVs as maybe there is no gear box? i don't know .. never built one. but soon....
 
Perhaps the startup routine could commutate in a given direction (somewhat ignoring the EMF) so you'd be sure it's going the right way.
 
fechter said:
Perhaps the startup routine could commutate in a given direction (somewhat ignoring the EMF) so you'd be sure it's going the right way.
This is what I always thought. The controller knows which way it wants to spin. So maybe a hi speed loop that spins through the phases until it starts moving?
I think lebowski's Idea of using inductance to know which phase is ready to be energized is the best.
 
universal sensorless startup (no motor knowledge programmed) without kickback is the "grail"

Mr. Dude,

What do you think about using full commutation (no pwm on the phases) and then regulate the DC bus to control speed/torque

I heard this is the most efficient config...I wonder if there is a another way to limit current spikes

Have you played around with z-source inverters? The can be easily configured to also operate as a charger :D
 
flathill said:
universal senorless startup (no motor knowledge input) without kickback is the "grail"

Mr. Dude,

What do you think about using full commutation (no pwm on the phases) and then regulate the DC bus to control speed/torque

I heard this is the most efficient config...I wonder if there is a another way to limit current spikes

Have you played around with current source inverters? The can be easily configured to also operate as a charger :D
Better components and better layout will fix the spikes. IM not an engineer so it will take me some time to get er just right but with help from lebowski and highhopes and bigmoose and others I will get there quicker. Right now my bike runs I set the current down to 150 to start and I will finish the Carbon Fiber then get it insured and then work on testing the limits of my Better layout 24 and 48 fet controllers.

As for full commutation You will still need to have a device that turns on the phase you want to energize and you will still have to regulate the amps.
There is always more then one way to skin a cat yes but I think the thing that limits current should be the thing that controls what phase gets the power. Remember this has advantages like they all get a rest 2/3 of the time.... So you can run them harder then they will cool. I think there will be some bad ass fets or something new show up in the next 10 years something mind blowing with graphine!
 
Ask lebowski to talk to his "mother ship" . Ask for the technology of room temperature superconucting graphene!!!!

Seroiusly, materials technology is going to bring us some great stuff soon.
 
room temperature superconucting graphene!!!!

ohhhh.. ahhhh.... me likey, me likey a lot!
 
flathill said:
universal sensorless startup (no motor knowledge programmed) without kickback is the "grail"

Mr. Dude,

What do you think about using full commutation (no pwm on the phases) and then regulate the DC bus to control speed/torque

I heard this is the most efficient config...I wonder if there is a another way to limit current spikes

Have you played around with z-source inverters? The can be easily configured to also operate as a charger :D

I started like that but quickly stopped as I decided it's no good.

What we have now is only one 'energy conversion'
battery voltage -> motor current

but with regulating the DC bus with a DCDC converter
battery voltage -> DCDC inductor current -> DCDC output capacitor voltage -> motor current

With every conversion there's an energy loss.
Plus, how would you build a sine wave controller ?
 
Lebowski said:
I found this too primitive and not very reliable :?

I guess if it was an easy problem to solve, it would have been solved already :wink:

I remember one of the high-end expensive units used some kind of rotor flux sensing to find which phase was lined up, then commutated in a known direction. Things are pretty easy if the motor does not have much load, but for a vehicle with lots of mass, things get difficult. You have to get it going and still have some protection against a locked rotor.

If the flux sensing setup works well enough, it would be like having hall sensors.
 
I guess if it was an easy problem to solve, it would have been solved already

oh, sensorless motor speed control at zero speed has most definitely been solved. it is used all over the place in big and small motors in commercial aircraft that i know of. it works under harsh conditions and is very reliable & accurate. it works so well it has been patented (not by me). so if you want to discover a way that is working in the real world, go look at some patents. so far as i know (don't quote me) it is NOT illegal to use someone else's patent so long as it if for your own single personal use.

instaSpin by TI is another example of the problem solved. they sure talk a lot about sensorless speed control. is it at zero speed too? hmm.. i think so but would need to double check. i haven't tested their algorithm so have no personal experience about its quality.
 
Instaspin's IPD isn't out yet, it's in the roadmap.

Running the "High current " (40A) development kit with a 9C motor now. Very fast and easy setup. Easy to overmodulate (running trapezoidal to get maximum speed from motor), something I've struggeled with AVR UC3s. Nice startup, but some kickback (jerk) when I load it fully at 0Hz. Less kickback with some Id current injected at startup. Next up is implementing torqueref from normal throttle input - then I'll test it on my bike.

If I'm satisfied with that; mate it with my 12fet powerstage - and maybe start selling some medium performance (50V bus 80A phase) high quality inverters.
 
Yep, that's the way to go, at least for a start. i'm doing the same architecture build but for 144V 300A. i have no intention to sell though, will probably just post it when done.
 
Pffff hahaha it's not even sine wave !
Not FOC either...

If you integrate the voltage over time (like they do), what you get out is magnetic flux. (since voltage
is the derivative of flux to time). So if you put a detection level on this, you basically detecting
the moment when a certain amount of flux (or magnet) has passed the windings. This is also
why it is speed insensitive, it just waits for a cartain amount of millimeter / centimeter / inches
of magnet to pass the winding.
But in order to measure it needs an un-powered winding, a proper sine controller powers all of
the windings all of the time. Second, it doesn't take the 'delay' of the inductances into account. When
you put a voltage across an inductance it takes a certain amount of time to build up the current. What
FOC does is that it takes this delay into account, it puts the voltage on a bit earlier at high
speed such that the current is in phase with the back-emf for max power and efficiency....
 
Flathill - that is Instaspin BLDC. Instaspin BLDC will run on lower end microcontrollers (around 4 dollars each). Instaspin FOC demands a proper DSP, and price is quickly up towards 10 dollars just for the brain. Instaspin BLDC is often used with encoder feedback for a cheap position system (like in robotics). Instaspin FOC is aimed at applications where torque regulation is important - like in a ebike.

Instaspin FOC does feed the motor sine shaped phase voltages, up until trap voltages are needed for maximum speed.
 
I just wanted to illustrate the flux threshold

It looks like you are using a more advanced technique measuring odd harmonics

Is this recording motor saliency?

Thanks
 
Back
Top