Not simple BLDC controller It RUNS! :)

Njay, know that I am open to new stuff!! The AVR/PIC/Cygnal/etc. debate are sort of like the Ford/Chevy arguments of my youth. You tend to stick with the devil you know, rather than the "other" one.

But if you have a recommendation that is superior to the dsPIC30F3010-30I/SO I for one would be interested!
 
bigmoose said:
Njay, know that I am open to new stuff!! The AVR/PIC/Cygnal/etc. debate are sort of like the Ford/Chevy arguments of my youth. You tend to stick with the devil you know, rather than the "other" one.

But if you have a recommendation that is superior to the dsPIC30F3010-30I/SO I for one would be interested!

At a certain point you'll have to settle for 'good enough', else you keep looking for newer and better parts
but never build anything. And I agree with Njay, it's the algorithm that counts not the processor on which
it's implemented.
It's definately more fun just to dig in, build stuff and collect ideas /keep your ideas for the next version
during the current build.
Why did you choose the I/SO version (small outline, difficult to solder) ? I always go for the standard 0.1" pin
distance DIP versions... I cannot solder SMD's or really small IC's
 
I don't have any recommendation at all for the task at hand, I've never done nor studied BLDC motor control. I know only that all vendors have chips oriented to that task. If this were a "mainly software" project, then I would "blindly" recommend an AVR (if decided to go with 8bit platforms), it has a fast core and free/open source development tools (including simulator).

By the way, is there a big difference between this thread's controller and this one's here?...
 
Njay said:
By the way, is there a big difference between this thread's controller and this one's here?...
Yup Im not just going to talk about doing it ;)

No I wanted my own thread so I can build it the way I want to build it, and not have to fumble through all that rambling to find the little details. I will also edit my first post to show the scematics and video and parts list ect.
 
Lebowski said:
Why did you choose the I/SO version (small outline, difficult to solder) ? I always go for the standard 0.1" pin distance DIP versions... I cannot solder SMD's or really small IC's

I just copied and pasted from my stock list. I have the capability (microscope, solder station, hot air rework tools) to do surface mount parts and in fact part availability and packaging often requires them. If you are breadboarding, the through hole versions may be the more appropriate choice for your build.

Also as a general note, you will find that you need the tools in the toolshed for the firmware to exercise. Any processor can be "programmed" to run an air conditioner fan motor, but if Arlo goes where he wants to go, he is at the cutting edge of development. Low inductance, low resistance 3 phase motors have severe problems. He is in the quest of a $10,000 controller, not a $100 one. This will be a long, hard journey of many steps. It will need many hands, so we need you all here!
 
Njay, that's the thread that drew me to ES in the first place.
Deteriorated into a debate about processors, drivers, etc. Read it from end to end. Lots of info (scattered amongst the chaf), but no building.
The DIFFERENCE is, Arlo's actually building something!
<edit> Thought this was going to be right below Njay's or I would have quoted.
I think putting 'BEST' in the title was the biggest problem with that thread, there is no such thing, unless maybe you specify exactly what it's best for, and then somone else will build one that's better, at least in their opinion. <endedit>

Big M, the reason they debated ford/chevy is they all knew Mopar was superior, right Arlo?
You're right, the reason I use PICs is that that is what I've always used, and will use unless there's a REASON for me to go through the learning curve to change. Were I part of a group effort to design a controller, I would go with the consensus, (if one were possible), but if I designed it, I would use what I'm familiar with.
 
Lots of good points being made!

That said, I would recommend that we not focus on all the bells and whistles and interfaces here at the start. No CAN bus, no logging, no fiber optic interface to a remote display. Start with the brute force core. Keep It Simple Stu... KISS!

First decide if it is PWM with over current limiting, where the throttle input sets the PWM period and you only abort on a blow up the FETs overcurrent; or true phase current control to terminate the PWM cycle, where the throttle sets a current threshold that will be met irregardless of the PWM period required to achieve it.

Then design the micro as bare bones as you can on one board, perhaps with the main power supply bus. Decide if this power supply bus is 24V, 15V or 12V.

Design the 1st round FET power stage, perhaps a 12 or 18 FET so it's relatively cheap when the smoke gets let out.

Rough design the ultimate FET power stage for the Collosus motor.

Design the driver stage to drive both, with the isolation power supplies. Now only component changes are needed for the lightweight FET power stage. The basic driver will drive both.

This is cumbersome and not optimum; but will give you "building blocks" for experimental development. When you have it working, you can add the cute user interfaces and roll it into two boards.
 
bigmoose said:
First decide if it is PWM with over current limiting, where the throttle input sets the PWM period and you only abort on a blow up the FETs overcurrent; or true phase current control to terminate the PWM cycle, where the throttle sets a current threshold that will be met irregardless of the PWM period required to achieve it.
Thank you, I think this is the first I've understood exactly what was meant by a current control throttle. Obvious once you describe it concisely. :) (Knew what was wanted, but was vague on how to achieve it.) At it's simplest (with no processor intervention), the 'over' current comparator could have its reference connected to the throttle, and it's output to the fault input to the processor? All the processor would do then would be to provide commutation and the pulse period.
I would assume some analogue controllers work like that? Haven't honestly thought about analogue BLDC.
And I still don't think he/we should do anything because it's stupid, lets 'keep it as simple as possible'. :D (sorry, couldn't resist)
Bob
 
bigmoose said:
Lots of good points being made!

That said, I would recommend that we not focus on all the bells and whistles and interfaces here at the start. No CAN bus, no logging, no fiber optic interface to a remote display. Start with the brute force core. Keep It Simple Stu... KISS!

First decide if it is PWM with over current limiting, where the throttle input sets the PWM period and you only abort on a blow up the FETs overcurrent; or true phase current control to terminate the PWM cycle, where the throttle sets a current threshold that will be met irregardless of the PWM period required to achieve it.

Then design the micro as bare bones as you can on one board, perhaps with the main power supply bus. Decide if this power supply bus is 24V, 15V or 12V.

Design the 1st round FET power stage, perhaps a 12 or 18 FET so it's relatively cheap when the smoke gets let out.

Rough design the ultimate FET power stage for the Collosus motor.

Design the driver stage to drive both, with the isolation power supplies. Now only component changes are needed for the lightweight FET power stage. The basic driver will drive both.

This is cumbersome and not optimum; but will give you "building blocks" for experimental development. When you have it working, you can add the cute user interfaces and roll it into two boards.
Yup thanks that's it I did not want the simple controller design with out programing capabilities but I didn't think the best controller design in the world was needed either. I just want something I can control and program and understand. This is the second ever circuit board I have ever built from scratch! And will be my first time writing code from scratch. I fumbled with megasquirt and got some rough coding figured out but burning gas is so lame now that I have my true EV taste for a couple of years. I made a knock sensor curcit from scratch and it works well I am almost tempted to use it to the Stop pin on the fet driver but a flip flop looks better and simpler. Now I just need to figure out how to implement it!
 
I think you guys should start with something simple. Seeing as there's limited or no experience with the
PIC microcontroller... My first try was to make a LED go on / off based on a push button switch. Second
project was to connect the motor with 3 NMOS transistors (via drivers) to the PIC, force commutate with
speed control via the PIC's clock frequency (clock was coming from a variable frequency signal source).
Then I tried simple sensorless commutation by detecting ground supply crossing. Only then I added PMOS
(or high side NMOS) and PWM.

How much understanding do you guys have of how a motor works ? Are you at the level where you understand
that a (3-phase) motor is like a triangular wheel with 3 spokes ? A bit like a Wankel motor ? Rotating vectors ?
Do you know why 3 low-side NMOS transistors would be enough to run a motor in WYE config ? All this is
stuff you need to know...

I found taking baby steps a lot of fun as every evening I had something cool to try which had me hopping
on my seat with excitement (yey it works :D ). If you try to implement all your wishes in one go you'll
first spend 3 months coding followed by a big disappointment when you finally throw the switch and find
out it doesn't work.
 
Lebowski said:
I think you guys should start with something simple. Seeing as there's limited or no experience with the
PIC microcontroller... My first try was to make a LED go on / off based on a push button switch. Second
project was to connect the motor with 3 NMOS transistors (via drivers) to the PIC, force commutate with
speed control via the PIC's clock frequency (clock was coming from a variable frequency signal source).
Then I tried simple sensorless commutation by detecting ground supply crossing. Only then I added PMOS
(or high side NMOS) and PWM.

How much understanding do you guys have of how a motor works ? Are you at the level where you understand
that a (3-phase) motor is like a triangular wheel with 3 spokes ? A bit like a Wankel motor ? Rotating vectors ?
Do you know why 3 low-side NMOS transistors would be enough to run a motor in WYE config ? All this is
stuff you need to know...

I found taking baby steps a lot of fun as every evening I had something cool to try which had me hopping
on my seat with excitement (yey it works :D ). If you try to implement all your wishes in one go you'll
first spend 3 months coding followed by a big disappointment when you finally throw the switch and find
out it doesn't work.
The pickit3 I got has 12 lessons the first one is to turn a LED on and off. I Am pretty sure I understand brushless motors enough. Its not like me to take small steps its more like me to bite off more then I can chew then chew the shit out of it ;) Just ask methods my first email to him after ordering a 18fet kit a couple years ago just after joining ES. He said well how did you set it up on your other e-bike. I said other E-bike? If I wanted a Ferrari I would not buy a fiat 500 to get a feel for it first! He laughed then told Luke this stupid canuck will never figure out this controller.... A year later Luke told me he all this and said he thinks I built the best 18 fet controller. At that time I was fumbling though it. Now I feel like I am training for this and I have a great feeling its going to work. I will start will all this once my brothers bmx is finished most my parts are in for the controller other then the bread board for prototyping.

As for how long it takes well learning to write code is something I always wanted and there is also lost of other publicly listed BDLC code to use bits of to see what I think will work best. I have had a KICK ASS motor for over a year that nothing in the world can through real power at. (I don't thnk Kelly is going to work well) Its time to build somthing than can do what I need.
 
I looked at the lessons coming with the PICKIT... they're a good start but all written in C. Have you thought about which
programming language to use for this project ? C will be easier to code I assume (does it do fixed/floating point math
in C or does the C-code need to be close to assembler). I like assembler better though as you have more control
and it's closer to the hardware (and more challenging which makes it more fun). I don't know about portability (when
you want to use a different chip) but C should be more portable even though in the lessons I saw you really need to
know register names and things like that.
All in all, even though I'm an advocate for assembler I think sticking to C will make it easier in the beginning. When you
run into speed problems then you can still switch to assembler... my chf 0.02 (which translates to at least 10 US$ :D )
 
just found this fet driver
http://focus.ti.com/docs/prod/folders/print/drv8301.html

Features
Operating Supply Voltage 8V–60V
2.3A Sink and 1.7A Source Gate Drive Current Capability
Integrated Dual Shunt Current Amplifiers With Adjustable Gain and Offset
Integrated Buck Converter to Support up to 1.5A External Load
Independent Control of 3 or 6 PWM Inputs
Bootstrap Gate Driver With 100% Duty Cycle Support
Programmable Dead Time to Protect External FETs from Shoot Through
Slew Rate Control for EMI Reduction
Programmable Overcurrent Protection of External MOSFETs
Support Both 3.3V and 5V Digital Interface
SPI Interface
Thermally Enhanced 56-Pin TSSOP Pad Down DCA Package

maybe you can use this for your controller.
 
Interesting IC. Not sure if it's right for this, but it isn't up to me anyway. :)
He could put a discrete transistor buffer right at the fet.
For current controlled throttle, you would have to send throttle info over the SPI, don't see anything wrong with that.
They may have found an elegant solution to bootstrapping. They use bootstrapping to supply the switching current, then use a miniscule dc-dc that is just capable of maintaining the charge indefinitely (it probably wouldn't be able to supply external buffers indefinitely, though, it's intended for gates, not bipolar). I actually discussed using both dc-dc and bootstrap with someone, 'somewhere' on ES a while back and discounted it as impractical, but on an IC, like this.... Even on this project both might work if you thought the dc-dc might be a little marginal, all it would take is the addition of 1 diode per phase. (just typing as I think.)
<edit> Duh, I see why not, it's a 60v part. You weren't planing on going much over 45V or so, were you. :D
Would be great for a washing machine. A simple processor to handle commutation, then program the SPI from the MPU.
 
This might make things easier. Here is my personal compilation of FET 1/2 Bridge Drivers from various manufacturer's with key parameters listed.

 
Thank you.
That should give him something to think about. I'm worried he's going to get bored. :wink:
The significance of the '2 grounds' column is that you can provide a separate return from the low side FET's source, right?
 
oldswamm said:
The significance of the '2 grounds' column is that you can provide a separate return from the low side FET's source, right?

That is correct, the chip has a separate analog and a separate digital ground pin on the package.
 
oldswamm said:
Thank you.
That should give him something to think about. I'm worried he's going to get bored. :wink:
The significance of the '2 grounds' column is that you can provide a separate return from the low side FET's source, right?
Me bored? I ordered the on with the shut down pin bigmoose recommended. I also have a set of 6 ucc27424 drivers that claim 4 amps I need a decent amount of amps to run the hi power levels I want if I run a bunch of small fets in parallel or big fets or igbts no mater how you look at it! But shut down pin is a good idea for sure. The fet driver can be right at the fet on a different board and have the phase current sense on the board as well trough the flip flop to the SD pin.
 
Arlo, with the IR2113S what I recommend you consider is driving one, two or perhaps three TO220/TO247 FETs directly. When you move to a FET/IGBT module we will put an emitter follower down stream of them to amplify current.

Keep in mind that IGBT drivers are sometimes a bit different. Some manufacturer brands need a -5 volt bias to get them turned off quickly/reliably.
 
Ok, to drive the gates negative, we will need a negative supply for the low side, and 3 separate ones for the high side, right. Probably using DC-DC converters.
Can we just connect the COM and Vs pins of the ir2113 to the new negative supplies, or will the level shifters object, and of course com and ground have to be isolated? GOOD capacitors if so.
 
bigmoose said:
Arlo, with the IR2113S what I recommend you consider is driving one, two or perhaps three TO220/TO247 FETs directly. When you move to a FET/IGBT module we will put an emitter follower down stream of them to amplify current.

Keep in mind that IGBT drivers are sometimes a bit different. Some manufacturer brands need a -5 volt bias to get them turned off quickly/reliably.
I have seven of these FUJI 1MBI800U4B-120 on their way. Oldswamm figures +15 volts and -15 volts to run them so Can I just use a second set of drivers hooked up in reverse to turn them off?

Yeh I will build the first prototype with 4110 or 4115 TO220 then go from there. you never know I might descover a better fet before even hooking up the IGBTs What i want is a 200 volt or more 800 or more phase amp package Be able to run ~150volts and ~600 phase amps, I dont feel a bunch of TO220 packages will be the right way to do it!
 
You misunderstood me a little. As a mater of fact I pretty much said that I didn't know.
The Ton/Toff are specified at VGE of +/-15V, but the gate capacitance is specified at VGE = 10-0V.
The VCE on is specified at 0VGE in the data sheet I downloaded, so one of the above could be errors .
I suspect we will need a negative supply, but probably not -15. I expect BigMoose could tell us, if he can. :wink:
 
Arlo, I think you only need -5 to ensure turn off; but I haven't looked at the data sheet. Poke around IR's data sheets they have a nice integrated charge pump recommendation that generates the -5 off a conventional driver. If you can't find it, I'll dig it up. It's on this computer, "somewhere..."
 
If he's building the 'prototype' with FETs, the whole negative gate drive discussion is for the future anyway. (I told him I would build the prototype with 6 to220 IGBT with similar VGE requirements).
I would look at Fairchild FGA180N33ATD (180A-330V-TO-3P). $4/1@DK. They (Fairchild) will give samples to qualified developers. Doesn't require the negative gate drive, but won't hurt it either. A 30ohm gate resistor will give the ~300ns turn off (@0V), which is the best case for the big ones, for experience with that delay in your current shutdown scheme. Probably would be better for prototyping to find a small IGBT that required a negative VGE, to better simulate the big one (If I had the bandwidth, I'd try and find one).
<edit>The Fairchild IGBT probably isn't for 'simulating' Arlos big IGBTs, but it would make a neat 200V+ 150A+ 12 'FET' controller. <endedit>

What prompted the 'oldswamm figures' statement above was, I commented to Arlo via PM that the data sheet I downloaded looked strange, and wondered if it differed from his (same as the one below). I did comment that it appeared to need a negative supply (but I did use at least one weasel word :) ).

Leakage is specified at 0VGE. Gate capacitance is specified at 0-10V. But turn off time is specified at -15VGE. There are no charts for turn off time vs. VGE, or that show a VGE less than 0.

Gotta love the voltage vs. current 'curve'. A square. 1200X1600. I can't afford the bandwidth to download alternate versions (hopefully track down the FUJI home, and get it there).

I love the Idea of an unlimited controller. Just add more batteries, and maybe change out the caps. Lets see, 800V at 1300A, that's, that's defiantly out of ebike territory..... (Imagine the capacitor array.) <edit>My mistake, was looking at pulse not continuous (only 800A). I'm afraid this controller will be limited to well under 1MW even at 1kV.....<endedit>

What voltage rating are your big caps Arlo?

Bob
 
Arlo be sure you have a handle on the effects of charts on the top of page 9 of the attached datasheet. The thermal implications of ~3 Volt drop through the IGBT's per phase should be fully analyzed.
 
Back
Top