Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD FOR DIAGNOSING THE CURRENT CONTROL OF AN ELECTRIC MOTOR OF AN AUTOMOTIVE VEHICLE
Document Type and Number:
WIPO Patent Application WO/2017/178744
Kind Code:
A1
Abstract:
The subject matter of the present invention is a method for diagnosing a control fault in a three-phase electric motor current-controlled by a control signal. The method makes it possible to calculate (E5) the actual dead time present in each of the three control signals at a given instant in time on the basis of compensated time shifts for each phase of the motor, of a predetermined measurement error common to the three phases of the motor and of a value of the amplitude of the current flowing through the transistors of the three pairs of transistors at said given instant in time in order to detect (E10) a control fault in the motor when the absolute value of the calculated difference is higher than a predetermined detection threshold.

Inventors:
PARETTE MICHEL (FR)
Application Number:
PCT/FR2017/050856
Publication Date:
October 19, 2017
Filing Date:
April 10, 2017
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
CONTINENTAL AUTOMOTIVE FRANCE (FR)
CONTINENTAL AUTOMOTIVE GMBH (DE)
International Classes:
H02M1/32; H02M1/38; H02M7/219; H02P27/08; H02P29/024
Foreign References:
US20090066384A12009-03-12
US20060006834A12006-01-12
Other References:
None
Attorney, Agent or Firm:
CONTINENTAL AUTOMOTIVE FRANCE (FR)
Download PDF:
Claims:
REVENDICATIONS

1. Procédé de diagnostic d'un défaut de commande d'un moteur (2) électrique triphasé, chaque phase dudit moteur (2) étant commandée en courant par un signal de commande (U, V, W), ledit signal de commande (U, V, W) étant modulé en largeur d'impulsion et étant généré au point milieu d'un ensemble formé par un transistor dit « d'étage haut » connecté à la batterie du véhicule et un transistor dit « d'étage bas » connecté à la masse à partir d'un signal d'étage haut (SEH1 ) reçu par le transistor d'étage haut et d'un signal d'étage bas (SEB1 ) reçu par le transistor d'étage bas, le signal d'étage haut (SEHI ) et le signal d'étage bas (SEB1 ) étant des signaux modulés en largeur d'impulsion, inversés l'un par rapport à l'autre et dont chaque état haut du signal d'étage haut (SEHI ) est centré avec un état bas du signal d'étage bas (SEB1 ), ledit procédé comprenant les étapes suivantes :

• pour chaque signal de commande (U, V, W) d'une phase du moteur (2),

- génération (E1 ) du signal d'étage haut (SEHI ) et du signal d'état bas (SEB1 ), le début (t2) d'un état haut du signal d'état haut étant décalé temporellement d'une durée (MotPwmDiffTheo) appelée « temps mort inséré » par rapport au début (t2) de l'état bas correspondant du signal d'état bas,

- génération (E3) du signal de commande (U, V, W) à partir du signal d'étage haut (SEH1 ) et du signal d'état bas (SEB1 ) générés,

- mesure et formatage (E4) du signal de commande,

- calcul (E5) de la différence {MotPwmDiffU, MotPwmDiffV, MotPwmDiffW) entre la durée (MotPwmExpected) d'un état haut du signal d'étage haut généré additionnée de la valeur du temps mort inséré (MotPwmDiffTheo) et la durée (MotPwmFbk) du signal de commande formaté

{MotPwmFbkU, MotPwmFbkV, MotPwmFbkW), ladite différence

{MotPwmDiffU, MotPwmDiffV, MotPwmDiffW) évoluant de manière sinusoïdale dans le temps (t),

- compensation (E6) de la différence (MotPwmDiffU, MotPwmDiffV, MotPwmDiffW) calculée afin qu'elle oscille autour d'une valeur nulle en fonction du temps (t),

• calcul (E8) du temps mort réel (MotPwmDiffCalc) présent dans chacun des trois signaux de commande à un instant donné à partir des décalages temporels compensés (MotPwmDif fCorrU, MotPwmDif fCorrV, MotPwmDif fCorrW) pour chaque phase du moteur (2), d'une erreur (MotPwmDif f Initial) prédéterminée de mesure commune aux trois phases du moteur (2) et de la valeur de l'amplitude du courant (I) circulant dans les transistors des trois couples de transistors audit instant donné,

• calcul (E9) de la différence (D) entre le temps mort calculé (MotPwmDif f Cale) et le temps mort inséré (MotPwmDif f Théo),

• détection (E 10) d'un défaut de commande du moteur (2) lorsque la valeur absolue de la différence (D) calculée est supérieure à un seuil de détection (SD) prédéterminé.

2. Procédé selon la revendication 1 , comprenant une étape (E7) de détermination de l'erreur de mesure (MotPwmDif f Initial) commune aux trois phases du moteur (2), cette détermination étant réalisée en faisant la moyenne des décalages temporels calculés à courant nul circulant dans le transistor d'étage haut et le transistor d'étage bas pour chaque phase du moteur (2).

3. Procédé selon l'une des revendications 1 et 2, dans lequel le calcul du temps mort réel dans chacun des trois signaux de commande formaté (MotPwmFbkU, MotPwmFbkV, MotPwmFbkW) à un instant donné comprend :

• le calcul de la pente (A) d'une droite représentant l'évolution du temps mort (TM) en fonction du courant (I),

• le calcul d'une différence entre la valeur du temps mort inséré (MotPwmDif f Théo) corrigée de l'erreur prédéterminée de mesure (MotPwmDif f Initial) et la valeur du temps mort à une amplitude de courant (I) donnée à partir de la valeur de pente (A) calculée.

4. Procédé selon la revendication 3, dans lequel la pente (A) de la droite représentant l'évolution du temps mort en fonction du courant est calculée selon l'équation suivante :

MotPwmDif f Initial ,„ T

Mo tPwmD if fTheo — Mo tPwmD if fL inlnit

A = 1

IphAmpMax-IphAmpLinThr

où MotPwmDif flinlnit est la valeur du temps mort correspondant au seuil de courant IphAmpLinThr à partir duquel le temps mort évolue de façon linéaire en fonction du courant et IphAmpMax est la valeur d'amplitude maximale du courant.

5. Procédé selon la revendication 4, dans lequel la différence

(MotPwmDif flphCorr) entre la valeur du temps mort inséré (MotPwmDif f Théo) corrigée de la moitié de l'erreur prédéterminée de mesure (MotPwmDiff Initial) et la valeur du temps mort (TM(I)) à une amplitude de courant (I) donnée est calculée selon l'équation suivante :

MotPwmDiff IphCorr = (IphAmpMax— ampl(i)) x A

6. Procédé selon la revendication 4, dans lequel le calcul du temps mort réel (MotPwmDiff Cale) est réalisé selon l'équation suivante :

. X . MotPwmDif f Initial

MotPwmDiff Cale = MotPwmDif f IphCorr + - + 1 avec X = abs(mm(MotPwmDiffCorrU, MotPwmDif fCorrV, MotPwmDif fCorrW) + max(MotPwmDif f CorrU , MotPwmDif fCorrV, MotPwmDif fCorrW)).

7. Dispositif (1 ) de diagnostic d'un défaut de commande d'un moteur (2) électrique triphasé, chaque phase dudit moteur (2) étant commandée en courant par un signal de commande (U, V, W), ledit signal de commande (U, V, W) étant modulé en largeur d'impulsion et étant généré au point milieu d'un ensemble formé par un transistor dit « d'étage haut » connecté à la batterie (B) du véhicule et un transistor dit « d'étage bas » connecté à la masse (M) à partir d'un signal d'étage haut (SEHI ) reçu par le transistor d'étage haut et d'un signal d'étage bas (SEB1 ) reçu par le transistor d'étage bas, le signal d'étage haut (SEHI ) et le signal d'étage bas (SEB1 ) étant des signaux modulés en largeur d'impulsion, inversés l'un par rapport à l'autre et dont chaque état haut du signal d'étage haut (SEHI ) est centré avec un état bas du signal d'étage bas (SEB1 ), ledit dispositif (1 ) comprenant :

• un microcontrôleur (100) configuré pour générer, pour chaque signal de commande (U, V, W) d'une phase du moteur (2), un signal d'étage haut (SEH1 ) et un signal d'état bas (SEB1 ), le début (t2) d'un état haut du signal d'état haut étant décalé temporellement d'une durée appelée « temps mort inséré » (MotPwmDif f Théo) par rapport au début (t2) de l'état bas correspondant du signal d'état bas (SEB1 ),

• un amplificateur (200) configuré pour amplifier lesdits signaux d'étage haut (SEH1 ) et d'étage bas (SEB1 ),

• un onduleur (300) configuré pour générer, pour chaque phase du moteur (2), un signal de commande (U, V, W) à partir d'un couple de signaux d'étage haut (SEH1 ) et d'état bas (SEB1 ) amplifiés,

• un module de mesure (400) configuré pour mesurer et formater les signaux de commande (U, V, W) générés, le microcontrôleur (100) étant en outre configuré pour :

• pour chaque signal de commande (U, V, W) d'une phase du moteur (2), calculer la différence {MotPwmDiffU, MotPwmDiffV, MotPwmDiffW) entre la durée d'un état haut du signal d'étage haut (SEH1 ) généré additionnée de la valeur du temps mort inséré (MotPwmDiffTheo) et la durée (MotPwmFbk) du signal de commande (MotPwmFbkU, MotPwmFbkV, MotPwmFbkW) formaté, ladite différence (MotPwmDiffU, MotPwmDiffV, MotPwmDiffW) évoluant de manière sinusoïdale dans le temps (t),

• pour chaque signal de commande (U, V, W) d'une phase du moteur (2), compenser la différence {MotPwmDiffU, MotPwmDiffV, MotPwmDiffW) calculée afin qu'elle oscille autour d'une valeur nulle en fonction du temps (t),

• calculer le temps mort réel (MotPwmDiffCalc) présent dans chacun des trois signaux de commande à un instant donné à partir des décalages temporels compensés (MotPwmDif f CorrU , MotPwmDif fCorrV , MotPwmDif fCorrW) pour chaque phase du moteur (2), d'une erreur (MotPwmDif f Initial) prédéterminée de mesure commune aux trois phases du moteur (2) et de la valeur de l'amplitude du courant (I) circulant dans les transistors des trois couples de transistors audit instant donné,

• calculer la différence (D) entre le temps mort calculé (MotPwmDiffCalc) et le temps mort inséré (MotPwmDiffTheo),

• détecter un défaut de commande du moteur (2) lorsque la valeur absolue de la différence (D) calculée est supérieure à un seuil de détection (SD) prédéterminé.

8. Dispositif (1 ) selon la revendication 7, configuré pour déterminer l'erreur de mesure (MotPwmDif f Initial) commune aux trois phases du moteur (2), cette détermination étant réalisée en faisant la moyenne des décalages temporels calculés à courant nul circulant dans le transistor d'étage haut et le transistor d'étage bas pour chaque phase du moteur (2).

9. Dispositif (1 ) selon l'une des revendications 7 et 8, configuré pour calculer la pente (A) d'une droite représentant l'évolution du temps mort en fonction du courant (I), et pour calculer une différence entre la valeur du temps mort inséré (MotPwmDiffTheo) corrigée de l'erreur prédéterminée de mesure (MotPwmDif f Initial) et la valeur du temps mort à une amplitude de courant (I) donnée à partir de la valeur de pente (A) calculée afin de calculer le temps mort réel (MotPwmDiffCalc) dans chacun des trois signaux de commande formaté (MotPwmFbkU , MotPwmFbkV , MotPwmFbkW) à un instant donné.

10. Dispositif (1 ) selon la revendication 9, dans lequel la pente (A) de la droite représentant l'évolution du temps mort en fonction du courant (I) est calculée selon l'équation suivante :

où MotPwmDiffLinIn.it est la valeur du temps mort correspondant au seuil de courant IphAmpLinThr à partir duquel le temps mort évolue de façon linéaire en fonction du courant et IphAmpMax est la valeur d'amplitude maximale du courant, la différence (MotPwmDif flphCorr) entre la valeur du temps mort inséré (MotPwmDif f Théo) corrigée de la moitié de l'erreur prédéterminée de mesure (MotPwmDif f Initial) et la valeur du temps mort (TM(I)) à une amplitude de courant donnée I est calculée selon l'équation suivante :

MotPwmDif flphCorr = (IphAmpMax— ampl(i)) x A

Et la détermination du temps mort observé (MotPwmDif f Cale) est réalisée selon l'équation suivante :

X MotPwmDif f Initial

MotPwmDif f Cale = MotPwmDif flphCorr H h

2

X = abs(mm(MotPwmDif fCorrU, MotPwmDif fCorrV, MotPwmDif f Ci

(MotPwmDif f CorrU , MotPwmDif fCorrV, MotPwmDif fCorrW)).

Description:
Procédé de diagnostic de la commande en courant d'un moteur électrique d'un véhicule automobile

L'invention concerne le domaine de l'automobile et concerne plus particulièrement un procédé de diagnostic de la commande en courant d'un moteur électrique d'un véhicule automobile. L'invention s'applique notamment à la commande en courant d'un moteur électrique triphasé.

Dans un véhicule automobile à moteur électrique triphasé, la commande du moteur est réalisée de manière connue en utilisant trois signaux alternatifs de commande en courant fournis par un dispositif de commande.

Dans une solution existante illustrée à la figure 1 , ce dispositif 1 A comprend un microcontrôleur 10, un amplificateur 20 et un étage de puissance se présentant sous la forme d'un onduleur 30 permettant de générer ces trois signaux U, V, W de commande en courant du moteur 2.

Plus précisément, le microcontrôleur 10 génère tout d'abord six signaux primaires alternatifs (deux par phase du moteur 2) modulés en largeur d'impulsion (« Pulse-Width Modulation » ou PWM en langue anglaise) de faible amplitude, correspondant à l'amplitude du signal d'alimentation du microcontrôleur 10, par exemple de l'ordre de 5 V. Ces signaux présentent chacun une alternance d'états hauts (ou états actifs) et d'états bas (ou états inactifs).

Ces signaux sont ensuite amplifiés par l'amplificateur 20 pour atteindre par exemple une amplitude de l'ordre de 20 V (quand la tension B de batterie du véhicule est de l'ordre de 10V, par exemple) puis transmis à l'onduleur 30 qui délivre en sortie les trois signaux U, V, W de commande en courant du moteur 2 se présentant également comme une alternance d'états hauts et d'états bas. Chaque phase du moteur 2 est alors commandée de manière connue par le déphasage existant respectivement entre deux des trois signaux de commande U, V, W deux à deux.

A cette fin, l'onduleur 30 comprend trois couples de transistors de type MOSFET générant chacun l'un des trois signaux U, V, W de commande en courant du moteur 2. Dans chaque couple de transistor, l'un des transistors (étage haut) est connecté à la borne positive de la batterie B du véhicule tandis que l'autre (étage bas) est connecté à la masse M. Les deux transistors d'un couple reçoivent chacun un signal primaire amplifié, ces deux signaux primaires amplifiés étant centrés (c'est-à-dire les centres des créneaux coïncident) mais inversés. En pratique, les créneaux de ces signaux primaires amplifiés ne sont pas carrés mais présentent une pente à la montée et une pente à la descente.

Afin d'éviter que les deux transistors d'un même couple ne laissent passer le courant en même temps, ce qui connecterait la tension de batterie à la masse (court- circuit) et pourrait endommager le dispositif de commande 1 A voire le moteur 2, le microcontrôleur 10 observe un temps mort entre un créneau du signal primaire destiné à l'étage haut d'un couple de transistors donné et le créneau associé du signal primaire destiné à l'étage bas dudit couple. En pratique, comme illustré dans l'exemple donné à la figure 2, les deux signaux d'étage haut SEHI et d'étage bas SEB1 restent centrés mais la largeur d'un des deux signaux primaires (le signal d'étage haut SEHI dans cet exemple) est réduite afin d'éviter que les deux signaux SEH1 et SEB1 soient simultanément à l'état actif.

On a représenté aux figures 3 à 6 des exemples de signaux du dispositif de commande 1 A (illustrés pour un cycle de signal PWM). Plus précisément, la figure 3 illustre un signal d'étage haut SEHI généré par le microcontrôleur 10 à destination d'un transistor d'étage haut d'un couple de transistors, la figure 4 illustre le signal SEH2 de sortie dudit transistor d'étage haut, la figure 5 illustre un signal d'étage bas SEB1 généré par le microcontrôleur 10 à destination du transistor d'étage bas dudit couple de transistors et la figure 6 illustre le signal SEB2 de sortie dudit transistor d'étage bas. On observe ainsi sur les figures 3 et 5 que le microcontrôleur 10 observe un temps mort MotPwmDiffTheo entre la fin ti d'un état actif du signal d'étage bas SEB1 et le début t 2 d'un état actif du signal d'étage haut SEHI . On observe sur la figure 4 qu'un délai di de mise en fonctionnement est nécessaire au transistor d'étage haut suivi d'un temps de montée d 2 afin que le signal de sortie SEH2 du transistor atteigne l'état actif puis qu'un délai d 3 de mise à l'arrêt du transistor est nécessaire suivi d'un temps de descente d 4 du signal de sortie SEH2 jusqu'à l'état inactif du transistor. Similairement, on observe sur la figure 6 qu'un délai d 5 de mise à l'arrêt est nécessaire au transistor d'étage bas suivi d'un temps de descente d 6 afin que le signal de sortie SEB2 du transistor atteigne l'état inactif puis qu'un délai d 7 de mise en fonctionnement du transistor est nécessaire suivi d'un temps de montée d 8 du signal de sortie SEB2 jusqu'à l'état actif du transistor.

Le temps mort MotPwmDiffTheo observé par le microcontrôleur 10 entre deux signaux primaires destinés à un couple de transistors, appelé par la suite temps mort inséré, est limité à 500 ns afin de ne pas dégrader les performances du moteur 2. En effet, une augmentation de la durée du temps mort MotPwmDiffTheo entraine une diminution de la largeur des états hauts SEH1 des signaux U, V, W de commande du moteur 2 et donc une commande en courant moins efficace du moteur 2, notamment au- delà de 500 ns de temps mort.

Afin de diagnostiquer un contrôle défaillant du moteur 2, il est connu de mesurer le temps mort réel présent dans les signaux de commande. Dans une première solution existante, on mesure les six signaux primaires SEH1 , SEB1 générés par le microcontrôleur 10. Toutefois, une telle solution permet uniquement de diagnostiquer un défaut sur les temps morts insérés par le microcontrôleur 10, c'est-à-dire un défaut du microcontrôleur 10 lui-même. Or, on constate que la durée du temps mort inséré par le microcontrôleur 10 dans les signaux primaires SEH1 , SEB1 peut être modifiée par l'amplificateur 20 ou l'onduleur 30. En effet, lors de l'utilisation du véhicule, un échauffement des transistors de l'onduleur 30 peut se produire et modifier la durée des temps morts des signaux de commande U, V, W en sortie de l'onduleur 30, ce qui peut dégrader la commande en courant du moteur 2. Aussi, dans une deuxième solution existante, le dispositif 1 A comprend un module de mesure 40 qui détermine les instants de montée des signaux de commandes U, V, W et les compare aux instants de montée des signaux primaires SEH1 , SEB1 générés par le microcontrôleur 10. Une telle solution ne permet toutefois pas de détecter un défaut du microcontrôleur 10. De plus, les temps de latence pour faire de tels calculs ne permettent d'obtenir une précision que de l'ordre de la microseconde, soit le double de la durée maximal d'un temps mort (500 ns), d'autant que le temps mort est impacté par les effets du courant circulant dans les transistors, les erreurs de mesure induites par le module de mesure 40, les délais introduits par les filtres électroniques et les temps de montée et de descentes des signaux primaires SEH1 , SEB1 et des signaux de commande U, V, W, ce qui rend la méthode imprécise voire aléatoire et présente donc un inconvénient majeur.

L'invention a pour but de résoudre au moins en partie ces inconvénients en proposant une solution simple, fiable et efficace pour mesurer les temps morts insérés dans les signaux de commande d'un moteur électrique.

A cette fin, l'invention a tout d'abord pour objet un procédé de diagnostic d'un défaut de commande d'un moteur électrique triphasé, chaque phase dudit moteur étant commandée en courant par un signal de commande, ledit signal de commande étant modulé en largeur d'impulsion et étant généré au point milieu d'un ensemble formé par un transistor dit « d'étage haut » connecté à la batterie du véhicule et un transistor dit « d'étage bas » connecté à la masse à partir d'un signal d'étage haut reçu par le transistor d'étage haut et d'un signal d'étage bas reçu par le transistor d'étage bas, le signal d'étage haut et le signal d'étage bas étant des signaux modulés en largeur d'impulsion, inversés l'un par rapport à l'autre et dont chaque état haut du signal d'étage haut est centré avec un état bas du signal d'étage bas, ledit procédé comprenant, les étapes suivantes :

• pour chaque signal de commande d'une phase du moteur,

- génération du signal d'étage haut et du signal d'état bas, le début d'un état haut du signal d'état haut étant décalé temporellement d'une durée appelée « temps mort inséré » par rapport au début de l'état bas correspondant du signal d'état bas,

- génération du signal de commande à partir du signal d'étage haut et du signal d'état bas générés,

- mesure et formatage du signal de commande,

- calcul de la différence entre la durée d'un état haut du signal d'étage haut généré additionnée de la valeur du temps mort inséré et la durée du signal de commande formaté, ladite différence évoluant de manière sinusoïdale dans le temps,

- compensation de la différence calculée afin qu'elle oscille autour d'une valeur nulle en fonction du temps,

• calcul du temps mort réel présent dans chacun des trois signaux de commande à un instant donné à partir des décalages temporels compensés pour chaque phase du moteur, d'une erreur prédéterminée de mesure commune aux trois phases du moteur et de la valeur de l'amplitude du courant circulant dans les transistors des trois couples de transistors audit instant donné,

• calcul de la différence entre le temps mort calculé et le temps mort inséré,

• détection d'un défaut de commande du moteur lorsque la valeur absolue de la différence calculée est supérieure à un seuil de détection prédéterminé.

Le procédé selon l'invention permet de calculer en temps réel le temps mort réel afin de prendre en compte les effets négatifs des transistors et filtres sur le temps mort inséré. Le temps mort réel est calculé finement à partir des signaux de commande mesurés et formatés. Le procédé permet ainsi de mesurer avec précision, de l'ordre de 250 ns, le temps mort réel présent dans les signaux de commande afin de détecter efficacement un défaut desdits signaux de commande.

Selon un aspect de l'invention, le procédé comprend une étape de détermination de l'erreur de mesure commune aux trois phases du moteur, cette détermination étant réalisée en faisant la moyenne des décalages temporels calculés à courant nul circulant dans le transistor d'étage haut et le transistor d'étage bas pour chaque phase du moteur.

Avantageusement le calcul du temps mort réel dans chacun des trois signaux de commande formaté à un instant donné comprend :

• le calcul de la pente d'une droite représentant l'évolution du temps mort en fonction du courant,

· le calcul d'une différence entre la valeur du temps mort inséré corrigée de l'erreur prédéterminée de mesure et la valeur du temps mort à une amplitude de courant donnée à partir de la valeur de pente calculée. Avantageusement encore, la pente de la droite représentant l'évolution du temps mort en fonction du courant est calculée selon l'équation suivante :

MotPwmDiff Initial

MotPwmD iffTheo — MotPwmD iffLinlmt

A = z

IphAmpMax- IphAmpLinThr

où MotPwmDiff Théo est le temps mort inséré, MotPwmDiff Initial est l'erreur de mesure commune aux trois phases du moteur, MotPwmDiff Linlnit est la valeur du temps mort correspondant au seuil de courant IphAmpLinThr à partir duquel le temps mort évolue de façon linéaire en fonction du courant et IphAmpMax est la valeur d'amplitude maximale du courant.

De manière préférée, la différence entre la valeur du temps mort inséré corrigée de la moitié de l'erreur prédéterminée de mesure et la valeur du temps mort à une amplitude de courant donnée est calculée selon l'équation suivante :

MotPwmDiff IphCorr = {IphAmpMax— ampl i)) x A

où ampl(i) est l'amplitude de courant (I) donnée.

De préférence encore, le calcul du temps mort réel est réalisé selon l'équation suivante :

. X . MOtPwmDlf f Initial

MotPwmDiff Cale = MotPwmDiff IphCorr + - + 1

avec X =

abs(mm(MotPwmDiffCorrU, MotPwmDif fCorrV , MotPwmDif f CorrW) +

max(MotPwmDif f CorrU , MotPwmDif fCorrV, MotPwmDif f CorrW)).

L'utilisation d'une droite théorique permet d'affiner le calcul du temps mort de sorte que son calcul soit possible avec une précision de l'ordre de 250 ns ou moins.

L'invention concerne aussi un dispositif de diagnostic d'un défaut de commande d'un moteur électrique triphasé, chaque phase dudit moteur étant commandée en courant par un signal de commande, ledit signal de commande étant modulé en largeur d'impulsion et étant généré au point milieu d'un ensemble formé par un transistor dit « d'étage haut » connecté à la batterie du véhicule et un transistor dit « d'étage bas » connecté à la masse à partir d'un signal d'étage haut reçu par le transistor d'étage haut et d'un signal d'étage bas reçu par le transistor d'étage bas, le signal d'étage haut et le signal d'étage bas étant des signaux modulés en largeur d'impulsion, inversés l'un par rapport à l'autre et dont chaque état haut du signal d'étage haut est centré avec un état bas du signal d'étage bas, ledit dispositif comprenant :

• un microcontrôleur configuré pour générer, pour chaque signal de commande d'une phase du moteur, un signal d'étage haut et un signal d'état bas, le début d'un état haut du signal d'état haut étant décalé temporellement d'une durée appelée « temps mort inséré » par rapport au début de l'état bas correspondant du signal d'état bas, • un amplificateur configuré pour amplifier lesdits signaux d'étage haut et d'étage bas,

• un onduleur configuré pour générer, pour chaque phase du moteur, un signal de commande à partir d'un couple de signaux d'étage haut et d'état bas amplifiés, « un module de mesure configuré pour mesurer et formater les signaux de commande générés,

le microcontrôleur étant en outre configuré pour :

• pour chaque signal de commande d'une phase du moteur, calculer la différence entre la durée d'un état haut du signal d'étage haut généré additionnée de la valeur du temps mort inséré et la durée du signal de commande formaté, ladite différence évoluant de manière sinusoïdale dans le temps,

• pour chaque signal de commande d'une phase du moteur, compenser la différence calculée afin qu'elle oscille autour d'une valeur nulle en fonction du temps,

· calculer le temps mort réel présent dans chacun des trois signaux de commande à un instant donné à partir des décalages temporels compensés pour chaque phase du moteur, d'une erreur prédéterminée de mesure commune aux trois phases du moteur et de la valeur de l'amplitude du courant circulant dans les transistors des trois couples de transistors audit instant donné,

· calculer la différence entre le temps mort calculé et le temps mort inséré,

• détecter un défaut de commande du moteur lorsque la valeur absolue de la différence calculée est supérieure à un seuil de détection prédéterminé.

Selon une caractéristique de l'invention, le dispositif est configuré pour déterminer l'erreur de mesure commune aux trois phases du moteur, cette détermination étant réalisée en faisant la moyenne des décalages temporels calculés à courant nul circulant dans le transistor d'étage haut et le transistor d'étage bas pour chaque phase du moteur.

Selon une autre caractéristique de l'invention, le dispositif est configuré pour calculer la pente d'une droite représentant l'évolution du temps mort en fonction du courant, et pour calculer une différence entre la valeur du temps mort inséré corrigée de l'erreur prédéterminée de mesure et la valeur du temps mort à une amplitude de courant donnée à partir de la valeur de pente calculée afin de calculer le temps mort réel dans chacun des trois signaux de commande formaté à un instant donné.

De préférence, la pente de la droite représentant l'évolution du temps mort en fonction du courant est calculée selon l'équation suivante :

MotPwmDiff Initial ,„ „. c c „. T

MotPwmD if fTheo — MotPwmD iffLinlnit

A = 1

IphAmpMax-IphAmpLinThr où MotPwmDiff Théo est le temps mort inséré, MotPwmDiff Initial est l'erreur de mesure commune aux trois phases du moteur, MotPwmDiffLinInit est la valeur du temps mort correspondant au seuil de courant IphAmpLinThr à partir duquel le temps mort évolue de façon linéaire en fonction du courant et IphAmpMax est la valeur d'amplitude maximale du courant.

De préférence encore, la différence (MotPwmDiff IphCorr) entre la valeur du temps mort inséré (MotPwmDiff Théo) corrigée de la moitié de l'erreur prédéterminée de mesure (MotPwmDiff Initial) et la valeur du temps mort (TM(I)) à une amplitude de courant donnée I est calculée selon l'équation suivante :

MotPwmDiff IphCorr = (IphAmpMax— ampl(i)) x A

Avantageusement, la détermination du temps mort observé (MotPwmDiff Cale) est réalisée selon l'équation suivante :

. X . MotPwmDif f Initial

MotPwmDiff Cale = MotPwmDif f IphCorr + - + 1

avec X abs mm(MotPwmDiffCorrU, MotPwmDif fCorrV, MotPwmDif fCorrW) +

max(MotPwmDif f CorrU , MotPwmDif fCorrV, MotPwmDif fCorrW)).

L'invention concerne également un véhicule automobile comprenant un dispositif tel que présenté précédemment.

D'autres caractéristiques et avantages de l'invention apparaîtront lors de la description qui suit faite en regard des figures annexées données à titre d'exemples non limitatifs et dans lesquelles des références identiques sont données à des objets semblables.

- La figure 1 illustre schématiquement un dispositif de commande et de diagnostic des signaux de commande en courant d'un moteur électrique de l'art antérieur.

- La figure 2 est un exemple de signaux d'étage haut et bas initiaux générés par un microcontrôleur.

- La figure 3 est un exemple de signal d'étage haut initial généré par un microcontrôleur.

- La figure 4 est un exemple de signal de sortie d'un transistor d'étage haut ayant reçu le signal de la figure 3.

- La figure 5 est un exemple de signal d'étage bas initial généré par un microcontrôleur.

- La figure 6 est un exemple de signal de sortie d'un transistor d'étage bas ayant reçu le signal de la figure 5. - La figure 7 est un exemple de signal de commande formaté par un module de mesure.

- La figure 8 illustre schématiquement un dispositif de commande et de diagnostic des signaux de commande en courant d'un moteur électrique selon l'invention.

- La figure 9 illustre schématiquement les variations temporelles des différences entre les durées attendues et les durées des états hauts des signaux initiaux pour les trois phases du moteur.

- La figure 10 illustre schématiquement les différences de la figure 9 qui ont été centrées pour varier autour de zéro.

- La figure 11 illustre schématiquement l'évolution du temps mort réel en fonction du courant.

- La figure 12 illustre un mode de réalisation du procédé selon l'invention. Le dispositif selon l'invention est destiné à être monté dans un véhicule automobile à moteur électrique afin de commander en courant ledit moteur et de diagnostiquer un défaut de commande dudit moteur.

En référence à la figure 8, le moteur électrique 2 est un moteur à trois phases U, V, W ou moteur triphasé mais il va de soi que l'invention pourrait s'appliquer à tout moteur électrique de véhicule automobile.

Chaque phase U, V, W du moteur 2 est commandée en courant par un signal de commande, respectivement U, V, W, généré par le dispositif de commande 1 B.

A cette fin, le dispositif de commande 1 B comprend un microcontrôleur 100, un amplificateur 200 et un étage de puissance se présentant sous la forme d'un onduleur 300.

Le microcontrôleur 100 est configuré pour générer trois couples de signaux de tension modulés en largeur d'impulsion (« Pulse-Width Modulation » ou PWM en langue anglaise), appelés signaux initiaux et dont un seul couple a été représenté sur les figures 3 et 5 par souci de clarté. Les signaux d'étage haut de ces trois couples sont identiques mais déphasés entre eux, de même que leurs signaux d'étage bas afin de permettre la commande du moteur 2 électrique triphasé. Plus précisément, le moteur 2 est commandé par les différences de phases entre les trois signaux de commande en courant U, V, W générés par l'onduleur 300 à partir des trois couples de signaux initiaux SEH1 , SEB1 .

Chaque couple de signaux initiaux comprend un signal d'étage haut SEHI (figure 3) et un signal d'étage bas SEB1 (figure 5), tous deux modulés en largeur d'impulsion, inversés l'un par rapport à l'autre et dont chaque état haut du signal d'étage haut SEHI est centré avec un état bas du signal d'étage bas SEBI . Comme illustré sur les figures 3 et 5, le début t 2 d'un état haut du signal d'état haut SEHI est décalé temporellement d'une durée MotPwmDiffTheo appelée « temps mort inséré » par rapport au début ti de l'état bas correspondant du signal d'état bas SEB1 .

Toutefois, les capacités du microcontrôleur 100 ne permettant de générer que des signaux de faible amplitude (le microcontrôleur 100 fonctionnant à partir d'un signal d'alimentation de l'ordre de 5 V), il est nécessaire d'amplifier ces signaux initiaux avant de les fournir à l'onduleur 300 pour générer les signaux de commande U, V, W du moteur 2.

Le rôle de l'amplificateur 200 est d'amplifier les trois couples de signaux initiaux SEH1 , SEB1 générés par le microcontrôleur 100, afin que leur amplitude soit suffisante pour commander le moteur 2, avant de les fournir à l'onduleur 300.

L'onduleur 300 est configuré pour générer les trois signaux de commande U, V, W du moteur 2 à partir des trois couples de signaux initiaux SEH1 , SEB1 amplifiés fournis par l'amplificateur 200. A cette fin, comme illustré à la figure 8, l'onduleur 300 comprend trois couples de transistors au point milieu de chacun desquels est généré un signal de commande en courant U, V, W.

Chaque signal de commande U, V, W est modulé en largeur d'impulsion et est généré au point milieu d'un ensemble formé par un transistor dit « d'étage haut » connecté à la batterie B du véhicule et un transistor dit « d'étage bas » connecté à la masse M à partir d'un signal d'étage haut SEHI amplifié reçu par le transistor d'étage haut et d'un signal d'étage bas SEB1 amplifié reçu par le transistor d'étage bas.

Le temps mort réel présent dans les signaux de commande est différent du temps mort inséré par le microcontrôleur 100 car les composants électroniques du dispositif de commande 1 B, notamment ceux de l'onduleur 300 en font varier la durée réelle, par exemple lorsque les transistors de l'onduleur 300 chauffent.

On a représenté aux figures 3 à 6 des exemples de signaux du dispositif de commande (illustrés pour un cycle de signal PWM). Plus précisément, la figure 3 illustre un signal d'étage haut SEHI généré par le microcontrôleur 100 à destination d'un transistor d'étage haut d'un couple de transistors, la figure 4 illustre le signal SEH2 de sortie dudit transistor d'étage haut, la figure 5 illustre un signal d'étage bas SEB1 généré par le microcontrôleur 100 à destination du transistor d'étage bas dudit couple de transistors et la figure 6 illustre le signal SEB2 de sortie dudit transistor d'étage bas. On observe ainsi sur les figures 3 et 5 que le microcontrôleur 100 observe un temps mort MotPwmDiffTheo entre la fin ti d'un état actif du signal d'étage bas SEB1 et le début t 2 d'un état actif du signal d'étage haut SEH1 . On observe sur la figure 4 qu'un délai di de mise en fonctionnement est nécessaire au transistor d'étage haut suivi d'un temps de montée d 2 afin que le signal de sortie SEH2 du transistor atteigne l'état actif puis qu'un délai d 3 de mise à l'arrêt du transistor est nécessaire suivi d'un temps de descente d 4 du signal de sortie SEH2 jusqu'à l'état inactif du transistor. Similairement, on observe sur la figure 6 qu'un délai d 5 de mise à l'arrêt est nécessaire au transistor d'étage bas suivi d'un temps de descente d 6 afin que le signal de sortie SEB2 du transistor atteigne l'état inactif puis qu'un délai d 7 de mise en fonctionnement du transistor est nécessaire suivi d'un temps de montée d 8 du signal de sortie SEB2 jusqu'à l'état actif du transistor. En référence à la figure 7, la durée de l'état haut du signal d'étage haut SEH1 additionnée de la durée du temps mort inséré (théorique) est notée MotPwmExpected et appelée durée attendue.

Le module de mesure 400 est configuré pour mesurer les signaux de commande U, V, W générés par l'onduleur 300, les formater (connu en soi) en des signaux MotPwmFbkU, MotPwmFbkV, MotPwmFbkW que le microcontrôleur 100 peut lire et analyser et les fournir au microcontrôleur 100 dans une boucle de retour. On notera que les signaux de commande U, V, W et les signaux de commande formatés MotPwmFbkU, MotPwmFbkV, MotPwmFbkW présentent des caractéristiques quasiment identiques en termes de temps mort et de décalages temporelles (au léger retard induit par les filtres du module de mesure 400 près).

La figure 7 illustre le signal de commande formaté associé aux signaux des figures 3 à 6. La durée MotPwmFbk de l'état haut de ce signal est définie entre un premier instant pour lequel la valeur du signal franchit un seuil maximum S ma x et un deuxième instant pour lequel la valeur du signal franchit un seuil minimum

Pour chaque signal de commande formaté MotPwmFbkU, MotPwmFbkV, MotPwmFbkW d'une phase du moteur 2, le microcontrôleur 100 est configuré pour calculer la différence MotPwmDiffU, MotPwmDiffV, MotPwmDiffW entre la durée attendue MotPwmExpected et la durée MotPwmFbk d'un état haut du signal de commande formaté MotPwmFbkU, MotPwmFbkV, MotPwmFbkW, cette différence MotPwmDiffU, MotPwmDiffV, MotPwmDiffW évoluant de manière sinusoïdale avec le temps.

Comme illustré à la figure 9, ces différences MotPwmDiffU, MotPwmDiffV, MotPwmDiffW oscillent dans le temps autour d'une valeur centrale non nulle qui correspond aux erreurs de mesure dues notamment à réchauffement des transistors de l'onduleur 300.

Ensuite, pour chaque signal de commande formaté MotPwmFbkU, MotPwmFbkV, MotPwmFbkW d'une phase du moteur 2, le microcontrôleur 100 est configuré pour compenser la différence MotPwmDiffU, MotPwmDiffV, MotPwmDiffW calculée afin qu'elle oscille autour d'une valeur nulle en fonction du temps t. Le microcontrôleur 100 corrige cette dérive en centrant autour de zéro le signal représentant le temps mort réel présent dans le signal de commande du moteur 2 en fonction du temps comme illustré à la figure 10.

Le microcontrôleur 100 est ensuite configuré pour calculer le temps mort réel MotPwmDiff Cale présent dans chacun des trois signaux de commande formaté MotPwmFbkU, MotPwmFbkV, MotPwmFbkW à un instant donné à partir :

• des décalages temporels compensés MotPwmDiff CorrU , MotPwmDiff CorrV , MotPwmDiff CorrW pour chaque phase U, V, W du moteur 2,

• d'une erreur prédéterminée de mesure commune aux trois phases U, V, W du moteur 2, et

· de la valeur de l'amplitude du courant I circulant dans les transistors des trois couples de transistors audit instant donné.

L'erreur de mesure est une erreur commune aux trois phases du moteur 2. Elle est déterminée par le microcontrôleur 100 en faisant la moyenne des décalages temporels calculés à courant nul circulant dans le transistor d'étage haut et le transistor d'étage bas pour chaque phase du moteur 2.

Le microcontrôleur 100 calcule le temps mort réel en prenant comme hypothèse que le temps mort maximum atteignable est égal au temps mort inséré théoriquement par le microcontrôleur 100 auquel on soustrait la moitié de la l'erreur de mesure commune des trois signaux de commande à courant nul.

Le temps mort réel peut être calculé lorsque l'amplitude du courant circulant dans les transistors de l'onduleur 300 est supérieure à un seuil de courant minimum déterminé par le microcontrôleur 100. En effet, dans ce cas, on peut calculer la valeur de correction du temps mort à partir de l'amplitude de courant mesurée, de l'amplitude maximale de courant et de la pente de l'évolution du temps mort en fonction du courant.

Afin de déterminer le temps mort réel MotPwmDiff Cale dans chacun des trois signaux de commande formaté MotPwmFbkU, MotPwmFbkV, MotPwmFbkW à un instant donné, le microcontrôleur 100 est configuré pour calculer la pente A d'une droite représentant l'évolution du temps mort TM en fonction du courant I.

Pour ce faire, en référence à la figure 11 , le microcontrôleur 100 est configuré pour calculer la pente A de la droite représentant l'évolution du temps mort TM en fonction du courant I selon l'équation suivante :

MotPwmDiff Initial ,„ T

MotPwmD if fTheo — MotPwmD if fLinlnit

A = 1

IphAmpMax-IphAmpLinThr

MotPwmDiff Linlnit est la valeur de temps mort correspondant au seuil de courant IphAmpLinThr à partir duquel le temps mort TM évolue de façon linéaire en fonction du courant et IphAmpMax est la valeur d'amplitude maximale du courant. Le microcontrôleur 100 est configuré pour calculer la différence MotPwmDiff IphCorr entre la valeur du temps mort inséré MotPwmDiff Théo corrigée de la moitié de l'erreur prédéterminée de mesure MotPwmDiff Initial et la valeur du temps mort TM(I) à une amplitude de courant donnée I est calculée selon l'équation suivante :

MotPwmDiff IphCorr = ( phAmpMax— ampl(i)) x A

Le microcontrôleur 100 est configuré pour déterminer le temps mort observé MotPwmDiffCalc selon l'équation suivante :

. X . MotPwmDif f Initial

MotPwmDiffCalc = MotPwmDif f IphCorr + - + 1

avec X abs(mm(MotPwmDiffCorrU, MotPwmDif fCorrV, MotPwmDif fCorrW) +

max(MotPwmDif f CorrU , MotPwmDif fCorrV, MotPwmDif fCorrW)).

Le microcontrôleur 100 est ensuite configuré pour calculer la différence absolue D entre la valeur du temps mort inséré MotPwmDif fTheo, corrigée de l'erreur prédéterminée de mesure, et la valeur du temps mort réel calculé MotPwmDiffCalc à une amplitude de courant I donnée à partir de la valeur de pente A calculée.

Le microcontrôleur 100 est enfin configuré pour détecter un défaut de commande du moteur 2 lorsque la valeur absolue de la différence D calculée est supérieure à un seuil de détection SD prédéterminé.

L'invention va maintenant être décrite en référence aux figures 8 à 12.

Tout d'abord, dans une étape E1 , le microcontrôleur 100 génère un signal d'étage haut initial SEH1 et un signal d'état bas initial SEB1 pour chaque couple de transistors de l'onduleur 300 associé à l'une des trois phases.

Dans une étape E2, l'amplificateur 200 amplifie un signal d'étage haut initial SEH1 et un signal d'état bas initial SEB1 générés pour chaque phase du moteur 2 et les transmet à l'onduleur 300.

L'onduleur 300 génère, dans une étape E3, pour chaque couple de transistors, un signal de commande U, V, W à partir du signal d'étage haut initial SEH1 amplifié et du signal d'état bas initial SEB1 amplifié reçus.

Le module de mesure 400 mesure ensuite dans une étape E4 les signaux de commande en courant U, V, W générés par l'onduleur 300 pour commander le moteur 2 et les formate en des signaux de commande formatés MotPwmFbkU, MotPwmFbkV, MotPwmFbkW.

Le microcontrôleur 100 calcule ensuite dans une étape E5, pour chaque phase du moteur 2, la différence MotPwmDif fU MotPwmDif fV, MotPwmDif fW entre la durée attendue MotPwmExpected et la durée MotPwmFbk du signal de commande formaté MotPwmFbkU, MotPwmFbkV, MotPwmFbkW. Le microcontrôleur 100 compense ensuite dans une étape E6, pour chaque phase du moteur 2 la différence MotPwmDif fU, MotPwmDiff V, MotPwmDiff W calculée afin qu'elle oscille autour d'une valeur nulle en fonction du temps t, comme expliqué ci- avant.

Dans une étape E7, le microcontrôleur 100 détermine l'erreur de mesure

MotPwmDif f Initial commune aux trois phases du moteur 2 en faisant la moyenne des décalages temporels calculés à courant nul circulant dans le transistor d'étage haut et le transistor d'étage bas pour chaque phase du moteur 2. On notera que cette étape E7 peut être réalisée à tout moment antérieurement à l'une des étapes E1 à E6.

Le microcontrôleur 100 détermine dans une étape E8 le temps mort réel

MotPwmDif f Cale présent dans chacun des trois signaux de commande à un instant donné à partir des décalages temporels compensés MotPwmDif f CorrU , MotPwmDiffCorrV , MotPwmDiffCorrW pour chaque phase du moteur 2, de l'erreur MotPwmDif f Initial prédéterminée de mesure commune aux trois phases du moteur 2 et de la valeur de l'amplitude du courant I circulant dans les transistors des trois couples de transistors audit instant donné.

La détermination du temps mort observé dans chacun des trois signaux de commande MotPwmFbkU, MotPwmFbkV, MotPwmFbkW à un instant donné implique le calcul de la pente A d'une droite représentant l'évolution du temps mort en fonction du courant.

La pente A de la droite représentant l'évolution du temps mort en fonction du courant est calculée selon l'équation suivante :

MotPwmDif f Initial

MotPwmD iffTheo — MotPwmD iffLinlnit

A = z

IphAmpMax-IphAmpLinThr

où MotPwmDif fLinlnit est la valeur du temps mort correspondant au seuil de courant IphAmpLinThr à partir duquel le temps mort évolue de façon linéaire en fonction du courant et IphAmpMax est la valeur d'amplitude maximale du courant.

Le microcontrôleur 100 détermine le temps mort observé MotPwmDif f Cale selon l'équation suivante :

. X . MOtPwmDlf f Initial

MotPwmDif f Cale = MotPwmDif flphCorr + - + 1

avec X = abs(mm(MotPwmDiffCorrU, MotPwmDiffCorrV, MotPwmDiffCorrW) +

max(MotPwmDif f CorrU , MotPwmDiffCorrV, MotPwmDiffCorrW))

et MotPwmDif flphCorr correspond à la différence entre la valeur du temps mort inséré MotPwmDif f Théo corrigée de la moitié de l'erreur prédéterminée de mesure MotPwmDif f Initial et la valeur du temps mort TM(I) à une amplitude de courant donnée I est calculée selon l'équation suivante : MotPwmDifflphCorr = ( phAmpMax— ampl(i)) x A

Dans une étape E9, le microcontrôleur 100 calcule la différence absolue D entre le temps mort déterminé MotPwmDiffCalc et le temps mort inséré MotPwmDiffTheo dont il connaît la valeur pour l'avoir lui-même inséré.

Le microcontrôleur 100 détecte ainsi un défaut de commande du moteur 2 dans une étape E10 lorsque la valeur absolue de la différence D calculée est supérieure à un seuil de détection SD prédéterminé.

Le procédé selon l'invention permet avantageusement de diagnostiquer des défauts de commande en courant d'un moteur électrique de manière fiable et avec une précision importante de l'ordre de 250 ns, ce qui rend la détection de défaut efficace.

Il est précisé, en outre, que la présente invention n'est pas limitée aux exemples décrits ci-dessus et est susceptible de nombreuses variantes accessibles à l'homme de l'art.