Information processing device and its control method
The device corrects phase errors in encoder-based speed calculations by using a 90-degree phase difference and edge interval analysis, ensuring accurate speed measurements and stable drive control in information processing devices.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-09-18
- Publication Date
- 2026-03-31
AI Technical Summary
Existing motor control methods using encoders in information processing devices, such as printers, suffer from phase errors due to duty cycle distortions in pulse signals, leading to inaccuracies in speed calculations, especially during low-speed and high-speed operations.
An information processing device that determines speed based on a first and second pulse signal with a 90-degree phase difference, utilizing edge detection and interval calculations to correct phase errors through a phase correction value derived from fluctuation rates of consecutive edge intervals.
Mitigates phase errors caused by encoders, enabling high-speed and high-precision drive control.
Smart Images

Figure 2026055494000001_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to an information processing apparatus and a control method thereof.
Background Art
[0002] In an information processing apparatus such as a serial inkjet printer, transporting a recording medium to a predetermined position is important for maintaining image quality, and high-speed and high-precision transport driving is required. In such transport driving, feedback control such as PID control using a motor and an encoder is common. When obtaining control information from an encoder, the higher the resolution, the more the speed variation during transport is suppressed and the positioning accuracy is increased. Therefore, a method using information on both phases and both edges of an encoder is being adopted, but it has also been found that measurement errors occur due to the influence of the duty ratio of the pulse signal of the encoder being distorted.
[0003] In the motor control device, motor control method, and program described in Patent Document 1, a first pulse signal corresponding to the driving speed of the motor and a second pulse signal whose phase is shifted from the first pulse signal are used. An arithmetic process for calculating the speed of the motor is performed based on the required time from the rising edge of the first pulse signal to another edge (including the second pulse signal) and the count value corresponding to the other edge. As a result, it becomes possible to obtain speed information before a one-cycle pulse signal output from the encoder is detected, and it is said that the influence of the deterioration of the pulse signal in the 1 / 4 cycle section (the section where two edges are detected) is not received.
Prior Art Documents
Patent Documents
[0004]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0005] In the motor control device, motor control method, and program disclosed in Patent Document 1, speed information can be obtained at the timing of changes in both phases and edges of the encoder, but the speed calculated is the speed from the rising edge of the reference first pulse signal to the changed edge. In other words, it is not necessarily speed information for a 1 / 4 period interval, but in some cases the average speed for a 3 / 4 period interval is calculated. In transport drive, the behavior of very low-speed operation just before stopping is important, and the speed for each 1 / 4 period is required. Addressing error factors such as duty cycle in speed calculations in 1 / 4 period units is a challenge.
[0006] The present invention aims to provide an information processing device that can mitigate phase errors caused by encoders. [Means for solving the problem]
[0007] To achieve the above objective, the present invention provides an information processing device for determining the speed of a moving object based on a first pulse signal output from a digital encoder and a second pulse signal having a phase difference of 90 degrees with respect to the first pulse signal, and is characterized by comprising: edge detection means for detecting the first rising edge and first falling edge of the first pulse signal and the second rising edge and second falling edge of the second pulse signal, respectively; interval calculation means for calculating four consecutive edge intervals detected by the edge detection means; and calculation means for calculating a phase correction value for correcting the phase of the encoder based on a fluctuation rate obtained by dividing a first one-period interval value, which consists of the sum of the four consecutive edge intervals calculated by the edge interval calculation means, by a second one-period interval value obtained from four times the value of one edge interval calculated by the interval calculation means. [Effects of the Invention]
[0008] According to the present invention, the phase error effect caused by the encoder can be mitigated, and by stabilizing the drive control, high-speed and high-precision operation can be achieved. [Brief explanation of the drawing]
[0009] [Figure 1] This figure shows a schematic internal configuration of an information processing device according to an embodiment of the present invention. [Figure 2] This figure shows a schematic external configuration of an information processing device according to an embodiment of the present invention. [Figure 3] This is an explanatory diagram of the pulse signal from an encoder sensor. [Figure 4] This is the overall flow chart. [Figure 5] This is a diagram showing the correspondence between the pulse signal and the phase correction value when calculating the phase correction value. [Figure 6] This is a table diagram of phase correction values. [Figure 7] This is a flowchart diagram for calculating phase correction values. [Figure 8] This is a timing diagram of calculations initiated by the software. [Figure 9] This is a timing diagram of calculations starting from the hardware. [Figure 10] This diagram illustrates how phase correction values are reflected in velocity calculations. [Figure 11] This figure shows the effect of using phase correction. [Modes for carrying out the invention]
[0010] Embodiments of the present invention will be described below with reference to the drawings. However, the dimensions, materials, shapes, and relative arrangements of the components described in the embodiments may be appropriately changed depending on the configuration of the device to which the invention is applied and various conditions, and this is not intended to limit the scope of the invention to the following embodiments.
[0011] [Embodiment] <Recording device> Hereinafter, embodiments of the present invention will be described with reference to the drawings.
[0012] FIG. 1 is a diagram showing a schematic configuration of an information processing apparatus according to the present embodiment. In the present embodiment, the information processing apparatus is shown as having only a printing function, but is not limited thereto. For example, the information processing apparatus may further include a reading device that reads an image on a document and functions as a copying machine, or may be a multifunction peripheral (MFP) with other functions added thereto.
[0013] In FIG. 1, an information processing apparatus 100 includes a printer controller 120, a printer engine 150, an HDD 161, and an input / output device 162. The information processing apparatus 100 can also be connected to a host computer 190 via a network 191. The printer controller 120 has an HDD interface (I / F) 121, an input / output device I / F 122, a ROM I / F 125, and a memory controller 126. The printer controller 120 also has a host I / F 127, a CPU (Central Processing Unit) 128, a controller engine interface 129, and an image processing unit 130. These are connected via a system bus 132. Further, the printer controller 120 has a FlashROM 123 and a RAM 124, which are connected to the system bus 132 via the ROM I / F 125 and the memory controller 126, respectively.
[0014] The CPU 128 is a central processing unit in the form of a microprocessor (microcomputer), and controls the operation of the entire information processing apparatus 100 by executing programs and starting up hardware. The FlashROM 123 stores programs for the CPU 128 to execute and various data necessary for various operations of the image processing apparatus 100. The RAM 124 is used as a work area for the CPU 128, as a temporary storage area for various received data, or to store various setting data.
[0015] The image processing unit 130 performs various image processes. For example, it performs a process of expanding (converting) print data (e.g., data represented in a page description language) handled by the information processing apparatus 100 into image data (bitmap image data), and other image processes. Also, the image processing unit 130 converts the color space (e.g., YCbCr) of the image data included in the input print data into a standard RGB color space (e.g., sRGB). Further, the image processing unit 130 performs various image processes on the image data as needed, such as resolution conversion to an effective number of pixels (printable by the information processing apparatus 100), image analysis, and image correction. The image data obtained by these image processes is stored in the RAM 124 or the HDD 161.
[0016] The printer engine 150 is a printing unit that performs image formation. The printer engine 150 includes an inkjet head 151, a cutter unit 152, a conveyance motor 153, an interface 154 with the printer controller 120, and an encoder sensor 155. Each part is connected via a system bus 156.
[0017] The inkjet head 151 is a printing unit that prints an image, and prints an image on a sheet based on the image data. The inkjet head 151 holds, for example, a plurality of print heads for a plurality of colors, and ejects ink from the print heads in synchronization with the conveyance of the sheet to form an image on the sheet. Note that the information processing apparatus according to the present embodiment is described by taking an inkjet printer using ink as a recording material as an example, but is not limited thereto. The present invention is applicable to printing apparatuses of various printing methods, such as electrophotographic methods such as thermal printers (sublimation type, thermal transfer type, etc.), dot impact printers, LED printers, and laser printers.
[0018] The transport motor 153 is a motor that drives the transport rollers that transport the recording paper, and is controlled by the CPU 128. The encoder sensor 155 is a measuring means for moving the transport motor 153 at a predetermined speed and distance. The encoder sensor 155 measures the time each time the encoder slit changes, and the speed is determined from the number of slit changes and the slit change time of the encoder sensor 155 between control cycles at the timing of each control cycle of the CPU 128. The CPU 128 uses the results measured by the encoder sensor 155 as feedback to calculate and set the appropriate amount of operation to the transport motor, thereby moving the transport rollers.
[0019] The input / output device 162 includes hard keys and a panel for the user to perform various operations, as well as a display unit for displaying (notifying) various information to the user. The input / output device 162 may also display information to the user by outputting sound (buzzer, voice, etc.) based on acoustic information from a sound generator. During paper feeding, the user uses the input / output device 162 to select the paper type and transmits the correct paper type to the information processing device 100, which then performs the paper transport set for each paper type.
[0020] HDD161 is a non-volatile storage area that can store and read programs to be executed by the CPU128, print data, and setting information necessary for various operations of the information processing device 100. Alternatively, other large-capacity storage devices such as flash memory may be used instead of HDD161.
[0021] In this embodiment, the input / output device 162 is located inside the information processing device 100, but it is not limited to this configuration and may be connected as an external device via, for example, a network 191. Furthermore, the host computer 190 may also function as the input / output device 162. In addition to the input / output device 162, the information processing device may also be able to connect other input / output devices via the network 191 or the like.
[0022] The host computer 190 is, for example, an external device that serves as a source of print data, and has a printer driver installed. Instead of the host computer 190, the information processing device 100 may be provided with a data supply device that serves as a source of print data, such as an image reader, a digital camera, or a smartphone. The connection method between each device and the information processing device 100 is not limited to via the network 191, but may also be directly connected via wireless communication, for example.
[0023] Figure 2(a) is a schematic diagram showing the top view of the inside of the information processing device (serial inkjet printer) 100 according to this embodiment. Figure 2(b) is a cross-sectional view of the inside of the information processing device 100 in the YZ plane.
[0024] Multiple recording media 1 are stacked in the paper feed tray 11 (stacking section). The pickup roller 2 contacts the uppermost recording media 1 stacked in the paper feed tray 11 and picks it up. The paper feed roller 3 feeds the recording media 1 picked up by the pickup roller 2 downstream in the Y direction (conveying direction). The paper feed driven roller 4 is biased toward the paper feed roller 3 and, together with the paper feed roller 3, grips and feeds the recording media 1.
[0025] The transport roller 5 transports the recording medium 1, fed by the paper feed roller 3 and the paper feed driven roller 4, to a position facing the recording head 101. The pinch roller 6 is biased toward the transport roller 5 and, together with the transport roller 5, grips and transports the recording medium. The transport motor 153 and encoder sensor 155 in Figure 1 are not shown in Figure 2, but they move the transport roller 5 and pickup roller 2 via gear coupling. To transport a predetermined amount of recording medium 1, FB control is performed to set the number of encoder slits and slit change time, taking into account the reduction ratio of the gear coupling.
[0026] The recording head 101 ejects ink onto the recording medium 1, which is transported by the transport rollers 5 and pinch rollers 6, to perform recording. The platen 8 supports the back surface of the recording medium 1 at a position opposite the recording head 101. The carriage 10 mounts the recording head 101 and scans in the X direction (scanning direction).
[0027] The discharge roller 9 discharges the recording medium, which has been recorded by the recording head 101, to the outside of the device. The spurs 12 and 13 rotate in contact with the recording surface of the recording medium, which has been recorded by the recording head 101. Here, the spur 13, which is downstream in the Y direction, is biased toward the discharge roller 9, while the spur 12, which is upstream, does not have the discharge roller 9 positioned opposite it. The spur 12 is for preventing the recording medium 1 from lifting up and is also called a retaining spur.
[0028] Between the paper feeding nip section formed by the paper feeding roller 3 and the driven paper feeding roller 4, and the transport nip section formed by the transport roller 5 and the pinch roller 6, the recording medium 1 is guided by the transport guide 15. The recording medium detection sensor 16 is for detecting the leading and trailing ends of the recording medium 1 and is located downstream of the paper feeding roller 3 in the Y direction.
[0029] The pulse signals of the encoder sensor 155 in Figure 2 will be explained using Figure 3. The encoder sensor 155 outputs two signals when the transport motor 153 is driven: a pulse signal of phase A (upper signal in Figure 3, hereinafter simply referred to as phase A) and a pulse signal of phase B (lower signal in Figure 3, hereinafter simply referred to as phase B), which is phase-shifted by 1 / 4 period from phase A. In the encoder sensor 155, the encoder elements of phases A and B are positioned with a 1 / 4 interval offset from the repeating interval of transparency and opacity of the encoder slit. In the case of Figure 3, signal detection is shown when the transport motor is moving at a constant speed.
[0030] The edge detection unit (not shown) independently detects each edge of each phase, namely the rising edge of phase A, the falling edge of phase A, the rising edge of phase B, and the falling edge of phase B.
[0031] For each edge change, the interval between edge changes is measured as the edge count interval and transmitted to the CPU to perform FB control. Here, the edge interval until the state of phase B and phase A changes from 00 to 01 (rise edge detection of phase A: E01 in the figure) is defined as edge 01. Similarly, the edges where the state of phases A and B changes to 11, 10, and 00 are E11, E00, and E00 in the figure, and the edge intervals are edge 11, edge 10, and edge 00.
[0032] These edge spacings, being constant speed, would ideally correspond to the edge spacing of signals with a phase shift of 1 / 4 period. However, in reality, they are not always exactly 1 / 4 period. This is because, due to placement errors in the encoder elements, the duty cycle within the same phase has errors relative to 1 / 2 period, and there are errors relative to the 1 / 4 period shift between phase A and phase B.
[0033] Figure 3 shows the case where both phase A and phase B have errors in the direction of increasing duty cycle. While edges E10 and E00 are present when there are no errors, the edges with errors are E10' and E00'. The difference between them (E10'–E10, E00'–E00) is called the duty cycle error. Furthermore, the phase difference error caused by the arrangement error between phase A and phase B is shown in the figure as the difference between E11 and E11'.
[0034] Furthermore, when the pulse signal switches from LOW to HIGH, the period may be disrupted due to the influence of electrical elements, causing the edges to become dull (E01' in the figure). When the encoder element changes the digital signal, a threshold is set at around 50% of the High-side signal voltage, and the High state is recognized when this voltage value is passed. If the edges become dull, the rise time becomes slower, and the time it takes to reach the threshold voltage is delayed. In the figure, the detection of E01 is delayed until E01', which is indicated as the rise time error. Due to these various errors, the edge spacing is not necessarily uniform, and from now on, these combined errors will be referred to as the phase error.
[0035] When measuring the speed of a driven object using pulse signals with such non-uniform periods, the measurement result will have an error equal to the phase error of the pulse signal. In particular, the effect of phase error becomes more pronounced in low-speed operations where the change in the pulse signal is small, or in high-speed operations where the control period is fast, resulting in small pulse changes between control periods.
[0036] Figure 4 shows the overall flow of the proposed method for reducing the effect of encoder phase error in speed calculation in 1 / 4 period units and the control method of the information processing device using this method. When the power button of the information processing device is pressed, the CPU becomes active (S1 Power ON) and proceeds with various preparation processes for printing. Generally, first, a process to start up the various components of the electrical circuit board is executed, and then the initialization process of the mechanical mechanism begins (S2 Initialization operation). There are various initialization operations, but a certain amount of movement is performed, such as setting the initial position and recovering from the previous operation. In conjunction with this movement, the drive system that is subject to phase error correction executes a process to determine the phase correction value (S3 Phase correction value identification execution). When the initialization operation is completed, the information processing device becomes ready to print and waits until a print command is issued (S4 Waiting for print command). When a print command is issued from the outside, the CPU performs processing such as analyzing the image to be printed and pixel conversion, and the information processing device moves to start printing (S5 Start printing). In order to perform printing, the operation processing of each drive unit is carried out. During this drive control processing, the phase correction value identification result obtained in S3 is used to perform phase correction in the speed calculation (S6 Phase correction implementation in speed calculation), and printing is performed. This proposal mainly consists of the identification of the phase correction value in S3 and the phase correction implementation process in the speed calculation in S6.
[0037] Figure 5 shows the correspondence between the pulse signal and the phase correction value when calculating the phase correction value, and Figure 6 shows the phase correction table values, which are the results of obtaining the phase correction value. The A phase, B phase, edge state, and edge spacing in Figure 5 are the same as those explained in Figure 3, so the explanation is omitted. Phase error does not occur at intervals of one cycle. That is, the sum of edges 01, 11, 10, and 00 in the figure is the edge spacing of one cycle in which no phase error occurs (edge all in the figure). Based on this relationship, the rate of variation from the ideal value without phase error can be obtained by dividing each edge spacing (edges 01, 11, 10, 00) by the edge spacing of one cycle (edge all). Since the phase error of each edge has different values depending on the duty cycle, phase difference, rise time, etc., the rate of variation is calculated for each edge.
[0038] Furthermore, although the arrows in the diagram indicate the forward direction, the relationship between the pulse signals between phases A and B also changes when moving in the opposite direction. Therefore, the phase error value will differ for each edge state in both the forward and reverse directions. Also, although each edge is divided by the total edge value, this assumes that the speed of each edge is equal to the speed of one cycle. Naturally, the speed of the driven object changes moment by moment, so the speed of each edge is not necessarily equal to the speed of one cycle. Therefore, when calculating the fluctuation rate that becomes the phase correction value, it is necessary to calculate it from the average value obtained by dividing each edge interval by the total edge value multiple times, and it is necessary to calculate the fluctuation rate for both the forward and reverse directions. The results of calculating each fluctuation rate in this way become the phase correction value table in Figure 6, which is a table consisting of combinations of edge states and operating directions.
[0039] Calculating a phase correction value table like the one shown in Figure 6 is the process of identifying the phase correction value in Figure 4, S3. Since the calculation of the fluctuation rate that becomes the phase correction value assumes a constant speed, it is desirable that the driven object is moved at a constant speed during the identification process. Also, since the values will differ in the forward and reverse directions, it is desirable to obtain them when moving in each direction during the identification process. However, the initialization operation in Figure 4, S2 may not always produce the operation desirable for identification. It is possible to create an initialization operation specifically for identification, but in that case, the time required for the initialization operation may increase. In particular, if the direction of operation is different, an entire operation for identification may be added. In such cases, the operation that requires accuracy can be performed in the initialization operation, and the correction in the reverse direction can be omitted. Alternatively, the value in the reverse direction can be calculated. When calculating the value as described later, it is difficult to include all phase error factors, so the factors with a large influence on phase error are assumed, and the effects of their occurrence in the forward and reverse directions are taken into account in the calculation. For example, if the phase difference error between edge state 11 and phases A and B is α, and the duty cycle error of phase A is β, then the error in the forward direction is α + β, but in the reverse direction it is α - β. α and β are determined from the error generation relationship of each edge, the error effect in the reverse direction is calculated, and the rate of variation in the reverse direction is calculated.
[0040] Figure 7 is a flowchart of the phase correction value calculation process shown in Figures 5 and 6. When the phase correction value calculation starts, the system enters a waiting state to determine the timing for the calculation, and then determines whether a calculation trigger has occurred (S7). If a calculation trigger occurs, the system transitions to edge interval data acquisition S8; otherwise, S7 is executed again. The calculation trigger only needs to be updated for data acquisition in S8. Therefore, the control cycle for drive control, changes in the encoder edge, etc., can act as triggers, and the appropriate trigger can be selected depending on the software and hardware configuration used.
[0041] In edge interval data acquisition S8, the encoder edge interval immediately before the calculation trigger occurred is retrieved from hardware such as the ASIC into a data area in RAM. By checking the edge state at the time of the trigger, intervals corresponding to each edge state are acquired. The data corresponds to the edge state of the encoder BA phase, and the data for when the BA phase is 01, 11, 10, 00 will be edge01, edge11, edge10, edge00.
[0042] In the 1-period interval calculation S9, based on the data from S8, the edge interval for one period without phase error (alledge) is determined. alledge = edge01 + edge11 + edge10 + edge00. In the fluctuation rate calculation S10, the fluctuation rate is calculated for each edge state. When the edge state is 01, the relationship is var01 = edge01 / alledge, and var11, var10, and var00 are calculated similarly.
[0043] As shown in Figure 5, the operating speed is not necessarily constant, so it is necessary to calculate the average value. Also, as shown in Figure 5, the values for each edge state need to be measured separately for each direction of operation. The explanation in Figure 7 uses the forward direction as an example, and calculates D1 / D2 / D3 / D4 in Figure 6. The rate of variation is accumulated in the rate of variation accumulation S11. In S11, the accumulated value for edge state 01 is integ01 = integ01 + edge01, the initial value of integ01 is 0, and the rate of variation is accumulated while S11 is executed within the free state. The accumulated values for other edges become integ11, integ10, and integ00, and are calculated similarly. After S11 is completed, the cumulative number reach determination S12 checks whether the cumulative number needed to calculate the average value has been met. If the cumulative number is met, the process proceeds to the phase correction value calculation S13. When the edge state is 01, the correction value D1 is calculated as integ01 / cumulative number. The correction values for edge states 11, 10, 00 are D2, D3, and D4, which correspond to the forward correction values shown in the correction value table in Figure 6. When the correction values are finished in S13, the chair correction value calculation is completed. If the cumulative number is not met in S12, the process returns to calculation trigger S7 and waits for the next calculation. Although not explained here, Figure 7 shows the correction values for forward movement, and it is also necessary to calculate the reverse direction. In this case, one can either perform the measurement operation in the reverse direction as described above and perform the same processing as in Figure 7, or use the forward values to estimate the reverse direction.
[0044] Figures 8 and 9 show examples of the calculation methods used to determine the rate of variation at each edge in Figure 5. Figure 7 shows the case where timing is created and calculations are performed mainly from software, while Figure 9 shows the case where timing is created and calculations are performed from hardware (ASIC).
[0045] The thick dotted line in Figure 8 indicates the calculation timing, and in the figure, time flows from left to right. The calculation timing occurs with each cycle of FB control of the drive system and is managed by a periodic interrupt in the software. The hardware (ASIC) at this time has a function to count the edge interval for each edge change of the encoder A phase and B phase, and this edge interval must be buffered for at least one cycle. With each periodic interrupt in the software, the buffered edge interval for one cycle is read, the fluctuation rate of each edge is calculated, and these are accumulated to create a correction value table from the average value.
[0046] In Figure 9, the thick dotted line indicates the calculation timing, and in the figure, time flows from left to right. The calculation timing occurs with each change in the reference edge of the encoder signal (in this case, the rising edge of the upper signal). Using the encoder edge as the reference requires hardware (ASIC) support in terms of operating speed. Therefore, the hardware stores the edge interval at each change in the reference edge in the memory area. Then, when a certain number of measurement points are reached, the average rate of variation is calculated using the stored values of each edge and the edge interval for one period, and a correction value table is created. The ASIC function in Figure 9 is more complex, but it is thought that the operating time (amount of operation) required to calculate the correction value will be shorter compared to Figure 7. This should be used in accordance with the hardware capabilities.
[0047] Figure 10 illustrates how to perform speed calculations using the phase correction value table in Figure 6. The pulse signals of encoder phases A and B change from left to right, and the speed calculation is performed during the control calculation period indicated by the thick line in the figure. The line to the right of the thick line is the current control period, and the line to the left is the previous control period. In each control period, the information of the driven object is updated with the most recent edge change information. In the current control period, the dotted line on the right indicates that the BA phase is in state 11, and the position count value at that edge change is NowP, and the time is NowT. In the previous control period, the dotted line on the left indicates that the BA phase is in state 00, and the position count is OldP, and the time is OldT. The speed for the current period is determined from the encoder change between the left dotted line and the right dotted line.
[0048] If phase correction is not considered in the diagram, the speed can be calculated using the relationship: Speed = (NowP - OldP) / (NowT - OldT). However, since this encoder change includes phase error, the resulting speed will naturally include measurement error.
[0049] When applying phase correction, the edge information from the previous and current cycles is used to determine which edge interval was passed through, and phase correction is performed. In Figure 9, the BA phase changes from 00 in the previous cycle to 11 in the current cycle. The driving direction at this time is forward, so the amount of variation from 00 to 11 in the forward direction is used in the correction value table in Figure 6. The amount of variation in the forward direction at 11 is D1, 01 which is between 11 and 00 is D4, and the amount of variation from 00 to 11 is D4 + D1, which occurs as a phase error, and dividing by the amount of movement gives the average error rate between control cycles. Speed=(NowP−OldP) / ( (NowT−OldT)*(D4+D1) / (NowP−OldP) ) The speed can be calculated using the above method, and by using this speed, speed calculations without phase errors can be achieved.
[0050] Figure 11 shows an example of speed measurement results using phase correction as shown in Figure 10. The horizontal axis of the figure represents time [msec], and the vertical axis represents speed [slit / sec]. The thin dotted line in the figure is the original signal, showing the physical operating speed of the object being measured. In this example, it shows a speed waveform oscillating around 1800 [slit / sec]. The thin solid line in the figure is the speed measurement result without phase correction. The encoder phase error is set to a condition close to the maximum value of component variation, and it can be seen that the speed error appears in the ± direction due to the combination of the encoder change detected within the control cycle and the phase error. In contrast, the thick solid line is the speed measurement result with phase correction as proposed in this work. Although a delay in the control cycle is observed, its magnitude is almost identical to that of the original signal. [Explanation of Symbols]
[0051] 100 Information Processing Devices 128 CPU 155 Encoder Sensor
Claims
1. An information processing device that determines the speed of a moving object based on a first pulse signal output from a digital encoder and a second pulse signal having a phase difference of 90 degrees with respect to the first pulse signal, Edge detection means for detecting the first rising edge and first falling edge of the first pulse signal, and the second rising edge and second falling edge of the second pulse signal, respectively. An interval calculation means for calculating the interval between four consecutive edges detected by the edge detection means, An information processing apparatus comprising: a correction value calculation means for calculating a phase correction value for correcting the phase of the digital encoder based on a rate of change obtained by dividing a first period interval value, which consists of the sum of four consecutive edge intervals calculated by the interval calculation means, by a second period interval value obtained from four times the value of one edge interval calculated by the interval calculation means.
2. The information processing apparatus according to claim 1, characterized in that it includes a correction means for calculating a phase correction value in the initial operation and for correcting the speed detection value of the moving body using the phase correction value in the control of the moving body after a print command is issued.
3. The information processing apparatus according to claim 2, characterized in that the correction means corrects the speed detection value by multiplying the speed detection value in the case without correction by a correction coefficient value based on the phase correction value calculated by the correction value calculation means according to the control cycle.
Citation Information
Patent Citations
JP125116A