Electronique > Réalisations > Générateurs > Générateur triphasé 001

Dernière mise à jour : 16/05/2010

Présentation

Cet article décrit la réalisation d'un générateur basse fréquence triphasé, doté de trois sorties distinctes délivrant des signaux périodiques sinusoïdaux déphasés l'un par rapport à l'autre de 120 degrés.

gene_triphase_001_graphe_001a

Ce circuit fonctionne en basse fréquence, à quelques Hz au maximum. Il a été conçu en vu d'alimenter des convertisseurs tension / courant alimentant eux-mêmes des réseaux de leds, en vue d'en faire varier la luminosité selon le principe de "puissance constante". Les signaux sinusoïdaux sont produits sur une base numérique, avec un PIC 12F675 et trois convertisseurs numérique / analogique "fait maison" dont la résolution est de 8 bits. Le déphasage entre les signaux de sortie est constant quelque soit la fréquence adoptée. Un autre générateur triphasé mais cette fois totalement analogique est présenté à la page Générateur triphasé 002.

Avertissement

- Le circuit présenté ici ne délivre pas des ondes sinusoïdale très pures, du fait de la résolution des convertisseurs 8 bits utilisés et des valeurs théoriques forcement arrondies. Cela ne pose aucun problème pour l'application première pour laquelle le circuit a été conçu, mais un filtre passe-bas peut devoir être ajouté sur les sorties en vue de "nettoyer" les signaux produits, si cela s'avère nécessaire.
- Tel qu'il est conçu, ce circuit n'est pas en mesure de travailler à des fréquence très élevées, je n'ai pas pu dépasser 10 Hz. C'est un peu malheureux de se trouver limité à une telle valeur alors que le PIC tourne à une vitesse de plusieurs MHz, mais le prodédé utilisé m'a tout de même permis d'utiliser un nombre de composants moindre que ce qui aurait été nécessaire avec des circuits logiques conventionnels. En tout cas tel que je l'aurais conçu, car je suis toujours du genre à compliquer les choses et il existe peut-être une solution simple que je ne connais pas (style compteur binaire avec son lot de résistances de valeurs soigneusement choisies). Dans l'état en tout cas, pas utilisable comme tel pour une base "secteur triphasé 50 Hz". Je ne suis même pas sûr de pouvoir améliorer ça en optimisant le logiciel du PIC.

Schéma

Un petit PIC à 8 pattes, un oscillateur et trois registres à décalage utilisés comme convertisseurs numérique / analogique. Cette fois ce sont les résistances qui occupent le devant de la scène.

gene_triphase_001

Oscillateur
Une fois n'est pas coutume, j'ai décidé d'utiliser un oscillateur externe pour le PIC, en vue de faciliter le réglage de la fréquence des signaux de sortie. Vue la méthode employée ici au niveau logiciel, jouer sur les "temporisations internes" ou interruptions du PIC ne me parraissait pas une très bonne idée, voire me paraissait difficile. On trouve donc un oscillateur dont la fréquence peut être ajustée entre 1 MHz et 10 MHz, attaquant l'entrée OSC1 du PIC, lequel est bien sûr configuré pour travailler dans ce mode.
- Si fréquence d'entrée = 1 MHz, alors fréquence des signaux de sortie = 0,15 Hz (période 6,7 secondes)
- Si fréquence d'entrée = 4 MHz, alors fréquence des signaux de sortie = 0,60 Hz (période 1,6 secondes)
- Si fréquence d'entrée = 10 MHz, alors fréquence des signaux de sortie = 1,5 Hz (période 0,67 secondes)
Cette plage de réglage correspond bien à l'effet recherché, à savoir des variations lentes. Bien entendu, on peut encore diminuer la fréquence de l'oscillateur en vue de rendre les variations encore plus lentes. Dans l'autre sens, la fréquence maximale du signal d'horloge du PIC est de l'ordre de 20 MHz, qui correspond à sa limite supérieure. Vous pouvez utiliser n'importe quel oscillateur dont la sortie délivre un signal carré d'amplitude 5 V (TTL) et de fréquence comprise entre 1 MHz et 10 MHz. Celui dont le schéma suit peut être utilisé (vous pouvez aussi utiliser des 74LS00 ou 74LS04).

gene_triphase_001_osc_001

Remarque : à des fréquences aussi élevées, il faut prendre certaines précautions avec les oscillateurs. Un découplage d'alimentation est impératif au plus près possible du circuit intégré U1 (ici ce découplage est assuré par C2 et C3), et les connexions doivent être les plus courtes possible. Le test sur plaque d'expérimentation est possible, mais ne soyez pas surpris alors de constater une fréquence d'oscillation maximale bien en dessous de celle attendue. Cela est lié aux capacités parasites qui existent entre les pistes parallèle de la plaque d'essai.

gene_triphase_001_osc_001a

Avec ce genre d'oscillateur, je ne suis pas arrivé à monter au-delà de 1 MHz avec une plaque d'essai sans soudure.

PIC et logiciel
J'ai décidé d'utiliser un PIC pour une raison toute bête. Au début, je voulais utiliser des convertisseurs N/A intégrés commandés par I2C ou SPI. Et je me suis rendu compte qu'il n'était pas simple de piloter trois convertisseurs de ce type en même temps avec un 12F675. Mais quelle que soit la méthode à employer (type de convertisseur à utiliser), l'idée était la même : utiliser un tableau de valeur correspondant à l'évolution d'une sinusoïde dans son premier quadrant (quart d'une période complète). Une sinus est en effet constituée de quatre portions de courbe identiques mises en "miroir". Symétrie verticale entre les deux premiers quadrants (alternance positive, entre le moment où la tension monte et redescend) et pour les deux derniers quadrants (alternance négative), et symétrie horizontale entre les deux alternances complètes. J'ai repris le tableau de valeurs déjà tout fait dans un des exemples logiciels de Mikroelektronica, et ai divisé par 10 toutes les valeurs (il y en a 100) pour les faire tenir dans un octet au lieu d'un mot (deux octets) à l'origine. Pour rappel, le 12F675 ne dispose pas d'une quantité infinie de mémoire... Les valeurs parcourues passent ainsi de 0 à 100 sur la plage des 100 valeurs, au lieu de 0 à 1000 à l'origine. Comme les 100 valeurs ne constituent que le quart d'une période complète de la sinus, cela porte à 400 le nombres de valeurs consécutives à envoyer (faire sortir du PIC) pour une seule période et pour une seule sortie. Comme chaque valeur est codée sur 8 bits et qu'il y a trois sorties analogiques distinctes, le nombre de bits à transmettre est de :
Nb = 400 x 8 x 3 = 9600
Et encore, je n'ai pas parlé des signaux de contrôle nécessaires au circuits qui suivent le PIC... Et oui, on en est déjà à plus de 10000 informations à traiter pour trois malheureuses alternances... Et s'il ne s'agissait que de leur envoi... il faut aussi effectuer des comparaisons, des additions, brefs des opérations qui demandent un temps processeur non négligeable. Stocker en mémoire toutes les valeurs d'une période de sinus complète pour éviter tous ces calculs et accélerer la cadence ? Mais en voilà une bonne idée.. j'ai dès maintenant mon sujet pour la version 001b.

Registres à décallage
Les registres à décallage CD4094 permettent ici de transformer des informations série envoyées par le PIC en informations parallèles. Grâce à eux, on reconstitue les trois octets représentant (toujours sous forme numérique 8 bits) la valeur de la tension des trois sorties (un octet par sortie).

Convertisseurs N/A
Les convertisseurs numérique / analogique mis en oeuvre ici sont de simples réseaux de résistances de type R/2R, réseaux également appelés Ladder en anglais. Un tel réseau de résistance peut être vu comme un petit module possédant un certain nombre d'entrées numériques (8 entrées dans le cas qui nous concerne) et une seule sortie analogique. La précision de la conversion dépend principalement de la tolérance des résistances, mieux vaut en général utiliser des résistances 1%, bien que ce ne soit pas vraiment obligatoire ici. J'ai utilisé ce principe pour mon alimentation ajustable 014 pilotée par microcontrôleur.

Etages de sortie
L'étage de sortie est composé de trois AOP qui jouent deux rôles :
- ne pas trop charger les réseaux R/2R pour ne pas écrouler les tensions de sortie et conserver une précision minimale;
- disposer de sorties en tension sous basse impédance.
A cause des tensions de déchet rencontrées en sortie des AOP et dont la valeur dépend du modèle d'AOP employé, j'ai décidé de limiter l'amplitude des signaux de sortie à 4 V, pour une tension d'alim de +5 V. La valeur médiane des signaux sinusoïdaux est de +2,5 V et les valeurs extrêmes sont de +500 mV pour les crêtes "négatives" et de +4,5 V pour les crêtes "positives".

Alimentation

5 V, ni plus ni moins.

Logiciel du PIC

Code source au format Mikropascal V3.20 et fichier hex compilé dans l'archive zip qui suit :
Générateur triphasé 001 - 12F675 - (16/05/2010)
Si vous souhaitez recevoir par la poste un PIC préprogrammé et prêt à utiliser, merci de consulter la page PIC - Sources.

Circuit imprimé

Non réalisé.