VESC 4.12 Open source ESC by http://vedder.se
Design by: 10730
VESC – Open Source ESC
Our goal is to provide the community of electric skateboard builders an open source, electronic speed controller with advanced performance features, eboard specific functionality, and superior reliability.
VESC TECHNICAL SPECIFICATIONS:
The hardware and software is open source. Since there are plenty of CPU-resources left, the customization possibilities are almost endless.
STM32F4 microcontroller.
DRV8302 MOSFET driver / buck converter / current shunt amplifier.
IRFS3006 MOSFETs (other FETs in the same package also fit).
5V 1A output for external electronics from the buck converter integrated on the DRV8302.
Voltage: 8V – 60V (Safe for 3S to 12S LiPo).
Current: Up to 240A for a couple of seconds or about 50A continuous depending on the temperature and air circulation around the PCB.
Firmware based on ChibiOS/RT.
PCB size: slightly less than 40mm x 60mm.
Current and voltage measurement on all phases.
Regenerative braking.
Sensored or sensorless operation.
A GUI with lots of configuration parameters
Adaptive PWM frequency to get as good ADC measurements as possible.
RPM-based phase advance (or timing/field weakening).
Good start-up torque in the sensorless mode (and obviously in the sensored mode as well).
The motor is used as a tachometer, which is good for odometry on modified RC cars.
Duty-cycle control, speed control or current control.
Seamless 4-quadrant operation.
Interface to control the motor: PPM signal (RC servo), analog, UART, I2C, USB or CAN-bus.
Wireless wii nunchuk (Nyko Kama) control through the I2C port. This is convenient for electric skateboards.
Consumed and regenerated amp-hour and watt-hour counting.
Optional PPM signal output. Useful when e.g. controlling an RC car from a raspberry pi or an android device.
The USB port uses the modem profile, so an Android device can be connected to the motor controller without rooting. Because of the servo output, the odometry and the extra ADC inputs (that can be used for sensors), this is perfect for modifying an RC car to be controlled from Android (or raspberry pi).
Adjustable protection against When the current limits are hit, a soft back-off strategy is used while the motor keeps running. If the current becomes way too high, the motor is switched off completely.
Low input voltage
High input voltage
High motor current
High input current
High regenerative braking current (separate limits for the motor and the input)
Rapid duty cycle changes (ramping)
High RPM (separate limits for each direction).
The RPM limit also has a soft back-off strategy.
Commutation works perfectly even when the speed of the motor changes rapidly. This is due to the fact that the magnetic flux is integrated after the zero crossing instead of adding a delay based on the previous speed.
When the motor is rotating while the controller is off, the commutations and the direction are tracked. The duty-cycle to get the same speed is also calculated. This is to get a smooth start when the motor is already spinning.
All of the hardware is ready for sensorless field-oriented control (FOC). Writing the software is the remaining part. However, I’m not sure if FOC will have many benefits for low inductance high-speed motors besides running a bit quieter.