Still experimenting and I don't seem to understand a few things in the Vesc Tool.
What is the dfference between pressing the IB brake button and the larger full brake button?
In FOC mode with braking=true, what does happen at PID speed=0?
The reason I am so confused is because I do not notice any difference and in the realtime data diagrams I can't see much of a difference either. (At low speeds, so maybe my test is invalid and I would notice something at higher speeds.) No matter what I do, set the w=0 and hit the play button, set IB=10 or IB=60 (max value in the motor settings), full brake button. In all cases the brake resistance is approx the same.
Only when I click on Stop, the motor is free spinning. That I understand.
Anybody able to shed some light?
If the motor is on a bench and not moving fast or with low load, there will not be much difference between using the button and setting the brake current to a low value. The button will first run in current mode with the highest allowed brake current by the current limit, and when it slows down so much that normal modulation cannot achieve the brake current any more it will switch to shorting all motor wires to achieve a bit more brake current than normal modulation can do. The brake current does exactly the same, but instead of using the highest allowed current to slow down, it will use the current you set. The means that after the motor has stopped the commands will look and feel the same. Before the motor has stopped they will behave differently based on the load inertia, speed and resistance. One problem with the brake functions is that once the "shorting all phases" state is entered, it will stay there until the brake command is released, even if the current goes higher during that state.
With PID control, 0 RPM (or any RPM lower than the min RPM) means brake as hard as possible, essentially the same the brake button.
Thanks, that clears the matter up. So I will remove all extra code and simply set the RPM=0.
Thanks for helping us understand the situation Benjamin.
I'm using VESC6 for a regen application.
Is there a way I can remove the "Shorting All Phases" state? As speed drops near zero, I'm actually wanting to let the motor freewheel or have very little resistance to turning.
My App configuration = ADC & UART control, Current No Reverse Brake Center.
Not sure if it's related, I can't see a way to edit and upload the timeout_brake_current parameter from VESC tool, Or maybe remove it form serialization.
This is how the scenario currently looks as realtime data https://drive.google.com/open?id=1ZPdFV3cHHxxrIANSoHuqmGxrVBeYJ4KU
Ideally I only want current above zero if my ADC level is set to drive forwards.
Any advice on what I have to reprogram to get there would be very gratefully accepted. Thanks folks.
The kite turbine builder
Have dedicated a new pc with latest Ubuntu to my VESC6. Gone through the instructions here... https://vesc-project.com/node/310
Have tested making ... So I'm now ready to flash a custom version of VESC firmware with my V2 programmer.
So I'm looking through the vesc_firmware files to find the relevant timer function or command to get rid the switch to "Shorting all Phases" state... There are a lot of timers. It's likely somewhere in main.c or irq_handlers or conf_general.
Will try soon
The kite turbine builder