Patent Publication Number: US-2023136373-A1

Title: Method for dynamic error compensation of a position sensor and position sensor with dynamic error compensation

Description:
CROSS-REFERENCE TO RELATED APPLICATION 
     The subject application claims priority to European Patent Application No. 21205277.3, filed on Oct. 28, 2021. The entire disclosure of European Patent Application No. 21205277.3 is incorporated into the subject application by this reference. 
     BACKGROUND 
     Field 
     A method for dynamic error compensation of a position sensor is described. A position sensor with dynamic error compensation is further described. 
     Description of the Related Art 
     Position sensors, like rotating position sensors, usually comprise a sensing circuit and a control circuit, wherein the control circuit processes the signals of the sensing circuit to determine the position of a moving target. For example, the sensing circuit of an inductive position sensor comprises a transmitter coil and two receiving coils, such as a sine coil and a cosine coil. The moving target may be conductive and can move relative to the transmitter coil and receiver coils, thereby partly covering the transmitter coil and receiver coils. A radiofrequency signal is applied to the transmitter coil and the receiver coils receive a signal from the transmitter coil which changes with respect to the position of the moving target. The control circuit uses the signals of the receiver coils to calculate the current position of the moving target. 
     Every position sensor takes some time to measure and calculate the position of the moving target. This latency time is for example indicated as τ. At time t the measurement of the position starts the moving target is located at position p 0 . At the end of the calculation t+τ, the moving target is located at position p 1 . The dynamic error of the position sensor is defined as by p err =V*τ, wherein V is the average speed of the moving target. For a rotating position sensor, p 0 =α 0  and p 1 =α 1  and p err =α err  and V is the rotating average speed. 
     The position sensor provides a new sample with a certain sampling frequency and the speed of the target can be calculated as derivative of two consecutive sensed positions, e.g., Δp=p (n) −p (n−1)  and Δt=sampling frequency or Δα=α (n) −α (n−1)  and Δt=sampling frequency. Thus, the position error p err  can be calculated by p err =V*τ respectively the angular position error α err  by α err =V*τ. Usually the latency τ consists of a base value coming from the analog blocks and a contribution which is proportional to the sampling time, wherein the latter can be totally compensated. 
     Each determination of the position of the moving target is affected by noise. But the calculation of the dynamic error for compensation also introduces additional noise. To reduce the noise contribution of the dynamic error compensation according to U.S. Pat. No. 9,952,065 B2 a running average of the speed of the moving target is calculated based on the last k samples. The larger k is chosen, the better is the noise suppression due to the calculated running average. However, in case of a change of the speed of the moving target, the position sensor will provide wrong position results until the calculated running average corresponds to the actual speed of the moving target. 
     It may be an object to reduce the dynamic error of position sensors for moving targets with a constant speed and be reactive in case of a change of the speed of the moving target. 
     SUMMARY 
     A method for dynamic error compensation of a position sensor, comprises:
         determining a position of a moving target by the position sensor with a certain sampling frequency,   calculating the speed of the moving target for each determined position,   calculating a running average of the speed of the moving target over a certain number of determined positions, and   calculating a dynamic angle error on basis of the calculated running average of the speed, wherein the calculated dynamic angle error is used to correct the output of the position sensor,       

     wherein: 
     the current speed of the moving target calculated from the last two consecutive samples is compared to the calculated running average of the speed of the moving target over the certain number of determined positions and if the calculated speed of the moving target for the current position is within a first window around the calculated running average of the speed of the moving target over the certain number of determined positions the last dynamic angle error is frozen and will be used instead of a re-calculated dynamic angle error for the current determined position, and/or if the calculated speed of the moving target for the current position exceeds a second window around the calculated running average of the speed of the moving target over the certain number of determined positions the last dynamic angle error is replaced by the re-calculated one on basis of the current calculated speed of the moving target and the previously calculated running average is deleted and the calculation of the running average of the speed of the moving target over a certain number of determined positions is restarted. If the calculated speed exceeds the first window around the running average of the speed of the moving target and is within the second window the running average speed of the moving target is updated to include the current calculated speed and the dynamic angle error will be re-calculated on basis of the updated running average of the speed of the moving target. 
     Pursuant to the method, the position of a moving target is determined by the position sensor with a certain sampling frequency. In the next step, the speed of the moving target is calculated for each determined position, i.e., each sample according to the certain sampling frequency. Based on these calculated speeds, a running average of the speed of the moving target is calculated over a certain number of determined positions, i.e., samples. On basis of the calculated running average a dynamic angle error can be calculated, which is used to correct the output of the position sensor. This corresponds to the prior art, as for example disclosed in U.S. Pat. No. 9,952,065 B2. 
     The method further comprises comparing the calculated speed of the moving target for the current determined position, i.e., sample, to the calculated running average of the moving target over the certain number of determined positions. 
     If the calculated speed of the moving target for the current position is within a first window around the calculated running average of the speed of the moving target over the certain number of determined positions the dynamic angle error is frozen and not updated on basis of the current calculated speed of the moving target. Since the calculated speed of the moving target for the current position is within the first window around the calculated running average of the speed of the moving target over the certain number of determined positions the speed of the moving target has not significantly changed and a re-calculation of the dynamic angle error and the average speed of the moving target is not necessary. Thus, the error introduced by the calculation of the dynamic angle error is avoided. In other words, in this variant, the dynamic angle error is frozen as long as the speed of the moving target does not change significantly. In a first variant, the running average of the speed of the moving target is not updated using the calculated speed of the moving target for the current position. In a second variant, the running average of the speed of the moving target may be further monitored and updated over the certain number determined positions, i.e., samples, and change over time. 
     If the calculated speed of the moving target for the current determined position exceeds a second window the previously calculated running average is deleted and the calculation of the running average of the speed of the moving target over a certain number of determined positions is restarted. Since the calculated speed of the moving target for the current determined position exceeds the second window the speed of the moving target has changed significantly and in this case the running average is deleted, i.e., set to zero, and calculated from the beginning over the next consecutive samples. Furthermore, the calculated speed of the moving target for the current determined position, i.e., the newly started running average of the speed of the moving target, is used to determine the dynamic angle error to compensate the angular position. This avoids that the calculated dynamic angle error is calculated on basis of a running average that mainly bases on a non-actual speed of the moving target. Thus, the method is reactive to a change of the speed of the moving target. 
     If the calculated speed of the moving target for the current determined position exceeds the first windows and is within the second window, the running average of the speed of the moving target is updated to include the calculated speed of the moving target for the current determined position. This updated running average of the speed of the moving target is used to re-calculate the dynamic angle error to compensate the angular position. 
     In a variant, determining the position of the moving target by the position sensor comprises the step of sensing and calculating the position of the moving target. The used position sensor usually comprises a sensing circuit, as for example disclosed in the introductory part, and a control circuit for calculating the position of the moving target from the signals received from the sensing circuit. The calculation is reduced in case the speed of the moving target is approximately constant, i.e., within the first window. 
     Pursuant to a variant, the dynamic angle error of the position sensor relates to the time for determining, such as sensing and calculating, the current position of the moving target and calculating the dynamic angle error. The additional noise introduced by the calculation of the dynamic angle error is avoided as long as the speed of the moving target does not exceed the first window, i.e., is substantially constant. 
     According to a variant, the position sensor is a rotational position sensor and the method compensates the dynamic angle error of the rotational position sensor. 
     Pursuant to a variant, the first window is smaller than the second window. Thus, the dynamic angle error is calculated on basis of the calculated running average if the calculated speed of the moving target for the current determined position is greater than the first window and smaller than the second window. 
     In an example, the first window corresponds to a substantially constant speed of the moving target and the second window corresponds to a substantial change of the speed of the moving target. As the speed is calculated as the derivative of the position and as the position itself is affected by noise, also the speed will be affected by noise. The first window might be set, for example, as 120% of the 3 sigma of the noise of the speed, while the second window could be 200% of the 3 sigma of the noise of the speed. 
     Pursuant to a variant, the speed of the moving target for each determined position is calculated on basis of the current and previous determined position of the moving target by the position sensor. 
     In this variant, the difference between two consecutive determined positions is calculated and since the sampling frequency is known, the speed of the moving target can be easily calculated. 
     The object is further solved by a position sensor, such as a rotating position sensor, comprising a sensing circuit and a control circuit, wherein the control circuit implements the method described. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       An embodiment will be further explained with reference to the FIGURE. The FIGURE shows a schematic view of a rotational position sensor implementing the method according to one embodiment. 
     
    
    
     DETAILED DESCRIPTION 
     The FIGURE shows a schematic view of a position sensor ( 1 ) implementing the method for dynamic error compensation of the position sensor ( 1 ) according to an embodiment. The rotational positions sensor ( 1 ) may comprise a sensing circuit and a control circuit, wherein the control circuit implements the method. In a first step, a position (α) of a moving target is determined by the rotational position sensor ( 1 ) with a certain sampling frequency (n, k). The step of determining the position (α) of the moving target by the position rotational sensor ( 1 ) can comprise the step of sensing and calculating the position of the moving target. For each determined position (α (n) ), the speed (V (n) ) of the moving target is calculated. The speed (V (n) ) of the moving target for each determined position (α (n) ) is for example calculated on basis of the current (α (n) ) and previous (α (n−1) ) determined position of the moving target by the position sensor ( 1 ). Afterwards a running average (V) of the speed of the moving target over a certain number of determined positions (α (n) ) is calculated. On basis of the calculated running average (V) a dynamic angle error (α err ) is calculated, which is used to correct the output of the position sensor ( 1 ). The dynamic angle error (α err ) of the position sensor ( 1 ) relates to the time (τ) for determining, such as sensing and calculating, the current position (α) of the moving target. Since the FIGURE refers to a rotational position sensor ( 1 ), the method compensates the dynamic angle error (α err ) of the rotational position sensor ( 1 ). 
     The current speed (V (n) ) of the moving target for the current determined position (α (n) ) calculated from the last two consecutive samples is compared to the calculated running average (V) of the speed of the moving target over the certain number of determined positions (α) and if the calculated speed (V (n) ) of the moving target for the current position (α (n) ) is within a first window around the calculated running average (V) of the speed of the moving target over the certain number of determined positions (α) the last dynamic angle error (α err ) is frozen and will be used instead of a re-calculated dynamic angle error (α err ) for the current determined position (α (n) ), and/or if the calculated speed (V (n) ) of the moving target for the current determined position (α (n) ) exceeds a second window the previously calculated running average (V) of the speed of the moving target over the certain number of determined positions (α) the last dynamic angle error (α err ) is replaced by the re-calculated one on basis of the current calculated speed (V (n) ) of the moving target and the previously calculated running average (V) of the speed of the moving target over a certain number of determined positions (α) is restarted. 
     If the calculated speed (V (n) ) of the moving target exceeds the first window around the running average of the speed of the moving target and is within the second window the running average speed of the moving target is updated to include the current calculated speed (V (n) ) and the dynamic angle error (α err ) will be re-calculated on basis of the speed according to the running average (V) of the speed of the moving target. 
     In an embodiment, the first window is smaller than the second window and the dynamic angle error (α err ) is calculated on basis of the of the calculated running average (V) if the calculated speed (V (n) ) of the moving target for the current determined position (α (n) ) is greater than the first window and smaller than the second. 
     For example, the first window corresponds to a substantially constant speed (V (n) ) of the moving target and the second window corresponds to a substantial change of the speed (V (n) ) of the moving target. For example, the first window is defined as 120% of the 3 sigma of the noise of the speed (V (n) ) of the moving target and the second window is defined as 200% of the 3 sigma of the noise of the speed (V (n) ) of the moving target.