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

Lebowski said:
did you try to measure the current sensor voltages at the point where they enter the controller IC ? What does it show there ?

Ok I measured them again. The 3 pins going into the chip are (don't worry about the order as I moved them around)
2.47v
2.47v
2.50v
and I pulled the ribbons and switched the high with a low and it does switch so I pulled the driver board from the high (2.50v) phase to clean and inspect it... It is the hand assembled driver the other 2 are done in the oven/reflow technique.

But I also remember when I ordered the 3 950 amp current sensors that I used one for the dyno and reordered the same one again so 1 of the 3 is from a different batch (exactly the same part number just ordered ~6 months apart). So I measured at the output from the 3 sensors and it is
4,93v
4.93v
4.98v
all with 9.92v going into them....
Is this a problem??? Should I remove the one from the dyno and trade it with the one that is high?

After all that I scoped the high vs low on all 3 current sensor pins and found 80-120mw in the noise/ripple with the controller not running and it looks the same in the setup mode vs startup with no power hooked to the buss bars.
I will add some caps to the power for the current sensors. I see it suggests an inductor and cap in the data sheet.
http://power.murata.com/data/power/ncl/kdc_mev3.pdf
I will add a spot for an inductor in my design.
 
The 30mV difference from the current sensors is not that much and should not be a problem. It confirms the current sensor calibration was not good. Did you re try it with a higher current setting as mentioned before, or without calibrating and using the default settings ? Did you manage to load my hex with the other terminal program ?

One interesting thing to try, in the recovery meny you can turn off both checks for motor standstill and throttle closed. When you do this it becomes possible to reset the controller when the motor is running. Unlike before, where it would be stuck in drive 0 till the motor stopped and the throttle was closed, now after a reset it will recover the motor and continue powering it. It is possible to hot-reset and continue powering the motor afterwards. This shows whether the recovery is setup correctly. Again, try with the hex i posted a few posts ago, keeping in mind also the suggestions made there.
 
In my experience, you can't always calibrate out the drift in hall-effect current based sensors. The bigger they are, the more prone they seem to sticking to having some artifact of DC current depending on the direction and magnitude of the last time it had current running through it. Maybe the calibration could use AC signals or something to defeat the offsets effects on calibration?
 
Lebowski said:
The 30mV difference from the current sensors is not that much and should not be a problem. It confirms the current sensor calibration was not good. Did you re try it with a higher current setting as mentioned before, or without calibrating and using the default settings ? Did you manage to load my hex with the other terminal program ?

One interesting thing to try, in the recovery meny you can turn off both checks for motor standstill and throttle closed. When you do this it becomes possible to reset the controller when the motor is running. Unlike before, where it would be stuck in drive 0 till the motor stopped and the throttle was closed, now after a reset it will recover the motor and continue powering it. It is possible to hot-reset and continue powering the motor afterwards. This shows whether the recovery is setup correctly. Again, try with the hex i posted a few posts ago, keeping in mind also the suggestions made there.
I loaded your file and it would not run at all. I also added caps to the power supply for the current sensors and it made the noise worse. I played with it all day and it will not run at all. I am going to look at the noise coming out of the powersupplies and work on that first. I also tried all of your suggestions and nothing helps. It needs lots of wiggle to work.
 
I capped the input power and that helped a bit. I think I might need to add more caps on the driver boards. I have a .1uf next to the current sensor. So maybe a 4.7 and a .1 would be better this would allow the resistance and inductance in the circuit from the power supply to work with the caps at the current sensor to smooth out the noise.

I unhooked the current sensors from the brain and measured the pins for the current sensor input which should be a smooth 0v but they have some noise there when in drive 1 is it possible my scope is picking up the sample period when the chip reads the pin and it makes it look like a bit of noise?
 
I'm still trying to understand the manual in the recovery section you say.
Code:
Options b to g are the phase and amplitude control loop coefficients used during recovery. They are
set rather high to increase speed of recovery. Too high however and the phase/amplitude information
will jump around a lot, making it difficult to accurately capture the motor. In practise this means the
controller will not reach a high enough pulse rate to exit drive_1.

But yet b and g are always 0 when selecting autocomplete. So what are good numbers for b and g?
 
Found a low side get driver was blown and the desat resistor r100 was burnt.. The failed desat might have killed the driver because it might have been that way a while.... Running 2-4x the pwm frequence .... I am planning a arduino interface for all of this to read the desat and shut it all down and flash an error code. All in time.
 
Arlo1 said:
I'm still trying to understand the manual in the recovery section you say.
Code:
Options b to g are the phase and amplitude control loop coefficients used during recovery. They are
set rather high to increase speed of recovery. Too high however and the phase/amplitude information
will jump around a lot, making it difficult to accurately capture the motor. In practise this means the
controller will not reach a high enough pulse rate to exit drive_1.

But yet b and g are always 0 when selecting autocomplete. So what are good numbers for b and g?

The manual talks about b TO g... b and g are best kept at 0 but the other numbers in general are higher than in for instance the loop parameters menu.

Do you think your blown driver was responsible for the difficult sensorless start ?
 
Lebowski said:
Arlo1 said:
Do you think your blown driver was responsible for the difficult sensorless start ?
I think the multiple pulses from the desat resistor being burnt which lead to the driver might have made the sensorless start hard to set up.
Will test more tomorrow.
 
On another phase Also have 2 blown igbts..... :( Not a clue why either.
 
tja, my view on desat detection has always been that it prevents further damage once a FET blows up, but it doesn't prevent this first FET from blowing up. For that you need to build the power stage according to the 'low inductance output stage' thread...
 
No lebowski this motor needs 400+v to run which requires big igbts or multiple like Tesla uses. I have designs for that just no money.
Desat will save your igbt from to much current buy does not save it from to much voltage on the gate etc. It also is not intended to run continuous its a once or twice triped shut down kind of thing and I don't have anything reading faults yet.
Also I ran this a lot in the HF mode with no voltage sensing as that was the plan all along until you told me it can't work that way.
 
Lebowski said:
tja, my view on desat detection has always been that it prevents further damage once a FET blows up, but it doesn't prevent this first FET from blowing up. For that you need to build the power stage according to the 'low inductance output stage' thread...

Desaturation detections job is to prevent the failure from becoming catastrophic. It detects shoot through and shuts down the gate drive which should then send a fault signal to the controller telling the PWM to stop on all devices.

I've purposely tried to destroy MOSFETs by causing shoot through, desaturation detection prevented it from happening because it shut down the gate drive in <5us. Because the time period is so brief it prevents the energy from going high enough to destroy the junction (I recently saw > 2kA with 3 parallel IRFP4568s in a bench test, they lived). If you have not experimented with it yet I suggest building a gate drive with one. It's a great safety net to have, especially while bench testing and experimenting. It's really cool to see it working too.

It's not required, but if the gate drive and power stage needs to be robust and reliable, it's a feature that should be considered. A 2 level turn off can also become important depending on the drive requirements. Things such as miller clamp I would consider mandatory for anything over 1000w unless it's a disposable toy and saving a tiny bit on production matters (making more toxic land fill fodder). I'm a fan of the TD350E myself, cheap, has great features and can switch up to about 33khz with no 2 level turn off if one follows the conservative rules for calculating dead time. I also have some IRS gate drivers floating around my goody box that only have miller clamps and are pretty fast. They will probably be used in some type of low power inverter.
 
Face palm... The IGBTs were not blown. I forgot how I needed to test them..... You can't measure the resistance you need to feed a current though them...
I got 4 more for testing today and they didn't seem right until I started testing them properly then I retested the old ones and they were fine.... :roll:
 
Lebowski said:
Make sure to measure all 3 outputs independently (without motor) with the PWM test function at 5, 50 and 95% just to make sure all output waveforms are as they should be...
Thanks Yes I will go back though it. I did do those tests... I think the phase I thought the IGBTs were failed in was not pulsing so I will look at it again.
 
Run some tests. I found my R100 for the desat detection on the low side of the phase that I thought was NFG was blown. So a 1 cent resistor caused me to think I had $100s of blown IGBTs lol. I will remember how to test them properly for now on.
 
Had some solder track across under the blocking diode on the desat circuit caused most of my grief.
Lebowski I entered the code you sent and it was not bad then I did this :)
Good Job mister on everything code helping me and everything! This thing starts awesome!
[youtube]Fq-zCkhkQrU[/youtube]
 
Yep, that's how its supposed to start :D I made a big improvement in the sensorless start going from v2.00 to v2.10...

I've run with it like this for a few 1000km on my bike and it starts every time. This is why I knew something was wrong
when you had problems with the motor starting, so I'm very happy it was just a small thing and no expensive IGBT's
were blown :D

Next thing to try would be to reset the controller while the motor is spinning, to see whether it locks on to the running
motor. If it is set up correctly after reset it should power the motor practically immediately (but you have to have
motor standstill and throttle closed checks disabled in the recovery menu, either one will make the controller wait
for motor stop)
 
So do you think this would drive an induction motor successfully?
And what is a full sine wave is is 100% now with my chip version or is it something like 111% again?
I will read the manual again tomorrow at coffee time and try to understand everything but I don't remember if this can sample the hall sensors or I have to enter them in by hand?
 
Arlo1 said:
So do you think this would drive an induction motor successfully?
And what is a full sine wave is is 100% now with my chip version or is it something like 111% again?
I will read the manual again tomorrow at coffee time and try to understand everything but I don't remember if this can sample the hall sensors or I have to enter them in by hand?
No, an induction motor is a totally different beast...
With v2.10 and higher, 100% amplitude setting is the maximum.
For hall sensor calibration you have to put the chip in hall mode and enable calibration. The first time in motor mode it will then start sensorless. You have to give it some throttle and get the motor spinning at a decent pace. The while it is running, store the setting by pressing setup. Then you can look in the setup menu at the gathered data, or just use it motor mode. It will automatically use the gathered hall sensor info.
As you've seen, its easy to get it going sensorless, so calibrating halls is not as difficult as before with the old v1 :D
 
Lebowski said:
With v2.10 and higher, 100% amplitude setting is the maximum.
So that is 100% sine and 101%+ is where the trap wave starts? or the max period and you can not set it to 101% or higher?


Lebowski said:
For hall sensor calibration you have to put the chip in hall mode and enable calibration. The first time in motor mode it will then start sensorless. You have to give it some throttle and get the motor spinning at a decent pace. The while it is running, store the setting by pressing setup. Then you can look in the setup menu at the gathered data, or just use it motor mode. It will automatically use the gathered hall sensor info.
As you've seen, its easy to get it going sensorless, so calibrating halls is not as difficult as before with the old v1 :D
Cool I am very excited to try this.
 
I had to take out the trap wave... 100% on the v2 is the same as 111% on the old. I use moving midpoint, so the signals on each of the motor terminals look very similar to trap waves. The signal between two motor terminals is however a sine wave, but because of this (well known) trick the peak-peak sine fed to the motor is about 15% larger than the battery voltage...
The reason for taking out the trap was that it was very noisy, inefficient and only gave a few % higher motor speed... i needed to redefine the internal amplitude variable to be able to get the good startup behavior, full force regen braking to dead stop and for reverse (it was from 0 to 200%, now it is from -100% to +100%)

I don't think it will accept a number higher than 100%....
 
Lebowski said:
I had to take out the trap wave... 100% on the v2 is the same as 111% on the old. I use moving midpoint, so the signals on each of the motor terminals look very similar to trap waves. The signal between two motor terminals is however a sine wave, but because of this (well known) trick the peak-peak sine fed to the motor is about 15% larger than the battery voltage...
The reason for taking out the trap was that it was very noisy, inefficient and only gave a few % higher motor speed...

I don't think it will accept a number higher than 100%....


Ok thanks. Can you please add field weakening?
Your chip is Hands down better then any commercially available controller at the moment but some cases need field weakening.

The OEM leaf inverter used field weakening. It run 98s lithium ~360v nominal and achieved 10300 rpm. It has a 7.94:1 overall ratio. So far the best I can get with your chip is 21 rpm/v so even with my 112s lipo for 408.8vv nominal I will see 8584.8 rpm and 9870 with a absolutely fully charged battery and no load on the system at 470v going into the inverter.
With a 21.5 overall diameter I will have a top speed under load of ~67 mph
I will play with tire sizes to get some top speed but I will need field weakening.

One day I plan to drag race with this the car will accelerate hard until ~55-65 mph which will be before the 1/8 mile mark then just stay around 65-70mph for the next 1/8 mile. But with field weakening I can accelerate hared until ~60 mph then keep accelerating slowly until ~100 mph. It would be like having 2nd gear and just getting the max rpm out of the motor. This is not something that will be used everyday for me just a once in a while thing making the car accelerate very fast from 0-70 all the time but giving some extra top speed once in a while. So the efficiency will not be harmed other then for the few seconds the car needs to be above 80mph.
Please. :)
 
I'll have to think about it... at the moment i'm busy with something for work, for the controller i still have to complete support for 8 temperature sensors...

And field weakening is inherently very very dangerous in a sense that if it goes wrong it will blow everything sky high (desat or not).

Imagine, your motor is spinning at a speed as if it is fed 300V, but your whole system is 200V. If the controller conks out for whatever reason,
300V from the motor will be dumped on your system, blowing all your FETs, putting a hug current into your 200V battery and braking like
crazy. I personally would only ever use field weaking if i'm a 100% sure the controller settings are good so it'll not ever conk out, and even then
I would insist on having fuses in all 3 motor wires.

Field weakening, its like parachute jumping or deep sea diving, the system only survives by everything running 100%. And if not, there's only death.
 
Back
Top