Method for calculating an angle of the inductor flux vector, and corresponding device

The method for calculating the inductor flux vector in polyphase motors improves accuracy and reduces initialization time, addressing inefficiencies in sensorless estimators and observers, thus enhancing the performance of high-power density applications.

FR3157034B1Active Publication Date: 2025-12-26ELECTRICFIL AUTOMOTIVE
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
FR2023014097
Authority / Receiving Office
FR · FR
Patent Type
Patents
Current Assignee / Owner
Filing Date
2023-12-13
Publication Date
2025-12-26
Estimated Expiration
2043-12-13

AI Technical Summary

Technical Problem

Existing sensorless rotor angle estimators and observers in polyphase synchronous and asynchronous motors lack accuracy and have long initialization times, leading to inefficiencies and increased electrical consumption, particularly in applications requiring high power density and variable speed control.

Method used

A method for calculating the angle of the inductor flux vector using a refined observer model that includes a correction step to ensure the flux vector trajectory is circular, updating the coordinate system to center on the estimated circle's center, and applying a low-pass filter to improve angular accuracy and reduce initialization time.

Benefits of technology

The method provides improved angular accuracy and reduced initialization time, enhancing the efficiency and reducing electrical consumption in high-power density applications by minimizing angular errors and torque ripples.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000036_0000
    Figure 00000036_0000
  • Figure 00000037_0000
    Figure 00000037_0000
  • Figure 00000038_0000
    Figure 00000038_0000
Patent Text Reader

Abstract

A method for calculating an angle of the inductor flux vector, comprising a plurality of iterations, each iteration of the plurality of iterations except the first comprising: a / obtaining (S100) input data including armature voltage values, armature current values, armature resistance values, and armature inductance values; b / estimating (S101) the inductor flux vector of the iteration by adding to an inductor flux vector obtained in the previous iteration a function of said input data; c / a correction comprising i. determining (S102) the center of a circle passing through at least three points defined by the flux vector obtained by said estimation, and at least two flux vectors obtained in two preceding iterations; and ii. obtaining the flow vector of the current iteration in which we correct (S106, S107) the flow vector obtained by said estimation using said center vector.Figure for the abridged version: [Fig. 2].
Need to check novelty before this filing date? Find Prior Art

Description

Title of the invention: Method for calculating an angle of the flux vector of an inductor, and corresponding device technical field

[0001] The present exposition concerns polyphase synchronous or asynchronous motors, and more particularly the observation of the flux vector of these motors. It also relates more particularly to the actuators that use these motors. Previous technique

[0002] Synchronous or polyphase asynchronous motors receiving rotating alternating currents (sometimes referred to as AC machines) can be integrated into electric actuators. An electric actuator comprises, for example, a motor of the aforementioned type with a mechanical reducer (e.g., gear reducer), an electronic power inverter (or drive) providing variable electrical power, and a control module configured to control inverter switches so as to obtain rotation.

[0003] These motors are used in many applications, in a power range from tens of watts to hundreds of kilowatts.

[0004] In particular, these electric actuators are used for integration into systems such as motor vehicles, where the electrification of numerous functions (replacing hydraulic systems) requires the use of these electric actuators with variable-speed control (speed variations, load torque variations). In electric motor vehicles, the vehicle's traction or propulsion actuator is also an actuator that must be configured to handle speed variations and load torque variations.

[0005] Electric actuators are also used for robotics applications, for example in the context of household appliances (washing machine motors controlled in position and speed, motors for openings (gates, shutters)).

[0006] Another possible application of electric actuators is in aeronautics and aerospace, typically for the motorization of drone aircraft.

[0007] By variable operating speed, we mean situations in which the speed control can vary by at least ten percent of a maximum speed per electrical revolution, or even several tens of percent, with braking, stopping, or even speed reversals. By variable operating speed, we also mean situations in which the mechanical load applied to the motor varies abruptly, that is to say, by several tens of percent of the nominal torque in one electrical revolution. or even situations in which the mechanical load can change sign, shifting from a load torque to a driving load, and vice versa. Thus, the electric motors discussed here can be used as motors but also as generators (alternators or asynchronous generators, depending on the machine type). AC machines can also intermittently alternate between motor and generator operation (alternators or asynchronous generators, depending on the machine type). Often, due to the resulting variations in electrical power, the DC supply voltage to the inverter can be disturbed and also become variable. These cases contrast with the succession of steady-state regimes, where the motor speed, the load, and the inverter supply voltage are constant or vary slowly with respect to the motor's rotation.

[0008] By way of example, the term "armature," also referred to as "exciter armature" or "armature" in English, designates the set of polyphase windings that carry the alternating current of the AC machine along with the associated magnetic circuit. Generally, the armature is the stator in synchronous and asynchronous machines. In a context where the armature is the stator in a synchronous or asynchronous machine, we have: the AC "armature" currents and voltages which are the currents and voltages "statorics", and the calculation frame linked to the armature which is the so-called "statoric", or "fixed", "linked to the stator", or "stationary" frame, in the plane perpendicular to the axis of rotation of the motor and centered on it, most generally whose x-axis (noted "a" or "a") coincides with the winding axis of phase 1 of the armature.

[0009] Generally, AC machines consist of a three-phase armature, but not exclusively: many machines are "two-phase" or "two-phase", with two windings wound at 90° electrically, and others are sometimes six-phase, or more broadly multi-phase.

[0010] By "inductor", which is also cited as "exciter inductor", or in English "inductor", "magnetic field" or "exciting / excitation field", more specifically "field winding" for wound-rotor asynchronous or synchronous machines or "magnet field" for permanent magnet synchronous machines, we designate the electromagnet of magnetic field generation in the armature, typically controlled to be at constant flux in amplitude or slowly variable over time.

[0011] In a permanent magnet synchronous machine, the inductor consists of a set of magnets and a magnetic circuit.

[0012] In a wound-rotor synchronous machine, the inductor consists of a set of "electromagnet" windings, this set being supplied by a current adjustable excitation controlled as predominantly continuous (“DC”), and a magnetic circuit.

[0013] In an asynchronous machine, the inductor consists of a set of short-circuited windings, such as squirrel-cage shaped conductors for example, and a magnetic circuit.

[0014] Typically, the field winding is the rotor of AC machines. In this context, the calculation frame associated with the field winding is the so-called "rotor" or "rotor flux" frame, whose x-axis, generally denoted "d", is aligned with the field winding, and whose axis, denoted "q", at 90° to "d", is collinear with the back electromotive force vector. It should be noted that there are other structures in which the AC machine is constructed in reverse, as described, for example, in document EP1235332A1 or in document US2017077773A1, in which a polyphase armature is the rotating rotor, while the field winding is in the stator. This explains why it is preferable in the present description to use the terms "armature" and "field winding".

[0015] In all the aforementioned actuator applications involving AC machines controlled in variable regime, the commonly sought performance characteristics for the use of AC machines are their durability (absence of brushes or commutator), their compactness resulting in a high volumetric or mass power density, their high efficiency (at least >70%), their low inertia in certain topologies minimizing the exchange of electrical energy for variable and highly dynamic operating regimes, their low electromagnetic radiation; and finally the possibility of modifying their apparent torque constant with respect to the amplitude of the phase currents, so that the geared motor can behave as a continuously electrically variable reduction.operating at constant power over a very wide speed range (beyond the so-called "base" speed for a given supply voltage) without requiring a bulky or expensive mechanical gear-changing device (gearbox). For this, in the case of the wound-rotor synchronous machine, the field flux is defined by controlling a field current independent of the polyphase armature. For other AC machines, the apparent torque constant is set by controlling one of the two degrees of freedom of the rotating armature current, referred to as the "direct" / "d" axis current in the literature (Park / dqo transformation): on the asynchronous machine, it defines the field flux, and on the permanent magnet synchronous machine, it opposes the field flux to generate a lower magnitude air gap flux ("flux reduction").(By misuse of language). This characteristic of AC machines has made it possible to eliminate the multi-speed gearbox on the majority of electric vehicles, and also to make actuators more compact for a given set of specifications.

[0016] In return for these performance levels, the constraint commonly shared by these applications is that the actuator control section always requires information on the angular position of the inductor relative to the armature to ensure control of the AC motor in variable speed or with high efficiency. More precisely, for the control section, the angle sought is that of the inductor magnetic flux, or its derivative, the back electromotive force (BEMF), relative to phase 1 of the polyphase armature. On a conventional synchronous machine, the electrical angle of the rotor coincides with the angle of the inductor flux: the inductor flux is positive and maximum in phase 1 when this angle is zero, by convention. The angle of the back electromotive force, for its part, will always be 90° ahead of the inductor flux in the direction of speed, and therefore also provides the required information.For simplicity, we will refer to either of these magnetic angles as the "rotor angle".

[0017] To obtain this information, known implementations include either a physical measurement sensor of the angular position of the rotor, or a so-called "sensorless" estimator or observer, based on measurements of armature phase voltages and / or currents associated with a calculation process solved by the control part in real time, to reconstruct the angle information (or both, to ensure redundancy for operational safety or the safety of persons in certain cases).

[0018] The known advantages provided by sensorless rotor angle estimators / observers are: compactness and weight, because the presence of an angular sensor takes up space in the motor environment and requires additional electrical connections, and possibly a cost reduction advantage for the actuator, since a hardware device is replaced by software.

[0019] In an automotive context, the use of a sensorless rotor angle observer for the control of a three-phase permanent magnet synchronous motor constitutes a significant technical advantage for enabling the compactness of an electric actuator for controlling the locking or connection of shafts in the transmission of a vehicle, contributing to its low weight on board (contributing to the autonomy of the electric vehicle) and thus its high mass and volumetric power density, while limiting its cost.

[0020] Moreover, in some cases, the actuator may include parts located remotely from each other on the vehicle: namely, the three-phase AC electric motor and the gearbox (gear motor) are located in the vicinity of their mechanical load (typically, the vehicle's transmission), while the inverter and the control part are implemented on a remote computer elsewhere in the vehicle. In this context, the sensorless observer makes it possible to limit the number of cables, sometimes several meters long, between the computer and the three-phase machine: reduced to only 3 power connections to supply the three-phase machine, instead of 6 to 8 if an angular position sensor was included.

[0021] Similarly, the use of a sensorless rotor angle observer offers a weight advantage for drones, where the number of geared motors varies from 4 to more than 6. This eliminates the need for numerous sensors and electrical connections to the motherboard, reducing the drone's cost, weight, and improving its flight time. However, this flight time and the high power density of the geared motor thus designed require very high angular accuracy in the measurement method. Yet, sensorless rotor angle estimators and observers in the prior art lack the accuracy of physical sensors. Furthermore, the initialization time of these estimators and observers remains problematic.

[0022] Actual sensors are commonly accurate to an uncertainty of ±1 electrical degree or less, whereas state-of-the-art sensorless observers, depending on their technological sensitivity and the variation in machine behavior (load, speed, temperature, aging), have a guaranteed accuracy on the order of ±15 electrical degrees minimum, up to ±30°, under variable operating conditions. An accuracy of ±15° electrical, for example, is quite sufficient to guarantee the proper operation of the AC machine control under dynamic conditions. On the other hand, this lack of accuracy can result in a decrease in efficiency, and therefore increased electrical consumption of the machine for the same torque (for a 15° error, a minimum efficiency decrease of 3.5%), and a loss of autonomy if the system incorporating the actuator is battery-powered.Such overconsumption is problematic, for example, in electric cars or certain drones. In the case of the use by the control unit of the previously described "flux decoupling" technique, on a permanent magnet synchronous machine, the efficiency loss due to the angular inaccuracy of a sensorless observer can be significantly greater than without flux decoupling: for example, for a current lead of 45° over the back electromotive force (EMF), an angular error of 15° can induce an efficiency decrease of more than 20%.

[0023] With regard to electric vehicles, the observations presented above apply to the main traction (or propulsion) actuator of the vehicle, but to all the smaller actuators of the vehicle, the sum of whose consumptions has an impact on the battery.

[0024] It should be noted that for the electric traction (or propulsion) actuator A key issue in electric vehicles is the influence of inaccuracies in the motor's angular position measurement on torque ripples. Typically, a torque ripple of plus or minus 3.5% of the demand, due to an angular observation uncertainty of plus or minus 15°, can induce vibrations that can be felt by the vehicle's passengers, which is undesirable.

[0025] For synchronous machines, actual sensors offer a further functional advantage over sensorless observers, namely the ability to provide the motor position as soon as the control unit is powered on. Their initialization time is zero, and they do not require any prior active power supply to the AC machine. Thus, motor starting is possible with maximum efficiency and without undesirable torque ripple.

[0026] Conversely, so-called "passive" sensorless observers require rotor movement to determine the angular position. It is known that at power-up and without angular movement (without speed or acceleration), the position is unobservable (Mohamad Koteich, "Modeling and observability of electrical machines for mechanical sensorless control" Automation / Robotics, Université Paris Saclay (COmUE), 2016. French. ffNNT: 2016SACLC043ff. fftel-01320377v2).

[0027] In order to initialize the observation of the angular position, certain so-called "active" techniques based on the injection of power harmonics to the armature (Amir Messali, Malek Ghanes, Mohamad Koteich, Mohamed Assaad Hamida. A Robust Observer of Rotor Position and Speed ​​for IPMSM HFI Sensorless Drives. 2018 IEEE 9th International Symposium on Sensorless Control for Electrical Drives (SLED), Sep 2018, Helsinki, Finland. pp.90-95, ffl0.1109 / SLED.2018.8486140ff. ffhal-02378496), or to the field winding in the case of a wound-rotor synchronous machine, make it possible to determine the initial position of the rotor without it rotating (as described in document WO 2016 079374), although with an uncertainty that can reach the angular sector of plus or minus 30° electric.Regarding the primary electric traction of a vehicle, knowledge of the initial rotor position, usually obtained via a sensor or one of these active techniques, remains mandatory. For other applications where these techniques are not used, the control system must apply an armature current, referred to as "open-loop" with respect to the angular position, to induce rotation in one direction or another. This allows the "passive" sensorless observer to determine the position and then resume normal angular control in the desired direction of rotation. The period during which the position is unobservable and unknown until it is determined with the desired nominal accuracy is called the initialization time. During this time, the rotor angle is provided with [the specified value]. an uncertainty of up to 100% error over 360° electrical, and the problems mentioned previously concerning accuracy arise in this context.

[0028] In order not to negatively impact the end application in which they are intended to replace the sensor, it is desirable to obtain passive sensorless estimators and observers usable in actuators with improved angular accuracy and the shortest possible initialization time. This latter technical issue is particularly critical for position control actuators, where an action must be performed within a specified maximum travel time.

[0029] We will now describe sensorless estimators and observers of the prior art which do not sufficiently solve the technical problem of angular accuracy.

[0030] The prior art distinguishes between methods for directly measuring one of the phase back electromotive forces (BEMF), and state estimators and observers. The latter two categories calculate either the BEMF vector or the flux vector as the output vector, and the polar angle calculation provides the desired rotor angle. This typically constitutes five families of sensorless rotor angle determination methods.

[0031] The first family, of direct intermittent measurement of the voltage of a phase EMF, is notably known from documents US 7301298 and CN 114531063. It is also implemented by the component marketed under the trade name A4964 by the company ALLEGRO MICROSYSTEMS, used for synchronous machines.

[0032] This direct measurement technology requires "under-powering" the polyphase electric machine by forcing the inverter to alternately leave one of its bridge arms in a high-impedance state, thus leaving one of the phases open-circuited with no current flowing through a 60° electrical sector. This allows the phase voltage to represent the phase electromotive force (EMF) and to be directly measured and acquired by the analog-to-digital converter in the control section. The current then exhibits a high harmonic content. While this power supply technology is suitable for many applications, it is not applicable to embedded applications requiring high efficiency, high power density, high power output (such as electric traction actuators), or where battery autonomy is a priority.It is also not applicable with the so-called "flux-defluxing" control technique, for angles where the current is ahead by more than 20°, as the phase current cannot be at its maximum at the same time as the phase would be open-circuited to allow the reading of the phase EMF.

[0033] Furthermore, once these limitations on the power supply have been implemented, the Direct measurement of the inductor rotational back EMF is inherently intermittent, since, being projected onto one of the three open-circuited armature phases, it only provides a one-dimensional projection and not the vector in the machine frame. Consequently, the rotor angle can only be estimated under certain conditions by angular sectors of 60°, that is, basically within ±30° of one of the six angles corresponding to the so-called "zero crossings" of the EMF voltage of a measurable phase with the floating neutral potential of the machine. Certain techniques (filtering, or signal slope analysis, or multi-point signal analysis, as described in US document 2020343840) make it possible to reduce this estimation uncertainty to typically 10° when the rotational speed approaches at least one-third of the basic speed for the given supply voltage.The two conditions for observability are sufficient speed and moderate speed variation (i.e., less than 30° of electrical angular variation per 60° of electrical sector traversed), in other words, the assumption of pseudo-steady-state regimes. If the speed is too low (less than approximately 7%) compared to the base speed, the zero-crossing instant will be difficult to identify, and the unfavorable signal-to-noise ratio will prevent position observability. Initialization times can therefore be significant compared to those of the observers.Finally, if the regime is very dynamic, with large variations in load torque or controlled variations in speed with strong acceleration or deceleration, the phase which will be controlled to be in high impedance and allow the measurement will appear too far ahead or behind (beyond plus or minus 30°) with respect to the zero crossing of the actual EMF signal of the machine, and the intermittency of the measurement will induce a disconnect of the control part with respect to the angular reality of the motor.

[0034] It appears that this technology based on EMF measurement is not satisfactory.

[0035] The solutions of the estimators and observers allow the machine to be supplied by the inverter, which transmits 100% of the available electrical power to the machine, using all its bridge arms at low impedance, either to generate sinusoidal armature currents (optimal for generating average torque), or by so-called "overmodulation" techniques, where, for maximum power at the expense of efficiency, a maximum voltage amplitude is supplied to all the armature windings. The estimators and observers use as input data the knowledge (or sometimes the measurements) of the phase voltages produced by the inverter, and the measurements of the machine's armature phase currents. If the machine is a wound-rotor synchronous machine, the measurement of the field current will also be a useful input.Sensorless feeding, estimation, and observation technologies are also compatible with control. by "defluxing". These solutions are therefore adapted to the general context of high power density actuators.

[0036] In general, estimators and observers are based on modeling the system, here the AC electric motor, in state representation, that is to say using state variables which are defined as computer memories of internal quantities describing the system, most often representative of physical quantities representing energy storage evolving in the system, which cannot physically vary suddenly over a very short time interval.

[0037] The state vector, generally denoted "X", represents the set of state variables used for modeling. When the state of a system is not measurable, an observer is designed to reconstruct the state from a model of the dynamic system and measurements of other quantities. In the case of electrical machines, depending on the modeling chosen, these quantities of the "X" vector will most often be linked to internal storage of inductive energy (flux, current), kinetic energy (speed, back EMF), or potential energy (position).

[0038] The state vector can also contain data that is low-pass filtered or results from an action or integral filtering, since this data also represents evolving information that cannot change suddenly over a very short time interval. This is then referred to as an "extended" state vector (containing signal processing information not internal to the physical system). Depending on the modeling and implementation chosen, sometimes this filtering data is integrated directly into the state vector "X", or in other cases it will be located in separate memories (such as the evolving matrices of a Kalman filter) while the vector "X" contains only the physical state variables of the system to be observed.

[0039] More precisely, digital observers are generally iterative algorithms for calculating non-measurable data of a system modeled in state representation (the electric motor for example), which are based firstly on a step of estimating the state vector denoted x^ at the current time 'n', from the state vector denoted X observed at the previous time, an assumed calculation model and a certain number of measurements (electrical in our case) input into a vector denoted Un. We will now describe an observer operation.

[0040] An estimation can be implemented from the vector functions which represent the digitized computation model of the system known at the current time, for example denoted f , hn, c\ dn.

[0041] A calculation of the estimated state vector can be implemented:

[0042] x* = f (X~ ]) + li„ (Un) rf J \ H“1 J \ il f

[0043] We can then implement a calculation of estimated outputs of the model:

[0044] Y^cn{X~)+dn(Uf;)

[0045] With the output vector. It should be noted that the estimated outputs of the model correspond to data that are otherwise measurable, directly or indirectly, while the variables in the state vector are in principle internal and non-measurable. If a state variable of the vector X is measurable, it will then generally also appear as an element of the output vector yL

[0046] Next, the observers (unlike the estimators) present a second step called correction of the state vector, starting first from the calculation of a deviation vector or "error" denoted Zn between outputs estimated in the first step and additional measurements (or sometimes a function of measurements) Ymes n.

[0047] A correction step can be implemented, by calculating the error vector between the measured outputs Ymes n and the estimated outputs y^:

[0048] Z = Y - Y* LJ J. mes n ± n

[0049] This error vector Z„ then serves as the input variable for a choice of correction functions kn that differentiate between the various observers: constant gain matrix (Luenberger observer), sliding mode observer with an error function in absolute value or sigmoid, variable gain Kalman matrix, etc. The output of this correction function is added to the estimated state vector x^ to obtain the observed state vector Xn at the current calculation step. Finally, the observed output vector Yn, containing the data to be observed, is a matrix combination of all or part of the observed state vector X„ and possibly the input measurements. Thus, the observed / corrected state vector is calculated as follows:

[0050] X~ = X^ + kn(Zn)

[0051] A calculation of observed outputs:

[0052] Y: = c„(X;,)+d„(U„)

[0053] Thus, the estimated state variables X^ are obtained by "open loop" calculation from an assumed known model of the system, previous state variables X and new input data U„ without having yet been corrected, while the state variables Xn observed at the current time are corrected, which in a sense constitutes a feedback loop.

[0054] The simpler estimators, and therefore ultimately less precise, actually correspond to observers without a correction step: only the first step is performed. In other words, all available measurements Un serve as input data to estimate the state vector XA with the assumed model, without any additional (available) measurements Yines to perform a correction, a "feedback". Equivalently, an estimator is an observer whose Z„ = [0], or whose

[0055] Estimators are of limited use in industrial applications, to the benefit of more precise observers who are more likely to address the technical problem.

[0056] Rotor angle sensorless observers according to the prior art are distinguished mainly by the choice of physical (and filtered) quantities modeled in the state vector "X", secondarily by the calculation frame in the plane in which these quantities are expressed (three-phase 1,2,3 (or polyphase), (a,[3) or (d,q), etc.), and finally by the correction function k„ used: linear matrix controller (Luenberger controller), stochastic controller known as 'Kalman filter', non-linear sliding mode observer, etc.

[0057] Many mathematical formulations are used to estimate and store intermediate physical quantities in the state vector X: armature current vector, and / or total armature flux vector, field flux, particularly for asynchronous machines, etc.

[0058] Thus, it is primarily the final step, which consists of obtaining the angle of the inductor relative to the armature from the angular coordinate of a vector in the element plane of the observed output data vector Yn, that will divide sensorless observers into two main categories: those that produce as output data the EMF vector (ΔBEMF' in English), and those that produce as output data the inductor flux vector, often denoted in the literature as '^Ç', denoted p in this description. This angular coordinate is then either filtered (low-pass, phase-locked loop, etc.) or used as is as the process output data.

[0059] As an indication, the required accuracy for actuators can be at most plus or minus 8° electrical in dynamic regime, which can ensure a loss of efficiency less than < 1% without "deflux".

[0060] The following prior documents present sensorless observers: Liu: Liu, Siwei & Zhijian, Qiu & Chen, Wei. (2019). Sensorless Control with Sliding Mode Observer for a Brushless DC Motor based on Concave Function. 872-876. 10.1109 / IMCEC46724.2019.8984058; Urbanski: Urbanski, K.; Janiszewski, D. Sensorless Control of the Permanent Magnet Synchronous Motor. Sensors 2019, 19, 3546. https: / / doi.org / 10.3390 / sl9163546; Shen: Shen, Jian-qing, Lei Yuan, Ming-Liang Chen and Zhen Xie. “Flux Sliding -mode Observer Design for Sensorless Control of Dual Three-phase Interior Permanent Magnet Synchronous Motor.” Journal of Electrical Engineering & Technology 9 (2014): 1614-1622; Renesas; "Motor Control Application, by the company RENES AS, published on October 31, 2018, version 1.02.

[0061] From these documents, it can be seen that passive sensorless observers (an observer is said to be "passive" because it is based on measurements of voltages and currents obtained without requiring modulation of the electrical power to the armature or the inductor to provide the information), produce an observation of the electrical angle of the rotor with an angular error typically greater than plus or minus 25° in steady state, and up to plus or minus 40° in dynamic state (strong variation of speed or load).

[0062] With regard to permanent magnet synchronous machines, the prior art is mainly based on knowledge of two parameters (Rs, Ls) or three parameters (Rs, Ld, Lq) seen from the armature: Rs being the resistance of one phase of the armature (all phases have the same resistance Rs); Ls being the phase cyclic inductance, or average cyclic inductance over one turn if the salience of the poles is neglected (=(Ld+Lq) / 2).

[0063] Also, we can use the three-parameter model taking into account the extreme phase cyclic inductances during an electrical turn, with: Ld in the direction of the inductor flow; and Lq at 90° electrical to the inductor flow.

[0064] For synchronous machines, a common feature of all estimators and observers of the prior art, of EMF or flux, is that the machine equation is based solely on what happens in the armature (generally the stator), in an attempt to determine the behavior of the inductor (generally the rotor). It can be noted that in the Urbanski document mentioned above, and also in the Delpoux document (Delpoux, Romain & Floquet, Thierry. (2014). “High order sliding mode control for sensorless trajectory tracking of a PMSM”. International Journal of Control. 10.1080 / 00207179.2014.903563).), the state vector is even extended to velocity in order to include the fundamental principle of mechanical dynamics, with the calculation of the electromagnetic torque and the knowledge of the rotor's inertia, denoted J, as an additional parameter, with the aim of constraining the acceleration and obtaining an estimate of the load modeled as a perturbation term in pseudo-steady state. That being said, the observer is not thereby made more angularly precise.

[0065] There is therefore a real need for a sensorless observer that is free, at least in part, from the aforementioned disadvantages. Description of the invention

[0066] The present description relates to a method for calculating an angle of the flux vector of an inductor in an observation frame of a synchronous or asynchronous polyphase motor equipped with an armature and said inductor, comprising a plurality of iterations, each iteration of the plurality of iterations except the first comprising: a / obtaining input data including armature voltage values, armature current values, and at least one armature resistance value (one or more); b / an estimation in the observation frame of the inducing flux vector of the iteration by adding to an inducing flux vector obtained in the previous iteration a function of said input data, the inducing flux vector pointing towards an estimated inducing flux point and starting from the origin of the observation frame, c / a correction including: i. a determination of the center of a circle passing substantially through at least three points defined by the flux vector obtained by said estimation, and at least two flux vectors obtained at two iterations preceding the current iteration in order to deduce a center vector, and, ii. obtaining the flux vector of the current iteration in which the flux vector obtained by said estimation is corrected using said center vector, so that the corrected inductor flux vector points towards said estimated inductor flux point and starts from a point that approaches (approaches or even coincides with) the center of said circle, this point being considered as the origin of the observation frame for the next iteration, the angle of the calculated inductor flux vector being the angular coordinate of the flux vector obtained by the correction (here, the flux vector obtained by the correction is expressed in the modified frame, that is to say the frame whose origin approaches the center of the circle, the modification of the frame only modifying the origin).

[0067] For example, step a / may optionally include obtaining one or more armature inductance values ​​(armature inductance values ​​are defined as values ​​seen from the armature, measurable from the armature, or leakage, magnetizing, or cyclic values ​​of the armature phases). The process may nevertheless operate without taking into account armature inductance values.

[0068] By being expressed in a frame of reference which approaches the center of said circle, after a plurality of successive iterations, we will have a center of the frame which will converge towards the center of rotation of the motor (and therefore of the real flux vector), and the angle of the real inductor flux vector is thus estimated in an increasingly precise manner.

[0069] This method can be implemented by a computer, for example, a computer embedded in a system such as a vehicle. More generally, this method can be implemented by a device (or several devices) having a structure of computer system (or each having a computer system structure, with one or more processors and one or more non-volatile memories.

[0070] It has been observed that the trajectory of the inductor flux of a permanent magnet synchronous motor, or of the flux of a wound-rotor synchronous machine whose inductor current is controlled to be constant, or of the inductor (rotoric) flux of an asynchronous machine controlled to be constant by the control part, is substantially circular on average in a rotating electrical machine (as would be a point attached to the rotor located at a constant radius from the center, seen from a frame attached to the stator) and centered on the center of rotation of the motor (which is also the center of the observation frame (a[3), (dq), etc).

[0071] It is therefore proposed to take into account the geometry of an expected trajectory of the inductor flow, this expected trajectory being circular.

[0072] It can be noted that the process does not propose, in a fixed center frame, to conform the norm of the estimated flux vector to a constant value, (so that the flux observed at the end of the operation is always on a circle of the same radius), the radius being for example predefined, or even low-pass filtered; and then to apply an equal norm correction, on the components (x,y) (or (d,q)) of the flux.Such an approach would be incorrect for two reasons: first, the radius of the circle described by the flux is a parameter of the machine which is the torque constant of the machine, which would then have to be added as input data to the model, with the disadvantage that it too can vary with tolerances and external environmental influences (temperature, aging), or internal ones depending on the control of the inductor flux applied for asynchronous and wound-rotor synchronous machines; secondly, it is not by modifying the length of the same vector (estimated flux) in a fixed-center frame that one corrects its angular coordinate.

[0073] In the process defined above, this circular trajectory is followed by bringing the origin of the coordinate system closer to the center of this trajectory. In particular, the correction of the resulting flux vector uses this center vector, which makes it possible to favor a substantially circular trajectory for the flux vector and makes the calculation of the angle more precise.

[0074] In fact, many factors tend to distort a trajectory estimated from the armature: tolerances on the evolving parameters of the armature model, distorting harmonics and measurement noise on the currents, on the application of voltages with PWM generation and the uncertainty generated by dead times, etc. Therefore, the method proposes to use the circular nature of the flux trajectory at the inductor to correct the 'distorted' estimation of the internal state variable, which is the inductor flux, as seen from the armature.

[0075] The use of a circle in the process (or at the very least an arc of a circle) passing through said points) is implemented regardless of the observation frame (called "Park's frame") used to describe the armature of the machine: stationary (a,[3) (simpler formulation), linked to the inductor flux (d,q), or rotating in any way relative to the rotor and stator.

[0076] The method also provides a correction through independent geometric modeling, which is not taken into account when estimating the inductor flux vector (and is not taken into account in the prior art). The geometric modeling (determining the center of the circle) is implemented directly for the flux vector, which is the state variable and also the output data from which the inductor angle (most often the rotor angle) will be directly extracted. By further constraining the mathematical problem, this additional geometric modeling, independent of the machine parameters, reduces their influence on the uncertainty of the final result and improves the angular accuracy in dynamic operation by almost an order of magnitude.

[0077] According to a particular embodiment, the flux vector obtained by said estimation is corrected by means of a correction function added to the flux vector obtained by said estimation, the correction function being configured to receive as input an error vector including said center vector, the error vector being optionally affected by a coefficient (positive, negative, real).

[0078] As an indication, the correction function can be configured to correct the flux vector so that it approaches a vector originating from this center or even so that it is a vector originating from this center.

[0079] A person skilled in the art will be able to choose an appropriate correction function, in particular a function configured to receive as input an error vector including said center vector.

[0080] According to a particular implementation method, the correction function is chosen from: error vector filtering, a multiplication by a constant or time-varying gain matrix of the error vector, a multiplication by a variable gains matrix based on a variation calculation or based on a Kalman filter, a non-linear function, for example a gain times sign function, a sigmoid function, a sign times square root function of absolute value, a sign times integer or non-integer power function of absolute value, a hyperbolic tangent function, a sine function receiving an input bounded to the interval [_ Z- Z.], a combination of one or more of said non-linear functions linear.

[0081] It has been observed that these functions can implement the correction in an efficient and simple manner.

[0082] According to a particular embodiment, the method further includes a correction of said at least two flux vectors obtained at two iterations preceding the current iteration.

[0083] In this particular implementation, the flow vectors obtained at two iterations preceding the current iteration are also corrected. These flow vectors may have been stored. This correction may be analogous to that implemented in step c.

[0084] As an indication, a possible correction may use a ratio between the magnitude of the currently controlled inductor flux vector and the magnitude of the controlled inductor flux in the previous iteration, so as to maintain a theoretically circular desired trajectory even if the intensity of the machine's inductor flux varies.

[0085] Here, we will approximate a circular trajectory for several points in the past. In fact, the center of the circle can coincide with the center of the observation frame using a suitable coordinate system. Due to distortion in the estimation (tolerances of the armature model and electrical measurements), this center will not coincide exactly, and the error vector can therefore be the center vector of this circle itself, with respect to the center of the observation frame. The correction has the effect, iteratively after iteration, of "recentering" the calculation frame on the centers of the successive identified circular arcs. The angle of the observed flux in this corrected two-dimensional frame is thus closer to reality than the angle of the vector estimated before the frame was readjusted.The effectiveness of the correction allows the use of a fairly simple correction function, such as, as a non-limiting example, a constant gain (Luenberger), or even a gain and a low-pass filter of the error vector (i.e., indirect extension of the state vector), to smooth the change of reference frame over time.

[0086] Also, in this implementation, the observed flux angle is that of the vector of the last estimated inductor flux with respect to the center of the determined circle (towards which the algorithm will converge the center of the coordinate system); and this angle will therefore be very close to the actual rotor angle, with reduced error and delay that do not require any specific filtering such as the use of a phase-locked loop. Since the angular error is lower with the circular geometric model (i.e., the circle) of the inductor than through the distorting prism of the armature, it is not necessary to use a high-performance, high-gain slip-mode controller, which can generate ripple ("chattering") requiring filtering. We therefore have a numerically stable angle, with low ripple and also low delayed.

[0087] According to a particular embodiment, the motor is a synchronous motor whose inductor is a wound rotor or an asynchronous machine, in which the correction of said at least two flux vectors obtained at two iterations preceding the current iteration is implemented, by determining a ratio between the magnitude of an inductor flux vector controlled at the current iteration and the magnitude of the inductor flux controlled or obtained at a previous iteration, or by determining a ratio between the inductor current controlled or obtained at the current iteration and the inductor current obtained at a previous iteration.

[0088] It should be noted that for wound-rotor synchronous machines and asynchronous machines, there is no objection to the controlled field flux being modified, provided that the variation is slow over time, i.e., occurs over several electrical turns of the machine, which is generally the case in practice, the field flux being typically reduced at very high speeds. In this case, it is not necessary to compensate for the slightly non-circular, but spiral, trajectory of the flux. If the field flux were to be varied more rapidly, compensation would be applied to the memories of past fluxes, so that these past fluxes always form a circular (and not a pronounced spiral) trajectory with the flux at the current instant.

[0089] According to a particular embodiment, comprising a processing of the flux vector obtained for the current iteration, in which the radius of said circle is obtained, and in which this radius is bounded and filtered in time, the norm of the flux vector is modified taking into account said radius obtained, bounded and filtered.

[0090] In this embodiment, the radius is limited and filtered (typically with a low-pass filter). The limitation can be implemented at a value dependent on the known manufacturing tolerances of the machine (plus or minus 10%, for example), and which can be a function of the measured temperature of the machine, for example.

[0091] Also, for wound-rotor synchronous machines and asynchronous machines, the radius of the low-pass filtered flux can be limited by a typical value with a tolerance, for example a linear function of the inductor control current for the wound-rotor synchronous machine, and a typical value corresponding to the controlled inductor flux for the asynchronous machine.

[0092] It should be noted that for wound-rotor synchronous machines and asynchronous machines, the observer has no objection to the controlled field flux being modified, provided that the variation is slow in time, i.e., takes place over several electrical turns of the machine, which is generally the case in practice, the field flux being generally reduced at very high speeds. In In this case, it is not necessary to compensate for the slightly non-circular, but spiral, trajectory of the flux. If the inductor flux were to be varied more rapidly, compensation would be applied to the memories of past fluxes, so that these past fluxes always form a circular (and not a pronounced spiral) trajectory with the current flux.

[0093] Thus, a possible correction can use a ratio between the magnitude of the currently controlled inductor flux vector and the magnitude of the inductor flux controlled in the previous iteration, so as to maintain a theoretically circular desired trajectory even if the intensity of the inductor flux of the machine varies.

[0094] With regard to permanent magnet synchronous machines (for example, those referred to in English by those skilled in the art as "brushless DC"), with magnetization and electromotive force (EMF) of rather trapezoidal phases, the locus of the rotor flux (which is the integral of the EMF locus) in the armature plane is found to be "almost circular," without curvature reversal and with limited harmonic content. For these machines, the recognition of circular arc trajectories is also fully effective without any particular limitations. In particular, it turns out that the radius of the low-pass filtered flux will converge towards the amplitude of the first harmonic of the machine's field flux.

[0095] The choice of analyzing the arc-shaped trajectory of the inductor flux, with its center as the error vector, is particularly well-suited to the dynamic regimes of the machine (which is also suitable for actuators). Indeed, state-of-the-art observers most often treat the inductor flux as a "disturbance" that must be compensated (by the correction). Therefore, to ensure convergence, it is necessary that the flux vector or back EMF has varied little between two execution steps, so that the controller can compensate for a sufficient portion of it within the allotted time step. This imposes very high computational frequencies on nonlinear controllers, for example, those of the "slip mode" type. To ensure the stability of the nonlinear state model, the assumption of a quasi-constant velocity is explicitly stated in the flux observer in the Shen document.For the implementation described here, this assumption is advantageously unnecessary. The speed can vary abruptly between two iterations, and the execution iterations can be very long (at very low frequency), so that the machine can even complete a third of an electrical revolution from one execution to the next and suddenly slow down in the following step, without compromising the recognition of the circular arc trajectory of the flow. This recognition is spatial and completely independent of the time taken to realize the different points of the trajectory. The proposed observer is therefore particularly well-suited to remaining accurate even for highly dynamic regimes.

[0096] According to a particular embodiment, the method further comprises a mo modification of the angular coordinate of the observed flux vector by adding a compensation term that is a function of the motor's rotational speed.

[0097] This speed can be estimated and obtained as the output of a low-pass filter having as input data the difference between the current angle of the observed flux obtained by the process and the angle previously obtained, or as the output of a closed-phase loop having as input data a vector proportional to the flux obtained by the process.

[0098] According to a particular embodiment, the method comprises a comparison of a distance between the flux vector obtained by said estimation with at least one of said at least two flux vectors obtained at two iterations preceding the present iteration with a given threshold, and in which step ii is triggered based on the result of said comparison (typically, the step is triggered if the distance is greater than a threshold, and otherwise a correction with a zero error vector can be used, and / or nothing can be done until a future iteration).

[0099] In this particular embodiment, a distance is used which a person skilled in the art will be able to determine. For example, this distance may be chosen as being obtainable by a direct or indirect calculation (for example the norm of the cross product between chord segments of the circle between considered points of the inductor flow), or by a calculation of an arc angle (on the circle, between considered points of the inductor flow, or a radius of curvature).

[0100] The threshold can be obtained by a calculation using a maximum flow of the motor (possibly a function of temperature).

[0101] This particular implementation is advantageous because it only performs corrections if the trajectory is long enough for a circular arc to be recognized (to determine the circle). If the stored trajectory is not long enough, potentially rendering the arc unrecognizable due to measurement noise or armature modeling errors, this implementation allows the flux to continue integrating during the estimation step, without performing a correction, until the circular arc traversed by the flux vector is sufficiently significant to warrant a correction. In this low-speed implementation, corrections are not necessarily performed at each iteration: several estimations (with provision of the estimated angle) are carried out before a correction is applied.In this case, it is preferable to also use a low-pass filter in the correction function to avoid jolts in the observed state vector and the observer's output angle during occasional corrections. This improvement allows for excellent accuracy at very low rotational speeds. Observability is no longer based on the speed itself, but on the angular displacement achieved. We do not... It no longer speaks of an observer with temporal correction, but of spatial correction: the correction will be postponed as long as the signal-to-noise ratio condition allowing recognition of the circular trajectory is not fulfilled spatially.

[0102] According to a particular embodiment, a trajectory is defined by said at least three points, the method further comprising a verification of a condition relating to said trajectory, according to which an arc angle of the trajectory is greater than or equal to a given threshold, and / or according to which the radius of curvature is less than or equal to a given threshold, and in which step ii. is triggered according to the result of said comparison (typically step ii. is triggered if the radius of curvature is less than the given threshold, and not triggered otherwise).

[0103] This particular implementation proposes to verify the radius of curvature of the stored trajectory, including the last estimated flux at the current time. If the trajectory is too straight (i.e., the curvature is insufficient), or if the curvature changes sign compared to that of previous steps, then the correction will not be performed at the current step and will be deferred. This reduces the influence of measurement noise and modeling errors, particularly during the AC machine startup when the observer is initialized, thus avoiding false observations. The device will wait for subsequent iteration steps to more effectively analyze the trajectory as a whole.

[0104] This method of implementation is therefore particularly useful for initializing the process (other methods of initializing the process can be implemented, and for the first iterations, stored values ​​can be used for the necessary elements related to previous iterations).

[0105] According to a particular embodiment, a trajectory is defined by said at least three points (for example the same trajectory as that presented above for another embodiment), the method further comprising a check of a direction of curvature of the trajectory, and in which step ii is triggered according to the result of said check (typically, a change in the direction of curvature may prevent the triggering of step c).

[0106] This particular implementation can be carried out using a sign of the curvature that can be determined by calculation, or by using the concept of a concave surface. For any pair of points on the surface bounded by the trajectory, the straight line segment connecting these two points lies within the surface. This implementation can also be carried out using tangents to the trajectory that divide the plane into two parts at every point; the last straight line segment, formed by the flux vector estimated at the current step size, lies within the half-plane defined by the tangent at the previous point and includes the center of the (previous) circle.

[0107] According to a particular embodiment, the iterations are carried out at a frequency lower than the frequency of a PWM signal supplying the phases of the motor.

[0108] Prior art solutions traditionally use the frequency of PWM signals (e.g. 10kHz) for the observer, which implies the use of appropriate components.

[0109] It has been observed that the iterations can be implemented at a lower speed, for example at 2kHz, while maintaining a good level of accuracy.

[0110] The invention also proposes a device for calculating an angle of the flux vector of an inductor in an observation frame of a synchronous or polyphase asynchronous motor equipped with an armature and said inductor, comprising a controller configured to implement a plurality of iterations, each iteration of the plurality of iterations except the first comprising: a / obtaining input data including armature voltage values, armature current values, and at least one armature resistance value; b / an estimation in the observation frame of reference of the inducing flux vector by adding to an inducing flux vector of the iteration obtained in the previous iteration of a numerical integration of a function of said input data, the inducing flux vector pointing towards an estimated inducing flux point and starting from the origin of the observation frame of reference, c / a correction including: a determination of the center of a circle passing substantially through at least three points defined by the flux vector obtained by said estimation, and at least two flux vectors obtained at two iterations preceding the present iteration to deduce a center vector, such that the corrected inductor flux vector points towards said estimated inductor flux point and starts from a point that approaches the center of said circle, this point being considered as the origin of the observation frame for the following iteration, and, obtaining the flux vector of the present iteration in which the flux vector obtained by said estimation is corrected using said center vector, the angle of the calculated inductor flux vector being the angular coordinate of the flux vector obtained by the correction.

[0111] This device can be configured for the implementation of all the implementation modes of the process as defined above.

[0112] The invention also proposes a system comprising a device as defined above, and said motor.

[0113] The invention also proposes an actuator comprising the system as defined above.

[0114] According to a particular embodiment, the actuator is configured for use within a vehicle transmission, or configured to be a traction or propulsion actuator for the vehicle.

[0115] The invention also proposes a computer program comprising instructions for executing the steps of a process according to the invention, when said program is executed by at least one processor.

[0116] In the context of the invention, a computer program may consist of one or more sub-parts stored in the same memory or in separate memories. The program may use any programming language and may be in the form of source code, object code, or code intermediate between source and object code, such as in a partially compiled form, or in any other desirable form.

[0117] The invention also proposes an information carrier readable by a processor or a computer and on which is recorded a computer program according to the invention or a set of computer programs according to the invention.

[0118] The information carrier can be any entity or device capable of storing the program. For example, the carrier can include a storage means, such as non-volatile memory or ROM, for example, a CD-ROM or a microelectronic circuit ROM. Alternatively, the information carrier can be a transmissible medium such as an electrical or optical signal, which can be transmitted via an electrical or optical cable, by radio, by a telecommunications network, by a computer network, or by other means. The program according to the invention can, in particular, be uploaded to a computer network. Alternatively, the information carrier can be an integrated circuit in which the program is incorporated, the circuit being adapted to execute or to be used in the execution of the process in question.

[0119] The aforementioned features and advantages, as well as others, will become apparent from the detailed description that follows. This detailed description refers to the accompanying drawings. Brief description of the drawings

[0120] The attached drawings are schematic and are intended primarily to illustrate the principles of the exposition.

[0121] In these drawings, from one figure to another, identical elements (or parts of elements) are identified by the same reference signs.

[0122] [Fig-1] Fig. 1 is a schematic representation of a system according to a example.

[0123] [Fig.2] Fig.2 shows the steps of a process according to an example.

[0124] [Fig. 3] Fig. 3 is a graphical representation of the method according to an example.

[0125] [Fig. 4] Fig. 4 graphically shows the angular accuracy of the invention and of a prior art solution. Description of the implementation methods

[0126] We will now describe a method for calculating an angle of the flux vector of the inductor of a motor, a device for calculating an angle of the flux vector of the inductor of a motor, and a system comprising this device.

[0127] This method and device make it possible to obtain a more precise angle calculation than using prior art techniques, including with implementation at a frequency lower than the frequency of the PWM motor control signals.

[0128] Figure 1 shows a system SYS comprising a synchronous or asynchronous polyphase motor M equipped with an armature and said field winding, and a device 100 configured to implement the method which will be described below. This motor M is mechanically connected (by a shaft) to a gearbox 200 and is controlled by an inverter 300 in a manner known per se, the inverter receiving control signals from the device 100.

[0129] The device 100 has a computer system structure and includes a controller 101 and a non-volatile memory 102.

[0130] In non-volatile memory 102 computer program instructions are stored.

[0131] Here, the non-volatile memory 102 includes instructions for a computer program PG configured to be executed by the processor 101 and to implement a method for calculating an angle of the flux vector of an inductor in an observation frame of a synchronous or asynchronous polyphase motor equipped with an armature and said inductor, comprising a plurality of iterations, each iteration of the plurality of iterations comprising the steps implemented during the execution of the computer program instructions 103, 104, and 105.

[0132] Instructions 103, when executed by processor 101, lead to the implementation of an input data acquisition comprising armature voltage values, armature current values, one or more armature resistance values, and optionally one or more armature inductance values.

[0133] Instructions 104, when executed by processor 101, lead to the implementation of an estimation in the observation frame of the inducing flux vector of the iteration by an addition to an inducing flux vector obtained in the previous iteration of a function of said input data, the inducing flux vector pointing towards an estimated inducing flux point and starting from the origin of the observation frame.

[0134] Instructions 105, when executed by processor 101, lead to the implementation of a correction comprising: a determination of the center of a circle passing substantially through at least three points defined by the flux vector obtained by said estimation, and at least two flux vectors obtained at two iterations preceding the current iteration to deduce a center vector, and, obtaining the flux vector of the current iteration in which the flux vector obtained by said estimation is corrected using said center vector so that the corrected inductor flux vector points towards said estimated inductor flux point and starts from a point that approaches the center of said circle, this point being considered as the origin of the observation frame for the next iteration, the angle of the calculated inductor flux vector being the angular coordinate of the flux vector obtained by the correction.

[0135] Figure 2 is a flowchart showing the steps of a process according to an example. In this process, the Concordia frame is used at a and

[0136] The process is initialized in a step S0, this step being implemented only for the first iteration. In this step, we obtain: [°1371 [n«\ / 0 1 Von = 0 \ Rq / ' ^nwtorjni /

[0138] where Rq = (pv inl is an approximate and known initial value of the inductor flux, for example estimated from the temperature measurement, controlled on an asynchronous machine or estimated from the initial measurement of the inductor current in a wound-rotor synchronous machine. We also have tp® the flux at a at the initial iteration and % the flux at the initial iteration (the axes of the coordinate system are denoted by subscripts, as is the iteration).

[0139] We will now describe the process for an iteration of index n.

[0140] In a first step S100, input data is obtained including armature voltage values, armature current values, one or more armature resistance values, and optionally one or more inductance values ​​associated with the armature.

[0141] The figure shows the input data El, which includes armature phase voltages denoted {(Vi,V2,V3) i=[l.. Km]} (in fact, these voltages can be stored for different times with indices ranging from 1 to m, corresponding to a measurement window extending up to the iteration). Three-phase armature phase currents {(Ii,I2,I3) i=[l.. Km]},m are also obtained. It can be noted that the El data can be stored in a table for all the iterations or for a part of the iterations that precede the current iteration.

[0142] At step S100, input data E2 is also obtained, including the phase resistance of the armature windings Rs, the cyclic inductance of one armature phase Ls, and, for example, a time step AT between two electrical measurements (two consecutive indices for the data El).

[0143] These data may be constant from known information, or they may vary slightly from one iteration to another.

[0144] In the proposed implementation, no distinction is made between the cyclic inductance in the magnetization axis "Ld" and that at 90° to the magnetization axis "Lq": if the machine has salient poles, it is proposed as an approximation to consider a single value of inductance Ls = (Ld + Lq) / 2. Optionally, the inductance can be disregarded.

[0145] In step S101, the Concordia transform is used to convert the three-phase input data into data in the equivalent stationary two-phase (a,[3) armature frame:

[0148] With:

[0149] i_ / H1 4 / 2 4 / 2 1 [o ^ / 2 ^3 / 2]

[0150] We can then implement an S102 estimation of the inducing flux vector of the iteration by adding to an inducing flux vector obtained at the previous iteration a function of said input data.

[0151] For example, a state vector X for estimation is the inductor flux vector (^aX in the stationary frame of the armature.

[0152] The estimated state vector for the current iteration is calculated:

[0153] X^f (X^)+h„(Un)

[0154] Where:

[0155] ~ Y ~ " 1 rn-l 1 QT J

[0156] fn(x)=x~, I One= 0 - A T Us AT 0

[0157]

[0158]

[0159]

[0160]

[0161]

[0162]

[0163]

[0164] 0 -Ls 0 ' A T.Rs 0 -Ls. Here, the estimated output vector is also the estimated state vector: = X~ (iæ- the functions c„( x) = x and dn — 0 ). It can be noted that advantageously, the output vector includes hidden states of the system, i.e., states that are not directly measurable; this output can be used in an error vector for comparison with an indirect measurement from an absolute geometric model of the inductor's trajectory, for a later step, not used in the estimation step. A correction is then implemented, the first step of which is an S102 step to determine the center of a circle passing approximately through at least three points defined by the flux vector obtained by the aforementioned estimation, and at least two flux vectors obtained at two iterations preceding the current iteration, in order to deduce a center vector. By "approximately," we mean that if three points are used, the circle can pass through these points, and if more than three points are used, the circle can approach these three points (a minimization function can be used for this purpose). Here, the center of the circle is determined from 3 points (as can be seen in Figure 3 described below), namely the estimated flux a / and two other flows observed and memorized in the past ~ and inem\ . ~ a \ (possibly fixed to given values ​​for the first iterations). by noting / aM2Ml\ N\ i^a\ aV we have a \^M2fil X^MÏNl X^P! vector MÏH (visible in [Fig.3]) having the following coordinates: M\H = - 7(aM2 / (W| ¥- O-MiN

[0166] — । a'MiN (^Am^h^j^ 2(aM1 Ml PmIN~ aMlN MJ

[0167] This vector is a radius of the circle, and therefore:

[0168] RA- ^MlHa2 +MlHp2

[0169] The center of the circle -> __ (sa\ passing through these 3 points in the observation frame, as~ W for coordinates: « \ / M lHa \. 8= A J +

[0170] The optional steps S103 and S104 are test steps which allow the numerator and denominator of the coordinates of MÏH to be not numed, and therefore M \H and e to be numerically defined.

[0171] At step S103, a comparison is implemented of a distance between the flux vector obtained by said estimation with at least one of said at least two flux vectors obtained at two iterations preceding the present iteration with a given threshold.

[0172] In step S104, a trajectory is defined by said at least three points, the method further comprising a verification (S 104) of a condition relating to said trajectory, according to which an arc angle of the trajectory is greater than or equal to a given threshold, and / or according to which the radius of curvature is less than or equal to a given threshold.

[0173] For example, for step S103, if the square of the length MAN2-aMAN2 +PMÏN2 is greater than a minimum threshold >THLminj2, corresponding to the square of a minimum chord length parameterized as a fraction of the known minimum flux of the motor, and if the norm of the cross product It MW X MiMÏ II = |«M2m pm N-aM 1K uii «^pe S104)est supérieur at a minimum curvature threshold (or non-collinearity between these two vectors) THPValors e and R* are calculated at the current iteration as expressed previously.

[0174] Otherwise (SI step 10), they are replaced by the following values: q and RA «- R~ A , where R is the average radius of the circular trajectory of the flow, observed at the output of the low-pass filter at the iteration.

[0175] If both checks S103 and S103 are positive, the optional step S105, which verifies the direction of curvature of the trajectory, can be implemented. In fact, this verifies that the sign of the curvature is always the same. For example, a concave surface is defined.

[0176] If the curvature direction check fails, step S120 can be implemented in which the following assignments are made:

[0177] memZ mem 1

[0178] (p~ enemy n

[0179] And we implement step S110.

[0180] The correction itself is otherwise implemented. In the present example, the correction will be performed on the flux vector in a non-linear manner, in two sub-steps:

[0181] First, the correction is performed (step S106) by the center of the circle, where for this purpose the error vector is equal to the opposite of the center vector of the circle:

[0182] Z„ = 0- e

[0183] The correction function proposed in this example is simply a gain K, less than or equal to 1:

[0184] kn(Z,^=KxZn.

[0185] We calculate the pre-corrected state vector:

[0186] ( / >; = x; = x;, + *.-„(z„)

[0187] The same correction is applied to the previously stored flows of the trajectory (this correction being optional):

[0188] + kn(Ztl) T meml T memï x z

[0189] <p + k t(zn) 'me ml mem Z vz

[0190] Next, the correction (S107) is performed by the radius, by determining an observed radius Rn using a first-order digital low-pass filter with a digital gain 'a' less than 1, on the previously estimated radius

[0191] By taking up the observer formulation in estimated state model and correction, we can write for example the filter in the form of an error variable on the radius ZR n and a correction function kR n being a numerical gain constant 'a' of low-pass filter, less than 1:

[0192] ZRn = Rn-R~nA

[0193] kRn(ZRn) =axZRn

[0194] The extended state modeling at the radius realizing a first-order digital low-pass filter is then:

[0195] &=l*R^ + kRn(ZRn)

[0196] The corrected state vector is then calculated in a non-linear manner:

[0197] S = A.-lk; It

[0198] The angle sought of the inductor with respect to the armature is equal to the arctangent atan2( ar ar j applied to the coordinates of the flux vector observed at the iteration \" n [F ' na ) current.

[0199] If the center of the circle could be calculated at the current iteration, in other words if s is non-zero, then here the memories of the trajectory are updated in the following way for future iterations (S 108):

[0200] (p *- mem L * memi

[0201] «- (p~ meml n

[0202] Figure 3 is a schematic representation of the determination of the circle and its center. In this figure, the estimated flux vector ^A and the vectors 'n' are shown. stored m and m'. The center of the coordinate system O is not the center of the circle passing through me.m2 mem\ by these three points which is expected at point H.

[0203] The invention aims to have a flux vector starting from H, to take into account the circular trajectory of the flux vector. It involves updating the coordinate system at iteration, which recenters itself on the center of the circle.

[0204] Fig. 4 shows in its upper part: the position setpoint of an actuator in dashed line, the speed of the motor in dashed line, and the measured position of the actuator shaft, for a given motor and as a function of time.

[0205] The lower part of [Fig. 4] shows two signals observed by the inventors. The thick line shows the angular error of the flux vector obtained minus the actual electrical angle, by a method according to the invention, while the thin line shows the angular error of the flux vector minus the actual electrical angle obtained by the prior art solution described in the Shen document. In both cases, this angular error is defined as the difference between the angle provided by the method (according to the invention or according to the prior art solution) and the actual electrical angle of the motor. The closer this value is to zero, the more accurate the method.

[0206] As can be seen in the figure, we have a more accurate and more stable estimate of the angle of the flux vector with the process according to the example described here.

[0207] By way of example, implementing the method on an engine may lead to behaviors that illustrate this implementation. Various ways of observing this implementation are possible.

[0208] According to a first method, for example, for a synchronous machine of an actuator, the AC machine can be replaced by a wound-rotor synchronous machine, equipped with a real angular sensor, whose inductor current would be abruptly reduced in a ramp, without providing the information in the control part so that it always considers itself at the nominal inductor flux, in order not to counter-react by limiting the circle as explained previously.

[0209] This abrupt ramp variation can be applied well after initialization, in steady-state operation at moderate speed (approximately 1 / 3 of the base speed, for example), and with a load equal to one-quarter of the actuator's rated load. The ramp should reduce the flow by two-thirds of the nominal value, in a time corresponding to approximately 90 to 180 electrical degrees.

[0210] The expected positive result (i.e., implementation of the method, here using the boundary) may be a failure of the control section due to a very large angular error, or some other warning signal indicating an observability defect. Indeed, the actual trajectory of the inductor flux will not be circular, but a very tight spiral, inducing particularly inaccurate center-of-circle correction vectors. The angular error between the actual position sensor and the observer should be greater than 50° as long as the flux is reduced.

[0211] A second way of observing an implementation of the process, for any synchronous or induction AC machine, may include adding to the machine a means of drastically modifying its stator inductance L: either by an adjustable external inductance, or by saturation of the magnetic circuit, with the inductor in overcurrent, or some other means, etc. The self-inductance of the armature can thus vary quite rapidly in significant proportions (from single to triple, or from single to third), (in a few hundred ps).

[0212] An implementation of the method would demonstrate operation that is virtually insensitive to this variation, in both dynamic and steady-state conditions, possibly with an increase in angular error. A machine with an observer according to the prior art, on the other hand, is particularly sensitive to the armature inductance parameter, which is involved in both the estimation and correction stages. The expected angular error would be excessive: greater than 50° electrically.

[0213] A third way of observing an implementation of the process, for any synchronous or induction AC machine, consists of interposing an electronically controlled polyphase voltage source in series between the machine M and its inverter 300 illustrated by [Fig. 1]. This polyphase voltage source (three-phase for example) can be made by means of a transformer for example, an inverter connected to the secondary windings of the transformer, and an electronic control.

[0214] Initially, the polyphase voltage source can be controlled to produce zero voltages, allowing the system under test (analogous to the SYS system in [Fig. 1]) to operate normally. Subsequently, the polyphase voltage source would be controlled to add or subtract voltages in phase with the machine's back EMFs from the voltages applied to the motor. In this way, the control device implementing the method would control a machine that would virtually exhibit an apparent field flux (being the sum of the actual flux and the integral of the polyphase voltage source vector) that could be different from the machine's actual field flux vector, and that could be suddenly varied by the electronic control of the polyphase voltage source interposed between (at a position analogous to that located between the motor M and the inverter 300).

[0215] By this means, the flux of the virtual machine thus constituted (such as the series connection of the real machine with the polyphase voltage source) could, for example, be reduced by two-thirds of the nominal value, in a time corresponding to approximately 90 to 180 electrical degrees, as previously explained.

[0216] An implementation of the method described herein may lead to a stall of the control unit 100 due to a very large angular error, or to the emission of an observability fault warning signal. Indeed, the trajectory of the estimated inductor flux will not be circular, but a very tight spiral, inducing particularly inaccurate center-of-circle correction vectors.

Claims

Demands

1. A method for calculating an angle of the field flux vector in an observation frame of a synchronous or polyphase asynchronous motor equipped with an armature and said field, comprising a plurality of iterations, each iteration of the plurality of iterations except the first comprising: a / obtaining (S 100) input data including armature voltage values, armature current values, and at least one armature resistance value; b / estimating (S 101) in the observation frame, the field flux vector of the iteration by adding to a field flux vector obtained in the previous iteration a function of said input data, the field flux vector pointing to an estimated field flux point and originating from the origin of the observation frame, c / a correction comprising i.a determination (S 102) of the center of a circle passing substantially through at least three points defined by the flux vector obtained by said estimation, and at least two flux vectors obtained at two iterations preceding the current iteration to deduce a center vector, and, ii. a obtaining of the flux vector of the current iteration in which the flux vector obtained by said estimation is corrected (S 106, S107) using said center vector so that the corrected inductor flux vector points towards said estimated inductor flux point and starts from a point that approaches the center of said circle, this point being considered as the origin of the observation frame for the next iteration, the angle of the calculated inductor flux vector being the angular coordinate of the flux vector obtained by the correction.

2. A method according to claim 1, wherein the flux vector obtained by said estimation is corrected by means of a correction function added to the flux vector obtained by said estimation, the correction function being configured to receive as input an error vector comprising said center vector, the error vector optionally being affected by a coefficient.

3. A method according to claim 2, wherein the correction function is chosen from: filtering the error vector, multiplication by a constant or variable gain matrix in the time of the error vector, a multiplication by a variable gains matrix based on a variation calculus or based on a Kalman filter, a non-linear function, for example a gain times sign function, a sigmoid function, a sign times absolute value square root function, a sign times integer or non-integer power function of the absolute value, a hyperbolic tangent function, a sine function receiving an input bounded to the interval [_ 2.- il, a L 5 2 J combination of one or more of the said non-linear functions.

4. A method according to any one of claims 1 to 3, further comprising a correction of said at least two flux vectors obtained at two iterations preceding the current iteration.

5. A method according to claim 4, wherein the motor is a synchronous motor whose inductor is a wound rotor, or an asynchronous machine, wherein the correction of said at least two flux vectors obtained at two iterations preceding the current iteration is implemented, by determining a ratio between the magnitude of an inductor flux vector controlled at the current iteration and the magnitude of the inductor flux controlled or obtained at a previous iteration, or by determining a ratio between the inductor current controlled or obtained at the current iteration and the inductor current obtained at a previous iteration.

6. A method according to any one of the preceding claims, comprising a processing of the flux vector obtained for the current iteration, wherein the radius of said circle is obtained, and wherein this radius is bounded and filtered in time, and the norm of the flux vector is modified taking into account said bounded and filtered radius.

7. A method according to any one of claims 1 to 6, further comprising a modification of the angular coordinate of the observed flux vector by the addition of a compensation term that is a function of the rotational speed of the motor.

8. A method according to any one of claims 1 to 7, comprising a comparison (S 103) of a distance between the flux vector obtained by said estimation with at least one of said at least two flux vectors obtained at two iterations preceding the present iteration with a given threshold, and in which step ii is triggered based on the result of said comparison.

9. A method according to any one of claims 1 to 8, wherein a trajectory is defined by said at least three points, the method further comprising a verification (S 104) of a condition relating to said trajectory, according to which an arc angle of the trajectory is greater than or equal to a given threshold, and / or according to which the radius of curvature is less than or equal to a given threshold, and wherein step ii is triggered according to the result of said comparison.

10. A method according to any one of claims 1 to 9, wherein a trajectory is defined by said at least three points, the method further comprising a check (S 105) of a direction of curvature of the trajectory, and wherein step ii is triggered according to the result of said check.

11. A method according to any one of claims 1 to 10, wherein the iterations are carried out at a frequency lower than the frequency of a PWM signal supplying the phases of the motor.

12. Device for calculating an angle of the field flux vector in an observation frame of a synchronous or polyphase asynchronous motor equipped with an armature and said field, comprising a controller configured to carry out a plurality of iterations, each iteration of the plurality of iterations except the first comprising: a / obtaining input data including armature voltage values, armature current values, and at least one armature resistance value; b / estimating in the observation frame, the field flux vector by adding to a field flux vector of the iteration obtained in the previous iteration a numerical integration of a function of said input data, the field flux vector pointing to an estimated field flux point and originating from the origin of the observation frame, c / a correction comprising i.a determination of the center of a circle passing substantially through at least three points defined by the flux vector obtained by said estimation, and at least two flux vectors obtained at two iterations preceding the present iteration to deduce a center vector, so that the corrected inductor flux vector points towards said. estimated inductor flux point and starts from a point that approaches the center of said circle, this point being considered as the origin of the observation frame for the next iteration, and, ii. obtaining the flux vector of the present iteration in which the flux vector obtained by said estimation is corrected using said center vector, the angle of the calculated inductor flux vector being the angular coordinate of the flux vector obtained by the correction.

13. System comprising a device according to claim 12, and said motor.

14.

15. Actuator comprising a system according to claim 13. Actuator according to claim 14, configured for use within a vehicle transmission, or configured to be a traction or propulsion actuator for the vehicle.

16. A computer program comprising instructions for carrying out the steps of a process according to any one of claims 1 to 12, when said program is executed by a computer.

17. Computer-readable recording medium on which is recorded a computer program comprising instructions for carrying out the steps of a process according to any one of claims 1 to 12.