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.
I’ve read a lot of the ES posts regarding VESC’s, but am still kinda confused on the setup. Do you need to tinker with it, and change setting based on your motor, gearing, etc? Or can you just hook it up and run it stock? I know there are all sorts of cool things the vesc allows you to do, but to be honest, I wouldn’t really tap into that unless it was super easy and seamless. I also don’t have a computer running linux, so I don’t see how I would be able to change the settings. I haven’t even seen a receiver lead on a vesc, so how do you control the beast?
The setup is what scares most people, originally you needed linux on your PC. Then you needed to follow about 20 steps to configure it, which was actually fairly straight forward. I had never installed linux, but within about an hour i had it setup and had the vesc configured.
However, all that is in the past. There has been windows & mac versions of the software developed so now you just install from your normal PC.
The VESC does need to be configured specifically for your motor, but that is why it is so good! It knows the parameters of your motor so it can perform at max efficiencies. The configuration is automated. Basically you connect the motor & press a button, it gives you some numbers which you type into a screen & click update.
There is also an android app being developed.
You are right the VESC has lots of features that are not important to most people. But what is important are:
Its open source, so people will be able to work on it and constantly make it better. like FOC
It is actually really compact, so it makes building a slim eboard easy.
It doesn’t get hot. So don’t need big fans or heat sinks
The performance is very good. You can start from stationary with non-sensor motors.
It is also hall sensor compatible, if you have them installed into your motor it will auto detect them and use them to further improve start up torque performance.
The brake functions really nicely. Very progressive & feels well balanced… it doesn’t feel like your going to get sling-shot off the board because you tapped the brake slightly too hard.
Last but not least, it has built in safety features. Temperature & Current control. this is the single biggest advantage. It is easy to blow your motors pulley to many amps… It can’t happen with the VESC.
Basically it is the best ESC ever made. Well at least that is what the creator Ben Vedder set out to achieve when he started building it.
WARNING - VESC PRICE RISE
Due to production cost increases and the diminishing value of the Australian Dollar
VESC - ADVANCED OPEN SOURCE MOTOR CONTROLLER
The VESC is becoming a world wide hit amoungst RC & DIY Enthusiats & It is our mission to ensure as many people as possible can get there hands on one of these ‘Pre-Assembled’ open source motor controllers at a great price.
Currently we offer “pre-assembled” VESC for purchase online at www.EnertionBoards.com
USD $115
EURO $105
POUND $74
AUD $154.60 (New Price $169.00)
Shipping in August.
Not one for the electronics side of the spectrum (will have to learn eventually), but this looks seriously sexy! Looking forwards to strapping them under my current build!
Can you please clarify this for me? does that mean that this VESC does not need an arduino board to use the nunchuck. The nunchuck can interface directly to the ESC?
You only need the Nunchuk receiver to be connected to I2C, the rest is built into the VESC. No Arduino anymore
Works great!
I still think that the nRF solution might add security and since Benjamin already implemented it into the VESC FW I’m going to try it as well. Nunchuk has to be modified with an Nano & nRF though, testing it at the moment. Jacob seems to be a little bit further though I guess with this approach.
40x60mm without the capacitor. It depends how the battery cables are placed. It might add another 20mm. The motor wires could be skipped also and the connectors could be soldered directly to the board.