Following messing around with single axis control of the Frankenprinter carriage, I went on to working with two axes.
The victim this time was an old Brother printer. It was already fairly well messed up, having come from a scrap heap. Unlike other printers I'd looked at, this one appeared to have been assembled like a Snap-tite model kit. For the most part, it amounted to finding different lever points, pushing here, prying there, and it would come apart.
What it left me with was a fairly nice assembly that had two stepper motors, one for its carriage, and one for its page scroller. There were some spring compression bits that would help make sure the page stayed put.
I did the usual dance with the steppers: check for continuity and resistance. Continuity would show the where the paired windings were. Resistance would help distinguish between the endpoints and center taps, connections between endpoints having twice as much resistance as a connection between an endpoint and a center tap. After that, I wired each stepper to the existing Arduino set-up (the outputs of shift registers going to my motor boards, and then outputs of motor boards going to the motor wires), and sent a series of single-step commands to the motors to determine proper order of wiring.
Very soon, I had two motors at my disposal, but code for driving only one axis. But the main thing was that I had the ability to drive each axis a step at a time, and do so repeatedly, so I also measured step distances and got timings for non-stalling pulse frequencies (the inverse, actually -- max and min delay times between pulses that would work both in direct step mode and using the cosine-based acceleration code).
The trick then was: how would I handle dual motion control? I connected the code to the x-y motion of the optimouse for input, but it was clear that the system wasn't really handling the motion the right way.
At that point, I decided it was time to move on to making the Frankenplotter really work with a scanner bed for the X axis and a printer carriage for Y.
No comments:
Post a Comment