Currently I think (feel) that once (a diff) resistance is applied to the trainer, it takes about 3-4 seconds before I start to feel it in the legs (eg: 100w to 300w).
You are right, from looking at the data, my assioma per sec data is really noisy (which also makes me wonder if the IAV that it touts -
https://cycling.favero.com/blog/tech-tests/whats-iav-power is really just making things more noisy, at least for my pedaling style). Thus, I am experimenting with, instead of sending the PID the instant power, I'm gonna send it a 5s moving average power which would at least smoothen the peaks and valleys more (at the expense of lag response (since most trainers can't adjust instantly anyways).
However, I did also put in a condition that will remove/reset the smoothing if there is a SetPoint change (eg: 100->300w etc), so this will reduce the delay lag somewhat but it will re-introduce the noise.
(you are also right, it's a 1hz sample, I also checked the data from the assioma, tho the specs say that PM should transmit every 4hz, I seem to only be getting it like every 1hz. I didn't explore the code further to determine what's happening)
As for the tuning part, I did try (my own variation of) the ZN method (https://en.wikipedia.org/wiki/Ziegler–Nichols_method) but I figured that I'm doing something wrong. (esp since I'm off the bike and can't do any testing at least until possible end of this week) and just "modelling" it in Excel.
So I guess this is an even more pertinent question. If the tuning is tied to the trainer/user, does this mean that diff trainer would need diff tunings? How does the auto industry Cruise Control does these sort of calculations?
Appreciate the thoughts/discussion.
(in this below, the iTerm, I can't seem to get it down to zero, tho this is highly likely due to the way I'm simulating it)