FR 2674386 A1 19920925 FR 9103463 A 19910318 SYSTEME DE COMANDE D'UN ONDULEUR PAR MODULATION DE LARGEUR D'IMPULSION La présente invention concerne la fourniture des ten- sions de commande d'un onduleur destiné par exemple à alimenter à vitesse et couple réglables un moteur à induction ou à générer des tensions sinusoidales de sortie d'une alimentation ininter- ruptible Plus généralement, la présente invention prévoit un moyen pour fournir des séquences parallèles de signaux de com- mande à partir d'un microcontrôleur numérique. La figure 1 rappelle le schéma classique, d'un ondu- leur à trois branches à commande par modulation de largeur d'impulsion (PWM) pour l'alimentation d'un moteur asynchrone triphasé Le moteur, désigné par la référence M, comprend trois enroulements inducteurs Ll, L 2, L 3 Pour faire tourner le moteur, il convient d'appliquer à chacun de ses enroulements des tensions sinusoidales U, V et W, mutuellement déphasées de 120 , telles que représentées en figure 2 Les tensions U, V, W sont obtenues à partir d'un onduleur comprenant six commutateurs T 1 à T 6, par exemple des transistors, les transistors T 1-T 2, T 3-T 4, T 5-T 6 étant en série entre des bornes d'alimentation positive et négative (par exemple la masse) Dans la figure 1, chacun des interrupteurs T 1 à T 6 est constitué d'un interrupteur de puis- sance associé à une diode en anti-parallèle Dl à D 6 Les électrodes de commande de deux interrupteurs en série sont commandées en opposition On arrive ainsi, par une commande convenable des bornes de commande G 1 à G 6 des interrupteurs Tl à T 6, à fournir aux points U, V et W d'intersection des interrup- teurs T 1-T 2, T 3-T 4, T 5-T 6 des tensions en escalier approximant des sinusoides Plus particulièrement, si l'on considère les interrupteurs Tl et T 2, en faisant varier leurs rapports cycli- ques de conduction (par exemple par paliers successifs entre O et 100 % ou entre 40 et 60 %), on fait varier la tension moyenne au point U par paliers successifs et on génère des sinusdides dont on contrôle l'amplitude La période, NT, des sinusdides sera déterminée par la durée T de chacun des paliers et leur nombre N Ce nombre N sera par exemple choisi égal à 24. La figure 3 représente à titre d'exemple, des signaux appliqués aux bornes de commande G 1 à G 6 des transistors Tl à T 6 pendant la durée T d'un palier Dans cet exemple, le rapport cyclique du signal G 1 est de 90 %, celui du signal G 3 de 50 % et celui du signal G 5 de 10 % Les rapports cycliques des signaux G 2, G 4, G 6 sont complémentaires Au palier suivant, la durée de ces rapports cycliques est modifiée et ainsi de suite jusqu'à 1 'écoulement d'une période complète (NT). La présente invention vise tout particulièrement la façon de fournir ces suites de signaux de commande Ce problème est par exemple traité dans l'article de Bellini et al paru dans "International Conference on Evolution and Modern Aspects of Induction Machines Prooeedings", 8-11 juil 1986, pages 194- 202 Comme cela est indiqué dans cet article, on a essayé des techniques analogiques et des techniques numériques pour fournir ces signaux. Un système numérique classique de fourniture de Ces signaux est illustré en figure 4 Il utilise essentiellement un microcontrôleur (MCU) 10 qui, pour chaque palier, fournit les valeurs des rapports cycliques des diverses branches du pont de la figure 1, c'est-à-dire que pour chaque palier, le MCU fournit trois valeurs numériques et éventuellement leurs compléments Le microcontrôleur est suivi d'un circuit spécifique 11 (ASIC) spécialement conçu pour calculer rapidement et fournir à partir de ces valeurs, des signaux de commande du type de ceux illustrés en figure 3 Les six sorties de 1 'ASIC 11 sont four- nies à des circuits d'interface d'amplification et d'isolement 12 qui attaquent les bornes de commande des six transistors Tl à T 6. Ce type d'organisation présente divers inconvénients il nécessite deux circuits intégrés pour la fourni- ture des signaux de commande à savoir le MCU 10 et l'ASIC 11, l'ASIC 11 est un circuit dédié à ètte application et qui n' est donc pas fabriqué en très grande série ce qui entraîne que son coût est inévitablement relativement élevé, 1 'ASIC Il est adapté à une application particulière, n'est pas programmable, et doit être reconçu si l'on souhaite apporter une modification à ses fonctions, par exemple, comme on l'indiquera ci-après, pour modifier la répartition des signaux de commande. Pour pallier ces inconvénients, la présente invention prévoit l'utilisation d'un microcontrôleur unique fournissant directement les signaux qui jusqu'à présent étaient obtenus seulement à la sortie d'un circuit spécifique. Plus généralement, la présente invention prévoit un système de fourniture en parallèle de séquences de signaux de commande, chaque signal de commande ayant une durée déterminée constante à l'intérieur d'une séquence et un rapport cyclique prédéterminé spécifique de ce signal de commande Ce système comporte un microcontrôleur incorporant notamment une unité centrale, une mémoire non volatile agencée en blocs de lignes et colonnes, chaque ligne correspondant à un mot contenant au moins autant de bits qu'il y a de séquences en parallèle, et des moyens d'accès direct en mémoire (DMA) associés à un compteur permettant d'adresser séquentiellement à une cadence fixe chaque mot d'un bloc et de fournir en parallèle les bits de ce mot. Dans chaque colonne d'un bloc, le rapport entre le nombre de bits à un premier état et le nombre de bits à un deuxième état correspond audit rapport cyclique pour un signal de commande déterminé, et le microcontrôleur est programmé pour répéter la lecture d'un bloc jusqu'à atteindre ladite durée prédéterminée pour un signal de commande avant de passer à la lecture répéti- tive d'un autre bloc, et ainsi de suite. Selon une application de la présente invention, les signaux de commande sont destinés à un pont à plusieurs bran- ches, chaque branche comprenant deux interrupteurs commandés en série, les deux interrupteurs d'une branche recevant des signaux sensiblement en opposition, les premiers interrupteurs de chaque branche recevant des signaux de commande dont le rapport cycli- que varie entre une valeur maximale et une valeur minimale, les signaux appliqués à chaque branche étant déphasés Ce pont est par exemple destiné à la commande d'un moteur asynchrone ou d'une alimentation ininterruptible. Ces objets, caractéristiques et avantages ainsi que d'autres de la présente invention seront exposés en détail dans la description suivante d'un mode de réalisation particulier faite en relation avec les figures jointes parmi lesquelles: la figure 1 représente un onduleur de commande de moteur asynchrone triphasé selon l'art antérieur; la figure 2 représente l'allure des tensions fondamen- tales de commande devant être appliquées aux enroulements du moteur; la figure 3 représente l'allure des signaux de comman- de appliqués à chacun des transistors du pont triphasé pendant un palier; la figure 4 représente un système de fourniture de signaux de commande selon l'art antérieur; la figure 5 représente un système de fourniture de signaux de commande selon la présente invention; la figure 6 représente très schématiquement et sous forme de blocs l'organisation du microcontrôleur utilisé selon la présente invention; la figure 7 illustre l'agencement en blocs de la mémoire utilisée dans le microprocesseur selon la présente invention; la figure 8 représente un exemple de contenu de bloc mémoire selon la présente invention; et les figures 9 A à 9 D illustrent des variantes de signaux de commande réalisés selon la présente invention. Comme le représente la figure 5, la présente invention prévoit d'utiliser un microcontrôleur de façon qu'il fournisse directement des signaux en créneaux gi à g 6 destinés, après passage par une interface d'amplification et d'isolement 12, à devenir les signaux de commande de grille Gl à G 6. Ce microcontrôleur peut, par exemple, être celui commercialisé par la société SGS-Thomson Microelectronics sous l'appellation ST 9. Comme le représente la figure 6, le microcontrôleur comprend une unité centrale (CPU) 21 communiquant avec les divers composants du microcontrôleur par un bus 22 Ces divers composants sont notamment une mémoire morte (ROM) 23 et divers autres composants non représentés, tels qu'une meémoire vive RAM, une mémoire morte électriquement effaçable EEPROM, et des comp- teurs Le microprocesseur est muni d'un mode de fonctionnement à accès direct en mémoire (DMA), symbolisé par le bloc 24 Ceci permet de commander un compteur 25 et un décodeur 26 associé à la ROM 23 pour permettre une lecture du contenu de cette ROM indépendamment du fonctionnement du CPU qui peut continuer à agir en relation avec les autres composants du microcontrôleur pendant des opérations de lecture de la ROM Cet aspect sera exposé plus en détail ci-après. La figure 7 illustre l'agencement en blocs de la mémoire ROM 23 Cette mémoire est agencée en p groupes de n blocs, respectivement désignés par les références Bll à B In Bpl à Bpn Chaque groupe de blocs contient des données propres à assurer la commande d'un moteur asynchrone dans des conditions données, c'est-à-dire notamment pour une amplitude de tension de commande donnée Chaque bloc d'un groupe de blocs contient une configuration correspondant aux signaux de commande à fournir pendant un incrément temporel donné. Comme on le notera ci-après, la durée T' d'un incré- ment temporel sera généralement un sous-multiple de la durée T d'un palier tel que susmentionné Le nombre N de blocs dans un groupe de blocs est égal au nombre N de paliers, un même bloc pouvant être répété plusieurs fois pendant la durée d'un palier. Le contenu d'un bloc particulier est indiqué à titre d'exemple en figure 8 Chaque bloc contient des mots agencés en colonnes Dans l'exemple concerné, on veut fournir six signaux de commande Les six premières colonnes correspondront donc chacune à un signal de commande gl g 6 (Comme il est usuel que les mémoires soient prévues pour des mots de huit bits, on a indiqué par des x deux bits supplémentaires de chaque mot qui peuvent être utilisés pour fournir des signaux de synchroni- sation permettant un masquage des instants de commutation lors de la mesure du courant moyen dans la charge ou permettant la mesure du déphasage tension/courant dans la charge) Ainsi, chaque incrément d'un signal de commande contenu dans un bloc est lui-même quantifié en une suite de valeurs élémentaires, 42 dans l'exemple représenté Comme on l'a vu précédemment, les bits de chaque mot peuvent être séquentiellement transférés sur un accès (port) de sortie du contrôleur et représenteront donc directement l'état du signal de commande désiré. En figure 8, on a représenté à gauche, sur une échelle de temps verticale, un exemple de signaux gl à g 6 que l'on souhaite obtenir par les bits mémorisés dans un bloc Bij Dans cet exemple, à l'instant de quantification 1, tous les bits du premier mot sont nuls A l'instant de quantification 2 o l'on veut que les signaux gl, g 3 et g 5 passent à haut niveau, les bits 1, 3 et 5 sont mis à 1 Cet état se maintient jusqu'à l'instant de quantification 17 o les bits 5 et 6 sont mis à zéro alors qu'à l'instant 18, le bit 5 est mis à zéro et le bit 6 est mis à 1 La mise à O simultanée des bits 5 et 6 à l'ins- tant 17, au moment de la commutation des signaux g 5 et g 6, est destinée à éviter que, dans le pont de l'onduleur, deux signaux de commande soient simultanément à niveau haut La même mise à zéro se produit à l'instant de quantification 23 pour les bits 3 et 4, à l'instant de quantification 38 pour les bits 1 et 2 et, comme on l'a vu précédemment, à l'instant de quantification 1 pour tous les bits Ainsi, au niveau de six bits de poids faibles du port de sortie du microcontrôleur, on obtient les signaux gl à g 6 illustrés à gauche de la figure 8. On a mentionné ci-dessus que les signaux gl à g 6 correspondaient aux signaux Gi à G 6 de commande de commutateurs de l'onduleur En fait, chacun des signaux gl à g 6 est fourni avec une périodicité spécifique de l'horloge interne du micro- contrôleur commandant le compteur 25 Par exemple, si la période de cette horloge est de 5 microsecondes, la durée des signaux gl à g 6 sera de 42 fois 5 microsecondes soit environ 200 micro- secondes En se référant à la figure 2, on se rappelera que l'échantillonnage adopté pour les sinusoides est par exemple de N= 24 points (ce qui correspond au nombre N de blocs dans un groupe de blocs) Ainsi, la lecture d'un groupe de blocs complet prendra une durée minimale de 200 x 24 microsecondes soit envi- ron 5 ms Ceci correspond à une fréquence de rotation du champ statorique du moteur de 200 Hz Pour diminuer la vitesse de rotation, il est prévu selon la présente invention de répéter chaque signal élémentaire tel que les signaux gl à g 6 illustrés en figure 8 un certain nombre de fois avant de passer au bloc suivant d'un groupe de blocs donné Par exemple, si l'on répète quatre fois une configuration du type de celle de la figure 8, dans le cas des valeurs numériques indiquées précédemment, la vitesse du moteur sera de 3000 tours/minute Elle sera de 2000 tours/minute pour six répétitions de chaque bloc Cette modi- fication de vitesse de moteur est obtenue par programmation du microcontrôleur. Par ailleurs, avec les valeurs numériques indiquées précédemment ( 42 octets par bloc et 24 blocs pour un groupe de blocs définissant complètement une configuration de signal de commande choisie), il faudra 24 x 42 soit environ 1000 octets de mémoire par groupe de blocs Dans les applications usuelles, on ne cherche généralement pas à avoir plus de 3 à 8 valeurs de tensions de commande de moteur, ce qui signifie que l'on n'a besoin que de 3 à 8 kilooctets de mémoire ROM dans le CPU pour réaliser la fonction visée par la présente invention Il s'agit là de valeurs tout à fait raisonnables, notamment dans le cas particulier du circuit ST 9 susmentionné qui comprend soit une mémoire ROM soit une mémoire EPROM, c'est-à-dire une mémoire ROM électriquement programmable, d'une capacité de 8, 16 ou 32 kilo- octets Il restera donc dans cette mémoire des places disponi- bles pour l'exécution d'autres tâches par le microcontrôleur. La présente invention permet une programmation parti- culièrement souple des signaux de commande d'un onduleur pour moteur asynchrone ou pour alimentation ininterruptible Selon un aspect particulier de la présente invention, illustré en figure 9, alors que classiquement, avec les circuits de génération de signaux selon l'art antérieur tels que èlui illustré en figure 4, on obtient des signaux de commande tels que décrits précédem- ment, et présentant tous pour les signaux gl, g 3 et g 5 des fronts montants à un même instant initial, il est possible selon la présente invention de modifier simplement la présentation des créneaux en gardant le même rapport cyclique pour chaque signal de commande élémentaire. Des signaux de commande élémentaires classiques sont illustrés en figure 9 A Une première variante selon la présente invention est illustrée en figure 9 B dans laquelle les créneaux sont èntrés sur la durée d'un incrément temporel, ce qui limite les instants o plusieurs interrupteurs sont commandés simulta- nément Dans le cas de la figure 9 C, les créneaux sont èntrés sur deux axes symétriques ce qui double la fréquence de commu- tation des interrupteurs de puissance Les dispositions des figures 9 B et 9 C présentent des avantages pratiques quant à l'élimination des bruits de commutation de 1 'onduleur et donc des bruits résultant dans le moteur (sifflement) et à la réduc- tion des pertes dans le moteur par la minimisation de l'énergie réactive stockée. La figure 9 D illustre une autre variante dans la- quelle, chaque fois que les trois interrupteurs supérieurs sont conducteurs simultanément et qu'il N y a donc pas de tension instantanée appliquée au moteur, on préfère les mettre dans leur état bloqué et rendre conducteur leur interrupteur adjacent. Ceci réduit les pertes de commutation dans le convertisseur à fréquenoe de commutation donnée, car un des bras du pont reste statique durant la durée de balayage de chaque bloc. En outre, comme l'a vu précédemment, il est simple selon la présente invention de réaliser des temps morts entre les commutations de deux commutateurs d'une même branche de l'onduleur ce qui évite des défauts de fonctionnement de celui- ci, alors que, dans l'art antérieur, la réalisation de cette fonction entraînait une complexification du circuit de commande 12. D'autres variantes apparaîtront à l'hamme de l'art On notera qu'il est très simple selon la présente invention de choisir et modifier la forme des signaux de commande élémentai- res en choisissant et en modifiant le contenu des blocs mémoire30 susmentionnés. REVENDICATIONS 1 Système de fourniture en parallèle de séquences de signaux de commande, chaque signal de ccxnmande ayant une durée déterminée (T), constante à l'intérieur d'une séquence, et un rapport cyclique prédéterminé spécifique de ce signal de canmande, caractérisé en ce qu'il comporte un microcontrôleur ( 20) incorpo- rant notamment une unité centrale ( 21), une mémoire non volatile ( 23) agencée en blocs (Bij) de lignes et colonnes, chaque ligne correspondant à un mot contenant au moins autant de bits qu'il y a de séquences en parallèle, et des moyens d'accès direct en mémoire (DMA) associés à un compteur ( 25) permettant d'adresser séquentiellement à une cadence fixée chaque mot d'un bloc et de fournir en parallèle les bits de ce mot, en ce que dans chaque colonne d'un bloc, le rapport entre le nombre de bits à un premier état et le ncmbre de bits à un deuxième état correspond audit rapport cyclique pour un signal de commande déterminé, et en ce que le microcontrôleur est programmé pour répéter la lecture d'un bloc jusqu'à atteindre ladite durée déterminée pour un signal de commande avant de passer à la lecture répétitive d'un autre bloc, et ainsi de suite. 2 Système selon la revendication 1, caractérisé en ce que les signaux de commande sont destinés à un pont à plusieurs branches, chaque branche comprenant deux interrupteurs commandés en série (Tl-T 2, T 3-T 4, T 5- T 6), les deux interrupteurs d'une branche recevant des signaux sensiblement en opposition, les premiers interrupteurs de chaque branche recevant des signaux de commande dont le rapport cyclique varie entre une valeur maximale et une valeur minimale, les signaux appliqués à chaque branche étant déphasés. il 3 Système selon la revendication 2, caractérisé en ce que, à l'intérieur de chaque colonne d'un bloc, les bits à un premier état sont centrés dans la colonne par rapport aux bits à un deuxième état. 4 Système selon la revendication 2, caractérisé en ce qu'à l'intérieur de chaque colonne d'un bloc, plusieurs groupes de bits à un premier état sont intercalés avec plusieurs groupes de bits au deuxième état, l'ensemble étant disposé de façon symétrique par rapport au centre de la colonne. 5 Système selon la revendication 2, caractérisé en ce qu'à l'intérieur de chaque bloc, quand tous les bits corres- pondant aux interrupteurs du même coté des différentes branches sont dans un même état, ils sont systématiquement mis dans un état déterminé. 6 Système selon la revendication 2, caractérisé en ce que les changements d'état des bits d'une colonne, et des bits de la colonne correspondant au signal de commande complémentaire sont séparés par un intervalle de mise à zéro. 7 Système selon la revendication 2, caractérisé en ce que chaque mot comprend des bits supplémentaires formant des colonnes supplémentaires utilisés comme bits de synchronisation.