ESC

From PaparazziUAV
Jump to navigation Jump to search

Introduction

ESC, Electric Speed Controllers, are required for controlling electric motors While most standard ESC's will work well with fixedwing, rotorcraft have higher requirements

Positive features for rotorcraft:

  • Faster response to input signal
  • Higher torque
  • Accept higher or other input signal (higher PWM input or I2C)
  • Less noise

Standard ESC can be used, but with a little work and an alternative firmware they will work better.

AVR (ATmega) based ESC

Simon Kirby develops an alternative firmware for ATmega based brushless motor controller, written in assembly.

Features:

  • 16MHz operation on most boards
  • 16-bit output PWM with full clock rate resolution (~18kHz PWM with a POWER_RANGE of 800 steps)
  • 24-bit timing and PWM pulse tracking at full clock rate resolution
  • ICP-based pulse time recording (on supported hardware) for zero PWM input control jitter
  • Immediate PWM input to PWM output for best possible multicopter response (but NOT where soft start or really any significant current limiting is needed!)
  • Accepts any PWM update rate (minimum ~5microseconds PWM low time)
  • Optimized interrupt code (very low minimum PWM and reduced full throttle bump)
  • Configurable board pin assignments by include file
  • Smooth starting in most cases
  • Forward and reverse commutation supported, including RC-car style reverse-neutral-forward PWM ranges, with optional braking

Programmer

Any ISP programmer will do the job, just some popular:
usbasp There are tons of cheap chinese copies out there. (use with avrdude)
mySmartUSB light Noob friendly software.


Related links

Hardware compatibility table (Openpilot)
Hardware compatibility table (google docs)
sim-/tgy git repository.

SiLabs based ESC

Some newer ESC are build with a Silicon Labs MCU with a Intel 8051 core.
They have a C2 programming interface and therefore need a special programmer.
Steffen Skaug provides an alternative firmware, written in assembly.

Features:

  • Can be configured for helicopter MAIN motor or TAIL motor operation. Or as MULTIcopter motor operation.
  • Main motor operation has governor functionality and multicopter motor operation has closed loop functionality.
  • Motor operation can be damped for fast motor retardation.
  • Many parameters can be programmed, either from PC applications for setup and configuration, or from the TX.
  • Supports 1kHz, 2kHz, 4kHz, 8kHz or 12kHz positive or negative pwm as input signal, as well as regular 1-2ms PPM signal.

The easiest way is to program and set up the esc with the BLHeli setup tool (no surce available :( ).

Programmer

Front side Back side Back side Back side

Related links


Open BLDC

Open hardware and open software brushless controller project. From small low cost up to 200A continous hardware, but currenty under development.

Anyone wanna help ? :)

Related links