This project requires the ability to go to and from the same exact same positions many many times. Step motors are ideal for this because of the way the are built.
I borrow the example and images from
wiki
Frame 1: The top electromagnet (1) is turned on, attracting the nearest tooth of a gear-shaped iron rotor.
With the teeth aligned to electromagnet (1), they will be slightly offset from electromagnet (2).
Frame 2: The top electromagnet (1) is turned off, and the right electromagnet (2) is energized, pulling the nearest teeth slightly to the right. This results in a rotation of 3.6° in this example.
Frame 3: The bottom electromagnet (3) is energized; another 3.6° rotation occurs.
Frame 4: The left electromagnet (4) is enabled, rotating again by 3.6°. When the top electromagnet (1) is again enabled, the teeth in the sprocket will have rotated by one tooth position; since there are 25 teeth, it will take 100 steps to make a full rotation in this example. ---end wiki clipping
Because of the complexities in the coil energizing sequence it takes some circuitry to run a stepper motor. This is where the microcontroller comes in. But more on that later. The fact that you can get a step motor to turn to the exact same spot and hold a load makes it ideal for positioning functions. In this case we will be using 2 for the media trays, 1 to advance the Gantry that holds the printer guts and printhead, and a couple to fool the printers paper sensors.. The 2 Media tray motors are pretty heavy duty and one of the more expensive electronics purchases. The gantry motor doesn't need to be too strong unless you cheap out on bearings for the gantry motion. The original paper feed motor is probably strong enough, but we need to take control of the Y motion. If we hooked the paper feed motor up directly the gantry would run itself off the end of the table before the page printed. We could hook the printer up to the microcontroller for signalling and run the salvaged motor. But I want to keep the original printer as whole as possible for modularity and simplicity. The common method is to hook the paper feed motor to the controller though an encoder. Basically a plastic disk with some dots and a paper feed sensor. The examples on the wiki are the complex kind we wont need anything so drastic.And we use the small motors hooked to the micro controller with encoders to signal the paper sensors. This way we leave the printer intact.
We will be stealing the gear off the paper feed roller and using it to drive the gantry. this way the only math we have to figure out is how many steps of the new motor = 1 step of the old motor. Re-gearing would make exact positioning harder. Someone already did the math and fabrication of this critical component. We don't want to end up with squashed or weak models because the printer isn't covering the same distance.
One of the step motors ratings is how far each step is. Sometimes in degrees per step sometimes in steps per rotation. 360/Degrees per step = steps per turn, steps per turn/360 = degrees per step.
We need to match the new Y motor with the old motor from the printer. The distance the old one turns will need to be replicated by the new motor. Since we are using cheap printers the motors are not the highest quality. This actually works in our favor. Newer motors usually have many more steps per turn/lower step angles. For example we pull out a motor with a 7.5 degree step angle then any motor that has step angles that will add up to 7.5 will work. Step motors are also capable of working in "half step" mode.
Old motor step angle/ replacement motor step angle. If the answer is any whole number or ends in .5 the new motor will meet this requirement. For the 7.5 degree example a 3 degree stepper would work because 7.5/3=2.5 2 full steps and a half step.
I will go over torque, speed etc later.