Monday, November 9, 2009

The fifth wheel

I have a problem. The paper roller of the printer has an encoder wheel attached to it. So the printer uses that to determine how much it has scrolled the paper on. It's all driven by a simple DC motor.

Now as I don't have the roller anymore but I move the printer itself instead. How do I tell the printer board how much it has moved. I basically have three options:

  • Attach a roller to the side of my table and have it roll on something. While it seems simple and straightforward I see several problems. For one making such a mechanical system is actually not that simple. Secondly I want to move the printer around myself, as it needs to move backwards. If the printer board sees it - it'll detect a malfunction and panic. Also the printer logic has some redundant roller moving on itself - its head cleaning cycle for one - I don't want to move for that.
  • The second idea would be to reverse engineer the sensor and feed the printer with fake electrical signals. The problem here is that I have not managed to find a specification for this sensor. And as I'm not familiar with them I don't really know where to start. It seems to have 6 leads. Two are probably for the emitter led, and the others are probably two pairs for two phototransistors. So it's probably a two-channel sensor.
  • The third and the silliest option is to use a separate stepper motor to drive the encoder wheel myself. So I can fake it for the printer properly. And that's what I've done for now. Later on I should try reverse engineering the sensor itself using an oscilloscope. But for now, I went with the silly solution.

Here I used the timing belt of the actual printer's paper motor. But I reassembled it between two aluminium pieces. The stepper motor is the same I got off eBay.

No comments:

Post a Comment