A new method to test motion quality, such as in photocopier subsystems, uses a PC-based plug-in board that monitors digital sensors for state transitions. The timing of these transitions as the copier operates gives statistical information about the performance of the paper-handling subsystem and motion uniformity. Analysis of this information is used to improve the image quality of the photocopier.
In addition to making photographic film, Kodak develops and manufactures many types of imaging products, such as film-based cameras, digital cameras, and high-end photocopiers. Many of these products include moving parts, and proper design requires a complete understanding of the motion of these parts. While this article centers on copiers, the techniques are applicable to many different types of systems that require monitoring and control of motion.
Motivation for Motion Sensing
Part of the goal of paper handling in a copier is to copy an image onto a piece of paper in the same location for every copy. Design goals to reduce placement deviations translate into goals to reduce timing deviations. In other words, the statistical variations of page-to-page arrival times must be characterized to design the subsystems to reduce these variations.
For example, a copier that makes 120 copies per minute of letter-size paper has successive sheets of paper arriving at subsystems at 0.5 s per page. At 8.5″ per page plus a 0.5″ gap between pages, the paper then must travel at 18″/s. So, if we want placement deviations to be less than 0.5 mm, we need timing deviations to be less than 1 ms. The measurement precision of this deviation should be about 10 µs to compute meaningful statistics on the paper arrival times.
Deviations in these discrete arrival times can be caused by paper slipping and sliding as it moves through the copier. Analyzing the deviations gives information about offending subsystems that introduce excessive slippage. Alternatively, analyzing the travel time between successive subsystems gives information on the source of slipping or sliding.
Another important issue is the consistency of paper speed. A copier works by transferring the image from the original page to another piece of paper. If the speeds of subsystems are not consistent, the image can appear smeared or stretched as one subsystem moves faster or slower than another. Analyzing the deviations in this continuous-motion speed gives information about offending subsystems that introduce motion variations.
Discrete Motion Sensing
In many situations, we do not really care what motion profile is used to deliver a piece of paper to a copier subsystem. All that is important about the motion is that the paper be delivered consistently within the system cycle. Jams can occur, and copy quality will suffer if paper is not delivered to the next subsystem in the copier at the correct time within the copier cycle. There are many subsystems that require tight tolerances to maintain quality in the final copy.
Sensing discrete motion typically is done with a digital arrival sensor, for example, a phototransistor. This sensor indicates when the paper arrives under the sensor by transitioning its output from low to high or high to low. As multiple sheets of paper travel through the copier, the output of a particular sensor will generate a periodic signal with edge timings related to the frequency at which pages are delivered to the subsystem.
The consistency of page delivery then is measured by the consistency of the edge-to-edge timing output of the sensor. Alternatively, two sensors can be used to measure the consistency of travel time between two subsystems.
A counter/timer can measure these edge-to-edge timings by counting the period of each pulse. In this method, the sensor output acts to gate the internal clock of the counter/timer as it counts the time between successive rising or falling edges of the arrival sensor.
The counter/timer can set the internal clock to run at a fast rate, such as 1,000 times that of the nominal sensor output rate, so that many counts are generated per period. The problem with this method stems from extracting the data from the counter/timer. New counter readings are generated at each new page. The PC must read the new count from the board prior to it being overwritten by the upcoming page.
Although the update rate is slow and not a problem for most PCs, most typical counter/timer boards do not have the capability to buffer these readings in hardware. Without the buffering capability, a large amount of CPU time polling the counter/timer is required, or a software interrupt-driven approach is needed. Such approaches are not optimal and can be difficult to write and maintain, especially considering that we instrumented the copier with more than 80 page arrival sensors.
Another essentially brute-force approach measures the timing deviations by analyzing a continuous digital data stream. The data stream then can be processed, either in real-time or post-acquisition, to look for the acquisition samples that show transitions from previous samples.
However, to get adequate timing resolution requires fast sampling. Combining this with the many sensors that we had on our system produces a large amount of data. The typical amount we would have generated if we had used this approach was much too large.
The solution we used collects the timing from all the sensor transitions by using off-the-shelf data-collection hardware designed to time stamp the edges on digital inputs. Analysis of arrival times and time delays from one subsystem to another could be done after the acquisition.
Continuous Motion Sensing
Another aspect of copier performance is continuous motion. Motion sensing in a copier basically comes in two forms: continuous and discrete. Continuous motion sensing describes the motion of system drive motors. Consistent rotational speed of these motors is required for optimal image quality and to assure consistent delivery of successive sheets of paper to photocopier subsystems and uniform transfer of the image copy.
Sensing continuous motion typically is done with frequency-to-voltage (F-V) converters attached to shaft encoders. The voltage output from this sensor can be converted to rpm after a calibration procedure.
Suppose an encoder outputs 1,000 pulses per revolution. If the shaft to which the encoder is attached is rotating at 60 rpm, then the encoder pulse output is at 1,000 Hz. The F-V converts these 1,000 pulses/s to a voltage. Typically, F-Vs have input range selection to handle a wide range of input frequencies, so some input range selection must be made.
The output voltage also should be calibrated to assure proper conversion to pulses per second. For example, the F-V might be rated at a 10-V output at a 1,000-Hz input, but in practice it outputs 9.95 V. A calibration is required to ensure proper conversion of output voltage to an input pulse rate.
Counter/timer devices also measure input pulse rates. One method is based on counting encoder pulses for a specified period of time and then converting the pulse count to rpm. However, a trade-off between resolution in counts and the update rate must be made.
In the previous example, the 1,000-Hz pulses output by the encoder at 60 rpm could be counted by the counter/timer for a gate period of 100 ms, resulting in a count of 10 pulses. If the encoder rate increases slightly, such as by 1% to 1,010, the counter would see 11 pulses during some 100-ms gate periods and 10 pulses at other periods. This fluctuation would be interpreted as a 10% error on the rpm or as a variation in speed that does not actually exist.
The resolution of the counter is insufficient. Increasing the gate period can eliminate this problem, but then the update rate is decreased. For example, with a count period of 1 s, the 1% increase in rpm is easily resolved, but updates are done at 1-s intervals.
The counter/timer also can count the period of each pulse output by the encoder, as described for discrete motion sensing. Here, the encoder pulse acts as the gate for the counter/timer internal clock. Set the counter/timer internal clock to run at a fast rate, such as 1,000 times that of the nominal encoder rate, and this method can easily detect the 1% increase in the encoder rate indicated previously. Also, a new reading is generated every pulse of the encoder.
The problem arises in extracting the data from such a device. This extraction is especially difficult since counter readings are generated at high rates (our encoders ran at around 5 to 10 kHz). This rate is not a problem for most PCs, but requires hardware buffering, and most typical counter/timer boards do not have this capability. As a result, a software interrupt-driven approach is required. At these rates, this approach is difficult.
The solution we used eliminates the calibration and resolution issues by using a completely digital timing approach based on a PC plug-in card.
Transition Timing for Motion Sensing
Our solution for motion sensing is based on time stamping digital transitions and uses the DIO-128 PC plug-in board from Viewpoint Software Solutions. The DIO-128 is designed around a digital signal processor (DSP) to perform data sampling and transition time stamping. It samples the input digital lines continuously at a specified sampling rate.
The on-board DSP samples the bit patterns and compares each new, multiple-bit sample with the previous one. If any of the bits have changed, the new bit pattern and the time at which the transition occurred are saved into the board’s FIFO buffer for retrieval by the PC. Figure 1 illustrates the transition time stamping and data reduction offered by the DIO-128. It has 128 digital input lines and can sample at rates up to 2 MHz.
A comparison of the many approaches to discrete motion sensing is helpful. As described, we needed 10-µs resolution for signal edge timing in the case of the discrete motion analysis. This can be achieved by running the DIO-128 board at a sampling rate of 100 kHz.
Consider the case of paper-arrival timings. Suppose we wanted to collect data from 16 subsystems, each with one sensor, for 20 pages at 0.5 s per page. If we sampled the data in a brute-force method by using a digital card sampled at 100 kHz, we would collect 16 million bit samples (16 × 20 × 0.5 × 100,000) or 2 MB of data. Since the DIO-128 only returns transition data to the PC, the data collected in this example would amount to only 640 samples (16 × 20 × 2). Two transitions are seen for each sensor for each page.
The time stamp produced by the board is 4 bytes. For this 16-sensor case, the bit pattern data is stored in 2 bytes, so the PC would need to acquire 3,840 bytes (6 × 640). Obviously, the data throughput to the PC is reduced drastically.
If we use a set of 16 counter/timers to sample edge-to-edge arrival timings for each sensor, we would need to coordinate the acquisition from each counter/timer since each one would receive edges at different times. One approach uses a counter/timer board with buffering so the PC does not have to poll the board continuously. We were unable to find boards for the required 80+ channels.
The other approach was to write custom code to interrupt the PC on edges to acquire the counts off the board. This approach was undesirable for development and maintenance reasons. Simpler approaches can be taken for one counter, but again, we had too many channels.
Another problem with the counter/timer approach stems from our interest in the variation of the delivery between adjacent subsystems. Here we needed to know sensor-to-sensor timing so our timing is across two channels. To use the counter/timers, we would have needed to create additional hardware to merge the two signals into a pulse train that we could measure. Again, this was too custom a solution.
Since the data reduction with the DIO-128 is so large, we collected data from the 80+ digital channels at about 7,000 pages per hour. This setup resulted in data files that were on the order of a few megabytes per hour.
Collecting data for continuous motion sensing is handled similarly. Here we use the DIO-128 to sample the encoder outputs. Subtracting the time between successive pulses gives the time it takes for the encoder to advance 1/Nth of a revolution (for an N pulse-per-revolution encoder). This amount of revolution can be related to a delta-distance traveled by the page, allowing a nearly instantaneous measure of paper speed to be calculated.
The speed calculations can be done on successive encoder pulses to create a curve of speed vs time. This curve then can be analyzed for stability and periodic variations. Figure 2 shows the different transition patterns that would be seen for a motor with constant and variable speed. Here we were able to detect motion stability simply by computing the edge-to-edge timing variations of the encoder output. These timing variations can be done on a pulse-by-pulse basis.
An F-V converter, a more typical method of determining motion stability, has some problems. First, the output bandwidth of an F-V usually is kept low to reduce noise in the output voltage. While the resulting stability of the output is good for most uses, our interest is the fluctuations, and the output bandwidths are too limiting.
Typical bandwidths of these devices range from 4 to 200 Hz. Higher bandwidth devices are available, but these tend to be expensive per input channel. We were interested in frequencies higher than 200 Hz, since motor-speed wobble can be seen on a copy at higher frequencies.
Second, these devices tend to phase shift the output voltage relative to actual high-frequency velocity fluctuations. This statement is another way of saying that the low-pass roll-off affects the measurements.
Third, these devices can drift with time and temperature and require frequent calibration. Our system has only small speed fluctuations about a large value, so we need the F-V to be very stable.
We also described using counters/timers to measure the period of each encoder pulse as a way to obtain pulse-to-pulse timing. These times can be used in the same way as the DIO-128, but the hardware and software implementation suffers from the same problems as described for discrete motion sensing, only now the pulse rates typically are much faster. Encoders run at 5 to 10 kHz; the discrete sensors output at about 2 Hz. As a result, writing interrupt routines simply was not acceptable.
With the DIO-128, the bandwidth could be increased to 400 Hz. The phase shifting is not present because the samples are not filtered. And, the only system drift is due to drift in the base frequency of the clock crystal that drives the DSP, which is on the order of 0.01%.
Discrete Motion Analysis
One method of analyzing the paper-arrival times follows the sequence of timings for a single piece of paper passing under many sensors as it travels through the copier. However, we mainly use a statistical method of watching arrival times for many pages at a set of sensors. Specifically, we find the time delay between two sensors for each page and perform statistical analysis on these time intervals. Typically, these two sensors were chosen from adjacent subsystems so we could analyze delivery times between, for example, when the paper was fed into the copier and when it arrived at the first subsystem.
Quantities useful in this analysis are the average, range, and standard deviation of the delays. We also incorporate the statistics into our ongoing efforts of quality improvement through the methods of robust product design.
We wrote a custom data-collection and processing application in LabVIEW from National Instruments. The program allows us to select which digital inputs to use from the 128 inputs provided by the DIO-128. The digital timing data is acquired with a resolution of 10 µs.
The collected data is processed at the end of a run and produces reports of timing between many pairs of channels. Standard statistical values and histograms are produced.
Data also can be output to ASCII files for further analysis in spreadsheet programs or statistical packages. This method of collecting and analyzing digital timing data was very helpful in understanding the system dynamics of paper handling.
Continuous Motion Analysis
The analysis of motor speed is accomplished by converting the time deltas between encoder pulses to speed. Each motor encoder pulse corresponds to a specific angular rotation. This rotation can be scaled to linear movement by understanding gearing and platen geometries. As a result, an encoder pulse can be translated to a distance movement DD.
Subtracting the times of successive encoder pulses as measured by the DIO-128 gives a sequence of time increments DT. Then, speed is calculated as DD/DT. Performing this calculation over a series of encoder pulses can create a waveform of speed vs time. Figure 3 shows an example trace.
We developed a custom LabVIEW application to acquire and analyze data from an encoder. The resulting speed waveform can be analyzed for peak-to-peak variations and frequency content. An example of the frequency content is shown in Figure 4.
Using the DIO-128 board and custom LabVIEW applications helped us achieve long-term, accurate timing measurements of many digital channels. We were able to complete our product tolerance designs faster than with other methods, resulting in a quality product.
Digital motion analysis can be used in any process that has moving parts. Product tolerance design and process control improvements on systems with moving components can benefit from motion analysis.
About the Author
James A. Campbell is a cofounder of Viewpoint Software Solutions and has been working in software development and consulting in data acquisition and instrumentation for the past 15 years. He has a B.S. in physics and a Ph.D. in electrical engineering from the University of Rochester. Viewpoint Software Solutions, 2320 Brighton TL Rd., Rochester, NY 14623, (716) 475-9555, www.viewpointusa.com.
Robert A. Zimny is a mechanical instrumentation technician at Kodak. He has been employed at Kodak for 27 years, with the last 10 years involved in data acquisition and instrumentation for Office Imaging product development. Mr. Zimny has participated in many courses at Monroe Community College and the Rochester Institute of Technology. Eastman Kodak, Office Imaging R&T, 2/11/EP, 901 Elmgrove Rd., Rochester, NY 14653-6040, (716) 726-1615.
Published by EE-Evaluation Engineering
All contents © 1999 Nelson Publishing Inc.
No reprint, distribution, or reuse in any medium is permitted
without the express written consent of the publisher.