Patent Description:
Magnetic sensors, e.g. current sensors, proximity sensors, position sensors, etc. are known in the art. They are based on measuring a magnetic field characteristic at one or multiple sensor locations. Depending on the application, the measured field characteristic(s) may be used to deduct another quantity, such as e.g. a current strength, proximity of a so called target, relative position of a sensor device to a magnet, etc..

Many variants of magnetic sensor devices, systems and methods exist, addressing one or more of the following requirements: using a simple or cheap magnetic structure, using a simple or cheap sensor device, being able to measure over a relatively large range, being able to measure with great accuracy, requiring only simple arithmetic, being able to measure at high speed, being highly robust against positioning errors, being highly robust against an external disturbance field, providing redundancy, being able to detect an error, being able to detect and correct an error, having a good signal-to-noise ratio (SNR), etc. Often two or more of these requirements conflict with each other, hence a trade-off needs to be made.

The present invention is related to a class of magnetic sensor systems comprising a permanent magnet which is flexibly or resiliently mounted with respect to a semiconductor substrate, and wherein the position of the magnet is indicative of a 2D or 3D physical quantity, such as a force vector, or a displacement vector, caused by a force exerted upon a surface, or caused by movement of a joystick or a thumbstick or the like.

<CIT> describes a force or pressure sensing device comprising one or more magnets resiliently held spaced from one or more magnetic sensors.

<CIT> describes a circuit and a method for determining an attitude of a magnet and joystick.

<CIT> describes an angular position sensors system comprising a magnet rotatable about a rotation axis, and a sensor device that is mounted off-axis.

<CIT> describes a method for analysing signals from an angle sensor having at least two sensor elements that span a plane, and a rotatable element spaced apart from this plane that varies a field.

The present invention provides a force sensor system according to claim <NUM>.

It is an object of embodiments of the present invention to provide a magnetic sensor system and a method for determining at least two physical quantities related to a position of a permanent magnet, which is movable relative to a semiconductor circuit.

It is an object of embodiments of the present invention to provide such a system and method which is less sensitive to external disturbance field, and/or which is less sensitive to temperature variations, and/or which is less sensitive to demagnetisation of the magnet, and preferably two of these, or all of these.

It is an object of embodiments of the present invention to provide such a system and method using an algorithm which does not require explicit analytical or mathematical formulas or expressions.

It is an object of embodiments of the present invention wherein the magnet is embedded in an elastomer above or on top of a semiconductor circuit.

It is an object of embodiments of the present invention to provide such a magnetic sensor system using only 2D magnetic sensors, or only 3D magnetic sensors, or using a combination of 2D and <NUM> magnetic sensors.

It is an object of embodiments of the present invention to provide such a magnetic sensor system and method wherein the magnetic field is measured in at least four sensor locations or in at least five sensor locations.

It is an object of embodiments of the present invention to provide such a magnetic sensor system and method wherein the magnet is an axially magnetised two-pole magnet.

It is an object of the embodiment of the present invention to provide such a magnetic sensor system and method wherein the physical quantities are calculated by the integrated circuit.

It is an object of embodiments of the present invention to provide such a magnetic sensor system and method wherein time required for determining said at least two physical quantities is at most <NUM>, or at most <NUM>, or at most <NUM>, or at most <NUM>, or at most <NUM>.

It is also an object of embodiments of the present invention to provide a semiconductor device (i.e. a single chip) comprising at least the plurality of sensors for measuring the magnetic field, and optionally also comprising processing circuitry for determining said at least two physical quantities.

It is also an object of embodiments of the present invention to provide a force sensor system.

It is an object of particular embodiments of the present invention to provide a force sensor system capable of measuring two or three force components (i.e. a 2D or 3D force vector) using such a magnetic sensor system.

It is also an object of embodiment of the present invention to provide a robot finger comprising at least one force sensor system, and robot arm comprising at least one robot finger.

It is also an object of embodiments of the present invention to provide a joystick system having two degrees of freedom (e.g. two tilting movements), or having <NUM> degrees of freedom (two tilting movements and a downward movement).

It is also an object of embodiments of the present invention to provide a thumbstick system having two degrees of freedom (e.g. two lateral movements), or having <NUM> degrees of freedom (two lateral movements and a downward movement).

These and other objectives are accomplished by embodiments of the present invention.

According to a first aspect, the present invention provides a force sensor system having the features of claim <NUM>.

The force sensor system comprises: an integrated circuit comprising a semiconductor substrate, the semiconductor substrate comprises a plurality of magnetic sensors configured for measuring at least two (or at least three, or at least four) first magnetic field components (Bxl, Bx2) oriented in a first direction (X), and for measuring at least two (or at least three, or at least four) second magnetic field components (Bzl, Bz2) oriented in a second direction (Y; Z), e.g. perpendicular to the first direction (X); a permanent magnet which is movable relative to the integrated circuit, and configured for generating a magnetic field; a processing circuit (inside the integrated circuit, or outside the integrated circuit) configured for determining at least two physical quantities (e.g. a 2D or 3D force vector, a 2D or 3D displacement vector, a 2D or 3D position of a joystick, a 2D or 3D position of a thumbstick) related to a position of the magnet using a predefined algorithm based on the measured first and second magnetic field components (Bx1, Bx2; Bz1, Bz2), or values derived therefrom, as inputs, and that uses a plurality of at least eight (or at least twelve, or at least eighteen) constants (or coefficients or parameters) which are determined using machine learning.

The "magnetic sensor system" may for example be a force sensor system, or a joystick, or a thumbstick.

The inventors discovered that it is not required to find explicit analytical expressions or a mathematical model with a minimum number of variables to express the relations between the physical quantities and the movements of the magnet, even if the magnet moves in a highly nonlinear manner, e.g. due to a particular mechanical mounting arrangement, e.g. using an elastomer with non-linear stress-strain curves.

It was discovered that it is possible to determine the physical quantities with very good accuracy by performing a predetermined algorithm that uses a number of constants (or parameters) which are determined by machine learning (ML). It was found that this approach allows to determine or approximate the desired physical quantities in a manageable way.

The skilled person, having the benefit of the present disclosure, can easily find a suitable algorithm that meets his needs, by merely applying the teachings of the present invention.

Such a magnetic sensor system may be particular suitable in applications where a small error of the absolute accuracy is not detrimental for the application in which it is used.

According to the invention, the processing circuit is configured for determining said at least two physical quantities using a predefined algorithm that uses at least three or at least four magnetic field differences derived from said at least two first and said at least two second magnetic field components, as inputs, and that uses said plurality of at least eight (or at least twelve, or at least eighteen) constants.

As will be explained further, the magnetic field differences may be calculated as magnetic field gradients, or may be calculated by subtracting a mean or an average magnetic field component oriented in the same direction as the original magnetic field component.

In an embodiment, the integrated circuit comprises a first programmable processor as part of said processing circuit, configured for performing at least a portion of said algorithms.

The processing circuit may be implemented on the same semiconductor die as the one one comprising the magnetic sensors, or may be implemented on a second semiconductor die connected to the first semiconductor die, and also embedded in the same package.

This integrated circuit may comprise an analog processing circuit, or may comprise a digital processing circuit using a programmable DSP (digital signal processor) core with a MAC (multiply-accumulate) instruction.

In this embodiment, the integrated circuit preferably comprises an output configured for providing the at least two or the three physical values, e.g. force values, angular values, etc..

In an embodiment, the magnetic sensor system further comprises a second programmable processor as part of said processing circuit, communicatively connected to the integrated circuit but located outside thereof; and the integrated circuit is configured for providing said at least three first and second magnetic field components (e.g. Bx1, Bx2, Bx3; Bz1, Bz2, Bz3), or values derived therefrom, to said second programmable processor.

In an embodiment the integrated circuit comprises a plastic moulded package, and the elastomer is arranged on top of, and in direct contact with the moulded package. In some embodiments the elastomer does not laterally extend beyond the package (i.e. is only supported by the package). In other embodiments, the elastomer may laterally extend beyond the package, and may for example come into contact with a printed circuit board on which the packaged device is mounted and/or soldered.

In an embodiment, the number of constants (also referred to as "coefficients") is a value in the range from <NUM> to <NUM>, or in the range from <NUM> to <NUM>, or in the range from <NUM> to <NUM>, or in the range from <NUM> to <NUM>.

As a rule of thumb, the larger the number of coefficients, the higher the accuracy for a given measurement range, but the larger the circuitry (if implemented in hardware) or the larger the number of calculations (if implemented in software). The inventors discovered, however, that not only the number of constants has an impact on the computational effort and the accuracy, but also the kind of functions used in the algorithm.

In an embodiment, the semiconductor substrate further comprises a temperature sensor for measuring a temperature of the semiconductor substrate, and the semiconductor substrate is configured for correcting the measured first and second magnetic field components based on the measured temperature.

In an embodiment, the semiconductor substrate further comprises a temperature sensor for measuring a temperature of the semiconductor substrate, and the predefined algorithm takes the measured temperature into account as an additional input.

In an embodiment, the semiconductor substrate further comprises a temperature sensor for measuring a temperature of the semiconductor substrate, and the measured temperature is used in a post-processing step.

For example, in some embodiments, the measured temperature is used to correct the sensitivity of the sensor elements. In some embodiments, the temperature is taken into account as an additional input (for example of a Neural Network). In some embodiments, for example where an elastomer is used, the measured temperature can be used in a post-processing step, e.g. to compensate for temperature dependent material characteristics (e.g. lower or higher stiffness).

In an embodiment, the plurality of sensors are configured for measuring magnetic field components, (e.g. the above mentioned first and second magnetic field components) in only two orthogonal directions. (e.g. said first direction and said second direction).

In an embodiment each of the first direction (e.g. X) and the second direction (e.g. Y) is parallel to the semiconductor substrate.

In this embodiment the sensors are configured for measuring (or measuring only) so called "in-plane" magnetic field components (e.g. Bx and By). This may be implemented using vertical Hall elements, MR elements, horizontal Hall elements + IMC, or combinations of these.

In an embodiment, the first direction (e.g. X) is parallel to the semiconductor substrate, and the second direction(e.g. Z) is perpendicular to the semiconductor substrate.

In this embodiment the sensors are configured for measuring (or measuring only) so called "in-plane" magnetic field components (e.g. Bx or By) and so called "out-of-plane" magnetic field components (e.g. Bz). This may be implemented using a combination of horizontal and vertical Hall elements, or using a combination of MR elements and horizontal Hall elements, or using horizontal Hall elements and Integrated Magnetic Flux Concentrators (IMC).

In an embodiment, the plurality of magnetic sensors are further configured for measuring at least three third magnetic field components oriented in a third direction perpendicular to the first direction and perpendicular to the second direction.

In this embodiment the sensors may be configured for measuring two "in-plane" magnetic field components (e.g. Bx and By) and one "out-of-plane" magnetic field component (e.g. Bz). This may be implemented using a combination of horizontal and vertical Hall elements, or using a combination of MR elements and horizontal Hall elements, or using horizontal Hall elements and IMC.

In an embodiment, the plurality of sensors comprise at least one sensor (preferably at least two, or at least three, or at least four sensors) comprising an integrated magnetic concentrator disk, and three pairs of horizontal Hall elements arranged near a periphery of the disk, the Hall elements being angularly spaced by multiples of <NUM>°.

In an embodiment, the plurality of sensors comprise at least one sensor (preferably at least two, or at least three, or at least four sensors) comprising an integrated magnetic concentrator disk, and four pairs of horizontal Hall elements arranged near a periphery of the disk, angularly spaced by multiples of <NUM>°. An example of such sensors is illustrated in <FIG> and <FIG>.

In an embodiment, the semiconductor substrate comprises a plurality of magnetic sensors located at the crossings of a 2x2 grid, (i.e. at the corners of an imaginary square), or at the crossings of a 3x3 grid, or at the crossings of a 4x4 grid. Preferably the columns and rows of the grid are equidistantly spaced.

In an embodiment, the semiconductor substrate comprises a plurality of magnetic sensors which are arranged in a irregular pattern, e.g. at pseudo-random locations.

In an embodiment, the at least three of the magnetic sensor are located on a virtual circle.

The virtual circle may have a diameter in the range from <NUM> to <NUM>, or in the range from <NUM> to <NUM>, or in the range from <NUM> to <NUM>, e.g. equal to about <NUM>, or equal to about <NUM>, or equal to about <NUM>.

In an embodiment, the semiconductor substrate comprises three magnetic sensors located on said virtual circle, and angularly spaced apart by multiples of <NUM>°.

In an embodiment, the semiconductor substrate comprises four magnetic sensors located on said virtual circle, and angularly spaced apart by multiples of <NUM>°.

In an embodiment, the semiconductor substrate comprises five magnetic sensors located on said virtual circle, and angularly spaced apart by multiples of <NUM>°.

In an embodiment, the semiconductor substrate comprises six magnetic sensors located on said virtual circle, and angularly spaced apart by multiples of <NUM>°.

In an embodiment, the semiconductor substrate further comprises one magnetic sensors located in the centre of said virtual circle.

In an embodiment, the magnet is a two-pole magnet, e.g. a two-pole bar magnet, or a diametrically magnetized ring or disk magnet. The magnetization direction of the magnet may be oriented substantially perpendicular to the semiconductor substrate, or substantially parallel to the semiconductor substrate.

In an embodiment, the magnet is an axially magnetised magnet, e.g. an axially magnetized ring or disk magnet. The magnetization direction of the magnet may be oriented substantially perpendicular to the semiconductor substrate, or substantially parallel to the semiconductor substrate.

In an embodiment, the sensor system comprises only one magnet.

In an embodiment, the sensor system comprises three magnets, arranged on a virtual circle above the semiconductor substrate, and angularly spaced <NUM>° apart.

In an embodiment, the sensor system comprises four magnets, arranged on a virtual circle above the semiconductor substrate, and angularly spaced <NUM>° apart.

In an embodiment, the sensor system comprises six magnets, arranged on a virtual circle above the semiconductor substrate, and angularly spaced <NUM>° apart.

In an embodiment, the magnet is, or the magnets are (a) two-pole disk magnet(s), each having an outer diameter or a largest diagonal smaller than a diameter of the above-mentioned virtual circle on which at least three of the magnetic sensors are located.

In an embodiment, the magnet is, or the magnets are (a) two-pole disk magnet(s) having an outer diameter or a largest diagonal substantially equal to (within ±<NUM>%) a diameter of the above-mentioned virtual circle on which at least three of the magnetic sensors are located.

In an embodiment, the magnet is, or the magnets are (a) two-pole disk magnet(s) having an outer diameter or a largest diagonal larger than a diameter of the above-mentioned virtual circle on which at least three of the magnetic sensors are located.

In an embodiment, the magnet has a central axis which intersects the semiconductor substrate at a central position of the magnetic sensors ("on-axis arrangement").

In an embodiment, the magnet has a central axis which intersects the semiconductor substrate at a position which is offset from a central position of the magnetic sensors ("off-axis arrangement"). In case the sensors are arranged on an NxN grid, the offset may be half the distance between two adjacent grid lines.

In an embodiment, the magnet is an axially magnetized two-pole ring or disk magnet.

It is an advantage of using such a magnet because the magnetic field generated by such a magnet is rotation-invariant, meaning it is independent of rotation of the magnet about its axis. Hence, this magnetic sensor system is less sensitive to a torque about an axis perpendicular to the semiconductor substrate.

In an embodiment, the predefined algorithm is configured for deriving at least two (or at least three, or at least four) first difference values from said at least two (or at least three, or at least four) first magnetic field components, and for deriving at least two (or at least three, or at least four) second difference values from said at least two (or at least three, or at least four) second magnetic field components; and for calculating said at least two (or three, or four) physical values (e.g. force components, or angles, or displacements) based on said at least two (or at least three, or four) first and said at least two (or at least three, or four) second difference values.

It is explicitly pointed out that this part of the algorithm may be implemented inside the integrated circuit containing the magnetic sensors, or outside the integrated circuit containing the magnetic sensors (e.g. in an Electronic Control Unit connected to the sensor device), or partially inside the sensor device (e.g. for some of the difference values), and partially outside the sensor device (e.g. for some other difference values).

It is a major advantage of using difference values that the result is highly insensitive to an external disturbance field. As far as is known to the inventors, no strayfield-immune force sensor exists in the prior art.

In an embodiment, the predefined algorithm further takes into account at least one first magnetic field component, or at least one second magnetic field component. While this embodiment in theory is not <NUM>% strayfield immune, it may still have a relatively large strayfield rejection.

In an embodiment, each of the at least three first difference values is determined as a pairwise difference between two first magnetic field components, and wherein each of the at least three second difference values is determined as a pairwise difference between two second magnetic field components; or
This may be referred to as "magnetic field gradients", and may e.g. be written in mathematical terms as: dx1=Bx1-Bx2; dx2=Bx1-Bx3, dx3=Bx2-Bx3, and dz1=Bz1-Bz2; dz2=Bz1-Bz3, dz3=Bz2-Bz3.

In an embodiment, each of the at least three first difference values is determined as a difference between a first magnetic field component and a first common value, and wherein each of the at least three second difference values is determined as a difference between a second magnetic field component and a second common value.

The first common value may be a first magnetic field component measured at a fourth sensor location (preferably a central sensor location), or may be an average of the at least three first magnetic field components. This may be referred to as "mean removal" and may be written in mathematical terms e.g. as follows (assuming the semiconductor substrate has only three 2D sensors, each measuring Bx and Bz): Bx_avg=(Bx1+Bx2+Bx3), Bz_avg=(Bz1+Bz2+Bz3); dx1=Bx1-Bx_avg, dx2=Bx2-Bx_avg, dx3=Bx3-Bx_avg, dz1=Bz1-Bz_avg, dz2=Bz2-Bz_avg, dz3=Bz3-Bz_avg.

In an embodiment, the predefined algorithm is configured for calculating each of the physical values as a sum of at least twelve terms, wherein each of these at least twelve term are a function of one or more of said differences.

In an embodiment, each of the sums comprises a constant value, which is determined by machine learning.

Machine Learning is typically applied on a batch-basis, not on an individual product basis.

In an embodiment, the predefined algorithm is configured for calculating each of the physical values as a sum of at least twelve terms; at least two terms contain a linear expression of only one of said differences; and at least two terms contain a non-linear expression of one or more of said differences.

Thus at least two of the terms are a scaled version of only one of said differences, for example: (K1*dx1) or (K2*dx1+K3), wherein the constants K1, K2, K3 are determined by machine learning.

In an embodiment each of the terms is a constant or an algebraic function of one or more of said differences.

"Algebraic functions" is a class of functions that comprises: "polynomial functions" (e.g. a constant, a linear function, a quadratic function, a third power function), and "rational functions" (i.e. a ratio of two polynomial functions). Algebraic functions also include "piecewise functions", such as absolute value functions, floor functions, ceiling functions, sign function. Algebraic functions do not include so called "transcendental functions", which is a group of functions where the independent variable appears as an exponent, an index of root, logarithmic or trigonometric ratio.

In other words, in this embodiment, none of the terms is or contains an exponential function, or a logarithmic function, or a trigonometric function (e.g. sine, cosine, tangent, cosecant, secant, cotangent), or an inverse trigonometric function (e.g. arctangent).

It is an advantage of using "only" algebraic functions, and excluding transcendent functions, because algebraic functions are less expensive in terms of processing power or processing time, and may be implemented in an embedded processor.

In an embodiment, at least two terms or each sum are or contain a quadratic expression or a second order polynomial of only one of said differences.

For example: K1*sqr(dx1), or K2*sqr(dx1-K3), or K4+(K5*dx1)+K6*(dx1)<NUM>, where K1 to K6 are constants.

In an embodiment, some of the terms are a third order or a fourth order polynomial expression.

In preferred embodiments, none of the terms is a polynomial expression larger than four. It is an advantage of using a polynomial order of at most four, or at most three, or at most two, because this requires less processing time and less processing power.

In an embodiment, each sum contains at least one term being a product of two differences (e.g. K7*dx1*dz1).

It was discovered that using products of difference signals can be really helpful to improve the accuracy of the result. While the inventors do not wish to be bound by any theory, it seems that certain products of differences have a good correlation with physical movement of the magnet, even though the correlation is not immediately apparent for human observers.

In an embodiment, each sum contains at least one term being a division of two differences (e.g. K8*dx1/dz1).

It is an advantage of using a ratio of two magnetic field values (e.g. differences) because such a ratio is highly robust against temperature variations, and demagnetization effects.

In an embodiment, the predefined algorithm is performed by a trained neural network using the at least three first magnetic field components (e.g. Bx1, Bx2, Bx3) and the at least three second magnetic field components (e.g. Bz1, Bz2, Bz3) as input signals, and providing the at least two (or at least three) physical values as output values.

The predefined algorithm may comprise a neural network having a plurality of layers, wherein each layer comprises a plurality of nodes.

In an embodiment, the neural network contains only one layers, having <NUM> to <NUM> nodes.

In an embodiment, the neural network contains only two layers, each having <NUM> to <NUM> nodes, or having <NUM> to <NUM> nodes.

In an embodiment, the neural network contains only three layers, each having <NUM> to <NUM> nodes, or each having <NUM> to <NUM> nodes.

In an embodiment, the neural network is a Recurrent Neural Network (RNN).

In an embodiment, the neural network is an Artificial Neural Network (ANN).

In an embodiment, the neural network is a Convolution Neural Network (CNN).

In an embodiment, the predefined algorithm further comprises a post-processing step; and the post-processing step is configured for adjusting the determined physical quantities (e.g. determined with the proprietary algorithm described above, or determined with a Neural Network) by adding or subtracting an offset value which is determined by an individual calibration test.

With "individual calibration test" is meant that this test is performed for each magnetic sensor system individually, as opposed to the Machine Learning, which is not performed on an individual basis, but is typically performed on a per-batch-basis.

This "individual calibration test" is preferably performed as an EOL test (end of line test), or it may be performed by an OEM customer.

In case of a force sensor system or a force sensor device or a joystick or the like, this calibration test may include: (i) performing a force measurement using the predefined algorithm using the plurality of constants or parameters determined by machine learning (which are typically determined on a batch basis), while applying a zero force, resulting in two or three force values or position values which are typically slightly offset from zero; and (ii) storing these values in a non-volatile memory of the system, e.g. a non-volatile memory of the integrated circuit.

During normal use of the sensor device, first the predefined algorithm is used to provide two or more measurement values based on the parameters determined by machine learning, and then a correction is applied by subtracting the values measured during the calibration step explained above.

It is a major advantage of this embodiment that it combines the best of both worlds, namely: a very good approximation of the physical values to be measured using the predefined algorithm with a plurality of constants determined by machine learning on a batch-basis, but subsequently corrected such that a "zero force" or a "neutral position" of a joystick or the like is offset-corrected for each individual product.

The magnet is flexibly mounted relative to the integrated circuit by means of a flexible material.

The flexible material may be a single layer consisting of an isotropic material, without any voids or hollow regions. This material and the magnet may be shaped and sized such that the magnet can move in three directions X, Y, Z, but will not significantly rotate about its center (e.g. will rotate less than ±<NUM>°, or less than ±<NUM>° over the measurement range of the force sensor system.

In an embodiment, the flexible material is a polymer.

In an embodiment, the flexible material is an elastomer.

The elastomer may be arranged above or on top of the integrated circuit. In preferred embodiments, the elastomer may directly contact a package of the integrated circuit.

In an embodiment, the elastomer is or comprises silicone, e.g. silicone rubber, e.g. natural rubber.

In an embodiment, the flexible material has a non-linear stress-strain characteristic; and a linear regression coefficient of a portion of the non-linear stress-strain characteristic corresponding to the measurement range of the magnetic sensor system is less than <NUM>, or less than <NUM>, or less than <NUM>, or less than <NUM>, or less than <NUM>.

In other words, in these embodiments, a curve showing the strain as a function of stress of this material is a highly non-linear function.

In an embodiment, the predefined algorithm further comprises a post-processing step wherein a temperature of the flexible material is measured or estimated, and wherein the determined physical quantities are corrected to reduce temperature dependent material characteristics.

The correction may use a predefined correction function for each of the determined physical quantities individually.

The compensation function may for example be a temperature dependent scaling. The function f(. ) may be stored in the form of a look-up table, or as piece-wise-linear approximation, or as an analytical function, e.g. as a polynomial expression.

The temperature sensor may be integrated inside the integrated circuit, and the temperature of this temperature sensor may be used as an estimate of the elastomer.

In an embodiment, the predefined algorithm further comprises a post-processing step, or if already present, the post-processing step further comprises: an offset correction for each of the output values, by subtracting a predefined value which was stored in non-volatile memory during a calibration procedure.

The present invention also provides a force sensor system, comprising a magnetic sensor system according to the first aspect, wherein the at least two or three physical quantities to be determined are two or three force components (Fx, Fy, Fz) of a mechanical force exerted upon a contact surface of said flexible material.

This magnetic sensor system can be referred to as a "force sensor system", and the integrated circuit may be referred to as a "force sensor device".

The force components Fx and Fy are typically referred to as shear forces or lateral forces. The force component Fz is typically referred to as downward pressure.

In an embodiment, the flexible material is located above or on top of the integrated circuit, e.g. as a layer deposited on the packaged, and the magnet is at least partially or completely embedded inside said flexible material.

The plurality of constants (or parameters or coefficients) may be determined by applying a series of tests in which a plurality of known forces are applied having only an Fx-component, followed by another series of tests in which a plurality of known forces are applied having only an Fy-component, followed by another series of tests in which a plurality of known forces are applied having only an Fz-component. In each series of tests, the respective component values assume a value within a respective predefined measurement range.

Alternatively, the plurality of constants (or parameters or coefficients) may be determined by applying a series of tests in which a three-dimensional force is applied, having an Fx, Fy, Fz component in their respective measurement range.

In an embodiment, the plurality of constants are determined by applying a series of known forces, wherein each of the Fx, Fy and Fz values "sweep" through their respective measurement range, for example in <NUM> steps each, i.e. <NUM>*<NUM>*<NUM>=<NUM> different combinations; or in <NUM> steps each, i.e. <NUM>*<NUM>*<NUM>=<NUM> different combinations; or in <NUM> steps each, i.e. <NUM> combinations; or in <NUM> steps each, i.e. <NUM> combinations; or in <NUM> steps each, i.e. <NUM> combinations; or in <NUM> steps each, i.e. <NUM> different combinations.

In an embodiment, no external disturbance field is applied during these steps. No need to say that is is a huge advantage that the influence of an external disturbance field is substantially eliminated by design (by taking into account gradients, or mean-corrected values).

In another embodiment, an external disturbance field is applied during these steps. The external disturbance field may assume pseudo-random values for each step.

The present invention also provides a robot finger comprising at least one force sensor system.

The present invention also provides a robot hand comprising at least two robot fingers.

The present invention also provides a joystick system or joystick assembly for determining a 2D or 3D position of a joystick, the joystick system or joystick assembly comprising: a magnetic sensor system according to the first aspect; and a joystick which is movable relative to the integrated circuit with at least two degrees of freedom; wherein the magnet is fixedly connected to the joystick.

The joystick system may determine for example two angular values for indicating the position of the joystick, e.g. as illustrated in <FIG>. The joystick may be rotatable about a pivot point. The pivot point may be located above the magnet. In other words, the magnet may be located between the pivot point and the semiconductor substrate.

The joystick may be used in consumer electronics applications (e.g. for gaming), or for agricultural vehicles.

An exemplary embodiment of a joystick comprises a bearing, by means of which a control lever is mounted so as to move with at least two degrees of freedom with respect to a housing. The control lever has a portion movable by a user and an inner portion, which are opposite one another on different sides of the bearing in a longitudinal direction. A magnet is arranged on the control lever. The semiconductor substrate with the plurality of magnetic sensors is arranged at a fixed location with respect to the housing.

The present invention also provides a thumbstick system or thumbstick assembly for determining a 2D or 3D position of a thumbstick, the thumbstick system or assembly comprising: a magnetic sensor system according to the first aspect; and a thumbstick which is movable relative to the integrated circuit with two or three degrees of freedom; wherein the magnet is fixedly connected to the thumbstick.

The thumbstick system may determine for example two lateral displacement values, for indicating the position of the joystick, and optionally also give an indication of whether the drumstick is pressed (or pushed down).

According to another aspect, the present invention also provides a method of measuring at least two physical quantities (e.g. a 2D or 3D force vector, a 2D or 3D displacement vector, a 2D or 3D position of a joystick, a 2D or 3D position of a thumbstick) related to a position of a permanent magnet which is movable relative to the integrated circuit, and configured for generating a magnetic field, the method comprising the steps of: a) measuring at least two (or at least three) first magnetic field components (e.g. Bx1, Bx2; Bx1, Bx2, Bx3) oriented in a first direction (e.g. X); b) measuring at least two (or at least three) second magnetic field components (e.g. Bz1, Bz2; Bz1, Bz2, Bz3) oriented in a second direction (e.g. Y or Z) perpendicular to the first direction (e.g. X); c) determining said at least two physical quantities using a predefined algorithm that uses the measured first and second magnetic field components (e.g. Bx1, Bx2, Bx3; Bz1, Bz2, Bz3) as inputs, and that uses a plurality of at least eight (or at least twelve, or at least sixteen) constants (or coefficients or parameters) which are determined using machine learning.

In embodiments, the method has one or more of the features described above.

According to another aspect, the present invention also provides an integrated semiconductor device comprising a plurality of sensors having a topology as illustrated in any of the <FIG>, or variations thereof as described in the detailed description, and having the blocks <NUM> (sensitivity correction); and one or both of the blocks <NUM> (mean removal) and <NUM> (gradient calculation) illustrated in <FIG> and <FIG>, and configured for outputting the values provided by the block <NUM> or <NUM> via an output interface, e.g. a serial bus using for example I2C or SPI or SENT protocol.

According to another aspect, the present invention also provides a force sensor device or system comprising: an integrated circuit comprising a semiconductor substrate, the semiconductor substrate comprises a plurality of magnetic sensors configured for measuring at least two (or at least three, or at least four) first magnetic field components (Bxl, Bx2) oriented in a first direction (X), and for measuring at least two (or at least three, or at least four) second magnetic field components (Bzl, Bz2) oriented in a second direction (Y; Z), e.g. perpendicular to the first direction (X); a permanent magnet which is movable relative to the integrated circuit, and configured for generating a magnetic field; a processing circuit (inside the integrated circuit, or outside the integrated circuit) configured for determining at least two magnetic field gradients (e.g. dBx/dx, dBz/dx) derived from said magnetic field components, and for determining one or two or three force components (e.g. Fx, Fy, Fz) based on said at least two magnetic field gradients.

The terms top, under and the like in the description and the claims are used for descriptive purposes and not necessarily for describing relative positions.

In this document, unless explicitly mentioned otherwise, the term "magnetic sensor device" or "sensor device" refers to a device comprising at least two magnetic sensor elements, preferably integrated in a semiconductor substrate. The sensor device may be comprised in a package, also called "chip", although that is not absolutely required.

In this document, the term "sensor element" or "magnetic sensor element" refers to a single vertical Hall element or a single horizontal Hall element or a single magneto-resistive element (e.g. a GMR element or an XMR element).

In this document, the term "magnetic sensor" or "magnetic sensor structure" can refer to a group of components or a sub-circuit or a structure capable of measuring a magnetic quantity, such as for example a group of at least two magnetic sensor elements, or a Wheatstone-bridge containing four MR elements.

In certain embodiments of the present invention, the term "magnetic sensor" or "magnetic sensor structure" may refer to an arrangement comprising one or more integrated magnetic concentrators (IMC), also known as integrated flux concentrators, and two or four or eight horizontal Hall elements arranged near the periphery of the IMC.

In this document, the expression "in-plane component of a magnetic field vector" and "orthogonal projection of the magnetic field vector in the sensor plane" mean the same. If the sensor device is or comprises a semiconductor substrate, this also means "magnetic field components parallel to the semiconductor substrate".

In this document, the expression "out-of-plane component of a vector" and "Z component of the vector" and " orthogonal projection of the vector on an axis perpendicular to the sensor plane" mean the same.

Embodiments of the present invention are typically described using an orthogonal coordinate system which is fixed to the sensor device, and having three axes X, Y, Z, where the X and Y axis are parallel to the substrate, and the Z-axis is perpendicular to the substrate.

In this document, the expression "spatial derivative" or "derivative" or "spatial gradient" or "gradient" are used as synonyms. In the context of the present invention, a gradient is typically determined as a difference between two values measured at two different locations which may be spaced apart by a distance in the range from <NUM> to <NUM>. In theory the gradient is calculated as the difference between two values divided by the distance "dx" between the sensor locations, but in practice the division by "dx" is often omitted, because the measured signals need to be scaled anyway.

In this document, horizontal Hall plates are typically referred to by H1, H2, etc., signals from these horizontal Hall plates are typically referred to by h1, h2, etc.; vertical Hall plates are typically referred to by V1, V2, etc.; and signals from these vertical Hall plates are typically referred to by v1, v2, etc..

In this document, the terms "plurality of coefficients", or "plurality of parameters", or "plurality of constants", when referring to machine learning or deep learning, mean the same, irrespective of whether these values are used as coefficients in a matrix, or as offset-values or as scaling factors.

The present invention relates in general to the field of magnetic sensor devices, systems and methods, and more in particular to magnetic sensor devices, systems and methods in which a position of a magnet relative to a semiconductor substrate is indicative for at least two physical quantities, such as e.g. force components, or tilting angles of a joystick, or a lateral position of a thumbstick, etc..

In a variant (not shown) of <FIG>, the sensor located at the centre is a 3D magnetic pixel instead of a 2D magnetic pixel, (e.g. as in <FIG> and <FIG>) and is configured for measuring three orthogonal magnetic field components Bx4, By4, Bz4 at the fourth sensor location.

<FIG> is a schematic block diagram of a sensor circuit as can be used in embodiments of the present invention. This sensor circuit comprises four 1D magnetic pixels, three of which are located on a virtual circle, one of which is located in the centre of the virtual circle. In the example shown, each sensor is a horizontal Hall element. This sensor circuit can measure four magnetic field component of the magnetic field generated by the magnet, which may be referred to herein as (Bz1) at the first sensor location, (Bz2) at the second sensor location, (Bz3) at the third sensor location, and (Bz4) at the fourth sensor location. When this sensor circuit is used in the magnetic sensor system of <FIG> or a variant thereof, the magnet is preferably substantially located above the centre of the virtual circle.

The inventors came to the surprising insight that, at least in theory, these four sensor signals should be sufficient to uniquely determine a 3D position of the magnet relative to the semiconductor substrate, or physical quantities related to said position, even in the presence of magnetic disturbance field, since only Bz_ext is unknown (Bx_ext and By_ext are irrelevant in this case).

In a variant (not shown) of <FIG>, the sensor circuit contains five horizontal Hall elements, four of which are located on the virtual circle, angularly spaced by multiples of <NUM>°, and one of which is located in the centre of the virtual circle. This sensor circuit is capable of measuring Bz1 to Bz5.

In a variant (not shown) of <FIG>, the sensor circuit contains four vertical Hall elements, each having an axis of maximum sensitivity oriented in a single direction parallel to the semiconductor substrate, for example the X-direction. This sensor circuit is capable of measuring Bx1 to Bx4. In a further variant, the sensor circuit contains a fifth vertical Hall element situated in the centre of the virtual circle.

In a variant (not shown) of <FIG>, the sensor circuit contains four magneto-resistive (MR) elements, each having an axis of maximum sensitivity oriented in a single direction parallel to the semiconductor substrate, for example the X-direction. This sensor circuit is capable of measuring Bx1 to Bx4. In a further variant, the sensor circuit contains a fifth MR element situated in the centre of the virtual circle.

In a variant (not shown) of <FIG>, the sensor circuit contains an array of horizontal Hall elements (without IMC), each configured for measuring Bz in a direction perpendicular to the semiconductor substrate, e.g. located on an NxM grid, where N and M are integer values in the range from <NUM> to <NUM>, e.g. a 2x4 grid, a 3x3 grid, a 3x4 grid, a 3x5 grid, a 4x4 grid, etc. The grid lines may be perpendicular, but that is not absolutely required. The distance between parallel grid lines may be constant, but also that is not absolutely required. Not all locations of the array need to be occupied by a Hall element.

In another variant (not shown) of <FIG>, the sensor circuit contains a plurality of at least four magnetic sensors, only horizontal Hall elements (without IMC), located at random or pseudo-random locations, e.g. not located on a circle or a square or a grid, and/or not equidistantly spaced from one another, each configured for measuring Bz in a direction perpendicular to the semiconductor substrate.

<FIG> is a schematic block diagram of a sensor circuit as can be used in embodiments of the present invention. This sensor circuit comprises four 2D magnetic pixels, located on a virtual circle, angularly spaced by multiples of <NUM>°. This sensor circuit can measure eight magnetic field components of the magnetic field generated by the magnet, which may be referred to herein as (Bxl, Bz1) at the first sensor location, (Bx2, Bz2) at the second sensor location, (Bx3, Bz3) at the third sensor location, and (Bx4, Bz4) at the fourth sensor location. When this sensor circuit is used in the magnetic sensor system of <FIG> or a variant thereof, the magnet is preferably substantially located above the centre of the virtual circle.

<FIG> shows a variant of <FIG> where all the 2D pixels are rotated by <NUM>°.

<FIG> is a schematic block diagram of a sensor circuit as can be used in embodiments of the present invention. This sensor circuit comprises five 2D magnetic pixels, four of which are located on a virtual circle, angularly spaced by multiples of <NUM>°, one of which is located in the centre of the virtual circle. The sensor circuit of <FIG> can be regarded as a variant of the sensor circuit of <FIG> with an additional 2D magnetic pixel locators at the centre. This sensor circuit can measure ten magnetic field components of the magnetic field generated by the magnet, which may be referred to herein as (Bxl, Bz1) at the first sensor location, (Bx2, Bz2) at the second sensor location, (Bx3, Bz3) at the third sensor location, (Bx4, Bz4) at the fourth sensor location, and (Bx5, Bz5) at the fifth sensor location. When this sensor circuit is used in the magnetic sensor system of <FIG> or a variant thereof, the magnet is preferably substantially located above the centre of the virtual circle.

In a variant (not shown) of <FIG>, the sensor S5 located at the centre is a 3D magnetic pixel instead of a 2D magnetic pixel, (e.g. as in <FIG> and <FIG>) and is configured for measuring three orthogonal magnetic field components Bx5, By5, Bz5 at the fifth sensor location.

<FIG> is a schematic block diagram of a sensor circuit as can be used in embodiments of the present invention. This sensor circuit comprises an array of 3x3=<NUM> (nine) 2D magnetic pixels, located on a grid having three rows and three columns. This sensor circuit can measure nine sets of two magnetic field components (Bx, Bz) each, thus 2x9=<NUM> (eighteen) magnetic field components in total. The X-direction is parallel to the direction of the rows, and orthogonal to the direction of the columns. When this sensor circuit is used in the magnetic sensor system of <FIG> or a variant thereof, the magnet is preferably substantially located above the central sensor location (in its default position).

<FIG> is a schematic block diagram of a sensor circuit as can be used in embodiments of the present invention. This sensor circuit comprises an array of 3x3=<NUM> (nine) 2D magnetic pixels, located on a grid having three rows and three columns. This sensor circuit can measure nine sets of two magnetic field components (Bu, Bz) each, thus 2x9=<NUM> (eighteen) magnetic field components in total. If the X direction is chosen parallel to the direction of the rows, and the Y-direction is chosen parallel to the direction of the columns, the U-direction form an angle of <NUM>° with the X-direction. The sensor circuit of <FIG> can be regarded as a variant of the sensor circuit of <FIG> where each of the sensors is rotated by <NUM>° about the Z-axis. When this sensor circuit is used in the magnetic sensor system of <FIG> or a variant thereof, the magnet (when in its default position) is preferably substantially located above the central sensor location.

<FIG> is a schematic block diagram of a sensor circuit as can be used in embodiments of the present invention. This sensor circuit comprises eight 2D magnetic pixels, located on a grid having three rows and three columns. This sensor circuit can be considered a variant of the sensor circuit of <FIG> where the central sensor is omitted, and where the two Hall elements of each sensor are located on a virtual line passing through the central position.

In a variant (not shown) of <FIG>, the sensor circuit further comprises a 3D magnetic pixel with only four horizontal Hall elements located on virtual lines parallel to the direction of the rows and columns, as depicted in <FIG>.

In a variant (not shown) of <FIG>, the sensor circuit further comprises a 3D magnetic pixel with only four horizontal Hall elements located on virtual lines forming angles of <NUM>° with respect to the direction of the rows and columns, as depicted in <FIG>.

In a variant (not shown) of <FIG>, the sensor circuit further comprises a 3D magnetic pixel with eight horizontal Hall elements spaced apart by multiples of <NUM>°, two of which are located on a row, and two of which are located on a column, as depicted in <FIG>.

<FIG> is a schematic block diagram of a sensor circuit as can be used in embodiments of the present invention. This sensor circuit comprises four 2D magnetic pixels located on a virtual circle. The two Hall elements of each sensor are located on a radially oriented segment. This sensor structure is capable of measuring (Bxl, Bz1) at a first sensor location, measuring (Bx2, Bz2) at a second sensor location, measuring (By3, Bz3) at a third sensor location, and measuring (By4, Bz4) at a fourth sensor location, thus eight magnetic field components in total.

<FIG> is a schematic block diagram of a sensor circuit as can be used in embodiments of the present invention. This sensor circuit can be seen as a variant of the sensor circuit of <FIG>, further comprising 3D magnetic pixel at the centre of the virtual circle. This sensor circuit is capable of measuring (<NUM>×<NUM>)+(<NUM>×<NUM>)=<NUM>+<NUM>=<NUM> magnetic field components.

<FIG> is a schematic block diagram of a sensor circuit as can be used in embodiments of the present invention. This sensor circuit comprises four 3D magnetic pixels located on a virtual circle, spaced apart by multiples of <NUM>°. In this example, each sensor comprises an IMC disk with four horizontal Hall elements, two of which are located on a virtual line parallel to the X direction, and two of which are located on a virtual line parallel to the Y direction. This sensor circuit is capable of measuring two in-plane field components (Bx, By) at the four sensor locations, and of measuring an out of plane field component Bz at the four sensor locations, thus sixteen magnetic field components in total. Or stated in other words, this sensor circuit is capable of measuring four magnetic field components tangential to the virtual circle, and for magnetic field components radially oriented with respect to the virtual circle, and four axially oriented magnetic field components.

<FIG> is a schematic block diagram of a sensor circuit as can be used in embodiments of the present invention. This sensor circuit can be seen as a variant of the sensor circuit of <FIG> wherein each sensor is rotated by <NUM>° with respect to the Z- axis perpendicular to the semiconductor substrate.

<FIG> is a schematic block diagram of a sensor circuit as can be used in embodiments of the present invention. This sensor circuit can be seen as a variant of the sensor circuit of <FIG>, further comprising 3D magnetic pixel located at the centre of the virtual circle. This sensor circuit is capable of measuring (5x3)= <NUM> magnetic field components.

<FIG> is a schematic block diagram of a sensor circuit as can be used in embodiments of the present invention. This sensor circuit comprises an array of 3x3=<NUM> (nine) 3D magnetic pixels, located on a grid having three rows and three columns. This sensor circuit can measure nine sets of three orthogonal magnetic field components (Bx, By, Bz) each, thus 3x9=<NUM> magnetic field components in total. This sensor circuit can be seen as a variant of the sensor circuit of <FIG>, wherein each 2D magnetic pixel is replaced by a 3D magnetic pixel.

In a variant (not shown) of <FIG>, each sensor is rotated by <NUM>° about the Z-axis perpendicular to the semiconductor substrate. This sensor is capable of measuring nine sets of three orthogonal magnetic field components (Bu, Bv, Bz), nine components oriented in the U-direction, nine components oriented in the V-direction, and nine components oriented in the Z-direction.

<FIG> is a schematic block diagram of a sensor circuit as can be used in embodiments of the present invention. This sensor circuit can be seen as a variant of the sensor circuit of <FIG> wherein each sensor comprises a horizontal Hall element (without IMC) configured for measuring an out-of-plane magnetic field component Bz, and comprises a (or at least one) vertical Hall element having an axis of maximum sensitivity oriented in a radial direction.

In a variant (not shown) of <FIG>, each sensor has two vertical Hall elements, oriented in the same direction, but spaced apart radially, for example one vertical Hall on either side of the horizontal Hall element, one at a larger imaginary circle, one at a smaller imaginary circle. The signals from the two corresponding vertical Hall elements may be added or averaged.

<FIG> is a schematic block diagram of a sensor circuit as can be used in embodiments of the present invention. This sensor circuit can be seen as a variant of the sensor circuit of <FIG> wherein each sensor comprises a horizontal Hall element (without IMC) configured for measuring an out-of-plane magnetic field component Bz, and comprises a (or at least one) vertical Hall element having an axis of maximum sensitivity oriented in the X-direction.

In a variant (not shown) of <FIG>, the sensor circuit further comprises a fifth sensor located in the center of the virtual circle, also having a horizontal Hall element without IMC for measuring a Bz-component and at least one vertical Hall element for measuring a Bx component at the center of the virtual circle.

<FIG> is a schematic block diagram of a sensor circuit as can be used in embodiments of the present invention. This sensor circuit can be seen as a variant of the sensor circuit of <FIG> wherein each sensor comprises a horizontal Hall element (without IMC) configured for measuring an out-of-plane magnetic field component Bz, and comprises two vertical Hall element having an axis of maximum sensitivity oriented in the X-direction and located on opposite sides of the horizontal Hall element, and comprises two vertical Hall element having an axis of maximum sensitivity oriented in the Y-direction and located on opposite sides of the horizontal Hall element. In other words, the horizontal Hall element is surrounded by four vertical Hall elements located on the sides of a square. Each of these sensors forms a 3D magnetic pixel capable of measuring three orthogonal magnetic field components (Bx, By, Bz).

In a variant (not shown) of <FIG>, the sensor circuit further comprises a fifth 3D magnetic pixel located in the center of the virtual circle. This sensor circuit is capable of measuring five sets of three orthogonal magnetic field components (Bx, By, Bz), hence 5x3=<NUM> magnetic field components in total.

<FIG> is a schematic block diagram of a sensor circuit as can be used in embodiments of the present invention. This sensor circuit can be seen as a variant of the sensor circuit of <FIG> wherein each sensor is rotated by <NUM>° about the Z-axis perpendicular to the semiconductor substrate. This sensor circuit comprises four 3D magnetic pixels, each capable of measuring an out-of-plane magnetic field component Bz oriented in the Z-direction perpendicular to the semiconductor substrate, and furthermore each capable of measuring two in-plane magnetic field components (Bu, Bv) oriented in the U- and V-direction.

In a variant (not shown) of <FIG>, the sensor circuit further comprises a fifth 3D magnetic pixel located in the center of the virtual circle. This sensor circuit is capable of measuring five sets of three orthogonal magnetic field components (Bu, Bv, Bz), hence 5x3=<NUM> magnetic field components in total.

<FIG> is a schematic block diagram of a sensor circuit as can be used in embodiments of the present invention. This sensor circuit can be seen as a variant of the sensor circuit of <FIG> or <FIG>, comprising four sensors, each comprising an integrated magnetic concentrator disk IMC and eight horizontal Hall elements located near the periphery of the IMC disk, and angularly spaced by multiples of <NUM>°. Each of these sensors is capable of measuring four in-plane magnetic field components Bx,By,Bu,Bv and one out-of-plane magnetic field component Bz. This sensor circuit is capable of measuring 4x5=<NUM> magnetic field components.

<FIG> is a schematic block diagram of a sensor circuit as can be used in embodiments of the present invention. This sensor circuit can be seen as a variant of the sensor circuit of <FIG>, further comprises a fifth 3D magnetic pixel located in the center of the virtual circle. This sensor circuit is capable of measuring five sets of five magnetic field components (Bx,By,Bu,Bv,Bz), hence 5x5=<NUM> magnetic field components in total.

In all the embodiments described above (<FIG>) in which one or more integrated magnetic concentrator(s), IMC is/are used, the IMC preferably has a disk shape with a height of approximately <NUM> to <NUM>, and a diameter of approximately <NUM> to <NUM>.

In all the embodiments described above in which magnetic sensors (also referred to herein as 2D magnetic pixels or 3D magnetic pixels) are located on the virtual circle, the diameter of this virtual circle is preferably <NUM> to <NUM>, e.g. equal to about about <NUM>, or equal to about <NUM>, or equal to about <NUM>. In embodiments wherein sensors are located on a 3x3 grid, the distance between the gridlines is preferably in the order of about <NUM> to about <NUM>, or from about <NUM> to about <NUM>.

Horizontal Hall plates typically have a square shape with an area from <NUM> x <NUM> to <NUM> x <NUM>, for example equal to about <NUM> x <NUM>.

<FIG> shows a schematic block-diagram of a magnetic sensor system <NUM> proposed by the present invention, that can be used to measure one or two or three physical quantities related to a position of the permanent magnet, such as for example three orthogonal components of a force vector applied to the sensor system. The system may be further subject to an external disturbance field (also called strayfield), and to varying temperatures.

The sensor system <NUM> comprises one or more semiconductor substrates comprising a plurality of magnetic sensors <NUM>. The one or more semiconductor substrate are preferably incorporated in a semiconductor package (also known as sensor chip), see e.g. <FIG>. In preferred embodiments, the plurality of magnetic sensors are incorporated in a single semiconductor substrate smaller than <NUM> x <NUM>, preferably smaller than <NUM> x <NUM>.

The sensor system further comprises a permanent magnet which is flexibly or resiliently mounted with respect to the semiconductor substrate(s), e.g. by means of an elastic material.

The permanent magnet <NUM>, <NUM>, is preferably a single, axially magnetised ring or disk magnet having an external diameter of about <NUM> to about <NUM>, e.g. equal to about <NUM>; and having a height (in the axial direction) of about <NUM> to about <NUM>, or from <NUM> to <NUM>, e.g. equal to about <NUM>. In preferred embodiments, the permanent magnet has an outer diameter which is smaller than the diameter of the virtual circle on which the sensor elements are located.

The permanent magnet may be mounted by means of a lever and a bearing or the like, as is typically the case in a joystick, or may be mounted by means of one or more springs, or may be embedded in a flexible material, e.g. in an elastomer, e.g. as suggested in <FIG>, or as illustrated in <FIG>, or as illustrated in the prototypes of <FIG>, or as illustrated in the simulation model shown in <FIG>, or as described in co-pending EP application number <CIT>, which document is included herein by reference in its entirety, in particular <FIG> and the corresponding description, illustrating and describing assemblies of force sensors with an elastomer, or in any other suitable way. The elastomer may have the stress versus strain characteristic which is highly non-linear, hence making it extremely difficult or nearly impossible to find explicit analytical formulas for determining the components of a mechanical force exerted upon the magnet, based on the signals obtained from the magnetic sensors. An additional problem encountered by the inventors is that the mechanical characteristics of the elastic material may also be temperature dependent. For example, in the envisioned temperature range, the elastic material may become stiffer as the temperature decreases. The permanent magnet and the mechanical mounting of the magnet is schematically represented by the block <NUM>, which generates a magnetic field which is dependent on the applied mechanical force, although one might also say that the magnetic field generated by the permanent magnet is "modulated" by the mechanical force.

The influence from an (unknown) external disturbance field is typically added to the magnetic field generated by the magnet.

In the example of <FIG>, a mechanical force <NUM> is exerted upon the magnet, and the physical quantities to be measured are the force components in the X-, Y- and Z- direction, and the present invention will be explained mainly for a force sensor system, keep the description relatively simple, but the present invention is not limited thereto and also works for determining other physical quantities such as for example to determine a position (e.g. two tilt angles) of a joystick, or to determine the position (e.g. two lateral displacements and/or a downward displacement of a thumbstick) or the like.

The mechanical force to be measured may be applied to the magnet directly or indirectly, e.g. to a contact surface of an elastomer encapsulating the permanent magnet. The latter may be preferred, e.g. to avoid slip. The magnetic field generated by the permanent magnet can be measured by a sensor circuit comprising a plurality of magnetic sensors <NUM>, e.g. using any of the sensor circuits shown in <FIG>, the present invention not being limited thereto, since for example a sensor circuit with a plurality of sensor elements located on a 4x4 grid, or located at pseudo-random locations, will also work. In practice, the magnetic sensors are typically biased with a current or voltage source, and the signals provided by the sensor elements are typically amplified and digitized, etc. in a so called "biasing and readout-circuit", not explicitly shown in <FIG>, because such circuits are very well known in the art, and not the focus of the present invention, and therefore need not be explained in more detail here. Suffice it to say that techniques such as "spinning current", chopping, etc. may also be used.

The processing of the signals will be explained mainly referring to a prototype illustrated in <FIG> and <FIG>, which was built, and evaluated and simulated. But of course the present invention is not limited to this example, but also works for other systems that use the same principles.

The sensor circuit of <FIG> provides eight magnetic field component signals: Bx1, Bz1, Bx2, Bz2, Bx3, Bz3, Bx4, Bz4, thus in the example of the prototype, the block <NUM> provides these eight signals.

These eight magnetic field component signals are preferably amplified and offset corrected and sensitivity corrected in known manners, e.g. as a function of temperature, in block <NUM>. To this end, the sensor circuit preferably further comprises a temperature sensor <NUM>. For completeness it is noted that this block may not only correct for temperature variations, but may also correct for mechanical stress exerted upon the silicon substrate, in known manners, for example as described in patent publication <CIT>), and/or as described in patent publication <CIT>), or in any other suitable way. The block <NUM> may also digitize the signals using one or more analog-to-digital convertors ADC, not explicitly shown.

In the example of <FIG>, the four sensitivity corrected Bx signals are input to block <NUM>, where a mean or average of these four sensitivity corrected Bx signals is calculated, which mean or average is then subtracted from each of the sensitivity corrected Bx-signals. Likewise, the four sensitivity corrected Bz signals are input to block <NUM>, where a mean or average of these four sensitivity corrected Bz signals is calculated, which mean or average is then subtracted from each of the sensitivity corrected Bz-signals. If implemented in this way, the block <NUM> outputs four "mean-corrected" Bx-related signals, and four "mean-corrected" Bz-related signals, thus eight signals in total. It is also possible to perform the "mean removal" in the analogue domain, and to digitise the mean-corrected Bx values and the mean corrected Bz values.

In the example of <FIG>, the processing circuit further comprises a "feature augmentation and polynomial augmentation" block <NUM>, configured for receiving the four mean-corrected Bx values and the four mean-corrected Bz-values, and configured for calculating one or more of: a sum of two values, a difference of two values, a product of two values, a ratio of two values, a square of a value, a sign of a value multiplied by the square of the value, a third power of a value, an absolute value of a value, a sum of squares of two (e.g. orthogonal) values (related to the "norm"), a sum of squares of three (e.g. orthogonal) values (related to the "norm"); and for outputting the (original) mean-corrected Bx and Bz values and the additionally generated values as output signals. In preferred embodiments, the total number "Ntot" of values provided by the block <NUM> is a value in the range from <NUM> to <NUM>, or in the range from <NUM> to <NUM>, or from <NUM> to <NUM>.

It is noted that the difference between "feature augmentation" and "polynomial augmentation" is a bit arbitrary, and irrelevant for the present invention. What is important is that the block <NUM> gets a certain number of input values, and generates a number of output values (e.g. the same number, or preferably a larger number) based derived therefrom. It was surprisingly found that by augmenting the number of values, the accuracy of the final output (e.g. Force components) was largely improved, which is counter-intuitive, because these values do not add "new information". It was found, in particular, that adding additional values in the form of squares of input values, and/or in the form of products of similar input values (e.g. Bx1 * Bx2), and/or in the form of dissimilar input values (e.g. Bx1 * Bz1) was very advantageous.

In the block <NUM>, the physical quantities to be determined are calculated as a function of these values, more in particular as a weighted sum of these values, each biased with an offset.

For example, if the block <NUM> outputs the values v1, v2,. v64, the block <NUM> may calculate one or more of the components (Fx, Fy, Fy) of the force vector in accordance with the following formulas: <MAT> <MAT> <MAT> where the values A1 to A64 and B1 to B64 and C1 to C64 and D1 to D64 and E1 to D64 and F1 to F64 are constants, which are determined by machine learning or by deep learning.

It is noted that the "training" or "learning" was done over a relatively broad range of three dimensional force values, i.e. choosing a sufficient number of various combinations of 3D-force components to represent the 3D space of possibilities. In other words, many combinations of forces (Fx, Fy, Fz) were used to train the coefficients, for example at least <NUM> times, or at least <NUM> times, e.g. about <NUM> times more measurements than the number of parameters to be determined.

There is an optional "temperature correction block" <NUM>, as will be explained further when discussing <FIG>. In case the temperature is used as an extra to the block <NUM> (representing the feature augmentation and/or polynomial augmentation block, or a neural network), the "training" or "learning" should be performed using various combinations of (T, Fx, Fy, Fz).

<FIG> shows a schematic block-diagram of another magnetic sensor system <NUM> proposed by the present invention, that can be used to measure one or two or three physical quantities related to a position of the permanent magnet, such as for example three orthogonal components of a force vector applied to the sensor system. This system can be seen as a variant of the system of <FIG>, wherein the mean-removal block <NUM> is replaced by gradient calculator block <NUM>.

If the sensor circuit <NUM> contains a plurality of sensors as depicted in <FIG>, the gradient calculator block may calculate one or more of the following Bx-related gradient signals: <MAT> <MAT> and may calculate one or more of the following Bz-related gradient signals: <MAT> <MAT>.

Everything else mentioned above for the system of <FIG> is also applicable here.

It is noted that, in contrast to many prior art magnetic sensor systems in which an analytical formula is used, it is not required in the present invention that the signals entering the block <NUM> behave like a sine and a cosine function of the physical quantity to be determined.

In an embodiment (not shown), the predefined algorithm is performed by a trained neural network using the at least three first magnetic field components (e.g. Bx1, Bx2, Bx3) and the at least three second magnetic field components (e.g. Bz1, Bz2, Bz3) as input signals, and providing the at least two (or at least three) physical values as output values.

The neural network may replace the blocks <NUM> and <NUM> of <FIG> and <FIG>. Optionally, the block <NUM> (mean removal) and the block <NUM> (gradient calculator) may be omitted in this case.

The predefined algorithm may comprise a neural network having a plurality of layers, wherein each layer comprises a plurality of nodes. In an embodiment, the neural network contains only one layers, having <NUM> to <NUM> nodes. In an embodiment, the neural network contains only two layers, each having <NUM> to <NUM> nodes, or having <NUM> to <NUM> nodes. In an embodiment, the neural network contains only three layers, each having <NUM> to <NUM> nodes, or each having <NUM> to <NUM> nodes. In an embodiment, the neural network is a Recurrent Neural Network (RNN). In an embodiment, the neural network is an Artificial Neural Network (ANN). In an embodiment, the neural network is a Convolution Neural Network (CNN).

<FIG> show examples of mechanical arrangements comprising a sensor device or sensor assembly <NUM> comprising a sensor device <NUM>, e.g. a packaged chip comprising a semiconductor substrate encapsulated in a moulding compound; and an elastomer <NUM> above or on top of the sensor device <NUM>, and a magnet <NUM> embedded in the elastomer, and located at a distance "d" (typically referred to as "airgap") from the sensor device. The sensor device may be mounted on a printed circuit board (PCB) <NUM>. The elastomer <NUM> may be supported solely by the semiconductor device, e.g. as illustrated in <FIG>. Alternatively, a portion of the elastomer may be supported by the printed circuit board, e.g. as illustrated in <FIG>. Optionally, there may be an intermediate layer, e.g. a glue layer, between the sensor chip <NUM> and the elastomer <NUM>, e.g. as illustrated in <FIG>.

The magnet <NUM> is preferably an axially magnetised ring or disk magnet. The outer diameter of the magnet may have dimensions comparable to those of the sensor device, e.g. equal to, or larger than, or smaller than the diameter of a virtual circle on which the magnetic sensors are located. Preferably, however, the outer diameter of the magnet <NUM> is smaller than a largest distance between the magnetic sensor elements.

In the example of <FIG> the magnet may have a height (in the vertical direction, perpendicular to semiconductor substrate) of about <NUM>, and a diameter (parallel to the semiconductor substrate) of about <NUM>.

In the sensor assembly illustrated in <FIG>, the magnet may have a diameter of in the range from <NUM> to <NUM>, and a height of about <NUM>.

In the sensor assembly illustrated in <FIG>, the magnet may have a diameter smaller than <NUM>, or smaller than <NUM>, e.g. equal to about <NUM>; and may have a height of about <NUM> to about <NUM>. The elastomer <NUM> may have a thickness in the range from <NUM> to <NUM>, or in the range from <NUM> to <NUM>, e.g. equal to about <NUM>.

The skilled person having the benefit of the present disclosure can easily find suitable dimensions taking into account the following rules of thumb: the larger the magnet, and/or the closer the magnet to the semiconductor substrate; and the softer the elastomer material, the larger the signals obtained from the magnetic sensor elements.

<FIG> show pictures of a prototype of a force sensor system as described herein, and which was used to develop and evaluate the algorithm described in <FIG> and <FIG>.

<FIG> shows a picture of a mechanical setup that was used to apply a known force (Fx, Fy, Fz) to the force sensor assembly. By applying a series of tests with various force values, and by measuring the corresponding magnetic field components, the parameters (e.g. A1 to F64) were determined using machine learning (ML).

<FIG> shows the results of measured values of Bx1 to Bx4 and <FIG> shows the results of measured values of Bz1 to Bz4, when applying a force Fz, oriented in a direction perpendicular to the semiconductor substrate, and having a magnitude in the range from <NUM> Newton to <NUM> Newton. As can be seen, there is some spread between the curves, and the curves are not perfectly linear.

The inventors surprisingly discovered that the values of Bx1 to Bx4 show a very good correlation with the applied force, and are thus a very good indication for the force component Fz, despite their relatively small value (in the order of about <NUM> to <NUM> mT). The inventor also surprisingly discovered that the values Bz1 to Bz4, despite the fact that their signal is typically about two times larger than the signal of Bx1 to Bx4, the spread between these values is very large. This was not expected. It demonstrates that applying an analytical formula to any of the individual signals Bx1 to Bx4 and Bz1 to Bz4 will probably not lead to a reliable measurement of the applied force component Fz, but as will be demonstrated further, a combination of these signals, more in particular a polynomial combination (e.g. second order polynomial) of these signals and of algebraic combinations of these signals (e.g. products or ratios) with a sufficient number of parameters can yield good results.

<FIG> shows a computer model of a mechanical arrangement that can be used to simulate how the elastomer would deform, and how the magnet would move when applying a force with a normal force component Fz, and/or with shear force components Fx, Fy. This computer model can be simulated using for example a commercially available tool known as "Comsol".

For a given set of parameters (e.g. A1 to F64), which were determined by machine learning, using the mechanical setup shown in <FIG>, the computer model of <FIG> may subsequently be used to validate the algorithm of <FIG> or <FIG> with these parameters.

<FIG> show how well the forces measured by the calibration setup (see <FIG>) and forces predicted by the force sensor algorithm (see <FIG>) of a prototype implementation, work. <FIG> relates to "downward" directed forces, oriented in the negative Z-direction, perpendicular to the semiconductor substrate. <FIG> relates to shear forces. As can be seen, there is a very good linear fit between these values.

It should come as a surprise that it is indeed possible to measure a force applied in the Y-direction, despite the fact that no By-component is measured.

It is noted that these results are obtained using the sensor circuit of <FIG> having only four 2D magnetic pixels, which may not be oriented in the most optimal direction.

It is contemplated that a sensor circuit in which the 2D pixels are oriented in a different direction, and/or having more than four magnetic pixels, and/or having 3D magnetic pixels, and/or using an algorithm with a larger number of parameters, may provide a more accurate result. It is not easy to predict, however, how many sensors and/or how many parameters are required to achieve a certain accuracy, or to predict what is the most cost effective solution to achieve a certain accuracy. Even so, the present invention discloses a large number of solutions that produce workable and even very good results, even though they are not perfect.

<FIG> shows a "force error histogram" when measuring (or determining) a force oriented in the negative Z-direction (denoted as Fz), using the sensor system of <FIG>. As can be appreciated, the vast majority of measurements (><NUM>%) are accurate within a maximum error of ±<NUM> N (corresponding to an error in weight of about ±<NUM> gram), which is more than good enough for many applications, including many robotic applications where a robotic arm with robotic fingers needs to gently grab an object without damaging it.

<FIG> shows a "force error histogram" when measuring shear forces (i.e. oriented parallel to the semiconductor substrate). As can be appreciated, the vast majority of measurements (><NUM>%) are accurate within a maximum error of ±<NUM> N, corresponding to an error in weight of about ±<NUM> gram.

<FIG> is a graph illustrating an error in Fx as a function of an external disturbance field applied in the X-direction, with and without using the mean removal block <NUM> of <FIG>. The graph clearly shows that the "mean removal" is a very effective way of removing the influence of a strayfield. Similar results are expected when using the gradient calculation block <NUM> of <FIG>.

<FIG> shows a graph illustrating the magnitude (in arbitrary units) of a "normal force" Fz oriented in a direction towards the semiconductor substrate versus displacement of the magnet (in arbitrary units). As can be seen, the behaviour is not perfectly linear, which is probably due to the fact that the stiffness of the elastomer typically increases as more pressure is exerted upon the elastomer.

While not explicitly shown in <FIG>, the inventors also found that the stiffness of the elastomer also depends on temperature. Tests have shown that this effect can be taken into account by a post-processing step, in which the values of Fx, Fy, Fz are corrected as a function of temperature, for example in accordance with the formulas: <MAT> <MAT> <MAT> where Tchip is the temperature measured by an on-chip temperature sensor expressed in degrees Celsius, and K is a constant which can be determined during a calibration step.

This effect may also be taken into account in the optional "temperature correction" block <NUM>, e.g. in accordance with the following formula: <MAT> where Tchip is the temperature measured by an on-chip temperature sensor expressed in degrees Celsius, Sraw is a raw signal value obtained from the preceding block <NUM> or <NUM> (e.g. a mean-corrected value or a gradient value), Scorr is the temperature corrected signal value, α and β are two constants which may be determined by simulation, or in a calibration step.

<FIG> is a schematic block diagram of a sensor device <NUM> as can be used in embodiments of the present invention. This block diagram is only provided for completeness.

The sensor device <NUM> comprises semiconductor substrate comprising a plurality of magnetic sensors, only five of which are shown as M1 to M5, e.g. any of the circuits shown in <FIG>.

The sensor device further comprises a biasing and readout circuit, e.g. as part of the processing circuit <NUM>, configured for receiving the signals m1, m2, etc. from the magnetic sensors. The signals are typically amplified, and offset corrected. Preferably the sensor device further comprises temperature sensor, and the magnetic sensitivity of the sensor elements is preferably corrected (in the analogue or digital domain) based on the based temperature. The processing circuit may further comprise at least one analogue to digital converter (ADC), for converting the analog signals into digital signals.

Depending on the implementation, the processing circuit <NUM> may be further configured for performing one or more of the functions of the blocks <NUM> (mean removal), <NUM> (gradient calculation), <NUM> (feature augmentation and polynomial augmentation), <NUM> (weights and biases) described above, see <FIG> and <FIG>. In this case, the sensor device <NUM> may output the force component values Fx, Fy, Fz. In orderto be able to measure the applied force at the reasonably high rate (e.g. at a frequency of at least <NUM>, or at a frequency of at least <NUM>, or at a frequency of at least <NUM>, or at a frequency of at least <NUM>), the number of augmented values may be limited, and the complexity of the functions used in the (polynomial) augmentation block <NUM> may be limited to algebraic functions (e.g. including square function and products, but excluding divisions), and the number of terms to be added in the block <NUM> may be limited to at most <NUM> terms, or at most <NUM> terms, or at most <NUM> terms. Such algorithm may be performed by a programmable signal processor (DSP), and the plurality of constants may be stored in a non-volatile memory <NUM>. While not explicitly shown, it is also possible to use analogue processing circuitry, e.g. an analog or digital accelerator, or an analog or digital coprocessor.

In other embodiments, however, the processing circuit will measure to magnetic field values (block <NUM>), and will implement the sensitivity correction (block <NUM>), and may optionally also implement the mean removal (<NUM>) or the gradient calculation (<NUM>), but will not implement the feature augmentation (block <NUM>), and will not calculate the weighted sums (block <NUM>). In this case, the sensor device <NUM> may output the values of block <NUM>, or <NUM> or <NUM>, preferably as digital values, and provide these values to an external processor. The external processor will then perform the feature and or polynomial augmentation (block <NUM>) and calculate the weighted sums (block <NUM>). It is an advantage of this implementation that the external processor <NUM> may be much more powerful, e.g. have a clock frequency higher than <NUM>, and/or may have multiple processor cores, and/or may have much more random access memory (RAM), e.g. at least <NUM> GBytes of RAM.

In order to allow the external processor to perform a post- processing correction to take into account a temperature dependence of the stiffness of the elastomer, the sensor device <NUM> may also output the measured temperature T to the external processor.

<FIG> is provided for completeness, to illustrate that the principles of the present invention may also be used to determine the tilting angles φ and ψ of joystick assembly, wherein a magnet is rotatable about a pivot point <NUM> by means of a handle or a lever <NUM>.

It is a major advantage of embodiments of the present invention that no explicit formulas requires to determine the tilting angles, and that the solution is highly insensitive to an external disturbance field. It is noted that in this case, no elastomer material is required, but instead the mechanical assembly would normally be used to hold and allow movements of the magnet. The skilled reader will understand that the sensor circuits shown in <FIG>, and the algorithms described above in <FIG> and <FIG>, can also be used to determine the tilting angles (physical quantities related to the position of the magnet) of the handle of the joystick assembly.

While not explicitly shown, the principles of the present invention can also be used to determine the position of a thumbstick. In this case, the magnet would be movable in a plane parallel to the semiconductor substrate, by moving a thumbstick in a plane parallel to the semiconductor substrate. Optionally there may be one or more springs involved. The skilled reader will understand that the sensor circuits shown in <FIG>, and the algorithms described above in <FIG> and <FIG>, can also be used to determine at least the lateral displacements, and optionally also a downwardly pressing displacement (i.e. physical quantities related to the position of the magnet) of the thumbstick of the thumbstick assembly.

Needless to say that the requirements in terms of accuracy and robustness against disturbance signals of a thumbstick assembly, e.g. as part of a gaming console for consumer electronics applications, are completely different from the requirements for robotic applications. In other words, building an integrated sensor device which performs all of the signal processing steps shown in <FIG> and <FIG>, albeit with a limited number of terms and constants, and with limited accuracy, is very well feasible.

<FIG> show a flow-chart of a method <NUM> of measuring at least two physical quantities (e.g. a 2D or 3D force vector, a 2D or 3D displacement vector, a 2D or 3D position of a joystick, a 2D or 3D position of a thumbstick) related to a position of a permanent magnet which is movable relative to an integrated circuit and which is configured for generating a magnetic field. The method <NUM> comprises the following steps:.

Of course, this method can be further refined in the same way as described above.

For example, in an embodiment, said at least two physical quantities may be determined using a predefined algorithm that uses at least three or at least four magnetic field differences derived from said at least two first and said at least two second magnetic field components, as inputs, and that uses said plurality of at least eight constants.

In another or a further embodiment, the method may further comprise measuring a temperature of the semiconductor substrate; and correcting the measured first and second magnetic field components based on the measured temperature, or taking the measured temperature into account as an additional input of the predefined algorithm, or processing the temperature in a post-processing step.

Claim 1:
A force sensor system comprising:
an integrated circuit comprising a semiconductor substrate, the semiconductor substrate comprises a plurality of magnetic sensors configured for measuring a magnetic field;
a permanent magnet which is movable relative to the integrated circuit, and configured for generating said magnetic field, the magnet being flexibly mounted relative to the integrated circuit by means of a flexible material;
a processing circuit configured for determining at least two physical quantities related to a position of the magnet using a predefined algorithm based on the measured magnetic field, the at least two physical quantities being two or three force components (Fx, Fy, Fz) of a mechanical force exerted upon a contact surface of said flexible material;
wherein
- the plurality of magnetic sensors is configured for measuring at least two first magnetic field components (Bxl, Bx2) oriented in a first direction (X), and for measuring at least two second magnetic field components (Bzl, Bz2) oriented in a second direction (Y; Z);
- the processing circuit is configured for determining said at least two force components using a predefined algorithm that uses at least three or at least four magnetic field differences derived from said at least two first and said at least two second magnetic field components, as inputs, and that uses a plurality of at least eight constants which are determined using machine learning.