It’s a tool for programming ESCs, and it also contains variESC firmwares which are compatible with the VESC project by Benjamin Vedder.
The main things this has are
Duty Cycle Current Limit Start default default updated to 85% per the poll
Fault Stop Time default default updated to 85ms
Support for Unity Super Single Mode
Support for Cheap FOCer 2 version 0.9
Cheap FOCer 2 version 0.9 funwheel lights and buzzer controls on the extra IO header
Willingness to accept code contributions and work in a normal open source manner
Your feature here
This software is licensed under the GPL which is a copyleft license. You are free to use it and modify it, but if you send it to others you MUST also send them the modified source code upon request. For this reason I have the binaries and executables being distributed by the very place that also distributes the source code. It makes things much easier.
Field weakening requires modulating the flux linkage. This will wreak havoc with the sensorless position observer if it actually DID happen.
you need rotor iron for this. Our motors don’t have rotor iron.
There’s so much shit wrong in the VESC’s position estimate that messing around with just about anything causes the motor to spin a little faster because doing so causes the current waveform to align closer to the Q axis.
Fault Stop Time is the amount of time you loose throttle and brakes after a fault. It needs to be long enough to protect the FETs but short enough to also protect the rider. I personally feel 500ms is way too long and I have been using values between 50ms to 85ms for years.
If you slam the brakes and hit a tiny pebble which throws an overcurrent fault — the difference between a 500ms fault timeout and an 85ms one is the difference between falling off the back of the skate versus merely saying “whoa, what was that?”
“default defaults” are exactly that, a default default.
Each hardware can provide its own default value — like for example Stormcore 60D provides a 90% Duty Cycle Current Limit Start default value — and then in all cases you can adjust those as you desire. The default default is used if your hardware provider hasn’t provided a default AND you haven’t adjusted the setting yet.
@b264 this is fantastic, well done. Our community has needed something like this for a long time.
I’m looking forward to seeing where this goes, if you can successfully manage this with the latest updates I am all in. Are you doing this alone? Or are you seeking help from others?
The part about iron makes no sense, ebike hub motors are basically the as ours, jus more poles and larger diameters and they run field weakening all day
There’s a difference between “phase advance” and “field weakening”
Or maybe they do have rotor iron and it’s not obvious.
The bottom line is field weakening requires increasing the motor’s effective kv, which means decreasing the strength of the magnetic field. That is accomplished by generating an opposing field in the rotor using the stator, ergo requires rotor iron.
Because of this, field weakening will decrease the effective flux linkage, which will wreak havoc with the observer the vesc uses because the PLL structure derives its correctional error from a static flux linkage value.
I think a core of people with experience in coding and knowledge of the project could be a powerful source. I’m thinking people like @ducktaperules and @DerelictRobot etc, I’m not saying they would be interested, but if they are…
Small steps of course, but this is a giant step in the right direction. Hats off to you