Extended BLDC-TOOL with Watt Control Mode, PPM Cruise Control, individual Throttle-Curve and Android App

Hello

I want to represent my modified BLDC-Tool with modified Firmware. The main goal of that modification is to have maximum possible control over the board. Because i didn’t like that i can use only 50% of my throttle at higher speeds. And the second big thought was to have cruise control via PPM with my mini remote. Just simply because it is possible. And after a while of fine adjustment, i found out that also a throttle-curve adjustment is necessary to have full control for high power boards.

So here are the Features:

Watt control mode

Finally, Watt Mode is made especially to give you much more control at higher speeds. At the beginning, you think the VESC has less power but then you learn that you simply have to pull the trigger a bit more. And when you start to carve at higher speeds you will definitely feel the difference. And another advantage is that when you set a watt limit (motor settings) the power feels the same over the whole battery capacity.

There are 3 new Control Modes for Watt Control:

  • Watt no reverse with Brake (recommended) (also exists for Nunchuk) Depending on your “Motor max” and “Battery max” settings you will loose throttle range at higher speeds in “Current Control”. With Watt control, it has the advantage that it uses the entire throttle range at any speed. This makes the board more controllable especially when you like carving at higher speeds. . This works at every speed as long as the Motor settings allow this much Power at this speed. Of course, at close to max speed (motor KV) the efficiency of the motor can’t produce that power anymore. But you can set the real maximum values in the motor settings and just define here how much power you want. So it is very easy to program a beginner mode with maybe 250 Watt. . The maximum Watts that can be reached are defined by the “Battery max” in the motor settings. You can calculate it by 3.6V a cell * cells in series * battery max. E.g. 10S4P battery with battery max set to 25A then you have 3.6V * 10S * 25A = 900 Watts. You can limit the maximum watts in the motor settings which explained further down in this post. If there is no limit set then it will calculate the maximum reachable watts by the actual Battery Voltage. . E.g. maximum reachable watts are 1000 Watt. Then 30% throttle will be 300 Watt, 50% throttle 500 Watt, 80% throttle 800 Watt and 100 % throttle 1000 Watt.

  • Watt (also exists for Nunchuk) “Watt” Control Mode works like “Watt no reverse with Brake” with the difference that you also have a reverse. The only problem with the standard reverse function is that when you brake hard the wheels can start to spin backward while you still move forward. . To avoid that i added the parameters “Enable maximum ERPM for direction switch” . . When this is enabled and you brake hard then the brakes will work like in “Watt with no reverse”. To drive backward you have to release the throttle and brake again. But this only works when you are below the ERPM (4000 in the picture). If you are above it will brake normally again. When you drive backwards and you are above 4000 ERPM in the backwards direction then it will accelerate backwards and won’t brake. If you are below 4000 ERPM backwards and you accelerated shortly to go forward and brake again then it will enable the normal brake again. To drive backwards you have to release the throttle and brake again. . How do i find the perfect ERPM for that parameter?_ The best is to go down a hill. Then do a full brake. You will see that the motors are not able at very low speed to stop the board from moving. If the value is set correct you can now release the throttle and brake again and the motors should start to accelerate backwards. If that is not the case then the value is too low. In my tests 4000 ERPM worked very well. For most setups that is like 4 km/h.

It sounds complicated but it becomes very intuitive after a short while. If you don’t need it to go backwards then just simply use “Watt no reverse with Brake”

  • PID speed control no acceleration This mode is experimental, when you press the throttle then it only activates the Cruise Control and hold the speed. Brakes work as normal. So there is no acceleration. This might be good to legalize the board in some Countries.

Offset for Traction Control

Problem is that the standard firmware always reduces the power at one VESC when traction control is enabled. Because the RPM reading of the VESC is not very precise and can differ by ±400 RPMS. And that means that at 500 updates per second the Current for the VESC bounces a lot. Alos when you make do a curve then the inner wheel is slower than the outer wheel. So the outer wheel will get less power and by this it creates a power steering. To prevent this you can define an offset where the VESC should not reduce the power and deliver the same current to both VESCs. Above that offset, the normal traction control will step in. If you set this to 3000 for the most setups this will not enable traction control if the speed difference between both VESCs is lower than 3 km/h.So the traction control only reduces the power when it is really needed.

PPM pulse can be precisely adjusted by center position

This way the center position can be adjusted to the real value. And from that position the max throttle values for both directions can be adjusted. So you can use the whole throttle in both directions. With the standard firmware mostly not all the throttle range can be used in one direction. This again gives you more control and sensibility. . . If you don’t know how to setup the Pulsewith values you can use the auto wizard which tells you what you have to do. before you use the wizard it is wise to disable the Control Mode first. Otherwise, the motors will start to spin (not really a problem).

Use Max Watts Limit

To limit the maximum watts the motor will output you can do that in the Motor General Tab by enabling “Use max watts limit” and define a watt limit.

IMPORTANT you have to do this for each motor individually, Master and Slave. If you set this value to 1000 then 25 % throttle will be 250 watts and 100% throttle will be 1000 watts. Of course, the throttle curve will have an influence. The battery max has the higher priority, So if the battery max is set to 10A and your battery has 36V then you can only produce 360W maximum. If you set the value to 1000 Watts then you can only use 36 % of your throttle because afterward the battery max blocks a higher power output. So just make sure that the battery max allows the VESC to produce that many watts. You can also easily limit the VESCs power output with this parameter so that it would be very easy for the kids to ride the board.

Throttle Curve

Here you can define the throttle curve. There are 3 different spots you can define along the throttle curve for braking and accelerating. When you change the values via the boxes then you will see the difference immediately in the Diagram. This is very intuitive and easy to understand. Please always use the three values and don’t try to set the values to the same value as another spot. That means don’t set the same value for 2 or 3 boxes. Always choose values that make sense. It works for the modes Watt, Current, PID and Duty Cycle. And also in watt reverse, if you use the ERPM limit. And it only works for acceleration. Braking is the same as always.

Here you can see the results of the throttle curve adjustments. . The Y values are there to define how much % of the power should be used and the X values define at which throttle position. So in the picture, you see that the brake curve is normal and the acceleration curve uses 12.5% power at 25% throttle, 30% power at 50% throttle and 60% power at 75% throttle. With the Edge sharpness Factor you can make the curves rounder. But if you use crazy values then the curves might get stupid. So be careful what settings you use here. But you can always see what happens with the power output in the diagram.

Cruise Control for dual setups via steering channel connected to the second VESC:

At the slave Vesc the steering channel can be connected and in the PPM settings the “Cruise Control via Secondary Channel” can be activated. This enables the cruise control when the throttle is not pulled and the steering channel is turned more than 30% to left or right. In this mode braking is always possible, just to avoid stupid reactions in a shocking moment. And when you pull the throttle the cruise control will also be deactivated to avoid that the throttle is accidentally pulled while cruise control is active and then have a big surprise when cruise control is released. So i hope that i can avoid scary situations. I recommend to set the Speed control settings in the Advanced tab to 0,00400 for KP and KI and leave KD to 0,00000. You can see my settings in the next screenshot For cruise control the 2 VESC’s need to be connected via can bus and the Slave VESC needs to send the status via can and the Master VESC needs to enable “Multiple ESCs over Can”

In the picture below you see that you have additional options when you use the steering to activate the Cruise Control. You can define what should happen when the Pulsewidth is negative (lower than 50%) or positive (higher than 50%). If you use the motor settings the behavior will be like you set it up in the Motor advanced tab. Otherwise, you can define if you want to allow the speed controller that it can use the brakes if you go faster or not. For example it is possible when you steer right that cruise control ´doesn’t brake when you are too fast and when you steer left that it dos use the brakes. This way you can use the cruise control for carving and downhill.

Hint: mostly when you steer right it gives lower signal and when you steer left it gives a higher signal.

Disable Breaking at Cruise Control

You can disable the breaking at cruise control with the parameter “Braking allowed for Speed Controller” because it is very annoying when you want to carve at cruise control. Whoever tried it knows what i am talking about. The disadvantage is that when you want to maintain a constant speed downhill the cruise control will not brake if it is faster then the speed when you activated the cruise control. BTW: I changed Cruise Control in BLDC mode from duty cycle Control to Current Control because it enables a much smoother ride. And when the breaking should be disabled at cruise control because you can really switch off the motors. In Duty Cycle Control there are always some small corrections with breaking which are disturbing.

So finally before i upload my code to Github it would be cool if anybody wants to give the whole changes a try. The modified BLDC-Tool only works in Ubuntu (No Windows). And you have to flash the VESCs with my modified Firmware because otherwise, the BLDC-Tool would not work.

I tested the modifications a lot and i didn’t change any safety features of the VESC. So it should not blow up the VESC in any way. But of course, i don’t give any warranty. So the testing is at your own risk. But i think there are some brave members here.

(Only for VESC Hardware Version 4.10 or higher. Actual Version 4.12 and VESC-X is fine.

If anybody wants to test you can download the files here. Windows BLDC-Tool, Modified Firmware, Ubuntu BLDC-Tool and Android app

App in Google Play Store

Here are some additional install instructions. Read them before please:

Be aware that this is only for Hardware Version 4.10 or above (VESC-X as well).

Important: You have to flash the Firmware with this modified BLDC-Tool.

Open the downloaded BLDC-Tool Upload (Flash) the new Firmware File “VESC_Ackmaniac_Mod_2_54.bin” which is available in the Dropbox link. Adjust the settings of your VESC. I would not recommend to use a saved config. It would be better and safer to set the values manually. So you should make screenshots of your old setup or write it down. It is always possible to flash back to Vedders original Firmware.

This Firmware has the Version 2.54. So don’t be surprised by that. When you start the Modified BLDC-Tool the first time it tells you that the Firmware is not the same. So you have to flash it with my modified firmware. So no mistakes can happen anymore with the Firmware flash.

But please be careful when you test it. I take no responsibility if something goes wrong. If you don’t except that then please don’t use this software. It is at your own risk. Before you take the first ride test acceleration, braking and cruise control (if used) on the bench and at low speed to make sure everything works properly. I don’t want that anybody gets hurt.

If you have trouble then let me know. And i really would appreciate some feedback.

And if somebody wants to honor all the work. (many hundred hours) :point_down::point_down::point_down::point_down::point_down::point_down::point_down::point_down::point_down::point_down::point_down::point_down::point_down::point_down::point_down::point_down: :point_right: Donations :money_mouth: Donations :money_mouth: Donations:point_left: :point_up_2::point_up_2::point_up_2::point_up_2::point_up_2::point_up_2::point_up_2::point_up_2::point_up_2::point_up_2::point_up_2::point_up_2::point_up_2::point_up_2::point_up_2::point_up_2:

When you want to send a donation then don’t use dots. (Germany uses commas). So use full numbers or a comma.

Or if you want to buy a Raptor 2 and want to save 100$ and support me with 100$. Raptor 2

85 Likes

WOW!.. this is awesome!

ill send you a VESCX beta for sure.

9 Likes

Don’t want to be unpolied but I would need 2 :innocent: because of the additional can bus communication and the cruise control signal over the slave VESC ppm channel. Only problem for you is that this would not support your nano-x because there is no second steering channel. But I think the reverse button could be modified for that. So if you have too many nano-x beta laying around feel free. :joy:

7 Likes

This is another Watt control mode which only enables Cruise Control. Acceleration is not possible. This way you have to push to gain speed and when you pull the throttle cruise control will be activated with a max power of the adjusted Watt. Breaking is always possible. (This was a test to legalize the Longboard in Germany. Because acceleration is not allowed. Only assistance to keep the actual speed might by OK.)

I’m waiting for this and would test it with a single drive but unfortunately I’ve to get Ubuntu first or wait for a Win-Version… What’s your experince, met some police? Do you have a video of the no acceleration-mode or something? Is it fun to ride?

1 Like

It is fun to ride. Like a mix of natural Longboarding and E-Longboarding. So you realize how much power your board produces. Other benefit is the less Wh usage which is in average at only half. Because no acceleration and not such high speeds. Other benefit is that you can adjust the Watts very accurate. Because in many country’s they have a regulation that only 250 Watts or 500 Watts are allowed. This is now easy doable. You even can add the Efficiency of like 90% (250 / 0.9 = 277 Watts Output). But it seems that this doesn’t legalize the Board in Germany. But i needed to give it a try. Maybe it helps for other country’s or they change the law. I am working also on other stuff at the moment which allows you to change the mode at any time via APP or the remote. So this way this would be the default setup and via app i can enable full power. Once you switch the board ON and OFF again you are back in this mode. (Let your mind flow for what that could be good for :wink: But keep it four you)

But anyway. This is only a additional Mode which is a try to get the board legalized. The main mode is the “Watt no reverse with brake” which gives you way more control at higher speeds.

7 Likes

I am wondering why there is apparently so little interest in this. This thread deserves way more views and comments. Personally I am just too cowardly to try it out before there are more reviews.

However: Where are the download links?

8 Likes

There would be a ton more interest if there was source code and pre compiled firmware available.

Also, only Ubuntu (for now?)

Looks cool though

Looks awesome mate!

I’m very interested Waiting for some testing and an OS X version

2 Likes

I have the firmware and the BLDC-Tool ready, but only for Ubuntu. Firmware would work everywhere but without the modified BLDC-Tool it doesn’t make sense. Does anybody know how to compile t for windows. Did some first tests and can get in running in QTCreator but not yet as standalone exe. Some help would be appreciated.

If anybody wants to test for Ubuntu send me your email via PM and i send you the files.

1 Like

I’d like the source code if you can provide that.

@Ackmaniac this is such great work! You’ve done an amazing job not only identifying features that esk8’ers need, but you also implemented them which is even more impressive. I’ll PM you for details on downloading.

Do you have plans to keep up with Vedder’s official BLDC-Tool releases and firmware? Or, perhaps, to collaborate w him directly to integrate your work into the official release?

1 Like

It would be great if i can leave a footprint in the Esk8 community if this would be part of the official version. I really think it has the potential. But i also think that Benjamin doesn’t have time at the moment to listen to any of those modifications because of the VESC 6. But i think that if i get a good feedback from the community then he could be interested.

1 Like

Vedder is developing a new VESC-Tool for Vesc 6.0

Was planning on using steering channel as on/off for leds/lights.

Could the cruise be set to enable with -30 pm Only so that +30 can still be used with a switch (and servo splitter)?

Just a tweak I thought might be helpful.

It would be possible to do that. But i think i have a better idea how to control the lights. But for that another device would be needed which can be controlled by the Remote. But more on that in the future. In Germany we try to avoid as much attention as possible because the police can fuck us badly here. But when i have my other stuff ready i might think about lights. But it could be possible to activate the cruise control at only one direction. It also would be possible to enable cruise control without brake when you steer left and cruise control with brake when you steer right. First of all i want to get impressions how people like the cruise control and if they have safety concerns. BTW cruise control in current control for BLDC mode works much better than cruise control with duty control. It is really smooth now.

1 Like

Windoz plz

1 Like

I am working on a windows version at the moment but i didn’t get far. Maybe someone here in the forum can help.

1 Like

I was able to get it running on Windows. But i need more testing to be sure that it works without issues. Didn’t try the firmware upload yet because i don’t have a spare VESC. If anybody has a bootloader (if it goes wrong terribly) and the balls to test it please let me know. Then i will send you the files for windows. The reading and writing of the settings and also the real time graphs work quite well.

3 Likes