Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tacx Fortius 110V wheel speed limitations #193

Closed
TriScott opened this issue Jan 4, 2021 · 13 comments
Closed

Tacx Fortius 110V wheel speed limitations #193

TriScott opened this issue Jan 4, 2021 · 13 comments
Labels
help wanted Extra attention is needed

Comments

@TriScott
Copy link

TriScott commented Jan 4, 2021

The original 110V (North American) version of the Tacx Fortius had a limitation whereby the resistance dropped out dramatically when the wheel speed exceeded ~26mph / 42km/h. Tacx subsequently released an updated version of the 110V Fortius hardware that somewhat addressed this issue. However, with the second version of hardware, the resistance (and thus power) still seems to ramp down as the wheel speed exceeds 42km/h.

Fast forward to today and the 110V Tacx Fortius limitations are now affecting Tacx Fortius + FortiusANT + Zwift. Essentially any flat road sprint segment I contest in Zwift will see the wheel speed get above 42km/h and the actual resistance start to ramp down. I haven't measured the impact, but my guess is that it is providing an unfair advantage as the reported power continues to ramp up while the actual effort plateaus or decreases. The same occurs when trying to accelerate during a prolonged downhill.

The Tacx Fortius resistance also becomes very choppy at wheel speeds less than ~15km/h when simulating steep climbs, so the effective useful range of a 110V Tacx Fortius is between 15km/h and 42km/h at the wheel. Note, this is not the Zwift reported speed, but the Tacx reported speed as displayed by FortiusANT. The Zwift range is a lot broader so you can do a lot of quality riding without ever experiencing this.

I am wondering if any other FortiusANT users with 110V Tacx Fortius trainers are experiencing similar issues? If so, I am curious what some of the Tacx experts (@WouterJD @totalreverse) think about the potential of dynamically scaling the resistance to encourage the wheel speed to stay within the sweet spot range. This could be an additional FortiusANT command line option for 110V Tacx Fortius users.

The goal would be to keep the reported power accurate by encouraging the wheel speed to stay within the 15km/h-42km/h range through automatically scaling the resistance by a correction factor proportional to the proximity to the limit, resulting in a value different from the FE-C requested grade / incline by the application. For example, as wheel speed exceeds 40km/h, ramp up the resistance, and as wheel speed decreases below 17km/h ramp down the resistance. When the wheel speed returns to the supported range, reduce and then remove the correction factor. In all cases, the reported power being generated by the rider would stay true.

Thoughts on this approach? Thanks!

@mattipee
Copy link
Contributor

mattipee commented Jan 7, 2021

Hi, @TriScott

I've been working on getting Fortius working in GoldenCheetah (see GoldenCheetah/GoldenCheetah#3725).

Also some discussion here (#171).

I don't know if anything behaviours are 110V specific, but there are perhaps T1932/T1942 differences, and as the T1942 is able to take a firmware update, differences between T1942 units.

There is a "known" issue at low wheel speeds. @WouterJD has a routine in FortiusANT to "encourage higher wheel speed", but limiting the resistance applied at low wheel speeds. I did some data capture and came up with a different scheme which is currently implemented in GoldenCheetah, but under discussion. Graphs from TACX for other models suggest power limit is linear with wheel speed (suggesting a constant maximum force... Power (W) = Speed (m/s) * Force (N).)

You can see a comparison here:

image

@ericchristoffersen found this document with graphs... https://www.qbp.com/diagrams/TechInfo/Tacx/MA9570.pdf

Indeed this suggests that the device has an upper limit... beyond "42kmh", it can no longer apply "100N" of force (or whatever the value is for the Fortius - Genius appears to be ~118N). I can't push 1000W+ for long, so I can't really test this. :)

But in terms of ride feel, I can see that wheel speeds in excess of the upper limit will mean reduced resistance available, but still a constant upper power limit.

image

The values reported by the trainer for current force and wheel speed do appear to be good or are assumed to be so, so I'd be surprised if the reported power value (obtained simply by multiplying those two values, once scaled to standard units) would over-report.

So there are two main issues in my head at the moment:

  • not all headunits may behave the same
  • there is an inherent force limit (which may be non-constant, and a function of speed)

Add to that, "virtual gearing" whereby you can get "additional low gears" or "additional high gears" by scaling the resistance... the former allows you to climb gradients beyond the device's limits by artificially increasing wheel speed to get it up into a more capable zone, and the latter allows you to push against more resistance without spinning out. A tangent, but relates to "scaling resistance".

Anyway, a jumble of different thoughts for you. Hope some of it makes sense, I'm still feeling my way through it.

@switchabl @michelrdagenais fyi.

@totalreverse
Copy link

Very interesting discussions here and in the GC respository group.
I cannot add valuable information about virtual gearing, but I can say, that there is no "magic" inside the solid blue T1942 headunits.
All firmwares I know, just forward the commands from the PC software to the powerback and return the answers from powerback unit in bytes 25..47 (skipping the last checksum byte) .
Any controlling magic must be inside the powerback firmware or in the PC software.

@michelrdagenais
Copy link

If I remember correctly, when I got my T1942 Fortius, we had to do an upgrade of the Brake unit firmware to solve "stuttering" issues. Now that you mention it, it was very difficult going downhill (i.e. over ~40kph) to put out any significant power with Tacx software. I have a 110v unit.

@mattipee
Copy link
Contributor

mattipee commented Jan 8, 2021

Couple of related comments here... https://www.cyclingforums.com/threads/tacx-fortius.371170/

@WouterJD
Copy link
Owner

WouterJD commented Jan 8, 2021

@TriScott do you use the python- or windows.exe version of FortiusAnt?
In case of python, I can give hints how to experiment.

@WouterJD WouterJD added the help wanted Extra attention is needed label Jan 8, 2021
@TriScott
Copy link
Author

Thanks to everyone for pointing me to a lot of the excellent work people have done to reverse engineer this trainer. It has taken me a lot of time to go through it all. @mattipee I used to use GoldenCheetah frequently for data analysis. I did try Fortius control with it some years ago but did not have a good experience. It sounds like you and @michelrdagenais have made tremendous progress!

I have two observations so far regarding my original issue:

  1. The V2 of the 110V Fortius hardware does not have the 26mph / 42km/h limitation and I was mistaken to suggest that it does. The easiest way to illustrate that is to use the trainer in erg mode with a fixed power (e.g. 300 watts) and you can easily get up to 55km/h wheel speed or more with it still feeling perfectly smooth. V1 of the 110V hardware definitely has that issue and my original proposal would still be relevant to those devices.

  2. I have more or less pinpointed the reason for choppiness during sprints and have a patch that I need to test. I am optimistic this can be fixed with sw alone. I will update again with my findings soon.

@WouterJD I am using the Windows.exe version of FortiusANT as I have never installed python under Windows before. I will need to do that next.

@WouterJD
Copy link
Owner

@TriScott python is not needed, but may come in handy to make patches and/or do some quick tests

@BrRoBo
Copy link

BrRoBo commented Jan 16, 2021

My Fortius usage feedback just for a datapoint...

I have the solid blue Fortius head unit T1942.

The 110v motorbrake is reported by FortiusAnt as a T1978, year=2006, version2=0, firmware=0. I do seem to recall applying a firmware upgrade to this unit, but since it was so long ago I can't be 100% certain.

Regardless, this Fortius works perfectly with the 2x Ant+ dongles along with either Zwift or the current TDA for over 600 miles (1000km) to date. I can wind up the trainer to well over the 25mph assistance threshold and over 750watts of effort without any noticeable limitations of the trainer. I have climbed many steep grades > 15% at a relatively slow wheel speed and cadence and had no stutter/jerkiness issues. The only time we experience any stutter/jerkiness is if the speed is lower than ~5mph or if the cadence sensor is not properly installed. It's usually my wife that incurs the problem due to one of the 2 reasons mentioned, then I have to come to the rescue and instruct her on how to either install the cadence sensor properly, or to reduce the CTP difficulty to allow her to spin more freely up climbs. In any case, everything has been easily resolvable.

My further testing will be vicariously through new owners of this Fortius (or i-Magic) as my wife & I anted up for a new direct drive, self calibrating unit - a Wahoo Kickr v5 (instead of traveling this winter we stayed home because of COVID, so spent some of those funds on a new trainer). I am selling both Fortius and i-Magic for cheap just to free up some space in our small condo/garage.

The Fortius ride data and experience seems to compare well to what I am doing now on the new Kickr.

@WouterJD
Copy link
Owner

You make me cry: sell this magnificent setup😪

@michelrdagenais
Copy link

Your T1978 is surprising, this is not documented as an expected answer. The version2=0 and firmware=0 are similarly unexpected. I checked with my Fortius and indeed, I sometimes get strange results such as (for the same unit):

Motor Brake Unit Firmware=4100 Serial=828 year=2007 type=T1946 Version2=2078
Motor Brake Unit Firmware=73569 Serial=7712 year=2059 type=T1978 Version2=8014
Motor Brake Unit Firmware=35153 Serial=24800 year=2033 type=T1977 Version2=9255
Motor Brake Unit Firmware=8273 Serial=51936 year=2017 type=T1977 Version2=3570
Motor Brake Unit Firmware=67791 Serial=54784 year=2096 type=T1976 Version2=12278

Note that I am not using FortiusAnt but similar code that I added to GoldenCheetah to get the version number and model. However, it appears that there is a problem in both code. I will experiment further to try to understand the problem.

The 110v motorbrake is reported by FortiusAnt as a T1978, year=2006, version2=0, firmware=0. I do seem to recall applying a firmware upgrade to this unit, but since it was so long ago I can't be 100% certain.

@totalreverse
Copy link

Probably, there is still a problem with out-of-sync decoding of "resistance command" answers as "version command" answers.
totalreverse/ttyT1941#20 (comment)

@BrRoBo
Copy link

BrRoBo commented Jan 20, 2021

You make me cry: sell this magnificent setup😪

The Fortius has found a very deserving home with a healthcare worker in my area. Still to find a good home for the i-Magic.

@WouterJD
Copy link
Owner

Note that I am not using FortiusAnt but similar code that I added to GoldenCheetah to get the version number and model. However, it appears that there is a problem in both code. I will experiment further to try to understand the problem.

Please test with FDortiusAnt 5.1 Test IV or higher

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

6 participants