Electronique > Réalisations > Alimentations > Alimentation ajustable 014

Dernière mise à jour : 25/01/2015

Caractéristiques principales

Tension : 0 V à +15 V 
Courant : 1 A
Régulée : Oui

Présentation

La présente réalisation permet de disposer d'une alimentation dont la tension de sortie est commandée de façon numérique, grâce à l'emploi de deux boutons poussoir "Plus" (Up) et "Moins" (Down). Le réglage de la tension de sortie est assuré par ces deux boutons poussoirs, qui travaillent en vitesse lente puis passent en vitesse rapide si on laisse le doigt appuyé dessus pendant un certain temps. Le circuit possède les caractéristiques suivantes :
- Mémorisation de la dernière tension de sortie utilisée.
- Montée progressive de la tension d'alimentation à la mise en route.
Une version avec encodeur optique est proposée en page Alimentation ajustable 014c.

Schéma

Il met en oeuvre un PIC 16F628A associé à un réseau de résistance R/2R pour la conversion numérique / analogique. Un AOP et un transistor de puissance permettent d'amplifier la tension et le courant issus du réseau R/2R.

alim_ajust_014

Tension de référence
La tension de référence Vref est fournie par le PIC et son réseau R/2R constitué des seize résistances R1 à R16 qui servent de convertisseur numérique / analogique (CNA) 8 bits. Cette tension de référence, qui peut grosso-modo évoluer entre 0 V et +5 V, ne correspond pas à la tension de sortie mais y est tout de même proportionnelle. Le souhait en effet est de pouvoir obtenir une tension de sortie comprise entre 0 V et +15 V, et l'alimentation du PIC étant limitée à +5 V, une tension de référence de +15 V ne peut être obtenue directement en sortie du CNA. C'est pourquoi la section puissance inclue, en plus du transistor de puissance, un étage amplificateur destiné à multiplier la valeur de la tension de référence par une valeur qui permet de monter la tension de sortie à la valeur désirée. L'écart minimal qui existe entre deux pas de réglage est directement lié au nombre de bits du mot numérique, qui ici est présenté sur les huit sorties RB0 à RB7 du port B du PIC, mot dont la valeur minimale est $00 (00000000) et $FF (11111111). Il existe donc 256 (2 puissance 8) valeurs possibles à se partager entre 0 V et +5 V, ce qui donne un pas égal à 20 mV (0,02 V) environ. A noter que le réseau R/2R peut être remplacé par un convertisseur numérique / analogique (CNA) par exemple un PCF8591.

Section de puissance
Cette section est composée d'un AOP de type rail to rail et d'un transistor de puissance de type NPN darlington. L'AOP joue deux rôles :
1 - assurer une amplification de la tension de référence;
2 - assurer la régulation en charge de sorte à conserver une même tension de sortie quelque soit le courant de sortie.

1 - Amplification de la tension de référence
Cette amplification est une tâche simple pour un AOP si tant est qu'on l'utilise en amplificateur. Ce qui est fait ici, bien sûr. Et tant qu'à faire, autant le monter en amplificateur non-inverseur, afin de ne pas avoir la surprise de le voir toujours fournir une tension nulle ou très faible (c'est une blague rigolote que vous pouvez faire à votre prof). Le gain de cet amplificateur est fixé ici "en dur", grâce aux deux résistances R19 et R20, selon la formule suivante :
Gain = (R19 / R20) + 1 = (22000 / 10000) + 1 = 3,2
Aussi, la tension de sortie sera de
Vout = Vref * 3,2
Par exemple, si la tension de référence est de 1,56 V, alors la tension de sortie sera de
Vout = 1,56 * 3,2 = 4,99 V (disons 5,00 V pour ne pas froisser ceux qui aiment arrondir)
Petite remarque : l'amplification par 3,2 de la tension de référence augmente, par la même occasion, le pas qui sépare deux valeurs de tension de sortie possibles. Le pas qui était de 20 mV au niveau de la tension de référence passe à 64 mV, ce qui ma foi me semble toujours correct pour un usage normal d'une alimentation de labo, même si parfois on peut trouver un peu "irritant" le fait de ne pouvoir caler la tension de sortie sur une valeur "absolument égale" à 5,0000 V.

2 - Régulation de la tension de sortie
Cette régulation pourait être supprimée, mais on aurait dans ce cas une tension de sortie qui chuterait d'autant plus que le courant de sortie serait élevé, à cause de la chute de tension grandissante entre émetteur et collecteur du transistor Q1. Sachant que cette régulation peut être obtenue sans ajout de composant, simplement en connectant une patte de résistance différement, pourquoi s'en priver ? La résistance en question est R19 :
- si patte "supérieure" de R19 raccordée sur sortie AOP U2 (base de Q1), alors tension de sortie non régulée.
- si patte "supérieure" de R19 raccordée sur sortie générale (émetteur de Q1), alors tension de sortie régulée.

Témoin lumineux tension de sortie
J'ai une fois de plus opté pour la simplicité, une LED avec sa résistance série de limitation de courant remplacée par un transistor à effet de champs dont les pattes Gate et Source sont reliées ensemble pour en faire un générateur de courant constant. L'inconvénient de ce système est un allumage très faible ou nul pour les petites tensions de sortie, et un courant pas parfaitement prévisible. Mais comme ce dernier tourne en général entre 5 mA et 15 mA, pas de soucis pour une LED standard quelconque, que l'on choisira tout de même de couleur rouge pour sa tension nominale plus faible.

Montée en tension progressive
Pas de condensateur qui se charge lentement pour cette fonction, qui est purement logicielle - un des avantages de disposer d'une commande numérique... Lors de la mise sous tension, la dernière valeur de la tension de référence, qui était stockée en EEProm, est rappelée (voir paragraphe suivant). Mais au lieu d'être appliquée aussi sec au port B du PIC, une montée progressive est crée en partant de 0 jusqu'à ce que soit atteinte la valeur en question, avec une petite pause de 10 ms entre chaque valeur intérmédiaire (la variable Value correspond à la valeur de la tension de référence Vref à atteindre, en binaire puisqu'on est encore dans le domaine numérique).

procedure Value_SoftStart;
begin
for i := 0 to Value do
begin
PORTB := i;
Delay_ms(10);
end;
end;


C'est tellement simple à faire et tellement sécurisant de se dire que les montages alimentés vont se mettre à fumer tout en douceur s'ils sont mal câblés...

Sauvegarde de la valeur de la tension de référence
Il peut sembler intéressant de conserver la dernière valeur de la tension de sortie utilisée (et donc de la tension de référence) après coupure et rétablissement de l'alimentation secteur. C'est pourquoi le mot binaire appliqué au port B est sauvegardé en EEProm après la fin d'un réglage, et est rappelé à notre bon souvenir quand le système redémarre.

procedure Value_Load;
begin
// démarrage avec dernière tension utilisée
if TestBit(PORTA, 4) = 1 then
begin
Value := EEProm_Read(0);
Value_SoftStart;
end
// démarrage avec tension nulle
else
begin
Value := $00;
PORTB := Value;
end;
end;

procedure Value_Save;
begin
if TestBit(PORTA, 4) = 1 then
EEProm_Write(0, Value);
end;


Comme cette fonction de rappel mémoire n'est pas forcément désirée par tous, elle n'est mise en service que si l'entrée RA4 est reliée au +5 V. Si l'entrée RA4 est reliée à la masse, la tension est nulle à la mise sous tension (pas de sauvegarde ni de rappel mémoire). Le choix se fait au moyen du cavalier JP1 / Mem qu'il convient donc de placer dans la position qui vous convient. Au lieu d'une tension de sortie nulle, vous pouvez spécifier n'importe quelle autre valeur par défaut, vous avez le choix entre $00 et $FF.

Transformation en générateur de courant programmable
En modifiant un peu l'étage de sortie, il est possible de transformer ce générateur de tension stabilisée en générateur de courant stabilisé. Voir page Alimentation ajustable 014b.

Logiciel du PIC

Code source (format MikroPascal Pro V2.50) et fichier binaire compilé *.hex disponible dans l'archive suivante.
Alimentation ajustable 014 - 16F628A (28/08/2009)
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é.

Retours utilisateurs

-

Retours de Brice M.
La tension d'entrée de mon système étant de 12 V et non de 18 V, j'ai ajusté la valeur de R19 à 12 kO pour obtenir un gain de 2.2. Je n'ai pas utilisé un PIC mais un Arduino pro mini, et j'ai branché les résistance R1 à R8 aux pins 0 à 7 de la carte qui correpondent au même port de l'atmega. J'ai utilisé un LM358N pour l'amplification et un TIP120 en transistor. Pour ce montage, je n'ai eu aucun soucis. Bien sûr, la programmation est différente car j'utilise un atmega, mais la partie analogique fonctionne à merveille, et j'arrive à obtenir une tension précise.
Merci Brice pour ces retours !

Historique

25/01/2015
- Ajout retours de Brice M., que je remercie.
07/09/2009
- Première mise à disposition.