I guess the spool belts have run out of alignment? I would have guessed they'd have implemented closed-loop positioning for the colour-belt, but it appears not to be the case.
I guess the spool belts have run out of alignment? I would have guessed they'd have implemented closed-loop positioning for the colour-belt, but it appears not to be the case.
If you had a reflective strip between each color—and just counted the strips to determine current color—wouldn't that have kept it in continuous calibration? Then you wouldn't even need a stepper motor, you could use a plain DC motor, since you wouldn't be using the step count to determine position anymore.
(I haven't used that setup for a real project, but I intend to since it seems it would be cheaper and easier, and I was wondering if you considered something like that but dismissed it.)
Also, if you don't mind sharing: what IR sensor did you use?
One workaround that could better hide the inaccuracy would have been to only have smooth colour transitions on the ribbons (including between black and white), as it appears to be a hard transition between blank and white that causes it to be so noticeable with the small positional error.
At the very least put a Gray code on the back of every fabric loop to get actually accurate positioning.