I agree very much, that light bulbs, or other resistors would probably be more precise that motors. Using the motors does have a bunch of disadvantages (from precision load, regardless of the wear on the motor, the test will be noisy, and the test will cause some wear on the motors.
Regardless, I think it would be very interesting to be able to:
- - Create a quite precise "standard" test, that everyone with a MXT Mindstorms set could perform, without any other special LEGO or other hardware.
- Make many tests, perhaps of many different battery types, or test a specific battery type many time, adding better precision.
- write the software test, figuring out how to create a well-defined load given the restrictions.
I have seen a few battery tests on the net, but there is always one more battery I'd like to compare to the tested batteries, but I would have to depend on the test being performed on that specific battery, because I cannot reproduce the exact same test, and compare the results.
There are also other factors to think about:
1) Usage pattern
you already mentions mimicking a typical LEGO usage pattern, but maybe there a more patterns: Very low load (no motors) to very high drain (all motors running on full throttle or so), and something in between....
2) Battery load characteristics.
How does the battery behave under load: Does its voltage fall drastically under load, or not at all?
3) Battery voltage characteristics.
We might not only be interested in the number of mAh, but also in which voltages the power is distributed. (Will a robot run fast for a short period of time, then slow for a long time, or will it run fast, and the suddenly run out of juice?)
I hope that an easy to do battery test could create enough tests to describe a lot of batteries, given the size of the community...
I'll keep you posted!