ESC

From PaparazziUAV
Revision as of 12:53, 8 January 2014 by NeoFromMatrix (talk | contribs)
Jump to navigation Jump to search

ESC (electric speed controllers) are required for controlling / driving brushless dc 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.

Documents

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

owsilprog uses a Arduino
Silicon Labs Toolstick available at Mouser for 8€ (requires little modification)

Documents

BLHeli Setup tool
tutorial on oddcopter.com
bitdump/BLHeli git repository


Open BLDC

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

Anyone wanna help ? :)

Documents

Homepage
open-bldc git repository