Brushless motor RPM regulator

Looking for help on where to start. I would like to build an RPM regulator to be used in an RC plane. The idea is to use an arduino mini, an optical rpm sensor and a standard brushless ESC to hold the rpm at a consistent rotational speed based on throttle position.

The function would be for the Arduino to read the inputs from the throttle and the rpm sensor and output a varying pwm signal to the motor esc such that the rpm is held at a steady state. So, regardless of how much the battery pack voltage to the ESC drops, the rpm will be held steady based on the throttle position input.

Any help on where to start would be greatly appreciated.

Start with the Arduino library, coming with your ESC, and run the example programs.

You have several things that you need to come up to speed on.

  • Controlling an ESC. Start with the KNOB tutorial
  • Reading your RPM sensor. Just print the values to the serial monitor.
  • Reading your RC receiver. PulseIn is easy but almost always the wrong way to do it. Read up on interrupt driven RC signal capture.
  • PID - This is used to minimize the error between your desired RPM and the actual RPM. Again, read up.

Loss of speed at given throttle position is a valuable marker of decreasing battery voltage signaling it is time to land. IMHO your idea seems nice but in reality you are trying to remove a valuable feedback and you will get nothing in return. Pushing the throttle a bit more to get the desired thrust is trivial to learn even for a beginner.

Thank you all for your quick responses and input!

@Smajdalf Just a little background - I've been building and flying RC since 1969 and been pretty much exclusively electric since 2002 so I do have a handle on everything you mention. I am also a retired machinery design engineer with a background in logic control systems. At the same time I have not played in the Arduino space much (Yet!) and was just looking for where to start in terms of information like suggested by DrDiettrich & vinceherman.

I did not explain well the reason for the device I want to build but basically it is for some experiments in very long range flight efficiency which will be compared to other methods of electronic and mechanical means.

In any case, thank you for your input, I have started reading/researching this whole world of Arduino which looks very cool.