Model Boat Mayhem

Technical, Techniques, Hints, and Tips => DC Motors (Brushed) and Speed Controllers => Topic started by: TurboTyne on December 15, 2012, 07:37:18 AM

Title: ESCs and pulse rates
Post by: TurboTyne on December 15, 2012, 07:37:18 AM
 I am seeking advice on the functioning of ESCs and I wonder if anyone can help who either has electronic knowledge or has experience of using commercial ESCs such as the Electronize units which, as I understand things, use pulse rates that can be varied (In this case from 2000 down to 10 Hz). I would like to know if this pulse rate is selected by the user or does it adjust automatically? If automatic, what determines the pulse rate – is it motor speed? If manual, how do you decide what to use – trial and error?

My reason for asking is that I have never used a commercial ESC but have been making an ESC as part of the control of an electric motor that drives a feed-pump for the boiler for a steam engine. This project was inspired by the really excellent steam plant developed by Flashtwo - as described in his thread Flash-steam plant control: (

The topic of the ESC has become a bit of a side track for me, but an interesting one (well at least I think it is  :-) ). I have designed and built a working ESC with variable pulse rates (from 15,600 Hz down to 61 Hz) but I'm curious to know how I can improve upon the design. I realise that commercial ESCs probably have subtleties built in that mine lacks  - in addition to overload protection which I could incorporate if needed.  From reading various sources (mainly concerned with larger motors than those used in small models), it seems the main feature of a good controller is to have a moderately high pulse frequency (about 20 KHz). There are a number of reasons for this e.g. the pulses should be higher than the frequency of the motors inner workings. Also my own tests with a MFA  RE385 motor (which I'd be happy to detail in a later post) indicate a better motor performance as the pulse rate increases up to my max of 15.6 KHz. This is seen in terms of the lowest speed attained before stalling, lack of noise, linearity between pulse width and speed and the shapes of the electrical pulses as seen using an oscilloscope. However, at least one post to this forum has referred to low pulse rates being best for low speed and the description of the Electronize (and possibly other) commercial ESCs refer to pulse rates as low 100 and even down 10 per second as being an advantage.
In my tests, for each of several pulse rates I measured: 1. Motor speed versus pulse width, 2. The speed and pulse width below which the motor stalls, 3. The pulse profiles. Also noise was assessed. All these aspects seem to show that the highest pulse rate is best for both high and low motor speeds and for the best general controllability - at least for this particular motor and circumstances. So I am puzzled as to why commercial ESCs seem to use lower pulse frequencies.

I'd be happy to show the details of my ESC but I'm not sure that anyone would be interested as normally there is probably little sense in building an ESC when commercial units are easily available.
Thanks,  Mike

Title: Re: ESCs and pulse rates
Post by: malcolmfrary on December 15, 2012, 10:53:31 AM
I would like to know if this pulse rate is selected by the user or does it adjust automatically? If automatic, what determines the pulse rate � is it motor speed? If manual, how do you decide what to use � trial and error?
From fiddling about that I did a lot of years ago, for reliable starting the important factor was pulse length to ensure that the motor didn't flop back to its original start point.  This, of course, varied between motors (talking model railways, Triang X04 motors on the one hand and the nice new coreless motors on the other here) so needed to have a manual user setting, as the the repetition rate for slow running.  Increasing the frequency was sort of automatic - it was dependent on the throttle setting.  Obviously, full speed happened when the pulses merged.  We were trying for realistic starting and stopping under automatic control, unlike what still happens so often on many display layouts even today.  We never quite cracked it with what was available back in the mid '70's.  Technically, very possible, but the amount and cost of hardware and the sheer amount of work involved stubbed the project.  That, and the guy whose loft the layout was in moved house.
The low pulse rates on ESCs were initially tied to the TX frame rate, 50Hz.  Early PIC based ESCs were constrained by the relatively low clock speeds of the internal processors which basically set the level of definition of recognizing input pulse length and outputting it to a reasonable level of accuracy.  Higher clock speeds = more chances per second to look and do.
Ideally, the output waveform needed to be as square as possible to stop the output transistors dissipating power - the motors might have been happier with a gentler waveform, and interference suppression might have been less picky.
Title: Re: ESCs and pulse rates
Post by: Subculture on December 15, 2012, 11:10:09 AM
Higher frequency switching leads to greater switching loss in the mosfets. Perhaps less of an issue in modern low resistance devices, but still something to think about.

Most of the brushed controllers I use operate at 1-2khz frequencies, and they give excellent low speed control, although i use good quality multipole motors. I have one controller which operates at 20khz, and the only difference I observed was that the motors windings don't sing at less than 100% duty. I understand that there are other advantages to not running too high frequency.

Title: Re: ESCs and pulse rates
Post by: TurboTyne on December 20, 2012, 10:24:05 AM
Thanks very much for the helpful replies.
 The ability to re-start at a slow speed after stopping is something I had not investigated with my ESC but I have now done this. In my system, restarting was fairly similar at the 15,600 Hz and 244 Hz frequencies.  Thus, overall, I find the 15.6 KHz pulse rate gives better performance than any lower pulse rate, even at lowest speeds. One aspect of this is that as the pulse frequency was increased the motor speed became much more proportional to the pulse width. This is shown in the attached graph.
 I am puzzled why I don't see the advantages seen by others in using low frequencies, although my results do fit in with documents produced by electronics companies such as Microchip which state that best low speed control is obtained at high frequencies where the current passing through the motor is pulse-free as the result of induction effects in the motor windings. I guess one factor is the type of load being driven since a boiler-feed pump probably places different demands on a motor compared to a propeller or a model locomotive. In order to find out more about the workings of my ESC I made some measurements using an oscilloscope. These results show a pulse free current at 15.6 KHz compared to pronounced pulses at 4 KHz - see the attached files. Although this gives no high torque “kicks” it also means there are no zero-torque intervals either. Of course, regardless of theory, the main thing is that an ESC works for the job in hand and there seem to be plenty of off-the-shelf options available that meet most modeller needs. So I guess, if my tests are of interest for anyone at all, it will be for someone who is either interested in building their own PIC-based ESC or in understanding what goes on inside the “black boxes”.
 My ESC is based on a PIC microcontroller.  This controls a 5-pole RE385 motor (from MFA/como drills) that is geared down at 100:1 to drive a 2 ram pump. In addition to acting as the pump speed controller, the same PIC also measures the motor speed and adjusts the pulse width of its ESC output to maintain a constant target speed. The value for this target speed is updated by sending values to the PIC via a serial data connection.
  In order to stimulate a stalled motor to start at a low speed it was simple to add a command that makes the ESC generate a very short (5 msecs) sequence of high pulse width pulses before resuming the lower pulse width again.
 Apart from simple explanations of principles of pulse width modulation, I have been unable to find any clear information about the performance of small DC motors in relation to ESCs and the only detailed descriptions of ESC principles that I could find (outside text-books) are in documents produced by large electronics companies.  In order to improve my own understanding of this topic I wrote an explanatory summary of my tests with the oscilloscope. (Should anyone be interested I'll be happy to send them a copy of this summary as a pdf file).