NavigationUser login |
Mark 3I decided to buy a colour laser printer to experiment with, as I suspected that I could print blacker with one. They print four times (CMYK) onto a transfer belt, then transfer the image from the belt to the paper (circuit board). So potentially I can have four layers of toner deposited without any alignment problems. Here it is, an HP 4550. I chose it because it matches my new fuser, and I was impressed with the fuser's excellent build quality. It was sold as broken on ebay because "one day it didn't work on the network", so I got it for a mere £35 - no postage either as it was in Eastleigh. The cup of tea is for scale; as you can see, it's about the size of a medium garden shed. I swapped the network card with the one I've been using so far (mostly because I couldn't be bothered to change the settings, I suspect the 4550's card is fine too). As you can see, the printer worked perfectly, generating a lovely, colour CUPS test page. So I started taking it to bits. Here it is without an outer shell. The various door sensor have been disabled. There are 3 drawers on the front - the top is for the drum, the middle (the open one) is for the Tray 1/manual feed and the transfer belt. The bottom is Tray 2. I started stripping down the middle drawer as it offered the straightest path into the printer. I removed the registration unit so the first thing the board gets to is the image transfer belt and transfer roller. Here's the stripped down drawer, with just the leading edge sensor and pcb floating in space. The registration unit contains an optical sensor to determine whether the media is acetate or paper. Without the sensor the printer wouldn't power up, so I replaced it with a switch. It wasn't as easy as hoped - unlike the other optical sensors I'd fooled, I couln't just give it 5V or 0V, it took 5 or 3.5, so I switched in a 4.7k resistor to make a divider with the existing 2.7k pull-up. I wanted to run it without the fuser unit occupying the space behind the imaging rollers, so I extended the wires between the printer and the fuser. Unfortunately this wasn't enough, the printer powered up with "50.4 fuser error" - the printer actually checks that the fuser drums are rotating! There's a small cam in the fuser that is geared to the rollers, and pushes on a plastic slider that engages a photointerruptor. As the cam rotates the printer gets a square wave from the photointerruptor. This was obviously quite a pain, as the fuser wouldn't be rotating as it sat on the table next to the printer - I had to add a simple oscillator circuit to fool the printer. I took a video of the cam as the fuser rotated so I could measure the frequency without tapping into the sensor output. I measured about 0.53Hz over about 30 rotations. So I used a 4047 astable circuit on a bit of stripboard, connected to the photointerruptor cable. The cable has three wires - ground, power for the led, and an input that connects to the collector of the photodiode and is pulled up in the printer. So I could power the 4047 straight from the led power (fortunately the 4047 uses far less power than a 555!), and connect the output directly to the collector input. I hoped that I could leave it oscillating all the time without pissing off the printer, assuming that the printer wouldn't check the fuser was rotating whenit wasn't being driven! Here's the board, and the board and fuser working outside the printer. Here's the board and fuser connected to the printer. My assumption was valid - it worked and the printer powered up error-free. I removed the paper transport belts that take the paper to the fuser, leaving tonnes of space inside the printer. I started printing onto some board. It's early days yet, but I think it is more promising than the black and white HP 2200. Large areas of black are not very black, but they are very uniform. None of the random voids / pinholes that I had with the 2200. Now I need to find out how to get it to print CMYK black rather than just K (a patch of each colour on top of each other). As far as I can tell no Linux apps will generate the right output - the gimp just "flattens" four CMYK layers to a single black, and writes just one black patch into the postscript. I need to write some postscript by hand to really find out what's happening.
Submitted by jeff on Thu, 03/22/2007 - 16:18. categories [ ]
|
PCL/PJL
It seems that your printer can be directly controlled with HP's PCL or PJL language. Not sure which version though.
Some guy touches on it a little here:
http://www.irongeek.com/i.php?page=security/networkprinterhacking#Intro%...
but the page is largely about hacking the printer.
Also here
http://www.phenoelit.de/hp/download.html
is some C++ source to access and change all the printer's variables, including things like whether the buttons are enabled or not.
This page:
http://www.maths.usyd.edu.au/u/psz/ps.html#PJLref
Has some links to HP resources. I was particularly interested in the PCL 5 Color reference manual. It describes, for example, how to program the printer with your own colour palettes, allowing you to specify how much of each component you want in it. However, it doesn't seem to allow you to specify the K component, which is a pain. It also may not be the correct version of the protocol for your printer.
Amazing
Brilliant!