Brevet FR3050336A1 (20171020)
REVENDICATIONS1. 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 5 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 (SEH1) 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 10 haut (SEH1) 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 (SEH1) et du signal d'état bas (SEB1), le début (t2) d'un état haut du signal d'état haut étant décalé 15 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, 20 mesure et formatage (E4) du signal de commande, - calcul (E5) de la différence (MotPwmDiffU,MotPwmDif fV,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 25 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, 30 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 3050336 16 compensés (Mo tPwmDiffCorrU, MotPwmDif fCorrV,MotPwmDiffCorrW) 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é (MotPwmDiffCalc) et le temps mort inséré (MotPwmDiffTheo), - détection (E10) 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é.\n<CLM>\1\tProcédé selon la revendication 1, comprenant une étape (E7) de détermination de l'erreur de mesure (MotPwmDifflnitial) 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).\n<CLM>\1\tProcé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é (MotPwmDiffTheo) corrigée de l'erreur prédéterminée de mesure (MotPwmDiffinitia/) et la valeur du temps mort à une amplitude de courant (I) donnée à partir de la valeur de pente (A) calculée.\n<CLM>\1\tProcé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 : MotPwmDiffTheo MotPwmDif f Initial MotPwmDif fLinInit A - 2 lphAmpMax-lphAmpLinThr où MotPwmDif f Linlnit est la valeur du temps mort correspondant au seuil de courant 30 lphAmpLinThr à partir duquel le temps mort évolue de façon linéaire en fonction du courant et lphAmpMax est la valeur d'amplitude maximale du courant.\n<CLM>\1\tProcédé selon la revendication 4, dans lequel la différence (MotPwmDif f lphCorr) entre la valeur du temps mort inséré (MotPwmDiffTheo) corrigée 3050336 17 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 (I) donnée est calculée selon l'équation suivante : MotPwmDif flphCorr = (IphAmpMax - ampl(i)) x A 5\n<CLM>\1\tProcédé selon la revendication 4, dans lequel le calcul du temps mort réel (MotPwmDif fCalc) est réalisé selon l'équation suivante : MotPwmDif f Calc = MotPwmDif flphCorr + X + MotPwmDif f Initial 2 avec X = abs(min(MotPwmDif fCorrU,MotPwmDif fCorrV,MotPwmDif fCorrW) + max(MotPwmDif fCorrU,MotPwmDif fCorrV,MotPwmDif fCorrW)). 10\n<CLM>\1\tDispositif (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 15 bas » connecté à la masse (M) à 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 (SEH1) 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 (SEH1) est centré avec un état bas du signal d'étage 20 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 25 mort inséré » (MotPwmDiffTheo) 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, 3050336 18 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 5 temps mort inséré (MotPwmDif fTheo) et la durée (MotPwmFbk) du signal de commande (MotPwmFbkU,MotPwmFbkV,MotPwmFbkW) formaté, ladite différence (MotPwmDiffU,MotPwmDiffV,MotPwmDif fW) évoluant de manière sinusoïdale dans le temps (t), - pour chaque signal de commande (U, V, W) d'une phase du moteur (2), 10 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 (MotPwmDiffCorrU,MotPwmDif fCorrV,MotPwmDiffCorrW) 15 pour chaque phase du moteur (2), d'une erreur (MotPwmDif flnitial) 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 20 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é.\n<CLM>\1\tDispositif (1) selon la revendication 7, configuré pour déterminer l'erreur de mesure (MotPwmDiff/nitia/) commune aux trois phases du moteur (2), cette 25 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).\n<CLM>\1\tDispositif (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 30 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é. 3050336 19\n<CLM>\1\tDispositif (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 : MotPwmDif fTheo MotPwmDi f f Initial MotPwmDif fLinInit A = 2 lphAmpMax-lphAmpLinThr 5 où MotPwmDif f Linlnit est la valeur du temps mort correspondant au seuil de courant lphAmpLinThr à partir duquel le temps mort évolue de façon linéaire en fonction du courant et lphAmpMax est la valeur d'amplitude maximale du courant, la différence (MotPwmDif f lphCorr) entre la valeur du temps mort inséré (MotPwmDif fTheo) corrigée de la moitié de l'erreur prédéterminée de 10 mesure (MotPwmDiffinitia/) et la valeur du temps mort (TM(I)) à une amplitude de courant donnée I est calculée selon l'équation suivante : MotPwmDif flphCorr = (lphAmpMax - ampl(i)) x A Et la détermination du temps mort observé (MotPwmDif f Cale) est réalisée selon l'équation suivante : 15 MotPwmDif f Calc = MotPwmDif f X lphCorr + + MotPwmDif f Initial 2 avec X = abs(min(MotPwmDif fCorrU,MotPwmDif fCorrV,MotPwmDif f CorrW) + maxMotPwm,1»://CorrU, MotPwm,DiffCorr MotPwm,DiffCorrW