First and tenth posts in the thread have EggRider screenshots. Other screenshots are available in the "gone wrong" guides on the web, such as this one.Not following. Have some screenshots to explain for us thick headed folk?
I admit that there is some head scratching that needs to go into tuning an M620 for your needs. Before Smorgasboard took the time to understand the parameters and lay down the facts that he came up with and shared here it was really a catch as catch can deal sorting through a bunch of other "methods" that were quite frankly shots in the dark. I know as I went through them all and although I finally settled on a tune that by default really worked better than any of the screenshots I copied it was by modifying them blindly until I got what I could live with.Not following. Have some screenshots to explain for us thick headed folk?
Thanks, and yes I agree that the often misunderstood Voltage table needs to be setup right to make any of the subsequent tunings workable.If you take your time and read and understand each line item starting from the basic tab onwards you will get there. I would say that setting up your Continuous Get to establish your base voltage is the most critical step and also the easiest to do by following his directions.
Just for reference, at the moment this screen doesn't display correct data on the current app/firmware. Eggrider devs have not finished on it yet. Believe everyone should see 1217 mV and no change with pressure.2A) For EggRider, Go to the Torque Settings tab, then click the "speedometer” looking link at the top right. This will bring up the "Torque Live Data" tab, which looks like this:
Hello, I do not agree a lot with your point 10)How to Setup your Delta Voltage Table, step-by-step.
Follow Steps 1-7.
Then, if you're going to be happy with a linear Pedal Force to Motor Current mapping follow the first set of steps 8-13. Don't be discouraged by the number of steps, I've made each step easy and small. If you want to get fancy with progressive torque curves, then follow the second set of steps 8-14, which include downloading a spreadsheet I've created.
1) Hook up your EggRider as your display, or Bafang programming cable to the motor and Windows computer running the Bafang App.
2A) For EggRider, Go to the Torque Settings tab, then click the "speedometer” looking link at the top right. This will bring up the "Torque Live Data" tab, which looks like this:
View attachment 149866
2B) For Bafang Windows App, go to the Torque Settings tab and click the "Continuous Get" button near the bottom.
3) Read the "Torque Voltage" (EggRider) or the "TqVoltate(mv) field and write that number down. Add 1 or 2 to that for use as your "Base Voltage".
4) Sit on the stationary bike and backwards rotate a pedal until it's horizontal in front.
5) With the brakes firmly applied (and perhaps a low PAS level), start to put pressure on that front pedal. The Torque Voltage/TqVoltate field should start to increase. If things feel safe, apply more and more pressure to that pedal until you're standing with all your weight on the pedal. If you don't weigh more than 133 pounds, that's OK. After riding more and thinking about it more, there's not much point in having the torque system go beyond what you're capable of when riding. If you have an EggRider, you can record your phone's screen while you're riding in this mode and then look over the video to see what the maximum voltage value you produce is.
6) Read/remember the maximum value you see. This is your Max Voltage (you don't enter this number into any setting, but you'll need it for future calculations).
7) Get off the bike carefully. If you're using the EggRider, click the "Settings Page" button to go back to the Torque Tab.
Now if you want to do a linear Torque to Motor Current map (I recommend doing the progressive, listed further below), do the following:
8) Do a "Read" to be sure you're looking at the settings currently in the motor.
9) Enter the new Base Voltage at the top.
10) Subtract Base Voltage from Max Voltage. Divide by 12, round fully up (209.1 -> 210) and enter that number into the top 4 Delta Voltage fields.
11) Enter double that number into the bottom 4 Delta Voltage fields.
12) Save/Write to the motor.
That's it!
But, if you want to get fancy and have a progressive/non-linear torque map, then you'll want to download this spreadsheet from my Google Drive:
View attachment 149873
8) Enter the Base Voltage into cell B1 and Max Voltage into B10 (green are cells you input, blue are your output values).
9) The cells B2 to B9 should then update. If you wanted a linear mapping you could enter those values into your Settings page now, but you didn't need this spreadsheet for that.
10) Decide how aggressive you want the progression to be. This spreadsheet is setup to create a symmetrical "S-curve" where the amount you modify the 4 lowest torque mapping is balanced by an equal modification in the other direction of the high torque mapping. The value in G10 shows the sum of your values, which should always equal Max Voltage-Base Voltage. If G10 is smaller then you'll never get MaxCur(%) in use, and if it's greater then you'll hit MaxCur(%) before you top off the pedal torque sensitivity range.
11) If you weren't able to max out the Voltage in Step 5, above, then you'll need to modify the calculations accordingly. If you don't know how to do this, DM me and I'll help you out.
12) I decided to try 175% on the lowest torques (0kg-5kg), 150% on the next level, 125% on the third level, and a 1:1 (100%) mapping in the middle. Note that putting 175% in F2 caused F9 to drop to 62.25%. Having a longer/smoother take off from no pedaling needs to be compensated for somewhere - I did that by having a shorter/faster ramp at the highest torques. The idea is that humans can modulate how much low torque they're applying pretty easily, but will have a hard time differentiating between a Kg of force at the high 50kg-60kg levels, so might as well just ramp away because the rider is pressing hard and simply wants MORE POWER!
13) Personally, I felt that keeping a linear mapping in the middle of the torque range was best, but you should be able to modify F5 if you disagree. You could also try putting in lower than 100% in the F2-F5 fields, which would have amps ramp up faster in the beginning, but that's probably going to create a more jerky take-off.
13) After entering F2-F5, everything should update. Copy the values in blue, G2-G9 into the appropriate fields in your Delta Voltage table.
14) Hit "Write" and go for a ride. Start at a low PAS level and carefully accelerate on level ground. If all seems good, you can start to raise the PAS level and try other things.
That's it. Oh, except the bottom of the spreadsheet shows the reverse math. In the green "A" column entries you can enter a pedal force being applied and 3 columns over see what force that will map to if you had, as Bafang defaults to, a linear Delta Voltage table. Here's a sample:
View attachment 153226
For the settings above, pressing down with 20 Kg of force is equivalent to pressing with 27.5 Kg of force if the values were default linear. These Output Kg values are the ones sent to the Spd Table in the rest of the Torque Settings tab, and that may help you decide what you want the Start/Full Kg and Min/Max Current % to be for those entries.
You can enter any value in the green fields to see what the result would be.
If you use this, please let me know - either here or via DM - how it worked out for you. If you find bugs in the calculations, or have suggestions for improvement, also let me know.
Hi AndZab, thanks for looking into this. I personally find the Delta Voltage Table to be the most confusing part of Ultra tuning, as the table works backwards and each row is additive to the previous rows. So, it's certainly possible that I mis-stated something along the way. Let's look into this a bit deeper:Hello, I do not agree a lot with your point 10)
If you set Max Voltage at 1550 mV like my settings on attach (green curve), you can reach full motor power with little force on pedals...
When you press on the pedals, the Ultra's torque sensor outputs a voltage based on the force being applied. The Delta Voltage table specifies how that voltage is converted to a Kg, and that Kg number is used by the Spd Table's Start, Full, and Return parameters to return what I call a Percentage of Current (POC) as determined by the MinCur, MaxCur, and KeepCur parameters to be sent down the controller pipeline:
What gets confusing (at least to me) is that we have a force coming in and a force value coming out, and a Delta Voltage Table that's not linear and not covering the full range will mean those two "forces" aren't the same. Add in that this is just the first step in a multi-step pipeline that determines the actual motor assist.
- The rider-applied pedal force is converted into the POC using a linear mapping: Start(Kg) produces MinCur(%) while Full(Kg) produces MaxCur(%). Values between Start and Full result in values equally interpolated between MinCur and MaxCur.
- That POC is multiplied by the current PAS level's "Limit Current(%)" (specified on the Basic tab), which is then multiplied by the "LimitedCurrent(A)" [really Current Limit, in Amps], which is also specified on the Basic tab, to arrive at an actual Current value, in amps
- That Current essentially controls the power output of the Ultra motor (Volts * Amps = Watts, a unit of power)
In fact, it's the exact opposite. I'll edit the post accordingly - thanks for the catch! I do believe, however, that the rest of the post(s) are correct, but please call out anything else you find.If G10 is smaller then you'll never get MaxCur(%) in use, and if it's greater then you'll hit MaxCur(%) before you top off the pedal torque sensitivity range.
Dear smorgasbord, thank you so much for your in-depth explanations.Hi AndZab, thanks for looking into this. I personally find the Delta Voltage Table to be the most confusing part of Ultra tuning, as the table works backwards and each row is additive to the previous rows. So, it's certainly possible that I mis-stated something along the way. Let's look into this a bit deeper:
First, note that the final motor assist achieved is a combination of not just the Delta Voltage Table, but also the SPD Table as well as the PAS levels in the Basic Tab. The force you apply to the pedals is converted by the torque sensor to a voltage (in milli-Volts). That voltage is then mapped to a force (in Kg) via the Delta Voltage Table. And then, here's an edited portion of a piece from first post in the SPD Table thread:
What gets confusing (at least to me) is that we have a force coming in and a force value coming out, and a Delta Voltage Table that's not linear and not covering the full range will mean those two "forces" aren't the same. Add in that this is just the first step in a multi-step pipeline that determines the actual motor assist.
You are correct that with the values in your "DELTA Alps" column, you'll output from the Delta Voltage Table the maximum value of 60Kg at lower actual pedal pressures. The values in the column sum up to 1550, which is lower than the torque sensor's maximum output of about 3260. From my spreadsheet, it looks like somewhere around an actual pressure of 20Kg on the pedals will create a "60Kg" output from the Delta Voltage Table.
So, if you're referring to bullet point #10 (progressive edition) in post #10, then you are correct that this sentence is wrong:
In fact, it's the exact opposite. I'll edit the post accordingly - thanks for the catch! I do believe, however, that the rest of the post(s) are correct, but please call out anything else you find.
-----
If I'm correct that your Delta Voltage Table outputs 60Kg to the SPD Table at only 20Kg of actual physical pedal pressure, then your SPD "Full(Kg)" table values provide an additional curve to the power boost at low pedal pressures. At SPD0, for instance, your Full(Kg) value is only 45, so with 20Kg of actual force producing 60 into that, you reach the MaxCur(%) of 100% at only 15Kg of actual pedal force (45/60 * 20). And, at SPD100, with a Full(Kg) value of 10, you'll reach 100% at only (10/60 * 20) at only 3.33 Kg of actual pedal force.
The way I've gone about describing how to tune the Ultra is not about getting maximum power at low pedal pressures - it's to provide a natural feeling pedal-pressure to assist-force curve. I feel the Delta Voltage Table should be set such that you get the largest range of values possible given your ability to provide pedal pressure. If you can apply a full 60Kg of force in some of your riding, then I feel you should take advantage of the full range of output from that table. Having the table send out a "60 Kg" number to the SPD table when you're applying only 20 Kg of force means that you'll never get any benefit from applying more then 20 Kg of force on the pedals. That may be what you want (or need if you have physical issues), but for myself I'd rather have a larger range of pedal pressures to work with, and then adjust based on bicycle speed in the SPD table.
The first post in this thread has this table:Frequently I need the maximum power between 6 and 12 kmh, while at 20 kmh I do not need power because it's easy I'm on a flat track.
Do you have the exact road-speeds ranges of Spd table, for normal magnet setup ? (1 magnet)
SpdXX | In KPH | Out KPH |
---|---|---|
Spd0 | 0.01 | 4.5 |
Spd20 | 2 | 8.5 |
Spd40 | 6 | 13.5 |
Spd60 | 10 | 18 |
Spd80 | 16 | 25 |
Spd100 | 20 | > 40 (never stopped) |