Linear Acceleration and VESC Parameter Calculations

You can sumarize it to

Motor Max = Power at low and mid speed
(Max = max amps the motors are rated e.g. SK3 80 Amps)

Battery Max = Total Power or Power at high speed
(Max = max battery discharge current x parallel batteys / no of VESCs )

Motor Min = Brake power at mid to low speed
(Max = max amps the motors are rated e.g. SK3 80 Amps)

Battery Min = Brake power at high speed
(Max = max battery discharge current x parallel batteys / no of VESCs)

But get a bootloader and use my firmware. Then you can use the watt mode which gives you more control and also you could adjust the throttle curve to have less power at the low throttle range which makes the board much better controllable. Also get a Bluetooth module because this way you can use the app and change the settings quickly to find the perfect setup or whenever you want during your ride. The good thing is that you could setup different modes so that you can choose the mode you like for that day. Like cruising, normal or race mode.

But i also have no explanation for your dropout during braking. Could it be that you have a BMS in between and that the BMS maybe cuts off because of a too high voltage during braking. BTW you can also raise your motor min to -60 if you want more brake power.

2 Likes

What we need is another control loop to limit aceleration, with this we would have a tame board that is still a monster climbing hills

Basically the board will have the same behavior as long that no current limit is reached

@Ackmaniac this is too hard to implement? I imagine it mess with the whole motor control portion of the code

That doesn’t really work. You would need a extremely precise erpm reading from the vesc to identify the speed changes when the the VESC detects the speed 500 time a second. And I can tell you that it isn’t precise enough. A gyro meter could do that but still you would have problems. Just think about the situation when you go full speed and slowly want to loose speed. So you only give a little bit throttle. But with your acceleration mode it would still try to accelerate. So there would be only acceleration or no power. But nothing in between.

@devin I know that. I could also make all that explenation way more complicated and precise. But then it would be only understandable and interesting for a very limited amount of people. So I try to keep it simple.

Are you sure? Because take for example the current readings, they oscilate like crazy, but with the PID controller we can smooth and control it and limit it to a maximum value

I can sketch how the control loop would be with that addition

Please make a sketch. Could be interesting. And what do you mean when you say the current reading oscillates like creazy. Because in current mode for example it is relatively stable when the throttle position doesn’t change.

My idea is to direct limit acceleration, not power, not current, but I will try your aproach first

If you look on the graph it appears stable because of the scale, but as you said, on the finer resolution that the current control actuate it is a lot noisier, but the control loop works just fine

The same thing would happen with the erpm and the acelleration that we would derive, but as a whole, this crazy jumping value would have a mean that could be used to limit the acceleration

It’s the same think if you attached an accelerometer to the board, on the first look you would say that the signal is unusable, but with a little bit of filtering we can get a pretty steady value than can be fed on a control loop

Something very similar is there already for the nunchuk speed control. When it is active and you accelerate you increase the speed. When you leave the throttle in idle it maintains the actual speed. Maybe someone with a nunchuk can tell us if it would be cool if this would be the standard control mode.

i used this mode some time ago but had forgotten before you mentioned

it was great but that behaviour only worked when cruise control was active, but not quite what i(we) want (and due to a not so reliable button that was getting stuck i had to disable before something worse happened, my board has some scars due to that, i had to jump and it continued and flown away)

My idea was still use torque control (current) but with a limited acceleration that was not tied to the current limits

i don’t want to limit the total torque (low current limit) because that bring compromises on hills

i created a topic on vedders forum to see what he thinks

Did you try my watt control mode with a adjusted throttle curve?

not yet, is on my to do list as soon i have some free time, probably on this weekend

i think thats your mistake, we don’t want linear power. Linear power isn’t linear acceleration, for linear acceleration (as long the road gradient does not change) we want constant torque

From the power equation Power = Speed (rpm)*Torque(Nm) we can see that for a very low speed, we need very little power to achieve torque

This diagram that i plot shows that, not so linear because i included aerodynamic drag

2 Likes

@devin what you try to achieve is linear acceleration. Try current control. That is exactly what it does. Set motor and battery amps to the same value and there you go. That was also what Vedder wanted to achieve with the current control. If you would have the same watts at any speed it would result in a creazy acceleration at the beginning which gets lower and lower the faster you go. You should get a VESC and build a board. Then you could test it yourself.

1 Like

Hi there! It looks like you two @devin and @Ackmaniac know much more than a typical newbie user about the vesc and its working principles (including the tuning in the software)

I had a question - is the vesc bldc tool - developed enough (with text descriptions and other info) that a regular user can comfortably adjust the settings?

I believe this is not true, so I had the idea, whenever it was possible to ‘‘update’’ the text info for fields and show it next to each parameter. Is it possible to include this in a ‘‘update’’ or custom CW, like @Ackmaniac you developed for the ‘‘watt control mode’’?

I’m just curious how it will turn out once I get my vesc someday! I probably will, as I am interested more in the logging possibilities of the vesc!

Besides that - many users seem to be asking for some ‘‘standard values’’ etc… plus, I believe, they are watching onloops or someone’s else video on how to set up the vesc… (which sometimes might be time consuming also…)

So yeah - just curious - what would be the best way for a new user to find all the neccesarry info about the vesc at the beginning without asking forum questions or guessing on his own :slight_smile:

That is a fantastic idea. Maybe the whole forum can help to create the texts. Then i can implement the texts in the next firmware version. You can see them when you hover with the mouse over the parameter. Then it will be shown as toolltip. So please feel free to post text. But try to keep it short.

1 Like

Thanks for catching my idea @Ackmaniac ! I just tried to imagine what a better and more user friendly software improvement there might be, as it looked like a lot of users are not very familar with the software they need to use…

1 Like