Vehicles typically include suspension systems. The suspension system of a vehicle is coupled to the vehicle frame and to each wheel assembly. The suspension system absorbs and dampens shocks and vibrations from the wheel assemblies to the vehicle frame. For each wheel assembly, the suspension system includes an upper control arm, a lower control arm, a coil spring, and a shock absorber. The shock absorber extends through the coil spring. One end of the shock absorber and the coil spring may be connected to the lower control arm, and the other end of the shock absorber and the coil spring may be connected to the upper control arm or to the vehicle frame. The shock absorber is typically hydraulic or pneumatic, but the shock absorber can instead be electromagnetic, in which an electric motor serves to absorb and dampen shocks and vibrations transmitted to the wheels by a road surface.
With reference to the Figures, an apparatus 30 includes an electric motor 32 including a stator 34 and a translator 36; a three-phase inverter 38 electrically coupled to the electric motor 32; a power source 40 electrically coupled to the three-phase inverter 38; and a controller 42 communicatively coupled to the three-phase inverter 38. The controller 42 is programmed to determine at least three measurements at different times of flux linkage from the electric motor 32, represent the measurements in Clarke coordinates, determine Clarke coordinates of a center of a circle 600 defined by the Clarke coordinates of the measurements, and determine a position of the translator 36 relative to the stator 34 based on the Clarke coordinates of the center of the circle 600.
The electric motor 32 can be used as component of a suspension system 18 for a vehicle 16, specifically as a shock absorber. An advantage of the electric motor 32 following the method described below over a different type of shock absorber is that a position sensor can be eliminated or double-checked. The apparatus 30 can be used for regenerative shock absorption, i.e., for charging the power source 40 using road vibrations. The apparatus 30 and the method described herein provide sensorless control for the electric motor 32, whether or not the apparatus 30 is part of the suspension system 18. Omitting a position sensor 56 simplified the design of the electric motor 32 and provides a considerable cost reduction. Alternatively, the method can provide a check on the functioning of the position sensor 56, if present. The method provides an efficient manner to compensate for errors in measuring the flux linkage through the electric motor 32. The method avoids using filters, and the method can provide reliable information about the position of the electric motor 32 across a wide range of frequencies, even low frequencies, of motion of the translator 36 relative to the stator 34.
With reference to
With reference to
As shown in
The stator 34 includes a core 44 of magnetic material and electric coils 46, 48, 50 wound around the core 44. The stator 34 receives three-phase electric power through the electric coils 46, 48, 50, which include a first coil 46, a second coil 48, and a third coil 50. The AC power supplied to the coils 46, 48, 50 creates a magnetic field that, combined with the field of permanent magnets 52, 54 of the translator 36, can generate a force parallel to the axis X (or torque about the axis X, if the electric motor 32 is rotary) on the translator 36.
The translator 36 includes a series of the permanent magnets 52, 54, specifically, a plurality of first permanent magnets 52 and second permanent magnets 54 alternating along the axis X (or alternating around the axis X if the electric motor 32 is rotary and the translator 36 is a rotor). The first permanent magnets 52 have opposite magnetic orientations than the second permanent magnets 54.
With reference to
The power source 40 is electrically coupled to the three-phase inverter 38. The power source 40 supplies direct current power to the three-phase inverter 38. The power source 40 can be one or more batteries, e.g., lithium-ion batteries, nickel-metal hydride batteries, lead-acid batteries, etc.; or one or more capacitors, e.g., a supercapacitor. In particular, the power source 40 can be a supercapacitor because supercapacitors recharge and discharge faster than batteries and can tolerate more charge-discharge cycles than batteries.
The controller 42 is communicatively coupled to the three-phase inverter 38 to provide a control signal to the three-phase inverter 38. The controller 42 can be a microprocessor-based computing device, e.g., an electronic controller or the like, a field-programmable gate array (FPGA), an application-specific integrated circuit (ASIC), etc. The controller 42 includes a processor, a memory, etc. The memory of the controller 42 includes media for storing instructions executable by the processor as well as for electronically storing data and/or databases. The controller 42 can be multiple controllers coupled together.
The apparatus 30 can include a position sensor 56 coupled to the electric motor 32 to detect a position of the translator 36 relative to the stator 34. The position sensor 56 may be any sensor providing an output mapping onto a linear (or rotary) position of the translator 36 relative to the stator 34, e.g., a capacitive transducer, a capacitive displacement sensor, an eddy-current sensor, an ultrasonic sensor, a Hall effect sensor, an inductive noncontact position sensor, a linear variable differential transformer, a piezoelectric transducer, a potentiometer, a proximity sensor, a linear coder, a string potentiometer, etc. As described below with respect to
With reference to
The summation block 405 receives the uncompensated back-emf measurement EMFαβ,i*, which can be determined from the measured three-phase currents iabc and the measured stator 34 voltages uabc. First, the three-phase currents iabc and the measured stator voltages uabc are transformed into Clarke coordinates by using the simplified Clarke transformation, also referred to as the alpha-beta transformation:
in which i is current, u is voltage, T is the Clarke transformation, t is time, and a, b, and c represent the first coil 46, the second coil 48, and the third coil 50, respectively. The Clarke transformation T is geometrically interpreted as a projection of a three-part quantity associated with the electric coils 46, 48, 50 onto two stationary axes, the α-axis and the β-axis, i.e., Clarke coordinates. All quantities in Clarke coordinates are thus two-dimensional vectors. The uncompensated back-emf measurement EMFαβ,i* in Clarke coordinates can be determined from the three-phase currents iαβ op and the stator voltages uαβ in Clarke coordinates:
in which Rs is the winding resistance of the stator 34, Lsα is the synchronous inductance in the α dimension, Lsβ is the synchronous inductance in the β dimension, and Lsαβ is the mutual coupling. In many cases, the contributions of the synchronous inductance and mutual coupling terms are negligibly small and can be ignored. The uncompensated back-emf measurement EMFαβ,i* is then fed into the summation block 405.
The summation block 405 subtracts the compensation from the PI controller 410 from the uncompensated back-emf measurement EMFαβ,i* to arrive at the compensated back-emf EMFαβ,i. The compensation is initially (0, 0) and remains (0, 0) until a minimum number of measurements are collected for the center estimator 420, as described below.
The integrator 415 determines a flux-linkage measurement Ψαβ,i from the compensated back-emf EMFαβ,i by integrating the compensated back-emf measurements EMFαβ,i over time:
Ψαβ(t)=∫t
in which Ψαβ(t0) is the initial flux linkage. The flux-linkage measurements Ψαβ are represented in Clarke coordinates. The integrator 415 can include two scalar calculations, one for the alpha terms and one for the beta terms.
The center estimator 420 needs at least three flux-linkage measurements Ψαβ,i at different times to determine the center Ψc of the circle 600, as shown in
The PI controller 410 provides proportional and integral compensation to the center Ψc, specifically on the weighted center KRΨc. The weighted center KRΨc provides the error function for the proportional and integral compensation, and (0, 0) is the setpoint. By outputting to the summation block 405, the PI controller 410 forms the feedback loop 400, in which the flux linkage Ψαβ is proportionally and integrally compensated and then becomes one of the flux-linkage measurements Ψαβ,i to determine the center Ψc of the circle 600. The proportional compensation and integral compensation each correct for offsets to the center Ψc. The proportional compensation corrects for the initial flux linkage Ψαβ(t0). The integral compensation corrects for offset voltage. The PI controller 410 can include two scalar calculations, one of the alpha terms and one for the beta terms.
The output of the feedback loop 400 is the current flux linkage Ψαβ, which is compensated so that the center Ψc is equal to (0, 0). With the center Ψc corrected to (0, 0), the current flux linkage Ψαβ=(Ψα, Ψβ) provides the position of the translator 36 relative to the stator 34. Specifically, the angle θe of the current flux linkage Ψαβ maps one-to-one onto the linear position of the translator 36 relative to the stator 34 along the axis X, so the angle θe can be taken as the position of the translator 36 relative to the stator 34. If the electric motor 32 is rotary, the angle θe directly describes the rotational position of the translator 36 around the axis X relative to a fixed reference point on the stator 34. The position θe is given by the equation θe=arctan(Ψβ/Ψα). The controller 42 actuates the electric motor 32 based on the position θe of the translator 36 relative to the stator 34. For example, the controller 42 instructs the three-phase inverter 38 to move the translator 36 to a target position based on the actual position θe of the translator 36. The target position can be, e.g., a fixed position to which the translator 36 returns after absorbing a shock from a road.
The process 500 begins in a block 505, in which the controller 42 collects the flux-linkage measurements Ψαβ,i. To determine the center Ψc of the circle 600, the controller 42 needs at least three flux-linkage measurements Ψαβ,i. By collecting at least four flux-linkage measurements Ψαβ,i, the center Ψc is overdetermined, and the controller 42 can use least-squares estimation to determine the center Ψc.
Next, in a block 510, the controller 42 determines the center Ψc of the circle 600. Specifically, the controller 42 calculates the center Ψc by applying least-squares estimation by applying the equation Ψc=A†B, in which the dagger symbol superscript (†) represents the pseudoinverse of a matrix (also called the Moore-Penrose inverse), and A and B are given by
in which ψα,i is the ith flux-linkage measurement in the alpha dimension in Clarke coordinates, ψβ,i is the ith flux-linkage measurement in the beta dimension in Clarke coordinates, and N is the number of flux-linkage measurements. The pseudoinverse of A is given by A†=(ATA)−1AT, in which T is the transpose operator. The center Ψc can be calculated with the following equation equivalent to A†B:
in which ai1 is the element in the ith row and first column of the matrix A, i.e., ai1=ψα,i−ψα,i+1; ai2 is the element in in the ith row and second column of the matrix A, i.e., ai2=ψβ,i−ψβ,i+1; and bi is the element in the ith row of the matrix B, i.e., bi=½(ψα,i2−ψα,i+12+ψβ,i2−ψβ,i+12). If the controller 42 has already determined the center Ψc at least once, the controller 42 only needs to update the bottom row in each matrix A and B and move the rest of the rows up, i.e., make the ith row into the (i−1)th row. Thus, for each summation term in the above equation, the new summation term can be calculated by starting with the previous summation term result, subtracting the argument for i=1, and adding the argument for i=N; for example, for the summation term Σi=1N-1ai1bi, the new result is the previous result, minus a11b1, plus aN1bN. This iterative updating allows for efficient use of computational resources.
Next, in a block 515, the controller 42 determines the weighting factor KR. The weighting factor KR expresses the quality, e.g., signal-to-noise ratio, of the flux-linkage measurements. For example, the weighting factor KR is inversely related to a condition number κ(.) of a matrix of the flux-linkage measurements Ψαβ,i. The condition number KO of a matrix is the ratio of the maximal singular value of the matrix to the minimal singular value of the matrix, i.e., κ(M)=σmax(M)/σmin(M), in which M is an arbitrary matrix. The condition number ranges from 1 to infinity, with values close to 1 representing that calculations involving the matrix M will magnify noise by a relatively small amount, and large values representing that calculations involving the matrix M will magnify noise by a relatively large amount. Specifically, the weighting factor KR is given by an equation of this form:
in which x is a positive number. In particular, x can equal 2. The weighting factor KR ranges from 0 to 1, with values close to 0 representing a large amount of noise in calculating the center Ψc, and values close to 1 representing a small amount of noise in calculating the center Ψc. After the block 515, the process 500 ends. In running the feedback loop 400, the controller 42 may perform the process 500 several times, e.g., once per time step of the controller 42.
In the block 805, the controller 42 performs the flux-linkage regulation described above with respect to the feedback loop 400 and the process 500. The feedback loop 400 outputs the current flux linkage Ψαβ=(Ψα, Ψβ), from which the controller 42 calculates the position θe of the translator 36 relative to the stator 34 with the equation θe=arctan(Ψβ/Ψα).
In the block 810, the controller 42 actuates the electric motor 32 based on the position θe of the translator 36 relative to the stator 34. Specifically, the controller 42 instructs the three-phase inverter 38 to move the translator 36 to a target position based on the actual position θe of the translator 36. For example, the target position can be a fixed position to which the translator 36 returns after absorbing a shock from a road.
In the block 815, the controller 42 charges the power source 40 with power generated by movement of the electric motor 32, i.e., with movement of the translator 36 relative to the stator 34. The electric motor 32 acts as a generator. In effect, the electric motor 32 provides regenerative shock absorption. For example, if the controller 42 is programmed to operate the electric motor 32 to mimic a conventional oil-based shock absorber, the electric motor 32 will recapture some of the energy that would have been expended heating the oil in the conventional oil-based shock absorber.
Next, in the block 820, the controller 42 waits for the center Ψc of the circle 600 to stabilize to (0, 0), i.e., for the flux linkage Ψαβ to stabilize to the circle 600 centered on (0, 0), as shown in
Next, in the block 825, the controller 42 receives data indicating a position θp of the translator 36 relative to the stator 34 from the position sensor 56.
Next, in the decision block 830, the controller 42 determines whether a difference Δθ between the position θp of the translator 36 from the sensor and the position θe of the translator 36 based on the center Ψc of the circle 600 exceeds a threshold Δθ*, i.e., whether Δθ=|θp−θe|>Δθ*. The threshold Δθ* can be chosen based on a known resolution or noisiness of the position sensor 56. If the difference is greater than the threshold, i.e., Δθ>Δθ*, the process 800 proceeds to the block 835. If the difference is less than the threshold, i.e., Δθ<Δθ*, the process 800 ends or restarts.
In the block 835, the controller 42 provides a warning. For example, the controller 42 can transmit a diagnostic trouble code (DTC) indicating a fault and containing an appropriate code to an on-board diagnostics system of the vehicle 16. After the block 835, the process 800 ends.
The disclosure has been described in an illustrative manner, and it is to be understood that the terminology which has been used is intended to be in the nature of words of description rather than of limitation. The adjectives “first” and “second” are used throughout this document as identifiers and are not intended to signify importance, order, or quantity. Many modifications and variations of the present disclosure are possible in light of the above teachings, and the disclosure may be practiced otherwise than as specifically described.