I found on internet in some articles that only customized ESC's for brush less motors can be controlled with a micro controller not ESC's (ESC's for brush-less motors) that available in market. is that true? or there is no restrict of controlling a brush less motor speed using a micro controller with a ESC which available in market?
Electrical – How to control ESC (electronic speed controlling) using a micro controller.
brushless-dc-motormicrocontrollermotor controller
Related Solutions
ESCs are controlled using what is commonly referred to as servo signals, this is basically just a 50Hz (20mS) square wave with an on time varying between 0.5mS and 2.5mS and being off the rest of the time, the timing of this pulse can vary somewhat and depends on the manufacturer of the unit. 0.5mS and 2.5mS is a good starting point for any project though.
This varying time between manufactures is why the programming feature exists, it's basically just a way for the driving circuitry to tell the driver what the minimum and maximum pulses is it will serve.
You already have everything you need to get this working. I'd recommend looking at the Arduino servo libraries as this will get you on your way quickly. The three black wires on the ESC are obviously connected to the motor, note that it only spins in one direction, to reverse this you can reverse any two of the three wires.
The thick black and red wires goes to your battery. The black red and white wires are for the controlling signal, red should be left unconnected (or you can power your Arduino from this point if you keep voltage levels in mind and your ESC is equipped with a battery eliminator circuit), black should be connect to the Arduino ground and white to the output pin used with the servo library. That's pretty much all there is to it. Best of luck.
First, there are several definitional errors in your assumptions:
- No, there is no way to do away with a ESC entirely, since the majority of what the ESC is doing is taking the small signal from the receiver, and converting that into a much larger signal capable of actually powering the coils in the motor. Most motors require far more power then the micro controller can supply.
- Even brushed motors actually require ESCs. A ESC is, at it's most basic, a specialized type of amplifier (brushless models require more local complexity). Maybe take a look at the wikipedia page on ESCs for more clarity.
- Brushless ESCs actually know the rotor position and speed to quite a high degree of precision. The issue is that with typical "hobby" level ESCs, there is no way to access this information. Howerver, to properly commutate a brushless motor, the controller has to know "where" in the rotation the motor's rotor is, so it can determine which coil to energize.
- When you say "Servo Motor", what exactly do you mean? Do you mean the little encapsulated "RC Model" servos? Those are not servo motors, but actually little self-contained servo systems. See the wikipedia definition of a servo-motor for more clarity.
So, in summary:
can a servo (brushless dc) motor allow doing away with ESC?
First, there is no such thing as a "brushless DC" motor. Motors are fundamentally AC devices. "DC" motors actually convert the DC power to AC internally, via the brushes. A brushless motor just replaces the internal brushes with solid-state electronics.does a servo motor accept control inputs such as "revolve at 100rpm"?
No. A servo system can accept such control inputs, but it would do so with a motor, a ESC/motor-driver of some sort, a mechanism for reading motor speed back, and a microcontroller/circuit to control the input to the motor driver in response to readings from the tachometer/speed-measurement-interface.does a servo motor offer an output saying "i am at 80rpm now"?
Again, no, but a servo system could offer such a interface.does a servo motor at 80rpm go to 81rpm faster if it is requested to revolve at 100rpm versus at 81rpm?
This is somewhat dependent on the servo system's configuration, but most of the time, probably. A proper closed loop system has to account for the time it will take to stop changing velocity, which is within the time for the 80-81 rpm velocity, and not within the time for the 80-100 rpm velocity change.
Think about it like a physical movement. If you run 10 feet and stop, would it take longer then running to 10 feet and continuing at full running speed? Yes, because you have to begin stopping before you arrive at the destination, as infinite acceleration and deceleration are physically impossible.the less precise questions implicit in the text above.
Please clarify
Realistically, there are numerous limiting factors in the precision of a control system (like a PID-based control loop). Even if you have direct feedback of the rotation speed of a motor, the ability of the control loop to correct for errors in velocity is limited by the available torque, the rotor inertia, the bandwidth of the control electronics, and the precision of the measurement interface.
Further reading: http://en.wikipedia.org/wiki/Servomechanism
Best Answer
It sounds like you are asking if off-the-shelf ESCs (Electronic Speed Controls) used in radio-control models for brushless motors can be easily controlled with a microcontroller. The answer is yes. You will need to provide a positive pulse whose width you can accurately control and adjust between 1 milliseconds (for minimum motor speed, or no rotation) to 2 milliseconds (for maximum motor speed). The pulse is 5 Volt logic level and repeats about every 20 milliseconds (rate is not very critical).
Here's a simple reference: http://www.endurance-rc.com/ppmtut.php
When you stop sending pulses (0 Volts), most ESCs will hold the last throttle setting for a little while and then turn off. This is done to filter out any glitches that the radio link might produce.
Also, there are ESCs that provide a reverse rotation and braking action (for RC cars). You will need to examine the manual to determine what type of pulse is needed to activate these functions.