I had the idea for making this machine when my printer (Canon 850i) stopped working because of a broken printhead.
The rest worked quite fine, so why throw it away?
Update: This machine recently got a lot more attention than I had expected and several people asked me if I
would sell these devices. I am not going to make a business out of it, but if you really want one, you can contact me
at fornax (at) leyanda.de. Please keep in mind that it's a highly custom design for each one (takes some time and it's
not going to be a mass market price).
Some pictures of other versions of the machine, including some LED effects and a regular one with a boxing glove.
Controlling the slider
Slider with optical encoder
The printer uses a regular DC Motor with belt and an optical incremental encoder to control the slider position.
Since the controlling stuff of the printer was completely integrated, I had to build my own
one. Fortunately, I could find a datasheet for the encoder (Agilent AEDS 9621P).
These detector units are directly TTL compatible, you just need the supply
voltage and can read out stable phase signals.
The resolution is about 237steps/cm.
From my experience, most inkjet printers look very similar.
As you might see, I didn't put too much effort into this part, just a short bar glued to a RC servo.
The black parts are used to reduce the torque while the slider is moving (with the bar pressed agains the lid).
I planned to use another servo for opening the lid, but this was not necessary since the first one is
strong enough (plus, one 7805 is not enough for 2 servos).
The switches are standard toggle switches, seperated from GND when active (internal pullup in the ATMega).
The first version of the control unit consists of:
H-bridge for the motor (I actually used BD137+BD138)
LCD (to be able to set the switch positions)
PWM outputs for the servos (the one for the lid is still there)
inputs for the encoder
inputs for the switches, internal pullups
7805 voltage regulator
Here is the schematic
There was a small mistake in the connection of the PNP base resistors, which is fixed now (6.12.2011).
I included 2 jumpers to avoid short circuits in the H-bridge while
In the meantime I designed a newer one on a single layer pcb. Here are the features:
5V-7V power supply for the Servo
Selectable 3.3V and 5V power supply for different printers
Automatic toggle between battery supply and external power
L298 as H-bridge
Shift register for 8 LEDs
UART position output
The design will be published once I get to verify everything in the newest revision. If you trust the
design so far, please ask me, I will send it to you.
When powered on, the controller moves the slider to the left to set zero position.
The positioning itself is done by a software PD controller, which is able
to set the slider in less than 1sec with an accuracy of about 0.1-0.2mm.
I could reach even better precision, but for this task it's more than enough.
The program then checks for all switches with the highes priority on the
left side. The code should not be too hard to understand anyway.