ESC
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
- owsilprog uses a Arduino
- Silicon Labs Toolstick available at Mouser for 8€ (requires little modification)
Related links
- BLHeli Setup tool
- tutorial on oddcopter.com
- bitdump/BLHeli git repository
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 ? :)