Circuit analogique (Figure 1)
Pour répondre aux spécifications de 0 à 30 V et de 0 à 1 A, j'ai dû utiliser des composants capables de fonctionner sous haute tension (< 35 V) dans la section analogique du circuit. J'ai choisi les amplificateurs opérationnels haute tension MCP6V51 et les capteurs de courant haut MCP6C02, car ils répondaient aux exigences de mon application.

Le circuit est un circuit de rétroaction d'intégration d'erreur classique à tension et courant constants. Les amplificateurs opérationnels sélectionnés, les MCP6V51, supportent des tensions jusqu'à 49 V et se distinguent par leur faible dérive et leurs bonnes performances en courant continu. Les valeurs des résistances sont faibles (10 kΩ) et identiques sur les entrées inverseuse et non inverseuse afin de minimiser toute erreur de décalage. Ces résistances, associées aux condensateurs de 1 µF (C1 et C2), assurent une fonction de filtre RC pour éliminer tout bruit résiduel provenant des sorties du convertisseur numérique-analogique (CNA). Les tensions de sortie, comprises entre 0 et 3,3 V, sont fournies par les CNA du microcontrôleur ; la tension de rétroaction d'entrée doit donc être fixée à ce niveau à l'aide des résistances R1 et R2.

Concernant le courant, il est préférable de le mesurer côté haute tension afin de maintenir une masse commune et d'utiliser la plus faible résistance de mesure possible, minimisant ainsi la chute de tension et la dissipation de puissance. Le capteur de courant haute tension MCP6C02 répond à ces critères. Il peut fonctionner jusqu'à 65 V et avec un gain de 100, permettant l'utilisation d'un shunt de faible valeur. Le courant maximal attendu pour cette application étant de 1 A, la résistance du shunt doit être d'environ 30 mΩ, ce qui produirait une tension de retour de 30 mΩ × 1 A × 100 = 3,0 V. La résistance est réalisée sur le circuit imprimé par une piste de cuivre de 40 mils de large (environ 1 mm) et d'environ 64 mm de long (voir figure 3).


La charge d'une alimentation de laboratoire peut varier d'un circuit ouvert à un court-circuit ; des composants de protection supplémentaires sont donc nécessaires. Les diodes 1 A à usage général, montées en opposition (D1 et D2), associées à la résistance de limitation de courant R3, garantissent que la tension d'entrée différentielle du circuit intégré de détection de courant reste inférieure à la tension maximale de 1,2 V en toutes circonstances. Le condensateur d'intégration (C3) de l'amplificateur de courant doit être plusieurs ordres de grandeur supérieur à celui côté tension afin de compenser le temps de propagation introduit par l'amplificateur de détection de courant, stabilisant ainsi la boucle. Un second canal du convertisseur numérique-analogique (CNA) du microcontrôleur fournit la tension corrigée (qui génère à son tour le courant corrigé) à l'amplificateur d'erreur de courant U2.
Les sorties des deux amplificateurs sont interconnectées par une porte logique OU avec les diodes de faible signal D3 et D4 pour piloter les transistors Darlington en sortie. La porte OU détermine si l'alimentation fonctionne en mode tension constante ou courant constant.

 

Circuit du microcontrôleur (Figure 2) :
Le microcontrôleur pilote le clavier et l’écran LCD, et génère les niveaux de tension de référence pour les boucles de commande analogiques, ce qui nécessite deux canaux de conversion numérique-analogique (CNA) à haute résolution. Un convertisseur analogique-numérique (CAN) sera utilisé pour mesurer différents paramètres de l’alimentation.

Le microcontrôleur Atmel SAML21 a été choisi pour ses deux convertisseurs numérique-analogique (CNA) 12 bits complétés par un convertisseur analogique-numérique (CAN) 12 bits, le tout dans un boîtier TQFP compact à 32 broches. L'application ne requiert pas un CNA 12 bits complet ; toutefois, une marge de sécurité supplémentaire est conseillée en raison d'une légère perte de précision due aux erreurs de spécification et d'arrondi lors du calcul des valeurs par le firmware.


du firmware
est écrit en C et le pilote existe en deux versions : la première, PowerSupplyBasic.c, fournit les fonctions de base (ajustement et mesure de la tension et du courant) ; la seconde, PowerSupplyFull.c, mesure également la température du dissipateur thermique, active un ventilateur en fonction de cette température, affiche la tension et la puissance d'entrée, ainsi que la puissance dissipée dans le transistor de puissance. Ces pilotes sont disponibles dans la documentation et doivent être ajoutés à un projet Studio 7 avec le fichier de démarrage PowerSupply.h. Le programme a été compilé avec l'IDE Studio 7 (version 7.0.129) et un microcontrôleur Atmel ICE a été utilisé pour la programmation et le débogage. Les broches de programmation du circuit imprimé ne sont pas compatibles avec le connecteur standard fourni avec le programmateur ; un nouveau connecteur doit donc être installé pour garantir l'alignement des broches avec celles indiquées sur la figure 2 et avec le plan de la carte.

À la mise sous tension, la tension est fixée à 0 V et le courant à 50 mA. L'écran affiche la tension de consigne et la tension mesurée sur la première ligne, et le courant de consigne et le courant mesuré sur la seconde (figure 5).
Si la version complète du pilote est installée (ainsi que le matériel associé, comme expliqué ci-dessous), les fonctions auxiliaires peuvent être affichées.

L'interface principale fonctionne comme ceci :

Composants matériels :
La tension de claquage des composants passifs CMS n’est généralement pas un problème, la plupart des circuits fonctionnant à basse tension. Cette application fait exception et il est donc important de prêter attention à ce paramètre. Certains condensateurs utilisés sur le circuit imprimé sont conçus pour une tension de 50 V ou plus. Il est fortement recommandé d’utiliser des condensateurs céramiques de 50 V (ou plus) à tous les emplacements si un boîtier de cette taille est disponible. La capacité des condensateurs céramiques CMS dépend de la tension ; elle diminue à mesure que la tension approche leur valeur de fonctionnement maximale.

J'ai ajouté une alimentation VDD séparée à VinLOW, le régulateur de tension L78L3.3. Ce régulateur accepte une tension d'entrée maximale de 30 V. Si votre alimentation fournit une tension supérieure, VinLOW doit être alimenté par une source d'alimentation séparée de tension inférieure, ou bien un composant doit être inséré pour créer une chute de tension entre Vin et VinLOW. Une résistance ou une diode Zener peuvent également convenir ; ce circuit consomme environ 25 mA, principalement pour la LED qui éclaire l'arrière de l'écran.

Si vous optez pour la version complète, vous devez également connecter la diode D5 afin d'assurer un bon contact thermique avec le transistor de puissance (TIP140). La résistance R14 fournit un courant constant d'environ 100 µA ; la chute de tension aux bornes de la diode dépend donc uniquement de la température, avec des valeurs typiques de 0,7 V et -2 mV/°C. Cependant, le niveau de tension absolu et le coefficient de température (pente) varient considérablement d'une diode à l'autre. Par conséquent, ce paramètre doit être calibré séparément dans le logiciel. Le SAML21 intègre un module de température calibré en usine, ce qui en fait un bon point de départ.
J'ai choisi un boîtier en aluminium, et l'alimentation complète est visible sur la figure 5.


Variantes :
Si vous souhaitez uniquement construire la version de base sans le ventilateur du dissipateur thermique, les composants suivants ne sont pas nécessaires : T3, R9, R14, R7, R8 et D5.
J’ai utilisé un transformateur fournissant une tension redressée d’environ 40 V à vide et un courant nominal de 1 A. J’ai donc limité la tension régulée maximale à 30 V et le courant maximal à 1 A. Les transistors de puissance doivent fournir une tension combinée de 4 à 5 V entre collecteur et émetteur à pleine charge.
Si votre transformateur fournit une tension inférieure ou supérieure, vous pouvez modifier le code qui définit la tension de référence du CNA. Si la variation de tension souhaitée est hors de la plage de réglage du potentiomètre R2, vous devez modifier la valeur de la résistance R1 afin que la tension à l’entrée inverseuse de U1 soit inférieure au niveau haut minimum du CNA (VDD – 150 mV) pour la tension de sortie maximale de l’alimentation.
La limite de tension maximale est fixée par la tension maximale spécifiée pour les amplificateurs opérationnels et/ou les transistors de puissance. Avec les amplificateurs opérationnels sélectionnés, la tension d'entrée à vide doit être inférieure à 49,5 V moins une marge de sécurité. La limite supérieure de courant dépend du courant admissible par le transistor de puissance. Le TIP140 supporte un courant de collecteur continu de 10 A, mais il est possible d'ajouter des transistors de puissance en parallèle (avec des résistances de partage de courant appropriées) pour augmenter davantage le courant de sortie. À courant élevé, la dissipation de puissance est également importante et nécessite un dissipateur thermique adapté. J'ai combiné un dissipateur thermique et un ventilateur provenant d'une ancienne carte mère de PC, ce qui fonctionne très bien pour 30 W. Le courant de commande de base ne posera pas de problème, même à 10 A, car le gain en courant (hFE) du TIP140 reste élevé.
Le transistor de commande Darlington plus petit, le BCV29, est limité à un courant de collecteur continu de 0,5 A avec un hFE<sub>MIN</sub> de 4000 à ce niveau de courant, ce qui représente une charge très faible pour l'amplificateur opérationnel U1. Ce transistor est soudé sur le circuit imprimé. Pour une application nécessitant un faible courant, il est possible de supprimer le transistor de puissance TIP140 externe et de connecter directement l'émetteur du BCV29 à la sortie de l'alimentation. Ce transistor est fourni en boîtier SOT89 pour montage en surface, ce qui limite la dissipation de puissance grâce à une dissipation thermique minimale. Si cette option est envisagée, il convient de surveiller attentivement la température du transistor BCV29.

Figure 4. Écran de sortie.

 

En conclusion,
le microcontrôleur offre de nombreuses possibilités d'intégration de fonctions à cette alimentation, comme la possibilité de programmer une courbe tension/courant au fil du temps pour des tests et d'autres applications.
L'objectif de ce projet n'était pas de concevoir une alimentation commerciale de haute précision, mais une alimentation pratique pour mon atelier ; or, le résultat a dépassé mes attentes.

  

Nomenclature des composants de l'alimentation 32 bits