How does a laser printer control the laser to produce such high resolutions?

It's hard to know exactly how your specific unit works, but in general there is a timing sensor that is used to read back the mirror's position, as in the diagram below. It doesn't continuously read every position but only once per face change. The measured error is used to compensate the firing of the laser circuit.

Diagram showing location of timing sensor

There are more detailed patents on the kind of (digital) compensation circuit that makes it possible to use this non-continuous sensing method, e.g. US5754215A that enable the use of cheap motors.

These data Da, Db, Dc, Dd and De are determined by measuring time spans between the moments when the respective reflection beams from respective sides A, B, C, D and E of the polygon mirror 4 irradiate the origin sensor 6 and the moments when the reflection beam of the following side subsequently irradiates the origin sensor 6 under a rotating condition (the proper standard rotating condition) such that the scanning speed on the surface of the photo sensitive drum 5 through respective sides A, B, C, D and E reaches a predetermined constant value. The time spans can be measured via a measuring device while rotating the polygon mirror motor 13 and simulating scanning conditions, or alternatively can be measured after assembling entire elements and when the rotating condition of the polygon mirror motor reaches the standard condition. These measurement data are afterward stored in the ROM 101 and then transferred to the respective addresses A1, A2, A3, A4 and A5 in the RAM 102.

The whole point of that being

thereby even the polygon motor having a poor processing accuracy can be controlled at the standard rotation so that the scanning speed by the rotation is brought about to a target value like a polygon motor having a high processing accuracy

The combination of patentese and Japanese authors is a killer :)

That particular patent actually goes on to talk about controlling a PWM motor with the resulting data.

When the target-error calculation program 101b is executed by the CPU 100, the respective addresses A1, A2, A3, A4 and A5 are accessed in sequence for the corresponding sides A, B, C, D and E which receive laser beams in response to rotation of the polygon mirror 4. Namely, through the execution of the program, in response to rotation of the respective sides and at the position of the origin where the scanning of the subsequent side is initiated, the data corresponding to the immediately previous side among the data Da, Db, Dc, Dd and De is referred to, and any difference between the referenced data and the value in the capture register 12b is calculated as an error. This program is a simple one which primarily performs the mere reference to data and calculation of a difference such that further explanation of the content is omitted. Further, the target-error calculation program 101b causes the CPU 100 to execute the PWM motor control program 101a after storing the calculated error in the RAM 102.

But there are ICs for controlling a brushless motor that are specifically marketed for laser printer mirrors. ON Semi has whole bunch of them e.g. LB11872H, LB1876, LV8111VB. These use PLL speed control circuitry internally. The latter two chips boast "direct PWM drive" as well, which is not very clear to me what it means, but I assume they convert the control signal internally (from PWM). So as long as you have control data they probably work just as well. There's not much in the way of application notes for using these (in an actual laser printer). My guess is that those who need them know how use them. Rohm (which holds the aforementioned patent) also makes a bunch of these "direct PWM driver" ICs for brushless motors, also marketed for laser polygonal mirrors, e.g. BD67929EFV. There's even a paper talking about this [PWM] control technique for brushless motors: http://dx.doi.org/10.1109/ICEMS.2005.202797 (I have not yet read it.)

Re: "how exactly does this timing sensor receive the beam?" I think that was somewhat obvious from the diagram: through a mirror (labelled there "1st Reflection Mirror") which is struck only when the laser switches mirror faces. That's a different mirror than the main mirror used to illuminate the OPC drum. Presumably there could be other arrangements. For a color laser printer, there typically are (or rather were) multiple sensors, one per beam (color channel) as explained in a more recent Lexmark patent US9052513, which as you can see proposes a way to reduce the number of sensors. (That's probably among the reasons why you can buy a color laser printer for under $100 these says.)

In an LSU of an electrophotographic color imaging device, it is typical for each imaging channel to have its own optical sensor, called an “hsync sensor,” to detect its laser beam having been deflected from a polygonal mirror and to create a beam detect signal for use in triggering video data being included in the channel's laser beam for impinging on the channel's corresponding photoconductive drum. In more recent LSU design architectures, two beams share a single hsync sensor with one of the channels creating the start of scan (SOS) signal and the other channel using a delayed version of that SOS signal. Because one channel is imaging off of a facet of the rotating polygonal mirror that is not associated with the optical sensor generating the SOS signal, scan jitter can be induced into that channel. With such LSUs generating laser beams on-axis relative to the facets of the rotating polygonal mirror, the laser beams impinge on the polygon mirror such that only the variation in one or more facet cuts of the mirror is seen to induce scan jitter.


As long as the rotation speed is consistent on short timescales it is possible to work out the current position from the timing of pulses on the "beam detect". Simplistically the time between pulses would give the the rotation speed and then combining the known rotation speed with the time since the last pulse would give the current position.

One thing to bear in mind is that the absoloute positioning on a mono laser doesn't have to be super-accurate, only the relative positioning between adjacent lines. Color lasers usually use a belt as an intermdiate between the different color print engines and the paper and I would assume that they have some kind of detection in place on that belt to allow them to line up the different colors.