On JMon, 28 Jun 2010 22:15:57 +0100, Philip Pemberton <classiccmp at philpem.me.uk>
Having played with a the Canon II printer series scanners (the guts of both the Laserjet
II and Apple Laserwriter II), some comments:
Well, working backwards from DPI and print speed gives
about 3MHz dot clock:
300DPI * 11 inches (paper height) * 3ppm = 9900 lines per minute
(thus, the line rate is 9900Hz, or 9.9kHz)
9900lpm * 300 dots per line = 2.97e6
(thus, the pixel rate is 2.97MHz)
Unless you are using the control board, the above calculation is moot: the scanner is a DC
brushless motor - the speed is controlled by the input voltage. The control board closes a
motor loop based on the feedback optical pulse and synchroniz(s)es the speed with the
shift register clock. You can chose a clock rate to suit your system, build the motor
control loop with a D/A, and set up logic to fire off at the right time based on the
feedback optical pulse. If you are using the control board, all you have to do is feed the
data in and the board will take care of the bit clocking. If you are generating the bit
clock, you can determine your DPI. The II series uses a 6-sided mirror.
Replacing the laser assembly might be
"interesting", as will realigning
the optics. My back-of-an-envelope calculations suggest I need a 0.085mm
spot size to get to 300DPI:
300dpi = 300 dots per inch, or 1/300in per pixel
1/300 * 25.4mm/in = 0.0846667
Focusing that will be.... "fun", especially with a 20mW blue diode
laser... and I need to find a beam sensor that's sensitive to blue light.
The sensor on the board should work if you remove the red filter/attenuator on the input
to the fibre optic cable. You might have to either increase the gain of the amp at the
detector or place an attenuator in the optical chain. In any case, you should replace the
red filter with a suitable pass filter to match your laser.
IIRC the laser is collimated to the desired spot size, i.e. the beam is parallel through
the optical path - no focusing per se. However, going from red to blue will change the
deflection characteristics of the optical path. You will probably see a narrower page at
the same distance from the folding mirror and possibly some non-linearities. By changing
the distance from the final mirror you should be able to control the page width.
Non-linearities are a different matter.
Seems like it should work... though designing a suitable
constant-current controller with ~3MHz analog current modulation will be
interesting. PWM would require ~768MHz modulation, so analog is the
"easy way out", and beam power is roughly linear from the lasing
threshold (30mA) up to 10mW (~40mA). Hmmm.
As mentioned above, you will have to control the motor voltage to sync with the bit
oscillator to achieve the DPI. Also note that most laser diodes have a photodiode as part
of the assembly and power is also in a control loop.
So am I right in thinking it has some form of PLL to
generate the pixel
clock from the beam-detect (or motor tacho?) pulses?
Actually, you probably want to fix the bit rate (crystal oscillator) and control the motor
speed so that you get n bit counts between laser pulses. It should be fairly easy to
control to +/- 1 bit. Note that the number of bits will be greater than the dots you wish
to generate in order to take care of margins.
That's along the lines of what I was going to do... lock a fairly
slow-loop PLL off the either the beam detect or the tacho (haven't
decided which), then use the pulses from that to drive the clock input
for the data shifter.
It's like the CX-VDO all over again.... :)
classiccmp at philpem.me.uk
I used two scanners a few year ago to make a far IR scanner. The first was a modified
mirror wheel which slow scanned the vertical and the second was the horizontal scan. The
optical output was fed to pyroelectric detector found in a motion detector with modified
electronics. Fun toys.