Set Speed Control of Brushless DC Motor using Servo Library

vubangbk_Cap:

retrolefty:

Through trial and error, any lower than 60 the motor will stop running, however, it is still relatively fast. Is this a limitation from my ESC or from my motor? I would like to understand the process of what is going on better so I can have more precise control over the speed. Any input would be greatly appreciated!

That is my experience with brushless DC motor/ESC used in R/C airplanes also. They don't control real well at slowest RPMs because the ESC is using electrical feedback pulses sensed on the three motor windings to determine speed and such pulses can be very small at slow speeds. Once above that 'threshold' the speed should be pretty linear Vs the servo.write command values you give it. So I would suggest not trying to attach any kind of external RPM feedback circuitry as the ESC is already a 'speed controller' you just have to characterize it's performance vs your servo write values.

Also using servo write microseconds rather then servo write degrees will improve the response curve of the motor/esc.

Lastly, know that brushless motor/ESC speed control relationship is dependent on the mechanical load on the motor. Some motor/ESCs work poorly or erratically with no load on the motor. Try to test out using real world motor loads.

Lefty

i have a stupid Question want to know.
can i use the signal from 3 wires of the ESC to feedback to the CPU to have a close-loop
i want to know the speed of motor and display in lcd

best regards

In theory one could but it would be somewhat software challenging analyzing/designing. Also if the motor runs at higher then 5vdc winding voltage then reading them back as analog signals would require external resistor divider networks.