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.
Olimex AVRISP MKII Open Source Hardware Programmer capable of ICSP, TPI and PDI, based on LUFA
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 ? :)