Self-correction induction sensor
The sensor subsystem addresses runout errors in inductive angular position sensors by employing fine and coarse signals, interface circuitry for angle value generation, and look-up table-based error compensation, ensuring precise angular position determination.
Patent Information
- Application Number
- JP2024209519
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-12-15
- Filing Date
- 2024-12-02
- Publication Date
- 2025-07-08
AI Technical Summary
Inductive angular position sensors suffer from runout errors due to rotor eccentricity and tilt, leading to inaccurate determination of angular position, particularly in high-count per revolution sensors.
A sensor subsystem with a fine and coarse sensor signal generation, an interface circuit for generating absolute angle values, and a look-up table for error compensation, using differential signal averaging and interpolation to correct for tilt and eccentricity.
The system effectively compensates for runout errors, providing accurate angular position measurements by integrating error correction mechanisms.
Smart Images

Figure 2025102686000001_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to sensors, and more particularly, to inductive angular position sensors.
Background Art
[0002] In many computer and machine systems, various sensors can be used to detect different environmental and operating conditions and generate analog or digital signals corresponding to the detected conditions. In some systems, a temperature sensor can be used to detect the temperature of the system to determine whether the system is operating within a specific temperature range. Other systems can use an acceleration sensor to assist in determining the movement of the system or a part of the system. In a robotic system, a rotation sensor can be used to determine how much a part of the system, such as a robotic arm, has rotated.
Summary of the Invention
[0003] Various embodiments of a sensor subsystem are disclosed. Generally, the sensor subsystem includes a sensor coupled to an interface circuit. The sensor may be configured to generate a fine sensor signal and a coarse sensor signal based on the rotation of the sensor. The interface circuit may be configured to generate a first absolute angle value and a second absolute angle value using the fine sensor signal and the coarse sensor signal, respectively. The interface circuit may be further configured to generate an output angle value using the difference between the first absolute angle value and the second absolute angle value.
Brief Description of the Drawings
[0004] Next, exemplary embodiments will be described in detail with reference to the accompanying drawings.
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
[0005] Many of the electrical connections in the drawings are shown as direct connections without intervening devices, although not explicitly stated as such in the following description. Nevertheless, this paragraph is intended to serve as a prior basis in the claims for referring to any electrical connection as a "direct connection" with respect to the electrical connections shown in the drawings without intervening devices (s).
Best Mode for Carrying Out the Invention
[0006] Definition Various terms are used to refer to specific system components. Although different companies may call a component by different names, this specification is not intended to distinguish components that have different names but the same functions. In the following description and claims, the terms "including" and "comprising" are used in a non-limiting sense and should therefore be construed to mean "including, but not limited to...". Also, the term "couple" or "couples" is intended to mean either an indirect connection or a direct connection. Thus, when a first device is coupled to a second device, the connection may be by direct connection or by an indirect connection through other devices and connections.
[0007] As used herein, the terms "a", "an", and "the" refer to both singular and plural referents unless the context clearly dictates otherwise. By way of example, a "processor" programmed to perform various functions refers to one processor programmed to perform all functions or two or more processors collectively programmed to perform each of the various functions.
[0008] Whether stand-alone or (regardless of whether part of an integrated circuit), in the context of an electrical device, the terms "input" and "output" refer to electrical connections to the electrical device and should not be understood as verbs that require an operation. For example, a differential amplifier (such as an operational amplifier) can have a first differential input and a second differential input, and these "inputs" define electrical connections to the differential amplifier but should not be understood to require an input of a signal to the differential amplifier.
[0009] "Controller" or "controller circuit" means, alone or in combination, individual circuit components, application specific integrated circuits (ASICs), microcontrollers with control software, reduced instruction set computing (RISC) circuits with control software, digital signal processors (DSPs), processors with control software, programmable logic devices (PLDs), field programmable gate arrays (FPGAs), or programmable system on chips (PSOCs) configured to read inputs and drive outputs in response to the inputs.
[0010] Detailed Description Various sensor circuits can be used in various computer systems, mechanical systems, and electromechanical systems. Such sensor circuits determine and relay environmental information and / or operating information that can be used as part of a control mechanism. For example, multiple rotational sensors may be employed to control servo motors, robotic arms, and collaborative robots (referred to as "cobots").
[0011] One type of rotational sensor that can be used in a system is an inductive angular position sensor. In such a sensor, the excitation coil may be fabricated on a printed circuit board ("PCB"), and a rotor made of a conductive material is connected to the object whose rotation is to be measured and rotates above the PCB and the excitation coil.
[0012] When a current is driven through the excitation coil, the resulting magnetic field induces a current in the rotor. When the induced current flows in the rotor, another magnetic field is generated around the rotor, which in turn induces respective currents or voltages in one or more receiving coils (referred to as "stators") also fabricated on the PCB.
[0013] The coupling of the rotor's magnetic field to one or more stators is a function of the angular position of the rotor relative to the stators. By measuring the voltage polarity and voltage amplitude induced in the stators, the angle of the rotor relative to the stators can be determined.
[0014] When two stators each having a different rotational symmetry over a measurement range are used, the signals from the two stators are resolved into the unique angular position of the rotor unless the rotational symmetries have no common factor other than 1 (referred to as "co-prime" or "relatively prime"). Such an arrangement of the rotor and the stator is relatively insensitive to the effects of rotor eccentricity (i.e., the center of rotation is not above the center of the stator) and rotor tilt (i.e., the axis of rotation is not perpendicular to the plane of the stator), but errors can occur from lateral movement and tilt of the rotor. In such cases, the coupling between the rotor and the stator is not fully compensated, which is called "runout error" and can lead to an inaccurate determination of the angular position of the rotor.
[0015] Such runout errors are proportional to the product of the eccentricity value and the tilt value and depend on the geometry of the sensor. For example, a sensor with a high count per revolution is more sensitive than a sensor with a low count per revolution. However, the ratio between the high count error and the low count error is constant.
[0016] The embodiments described herein can provide techniques for compensating runout errors in inductive angular position sensors. The difference between the low count sensor signal and the high count sensor signal can be used to correct the error introduced by the combination of lateral movement and tilt. The addition of a calibration mode makes it possible to compensate for variations in tilt and eccentricity that change over time.
[0017] FIG. 1 is a block diagram showing one embodiment of a sensor subsystem. As shown, the sensor subsystem 100 includes a sensor 101 and an interface circuit 102. In various embodiments, the sensor 101 can include an inductive angular position sensor.
[0018] Sensor 101 is configured to generate a fine sensor signal 103 and a coarse sensor signal 104 based on the rotation of sensor 101. As will be described below, sensor 101 can include a plurality of receiving coils that generate corresponding sensor signals. In some cases, a first set of receiving coils may be used to generate the fine sensor signal 103, and a second set of receiving coils may be used to generate the coarse sensor signal 104. For example, in some embodiments, two receiving coils may be used to generate two signals included in the fine sensor signal 103, and two other receiving coils may be used to generate two signals included in the coarse sensor signal 104. In some embodiments, different receiving coils have different geometries that generate different numbers of pulses (or "counts") for a complete rotation. In this embodiment, the fine sensor signal 103 has a greater number of pulses per rotation of sensor 101 than the coarse sensor signal 104. Although sensor 101 is shown as generating two sensor signals, in other embodiments, sensor 101 may generate any suitable number of sensor signals.
[0019] Interface circuit 102 is configured to generate an absolute angle value 105 using the fine sensor signal 103 and the coarse sensor signal 104. In addition, interface circuit 102 is configured to generate an absolute angle value 106 using the coarse sensor signal 104 and the fine sensor signal 103. In various embodiments, the most significant portion of the absolute angle value 105 is based on the fine sensor signal 103, and the least significant portion of the absolute angle value 105 is based on the coarse sensor signal 104. For example, the hundreds and tens portions of the absolute angle value 105 may be based on the fine sensor signal 103, and the units and fractional portions of the absolute angle value 105 may be based on the coarse sensor signal 104. Similarly, the most significant portion of the absolute angle value 106 is based on the coarse sensor signal 104, and the least significant portion of the absolute angle value 106 is based on the fine sensor signal 103.
[0020] As described below, to generate the absolute angle value 105 and the absolute angle value 106, the interface circuit 102 can be configured to perform an analog-to-digital conversion operation on the coarse sensor signal 104 and the fine sensor signal 103.
[0021] In various embodiments, the interface circuit 102 is configured to generate an output angle 107 using the difference between the absolute angle value 105 and the absolute angle value 106. As described below, to generate the output angle 107, the interface circuit 102 can be further configured to retrieve an average error value from a look-up table using the absolute angle value 106. The interface circuit 102 can be further configured to generate the output angle 107 using the average error value.
[0022] In some embodiments, the interface circuit 102 is configured to generate an excitation current 108, and the sensor 101 is configured to use it to generate the fine sensor signal 103 and the coarse sensor signal 104. The excitation current 108 may be alternating current in various embodiments.
[0023] Referring to FIG. 2, a block diagram of an embodiment of the sensor 101 is shown. As shown, the sensor 101 includes an excitation coil 201, a rotor coil 202, a receiving coil 203, a receiving coil 204, a rotor coil 205, a receiving coil 206, and a receiving coil 207. In various embodiments, the rotor coil 202, the receiving coil 203, and the receiving coil 204 form a fine sensor configured to generate the fine sensor signal 103, and the rotor coil 205, the receiving coil 206, and the receiving coil 207 form a coarse sensor configured to generate the coarse sensor signal 104.
[0024] The excitation coil 201 is fabricated (or "printed") on a PCB (not shown). In various embodiments, the excitation coil 201 is fabricated using copper or any other suitable material that can be printed on a PCB. Although the excitation coil 201 is shown as a single trace, in other embodiments, the excitation coil 201 may include multiple concentric traces.
[0025] The rotor coils 202 and 205 are manufactured from a conductive material and are configured to rotate above the PCB. In various embodiments, the rotor coils 202 and 205 rotate in response to a change in the rotational position of a particular object, such as a robotic arm. Further, the rotor coils 202 and 205 can rotate in response to the interface circuit 102 activating a calibration mode. In such a case, the rotor coils 202 and 205 rotate 360° and are measured at various angles by the interface circuit 102. During the calibration mode, the rotor coils 202 and 205 can rotate independently of the object to which the rotor coil 204 is attached, such as a robotic arm.
[0026] The receiving coils 203 and 204 are also fabricated from a conductive material on the PCB. Similarly, the receiving coils 206 and 207 are also fabricated from a conductive material on the PCB. In various embodiments, the receiving coils 203 and 204 have a different geometry than the receiving coils 206 and 207. In some cases, the receiving coils 203 and 204 may have more loops further away from the center in order to increase the resolution relative to the receiving coils 206 and 207. In the embodiment of FIG. 2, only two receiving coils are shown for each of the fine sensor and the coarse sensor, but in other embodiments, any suitable number of receiving coils can be used for the fine sensor and the coarse sensor.
[0027] To measure the rotation of the rotor coil 202, the interface circuit 102 is configured to apply an alternating current signal to the excitation coil 201. When an alternating current flows through the excitation coil 201, a magnetic field is generated around the excitation coil 201. In various embodiments, the coupling from the excitation coil 201 to the rotor coils 202 and 205 is independent of the angular positions of the rotor coils 202 and 205, but is a function of the distance between the excitation coil 201 and the rotor coils 202 and 205.
[0028] The magnetic field generated by the excitation coil 201 induces a current in the rotor coils 202 and 205, and this current generates a magnetic field around the rotor coils 202 and 205. The magnetic fields generated by the induced currents in the rotor coils 202 and 205 couple to the receiving coils 203, 204, 206, and 207. The coupling from a given rotor coil to a given receiving coil is a function of both the distance between the given rotor coil and the given receiving coil and the angular positions of the given rotor coil and the given receiving coil. However, note that since the rotor coil 202 has a different rotational symmetry from the receiving coils 206 and 207, the coupling between the rotor coil 202 and the receiving coils 206 and 207 is minimal. Similarly, since the rotor coil 205 has a different rotational symmetry from the receiving coils 203 and 204, the coupling between the rotor coil 205 and the receiving coils 203 and 204 is minimal.
[0029] The magnetic field generated by the rotor coil 204 induces respective currents or voltages in both of the receiving coils 202 and 203. As will be described later, the interface circuit 102 is configured to measure the polarities and amplitudes of the respective voltages of the receiving coils 202 and 203. Using the polarity and amplitude measurements, the interface circuit 102 is further configured to determine the output angle 107. As described above, the number of peaks in the signals of the receiving coils 202 and 203 may depend on the geometries of the receiving coils 202 and 203. In various embodiments, the receiving coil 202 can generate a coarse sensor signal 104, and the receiving coil 203 can generate a fine sensor signal 103.
[0030] Referring to FIG. 3, a block diagram of the interface circuit 102 is shown. As shown, the interface circuit 102 includes a coarse interface circuit 301, a fine interface circuit 302, a calculation circuit 303, a calculation circuit 304, a subtraction circuit 305, an addition circuit 306, a multiplication circuit 307, a look-up table 308, an interpolation circuit 309, and a coil driver circuit 310.
[0031] The coarse interface circuit 301 is configured to generate a signal 316 using the coarse sensor signal 104. In various embodiments, the signal 316 may be a digital signal including multi-bit data. In such a case, the coarse interface circuit 301 may include an analog-to-digital converter circuit configured to convert the amplitude of the coarse sensor signal 104 into multi-bit data.
[0032] The fine interface circuit 302 is configured to generate a signal 317 using the fine sensor signal 103. Similar to the signal 316, the signal 317 may be a digital signal including multi-bit data. In various embodiments, the fine interface circuit 302 may include an analog-to-digital converter circuit configured to generate multi-bit data based on the amplitude of the fine sensor signal 103.
[0033] The calculation circuit 303 is configured to generate an absolute angle value 106 using the signal 316 and the signal 317. In various embodiments, the calculation circuit 303 may be configured to calculate the absolute angle value 106 such that the most significant part of the absolute angle value 106 is based on the signal 316 and the least significant part of the absolute angle value 106 is based on the signal 317. In some embodiments, the calculation circuit 303 may be implemented using a controller, or any other suitable combination of combinational logic circuits and sequential logic circuits.
[0034] The calculation circuit 304 is configured to generate the absolute angle value 105 using the signal 316 and the signal 317. In various embodiments, the calculation circuit 304 may be configured to calculate the absolute angle value 105 such that the most significant portion of the absolute angle value 105 is based on the signal 317 and the least significant portion of the absolute angle value 105 is based on the signal 316. In some embodiments, the calculation circuit 303 may be implemented using a controller, or any other suitable combination of combinational logic circuits and sequential logic circuits.
[0035] Note that in some embodiments, the calculation circuits 303 and 304 may be interchangeable. For example, the calculation circuit 304 may be used to generate the absolute angle value 106, and the calculation circuit 303 may be used to generate the absolute angle value 105.
[0036] The subtraction circuit 305 is configured to generate the difference signal 311 using the absolute angle value 106 and the absolute angle value 105. In various embodiments, to generate the difference signal 311, the subtraction circuit 305 may be configured to subtract the absolute angle value 106 from the absolute angle value 105.
[0037] The addition circuit 306 is configured to generate the output angle 107 using the absolute angle value 105 and the product signal 312. In various embodiments, to generate the output angle 107, the addition circuit 306 may be configured to add the absolute angle value 105 to the product signal 312. The embodiment of FIG. 3 shows an addition circuit 306 that combines the absolute angle value 106 and the product signal 312 to generate the output angle 107, but in other embodiments, the addition circuit 306 may be configured to combine the absolute angle value 105 and the product signal 312 to generate the output angle 107.
[0038] In the case of an ideal sensor, the absolute angle value 106 and the absolute angle value 105 are the same. Noise on the coarse sensor signal 104 and the fine sensor signal 103 can each result in noise in the absolute angle value 106 and the absolute angle value 105, resulting in a difference between the two angle values. In various embodiments, such noise can include random noise within the system. In some cases, the noise on the coarse sensor signal 104 and the fine sensor signal 103 can include systematic errors due to the inclination and eccentricity between the receiving coil and the rotor coil of the sensor 101. To remove the random portion of the noise, the differential signal 311 (which is the difference between the absolute angle value 106 and the absolute angle value 105) can be averaged and stored in the look-up table 308. However, averaging the differential signal 311 preserves any systematic errors.
[0039] The look-up table 308 is configured to store a plurality of error average values for corresponding angle ranges. In various embodiments, the look-up table 308 is configured to select a specific error average using the absolute angle value 105 and generate an error signal 314. In various embodiments, a moving average of the error values, that is, the difference between the absolute angle value 106 and the absolute angle value 105, is generated during the calibration mode and stored in the look-up table 308. Alternatively, the values within the look-up table 308 can be continuously updated by detecting when the absolute angle value 105 is within a specific range of values and then updating the corresponding error average upon detecting such a situation. By updating the error average in such a manner, the sensor subsystem 100 can tolerate variations in the inclination and eccentricity of the rotor coil 204 over time due to wear and breakage of the rotor shaft bearings.
[0040] The interpolation circuit 309 is configured to generate an interpolation signal 313 using a plurality of error signals from the look-up table 308, such as the error signal 314. In various embodiments, the interpolation circuit 309 can be configured to perform piecewise linear interpolation between the error average values stored in the look-up table 308 to generate the interpolation signal 313.
[0041] During the non-calibration operation (referred to as the "execution mode"), the measured angular value can be corrected using the data stored in the look-up table 308. Before combining the interpolated data from the look-up table 308, i.e., the interpolation signal 313, with the absolute angular value 105, the interpolation signal 313 can be scaled based on the geometry of the receiving coils 203, 204, 206, and 207. Such scaling is achieved by the multiplication circuit 307.
[0042] The multiplication circuit 307 is configured to generate a product signal 312 using the interpolation signal 313 and the geometry factor 315. In various embodiments, the geometry factor 315 is based on the respective geometry of the receiving coils 203, 204, 206, and 207 within the sensor 101. In some cases, the geometry factor 315 is determined by simulation or laboratory measurements and is then added to the software / firmware used by the interface circuit 102. In some cases, the geometry factor 315 may be based on the respective diameters of the receiving coils 203, 204, 206, and 207 and the number of counts per revolution.
[0043] The addition circuit 306 is configured to generate an output angle 107 using the absolute angular value 105 and the product signal 312. In various embodiments, to generate the output angle 107, the addition circuit 306 can be configured to add the absolute angular value 105 to the product signal 312.
[0044] The coil driver circuit 310 is configured to generate the excitation current 108. As described above, the excitation current 108 may be alternating current. In such a case, the coil driver circuit 310 can be implemented using an inductor-capacitor (or "LC") oscillator circuit, or any other suitable circuit configured to generate alternating current.
[0045] Referring to FIG. 4, a block diagram of the look-up table 308 is shown. As shown, the look-up table 308 stores error average values for a plurality of different angular ranges of the absolute angle value 105 corresponding to the fine sensor signal 103. For a given angular range, the look-up table 308 stores the corresponding error average value. For example, for an angle between 22.5 degrees and 45 degrees, the look-up table 308 stores the error average value 402. Although 16 entries are shown in the embodiment shown in FIG. 4, in other embodiments, any suitable number of entries can be used. In various embodiments, the number of entries included in the look-up table 308 may be based on the desired resolution of the error average value.
[0046] As described above, a given error average value is read from the look-up table 308 as part of the process of generating the output angle 107 for the new rotational position of the sensor 101. The error average values 401-416 are updated as a moving average during the calibration operation.
[0047] Note that the circuitry for reading and writing information to the look-up table 308 has been omitted from the figure in FIG. 4 for clarity. In various embodiments, the look-up table 308 can be implemented using a plurality of static random access memory (SRAM) storage cells, non-volatile memory circuits (e.g., EEPROM or flash), decoder circuits, sense amplifier circuits, and the like.
[0048] Referring to FIG. 5, a flowchart showing an embodiment of a method of operating a sensor is shown. The method applicable to various sensors starts at block 501.
[0049] This method includes generating a fine sensor signal based on the rotation of a sensor by the sensor (block 502). In various embodiments, the sensor includes an inductive angular position sensor including an excitation coil, a rotor coil, a first set of receiving coils, and a second set of receiving coils. In some embodiments, generating a coarse sensor signal and a fine sensor signal includes applying alternating current (AC) to the excitation coil.
[0050] This method includes generating a coarse sensor signal based on the rotation of a sensor by the sensor (block 503). In various embodiments, the resolution of the coarse sensor signal is lower than the resolution of the fine sensor signal. In some embodiments, generating the coarse sensor signal includes generating a voltage in a second set of receiving coils included in an inductor angular position sensor.
[0051] This method further includes generating a first absolute angle value using the coarse sensor signal and the fine sensor signal by an interface circuit (block 504). In various embodiments, a first most significant portion of the first absolute angle value is based on the fine sensor signal. In some embodiments, generating the first absolute angle includes performing analog-to-digital conversion of the coarse sensor signal and the fine sensor signal.
[0052] This method also includes generating a second absolute angle value using the fine sensor signal and the coarse sensor signal by an interface circuit (block 505). In various embodiments, a second most significant portion of the second absolute angle value is based on the coarse sensor signal. In some embodiments, generating the second absolute angle value includes performing analog-to-digital conversion of the fine sensor signal and the coarse sensor signal.
[0053] This method further includes generating an output angle value using the difference between a first absolute angle value and a second absolute angle value by an interface circuit (block 506). In various embodiments, generating the output angle value includes retrieving a particular average error value from a look-up table configured to store, by the interface circuit, a plurality of average error values for corresponding plural fine angle ranges using the first absolute angle value. In some embodiments, the method may further include combining, by the interface circuit, the particular average error value with a predetermined geometric value to generate a product value, and combining, by the interface circuit, the product value and the first absolute angle value to generate the output angle value. Alternatively, the method may include combining, by the interface circuit, the product value and the second absolute angle value to generate the output angle value.
[0054] In various embodiments, the method may further include averaging, by the interface circuit, the difference between the first absolute angle value and the second absolute angle value over a measurement range. The method may further include updating, by the interface circuit, the look-up table using the result from the averaging. In some embodiments, the method may include generating an error signal in response to determining that a given average error value for a given range of angles stored in the look-up table exceeds a threshold value. This method ends at block 507.
[0055] To remove noise from the sensor subsystem 100, the difference between the fine angle value and the coarse angle value can be averaged over a number of measurements. Such averaging can be performed during a calibration operation in which the sensor 101 is moved over a range of angles. A flowchart showing one embodiment of a method for performing such a calibration operation is shown in FIG. 6. This method can be applied to various sensor subsystems, such as the sensor subsystem 100, and begins at block 601.
[0056] This method includes rotating a sensor through a plurality of positions (block 602). In various embodiments, rotating the sensor through a plurality of positions includes rotating the rotor coils 202 and 205 within the sensor 101 by a predetermined number of rotations over a predetermined number of times. In various embodiments, the number of rotations may be based on the resolution of the sensor 101.
[0057] This method further includes generating a plurality of first absolute angles and a plurality of second absolute angles corresponding to the plurality of positions (block 603). In various embodiments, generating the plurality of first absolute angles and the plurality of second absolute angles includes performing analog-to-digital conversion on the fine sensor signal 103 and the coarse sensor signal 104 at each of the plurality of positions.
[0058] This method also includes determining a plurality of difference values using the plurality of first absolute angles and the corresponding ones of the plurality of second absolute angles (block 604). In various embodiments, determining the plurality of difference values includes subtracting a given second absolute angle from the corresponding first absolute angle.
[0059] This method further includes updating a plurality of moving averages corresponding to the plurality of positions (block 605). In some embodiments, updating the plurality of moving averages includes retrieving a specific moving average value from a lookup table, updating the specific moving average value, and storing the updated specific moving average value back in the lookup table. This method ends at block 606.
[0060] In various embodiments, the calibration operation can be performed in parallel with the measurement operation. A flowchart showing an embodiment of a method for performing the measurement operation and the calibration operation in parallel is shown in FIG. 7. This method can be applied to various sensor subsystems, such as the sensor subsystem 100 shown in FIG. 1, and begins at block 701.
[0061] This method includes generating a first absolute angle and a second absolute angle based on the rotation of sensors included in a sensor subsystem (block 702). In various embodiments, the method further includes generating an output angle value based on the difference between the first absolute angle and the second absolute angle. In some cases, generating the output angle value includes retrieving an average error value from a look-up table.
[0062] This method also includes performing a comparison between the first absolute angle and the second absolute angle (block 703). In various embodiments, performing the comparison between the first absolute angle and the second absolute angle includes determining the difference between the first absolute angle and the second absolute angle and comparing the difference with a threshold value.
[0063] This method further includes updating a look-up table based on the result of the comparison (block 704). In some embodiments, updating the look-up table includes retrieving a specific value from the look-up table and averaging the specific value with a new value based on the first absolute angle and the second absolute angle. In such cases, the method also includes updating the look-up table with the average of the specific value and the new value. This method ends at block 705.
[0064] Referring to FIG. 8, a block diagram of a system configured to control the rotation of a part of a mechanical device is shown. As shown, system 800 includes a control circuit 801 and a mechanical device 802 that includes a sensor subsystem 100. In various embodiments, system 800 can be used as part of a servo motor control mechanism, a robotic arm control mechanism, a cobot control mechanism, or any other suitable control mechanism.
[0065] The control circuit 801 is configured to receive an input signal 803. In various embodiments, the input signal 803 may be either a digital or an analog circuit whose value indicates an amount that rotates all or part of the mechanical device 802. In various embodiments, the control circuit 801 may be configured to generate a control signal 804 using the input signal 803.
[0066] In response to receiving the control signal 804, the mechanical device 802 may be configured to rotate at least a part of itself, such as a robotic arm. For example, the mechanical device 802 may be configured to activate a motor in response to activation of the control signal 804. The motor may then rotate a part of the mechanical device 802 while the control signal 804 is active.
[0067] As described above, the sensor subsystem 100 is configured to generate a rotation angle 805 based on the rotation of a part of the mechanical device 802. In various embodiments, the rotation angle 805 may correspond to the output angle 107 and may include a word of digital data containing any suitable number of bits to achieve the desired resolution of the rotation angle 805.
[0068] The control circuit 801 may be further configured to deactivate the control signal 804 based on the rotation angle 805. In various embodiments, the control circuit 801 may be configured to compare the rotation angle 805 with a desired rotation angle. In response to a determination that the rotation angle 805 is within a threshold of the desired rotation angle, the control circuit 801 may be able to deactivate the control signal 804. The control circuit 801 may be implemented using a controller.
[0069] Clause: Clause 1: An apparatus, A sensor configured to generate a fine sensor signal and a coarse sensor signal based on rotation of the sensor, and An interface circuit, Generate a first absolute angle value using a fine sensor signal and a coarse sensor signal, where a first most significant part of the first absolute angle value is based on the fine sensor signal, Generate a second absolute angle value using the coarse sensor signal and the fine sensor signal, where a second most significant part of the second absolute angle value is based on the coarse sensor signal, An interface circuit configured to generate an output angle value using a difference between the first absolute angle value and the second absolute angle value, A device comprising.
[0070] Clause 2: The sensor includes an inductive angular position sensor, the device according to any clause of this specification.
[0071] Clause 3: To generate the first absolute angle value, the interface circuit is configured to perform a first analog-to-digital conversion operation using the fine sensor signal, and to generate the second absolute angle value, the interface circuit is configured to perform a second analog-to-digital conversion operation using the coarse sensor signal, the device according to the clauses of this specification.
[0072] Clause 4: The interface circuit includes a look-up table configured to store a plurality of average error values for corresponding plural angular ranges, and to generate the output angle value, the interface circuit is further configured to retrieve a specific average error value from the look-up table using one of the first absolute angle value or the second absolute angle value, the device according to any clause of this specification.
[0073] Clause 5: The interface circuit is Combine a specific average error value with a predetermined geometric shape value to generate a product value, And is further configured to combine the product value with the first absolute angle value or the second absolute angle value to generate the output angle value, the device according to any clause of this specification.
[0074] Clause 6: The interface circuit is further configured to update a given average error value stored in a look-up table using a difference between a first absolute angle value and a second absolute angle value, the apparatus according to any clause herein.
[0075] Clause 7: A method comprising: generating, by a sensor, a fine sensor signal based on rotation of the sensor; generating, by the sensor, a coarse sensor signal based on rotation of the sensor, wherein a resolution of the coarse sensor signal is lower than a resolution of the fine sensor signal; generating, by an interface circuit, a first absolute angle value using the fine sensor signal and the coarse sensor signal, wherein a first most significant portion of the first absolute angle value is based on the fine sensor signal; generating, by the interface circuit, a second absolute angle value using the coarse sensor signal and the fine sensor signal, wherein a second most significant portion of the second absolute angle value is based on the coarse sensor signal; generating, by the interface circuit, an output angle value using a difference between the first absolute angle value and the second absolute angle value.
[0076] Clause 8: Generating the first absolute angle value includes converting, by the interface circuit, the fine sensor signal into a first digital value, and generating the second absolute angle value includes converting, by the interface circuit, the coarse sensor signal into a second digital value, the method according to any clause herein.
[0077] Clause 9: Generating the output angle value includes retrieving, by the interface circuit, a particular average error value from a look-up table configured to store a plurality of average error values for corresponding plural fine angle ranges using the first absolute angle value, the method according to any clause herein.
[0078] Clause 10: Generating the output angle value includes The interface circuit combines a specific average error value with a predetermined geometric shape value to generate a product value, The method according to any one of the clauses herein, comprising: the interface circuit combines the product value with a first absolute angle value or a second absolute angle value to generate an output angle value.
[0079] Clause 11: The interface circuit averages the difference between the first absolute angle value and the second absolute angle value over a measurement range, The method according to any one of the clauses herein, further comprising: the interface circuit updates a look-up table using the result from the averaging.
[0080] Clause 12: The method according to any one of the clauses herein, further comprising: generating an error signal in response to determining that a given average error for a given range of angle values stored in the look-up table exceeds a threshold.
[0081] Clause 13: The method according to any one of the clauses herein, wherein the sensor includes an inductive angular position sensor.
[0082] Clause 14: A system, A mechanical device including a component configured to rotate based on a control signal, A sensor subsystem configured to generate a rotation angle based on the rotation of the component, A control circuit configured to generate a control signal using an input signal and the rotation angle.
[0083] Clause 15: To generate a rotation angle, the sensor subsystem, Generates a fine sensor signal based on the position of the component, Generates a coarse sensor signal based on the position of the component, Generate a first absolute angle value using the fine sensor signal and the coarse sensor signal, where the first most significant part of the first absolute angle value is based on the coarse sensor signal, Generate a second absolute angle value using the coarse sensor signal and the fine sensor signal, where the second most significant part of the second absolute angle value is based on the fine sensor signal, The system according to any clause herein, further configured to generate a rotation angle using the difference between the first absolute angle value and the second absolute angle value.
[0084] Clause 16: To generate the first absolute angle value, the sensor subsystem is further configured to convert the fine sensor signal into a first digital value, and to generate the second absolute angle value, the sensor subsystem is further configured to convert the coarse sensor signal into a second digital value. The system according to any clause herein.
[0085] Clause 17: The sensor subsystem includes a look-up table configured to store a plurality of average error values for corresponding multiple angle ranges. To generate the rotation angle, the sensor subsystem is further configured to use the first absolute angle value to retrieve a specific average error value. The system according to any clause herein.
[0086] Clause 18: The sensor subsystem Combines a specific average error value with a predetermined geometric shape value to generate a product value, To generate the rotation angle, further configured to combine the product value with the first absolute angle value. The system according to any clause herein.
[0087] Clause 19: The sensor subsystem Generates an average value of the difference between the first absolute angle value and the second absolute angle value over the measurement range, Using the average value to update the look-up table. The system according to any clause herein.
[0088] Clause 20: The sensor subsystem is a system as described in any clause herein that includes an inductive angular position sensor coupled to a component.
[0089] This disclosure includes references to groups of "one embodiment" or "embodiments." As used herein, an embodiment is a different implementation of an example of the disclosed concept. References to "one embodiment," "some embodiments," etc. do not necessarily refer to the same embodiment. Many embodiments are possible and contemplated, including those specifically disclosed and modifications or alternatives within the spirit or scope of this disclosure.
[0090] The foregoing disclosure is intended to explain the principles of the disclosed concept and some of the various embodiments. With a sufficient understanding of the foregoing disclosure, numerous variations and modifications will be apparent to those skilled in the art. The following claims are intended to be construed to embrace all such variations and examples.
Claims
1. An apparatus comprising: a sensor configured to generate a fine sensor signal and a coarse sensor signal based on rotation of the sensor; an interface circuit configured to: generate a first absolute angle value using the fine sensor signal and the coarse sensor signal, wherein a first most significant part of the first absolute angle value is based on the fine sensor signal; generate a second absolute angle value using the coarse sensor signal and the fine sensor signal, wherein a second most significant part of the second absolute angle value is based on the coarse sensor signal; and generate an output angle value using a difference between the first absolute angle value and the second absolute angle value. The apparatus as claimed in claim 1.
2. The apparatus as claimed in claim 1, wherein the sensor includes an inductive angular position sensor.
3. The apparatus as claimed in claim 1, wherein, to generate the first absolute angle value, the interface circuit is configured to perform a first analog-to-digital conversion operation using the fine sensor signal, and to generate the second absolute angle value, the interface circuit is configured to perform a second analog-to-digital conversion operation using the coarse sensor signal.
4. The apparatus as claimed in claim 1, wherein the interface circuit includes a look-up table configured to store a plurality of average error values for corresponding plural angular ranges, and to generate the output angle value, the interface circuit is further configured to retrieve a specific average error value from the look-up table using one of the first absolute angle value or the second absolute angle value.
5. The interface circuit is further configured to: combine the specific average error value with a predetermined geometric value to generate a product value; combine the product value with one of the first absolute angle value or the second absolute angle value to generate the output angle value; and update a given average error value stored in the look-up table using a difference between the first absolute angle value and the second absolute angle value.