Pages: 1 [2] 3   Go Down
Author Topic: Régulation alimentation  (Read 3719 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Sr. Member
****
Karma: 12
Posts: 302
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

et son câblage prototype :
bonjour
c'est un joli proto
...tellement joli qu'il a meilleure allure que certains de mes projets « finalisés » smiley
Logged

Offline Offline
Faraday Member
**
Karma: 34
Posts: 5213
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Re,
ai cas où
retrouvé une lib DAC pour MCP , avec un exemple (testé verifié) pour 4822 canaux A/B
http://cjoint.com/13nv/CKimqjvvzOv.htm
Ok, je vais voir cela.
@+
Tiens tu fais des courses chez IKEA ?  smiley-mr-green
le MCP4822 a un avantage sur le 4922 (et evidemment des inconvenients)

Hors alim , juste 3 pin pour le faire "tourner"  CLK MOSI CS
ref interne

inconvenient ref interne 2.048V  avec un gain X2 4.096  donc un peu loin d'un 2.5V X2=5)
mais pour tes tests c'est parfait (au pire en adaptant le gain )  
« Last Edit: November 10, 2013, 04:10:49 am by Artouste » Logged

Moselle (FR)
Offline Offline
Edison Member
*
Karma: 16
Posts: 1307
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Re,
Tiens tu fais des courses chez IKEA ?  smiley-mr-green
Cela permet d'avoir des éléments de surveillance (j'ai pas dit de mesure) de la température à des coûts très abordables
le MCP4822 a un avantage sur le 4922 (et evidemment des inconvenients)
Hors alim , juste 3 pin pour le faire "tourner"  CLK MISO CS
ref interne
inconvenient ref interne 2.048V  avec un gain X2 4.096  donc un peu loin d'un 2.5V X2=5)
mais pour tes tests c'est parfait (au pire en adaptant le gain )  
Ce n'est pas un problème en 12 bits par rapport à la mesure en 10 bits. On devrait y retrouver ces petits.
@+
« Last Edit: January 29, 2014, 02:54:00 pm by icare » Logged

2B OR NOT(2B) = FF
Arduino 1.0.5 + Notepad++ (sous Linux Fedora et/ou Windows)

Offline Offline
Faraday Member
**
Karma: 34
Posts: 5213
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Re,
Tiens tu fais des courses chez IKEA ?  smiley-mr-green
Cela permet d'avoir des éléments de surveillance (j'ai pas dit de mesure) de la température à des coûts très abordables


je suis parfaitement d'accord et pour en avoir verifiée qq unes sur etalon, c'est plus qu'honorable comparé à certains trucs  smiley-cool
Logged

Moselle (FR)
Offline Offline
Edison Member
*
Karma: 16
Posts: 1307
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonsoir,
Quelques essais plus tard ...
J'ai doté mon proto d'un capteur de courant ASC712 (la petite araignée qui se trouve à gauche)
Les essais de remplacement des potentiomètres par des convertisseurs num/ana sont tout à fait satisfaisant.
La carte UNO c'est mise à l'envers pour ne pas voir le piètre câblage de ma platine d'essai  smiley-lol
Le temps de mettre un peu d'ordre dans tous les documents et je rajouterai le schéma de cet essai.
Tension de sortie mesurée = 20.037 V (j'y tiens beaucoup aux 7 mV  smiley-mr-green)
Courant de sortie mesuré = 1.28 A
... à suivre ..
« Last Edit: December 13, 2013, 05:21:57 am by icare » Logged

2B OR NOT(2B) = FF
Arduino 1.0.5 + Notepad++ (sous Linux Fedora et/ou Windows)

Moselle (FR)
Offline Offline
Edison Member
*
Karma: 16
Posts: 1307
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour,
Les deux schémas utilisés pour cet essai :
Module puissance
Module commande (version1)
Dans ce cas on utilise directement les consignes pour commander l'OPA549 mais le but final est de se servir de la valeur mesurée en sortie pour commander l'OPA549 en fonction de la valeur de consigne (pour V et I).
Je prévois également utiliser l'entrée contrôle/alarme pour afficher la sur-chauffe de l'ampli-op et de commander l'arrêt de l'alimentation en cas d'urgence (normalement en 1 micro-seconde).
U3 amplifie la sortie du MCP4822 (Us max = 4.096V) pour avoir les 4.75V nécessaire pour que la limitation de courant puisse être de 0.0A.
... à suivre ...

* p05_alimOPA549.zip (4.83 KB - downloaded 14 times.)
« Last Edit: November 27, 2013, 05:45:54 pm by icare » Logged

2B OR NOT(2B) = FF
Arduino 1.0.5 + Notepad++ (sous Linux Fedora et/ou Windows)

Offline Offline
Faraday Member
**
Karma: 34
Posts: 5213
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset


Je prévois également utiliser l'entrée contrôle/alarme pour afficher la sur-chauffe de l'ampli-op et de commander l'arrêt de l'alimentation en cas d'urgence (normalement en 1 micro-seconde).

Bonjour Icare
juste sur ça
L'OPA se met de lui meme en thermal shutdown ( tu ne peux pas le commander)
avec un hysteresis de ~20°C
l'indicateur peut evidemment etre utilisé pour  "couper le general"  mais là on est déjà plus au besoin de la µs
Logged

Moselle (FR)
Offline Offline
Edison Member
*
Karma: 16
Posts: 1307
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Re,

Je prévois également utiliser l'entrée contrôle/alarme pour afficher la sur-chauffe de l'ampli-op et de commander l'arrêt de l'alimentation en cas d'urgence (normalement en 1 micro-seconde).

Bonjour Icare
juste sur ça
L'OPA se met de lui meme en thermal shutdown ( tu ne peux pas le commander)
avec un hysteresis de ~20°C
l'indicateur peut evidemment etre utilisé pour  "couper le general"  mais là on est déjà plus au besoin de la µs
C'est exact pour le thermal shutdown, je comptais l'utiliser pour une visualisation sur l'écran LCD.
La pin 9 du OPA549 est bidirectionnelle, elle permet également de faire un shutdown (faire un arrêt d'urgence).
@+
Logged

2B OR NOT(2B) = FF
Arduino 1.0.5 + Notepad++ (sous Linux Fedora et/ou Windows)

Moselle (FR)
Offline Offline
Edison Member
*
Karma: 16
Posts: 1307
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonsoir,
Mes essais avec l'alimentation numérique à base d'OPA549 continuent.
Il s'agit d'une régulation simple du type tout ou rien. On lit la tension de sortie de l'alimentation et on la compare à la consigne de tension et en fonction du résultat on agit sur la tension de commande de l'OPA549 (en plus ou en moins).
Le schéma de principe du hard est représenté ci-dessous.
Pour améliorer la stabilité des mesures, la carte Arduino UNO est alimentée en 9V via Vin et l'entrée Aref est découplée par un condensateur de 100nF.
Le principe de la régulation numérique vu du côté soft est le suivant :
La valeur de Epsilon doit être supérieure ou égale à la résolution du ADC (>= 4mV pour 10 bits). Cela entraîne une variation de 40 mV sur la sortie (Gain de l'OPA549 = 10). Si Epsilon est inférieur à la résolution du ADC alors on aura un phénomène de "pompage" car aucun équilibre est possible  smiley-mr-green
Il est possible de corriger les dispersions matériels en jouant sur le rapport de réduction du diviseur de tension placé sur Vout.
Les meilleurs résultats que j'ai pu obtenir sur Vout pour une consigne de 2500mV sont :
- 25,022 V
- 24,941 V
soit une différence de 81 mV ce qui représente 2 fois la résolution du ADC de l'Arduino X 10 (gain OPA549)
Pour améliorer les résultats il faut impérativement que la résolution de l'ADC soit supérieure ou égale à la résolution du DAC (test dans les prochains jours).
Lors des essais, on constate quelques dérivent entre la consigne et la tension de sortie (Umes) qui sont représentées sur le graphique ci-dessous.
On remarque que la non linéarité des convertisseurs pourra être corrigée par la courbe de tendance si les résolutions des DAC et ADC le permettent (sera réglé par la suite). L'erreur est inférieure à 1% entre 10 V et 25 V.  smiley-cool
Pour terminer, une "vision aérienne" sur la base d'essai.

P.S : Un colistier aurait-il des informations ou des références sur la régulation d'alimentation numérique par régulateur PID ?
« Last Edit: December 06, 2013, 03:11:27 pm by icare » Logged

2B OR NOT(2B) = FF
Arduino 1.0.5 + Notepad++ (sous Linux Fedora et/ou Windows)

Offline Offline
Faraday Member
**
Karma: 34
Posts: 5213
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

...
Pour améliorer les résultats il faut impérativement que la résolution de l'ADC soit supérieure ou égale à la résolution du DAC (test dans les prochains jours).
...
Pour terminer, une "vision aérienne" sur la base d'essai.

P.S : Un colistier aurait-il des informations ou des références sur la régulation d'alimentation numérique par régulateur PID ?

Bonjour Icare

dès que, ça part  smiley-cool
tu compte au final mettre ça en boite ?
Pas sur du tout que vouloir faire là du PID soit une solution efficace, perso je verrais plus une stabilisation du DAC par gestion de la minoration dychotomique
issue de l'ADC .
Logged

Moselle (FR)
Offline Offline
Edison Member
*
Karma: 16
Posts: 1307
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour Artouste,
tu compte au final mettre ça en boite ?
Pas sur du tout que vouloir faire là du PID soit une solution efficace, perso je verrais plus une stabilisation du DAC par gestion de la minoration dychotomique
issue de l'ADC .
Le but final est effectivement une mise en boîte avec les fonctionnalités suivantes:
TENSION
- alimentation standard (variation immédiate de la sortie en fonction de la consigne tension)
- alimentation programmée (sortie après réglage de la consigne tension puis validation)
- alimentation télécommandée par liaison RS232 ou I2C
- alimentation en mode débrayé (commandes analogiques de U et Imax)
COURANT
- générateur de courant standard (en fonction de la consigne de courant)
- générateur de courant programmé (réglage de la consigne de courant puis varidation)
- générateur de courant télécommandé par liaison RS232 ou I2C
CHARGEUR
- chargeur de batterie intelligent en fonction de la technologie des accus
     + Ni-Cd ou Ni-MH
     + Plomb
     + Li
     + Alcalines rechargeables (pourquoi pas)
DIVERS
- suiveur de tension ou courant
- télécommande sortie via signal TTL
- retour mesures alimentation (via RS ou I2C)
- calibrage tension de sortie
- calibrage courant
Bref tout un "programme", pas sûr que tout tiendra dans la UNO mais on verra (peut être faudra t'il passer par la joie de l'optimisation)

Concernant la méthode de régulation, je suis relativement septique sur le PID mais je souhaitai avoir des avis sur le sujet.
@+
« Last Edit: December 06, 2013, 03:09:38 pm by icare » Logged

2B OR NOT(2B) = FF
Arduino 1.0.5 + Notepad++ (sous Linux Fedora et/ou Windows)

Bretagne
Offline Offline
Edison Member
*
Karma: 16
Posts: 1398
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Salut,

Moi, je dirais qu'il vaut mieux utiliser l'OPA pour réguler et n'utiliser l'ardiono que pour envoyer des tensions de consigne. Imagine que tu décides d'alimenter un moteur avec ton système, tu vas voir que la régulation, c'est pas facile sur une charge variable...
Logged

Moselle (FR)
Offline Offline
Edison Member
*
Karma: 16
Posts: 1307
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonsoir Super_Cinci
Salut,
Moi, je dirais qu'il vaut mieux utiliser l'OPA pour réguler et n'utiliser l'ardiono que pour envoyer des tensions de consigne. Imagine que tu décides d'alimenter un moteur avec ton système, tu vas voir que la régulation, c'est pas facile sur une charge variable...
Merci pour ta remarque, cela reste des essais à faire.
La régulation à proprement dite est faite par l'ampli-op, je ne fais qu'adapter la commande tension de l'ampli-op au niveau de tension réelle en sortie de l'ampli-op.
C'est une sorte de "sur-régulation" pour assurer une tension de sortie égale à la consigne, lorsqu'on à un niveau stable dans la sur-régulation l'ampli-op joue son rôle.
@+
Logged

2B OR NOT(2B) = FF
Arduino 1.0.5 + Notepad++ (sous Linux Fedora et/ou Windows)

Offline Offline
Faraday Member
**
Karma: 34
Posts: 5213
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonsoir Super_Cinci
Salut,
Moi, je dirais qu'il vaut mieux utiliser l'OPA pour réguler et n'utiliser l'ardiono que pour envoyer des tensions de consigne. Imagine que tu décides d'alimenter un moteur avec ton système, tu vas voir que la régulation, c'est pas facile sur une charge variable...
Merci pour ta remarque, cela reste des essais à faire.
La régulation à proprement dite est faite par l'ampli-op, je ne fais qu'adapter la commande tension de l'ampli-op au niveau de tension réelle en sortie de l'ampli-op.
C'est une sorte de "sur-régulation" pour assurer une tension de sortie égale à la consigne, lorsqu'on à un niveau stable dans la sur-régulation l'ampli-op joue son rôle.
@+
Bonsoir
C'est comme dans tout cahier des charges , il faut etre "conscient" de l'utilisation finale et des contraintes induites

l'expé d'icare là est de faire aussi de l'alim en tracking (ce n'est in fine que de l'alim en 4 fils)  , et qui peut le plus peu le moins :  smiley-mr-green  faire l'impasse sur l'info de retour ADC pour juste utiliser la consigne DAC (ne pas utiliser de boucle pour la regulation) est simple = "ne pas ecouter qui parle "là bas au fond"  smiley-mr-green mais selon les "emplois de l'alim" ça peut aussi etre "sympa" d'avoir une option tracking.
Logged

Moselle (FR)
Offline Offline
Edison Member
*
Karma: 16
Posts: 1307
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonsoir,
Je reviens avec mon expérimentation sur l'alimentation stabilisée supervisée par un Arduino UNO. Vous trouverez ci-dessous les schémas quasi définitif de mon alimentation.





Reste maintenant à peaufiner la partie soft, je mettrai la première dans ce post la première version utilisable de la partie tension.
Toutes vos remarques sont les bienvenues.
@+


* 131206-Alim_1.jpg (866.94 KB, 2262x3287 - viewed 53 times.)

* 131206-Alim_2.jpg (1027.05 KB, 2269x3287 - viewed 54 times.)
« Last Edit: December 06, 2013, 04:12:14 pm by icare » Logged

2B OR NOT(2B) = FF
Arduino 1.0.5 + Notepad++ (sous Linux Fedora et/ou Windows)

Pages: 1 [2] 3   Go Up
Jump to: