I was interested in building a quadrocopter, the classic robot enthusiast project. I know generally what to do, except when it comes to speed controllers. The speed controllers used in FRC are way too heavy, too expensive, and require the wrong amount of voltage. I am looking for a light, inexpensive speed controller that can support a 5v input, as well as PWM functioning. Anyone have any ideas?
It’s not running yet so I can’t attest to it’s quality but they came highly recommended to me by various sources. Plus, they were cheap enough.
You’ll have to provide more information to get good direction out of us
What type of motors are you looking to use, brushed DC similar to a CIM in function, or something else? Specs are very helpful.
For your application, using several power MOSFETs would be appropriate. I’d assume your propellers only need to spin in one direction (powered by DC motors), so you wouldn’t have to use a full H-bridge.
thank you for the quick replies. Thanks Andrew, that is definitely cheap enough and seems to work fine (as long as you can verify that it does support PWM). As for EFoote’s reply, can you elaborate on how to use a MOSFET?
I can confirm it’ll use PWM since that’s what the arduino I have as my controller outputs and I just double checked the open source code I’m using and it uses PWM.
I’l try to explain as best I can, but I’m not quite sure what your background is / how much you already know.
MOSFET is an acronym for metal–oxide–semiconductor field-effect transistor.
You can use a MOSFET in your circuit as an on and off switch. You would use the PWM output of your micro controller to control the speed of your motor by turning your motor on and off very quickly with the MOSFET, much as the motor controllers used in FRC.
Since your motor only spins in one direction, you only need a single MOSFET to control the motor. The motor controllers used in FRC use H-bridges, which are a combination of 4 transistors.
Here is an example of a single MOSFET driving a motor. By varying the duty cycle of the PWM signal, the motor’s speed can be controlled.
EDIT:source - http://www.picotech.com/applications/pwm_drivers/
the picture is broken so I can’t see it, but I think I know kind of how it works. Because PWM by its design is pulses, a MOSFET just sends out 5v whenever it gets a positive signal from PWM?
i’ve run that esc on a battlebot. they do pretty much exactly what the descriptions says.
soft start is annoying if you are trying to start with a heavy load on the motor and go full throttle but otherwise i can’t complain.
yes they are pwm based.
It depends on the MOSFET, but yes, sending a high signal will either turn it off / on.
Also, very important in the image that I haven’t described yet is the snubber diode. Since a motor is an inductive load, simply turning it off while it’s running is enough to destroy most MOSFETs / circuits.
thanks for the pointer about the diode. finally, any suggestions about specific mosfets to buy (don’t forget, will be operating at 5v)? and do i need to use resistors at any point, whether from the PWM signal etc.
oh, and is a “snubber diode” a specific type of diode or will any type do?
Have you played with transistors before? A MOSFET, as mentioned earlier, is a very high powered transistor. Typically, though it is possible not to, you would have a filter capacitor attached. When the MOSFET is turned on, it will fill up the capacitor a little. If the MOSFET is on a greater portion of time, say, 1 second, the motor will get more power, and thus spin faster. However, if you have the MOSFET on for a lesser portion of the second, the motor would get a lower power and be slower. This will only work on brushed motors, and maybe those brushless motors with a built-in controller, like the ones in the computer you are using. If you are using brushless motors, like most quadcopter builders, you would need an ESC, a speed controller meant for brushless motors, much like the ones Andrew suggested. Also, why are you running 5 volts? What Battery technology are you using? If you are building a small flying machine, 3.7 volts (1s LiPo) may work. However, for most medium-large quadrotors, 7.4v (2s LiPo) or 11.1v (3s LiPo) would be optimal. If using Arduino for the controls, have a 5v regulator powering the control system, but have the motors/escs running off unregulated voltage. The ESCs that Andrew suggested have a built in UBEC (Universal Battery Eliminator Circuit), a wierd name for a buck voltage regulator, rated for 5v, 2 Amp. That should fall aplenty to power your Arduino and any other circuits. Some of these can severely reduce your cost, without reducing your quality. As a matter-of-fact, you may be able to get a better quality than those expensive ESCs from HobbyKing!
I would like to know what is your prefered power source, to help you get better information
They are programmable, perhaps it’s an option to turn off soft start? It’s not really an issue for me, I shouldn’t ever be going to full throttle suddenly.
yeah there is way to turn it off. i just wanted to point out that soft start is a thing because i was having cogging issues and thought it was the motor for the longest time before i tried disabling soft start.
As far as I can see, that speed controller is meant for 3-phase motors, AKA. brushless motors. That’s why there are two input wires and three output wires!
yea I’m stupid with the voltage thing. wanted to only have one power source, but that wouldn’t work too well.
I deleted my post about the brushless motors because i looked it up and realized that I definitely do not have brushless motors
what type of capacitor would you recommend?
Please elaborate. What is your power source?
Also, you were wondering about the capacitor: any capacitor will work. In this case, you probably would like a Electrolytic Capacitor. Make sure the voltage ratings are 3 TIMES the max voltage of the qc. 1000uF - 5000uF should be good enough for a filter cap. Also, don’t forget the protection diode. Make sure the diode is set up to only allow current in one direction, to prevent reverse current!
I didn’t do anything yet, still in planning stage, so I wasn’t exactly sure how to power it yet. I wanted everything to be run off of the same batteries, but it is now apparent that I would need to have 1 set for the controller and 1 for the motors, etc.
NO. You need an UBEC. That will reduce the voltage of the main battery to 5V for your Arduino. This is what you are looking for! Otherwise, you can always hook up ye olde’ 7805 or LM2940 to power up the controls! I am not an Arduino user. I’ve been taken by Parallax. However, if Arduino has the regulator built in, it would be horribly inefficient. Make sure to use VDD, not VIN, if using a UBEC!