simulateur de panneau solaire
La courbe tension/courant d'un paneau solaire est celle ci:
Un panneau solaire se comporte comme un générateur de courant constant, avec une zone de transition pour les courants faibles due aux diodes en série. Plus de détails sur cette page: https://solarpost.in/basics/i-v-curve-solar-pv/
Pour le projet Régulateur solaire MPTT j'ai besoin d'une alimentation simulant un panneau solaire pour mettre au point l'agorithme MPTT. Une simple alimentation de laboratoire en courant constant a un comportement trop «carré» pour cela; de plus les alimentation à découpage présentent des impultions lors de la limitation de courant qui, lorsque l'on travaille sous courant élevé, peut être destructeur. L'idée est donc de réaliser une source de courant constant qui réponde au besoin.
Le courant est limité par le transistor de puissance Q2, monté en darlington avec Q1. Le courant est mesuré aux bornes de la résistance R3. R1, D1 et RV1 fournissent une référence de tension ajustable. L'amplificateur operationel U1 compare la tension aux bornes de R3 avec la référence sur son entrée «+» et sa sortie pilote le transistor de puissance. Pour les courants faibles, Q2 devrait être passant mais le montage darlington impose une chute de tension minimale pour saturer Q2, donnant a l'ensemble un comportement plus linéaire.
Pour R3 nous n'avons pas en stock de résistance de puissance de si faible valeur. Mais nous avons une bobine de fil de cuivre pour lequel le fournisseur donne les caractéristiques; en particulier sa résistance: 183 ohms par Km. 1 mètre de ce cable donnera donc une résistance d'environ 183 mOhms (nous n'avont pas besoin d'une valeur très précise ici; RV1 nous permettra d'ajuster le courant).
Le montage est réalisé sur une breadboard; le transistor de puissance Q2 est monté sur un radiateur pour évacuer la chaleur.
Pour caractériser le montage nous utilisons une alimentation de laboratoire pouvant founir plusieurs ampères sous 25V, et une charge fictive Charge électronique TENMA 72-13210. Cette dernière sera utilisée en tension constante (ce qui veut dire qu'elle consome le courant nécessaire pour atteindre la tension de consigne), en faisant varier le réglage de la tension et en mesurant le courant nous obtenons la courbe I/V du montage.
Cet appareil peut être connecté à un ordinateur par USB, qui pourra alors le piloter et récupŕer les valeur mesurées. L'appareil est vu comme un pont USB/série sur le PC. il envoie ses commandes sous forme de chaine de caractère, et obtient les réponses sous forme de chaine de caractère également (se reporter aux documentations sur la page Charge électronique TENMA 72-13210). Nous allons donc utiliser un script (en perl) pour réaliser les mesures:
#!/usr/pkg/bin/perl
use Device::SerialPort;
use Time::HiRes qw( usleep );
my $line;
my $port = Device::SerialPort->new($ARGV[0]) or die "failed to open serial port";
$port->databits(8);
$port->baudrate(115200);
$port->parity("none");
$port->stopbits(1);
$port->write("*IDN?\n");
$line = getportln($port);
print ("IDN: $line\n");
my $setvolt=24;
$port->write(":FUNC CV\n");
setvolt($port, $setvolt);
$port->write(":INP ON\n");
while ($setvolt >= 10)
{
setvolt($port, $setvolt);
$setvolt = $setvolt - 0.1;
}
$port->write(":INP OFF\n");
exit(0);
sub setvolt
{
my ($p, $v) = @_;
$p->write(":VOLT " . $v . "V\n");
$p->write(":VOLT?\n");
my $l = getportln($p);
print("set $l");
usleep(500000);
$p->write(":MEAS:CURR?\n");
$l = getportln($p);
print(" $l ");
$p->write(":MEAS:VOLT?\n");
$l = getportln($p);
print(" $l\n");
}
sub getportln
{
my ($p) = @_;
my $l = "";
while(1) {
my $byte = $port->read(1);
if ($byte eq "\n") {
$p->lookclear;
return $l;
}
$l = $l . $byte;
}
}
La commande *IDN? permet de vérifier la communication avec l'appareil. Ensuite nous réglons la consigne à 24V puis activons la charge fictive. ensuite, pour chaque valeur de 24V à 10V (par pas de 0,1V) la consigne est envoyée à l'appareil, et après une attente de 500ms les valeurs mesurées de tension et intensité sont récupérées (cela se passe dans la routine setvolt). Enfin l'appareil est désactivé avant la fin du programme.
L'exécution donne:
IDN: TENMA 72-13210 V2.10 S50011730
set 24.000V 0.0000A 24.407V
set 24.000V 0.0000A 23.998V
set 23.900V 0.0000A 23.896V
set 23.800V 0.0000A 23.796V
set 23.700V 0.0047A 23.698V
set 23.600V 0.0160A 23.598V
set 23.500V 0.0382A 23.496V
set 23.400V 0.0699A 23.397V
set 23.300V 0.1103A 23.296V
set 23.200V 0.1546A 23.198V
set 23.100V 0.2049A 23.096V
set 23.000V 0.2572A 22.996V
set 22.900V 0.3104A 22.895V
set 22.800V 0.3645A 22.796V
set 22.700V 0.4185A 22.698V
set 22.600V 0.4733A 22.598V
set 22.500V 0.5278A 22.499V
set 22.400V 0.5821A 22.398V
set 22.300V 0.6363A 22.299V
set 22.200V 0.6915A 22.197V
set 22.100V 0.7435A 22.099V
set 22.000V 0.7974A 21.998V
set 21.900V 0.8490A 21.900V
set 21.800V 0.9019A 21.797V
set 21.700V 0.9536A 21.697V
set 21.600V 1.0035A 21.599V
set 21.500V 1.0540A 21.499V
set 21.400V 1.1048A 21.397V
set 21.300V 1.1538A 21.297V
set 21.200V 1.2032A 21.196V
set 21.100V 1.2502A 21.099V
set 21.000V 1.2986A 20.998V
set 20.900V 1.3457A 20.898V
set 20.800V 1.3929A 20.797V
set 20.700V 1.4395A 20.698V
set 20.600V 1.4864A 20.596V
set 20.500V 1.5310A 20.498V
set 20.399V 1.5769A 20.397V
set 20.299V 1.6215A 20.298V
set 20.199V 1.6672A 20.195V
set 20.099V 1.7112A 20.095V
set 19.999V 1.7546A 19.996V
set 19.899V 1.7979A 19.896V
set 19.799V 1.8412A 19.797V
set 19.699V 1.8841A 19.696V
set 19.599V 1.9263A 19.596V
set 19.499V 1.9680A 19.498V
set 19.399V 2.0100A 19.397V
set 19.299V 2.0521A 19.297V
set 19.199V 2.0936A 19.196V
set 19.099V 2.1345A 19.096V
set 18.999V 2.1762A 18.996V
set 18.899V 2.2157A 18.897V
set 18.799V 2.2565A 18.796V
set 18.699V 2.2964A 18.698V
set 18.599V 2.3367A 18.595V
set 18.499V 2.3766A 18.495V
set 18.399V 2.4148A 18.396V
set 18.299V 2.4543A 18.296V
set 18.199V 2.4935A 18.197V
set 18.099V 2.5313A 18.097V
set 17.999V 2.5704A 17.996V
set 17.899V 2.6074A 17.899V
set 17.799V 2.6465A 17.796V
set 17.699V 2.6846A 17.696V
set 17.599V 2.7219A 17.595V
set 17.499V 2.7594A 17.496V
set 17.399V 2.7967A 17.394V
set 17.299V 2.8319A 17.297V
set 17.199V 2.8357A 17.196V
set 17.099V 2.8391A 17.097V
set 16.999V 2.8410A 16.994V
set 16.899V 2.8443A 16.895V
set 16.799V 2.8479A 16.795V
set 16.699V 2.8502A 16.696V
set 16.599V 2.8547A 16.597V
set 16.499V 2.8580A 16.496V
set 16.399V 2.8623A 16.397V
set 16.299V 2.8651A 16.302V
set 16.199V 2.8688A 16.201V
set 16.099V 2.8732A 16.099V
set 15.999V 2.8777A 16.001V
set 15.899V 2.8828A 15.899V
set 15.799V 2.8869A 15.802V
set 15.699V 2.8913A 15.700V
set 15.599V 2.8966A 15.600V
set 15.499V 2.9011A 15.500V
set 15.399V 2.9062A 15.399V
set 15.299V 2.9112A 15.298V
set 15.199V 2.9154A 15.201V
set 15.099V 2.9199A 15.099V
set 14.999V 2.9236A 15.000V
set 14.899V 2.9277A 14.899V
set 14.799V 2.9312A 14.799V
set 14.699V 2.9345A 14.701V
set 14.599V 2.9385A 14.600V
set 14.499V 2.9426A 14.498V
set 14.399V 2.9466A 14.398V
set 14.299V 2.9499A 14.298V
set 14.199V 2.9532A 14.200V
set 14.099V 2.9572A 14.099V
set 13.999V 2.9606A 13.999V
set 13.899V 2.9642A 13.899V
set 13.799V 2.9661A 13.798V
set 13.699V 2.9683A 13.698V
set 13.599V 2.9723A 13.599V
set 13.499V 2.9769A 13.499V
set 13.399V 2.9820A 13.400V
set 13.299V 2.9866A 13.299V
set 13.199V 2.9903A 13.199V
set 13.099V 2.9940A 13.101V
set 12.999V 2.9972A 13.000V
set 12.899V 3.0006A 12.899V
set 12.799V 3.0025A 12.798V
set 12.699V 3.0055A 12.698V
set 12.599V 3.0090A 12.600V
set 12.499V 3.0120A 12.498V
set 12.399V 3.0176A 12.398V
set 12.299V 3.0203A 12.299V
set 12.199V 3.0236A 12.198V
set 12.099V 3.0270A 12.098V
set 11.999V 3.0301A 11.999V
set 11.899V 3.0339A 11.899V
set 11.799V 3.0392A 11.800V
set 11.699V 3.0455A 11.697V
set 11.599V 3.0495A 11.598V
set 11.499V 3.0538A 11.500V
set 11.399V 3.0584A 11.399V
set 11.299V 3.0622A 11.298V
set 11.199V 3.0652A 11.198V
set 11.099V 3.0684A 11.097V
set 10.999V 3.0710A 11.000V
set 10.899V 3.0740A 10.897V
set 10.799V 3.0765A 10.797V
set 10.699V 3.0783A 10.698V
set 10.599V 3.0806A 10.598V
set 10.499V 3.0826A 10.499V
set 10.399V 3.0850A 10.399V
set 10.299V 3.0871A 10.300V
set 10.199V 3.0892A 10.200V
set 10.099V 3.0918A 10.100V
Ce fichier pemet de tracer la courbe V/I, par exemple avec gnuplot:
L'ensemble des fichiers sont disponibles dans emulsp.zip