Encoder and encoder system
The dual optical detection units in the encoder system enhance reliability and sensitivity by comparing detection results and sharing a light source, addressing the accuracy issues in existing encoders, and providing a compact and reliable solution.
Patent Information
- Application Number
- JP2024125160
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-04-03
- Filing Date
- 2024-07-31
- Publication Date
- 2025-10-16
AI Technical Summary
Existing encoders lack reliability in detection, particularly in optical systems, which affects the accuracy and sensitivity of rotation detection.
The encoder system incorporates dual optical detection units that compare their detection results, with one unit having higher resolution and the other lower resolution, sharing a light source to enhance reliability and miniaturization, and includes a monitoring unit to verify normal operation.
This configuration improves the reliability and sensitivity of rotation detection by ensuring high-resolution comparison and allows for early detection of reliability decreases, while maintaining a compact design.
Smart Images

Figure 2025158058000001_ABST
Abstract
Description
[Technical Field]
[0001] The present disclosure relates to encoders and encoder systems. [Background technology]
[0002] Patent document 1 discloses a system including an encoder having an optical first rotational position detection unit and a magnetic second rotational position detection unit, and a motor control device that compares the rotational position detected by the first rotational position detection unit with the rotational position detected by the second rotational position detection unit. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Patent No. 6428817 Summary of the Invention [Problem to be solved by the invention]
[0004] The present disclosure provides an encoder and an encoder system that are effective in improving reliability. [Means for solving the problem]
[0005] An encoder according to one aspect of the present disclosure includes a first optical detection unit that detects rotation of a rotating shaft, a second optical detection unit that detects rotation of the rotating shaft, a comparison unit that compares the detection result by the first detection unit with the detection result by the second detection unit, and a data transmission unit that transmits data including at least the detection result by the first detection unit and the comparison result by the comparison unit.
[0006] An encoder system according to another aspect of the present disclosure includes the above-described encoder and a monitoring unit that receives data from a data transmitting unit and monitors whether the data transmitting unit is operating normally based on the received data. [Effects of the Invention]
[0007] According to the present disclosure, it is possible to provide an encoder and an encoder system that are effective in improving reliability. [Brief explanation of the drawings]
[0008] [Figure 1] FIG. 1 is a schematic diagram illustrating a configuration of a servo system. [Figure 2] FIG. 2 is a schematic diagram illustrating multiple chord tracks. [Figure 3] FIG. 2 is a schematic diagram illustrating the layout of a plurality of optical sensors. [Figure 4] FIG. 2 is a block diagram illustrating a functional configuration of a circuit board. [Figure 5] FIG. 10 is a diagram illustrating the configuration of a protocol data unit. [Figure 6] FIG. 10 is a block diagram showing a modified example of the circuit board. [Figure 7] FIG. 10 is a block diagram showing a further modified example of the circuit board. [Figure 8] FIG. 10 is a block diagram showing a further modified example of the circuit board. [Figure 9] FIG. 10 is a block diagram showing a modified example of the servo system. [Figure 10] FIG. 2 is a block diagram illustrating an example of the hardware configuration of a circuit board and an expansion unit. [Figure 11] 10 is a flowchart illustrating an example of an encoder startup procedure. [Figure 12] 10 is a flowchart illustrating a data transmission procedure by an encoder. [Figure 13] 10 is a flowchart illustrating a procedure for generating a first protocol data unit. [Figure 14] 10 is a flowchart illustrating a procedure for generating a second protocol data unit. [Figure 15] 10 is a flowchart illustrating a first monitoring procedure by the expansion unit. [Figure 16] 10 is a flowchart illustrating a second monitoring procedure by the expansion unit. DETAILED DESCRIPTION OF THE INVENTION
[0009] Hereinafter, the embodiments will be described in detail with reference to the drawings. In the description, the same elements or elements having the same functions are denoted by the same reference numerals, and redundant description will be omitted.
[0010] FIG. 1 shows a system for feedback control of the position or speed of a motor 10, and includes the motor 10, an encoder 20, and a servo driver 200. The motor 10 has a rotating shaft 12, a frame 11, and a bearing 13. The rotating shaft 12 has a central axis CL1 and extends along the central axis CL1. The frame 11 houses the rotating shaft 12. The bearing 13 is fixed to the frame 11 and holds the end of the rotating shaft 12 so that it can rotate around the central axis CL1. The end of the rotating shaft 12 protrudes outside the frame 11 through the bearing 13. The motor 10 receives a supply of electric power to rotate the rotating shaft 12 around the central axis CL1.
[0011] The encoder 20 is attached to the frame 11 and detects the rotation of the rotating shaft 12. The encoder 20 can communicate with the servo driver 200, for example, via serial communication. The servo driver 200 feedback-controls the position of the motor 10 (for example, the rotation angle of the rotating shaft 12) or the speed of the motor 10 (for example, the rotation speed of the rotating shaft 12). For example, the servo driver 200 obtains the detection result of the rotation of the rotating shaft 12 from the encoder 20, and supplies power to the motor 10 to bring the rotation angle or rotation speed of the rotating shaft 12 closer to a target value.
[0012] To perform feedback control with high reliability, the reliability of the detection results by the encoder 20 is essential. Therefore, the encoder 20 includes a first detection unit 30, a second detection unit 40, and a circuit board 100. The first detection unit 30 and the second detection unit 40 each detect the rotation of the rotating shaft 12. Both the first detection unit 30 and the second detection unit 40 are optical.
[0013] The circuit board 100 is configured to compare the detection result by the first detection unit 30 with the detection result by the second detection unit 40, and to transmit data including at least the detection result by the first detection unit 30 and the comparison result (the comparison result between the detection result by the first detection unit 30 and the detection result by the second detection unit 40).
[0014] According to the circuit board 100, in addition to the detection result by the first detection unit 30, a comparison result between the detection result by the first detection unit 30 and the detection result by the second detection unit 40 is transmitted. Therefore, for example, the servo driver 200 or the like receives data including the detection result by the first detection unit 30 and the comparison result, and can evaluate the reliability of the detection result by the encoder 20 based on the comparison result. For example, if the detection result by the first detection unit 30 and the detection result by the second detection unit 40 match, it can be determined that the reliability of the detection result by the encoder 20 is maintained. On the other hand, if the detection result by the first detection unit 30 and the detection result by the second detection unit 40 do not match, it can be determined that the reliability of the detection result by the encoder 20 has decreased.
[0015] The resolution of optical rotation detection tends to be higher than the resolution of magnetic rotation detection, etc. In the encoder 20, since both the first detection unit 30 and the second detection unit 40 are optical, the resolution of the comparison result between the detection result of the first detection unit 30 and the detection result of the second detection unit 40 is also high. For example, it is possible to determine with high resolution whether the detection result of the first detection unit 30 and the detection result of the second detection unit 40 match. This makes it possible to detect a decrease in reliability with high sensitivity. Therefore, it is effective in improving reliability.
[0016] The first detection unit 30 may have a first code track 31 and a first optical sensor 32. The first code track 31 rotates together with the rotation shaft 12. The first optical sensor 32 outputs a signal corresponding to the rotation of the first code track 31 based on light that has passed through the first code track 31. The light that has passed through the first code track 31 may be light reflected by the first code track 31 or light that has passed through the first code track 31. The first optical sensor 32 may be an optical sensor array including a set of optical sensors arranged circumferentially around the rotation shaft 12.
[0017] The second detection unit 40 may have a second code track 41 and a second optical sensor 42. The second code track 41 rotates together with the rotation shaft 12. The second optical sensor 42 outputs a signal corresponding to the rotation of the second code track 41 based on light that has passed through the second code track 41. Like the light that has passed through the first code track 31, the light that has passed through the second code track 41 may be light that has been reflected by the second code track 41 or light that has been transmitted through the second code track 41. The second optical sensor 42 may be an optical sensor array including a set of optical sensors arranged circumferentially around the rotation shaft 12.
[0018] In this way, by providing a combination of a code track and an optical sensor separately for each of the first detection unit 30 and the second detection unit 40, reliability can be further improved. The code track has a plurality of codes and a plurality of spaces arranged alternately along the circumferential direction around the rotation axis 12. Each of the plurality of codes transmits light to the optical sensor by transmission or reflection. As an example, each of the plurality of codes reflects light toward the optical sensor.
[0019] The first code track 31 and the second code track 41 may be aligned in a radial direction perpendicular to the rotation axis 12. The first optical sensor 32 and the second optical sensor 42 may be aligned in the radial direction so as to correspond to the first code track 31 and the second code track 41, respectively. By arranging the first code track 31 and the second code track 41 close to each other, it is possible to easily share a light source.
[0020] The first detection unit 30 and the second detection unit 40 may share one light source 65. The first optical sensor 32 may output a signal corresponding to the rotation of the first code track 31 based on light that has been emitted from the light source 65 and passed through the first code track 31. The second optical sensor 42 may output a signal corresponding to the rotation of the second code track 41 based on light that has been emitted from the light source 65 and passed through the second code track 41. Sharing the light source 65 allows the encoder 20 to be made smaller.
[0021] The resolution of the second detection unit 40 may be lower than that of the first detection unit 30. By intentionally lowering the resolution of the second detection unit 40 for comparison, it is possible to strike a balance between reliability and cost. Resolution is the minimum angle that can be detected, and is determined by the number of codes and spaces included in one rotation.
[0022] The first optical sensor 32 and the second optical sensor 42 may be included in one optical module 60. The light source 65 may be provided between the first optical sensor 32 and the second optical sensor 42 in the optical module 60. By mounting the light source 65 together with the first optical sensor 32 and the second optical sensor 42 in one optical module 60, further miniaturization can be achieved.
[0023] The first code track 31 and the second code track 41 may be formed on the same surface of a single disk 50 that rotates together with the rotating shaft 12. Sharing the disk 50 allows for further miniaturization. For example, the disk 50 is fixed to the end of the rotating shaft 12 by bolting or the like, and extends outward from the outer periphery of the rotating shaft 12 over its entire circumference. It has a code surface 50a facing away from the motor 10. The first code track 31 and the second code track 41 are each formed on the code surface 50a so as to surround the rotating shaft 12.
[0024] The encoder 20 may be an absolute type encoder that detects the absolute rotation angle of the rotating shaft 12 relative to the frame 11. Each of the first detection unit 30 and the second detection unit 40 may be one of a plurality of sub-detection units for detecting the absolute rotation angle. As an example, the encoder 20 includes a plurality of sub-detection units 21, 22, 23, and 24, and detects the absolute rotation angle of the rotating shaft 12 by combining the detection results of the plurality of sub-detection units 21, 22, 23, and 24.
[0025] The sub-detection unit 21 has an optical sensor array 61 and a code track 51. The sub-detection unit 22 has an optical sensor array 62 and a code track 52. The sub-detection unit 23 has an optical sensor array 63 and a code track 53. The sub-detection unit 24 has an optical sensor array 64 and a code track 54. As an example, the sub-detection unit 21 is used as the first detection unit 30 described above, and the sub-detection unit 22 is used as the second detection unit 40 described above. The optical sensor arrays 61, 62, 63, and 64 are included in the optical module 60. The code tracks 51, 52, 53, and 54 are formed on the code surface 50a.
[0026] 2, the optical sensor array 61 has a plurality of optical sensors 61a arranged along a normal data unit D1 around the rotation axis 12. For example, the plurality of optical sensors 61a are arranged at a constant pitch P1. The optical sensor array 61 is used as the first optical sensor 32.
[0027] The optical sensor array 62 has a plurality of optical sensors 62a arranged along the normal data unit D1. For example, the plurality of optical sensors 62a are arranged at a constant pitch P2. The pitch P2 may be larger than the pitch P1. For example, the pitch P2 is twice the pitch P1. The optical sensor array 62 is used as the second optical sensor 42.
[0028] The optical sensor array 63 has a plurality of optical sensors 63a lined up along the normal data unit D1. For example, the plurality of optical sensors 63a are lined up at a constant pitch P3. The pitch P3 may be larger than the pitch P2. The optical sensor array 64 has a plurality of optical sensors 64a lined up along the normal data unit D1. For example, the plurality of optical sensors 64a are lined up at a pitch P3. In the normal data unit D1, the optical sensor array 63 and the optical sensor array 64 may be out of phase with each other. For example, in the normal data unit D1, the positions of the optical sensor array 63 and the optical sensor array 64 may be shifted by an amount smaller than the pitch P3.
[0029] The optical sensor arrays 61, 62, 63, and 64 are aligned in order along a radial direction D2 perpendicular to the normal data unit D1. For example, with respect to the rotation axis 12, the optical sensor array 62 is positioned outward of the optical sensor array 63, the optical sensor array 61 is positioned outward of the optical sensor array 62, and the optical sensor array 64 is positioned outward of the optical sensor array 61. The optical module 60 may further include one or more optical sensors 66 in addition to the optical sensor arrays 61, 62, 63, and 64. The one or more optical sensors 66 are used to evaluate the amount of light emitted from the light source 65. For example, the optical module 60 includes the optical sensors 62a of the optical sensor array 62 and three optical sensors 66 at three locations aligned along the normal data unit D1. The optical sensors 61a, 62a, 63a, 64a, and one or more optical sensors 66 each include a photoelectric conversion element and generate an electrical signal representing the amount of received light.
[0030] The optical module 60 is provided on a circuit board 100. For example, the circuit board 100 is fixed at a position away from the disk 50 and away from the motor 10, and has a mounting surface 100a facing the code surface 50a. The optical module 60 is provided on the mounting surface 100a so that the optical sensor arrays 61, 62, 63, 64, the light source 65, and one or more optical sensors 66 face the code surface 50a.
[0031] As shown in FIG. 3, the code track 51 is formed at a position corresponding to the optical sensor array 61 in the radial direction D2 and is used as the first code track 31. The code track 51 has a plurality of codes 51a and a plurality of spaces 51b that are alternately arranged along the normal data unit D1. For example, the plurality of codes 51a are arranged at a constant pitch P11. The pitch P11 may be the same as the pitch P1 of the plurality of optical sensors 61a. When each of the plurality of codes 51a is located corresponding to an optical sensor 61a (one of the plurality of optical sensors 61a), it reflects light from the light source 65 toward that optical sensor 61a. When each of the plurality of spaces 51b is located corresponding to the optical sensor 61a, it does not reflect light from the light source 65 toward the optical sensor 61a. The plurality of spaces 51b are, for example, slits. The plurality of codes 51a and the plurality of spaces 51b pass through the plurality of optical sensors 61a as the disc 50 rotates. As a result, the optical sensor array 61 generates a sinusoidal electrical signal (for example, a voltage signal) with a frequency corresponding to the rotational speed of the disk 50.
[0032] The code track 52 is formed at a position corresponding to the optical sensor array 62 in the radial direction D2 and serves as the second code track 41. The code track 52 has a plurality of codes 52a and a plurality of spaces 52b that are alternately arranged along the normal data unit D1. For example, the plurality of codes 52a are arranged at a constant pitch P12. The pitch P12 may be the same as the pitch P2 of the plurality of optical sensors 62a. For example, the pitch P12 may be twice the pitch P11. When each of the plurality of codes 52a is located corresponding to an optical sensor 62a (one of the plurality of optical sensors 62a), it reflects light from the light source 65 toward that optical sensor 62a. When each of the plurality of spaces 52b is located corresponding to an optical sensor 61a, it does not reflect light from the light source 65 toward the optical sensor 61a. The plurality of spaces 52b are, for example, slits. The plurality of codes 52a and the plurality of spaces 52b pass through the plurality of optical sensors 62a as the disc 50 rotates. This causes the optical sensor array 62 to generate a sinusoidal electrical signal (for example, a voltage signal) with a frequency corresponding to the rotational speed of the disk 50 .
[0033] The code track 53 is formed at a position corresponding to the optical sensor array 63 in the radial direction D2. It has a plurality of codes 53a and a plurality of spaces 53b arranged alternately along the normal data unit D1. When each of the plurality of codes 53a is located corresponding to an optical sensor 63a (one of the plurality of optical sensors 63a), it reflects light from the light source 65 toward that optical sensor 63a. When each of the plurality of spaces 53b is located corresponding to an optical sensor 61a, it does not reflect light from the light source 65 toward the optical sensor 61a. The plurality of spaces 53b are, for example, slits. The plurality of codes 53a and the plurality of spaces 53b are formed so that outputs from the plurality of optical sensors 63a have a unique combination for each of a plurality of angular regions obtained by dividing one circumference by a predetermined number. Therefore, it is possible to detect which angular region corresponds to the optical sensor array 63 based on the combination of outputs from the plurality of optical sensors 63a. The absolute rotation angle of the rotating shaft 12 is determined by the resolution of the size of the angular region. The size of the angular regions (pitch P13 of the plurality of angular regions) is, for example, twice the pitch P12.
[0034] The code track 54 is formed in the same manner as the code track 53, at a position corresponding to the optical sensor array 64 in the radial direction D2. The multiple codes 54a and multiple spaces 54b are formed so that outputs from the multiple optical sensors 64a have a unique combination for each of multiple angular regions obtained by dividing one circumference by a predetermined number. Therefore, it is possible to detect which angular region is located at a position corresponding to the optical sensor array 64 based on the combination of outputs from the multiple optical sensors 64a. The size of the angular region defined by the code track 54 is the same as the size of the angular region defined by the code track 53, for example.
[0035] Returning to FIG. 1 , the encoder 20 may further include a third detection unit 80, and the circuit board 100 may be configured to detect the rotation angle of the rotating shaft 12 based on the detection results by the third detection unit 80 and the detection results by the first detection unit 30, and to transmit data further including the detection result of the rotation angle. The encoder 20 further including the third detection unit 80 for detecting the rotation angle also makes it possible to verify the detection result by comparing the first detection unit 30 with the second detection unit 40. Even in the encoder 20 capable of comparing the first detection unit 30 with the second detection unit 40, verifying the detection result by comparing the optical first detection unit 30 with the second detection unit 40 makes it possible to obtain more information and improve the resolution of anomaly detection.
[0036] For example, the circuit board 100 detects the cumulative rotation angle based on the cumulative number of rotations detected by the third detection unit 80 and the absolute rotation angle detected by the first detection unit 30. In addition to comparing the first detection unit 30 with the second detection unit 40, the circuit board 100 may be configured to further compare the first detection unit 30 or the second detection unit 40 with the third detection unit 80. For example, if the first detection unit 30 and the second detection unit 40 share a single light source 65, deterioration of the light source 65 will reduce the reliability of both the first detection unit 30 and the second detection unit 40. This reduction in reliability may not be detected by comparing the first detection unit 30 with the second detection unit 40 alone. In contrast, a configuration that further compares the first detection unit 30 or the second detection unit 40 with the third detection unit 80 makes it possible to detect a reduction in the reliability of both the first detection unit 30 and the second detection unit 40 due to deterioration of the light source 65. Therefore, it is possible to further achieve both miniaturization by sharing the light source 65 and reliability.
[0037] The resolution of the third detection unit 80 may be lower than the resolution of either the first detection unit 30 or the second detection unit 40. Since the resolution of abnormality detection is increased by the first detection unit 30 and the second detection unit 40, the resolution of the third detection unit 80 can be intentionally lowered, thereby simplifying the configuration of the encoder 20.
[0038] The third detection unit 80 may be magnetic. For example, the third detection unit 80 includes a pair of permanent magnets 81 and 82, a pair of Hall sensors 83 and 84, and a magnetoresistive sensor 85. The pair of permanent magnets 81 and 82 are provided on the code surface 50a, inward of the code tracks 51, 52, 53, and 54. For example, the pair of permanent magnets 81 and 82 are arranged so as to be point-symmetric with each other about the rotation center of the rotating shaft 12. The pair of permanent magnets 81 and 82 have polarities opposite to each other in a direction perpendicular to the code surface 50a.
[0039] The pair of Hall sensors 83, 84 are provided on the mounting surface 100a to correspond to the pair of permanent magnets 81, 82. The pair of Hall sensors 83, 84 are arranged so as to be point symmetric with respect to the rotation center of the rotating shaft 12. Each of the pair of Hall sensors 83, 84 outputs an electrical signal that represents the strength of the magnetic field from the pair of permanent magnets 81, 82 due to the Hall effect. As described above, the pair of permanent magnets 81, 82 have polarities opposite to each other. Therefore, when the pair of permanent magnets 81, 82 face the pair of Hall sensors 83, 84, respectively, the pair of Hall sensors 83, 84 output electrical signals whose positive and negative polarities are reversed.
[0040] The magnetoresistive sensor 85 is provided on the mounting surface 100a between the pair of Hall sensors 83 and 84, and outputs an electrical signal that indicates the direction of the magnetic flux from the permanent magnet 81 to the permanent magnet 82 (or the magnetic flux from the permanent magnet 82 to the permanent magnet 81). The combination of the pair of Hall sensors 83 and 84 and the magnetoresistive sensor 85 makes it possible to detect the rotation angle of the rotating shaft 12 with a resolution of, for example, 90°.
[0041] 4, the circuit board 100 has, as functional components (hereinafter referred to as "functional blocks"), an initial angle detection unit 115, an angle detection unit 111, a comparison object detection unit 112, a comparison unit 113, and a data transmission unit 114. The initial angle detection unit 115 detects the initial angle of the rotating shaft 12 based on the output of optical sensor arrays 61, 62, 63, and 64, which include the first optical sensor 32 and the second optical sensor 42. The initial angle is the absolute rotation angle of the rotating shaft 12 immediately after the encoder 20 is started.
[0042] For example, the initial angle detection unit 115 calculates the absolute rotation angle of the rotating shaft 12 at a resolution that is half the above-mentioned angle range by combining the optical sensor arrays 63 and 64 with the optical sensor array 62. Furthermore, the initial angle detection unit 115 calculates the absolute rotation angle of the rotating shaft 12 at a resolution that is a further division of the half resolution of the above-mentioned angle range, based on the output value of the optical sensor array 61.
[0043] The first detector 30 may detect a first relative rotation angle of the rotating shaft 12 from the initial angle, and the second detector 40 may detect a second relative rotation angle of the rotating shaft 12 from the initial angle.
[0044] The angle detection unit 111 detects the absolute rotation angle of the rotating shaft 12 based on the initial angle calculated by the initial angle detection unit 115 and the detection result by the first detection unit 30. For example, the angle detection unit 111 counts the electrical signals output by the first detection unit 30 (counting up in response to forward rotation or counting down in response to reverse rotation) and adds the count result to the initial angle to detect the absolute rotation angle of the rotating shaft 12. Addition includes addition of negative values. The same applies hereinafter. Hereinafter, the absolute rotation angle detected by the angle detection unit 111 will be referred to as the "first absolute rotation angle." The count result by the angle detection unit 111 (the count result of the electrical signals output by the first detection unit 30) corresponds to the above-mentioned first relative rotation angle detected by the first detection unit 30.
[0045] The comparison object detection unit 112 detects the absolute rotation angle of the rotating shaft 12 based on the initial angle calculated by the initial angle detection unit 115 and the detection result by the second detection unit 40. For example, the comparison object detection unit 112 counts the electrical signals output by the second detection unit 40 (counting up in response to forward rotation or counting down in response to reverse rotation) and adds the count result to the initial angle to detect the absolute rotation angle of the rotating shaft 12. Hereinafter, the absolute rotation angle detected by the comparison object detection unit 112 will be referred to as the "second absolute rotation angle." The count result by the comparison object detection unit 112 (the count result of the electrical signals output by the second detection unit 40) corresponds to the above-mentioned second relative rotation angle detected by the second detection unit 40.
[0046] The comparison object detection section 112 may repeatedly calculate the second absolute rotation angle based on the outputs of the optical sensor arrays 62, 63, and 64 instead of counting the electrical signals output by the second detection section 40.
[0047] The comparison unit 113 compares the detection result by the first detection unit 30 with the detection result by the second detection unit 40. For example, the comparison unit 113 compares the first absolute rotation angle detected by the angle detection unit 111 with the second absolute rotation angle detected by the comparison object detection unit 112. As described above, the first absolute rotation angle is determined by the detection result by the first detection unit 30 (the electrical signal output by the first detection unit 30), and the second absolute rotation angle is determined by the detection result by the second detection unit 40 (the electrical signal output by the second detection unit 40). Therefore, comparing the first absolute rotation angle with the second absolute rotation angle is an example of comparing the detection result by the first detection unit 30 with the detection result by the second detection unit 40.
[0048] When the second absolute rotation angle is detected based on the initial angle and the count result by the comparison object detection unit 112, which is the second relative rotation angle, comparing the first absolute rotation angle with the second absolute rotation angle is also an example of comparing the first relative rotation angle with the second relative rotation angle.
[0049] The data transmitting unit 114 transmits data including at least the detection result by the first detecting unit 30 and the comparison result (the comparison result between the detection result by the first detecting unit 30 and the detection result by the second detecting unit 40). For example, the data transmitting unit 114 transmits data including the first absolute rotation angle as the detection result by the first detecting unit 30, and the comparison result between the first absolute rotation angle and the second absolute rotation angle as the comparison result.
[0050] There are no particular limitations on how the comparison result is expressed in the data. For example, the data transmission unit 114 may transmit data including an element (e.g., a bit) that indicates whether the comparison result is OK or NG. Note that the comparison result being OK means that there is no difference between the detection result by the first detection unit 30 and the detection result by the second detection unit 40, and the comparison result being NG means that there is a difference between the detection result by the first detection unit 30 and the detection result by the second detection unit 40.
[0051] The data transmission unit 114 may repeatedly transmit data including a serial number as an element representing the comparison result. For example, if the comparison result is OK, the data transmission unit 114 may update the serial number (for example, add 1) and transmit the data, and if the comparison result is NG, may transmit the data without updating the serial number. In this case, it becomes possible to recognize whether the comparison result is OK or NG based on whether the serial number included in the data has been updated compared to the previous time.
[0052] The data transmitting unit 114 may transmit data that further includes the detection result by the second detecting unit 40. In this case, the data receiving unit can also compare the detection result by the first detecting unit 30 with the detection result by the second detecting unit 40 to verify the reliability of the comparison result by the comparing unit 113. For example, the data transmitting unit 114 transmits data that further includes the second absolute rotation angle as the detection result by the second detecting unit 40.
[0053] The circuit board 100 may further include a rotation count detection unit 116 and a rotation count storage unit 117. The rotation count detection unit 116 counts the electrical signals output by the third detection unit 80 to detect the cumulative number of rotations of the rotating shaft 12 and stores the detection result in the rotation count storage unit 117. The cumulative number of rotations is, for example, the cumulative number of rotations since the encoder 20 first started detecting the rotation angle of the rotating shaft 12 or since the encoder 20 was reset. The cumulative number of rotations may be expressed in units of less than one rotation (for example, ¼ rotation) depending on the resolution of the third detection unit 80.
[0054] The third detection unit 80 may continue detecting the rotation of the rotating shaft 12 even during a period when the optical module 60 is stopped. Correspondingly, the rotation count detection unit 116 may continue detecting the cumulative number of rotations even during a period when the optical module 60 is stopped. The rotation count storage unit 117 may hold the detection results even during a period when the optical module 60 is stopped.
[0055] The period during which the optical module 60 is stopped is, for example, the period during which power supply to the encoder 20 is stopped. For example, during the period during which the optical module 60 is stopped, the third detection unit 80, the rotation count detection unit 116, and the rotation count storage unit 117 continue to detect the rotation of the rotating shaft 12, calculate the cumulative number of rotations, and store the detection results, using power supplied from the battery 196.
[0056] If the circuit board 100 further includes a rotation count detection unit 116 and a rotation count storage unit 117, the initial angle detection unit 115 may detect the initial angle of the rotating shaft 12 based on the detection result by the third detection unit 80 during the period when the optical module 60 was stopped and the output of the optical module 60 after startup. For example, the initial angle detection unit 115 may detect the accumulated rotation angle of the rotating shaft 12 as the initial angle based on the accumulated rotation count stored in the rotation count storage unit 117 and the absolute rotation angle of the rotating shaft 12 based on the output of the optical module 60. As an example, the initial angle detection unit 115 calculates the accumulated rotation angle by multiplying the accumulated rotation count by 360° and adding the absolute rotation angle to the rotation angle.
[0057] When the initial angle detection unit 115 detects the cumulative rotation angle of the rotating shaft 12 as the initial angle, the angle detection unit 111 may detect the cumulative rotation angle of the rotating shaft 12 as the above-mentioned first absolute rotation angle based on the initial angle and the detection result by the first detection unit 30. Because the initial angle is based on the detection result by the third detection unit 80, the angle detection unit 111 detects the cumulative rotation angle of the rotating shaft 12 based on the detection result by the third detection unit 80 and the detection result by the first detection unit 30.
[0058] Similarly, the comparison object detection unit 112 may detect the cumulative rotation angle of the rotating shaft 12 as the above-mentioned second absolute rotation angle based on the initial angle and the detection result by the second detection unit 40. Because the initial angle is based on the detection result by the third detection unit 80, the comparison object detection unit 112 detects the cumulative rotation angle of the rotating shaft 12 based on the detection result by the third detection unit 80 and the detection result by the second detection unit 40.
[0059] Data transmitter 114 may be configured to alternately transmit a first protocol data unit including at least a comparison result by comparator 113 and a second protocol data unit including additional data not included in the first protocol data unit. Alternately transmitting the first protocol data unit and the second protocol data unit includes alternately repeating sequential transmission of a plurality of first protocol data units and sequential transmission of a plurality of second protocol data units.
[0060] For example, the first protocol data unit may be a Safety PDU (Protocol Data Unit) whose reliability is confirmed by the comparison result by the comparison unit 113, and the second protocol data unit may be a Non-Safety PDU (Protocol Data Unit) whose reliability is not confirmed by the comparison result by the comparison unit 113.
[0061] The first protocol data unit may further include a detection result by the first detection unit 30, or may further include a detection result by the first detection unit 30 and a detection result by the second detection unit 40. The second protocol data unit may include data that is not the subject of comparison by the comparison unit 113. Examples of data that is not the subject of comparison by the comparison unit 113 include data such as an evaluation result of the brightness of the light source 65 based on the output of one or more optical sensors 66, a temperature detected inside or outside the encoder 20, and an acceleration detected inside or outside the encoder 20.
[0062] The data transmitting unit 114 may be configured to repeatedly transmit the first protocol data unit or the second protocol data unit at a fixed period. For example, the data transmitting unit 114 may transmit the first protocol data unit or the second protocol data unit by serial communication. The data transmitting unit 114 may transmit a normal data unit including the detection result by the first detection unit 30 together with each of the first protocol data unit and the second protocol data unit.
[0063] 5, the data transmitting unit 114 alternately transmits a first data set DS1 including a first protocol data unit PDU1 and a normal data unit D1 and a second data set DS2 including a second protocol data unit PDU2 and a normal data unit D1 to the servo driver 200 at a fixed cycle CT. For example, the data transmitting unit 114 alternately repeats transmitting a plurality of first data sets DS1 sequentially at the fixed cycle CT and transmitting a plurality of second data sets DS2 sequentially at the fixed cycle CT. The servo driver 200 feedback-controls the position or speed of the motor 10 based on the normal data unit D1.
[0064] 6, the circuit board 100 may further include, as functional blocks, an angle storage unit 121 and an off-time rotation confirmation unit 122. The angle storage unit 121 stores the accumulated rotation angle detected by the angle detection unit 111. As described above, the accumulated rotation count stored in the rotation count storage unit 117 is continuously updated even during periods when the optical module 60 is stopped. In contrast, the accumulated rotation angle stored in the angle storage unit 121 is not updated during periods when the optical module 60 is stopped.
[0065] The off-state rotation confirmation unit 122 confirms whether the number of rotations of the rotating shaft 12 during the period in which the optical module 60 is stopped (hereinafter referred to as the "off-state rotation number") is equal to or greater than a predetermined number (e.g., 1 time) based on the cumulative number of rotations stored in the rotation number storage unit 117 and the cumulative rotation angle stored in the angle storage unit 121. The data transmission unit 114 may transmit data further including the confirmation result by the off-state rotation confirmation unit 122. For example, the data transmission unit 114 may transmit data including an alarm bit indicating whether the off-state rotation number is equal to or greater than a predetermined number.
[0066] As shown in FIG. 7 , the circuit board 100 may further include a second comparing unit 123 as a functional block. The second comparing unit 123 compares the detection result by the third detecting unit 80 with the detection result by the first detecting unit 30. For example, the second comparing unit 123 compares the cumulative number of rotations stored in the rotation count storage unit 117 with the first absolute rotation angle detected by the angle detecting unit 111. The data transmitting unit 114 may transmit data that further includes the comparison result by the second comparing unit 123. In addition to comparing the detection result by the first detecting unit 30 with the detection result by the second detecting unit 40, the reliability can be further improved by performing a double comparison, in which the detection result by the third detecting unit 80 is compared with the detection result by the first detecting unit 30.
[0067] As shown in FIG. 8 , the circuit board 100 may further include a third comparing unit 124 as a functional block. The third comparing unit 124 compares the detection result by the third detecting unit 80 with the detection result by the second detecting unit 40. For example, the third comparing unit 124 compares the cumulative number of rotations stored in the rotation count storage unit 117 with the second absolute rotation angle detected by the comparison object detecting unit 112. The data transmitting unit 114 may transmit data further including the comparison result by the third comparing unit 124. In addition to the comparison between the detection result by the first detecting unit 30 and the detection result by the second detecting unit 40 and the comparison between the detection result by the third detecting unit 80 and the detection result by the second detecting unit 40, the comparison between the detection result by the third detecting unit 80 and the detection result by the second detecting unit 40 is tripled, thereby further improving reliability.
[0068] As shown in FIG. 9 , the servo system 1 may further include an expansion unit 201. The expansion unit 201 is connected to the servo driver 200 and verifies the reliability of data received by the servo driver 200. For example, the expansion unit 201 receives data from the encoder 20 through serial communication via the servo driver 200. The expansion unit 201 monitors whether the encoder 20 is functioning properly based on the received data. The servo system 1 includes an encoder system 2 including the encoder 20 and the expansion unit 201. For example, the expansion unit 201 includes a monitoring unit 210 as a functional block. The monitoring unit 210 receives data from the data transmission unit 114 via the servo driver 200 and monitors whether the data transmission unit 114 is functioning properly based on the received data. For example, the monitoring unit 210 may monitor whether the data transmission unit 114 is functioning properly based on whether data from the data transmission unit 114 has been received at a scheduled timing (for example, the aforementioned periodic reception timing). For example, if the monitoring unit 210 is able to receive data from the data transmission unit 114 at the scheduled timing, it may determine that the data transmission unit 114 is normal, and if it is unable to receive data from the data transmission unit 114 at the scheduled timing, it may determine that the data transmission unit 114 is abnormal.
[0069] In this way, monitoring whether data transmission unit 114 is functioning normally based on received data includes monitoring whether data transmission unit 114 is functioning normally based on whether received data exists. Monitoring unit 210 may monitor whether data transmission unit 114 is functioning normally based on whether the format of received data complies with a predetermined protocol.
[0070] The monitoring unit 210 may further monitor whether the comparison unit 113 is functioning normally, based on data received from the data transmission unit 114. For example, when the received data includes a detection result by the first detection unit 30 and a detection result by the second detection unit 40, the monitoring unit 210 compares the detection result by the first detection unit 30 with the detection result by the second detection unit 40, and checks whether its own comparison result matches the comparison result included in the received data. When its own comparison result matches the comparison result included in the received data, the monitoring unit 210 determines that the comparison unit 113 is functioning normally. On the other hand, when its own comparison result does not match the comparison result included in the received data, the monitoring unit 210 determines that the comparison unit 113 is malfunctioning.
[0071] The monitoring unit 210 may have, as functional blocks, a first monitoring unit 211 and a second monitoring unit 212. Each of the first monitoring unit 211 and the second monitoring unit 212 receives data from the data transmitting unit 114 and monitors whether the data transmitting unit 114 is functioning normally based on the received data. Each of the first monitoring unit 211 and the second monitoring unit 212 may further monitor whether the comparing unit 113 is functioning normally based on the received data. The second monitoring unit 212 may receive data from the data transmitting unit 114 via the first monitoring unit 211.
[0072] The first monitoring unit 211 may further monitor whether the second monitoring unit 212 is functioning normally based on a comparison between data that the first monitoring unit 211 has received from the data transmission unit 114 and data that the second monitoring unit 212 has received from the data transmission unit 114. For example, the first monitoring unit 211 may determine that the second monitoring unit 212 is functioning normally if the data that the first monitoring unit 211 has received from the data transmission unit 114 matches the data that the second monitoring unit 212 has received from the data transmission unit 114. On the other hand, the first monitoring unit 211 may determine that the second monitoring unit 212 is malfunctioning if the data that the first monitoring unit 211 has received from the data transmission unit 114 does not match the data that the second monitoring unit 212 has received from the data transmission unit 114. A mismatch between the data that the first monitoring unit 211 has received from the data transmission unit 114 and the data that the second monitoring unit 212 has received from the data transmission unit 114 includes the second monitoring unit 212 being unable to receive the data that the first monitoring unit 211 has received.
[0073] Similarly, the second monitoring unit 212 may further monitor whether the first monitoring unit 211 is functioning normally based on a comparison between the data it receives from the data transmission unit 114 and the data the first monitoring unit 211 receives from the data transmission unit 114. For example, the second monitoring unit 212 may determine that the first monitoring unit 211 is functioning normally if the data it receives from the data transmission unit 114 matches the data the first monitoring unit 211 receives from the data transmission unit 114. On the other hand, the second monitoring unit 212 may determine that the first monitoring unit 211 is malfunctioning if the data it receives from the data transmission unit 114 does not match the data the first monitoring unit 211 receives from the data transmission unit 114.
[0074] 10 is a block diagram illustrating the hardware configuration of the circuit board 100 and the expansion unit 201. As shown in Fig. 10, the circuit board 100 has a circuit 190. The circuit 190 has a logic circuit 191, a processor 192, storage 193, memory 194, and a communication port 195.
[0075] The logic circuit 191 and the processor 192 each constitute one of the multiple functional blocks described above. For example, the logic circuit 191 is constituted by one or more logic devices specialized for a specific function, such as an ASIC (Application Specific Integrated Circuit). The logic circuit 191 constitutes an angle detection unit 111 and a comparison target detection unit 112. The processor 192 constitutes a comparison unit 113, a data transmission unit 114, an initial angle detection unit 115, a rotation count detection unit 116, a rotation count storage unit 117, an angle storage unit 121, an off-state rotation confirmation unit 122, a second comparison unit 123, and a third comparison unit 124.
[0076] The processor 192 includes one or more arithmetic devices and configures one of a plurality of functional blocks by executing a program stored in the storage 193. An example of the arithmetic device is a CPU (Central Processing Unit). The storage 193 includes, for example, one or more nonvolatile storage media. The nonvolatile storage media includes one or more storage devices. Examples of the one or more storage devices include a hard disk drive, a solid state drive, a flash memory, a read-only memory, etc.
[0077] The memory 194 includes one or more volatile storage media and temporarily stores the programs loaded from the storage 193. The volatile storage media includes one or more memory devices. An example of the one or more memory devices is a random access memory. The processor 192 configures any of a plurality of functional blocks by executing the programs loaded into the memory 194. The processor 192 may temporarily store the results of its operations in the memory 194.
[0078] The communication port 195 communicates (for example, serial communication) with the servo driver 200 based on a request from the logic circuit 191 or the processor 192. The circuit 190 may be connected to a battery 196. The battery 196 accumulates power supplied from the circuit 190 while the optical module 60 is operating, and supplies power to the circuit 190 during a period when the optical module 60 is stopped, to enable the third detection unit 80, the rotation count detection unit 116, and the rotation count storage unit 117 to continue detecting the rotation of the rotating shaft 12, calculating the cumulative number of rotations, and storing the detection results.
[0079] The expansion unit 201 has a circuit 290. The circuit 290 has a processor 291 and a processor 292. The processor 291 includes one or more arithmetic devices and constitutes the above-mentioned first monitoring unit 211. The processor 292 includes one or more arithmetic devices and constitutes the above-mentioned second monitoring unit 212. An example of a arithmetic device is a CPU (Central Processing Unit). Note that, although the case where the circuit 290 has two CPUs (processor 291, processor 292) has been described, this is not limiting. For example, a multi-core CPU with two or more cores may be provided, and a monitoring unit (first monitoring unit 211, second monitoring unit 212) may be configured for each core.
[0080] [Rotation detection procedure] Below, as an example of a rotation detection method, a rotation detection procedure executed by the encoder 20 and the extension unit 201 will be illustrated. This procedure includes a procedure for starting up the encoder 20, a procedure for transmitting data from the encoder 20 to the servo driver 200, a procedure for generating a first protocol data unit, a procedure for generating a second protocol data unit, a first monitoring procedure, and a second monitoring procedure. Each procedure will be illustrated below with reference to a flowchart.
[0081] (Startup procedure) This procedure is for checking the number of rotations of the rotating shaft 12 during the period when the optical module 60 was stopped, and is executed immediately after the encoder 20 is started (before detection of the rotation angle begins). As shown in FIG. 11 , the circuit board 100 executes steps S01 and S02. In step S01, the off-state rotation check unit 122 acquires the cumulative number of rotations from the rotation count storage unit 117 and acquires the cumulative rotation angle from the angle storage unit 121. In step S02, the off-state rotation check unit 122 checks whether the number of rotations of the rotating shaft 12 during the period when the optical module 60 was stopped (hereinafter referred to as the "off-state rotation number") is below a predetermined threshold. If it is determined in step S02 that the number of rotations of the rotating shaft 12 during the period when the optical module 60 was stopped is below the predetermined threshold, the circuit board 100 executes steps S03 and S04. In step S03, the initial angle detection unit 115 detects the initial angle of the rotating shaft 12 based on the output of the optical sensor arrays 61, 62, 63, and 64, which include the first optical sensor 32 and the second optical sensor 42. In step S04, the angle detection unit 111 starts detecting the absolute rotation angle of the rotating shaft 12 based on the initial angle calculated by the initial angle detection unit 115 and the detection result by the first detection unit 30. The comparison object detection unit 112 starts detecting the absolute rotation angle of the rotating shaft 12 based on the initial angle calculated by the initial angle detection unit 115 and the detection result by the second detection unit 40. If, in step S02, it is determined that the number of rotations of the rotating shaft 12 while the optical module 60 was stopped is equal to or greater than a predetermined threshold, the circuit board 100 executes step S05. In step S05, data including an alarm bit indicating that the number of rotations during the off-state is equal to or greater than a predetermined threshold is transmitted. This completes the startup procedure.
[0082] (Data transmission procedure) This procedure is a procedure for transmitting data from the encoder 20 to the servo driver 200, and is repeatedly executed at the above-mentioned fixed period (hereinafter referred to as the "communication period") after the detection of the rotation angle is started. As shown in FIG. 12, the circuit board 100 executes steps S11, S12, S13, and S14. In step S11, the angle detection unit 111 detects a first absolute rotation angle, and the comparison object detection unit 112 detects a second absolute rotation angle. The angle detection unit 111 stores the first absolute rotation angle in the second comparison unit 123. In step S12, the data transmission unit 114 generates a first data set DS1 including a first protocol data unit PDU1 and a normal data unit D1. In step S13, the data transmission unit 114 waits for the communication period to elapse from the start of step S11. In step S14, the data transmission unit 114 checks whether the number of times the first data set DS1 has been transmitted has reached a predetermined number.
[0083] If it is determined in step S14 that the number of transmissions has not reached the predetermined number, the circuit board 100 returns the process to step S11. Thereafter, transmission of the first data set DS1 is repeated until the number of transmissions reaches the predetermined number.
[0084] If the number of transmissions reaches the predetermined number in step S14, the circuit board 100 executes steps S15, S16, S17, and S18. In step S15, the angle detection unit 111 detects a first absolute rotation angle, and the comparison object detection unit 112 detects a second absolute rotation angle. The angle detection unit 111 stores the results in the second comparison unit 123. In step S16, the data transmission unit 114 generates a second data set DS2 including a second protocol data unit PDU2 and a normal data unit D1. In step S17, the data transmission unit 114 waits for the communication period to elapse from the start of step S14. In step S18, the data transmission unit 114 checks whether the number of transmissions of the second data set DS2 reaches the predetermined number.
[0085] If it is determined in step S18 that the number of transmissions has not reached the predetermined number, the circuit board 100 returns the process to step S15. Thereafter, transmission of the second data set DS2 is repeated until the number of transmissions reaches the predetermined number.
[0086] If it is determined in step S18 that the number of transmissions has reached the predetermined number, the circuit board 100 returns the process to step S11. As a result, the first data set DS1 is repeatedly transmitted the predetermined number of times and the second data set DS2 is repeatedly transmitted the predetermined number of times alternately.
[0087] (Procedure for generating the first protocol data unit) This procedure is a procedure for repeatedly generating a first protocol data unit in accordance with repeated data transmission. As shown in Fig. 13, circuit board 100 first executes step S21. In step S21, comparison unit 113 checks whether there is a difference between the first relative rotation angle and the second relative rotation angle. If it is determined in step S21 that there is no difference between the first relative rotation angle and the second relative rotation angle, circuit board 100 executes step S22. In step S22, data transmission unit 114 generates a first protocol data unit PDU1.
[0088] Next, circuit board 100 executes step S23. If it is determined in step S21 that there is a difference between the first relative rotation angle and the second relative rotation angle, circuit board 100 executes step S23 without executing step S22. In step S23, data transmitter 114 waits for completion of transmission of first data set DS1 including first protocol data unit PDU1 and normal data unit D1 (for example, repeating transmission of first data set DS1 the above-mentioned predetermined number of times).
[0089] After that, the circuit board 100 returns the process to step S21. The circuit board 100 repeats the above process.
[0090] (Procedure for generating second protocol data unit) This procedure is a procedure for repeatedly generating second protocol data units in accordance with repeated data transmission. As shown in Fig. 14, circuit board 100 first executes step S31. In step S31, data transmitting unit 114 generates second protocol data unit PDU2. Next, circuit board 100 executes step S32. In step S32, data transmitting unit 114 waits for completion of transmission of second data set DS2 including second protocol data unit PDU2 and normal data unit D1 (for example, repeating transmission of second data set DS2 the above-mentioned predetermined number of times).
[0091] After that, the circuit board 100 returns the process to step S31. The circuit board 100 repeats the above process.
[0092] (First monitoring procedure) In this procedure, the extension unit 201 repeatedly checks whether the encoder 20 is normal while repeating data transmission. As shown in Fig. 15, the extension unit 201 first executes step S41. In step S41, the first monitoring unit 211 checks whether the first data set DS1 has been received.
[0093] If it is determined in step S41 that the first data set DS1 has not been received, the expansion unit 201 executes step S42. In step S42, the first monitoring unit 211 checks whether a predetermined waiting time has timed out. If it is determined in step S42 that the timed out has not occurred, the expansion unit 201 returns the process to step S41. Thereafter, the expansion unit 201 waits for the first monitoring unit 211 to receive the first data set DS1 or for a timeout to occur.
[0094] If it is determined in step S41 that the first data set DS1 has been received, the expansion unit 201 executes steps S43 and S44. In step S43, the first monitoring unit 211 transfers the received data to the second monitoring unit 212. In step S44, the first monitoring unit 211 checks whether the first protocol data unit PDU1 included in the first data set DS1 has been updated.
[0095] In step S44, if the first protocol data unit PDU1 has been updated, the extension unit 201 executes step S45. In step S45, the first monitoring unit 211 checks whether there is a difference between the first relative rotation angle and the second relative rotation angle based on the first absolute rotation angle and the second absolute rotation angle included in the first protocol data unit PDU1.
[0096] If it is determined in step S45 that there is no difference between the first relative rotation angle and the second relative rotation angle, the expansion unit 201 executes steps S46 and S47. In step S46, the first monitoring unit 211 exchanges information about the first data set DS1 with the second monitoring unit 212. For example, the first monitoring unit 211 exchanges with the second monitoring unit 212 information such as a confirmation result as to whether the first protocol data unit PDU1 has been updated. In step S47, the first monitoring unit 211 checks whether there is a difference between the information it obtained from the first data set DS1 and the information acquired from the second monitoring unit 212. If it is determined in step S47 that there is no difference between the information it obtained from the first data set DS1 and the information acquired from the second monitoring unit 212, the expansion unit 201 returns the process to step S41.
[0097] If it is determined in step S42 that a timeout has occurred, if it is determined in step S44 that the first protocol data unit PDU1 has not been updated, if it is determined in step S45 that a difference exists, or if it is determined in step S46 that a difference exists, the expansion unit 201 executes step S48. In step S48, the first monitoring unit 211 causes the servo driver 200 to stop the generation of torque by the motor 10. This completes the first monitoring procedure.
[0098] (Second monitoring procedure) In this procedure, the extension unit 201 repeatedly checks whether the encoder 20 is normal as data transmission is repeated. As shown in Fig. 16, the extension unit 201 first executes step S51. In step S51, the second monitoring unit 212 checks whether the first data set DS1 has been received.
[0099] If it is determined in step S51 that the first data set DS1 has not been received, the expansion unit 201 executes step S52. In step S52, the second monitoring unit 212 checks whether a predetermined waiting time has timed out. If it is determined in step S52 that the timed out has not occurred, the expansion unit 201 returns the process to step S51. Thereafter, the expansion unit 201 waits for the second monitoring unit 212 to receive the first data set DS1 or for a timeout to occur.
[0100] If it is determined in step S51 that the first data set DS1 has been received, the extension unit 201 executes step S54. In step S54, the second monitoring unit 212 checks whether the first protocol data unit PDU1 included in the first data set DS1 has been updated.
[0101] If it is determined in step S54 that the first protocol data unit PDU1 has been updated, the extension unit 201 executes step S55. In step S55, the second monitoring unit 212 checks whether there is a difference between the first relative rotation angle and the second relative rotation angle based on the first absolute rotation angle and the second absolute rotation angle included in the first protocol data unit PDU1.
[0102] If it is determined in step S55 that there is no difference between the first relative rotation angle and the second relative rotation angle, the expansion unit 201 executes steps S56 and S57. In step S56, the second monitoring unit 212 exchanges information about the first data set DS1 with the first monitoring unit 211. For example, the second monitoring unit 212 exchanges with the first monitoring unit 211 information such as a confirmation result as to whether the first protocol data unit PDU1 has been updated. In step S57, the second monitoring unit 212 checks whether there is a difference between the information it obtained from the first data set DS1 and the information acquired from the first monitoring unit 211. If it is determined in step S57 that there is no difference between the information it obtained from the first data set DS1 and the information acquired from the first monitoring unit 211, the expansion unit 201 returns the process to step S51.
[0103] If it is determined in step S52 that a timeout has occurred, if it is determined in step S54 that the first protocol data unit PDU1 has not been updated, if it is determined in step S55 that a difference exists, or if it is determined in step S56 that a difference exists, the expansion unit 201 executes step S58. In step S58, the second monitoring unit 212 causes the servo driver 200 to stop the generation of torque by the motor 10. This completes the second monitoring procedure.
[0104] 〔summary〕 The above disclosure includes the following configurations. (1) An encoder 20 comprising: a first optical detection unit 30 that detects rotation of a rotating shaft; a second optical detection unit 40 that detects rotation of the rotating shaft; a comparison unit 113 that compares the detection result by the first detection unit 30 with the detection result by the second detection unit 40; and a data transmission unit 114 that transmits data including at least the detection result by the first detection unit 30 and the comparison result by the comparison unit 113. Optical rotation detection resolution tends to be higher than magnetic rotation detection resolution. By verifying the rotation angle detection results by comparing the results of the optical first detection unit 30 and second detection unit 40, abnormalities in the detection results can be detected with higher resolution. This is therefore effective in improving reliability.
[0105] (2) The encoder 20 described in (1) further includes a third detection unit 80 that detects the rotation of the rotating shaft, and an angle detection unit 111 that detects the rotation angle of the rotating shaft based on the detection results by the third detection unit 80 and the detection results by the first detection unit 30, and the data transmission unit 114 transmits data that further includes the detection results by the angle detection unit 111. Even in an encoder 20 that further includes a third detection unit 80 for detecting the rotation angle, the detection result of the rotation angle can be verified by comparing it with the optical first detection unit 30 and second detection unit 40, thereby achieving both the acquisition of more information and the resolution of abnormality detection. (3) The encoder 20 according to (2), wherein the resolution of the third detector 80 is lower than the resolution of both the first detector 30 and the second detector 40. Since the resolution of abnormality detection is increased by the first detection unit 30 and the second detection unit, the resolution of the third detection unit 80 can be intentionally lowered to simplify the configuration.
[0106] (4) An encoder 20 according to (2) or (3), further comprising a second comparison unit 123 that compares the detection result by the third detection unit 80 with the detection result by the first detection unit 30, and the data transmission unit 114 transmits data that further includes the comparison result by the second comparison unit 123. The reliability can be further improved by performing the comparison twice.
[0107] (5) The encoder 20 described in (4) further includes a third comparison unit 124 that compares the detection result by the third detection unit 80 with the detection result by the second detection unit 40, and the data transmission unit 114 transmits data that further includes the comparison result by the third comparison unit 124. The reliability can be further improved by making the comparison tripled.
[0108] (6) An encoder 20 described in any one of (1) to (5), wherein the first detection unit 30 has a first code track 31 that rotates together with the rotation axis and a first optical sensor 32 that outputs a signal corresponding to the rotation of the first code track 31 based on light that has passed through the first code track 31, and the second detection unit 40 has a second code track 41 that rotates together with the rotation axis and a second optical sensor 42 that outputs a signal corresponding to the rotation of the second code track 41 based on light that has passed through the second code track 41. By separately providing a combination of a code track and an optical sensor in each of the first detection unit 30 and the second detection unit 40, it is possible to further improve reliability.
[0109] (7) The encoder 20 described in (6) is such that the first code track 31 and the second code track 41 are aligned in a radial direction perpendicular to the rotation axis, and the first optical sensor 32 and the second optical sensor 42 are aligned in a radial direction so as to correspond to the first code track 31 and the second code track 41, respectively. By arranging the first code track 31 and the second code track 41 close to each other, it is possible to easily share the light source 65.
[0110] (8) The encoder 20 according to (6) or (7), wherein the resolution of the second detector 40 is lower than the resolution of the first detector 30. The resolution of the second detection unit 40 for comparison is intentionally set low, making it possible to strike a balance between reliability and cost.
[0111] (9) The encoder 20 described in any one of (6) to (8) further includes an initial angle detection unit 115 that detects the initial angle of the rotation shaft based on the output from a plurality of optical sensors 61, 62, 63, and 64 including a first optical sensor 32 and a second optical sensor 42, wherein the first detection unit 30 detects a first relative rotation angle from the initial angle, and the second detection unit 40 detects a second relative rotation angle from the initial angle. Two of the multiple optical detection systems required for the initial angle can be used as the first detection unit 30 and the second detection unit 40, thereby achieving further miniaturization.
[0112] (10) The encoder 20 described in (9) further includes a third detection unit 80 that continues to detect the rotation of the rotating shaft even during periods when the multiple optical sensors 61, 62, 63, and 64 are stopped, and the initial angle detection unit 115 detects the initial angle of the rotating shaft based on the detection results by the third detection unit 80 during periods when the multiple optical sensors 61, 62, 63, and 64 are stopped and the outputs of the multiple optical sensors 61, 62, 63, and 64 after startup. The third detection section 80 can be utilized more effectively.
[0113] (11) An encoder 20 described in any one of (6) to (10), wherein the first detection unit 30 and the second detection unit 40 share a single light source 65, the first optical sensor 32 outputs a signal corresponding to the rotation of the first code track 31 based on light emitted from the light source 65 and passing through the first code track 31, and the second optical sensor 42 outputs a signal corresponding to the rotation of the second code track 41 based on light emitted from the light source 65 and passing through the second code track 41. A decrease in the reliability of both the first detection unit 30 and the second detection unit 40 due to deterioration of the light source 65 can be detected by comparison with the third detection unit 80. Therefore, it is possible to achieve both miniaturization by reducing the number of light sources 65 and reliability.
[0114] (12) The encoder 20 described in (11) above, wherein the first optical sensor 32 and the second optical sensor 42 are included in one optical module 60, and one light source 65 is provided between the first optical sensor 32 and the second optical sensor 42 in the optical module 60. By mounting the light source 65 together with the first optical sensor 32 and the second optical sensor 42 in one optical module 60, further miniaturization can be achieved.
[0115] (13) The encoder 20 according to any one of (6) to (12), wherein the first code track 31 and the second code track 41 are formed on the same surface of one disk 50 that rotates together with the rotation shaft. By sharing the disk 50, further miniaturization can be achieved.
[0116] (14) An encoder 20 according to any one of (1) to (13), wherein the data transmitting unit 114 alternately transmits a first protocol data unit including the detection result by the first detecting unit 30 and the comparison result by the comparing unit 113, and a second protocol data unit including additional data not included in the first protocol data unit. Further reliability improvement can be achieved.
[0117] (15) An encoder system 2 comprising an encoder 20 according to any one of (1) to (14) and a monitoring unit 210 that receives data from a data transmitting unit 114 and monitors whether the data transmitting unit 114 is normal based on the received data. Further reliability improvement can be achieved.
[0118] (16) The monitoring unit 210 has a first monitoring unit 211 and a second monitoring unit 212, each of which receives data from the data transmitting unit 114 and monitors whether the data transmitting unit 114 is functioning normally based on the received data, and the first monitoring unit 211 further monitors whether the second monitoring unit 212 is functioning normally based on a comparison between the data received from the data transmitting unit 114 and the data received by the second monitoring unit 212 from the data transmitting unit 114, and the second monitoring unit 212 further monitors whether the first monitoring unit 211 is functioning normally based on a comparison between the data received from the data transmitting unit 114 and the data received by the first monitoring unit 211 from the data transmitting unit 114, in the encoder system 2 described in (15). Further reliability improvement can be achieved.
[0119] Although the embodiments have been described above, the present disclosure is not necessarily limited to the above-described embodiments, and various modifications are possible without departing from the spirit of the present disclosure. [Explanation of symbols]
[0120] 20...encoder, 30...first detection unit, 40...second detection unit, 31...first code track, 32...first optical sensor, 41...second code track, 42...second optical sensor, 65...light source, 60...optical module, 50...disk, 61, 62, 63, 64...multiple optical sensors, 80...third detection unit, 115...initial angle detection unit, 111...angle detection unit, 113...comparison unit, 114...data transmission unit, 123...second comparison unit, 124...third comparison unit, 2...encoder system, 210...monitoring unit, 211...first monitoring unit, 212...second monitoring unit.
Claims
1. a first optical detection unit that detects rotation of the rotation shaft; a second optical detection unit that detects rotation of the rotation shaft; a comparison unit that compares the detection result by the first detection unit with the detection result by the second detection unit; a data transmission unit that transmits data including at least the detection result by the first detection unit and the comparison result by the comparison unit; An encoder comprising:
2. a third detection unit that detects rotation of the rotation shaft; an angle detection unit that detects a rotation angle of the rotation shaft based on a detection result by the third detection unit and a detection result by the first detection unit; Further provided with the data transmission unit transmits data further including a detection result by the angle detection unit. The encoder of claim 1.
3. The resolution of the third detection unit is lower than the resolution of both the first detection unit and the second detection unit. The encoder of claim 2.
4. a second comparison unit that compares the detection result by the third detection unit with the detection result by the first detection unit; the data transmission unit transmits data further including a comparison result by the second comparison unit. The encoder of claim 2.
5. a third comparison unit that compares the detection result by the third detection unit with the detection result by the second detection unit, the data transmission unit transmits data further including a comparison result by the third comparison unit. The encoder according to claim 4.
6. The first detection unit a first code track that rotates together with the rotation shaft; a first optical sensor that outputs a signal corresponding to the rotation of the first code track based on light that has passed through the first code track; and The second detection unit a second code track that rotates with the rotation shaft; a second optical sensor that outputs a signal corresponding to the rotation of the second code track based on light that has passed through the second code track; having The encoder of claim 1.
7. the first code track and the second code track are aligned in a radial direction perpendicular to the rotation axis, the first optical sensor and the second optical sensor are aligned in the radial direction so as to correspond to the first code track and the second code track, respectively; The encoder of claim 6.
8. The resolution of the second detection unit is lower than the resolution of the first detection unit. The encoder of claim 6.
9. an initial angle detection unit that detects an initial angle of the rotation shaft based on outputs from a plurality of optical sensors including the first optical sensor and the second optical sensor; the first detector detects a first relative rotation angle from the initial angle; the second detection unit detects a second relative rotation angle from the initial angle. The encoder of claim 6.
10. a third detection unit that continues to detect rotation of the rotary shaft even during a period when the plurality of optical sensors are stopped; the initial angle detection unit detects the initial angle of the rotation shaft based on a detection result by the third detection unit during a period in which the plurality of optical sensors are stopped and outputs of the plurality of optical sensors after activation. The encoder of claim 9.
11. the first detection unit and the second detection unit share one light source; the first optical sensor outputs a signal corresponding to a rotation of the first code track based on light emitted from the light source and passing through the first code track; The encoder according to any one of claims 6 to 10, wherein the second optical sensor outputs a signal corresponding to the rotation of the second code track based on light emitted from the light source and passing through the second code track.
12. the first optical sensor and the second optical sensor are included in one optical module, The encoder according to claim 11 , wherein the first light source is provided in the optical module between the first optical sensor and the second optical sensor.
13. the first code track and the second code track are formed on the same surface of one disk that rotates together with the rotation shaft; The encoder according to any one of claims 6 to 10.
14. The data transmission unit a first protocol data unit including a detection result by the first detection unit and a comparison result by the comparison unit; a second protocol data unit including additional data not included in the first protocol data unit; alternately transmit, The encoder according to any one of claims 1 to 5.
15. An encoder according to any one of claims 1 to 5; a monitoring unit that receives data from the data transmission unit and monitors whether the data transmission unit is normal based on the received data; An encoder system comprising:
16. the monitoring unit includes a first monitoring unit and a second monitoring unit, each of which receives data from the data transmission unit and monitors whether the data transmission unit is normal based on the received data; the first monitoring unit further monitors whether the second monitoring unit is normal based on a comparison between the data received from the data transmission unit and the data received by the second monitoring unit from the data transmission unit; the second monitoring unit further monitors whether the first monitoring unit is normal or not based on a comparison between the data received from the data transmission unit and the data received by the first monitoring unit from the data transmission unit; 16. The encoder system of claim 15.
Citation Information
Patent Citations
Ohmic contact formation
JP1989028817A