You can control the amount of power the motor gets by using a switch and turning it on and off very quickly.
https://web.archive.org/web/20081204151759/http://googleads.g.doubleclick.net/pagead/ads?client=ca-pub-2757683140936137&dt=1228386005879&lmt=1612436521&output=html&slotname=6542966663&correlator=1228386005879&url=https%3A%2F%2Fmayothi.com%2Fspeedcontrol3.html&ea=0&frm=0&ga_vid=463190824.1228386007&ga_sid=1228386007&ga_hid=1035464916&flash=0&u_h=864&u_w=1536&u_ah=834&u_aw=1536&u_cd=24&u_his=12&u_nplug=3&u_nmime=4&dtd=M |
If you want the motor to turn slowly, the switch is longer open than it is closed:
If you want the motor to turn fast, the switch is longer closed than open:
By varying the width of the pulse, the motor can go from standstill (switch always open) to full throttle (switch always closed) and anything inbetween. If we use a perfect switch, no energy will be wasted (when the switch is closed the resistance of the switch is zero, thus all the energy goes to the motor. When the switch is open there is no current flowing, thus no power goes to the switch or motor.)
To make the motor turn smoothly, the switch is turned on and of a few thousand times per second.
Now we know how to control the speed of the motor in an energy-efficient way, but we must still interpret the signal from the RC receiver to know how fast we must turn the motor. The next page describes the signal from the receiver to the servo (of course we’ll plug in our speed control instead of a servo.)