Difference between revisions of "ESCs"

From RobotCombatWiki
Jump to navigation Jump to search
m (→‎Selecting an ESC: Clarified 'Channel Mixing' as impacting only dual-channel ESCs)
(Expand firmware section, sunset BLHeli32)
 
(6 intermediate revisions by 3 users not shown)
Line 1: Line 1:
'''Electronic Speed Controllers''', or '''ESCs''', are circuits that let you control motor speed and direction remotely, using a signal from the radio receiver. One circuit board may have one or more motor controllers, and some small ESCs are integrated with a receiver to minimize size and weight for small bots.
+
'''Electronic Speed Controllers''', or '''ESCs''', are circuits that let you control [[Motors|motor]] speed and direction remotely, using a signal from the radio receiver. One circuit board may have one or more motor controllers, and some small ESCs are integrated with a receiver to minimize size and weight for small bots. They are called "Electronic" speed controllers to distinguish from an obsolete electro-mechanical type which were used in RC models long ago (1980s?).
  
[[File:Scorpion_Mini.jpg|thumb|Scorpion Mini ESC by RobotPower]]
+
[[File:Scorpion_Mini.jpg|thumb|Scorpion Mini Dual motor ESC by RobotPower]]
  
 
=How ESCs work=
 
=How ESCs work=
 
An ESC plugs into the receiver. It changes the pulses that would have moved a servo, and makes them into a variable motor voltage instead. ESCs have a connection to draw power from the battery, and another to attach to the motor(s).
 
An ESC plugs into the receiver. It changes the pulses that would have moved a servo, and makes them into a variable motor voltage instead. ESCs have a connection to draw power from the battery, and another to attach to the motor(s).
  
 +
=Selecting an ESC=
 +
[[File:BotBitzESC.png|thumb|Dual motor ESC by BotBitz]]
 +
'''Note''': Beginners may be quickly overwhelmed at the selection of ESCs available. It is convenient to choose ESCs that are specifically sold for use in combat robotics. A wide range of other ESCs are available for model hobby purposes, but you must select carefully. When in doubt, ask other builders.
 +
 +
Considerations in selecting a suitable ESC include:
 +
==Motor type==
 
There are two completely different types.
 
There are two completely different types.
 
*'''Brushed ESCs''' only drive brushed DC motors.
 
*'''Brushed ESCs''' only drive brushed DC motors.
 
*'''Brushless ESCs''' only drive brushless motors.
 
*'''Brushless ESCs''' only drive brushless motors.
*'''Hybrid controllers''' there are some ESCs like some from [https://home.castlecreations.com/ Castle Creations] that can be set to either brushed or brushless mode.
+
*'''Hybrid controllers''', like some from [https://home.castlecreations.com/ Castle Creations], can be set to either brushed or brushless mode.
 +
 
 +
==Safety==
 +
An ESC must stop running the motor if it stops receiving a signal; otherwise, this could result in a runaway bot, or a bot that can't stop its weapon or prevent self-damage.  If your bot doesn't "fail safe" with no signal from your transmitter, it will not qualify for competition.
 +
 
 +
==Battery voltage==
 +
ESCs are rated for a maximum voltage. Exceeding this voltage may lead to immediate failure of the ESC.
 +
 
 +
==Current rating==
 +
ESCs are given a current rating, for example "30A" for a 30 amp ESC. High-quality ESCs will have separate ratings for continuous current flow, and peak or maximum current flow.  Cheap ESCs are often advertised by the maximum current rating, which they can output for only a few seconds. You can still use them to save money, but be conservative about their capabilities; a basic "30 amp" ESC might be fine for a motor requiring 5 amps.
 +
 
 +
===Continuous current===
 +
An ESC must be able to provide the full speed motor current of the motor it controls for the full length of a match. If it can't, it will stop working or burn out from thermal overload.
 +
 
 +
===Peak current===
 +
If a motor is jammed or brought to a stop ("stalled"), it will demand much more current than normal. For some applications this won't happen much, but in combat robots, it happens all the time! If you get into a pushing match, get stuck, or your motor-spun weapon strikes your opponent and comes to a dead stop, peak current will come into play.
 +
 
 +
Your motor will have a published "stall current" or "locked rotor amperage" indicating the demand that will be placed on your ESC in this situation. Select an ESC that will not be damaged by that current level, at least not immediately. Try to be aware of your motors while driving, and shut off the power if a motor is jammed to preserve the ESC and wiring. Again, be wary of current ratings given for inexpensive hobby ESCs.
 +
 
 +
Consider using belt slip, a shaft clutch, or other methods to physically avoid stalling the motor. Combat damage may of course increase loading or cause a jam even if the bot was designed to avoid it.
 +
 
 +
==Size / Weight==
 +
Physical size and weight is always a consideration when choosing components for combat robots, especially in insect-class robots where every gram counts. If you allow extra mass and volume for your ESC, you can choose one with a larger heat sink which will be less likely to overheat and therefore more tolerant of overload.
 +
 
 +
==Sensor capabilities==
 +
Advanced builders may want to use brushless [[motors]] with shaft sensors and matching ESCs to better control speed, acceleration, or torque, making the bot easier to operate with precision. These units are more costly and require programming or tuning to achieve the desired performance.
 +
 
 +
==Additional features==
 +
*[[Battery_eliminator_circuit_(BEC)|Battery Elimination Circuit (BEC)]] - this takes the voltage from the battery down to a lower level that is more typically used in receivers and servos which eliminates the need for a second receiver battery. BECs on speed controllers typically don't provide a lot of current, so if you are using a 5 volt servo in your bot you should consider a stand alone BEC.
 +
*[[Radios/Mixing|Channel Mixing]] - Lets you operate multiple drive motors with just one control stick, even with the simplest radio transmitters. Applicable only to dual-channel ESCs that can control two motors.
 +
*Reversible - If you are using the ESC to operate any motor that has to spin both ways (drive wheels, for example), the ESC must be "reversible" — that is, capable of bidirectional operation.
 +
*Battery Monitoring and Protection - Shuts off the motor to save the battery from damage due to excessive discharge. Consider if you want your ESC to cut off power to your motor and leave you vulnerable late in a match -- it may be worth risking battery damage to keep fighting!
 +
*Thermal Monitoring and Protection - Shuts off the motor to keep the ESC from being damaged by overheating.
 +
*Tuning Settings - May help you better control the bot or make the most out of your motors. Particularly useful for brushless ESCs.
 +
*The ability to reflash (reprogram) the ESC; see below.
 +
 
 +
=Firmware and Reflashing ESCs=
 +
We've reached a time in history (and in hobbies) where it seems like every small device is run most cheaply by a tiny computer chip, including ESCs. They operate according to built-in programming, or firmware. Reflashing the firmware changes the program in the ESC's computer, and therefore how the motor is driven and powered.
 +
 
 +
This section will be a short introduction only, as the world of ESCs is ever-changing and far larger than just robots. If you're a beginner, buy ESCs from a '''[[Suppliers|supplier]]''' that specializes in robot combat parts and use their community, documentation, and tech support to help make the most of this technology.
  
=Selecting an ESC=
+
==Firmware==
'''Note''': Beginners may be quickly overwhelmed at the selection of ESCs available. It is convenient to choose ESCs that are specifically sold for use in combat robotics. A wide range of other ESCs are available for model hobby purposes, but you must select carefully. When in doubt, ask other builders.
+
'''BLHeli[https://github.com/bitdump/BLHeli]''' is a free and popular replacement firmware package.  '''BLHeli_S''' is a separately developed alternative (fork).
 +
 
 +
'''AM32[https://am32.ca/][https://github.com/am32-firmware]''' is an increasingly common firmware option. '''[https://oscarliang.com/am32-esc-firmware-an-open-source-alternative-to-blheli32/ This article]''' gives a brief introduction to its rise in popularity.
  
Considerations in selecting a suitable ESC include:
+
'''Warning:''' Note that as of 2024, '''BLHeli32''' is no longer being supported, and ESCs with BLHeli32 can't be flashed with new BLHeli32 settings. If you own, buy or inherit an ESC with BLHeli32, it will continue to work with the settings previously installed. It can be repurposed for AM32, but it will require some hacking to overwrite the firmware loader in the ESC. Once that is done, it can accept AM32 or other compatible options.
*'''Battery Voltage''' - ESCs are rated for a maximum voltage. Exceeding this voltage may lead to immediate failure of the ESC.
 
*'''Continuous Current''' - An ESC should be able to provide the anticipated current requirement of the motor it controls for the full length of a match. An ESC that cannot provide the required current for the required time will stop working or burn out from thermal overload. Note that inexpensive 'hobby' ESCs often advertise current ratings that are unrealistically high.
 
*'''Peak Current''' - If brought to a stop by excessive load (stalled) an electric motor can consume a great deal of electrical current. Motors should be geared to avoid stalling, but combat damage can increase loading. Estimate the peak current your motor may require and select an ESC that will not be damaged by that current level. Again, be wary of current ratings given for inexpnsive hobby ESCs.
 
*'''Size / Weight''' - Physical size and weight of a component is always a consideration when choosing components for combat robots.. This is especially true in small insect-class robots where every gram counts.
 
*'''Additional Features'''
 
**Channel Mixing - Lets you operate multiple drive motors with just one control stick, even with the simplest radio transmitters. Applicable only to dual-channel ESCs that can control two motors.
 
**Reversible - If you are using the ESC to operate any motor that has to spin both ways (drive wheels, for example), the ESC must be "reversible" — that is, capable of bidirectional operation.
 
**Battery Monitoring and Protection - Shuts off the motor to save the battery from damage due to excessive discharge. Consider if you want your ESC to cut off power to your motor and leave you vulnerable late in a match -- it may be worth risking battery damage to keep fighting!
 
**Tuning Settings - May help you better control the bot or make the most out of your motors. Potentially useful for brushless ESCs.
 
**The ability to reflash (reprogram) the ESC; see below.
 
  
=Reflashing ESCs=
+
==Reflashing Tools==
'''Warning: Advanced Topic'''. Beginners can ignore this section.
+
'''BLHeliSuite''' is a computer program made to reprogram brushless ESCs and adjust exactly how the motor is controlled. One common reason to do this is to take brushless ESCs made for other purposes, and make them fit for robot combat.  
  
We've reached a time in history (and in hobbies) where it seems like every small device is run most cheaply by a tiny computer chip. As a result, ESCs have become very similar and operate according to the same sort of built-in programming, or firmware. Reflashing the firmware changes how the ESC works, and therefore how the motor is driven and powered.
+
A popular online alternative is '''[https://esc-configurator.com/ ESC Configurator]'''. A Chromium-based browser like Google Chrome or Microsoft Edge is required.
  
'''BLHeli'''[https://github.com/bitdump/BLHeli] is a free and popular replacement firmware package. It's used along with a program on your computer called '''BLHeliSuite''' to reprogram brushless ESCs and adjust exactly how the motor is controlled. One common reason to do this is to take brushless ESCs made for other purposes, and make them fit for robot combat.
+
==Repurposing ESCs==
 +
It may be possible to reflash the firmware on an ESC meant for other uses to make it reversible. Fortunately, nearly all ESCs now fall into common design categories, using well-known chips and circuits which all work pretty much the same electrically. Here are some examples of ESCs that could be repurposed for robot combat.
  
It may be possible to reflash the firmware on an ESC meant for other uses to make it reversible. Here are some examples of ESCs that could be repurposed for robot combat.
 
 
*ESCs for '''car and truck''' applications have reversing ability, unless they have the very simplest of radio controls.
 
*ESCs for '''car and truck''' applications have reversing ability, unless they have the very simplest of radio controls.
*ESCs designed for '''airplane''' flight are often intended to spin a propeller one way only. To save weight, airplane ESCs may also have smaller, lighter heat sinks intended for air cooled operation.
+
*ESCs made for '''quadcopters and drones''' are normally brushless and originally programmed to spin propellers for lift only.
*ESCs made for '''quadcopter/drone''' applications are normally brushless and non-reversible, but can often be modified by reflashing.
+
*ESCs designed for '''airplane''' flight are also intended to spin a propeller one way only. Note that to save weight, airplane ESCs may also have smaller, lighter heat sinks intended for air cooled operation; these should be avoided or modified.
 
*ESCs for '''boat''' duty may not be able to reverse, and some are designed to be water cooled and have no heat sink at all.
 
*ESCs for '''boat''' duty may not be able to reverse, and some are designed to be water cooled and have no heat sink at all.

Latest revision as of 03:46, 7 July 2024

Electronic Speed Controllers, or ESCs, are circuits that let you control motor speed and direction remotely, using a signal from the radio receiver. One circuit board may have one or more motor controllers, and some small ESCs are integrated with a receiver to minimize size and weight for small bots. They are called "Electronic" speed controllers to distinguish from an obsolete electro-mechanical type which were used in RC models long ago (1980s?).

Scorpion Mini Dual motor ESC by RobotPower

How ESCs work

An ESC plugs into the receiver. It changes the pulses that would have moved a servo, and makes them into a variable motor voltage instead. ESCs have a connection to draw power from the battery, and another to attach to the motor(s).

Selecting an ESC

Dual motor ESC by BotBitz

Note: Beginners may be quickly overwhelmed at the selection of ESCs available. It is convenient to choose ESCs that are specifically sold for use in combat robotics. A wide range of other ESCs are available for model hobby purposes, but you must select carefully. When in doubt, ask other builders.

Considerations in selecting a suitable ESC include:

Motor type

There are two completely different types.

  • Brushed ESCs only drive brushed DC motors.
  • Brushless ESCs only drive brushless motors.
  • Hybrid controllers, like some from Castle Creations, can be set to either brushed or brushless mode.

Safety

An ESC must stop running the motor if it stops receiving a signal; otherwise, this could result in a runaway bot, or a bot that can't stop its weapon or prevent self-damage. If your bot doesn't "fail safe" with no signal from your transmitter, it will not qualify for competition.

Battery voltage

ESCs are rated for a maximum voltage. Exceeding this voltage may lead to immediate failure of the ESC.

Current rating

ESCs are given a current rating, for example "30A" for a 30 amp ESC. High-quality ESCs will have separate ratings for continuous current flow, and peak or maximum current flow. Cheap ESCs are often advertised by the maximum current rating, which they can output for only a few seconds. You can still use them to save money, but be conservative about their capabilities; a basic "30 amp" ESC might be fine for a motor requiring 5 amps.

Continuous current

An ESC must be able to provide the full speed motor current of the motor it controls for the full length of a match. If it can't, it will stop working or burn out from thermal overload.

Peak current

If a motor is jammed or brought to a stop ("stalled"), it will demand much more current than normal. For some applications this won't happen much, but in combat robots, it happens all the time! If you get into a pushing match, get stuck, or your motor-spun weapon strikes your opponent and comes to a dead stop, peak current will come into play.

Your motor will have a published "stall current" or "locked rotor amperage" indicating the demand that will be placed on your ESC in this situation. Select an ESC that will not be damaged by that current level, at least not immediately. Try to be aware of your motors while driving, and shut off the power if a motor is jammed to preserve the ESC and wiring. Again, be wary of current ratings given for inexpensive hobby ESCs.

Consider using belt slip, a shaft clutch, or other methods to physically avoid stalling the motor. Combat damage may of course increase loading or cause a jam even if the bot was designed to avoid it.

Size / Weight

Physical size and weight is always a consideration when choosing components for combat robots, especially in insect-class robots where every gram counts. If you allow extra mass and volume for your ESC, you can choose one with a larger heat sink which will be less likely to overheat and therefore more tolerant of overload.

Sensor capabilities

Advanced builders may want to use brushless motors with shaft sensors and matching ESCs to better control speed, acceleration, or torque, making the bot easier to operate with precision. These units are more costly and require programming or tuning to achieve the desired performance.

Additional features

  • Battery Elimination Circuit (BEC) - this takes the voltage from the battery down to a lower level that is more typically used in receivers and servos which eliminates the need for a second receiver battery. BECs on speed controllers typically don't provide a lot of current, so if you are using a 5 volt servo in your bot you should consider a stand alone BEC.
  • Channel Mixing - Lets you operate multiple drive motors with just one control stick, even with the simplest radio transmitters. Applicable only to dual-channel ESCs that can control two motors.
  • Reversible - If you are using the ESC to operate any motor that has to spin both ways (drive wheels, for example), the ESC must be "reversible" — that is, capable of bidirectional operation.
  • Battery Monitoring and Protection - Shuts off the motor to save the battery from damage due to excessive discharge. Consider if you want your ESC to cut off power to your motor and leave you vulnerable late in a match -- it may be worth risking battery damage to keep fighting!
  • Thermal Monitoring and Protection - Shuts off the motor to keep the ESC from being damaged by overheating.
  • Tuning Settings - May help you better control the bot or make the most out of your motors. Particularly useful for brushless ESCs.
  • The ability to reflash (reprogram) the ESC; see below.

Firmware and Reflashing ESCs

We've reached a time in history (and in hobbies) where it seems like every small device is run most cheaply by a tiny computer chip, including ESCs. They operate according to built-in programming, or firmware. Reflashing the firmware changes the program in the ESC's computer, and therefore how the motor is driven and powered.

This section will be a short introduction only, as the world of ESCs is ever-changing and far larger than just robots. If you're a beginner, buy ESCs from a supplier that specializes in robot combat parts and use their community, documentation, and tech support to help make the most of this technology.

Firmware

BLHeli[1] is a free and popular replacement firmware package. BLHeli_S is a separately developed alternative (fork).

AM32[2][3] is an increasingly common firmware option. This article gives a brief introduction to its rise in popularity.

Warning: Note that as of 2024, BLHeli32 is no longer being supported, and ESCs with BLHeli32 can't be flashed with new BLHeli32 settings. If you own, buy or inherit an ESC with BLHeli32, it will continue to work with the settings previously installed. It can be repurposed for AM32, but it will require some hacking to overwrite the firmware loader in the ESC. Once that is done, it can accept AM32 or other compatible options.

Reflashing Tools

BLHeliSuite is a computer program made to reprogram brushless ESCs and adjust exactly how the motor is controlled. One common reason to do this is to take brushless ESCs made for other purposes, and make them fit for robot combat.

A popular online alternative is ESC Configurator. A Chromium-based browser like Google Chrome or Microsoft Edge is required.

Repurposing ESCs

It may be possible to reflash the firmware on an ESC meant for other uses to make it reversible. Fortunately, nearly all ESCs now fall into common design categories, using well-known chips and circuits which all work pretty much the same electrically. Here are some examples of ESCs that could be repurposed for robot combat.

  • ESCs for car and truck applications have reversing ability, unless they have the very simplest of radio controls.
  • ESCs made for quadcopters and drones are normally brushless and originally programmed to spin propellers for lift only.
  • ESCs designed for airplane flight are also intended to spin a propeller one way only. Note that to save weight, airplane ESCs may also have smaller, lighter heat sinks intended for air cooled operation; these should be avoided or modified.
  • ESCs for boat duty may not be able to reverse, and some are designed to be water cooled and have no heat sink at all.