Not simple BLDC controller It RUNS! :)

Njay said:
Since you're so eager to learn about everything, let me suggest you try KiCAD, a suite for electronics development. PCB Express is nice but will lock you and your design to their PCB fabrication services.

i 100% agree with that. an other good pcb layout program is Eagle. i just watched some youtube movies and i was be able to lay out an pcb (without doing it ever before)

i also found an cheap boardhouse. http://www.seeedstudio.com/depot/fusion-pcb-service-p-835.html?cPath=185

the quality of the PCB's is far beyond what i expected for the cost. definitely good enough for proto type controllers
 
bigmoose said:
The field of AC induction motor control is called Vector Control, or Field Oriented Control. The H bridge and power section is nearly identical to a BLDC in topology.

The math in the processor is MUCH more complicated. Clarke transform, followed by Park transform... followed by inverse Park transform... you not only need to know what you are doing, you need to program this part of the firmware to run at the "speed of light."

You also need a rotor position sensor with a fair amount of accuracy. This sensor replaces the granular Hall sensor scheme that we use with much finer accuracy.

If you are not 100% successful with a BLDC controller, you should not even be thinking about a Field Oriented Controller.

The more I think about it, the more it seems possible... Think I'll build this when the current bike runs, as a v2.0 so to speak.
Think I'll use one uC per phase, run a sine/cosine oscillator in the algorithm, some current measurement circuit based on
a combination transformer / hall sensor. It'll be fun, thanks BigMoose for putting the idea in my head :D
 
Found these... http://ixdev.ixys.com/DataSheet/GWM100-01X1.pdf But I need something with 150-200 or more max rating on the voltage! And the highest amps possible!
 
Morning Arlo,
Feeling better, so I haven't been living online.
You couldn't pull enough heat away from that IXYS part to run a bicycle (at least not that would satisfy most people). Fork lifts, they're dreaming. <edit>On further study, that part could be made to work for a modest ebike controller, with proper design (they don't give a W limit). I'm sure 6 TO220 would beat it for current. Would make for a simple compact design.<endedit>
Regarding your shutdown question on the last page, I'm of two opinions (or 3).
Since the shutdown pin on the driver is 10ns slower than the input, the internal shutdown is at most only 40ns slower (MAX), and also depending on the delay of the external logic used with the external setup (you don't need the flip flop with the internal shutdown). With the slow speed of the big FETs that's probably less than 10% increase in shutdown time. Also you have the delay of the current measurement to deal with, with similar tradeoffs to those with the FETs (more current means less resolution and/or speed) (as near as I can see :) ).

On the other hand, with the little TO220s, it might become significant.

On the other hand, if you plan on real current, you need to learn to deal with the delay, right?
For example, if you want 500A, set the dac low, say for 450A. If you measure a peak of 470 for a couple cycles, try setting to 465 (you would use a %/t formula), and if you read 492, go to 471, etc. If you read >505, cut the set current by 2 times the overshoot. If you do get overshoots, the software needs to trim the constants and limits in the formula to eliminate it. Unless you have a lot going on, all three modes can be taken care of in the main loop.

And as always, I'm not claiming any expertise, just my take on that subject.

Have you made any decisions on current measurement?

Bob
 
I realy like the melexis part http://www.melexis.com/Asset/Datasheet-CSA-1V-DownloadLink-5313.aspx its one of the fastest i can find and its uber easy to install!
 
Too sensitive.
You have to have it 20mm from the conductor for 500A. If it's that sensitive, it will pick up other phases and the battery cables. Probably even capacitor currents? Do they have something an order of magnitude or more less sensitive? If you could get something you could put close to the cable, you could probably put a can around it to cut down on interference.
<edit> The resolution is specified at t/INT=1ms. I don't know what t/INT stands for, but I would guess this part is 3 or 4 orders of magnitude to slow for current control.<endedit>
 
Im just about done my brothers bmx so i will do some digging asap. But i thought i saw the diy electric car guys using this on a brushed controller.
 
oldswamm said:
Too sensitive.
You have to have it 20mm from the conductor for 500A. If it's that sensitive, it will pick up other phases and the battery cables. Probably even capacitor currents? Do they have something an order of magnitude or more less sensitive? If you could get something you could put close to the cable, you could probably put a can around it to cut down on interference.
<edit> The resolution is specified at t/INT=1ms. I don't know what t/INT stands for, but I would guess this part is 3 or 4 orders of magnitude to slow for current control.<endedit>
Whats your sugestion then?
 
I haven't researched it. Any search is a real hassle with my slow connection. Each PDF takes minutes to download. Like I say, if you could find one 1/10 as sensitive, you could get it close enough so you could put a can around it (you know, like a shielded transformer). I guess you could put that one 30 or 40 mm away and still build a can around it..... <edit>forget the last line, forgot the speed problem. :oops:
 
Hi,
From my minimal research, it doesn't look like any hall based setup is likely to be fast enough. Can ANYONE point to a FAST hall sensor that can be made to work with high current?
It seams to me that using a 3 op amp instrument amp, at shunts in the output buss bars, is probably the fastest. You might use a short length of the output buss bar, at least if you used a temp sensor on it, at the 'shunt', so you could temperature compensate it (in software).
Have you figured anything out?
Bob
 
oldswamm said:
Hi,
From my minimal research, it doesn't look like any hall based setup is likely to be fast enough. Can ANYONE point to a FAST hall sensor that can be made to work with high current?
It seams to me that using a 3 op amp instrument amp, at shunts in the output buss bars, is probably the fastest. You might use a short length of the output buss bar, at least if you used a temp sensor on it, at the 'shunt', so you could temperature compensate it (in software).
Have you figured anything out?
Bob
Yeh I was realy thinking about mesuring a section of each phase wire or the buss bar for voltage drop because its just a failsafe! I will experiment with this soon.
 
I rewound collossus and have the same specs as I started :~) So not bad for my first motor but it looks like I will have to work at making a controller to work with 8uH inductance! Unless I lower the KV and up the volts...... I wound in a why I have to sets of windings on the outside of the motor so I can use two controllers or run it in series or parrallel.... Maybe with igbts I will run it in series at 300v!
 
oldswamm said:
Hi,
From my minimal research, it doesn't look like any hall based setup is likely to be fast enough. Can ANYONE point to a FAST hall sensor that can be made to work with high current?
It seams to me that using a 3 op amp instrument amp, at shunts in the output buss bars, is probably the fastest. You might use a short length of the output buss bar, at least if you used a temp sensor on it, at the 'shunt', so you could temperature compensate it (in software).
Have you figured anything out?
Bob


You can also use halls at low speed (upto, I don't know, 100 rpm or so ?) and then switch to sensorless...
 
Lebowski said:
oldswamm said:
Hi,
From my minimal research, it doesn't look like any hall based setup is likely to be fast enough. Can ANYONE point to a FAST hall sensor that can be made to work with high current?
It seams to me that using a 3 op amp instrument amp, at shunts in the output buss bars, is probably the fastest. You might use a short length of the output buss bar, at least if you used a temp sensor on it, at the 'shunt', so you could temperature compensate it (in software).
Have you figured anything out?
Bob


You can also use halls at low speed (upto, I don't know, 100 rpm or so ?) and then switch to sensorless...
He is talking about hall amp sensors not the SS41 halls we use to sense position. I have had collossus spinging obver 6000rpm 60,000erpm (10mag pairs) with a controller sensing the halls the whole time. So I am not concerned with that.
 
OK, I misunderstood :oops:

Inspired by this thread I will try to build a sinusoidal motor controller (see the post by the bearded dude) and will also
need to measure the instantanious motor current.
My thoughts are going towards a variant on 'put a simple resistor in each of the three phases to measure current'.
Problem is you need a very low resistance to limit dissipation at high currents. I think this should be possible
by using an appropriate (few windings, air-wound) transformer though.... Current sensors are also for sale but
expensive, here in Switzerland you can order a 50Amps sensor for $15 at Farnell's.

I will start my sinusoidal attempt by first building an output stage. I decided to use a fully optocoupler driven
version. So as far as the microcontroller goes it will need to turn on/off 6 LED's to turn on/off the 6 output
transistors. This will also make the design re-usable as other people (with much more Watss than my 250) can
use the exact same microcontroller program. Just need to make your output stage opto-coupler controller and
make sure the power transistors are off when the LED's are off !

Took reception of a US $500 order yesterday, a big box full of MOSFET's, optocouplers, drivers, 20 uControllers,
PICKIT3 (got the same kit as you, been using a homemade programmer so far, now I can finally use the 16 bit dsp
type stuff instead of being limited to the 16F88) etc etc :D X-mas came early this year !
 
Found myself with a lot of time on my hands last week, and no internet... so I ginned up a quick 3PH BLDC "brain" board based on the dsPIC30F3010. Power supply and power FETs and drivers are off board. Plain vanilla design, no "secret sauce" type stuff. Board is 2 in by 2.5 inches. Not optimized, very little esd, no emi mitigation... 'cause it is a 2 layer board with no ground plane or power planes... thus "cheap" to fabricate.

Uses a mix of surface mount and through hole, as I don't like all the space that through hole parts take, but I use them to get signals from one layer to the other as my proto boards come off an LPKF router and do not have plated through holes.

"User" Interfaces are:
  • 0-5 volt throttle signal
    conventional hall sensors
    5 Volt RS232 interface for telemetry, logging and control expansion
    e-brake input
    PICkit3 programming interface

Requires 12 to 15 Vdc supply

Power board interface

  • Qty(2) AtoD inputs
    Qty(4) DtoA outputs
    Qty(3) Fet 1/2 bridge output
    Fault input to kill the PWM drive
    Qty(2) undedicated digital channels

I intend on prototyping it in the weeks (months :twisted: ) ahead. Trouble is the ol' moose is a busy guy... so no promises. Just something to get you thinking...
3PH-BLDC-MTGtech-Brain.jpg
 
OMG DAVE You just saved me so much time! I downloaded kicad but have not had much time to lern how to use it! Thank you so much! :shock:
 
Arlo1 said:
I downloaded kicad but have not had much time to lern how to use it!

They don't call it Kill Yourself Cad without reason. :evil: It's better than it was... but still gets a lot of gripes.
 
Here is the schematic for the proposed dsPIC30F3010 3PH BLDC "brain" board. Have at it gents, tear it to shreds!
 
:D

1) Add an opto at the RS232 interface? (it's actually probably a TTL UART, so still needs inverting and level translation)

2) Do we really want to go linear on U3? I agree that is more robust, but let's say we have 10mA for the PIC, 1mA for support logic, 1mA for pullups, 1mA for halls and throttle, and 20mA+ for the still to be added always useful LEDs, that's at least (12 - 5) / (10 + 1 + 1 + 20) ~ 219mW, it will get quite hot without a heatsink.

3) Any special reason for Q1 being a PNP?

Very nice work :). I like the 10 Ohm protective resistors.
 
Njay said:
1) Add an opto at the RS232 interface? (it's actually probably a TTL UART, so still needs inverting and level translation)

2) Do we really want to go linear on U3? I agree that is more robust, but let's say we have 10mA for the PIC, 1mA for support logic, 1mA for pullups, 1mA for halls and throttle, and 20mA+ for the still to be added always useful LEDs, that's at least (12 - 5) / (10 + 1 + 1 + 20) ~ 219mW, it will get quite hot without a heatsink.

3) Any special reason for Q1 being a PNP?

Very nice work :). I like the 10 Ohm protective resistors.

1) I have a "standard" RS232/CAN/USB module that I interface so things are set up for what I like to do. By bringing the pins out the way I did, everyone can roll their own interface if they want/need it. You don't need the RS232 for typical "dumb" controller operation. You can add your opto's off board. Remember PCB real estate cost money! I don't like to put "everything" on the board. There are layered economic reasons for doing it this way in the commercial world.

2) Note from the data sheet on the LM2931:in the TO-263 package, θJA is 73°C/W; If the TO-263 package is used, the thermal resistance can be reduced by increasing the P.C. board copper area thermally connected to the package: Using 0.5 square inches of copper area, θJA is 50°C/W; with 1 square inch of copper area, θJA is 37°C/W; and with 1.6 or more square inches of copper area, θJA is 32°C/
W.

I am sinking to 0.17 sq in of copper. Using your numbers, 0.219 W * 73 °C/W = 16 °C Not a problem! Besides, don't know if this matters, but I have used this regulator many times before...

3) Yes. Think it through to the next level, do the FMEA. This is the more reliable version with respect to shutdown, I believe.

4) Thanks! ... raaats, :oops: guess I left in some "special sauce" that's going to get me whacked by the "corporate" Chief Engineer! :mrgreen:

Keep 'em coming! Can't believe I used to hate design reviews 30 years ago! :wink:
 
Isn't starting with a PCB not kind of backwards ? I mean, the main thing about building this controller
and the thing that determines everything else is the algorithm running on the PIC. Shouldn't we start from there ?

If you're going sensored, my feeling is the main problem will be the on-the-fly measurement of the currents
in the 3 motor phases.... I think the rest will be lots of work but doable.

The real challenge will be sensorless though.
 
Start where you wish. I'll take my schematics and layouts down... and stop commenting, if that is what you desire.

I guess I have no experience in this area that is relevant...
 
Back
Top