Not simple BLDC controller It RUNS! :)

I'm obviously coming a little late to the party, but I designed a fast-trip circuit just like this for a previous controller idea. It uses a fast comparator as the input to an S-R latch which disables the driver. You could do this either through the EN pin on the driver chip (if available), or using an XOR gate on the PWM signal. The latch is reset by the falling edge of the PWM so the driver is guaranteed to be off for the rest of the cycle. That should give the uP time to intervene. Even if it doesn't, the latch will trip again during the next cycle so the FETs are still protected.

Getting a fast measurement is a problem. If you want response time <1 us, that means >1 MHz bandwidth. All of the Allegro hall sensors have bandwidths of 100 kHz or less. In my circuit I used the low-side FET itself as the shunt to measure current. It won't be very accurate, but if you have several FETs in parallel the variance will tend to average out somewhat. The biggest issue is the change in Rdson over temperature. You could design your circuit based on the resistance at a nominal operating temperature and consider it a "feature" that at higher temps, the higher resistance will cause the circuit to trip at lower current. Or, you could measure the FET temperature and adjust the set point accordingly.

There are a few other little details that I dealt with when I designed that circuit, like what happens when the lower FET is off. I'll see if I can dig it up.
 
bigmoose said:
Njay you better stay around, or we are going to go looking for you! I like how you design!! :D
Thank you, that's a good sign I'm on the right path :)!

bigmoose said:
I picked the IRS2113s for it's shutdown pin, SD. tsd = Shutdown propagation delay of about 130 nS. About as good as the turn on/turn off time. I think you will want to make use of the SD pin on the IRS2113. :mrgreen:
Ahh!... Very good, let me go look into it. It's actually such an obvious feature that I really doubted noone had already included it in an integrated driver.

bigmoose said:
Next, think of the micro as enabling or starting the PWM cycle. Let's close the loop in hardware to terminate the conduction during the PWM period at our desired current set point. Think how you would do that function! :mrgreen: I'll comment as the ideas come out. (I have always thought we should base our designs on current control and not PWM period control. Then the throttle is a torque knob! ...just like the gas pedal.)
Interesting. I always thought about this as the throttle controlling the duty cycle but the current limiting thing being able to terminate the cycle earlier in case maximum current is reached. But it is well thought; we can connect the throttle to the current limiter (throttle controls the DAC that sets the comparator's reference voltage) and let it work that way.

bigmoose said:
The more you dig you will find why I picked the dsPIC30F3010-30I/SO. I have also designed around the TI TMS320F240 but no one here is going to be able to afford the compiler.
I'll take a look into those chips to see what's in it. I have actually once corrected some bugs in a TMS320-based project, but I didn't had to learn much about the machine to do it. I didn't like CC at all, but it's been a few years now.

Arlo1 said:
Some of the stuff has serial if I read corectly but its hard to find a computer with a db9/serial port nowadays!
I would definitely go serial. An USB<->serial converter is very cheap (~$3 shipped to your door; I have a few, work well), very easy to deal with, very standard, very simple good and effective. I would just add galvanic isolation through opto couplers.

mauimart already solved the challenge, congratulations :). I've seen that in a commercial controller, I don't remember which. I think it may be possible to latch the comparator itself by using 3 or 4 more discreet components and the driver's input signal or its complement. I have a sketch but need to make it go through simulation before showing it :)

Hehehehe.... cool Gandalf :)
 
rhitee05 said:
Getting a fast measurement is a problem. If you want response time <1 us, that means >1 MHz bandwidth. All of the Allegro hall sensors have bandwidths of 100 kHz or less.
Do you have any idea of what are those that sevcon is using?

rhitee05 said:
In my circuit I used the low-side FET itself as the shunt to measure current. It won't be very accurate, but if you have several FETs in parallel the variance will tend to average out somewhat. The biggest issue is the change in Rdson over temperature. You could design your circuit based on the resistance at a nominal operating temperature and consider it a "feature" that at higher temps, the higher resistance will cause the circuit to trip at lower current. Or, you could measure the FET temperature and adjust the set point accordingly.
Interestingly, it's temperature what really that kills FETs. There should be an extra current limiting thing which trips on temperature.
 
Found the circuit I designed a while back.



IC5A is set up as a differential amp across the low-side FET, with appropriate resistor values to get the desired gain (R7=R8 and R6=R11). D2 clamps the voltage so that the op-amp doesn't saturate (or blow) when the phase goes high. IC3 is a comparator with a couple of resistors to provide a little hysteresis. The LM393 is an open-drain comparator, so we can just connect the 3 outputs together with a pull-up resistor. IC1A/B/C form an S-R latch with reset dominant (this eliminates an issue when both inputs go high). The inverter IC2B resets the latch when the PWM signal goes low. R1 and C1 provide a slight delay - this is needed to hold the latch reset until the FET is fully on. IC4A then disables the driver IC. There would be one of these circuits per phase, but linked together as shown so all phases are shut down when one limit is exceeded. The common "reset" signal could be taken back to the uP interrupt, as well.

Njay said:
Do you have any idea of what are those that sevcon is using?

No idea. All I know is that the big Allegro hall sensors have 100 kHz bandwidth, so definitely won't be getting response times any faster than a handful of us at best using them.

Njay said:
Interestingly, it's temperature what really that kills FETs. There should be an extra current limiting thing which trips on temperature.

Not difficult to do. Temp change is fairly slow, though, so you just need to feed the temp signal into the uP and it will have plenty of time to shut down if things get too hot. No dedicated hardware needed. The uP could also be used to generate a temp-compensated threshold signal to the comparators too.
 
Lebowski said:
Well my setup is for a lame little girly bike :oops: 'cause the cops here in switzerland are not the little girlies they have in the USA :D so I want to keep stuff legal.

Yeah, right... they dress up in poofy frocks and wanker hats and party with the poofter priests in the Vatican... :lol:

 
You guys have gotten a great start on this design! 3 rings in your hand! If the hall you select can get 90% of the step in 1uSec I think you will have a quite functional design worthy of prototyping.

4th ring is the layout
5th ring is the firmware
 
bigmoose said:
You guys have gotten a great start on this design! 3 rings in your hand! If the hall you select can get 90% of the step in 1uSec I think you will have a quite functional design worthy of prototyping.

4th ring is the layout
5th ring is the firmware
I am looking at a DC Current Transducer DCT-700A http://www.ineltek.com/de/files/pr_DCT-700A.pdf from what I read it uses a inductor inplace of a hall sensor for thier "Flux-Gate Working Principle"

Primary Nominal DC Current 700 A IP
Primary Current Range 0 to 700 A DC
Overload Condition ± 3000 A (100ms) IOV
Burden Resistor Range ( IP = 700A) 0 to 1 Ohm Max RB
Secondary Nominal Current 700 mA IS
Conversion Ratio 1:1000 N
Supply Voltage 10 to 30 V DC Vcc
Current Consumption 100mA +IS Icc
Linear Error ( Nominal Value) < 5 ppm e L
Offset Current 5uA Max IOS
Time Response ( 10% to 90% Ip) <1us TR
di/dt > 100A/us
Frequency Bandwidth ( Ip = 10A DC) DC to 100kHz ( -3dB ) FC
Ambient Operating Temperature 0 to +50ºC TA
Storage Temperature -20 to +85 ºC TS
Weight 800 g
Primary Diameter Hole 30 mm
Basic Insulation (Between Primary and
Measurement Current)
3500 V AC 50Hz 1' VIIt is to big and heavy for my aplication but something worth reading about.
 
This one for 100Arms, 160A peak, response time <1us:
http://www.farnell.com/datasheets/51642.pdf

This one for 125Arms, 200A peak, response time <1us:
http://www.farnell.com/datasheets/51624.pdf

This one is 300Arms and 600Apeak, response time 500ns
http://pt.farnell.com/honeywell-s-c/csns300m/current-sensor-300a/dp/5081798
but the price.... ouch, and I think it's not bi-directional.

There's a technique which is breaking the current path in 2 at some point, one path goes strait and the other goes through the sensor, but requires proportional balancing of both path's resistances to divide the current in appropriate proportions which I predict as not being an easy task for this current.

A transformer could also be a solution, but way out of my league to design.

So, getting back to requirements... what are the controller's requirements? Maybe we're trying to overdesign.
 
Njay said:
So, getting back to requirements... what are the controller's requirements? Maybe we're trying to overdesign.
What I am looking at is the highest phase amps possible at a reasonable price. My collossus with ~200 phase amps was not impressive, proly beat 60-90% of the cars on the road from light to light but not enough to force a wheelie. But ~600 it will be! I am looking at driving Low induction/resistance motors. For real motorcycle and automotive stuff. I figure if I can get decent results with the collossus powered YSR I will next power each rear wheel of my car. Along the way I am 100% sure someone else will want to build a controller to make some real power as well as I always seem to have projects fall into my lap lol.
 
Man finding below 1us responce time is not an easy task. Below 10us not so bad but for optimal performance I need the responce time very fast. In stock form it takes just 25us of fet on time to be above the phase amps I programed the 24 fet controller for (just under 200)
 
Arlo1 said:
Ok so whats the best Chip we can look at for this it seems the dsPIC30F3010-30I/SO is pretty good. It would be nice to get one I don't have to solder so I can yank it from a blown board and move it to the next. Any other good PICs or dsPICs to look at other then what bigmoose pointed out? Maybe another family?

Will post the code running on the 16F88 for the sensorless controller tomorrow, there
are some comments in the file which I wrote in Dutch, will translate this to
English before posting.

About doing current measurements, I've been thinking about using the 'kick-back' time for this.
Assume we have a motor-phase connected to the positive supply, the full current is going through
this coil. At a certain point commutation occurs, this current carrying inductor is disconnected
and the (previously unconnected) phase is connected to the positive supply. The current in the
just disconnected phase wants to keep flowing (cause of the inductance), the voltage on this phase
will drop instantly to 0.7V below the negative supply, the current keeps flowing via the protection
diode of the low-side NMOS transistor. After a certain time when this current has 'bled out' the voltage
will shoot up again to the level as dictated by the back-EMF. The width of this down-pulse can be
accurately measured using the capture-compare module of the PIC processor. The width of the pulse
is dependent on Voltage (of back-emf, we can measure or keep track of this during normal
motor control operation), Inductance (of winding, is known) and current. So basically with Voltage, Inductance
and kick-back time all known we can calculate the phase current !
 
texaspyro said:
Lebowski said:
Well my setup is for a lame little girly bike :oops: 'cause the cops here in switzerland are not the little girlies they have in the USA :D so I want to keep stuff legal.

Yeah, right... they dress up in poofy frocks and wanker hats and party with the poofter priests in the Vatican... :lol:

1
hahaha :D good one ! I can see you've never been shouted at in German !
 
I would rather mesure phase current on at least 2 phases and have it pull the power back to save me blowing more shit up. I am about to embark on Fets and IGBTs that cast 200 pluss each I can afford to keep on the destructive path I am on! :mrgreen:
 
If we were designing an instrument I would likely be interested in 1MHz bandwidth current sensors, but I propose that we can knock it down a notch or two with respect to sensor speed/bandwidth as we have control of the software. For example, if we want to redline 300 amps, and we know our sensor has a response of 90% real current indicated at 1 uSec, we can always set the new redline at the equivalent of 280 amps and be ok.

I would agree to not overdesign here, and only go forward if absolutely necessary with non standard sensors. Sevcon and others likely are buying from stock. I have tried to find the Sevcon sensor from pix that have been posted. I have not found a match to my satisfaction. The closet I found was an ETA 9001-150, and it was not a sensor; but an overcurrent switch. It has the same general flat torroidal profile, but does not match in detail.

I have about Qty(100) Honeywell CSLA2DK's in stock. I could make some available at well below the DigiKey listed price for those serious about experimenting with this controller, if we feel they are sufficient. I don't want to loose them to just have them sit on a shelf in someone else's work area however. They are 6 to 12 volt supply, 20 mA supply, 400 Amps Peak, Offset Vcc.2 5.8 mV/Amp at 8 Volt supply with 3 uSec Response Time.

I would like a faster sensor to protect phase to ground shorts however.

Now we can run the motor with two sensors and do the math; but then you cannot protect that third phase for a phase to ground short. Just something else to think about at a system level as the design matures.
 
Well, the hardest motor in the table has like 12A/us current rise. That means if we take 3us to do a reading, at worse we would have an error of 36A; for a limit like 300A, that's a small 12%.

I was re-visiting in mind that method of having a small part of the current path divided in 2, with one sensor only in one of the sub-paths. The sensor sub-path has a resistance proportional to what the sensor can handle, given the maximum total path current. Allegro has some appnote demonstrating this method, using a PCB. In general this is hard to do because we can't just let hundreds of amps through a PCB, and may be complex to get the sub-paths to the resistance we need.
However... if we just break our path in 2 or 3, and use a 2..3 inch bar or a conductor for each of the 2 or 3, which *I suppose* have roughly the same resistance if having the same size (and is easy to make them the "same" size with a minor error), then we could use the 200A peak sensor with response time <1us in one of the bars/conductors to measure 400A or 600A. What do you think about this?
 
Njay, I think we can start to cut this elephant down to a size that we can eat by splitting up the parts. It also makes the design iteration easier.

The design that I did the other thread on, where I trouble shot the bus capacitor problem may shed a lot of insight. I like mezzanine boards. I like to see the processor, telemetry (I/O-user interface) and perhaps the power supply on one board. I like to see the drivers and FETs/Current Sensing on another, or if the FETs are real big the drivers are on separate boards with the current sensing glue.

If you guys buy into this approach, then we have a separate "brain" board that can adapt. We have a separate power board that can adapt to different power levels.

I don't want to see you try to start with a 20 KW controller. The brain can work with 20 Kw or 2 Kw. There is going to be art in the development of the 20 Kw layout. Arlo will need that high power layout; but he needs a STABLE brain board to go there.

So perhaps think 20 Kw and design for 20 Kw, but make the first build cheaper and more tolerant, and build around say a 12 or 18 TO220 FET power board. 100 to 200 Amp phase currents ought to be in the range for that type of design.
 
Yeah for prototyping I will 4110s and or 4115s I have lots of them and can order them cheep. This will also be good to test the current limit circuit! And if this works out I could just build my own controllers for all my needs ebikes cars etc!
I am interested in some of the current sensors you have bigmoose and I will be building this soon I know I am busy and all the stuff I order takes time to get to Canada but I have a lot on order and I will post a list for you all to go through soon. I would say with in 2 months I will building a controller, Christmas by the absolute latest. I am cutting back my hours at my job for more time for my business and more time for the electric revolution. I also have a heated room in the basement of our new house I am setting up for my winter time circuit board solder station and I am back on track with all this! Last winter I had to lay back a bit while I saved up to buy a house and didn't have anywhere warm to build things. I even have a new computer and the fastest optic Internet telus could get me so I can lern from you guys faster now! Gordo came by the shop today and he will be interested in a controller build as well. We will try to get Zenon over to help I think Gord said he is an electrical engineer and I just found out Justin at Ebike.ca has Zenon running around helping fix ebikes! Which means we can get Justin in on this if we do it right (he is just a ferry ride away for me.)
I 100% want a separate brain board and a separate power stage board. For the big fets/igbts I will build mini boards like Jeremy gave me that mount the driver right to the fet. This is a great Challenge for me but that's what makes it exciting for me! I am so happy all you smart buggers jumped in on this thread this is going to be awesome! And I know from experience I might blow up 1,2,3 maybe even 50 boards but I will have fun learning what I can as I do it!
 
Just a quick post with the assembler and pinout of the 16F88 sensorless controller that is used
in combination with the driver stage I posted earlier.View attachment 1

the assembler is plain ascii but I cannot post a .txt file, therefore changed extension to .doc (but can
better be viewen in Notepad)
 
Luke linked these IGBTs in the other thread http://ixdev.ixys.com/DataSheet/DS100264(MMIX1G320N60B3).pdf but I can't seem to find them for sale anyware.
I ordered 3 of these SEMIKRON SKM400GAL12E4 http://pdf1.alldatasheet.com/datasheet-pdf/view/418035/SEMIKRON/SKM400GAL12E4.html I got the three for ~150 and they are reloaded. Now are reloaded Mosfets/IGBTs worth my time? I wont try to run these till I have a working powerstage with 4110s or something more disposible. I found theseFUJI 1MBI800U4B-120 for ~50 ea also reloaded and I will need 6 for a controller http://pdf1.alldatasheet.com/datasheet-pdf/view/217729/FUJI/1MBI800U4B-120.html I have found a source in the UK for reloaded IGBTs at a low cost. As for the DS100264 luke posted they are smaller with out a case so I would be able to run two or 4 in a set and make a 12 or 24 fet controller with them. They are reated at 400 amps so 2 parrellel with the best layout possible maybe would be safe at 600 phase amps?
 
For the small stuff.
I ordered 3 of these (pacs of 2) MOSFET IGBT Driver UCC27424 turns FET full on DIP8 x2
7 of these DC-DC Converter Isolated Power Supply In10V-16V Out 12V
A pack of sockets 8 14 16 18 20 28+24 32 40 PIN DIP IC SOCKETS 50 CHIP
These caps 12x NEW 0.1uF 250V BOXED MKT FILM CAPACITORS 10mm pitch
Some bread bord 5pcs 5x7cm High Quality PCB Prototype Bread Breadboard
Some more caps 100 x 0.1uF 50V Ceramic Disc Capacitors
Some resistors 100 x Resistors 10 Ohm 1/4W 1% Metal Film
Some more caps 25 x 47uF 16V 105C Radial Electrolytic Capacitor
Some more resistors 100 x Resistors 5K1 5.1K Ohms OHM 1/4W 5% Carbon Film
Some more caps 20 x 47uF 50V 105C Radial Electrolytic Capacitor 6x11
Some transistors 100 pcs (50 each) 2N3904 NPN and 2N3906 PNP Transistor
Some more caps 100 x 0.01uF 50V Ceramic Disc Capacitors
Some more resistors 50 x Resistors 10K Ohms OHM 1/4W 5% Carbon Film
Then the 2 Pic chips 2x Microchip PIC 8-bit Microcontroller PIC18F2431
I can easily order a different chip once its decided the best one.

I also have a bunch of Giant low esr caps luke give me as well I orderd a bunch of low esr caps for 160v controller building and some ceramic caps I will have to do an inventory soon.
 
I do fully agree on a modular design and I've even done it. Breaking in 3 parts (brain, drivers, power switches) is the best choice to end up achieving a high power controller. In that case, design can and should start on the brain. Converters for the drivers and 5V, processor, communications and the interface to the power drivers module.

Arlo, I'm jealous of you! So many guys with the same interests around :)
 
Njay said:
I do fully agree on a modular design and I've even done it. Breaking in 3 parts (brain, drivers, power switches) is the best choice to end up achieving a high power controller. In that case, design can and should start on the brain. Converters for the drivers and 5V, processor, communications and the interface to the power drivers module.

Arlo, I'm jealous of you! So many guys with the same interests around :)
Its not that good I never see them. I need more people into this around. I work on this by my self all the time and mostly because not many can understand electricity like me. (I'm not at most of your guys-es levels but around here I do ok)
 
I like rhitee's idea of sensing voltage drop across the low side fet. I think this can be used to feed our trip quite easy and it will help when the fet heats up it will trip faster at lower amps! How long can a fet be held on??
 
Can be a good idea, but would have to be tested. The temperature and other compensations would have to be done in hw because of the required speed of reaction for this "big" controller.
 
bigmoose said:
I would like a faster sensor to protect phase to ground shorts however.

Now we can run the motor with two sensors and do the math; but then you cannot protect that third phase for a phase to ground short. Just something else to think about at a system level as the design matures.

Is this really a problem? A line-to-ground fault shouldn't generate any fault current unless the negative battery terminal is tied to chassis. Is that common? It really isn't a good practice with high voltage systems.

Even if it is commonplace, using low-side fet Rds as a shunt will not detect the fault current in an output line-chassis fault. The path is from B+ through the high-side fet, to the line, to the chassis to B-.

The pictures posted on this board of motor winding faults have been either line to line or line to self, either shorting two phases together or shorting one phase through itself. Both of those faults will be detectable with two-phase current sensing.
 
Back
Top