On 28/06/10 20:31, Tony Duell wrote:
I don't know off the top of my head, but it should
be farily easy to
measure the speed of rotation of the motor. Each revolution would
generate<n> beam detect pulses (the output of the photosensor) where<n>
is the number of sides of the polygonal mirror.
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)
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.
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.
Note that the beam detect sensor detects light from
the actual laser,
there is no other light source. At the end of each line, the laser is
turned on, the formatter then waits for a pulse on the beam detect line.
I figured it'd be something like that -- beam on until detect or
timeout, then once there's confirmation that everything is up to speed,
feed in a sheet of paper and go for it.
Processing the print will, of course, be the "fun" bit. A "crazy man's
roller-transport print processor" might be next on the cards.
Of course at the start of a page, the laser it turned
on until the
controlling electronics starts to get beam detect pulses, so it knows
roughly when to ecxpect them thereafter (and can then know when to turn
on the laser for this purpose).
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?
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.... :)
--
Phil.
classiccmp at philpem.me.uk
http://www.philpem.me.uk/