- Posts: 6
Subarray voltages: open circuit and operating
- caioabe
- Topic Author
Less
More
14 Oct 2019 10:17 #7716
by caioabe
Subarray voltages: open circuit and operating was created by caioabe
Hi,
I have been using SAM to assess the behavior of a 10-module PV array. The analysis is quite simple, as I am still getting used to SAM. I need to monitor the array’s open circuit voltage (Voc), according to the irradiance (POA,frontal total (G)) and cell temperature (Tc). I have set all the losses to zero.
The voltage results under irradiance levels close to 1000 W/m², at any given Tc, do not seem to follow the module data: the results are always lower than the expected. The open circuit voltages should be close to
Voc =Voc_stc . beta . (Tc – Tc_STC) + Voc_stc (Of course, this is only valid under G_stc, provided that the equation does not include an irradiance correction factor.)
But, instead, it seems that some “loss” is considered, and it takes away something around 4% of the voltage.
Could someone please provide insights on this? Thanks!
I have been using SAM to assess the behavior of a 10-module PV array. The analysis is quite simple, as I am still getting used to SAM. I need to monitor the array’s open circuit voltage (Voc), according to the irradiance (POA,frontal total (G)) and cell temperature (Tc). I have set all the losses to zero.
The voltage results under irradiance levels close to 1000 W/m², at any given Tc, do not seem to follow the module data: the results are always lower than the expected. The open circuit voltages should be close to
Voc =Voc_stc . beta . (Tc – Tc_STC) + Voc_stc (Of course, this is only valid under G_stc, provided that the equation does not include an irradiance correction factor.)
But, instead, it seems that some “loss” is considered, and it takes away something around 4% of the voltage.
Could someone please provide insights on this? Thanks!
Attachments:
Please Log in or Create an account to join the conversation.
- pgilman
Less
More
- Posts: 5423
14 Oct 2019 11:35 #7718
by pgilman
Replied by pgilman on topic Subarray voltages: open circuit and operating
Hello,
The photovoltaic module ratings are given at Standard Test Conditions (STC), which is defined as total incident irradiance of 1,000 Q/m2, photovoltaic cell temperature of 25°C, and air mass of 1.5. Unless all three of those conditions are met in a given time step, the open circuit voltage will be different from its rated value.
In your simulation results, you can see that the cell temperature is always higher than 25°C, so you would expect the open circuit voltage to be lower than its rated value.
Best regards,
Paul.
The photovoltaic module ratings are given at Standard Test Conditions (STC), which is defined as total incident irradiance of 1,000 Q/m2, photovoltaic cell temperature of 25°C, and air mass of 1.5. Unless all three of those conditions are met in a given time step, the open circuit voltage will be different from its rated value.
In your simulation results, you can see that the cell temperature is always higher than 25°C, so you would expect the open circuit voltage to be lower than its rated value.
Best regards,
Paul.
Please Log in or Create an account to join the conversation.
- caioabe
- Topic Author
Less
More
- Posts: 6
14 Oct 2019 12:02 #7719
by caioabe
Replied by caioabe on topic Subarray voltages: open circuit and operating
Hi Paul,
Thank you for your response. I do understand what you explained. The fact is how much should the Voc decrease as the cell temperature increases. This is usually expressed as a temperature factor, in the present case, -0.31 %/°C (relative to Voc,stc) or -117 mV/°C.
Although the parameters have been entered correctly, relating the operating Tc informed by SAM (under points close to G=1000 W/m²) with the Voc,stc and the temperature correction for Voc results in a voltage level which is higher than that informed by SAM.
Even though I have set all losses to zero, I guess that there might be some configuration causing such a voltage decrease. The main concern is: the Voc behavior according to Tc does not follow -0.31%/°C:
Thank you for your attention.
Thank you for your response. I do understand what you explained. The fact is how much should the Voc decrease as the cell temperature increases. This is usually expressed as a temperature factor, in the present case, -0.31 %/°C (relative to Voc,stc) or -117 mV/°C.
Although the parameters have been entered correctly, relating the operating Tc informed by SAM (under points close to G=1000 W/m²) with the Voc,stc and the temperature correction for Voc results in a voltage level which is higher than that informed by SAM.
Even though I have set all losses to zero, I guess that there might be some configuration causing such a voltage decrease. The main concern is: the Voc behavior according to Tc does not follow -0.31%/°C:
Thank you for your attention.
Please Log in or Create an account to join the conversation.
- pgilman
Less
More
- Posts: 5423
18 Oct 2019 12:39 #7740
by pgilman
Replied by pgilman on topic Subarray voltages: open circuit and operating
Hi,
Can you share the data or graphs you are using to determine the relationship between Voc and cell temperature?
Best regards,
Paul.
Can you share the data or graphs you are using to determine the relationship between Voc and cell temperature?
Best regards,
Paul.
Please Log in or Create an account to join the conversation.
- caioabe
- Topic Author
Less
More
- Posts: 6
18 Oct 2019 13:28 #7742
by caioabe
Replied by caioabe on topic Subarray voltages: open circuit and operating
Hi Paul, thank you for the reply.
I am sharing an Excel sheet, which was created by SAM (Data Tables > Send to Excel). The data have been filtered as to display only points under 995 < G < 1005 [W/m²] (for G not to cause significative interference on Voc).
Data in blue have been added by me, and regard the calculation of the expected Voc based on Voc,stc and the temperature coefficient for Voc (beta). These values are the same as those entered on SAM CEC model (user-informed parameters). The Voc computed this way is higher than the Voc informed by SAM.
My concern is that some loss mechanism is still being considered.
(Quick reply does not allow sending attachments, so I entered Editor. I hope this will not confuse the post ordering in this topic).
Thank you for providing SAM and the support for it.
I am sharing an Excel sheet, which was created by SAM (Data Tables > Send to Excel). The data have been filtered as to display only points under 995 < G < 1005 [W/m²] (for G not to cause significative interference on Voc).
Data in blue have been added by me, and regard the calculation of the expected Voc based on Voc,stc and the temperature coefficient for Voc (beta). These values are the same as those entered on SAM CEC model (user-informed parameters). The Voc computed this way is higher than the Voc informed by SAM.
My concern is that some loss mechanism is still being considered.
(Quick reply does not allow sending attachments, so I entered Editor. I hope this will not confuse the post ordering in this topic).
Thank you for providing SAM and the support for it.
Attachments:
Please Log in or Create an account to join the conversation.
- pgilman
Less
More
- Posts: 5423
22 Oct 2019 17:57 - 22 Oct 2019 17:57 #7752
by pgilman
Replied by pgilman on topic Subarray voltages: open circuit and operating
Thank you for sending the files.
The operating Voc calculation happens in the openvoltage_5par() function using a non-linear iterative algorithm, which is defined in lib_pvmodel.cpp : and based on the equivalent circuit singe-diode model equation described in Section 10.4 of the SAM PV Reference Manual .
Best regards,
Paul.
The operating Voc calculation happens in the openvoltage_5par() function using a non-linear iterative algorithm, which is defined in lib_pvmodel.cpp : and based on the equivalent circuit singe-diode model equation described in Section 10.4 of the SAM PV Reference Manual .
Code:
double openvoltage_5par( double Voc0, double a, double IL, double IO, double Rsh )
{
/*
C Iterative solution for open-circuit voltage. Explicit algebraic solution
C not possible in 5-parameter model
*/
double VocLow = 0;
double VocHigh = Voc0 * 1.5;
double Voc = Voc0; // initial guess
int niter = 0;
while( fabs(VocHigh-VocLow) > 0.001 )
{
double I = IL - IO*(exp(Voc/a)-1) - Voc/Rsh;
if (I < 0) VocHigh = Voc;
if (I > 0) VocLow = Voc;
Voc = (VocHigh+VocLow)/2;
if (++niter > 5000)
return -1.0;
}
return Voc;
}
Best regards,
Paul.
Last edit: 22 Oct 2019 17:57 by pgilman.
Please Log in or Create an account to join the conversation.
Moderators: pgilman