SRCMBC Banner
   



Home Built ESC

 

Home Built Speed Controller

This PICAXE based project was primarily designed for marine use in radio controlled model boats and supports batteries in the range 6v to 12v. It is a (relay) reversing type and includes a 5v BEC (battery eliminator circuit) to supply the receiver and rudder servo. Neutral (indicated by a red LED) is adjustable in the range 1.4mSec to 1.6mSec and has a small deadband to prevent 'creep'. The same circuit has been used with 30A automotive relays and better rated MOSFET, Schottky flyback diode and heatsinks for higher current applications, including driving an 8 wheel drive 12Kg 'featherweight' robot.

To give the relay an easy life, when direction changes are commanded, the PWM drive shuts down briefly prior to the relay being operated and sufficient time is then allowed for the contacts to finish 'bouncing' prior to PWM drive being re-asserted. Manufacturers quote relay ratings for *switching* but in this design the motor current at the time of switching is zero, and the relay's *carrying* capacity is far greater than its "8A" label suggests. The above is substantially true in the case of marine applications where there is very little inertia in the drive train and a moving boat doesn't back-drive the propeller, however in robot type applications substantial dynamo action can occur which will result in the relay contacts having to switch high currents - so beware! Likewise the power dissipation in the Schottky flyback diode D1 would then need watching too.

A PICAXE 08M microcontroller processes the r/c speed demand input and sets up the appropriate PWM signal to drive a power MOSFET directly. A 5v regulator chip performs the BEC function as well as powering the PICAXE chip and relay coil. With 6v users in mind the LM2940-5 low drop-out voltage regulator is specified so the circuit will work down to 5.5v input. Users of 8.4v and above have the option to use the cheaper LM7805 regulator which has a 3v drop-out.

Users should ensure that the boat motor is wired up in such a way that the relay is de-energised when the boat is travelling forwards - this minimises battery power consumption and power dissipation in the regulator. The relay is de-energised in neutral, but to prevent continual clicking if 'inching' the boat in reverse it remains energised when entering neutral (from reverse) for a period of four seconds.

A transistor buffer is used to condition the signal from the receiver. The output voltage swing of some receivers (especially 2.4Ghz types) has been found to be insufficient to trigger the PICAXE 08M (Schmitt Trigger type) input.

At power up, the speed controller remains disabled until the input demand is set to neutral (ie this condition must be met to 'arm' the controller). If no demand signal at all can be detected then the neutral LED will give a brief blink every 0.6 sec. If the demand signal is present but outside the neutral range the neutral LED will give a steady flash at about twice a second until the transmitter joystick is in the neutral position.

Once the controller has been 'armed' all subsequent input demands are checked to lie within the range 0.75mSec to 2.25mSec. If that condition is not met then the PWM drive is cancelled (stopping the motor). Again, if no demand signal at all can be detected then the neutral LED will give a brief blink every 0.6 sec. When the signal is re-established, ten succesive 'good' pulses must be received in order to re-assert the PWM (at the prevailing throttle setting).

The neutral LED also flickers very rapidly to indicate that full speed has been reached (set to 1.1mSec and 1.9mSec as the typical 'span' of most RC systems I've encountered).

As can be seen from the picture, the unit is easily constructed on stripboard and those of you wishing to build one for yourselves should follow the link http://www.technobotsonline.com/10a-motor-speed-controller.html where you will find additional technical detail, a stripboard layout diagram and parts list (all parts are available from Technobots).


Page maintained by Alan Bond Last modified: 14:04, 04 February 2012