Accounting for changing radius of a paper roll to always unroll the same amount of paper So I'm building a Post-Turing Machine that's running a 5-state busy beaver. It has a 300ft roll of receipt paper at each end simulating an infinite tape. 
Hypothetically the tape is divided into 'cells.'  So the machine writes or erases a 1 on the tape under the writing head, then the tape shifts either 2" to the right or 2" to the left.
I have a stepper motor (Nema 17) at each end hooked to each roll.
Finally, my question: As you can imagine turning both motors a given number of steps will initially will move the tape evenly 2", however now one roll has 2" more and the other, 2" less. Not such a big difference now but as it goes on one roll could have 500ft and the other 100ft, making the one with 500ft have a much larger radius, therefore turning the motor the same amount will release much more tape...Does anyone know a way to calculate these changing ratios so the motors will always work together in letting out/winding 2" of tape?
(by the way, programed in a counter variable, so "leftMotor = 3600 and rightMotor=3600" if it does a move right then leftMotor=3602 and rightMotor=3598)  
 A: We can approximate the paper on a roll by concentric circles.  Suppose the inner radius of a roll is $r$, and we have $n$ concentric circles, each of thickness $t$.  Then the total  radius will be $r+nt$, while the amount of paper on the roll will be
$(2\pi (r+t))+(2\pi (r+2t))+\cdots+(2\pi (r+nt))=2\pi (rn + t(1+2+\cdots+n))=2\pi (rn+t\frac{n(n+1)}{2})=2\pi n(r+t\frac{n+1}{2})$
If your controller keeps track of how much paper is on the roll, it can compute $n$ from the previous expression.  From $n$ it can compute the total radius, and from that the circumference. From the circumference, it can compute the angle of rotation to produce the desired length of paper.
Followup:
Let $p$ be the total paper on the roll, $p=2\pi n(r+\frac{t}{2}(n+1))=n^2(\pi t)+n(2\pi r+\pi t)$.  We rearrange to $n^2(\pi t)+n(2\pi r+\pi t)-p=0$.  To find $n$ we use the quadratic formula $n=\frac{-2\pi r -\pi t \pm\sqrt{(2\pi r+\pi t)^2+4\pi t p}}{2\pi t}$.  Since we know $n>0$ we take the $+$ rather than the $-$.  Hence $$n=\frac{-2\pi r -\pi t +\sqrt{(2\pi r+\pi t)^2+4\pi t p}}{2\pi t}$$
A: This sort of thing is commonly handled by making the connection between the motors and the take-up spools with a simple friction-clutch mechanism.
For example, on a cassette tape or real-to-real tape unit... 
Both the "take-up" spool (reel) and the "source" spool are driven by a simple friction-clutch mechanism.
The "take-up" spool is slightly "over-driven", and the "source" spool is either slightly "under-driven", or is just controlled by friction (in normal forward operation).
The difference between the speeds of the two spools is accommodated by the friction-clutches, keeping tension on the tape on both spools. 
The actual speed of the tape (in normal forward operation) is controlled by a "capstan" that pulls the tape off the "source" spool, and drives (pushes) the tape toward the "take-up" spool.
For cheaper units, there is only one motor that is running at a constant speed (in normal forward operation), and the drive is split to the three points buy multiple belts and pulleys. In this case, the difference in circumference between the "take-up" spool and the "source" spool is compensated for entirely by the friction-clutches. More expensive units might employ multiple variable speed direct drive motors, but usually would still use clutches and capstan drives to control accurate speed and tension.
In your case, the difference in circumference from "full" to "empty" might be too large to be totally compensated for by the friction-clutches because the heat and friction may cause them to wear out too quickly. On the other hand, if the speed is slow enough this would probably work fine.
Since you are using stepper motors for the two spools, you could drive the two spools at different speeds. If you tried to use these motors control the actual paper speed, you would have to have a fairly accurate way to measure the real time diameter of each roll to calculate and control the speed of each motor.
Depending on the paper speed and accuracy required, you could consider using the clutched conections to control tension, and a capstan drive to control accurate speed, and variable speed motors to drive the spools at approximately the correct speed and let the clutches compensate for the minor variations in drive speed.
