BLDC Brain and Simple Brawn

hardym

100 W
Joined
Jun 7, 2008
Messages
109
Location
San Diego, CA
Jeremy started this concept of a Simple BLDC Controller brain in this thread:
http://endless-sphere.com/forums/viewtopic.php?f=2&t=23350
And he published some nice schematics using a MC33033 chip as the brain.

I thought the 'Simple' part of the concept could be improved with a better CPU controlled brain. That thread was:
http://endless-sphere.com/forums/viewtopic.php?f=2&t=24519

With some help, we finally figured out regeneration and some details of PIC operations.

So, I thought I'd combine both threads like an Oreo into a this brain-and-brawn thread.

The newest ideas are to
- start with a box.
- combine both the brain and brawn in the box, add external user inteface and programming if you like.
- switching power supply to save precious power.
- regeneration. Every body wants regen. Newest concept is to use a left brake switch to actuate the regen, then twist the right-hand throttle to increase level of regen. Should be pretty cool. Will need a test drive.

The parts are just starting to come together. Heres a video of the first 'turn':

http://www.youtube.com/watch?v=857sK4UeP4U

(Thanks miles for fixing this link:)
[youtube]857sK4UeP4U[/youtube]

The latest Processor is now a 16F886. It should have ample capacity and IO lines.
The software for this chip is abit different from the previous 690 brain. This code uses the same free Hi-Tech C compiler. The regen part exceeds the chip's stack if you use the free compiler. I'll keep the latest -886 SW udpated in this first posting. I've included a HMI menu system from an old project but none of the EEPROM configuation has been worked.
View attachment main-brain.zip


View attachment 1
This is mostly Jeremys brawn schematic. Some changes include a 12 v switcher powersupply based on LM5008, A 5v shunt regulator for the Brain, a dual op amp for current interrupt comparator and current sense amp, and caps on the inputs to the NCP5181 drivers -- There was some noise from the switcher that needed to be dampened.

.Brain_1.0a.jpg
The brain schematic is still in progress. Regen mostly works, but current sense is not connected
 
Awesome. Maybe you or Jeremy can post the brawn schematic again, because the one you posted in the "simple" thread is broken, after the forum upgrade.

edit - thanks a lot
 
"Note the regen is not working -- exceeds stack limit with free compiler."

Port it over to one of the AVR chips! The GCC compiler for AVRs is excellent, free, and has no stinkin' limits. Plus, clock for clock, AVRs run 4 times faster than PICs and have an internal architecture than tends to be over twice as efficient at generating code. After doing some incredible things with PICs, I abandoned them back in the last millennium and have never looked back...
 
Outstanding work on the controller! Have you tested the "brawn" board under loading yet? How much power, with the existing FET's, do you think it can handle? Is there room on the brawn board to add shunts to monitor phase current?
Thanks.
Martin
 
Phyllis: I've updated the first posting with the latest. The software still needs a bit more work. Regen is still very noisy.

Texaspyro: thanks. I've heard this before from AVR fans. I looked a bit into the ATtiny167, which is a close functional equavalent to the PIC16F886. This PIC has a fixed hardware stack of 8 levels. A good program should not exceed this limit, so by definition, my code is bad. A better solution is a software stack that is extra $$. (the stack problem was fixed by the way). The tiny AVR is not available in mini-dip which is a hassle for this type of prototyping effort. There are so many pins to choose from, It's hard to know the best combination without a lot of experience.

MauiMartin: The current sensors are included as part of brawn layout. There is room for 6 shunts, only one is installed in the video. I put in the current sense amp circuits tonight, they seem to work. The board has not yet been fully populated with commutation caps. For testing, I don't have a dynamo, but I do have a big hill and speedomoter. Hopefully It will get out this week.
Mark.
 
The usual way of working with SMT parts in a prototyping environment is to mount the SMT part on a carrier board that breaks out to 0.1" spaced pins. The boards are available for cheap on Ebay. Also there are the Schmart boards that make it particularly easy to solder down SMT parts. Avoid those damn QFN and other leadless chip scale packages...

Another series of processors worth looking at are the 32 bit ARM chips. Kinda weird when you can get a 32 bit processor in onsies for well under a buck. But for most stuff, I look to the AVRs first.
 
It't not pretty but it's coming together. Not yet been on a road test. That will have to wait for a couple weeks...

I've started to put heavy traces across the base. Note a few extra caps that squelch some noise.
IMG_20110312_134447-s.jpg

Here are the two board (brain and brawn), attached by a 13 pin header:
IMG_20110312_125051-s.jpg

The two boards together:
IMG_20110312_124809-s.jpg

Side View, showing plenty of space:
IMG_20110312_124925-s.jpg

Another view placed in the box.
View attachment 4

These last two show the displays going forward. Analog in, Speed, Current, and duty cycle
Last pic is in regneration mode, Left brake triggers 5% regen, and throttle controls the increased amount of regen.
 

Attachments

  • IMG_20110312_134946-s.jpg
    IMG_20110312_134946-s.jpg
    118.9 KB · Views: 846
  • IMG_20110312_135028-s.jpg
    IMG_20110312_135028-s.jpg
    60.1 KB · Views: 846
I’m working on this custom Brain/Brawn 6 Mega-FET solution, and have run a few test drives. I think I have the phase/halls connected correctly – get a good amount of power, The issue is low speed motor noise grinding sound. I think the noise is about the frequency of commutation.

I’m comparing the Brain/Brawn performance to my ‘standard’ 12fet infineon type controller, using a 48V battery, and 1000W con-his type motor. My 12 FET (75MF75 TO-220) controller makes a little noise at low speeds, but accelerates quickly. There are 2 smallish 480uF commutation caps, and heavy traces to all the FETs. I’m pretty sure the controller limits duty cycle on startup to 50%.

The 6 FET (IRFP4368 TO-237) custom Brain/Brawn project, makes a lot of noise and accelerates about the same. There are 9 x 220uF caps and fairly heavy traces to most power components (caps and FETs). I’ve tried limiting duty cycle to 50%, but same noisy results.

Tests on the controllers are using the same 48V battery pack.

I’ve got two ideas about the problem:
1) Reduce the commutation caps. These may be making a “surge” on switching and making the noise?
2) Create a software PWM profile within each commutation sequence to ramp-up and ramp-down the PWM to reduce the noise. I’m not sure the little PIC has enuf oomph to do this. Do other controllers do this?

Would appreciate any commentary – especially from folks that have created or used such mega-power controllers and put them on regular 1000W motors.

thanks
Mark.
 
Thanks for posting this.
 
Back
Top