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.
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.
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).
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.
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é.