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