Thank you Tom for your explanations. They totally make sense and explain what I experienced.
The next steps will be to do test runs with arduino and L293D board as well as LiPos sitting directly on top of the motors far off the pivot point.
But before doing those tests I did quite some stuff with followup questions.
The first thing was to get rid of "store youtube video, single step through it via rowvid.com and count rounds and hundreths of seconds that takes" for speed determination. I did that with this Infrared Speed Sensor Module:
First I had some problems with too many interrupts generated, but I found (a) solution to that myself in "Accuracy of MOCH22A based Infrared Speed Sensor Module" thread:
I used an Arduino Uno screwed on MTS and connected to my Laptop for doing the measurements:
First I did let interrupt service routine (ISR) directly write millis() and count to Serial because I tested such an operation taking roughly a hundreth second and my measurements are expected to be in low 2-digit number range of interrupts per second. Later, in order to avoid timing problems, I just did "A[cnt++]=millis()" in ISR and called a service function printing out the whole array after test completed (I did all using bitlash command shell).
The first run I did was successful but did not reach >40km/h speed I expected:
Checking everything I found the easy explanation, I did only use 3 LiPos giving >12V for the 15V motor:
The second run was successful as well and did show 42.17km/h, with a minimum of 105ms per 1.23m round for the wheels:
The 0 measurements are just some double interrupts at same millisecond, and the one delta measurement of 212ms at 107th interrupt was just a missing interrupt while brazen piece moved through the sensor.
All measurements I did were done with the 20mm 1-piece Lego wheels I used until now and the 15V motor. I did find some bigger wheels in the big Lego box from my kids (they are too old to play with it anymore). I was interested in 24mm and 30 mm.
The first run with 24mm diameter wheel+rubber was stopped hard by infrared speed sensor after few seconds:
I tried to fix the mechanical problem of getting brassed piece into middle of sensor:
For me the next video is a "must see" and it proves that my attempts to fix the physical issue were not good enough -- complete destruction, speed sensor, lost wheel, cables, ..., not stopping before the end of the video:
For the runs with 24mm diameter I had to use new motor controller board because the previous one could not deal well with the vibrations in new setup. This time I did connect both motor output to the two motors. The layout allows to use Arduino Nano as well as Arduino Pro Mini interchangably on the (not drawn) IC socket:
Here you can the the new and the old board I used:
In the next runs I saw speeds of much less than 40km/h and charts with different form, especially the missing long minimum at the middle:
Finally I found the issue, it was the unbalance of the rubber(!) which I found while diagnosing with bitlash and connected with laptop. This photo was taken with PWM=180 and clearly shows that the "flying" rubber is the issue:
I did fix that as I fix most things (like connecting infrared speed sensor at the needed height of 9V block battery) -- with superglue ;-)
The next run did loose a wheel again, fixed that with some superglue on motor shaft as I did previously with the other wheel:
I did several runs then, all showing same behavior, this is the last one:
So here are my questions:
I have no explanation on the few peaks >800ms delta. What could be a reason that sensor does not trigger for several rounds? [In this posting I have shown that the sensor can easily generate 93.4 interrupts per second, and here we are talking on rougly 10 interrupts per second]
What can be an explanation on the 24mm diameter charts not showing the long minimum the first two 20mm diameter charts above do show? [Its the same motor and LiPos, just bigger wheels]