Brushless motor controller

I need a few sets of experienced eyes to take a look at this motor control shield.

Would it be appropriate or overkill for a project using motors such as these?
http://www.teamnovak.com/products/brushless/motor_spec_chart.htm

I have already read a number of posts regarding the use of an ESC to control the motors as servos. I would rather control the motors with a shield. Feedback will be greatly appreciated.

-egstein

Are you looking to just turn the motors on and off, or are you looking to vary their speed? Brushless DC motors contain electronics and typically can't be run in reverse and don't take kindly to being PWM'd unless you use a L-C network to smooth out the pulses.

Motor shields are normally based on an H-bridge so that the motor can be reversed. They are overkill when you don't want to or can't reverse the motor - you need only a single transistor or mosfet and a diode.

The brushless motors used in model helicopters, car, boats etc, usually do not have onboard electronics but are driven by Electronic Speed Controls (ESC) which provide the timed pulses to the motors and derive their timing information (usually) from back-emf waveforms from the motor. (Some larger motors have hall-effect position sensors).. Some ESC models do provide reverseability. The motors don't know.

A good overview is here: Electronic speed control - Wikipedia

So I think we're talking about a 3-phase bridge circuit here, more like a "Y" bridge. The brushless motors simply have 3 leads coming out.

Arduino can drive such a motor-ESC combination as if it were a servo, with speed control and sometimes reverse.

It is also possible to treat 3-phase permanent-magnet motors like these as stepper motors, as I understand. (Pointers, anyone??)

Motors and ECSs are pretty low-cost now on Ebay.

Thank you for your responses thus far.

The motor will be used to cycle a gearbox, driving a piston. The piston is released at the end of the cycle and pushed back with a spring. Therefore, the load on the motor will increase as it operates. It does not need to be run in reverse, however it does need to be capable of braking (in effect, reverse?). More simply, I need the motor to stop running at the conclusion of one cycle of the gearbox, or, after 2, 3, 4, 5, etc. cycles of the gearbox. Any over-spin of the motor causes the system to be ineffective.

dc42:
Are you looking to just turn the motors on and off, or are you looking to vary their speed?

Once the motor is turned on, it only needs to maintain speed. I would however like to vary the speed of the entire system. For example, run the system at X rpm or Y rpm. But that can be accomplished in software, correct?

I have yet to get my hands on one of the motors above, however they are RC sensored brushless motors. Each motor has an internal sensor assembly containing hall and temp sensors.

The idea behind using these motors is to be able to provide torque to the system without the spin-up required in non-sensored motors. I am more inclined to use brushless instead of brushed for efficiency.

Comments? Thoughts?

-egstein

His blog is misleading because it says:

The "float" state is important for BLDC control or for disabling a phase entirely

But that shield is not a "brushless" shield although it has 12 FETs on it. read down to the bottom:

I would especially like to see a brushless motor controller next...and I have a feeling it will happen very soon.

Although it should be able to be used to control a brushless motor controller if you connect the hall sensors to it
This guy: http://www.etotheipiplusone.net/?p=760
says he turned it into a brushless shield, but fails to provide any code

Code is important here, unless you want to go on tangent for a couple weeks learning how brushless controllers work; and you would probably incenerate your board at least a few times by implementing the wrong code.

Also be warned, there is no current limiting on this shield, which should be commonplace for a motor controller

I have problems with both of these pages; They both show pictures and videos of this dinky shield powering massive motors with no load, which is a pretty pointless test. That brushless motor draws 300A; I almost bought one. Not to diss the board, I love the board, so sleek, but no way in hell it's going to power those motors with any load. there's absolutely no cooling!

You didn't mention which of the motors on that page you are interested in; there is a huge array of power consumptions there. you would need to read up on the mosfets that he uses, read a bunch of documents about paralleling MOSFETs to analyze if the motor you want is going to work with that shield (with no heatsink/cooling)

http://mcmanis.com/chuck/robotics/projects/esc2/FET-power.html

I will self-identify. I am a so-called "armchair expert" - I have never built a motor controller, brushless or otherwise. I started planning out a controller for that very motor in the first link I posted. Almost bought the motor, and I was determined to make a controller for it. Then I started looking through forums and seeing how friggin hard it is. Guys have put thousands, tens of thousands, of dollars into trying to build brushless controllers for high power applications and failed. I decided to cut back to a simple brushed controller, and even that is hard at the power levels I'm talking (17KW). probably not as much of an issue with the smaller stuff though.

RC brushless motors don't have hall sensors so are not a beginner project to control. Also they cannot be driven at very low RPM as the back-EMF waveform is needed for commutation control (a high-speed ADC is needed to track these waveforms at the full range of motor speeds). If you want to control an RC brushless motor you are much better off using a purpose built brushless ESC (use the Servo library to drive it).

Most brushless ESCs for RC models are one way only, annoyingly. Some can have the braking configured with a proprietry programmer unit.

I am sure your problem would be easier to solve with a 2-terminal DC motor...