Ejemplo n.º 1
0
    def __actual_voltage(self, photo_current, saturation_current, nominal_thermal_voltage, nominal_voltage, operating_temperature):
        # TODO: I-V curve and P-V curve gets the sharp drop near open circuit voltage when irradiance dependence is taken into account 
        # Irradiance dependence:
        single_voltage_irradiance_dependence = SingleVoltageIrradianceDependence(photo_current, 
                                                                                 saturation_current, 
                                                                                 self.shunt_resistance, 
                                                                                 self.number_of_cells_in_series, 
                                                                                 nominal_thermal_voltage)
        irradiance_dependent_voltage = single_voltage_irradiance_dependence.calculate(nominal_voltage)

        # Temperature dependence:
        # Based on equation (24) of [1] but taking into account that the unit of temperature_voltage_coefficient is [V/ºC] instead of [%/ºC]. (Note: Different datasheets use either of these units):
        return irradiance_dependent_voltage + self.temperature_voltage_coefficient * (operating_temperature - self.nominal_temperature)
Ejemplo n.º 2
0
    def setUp(self):
        self.open_circuit_voltage = 42.1  # [V]
        self.photo_current = 3.506  # [A] Value for operating_temperature = 35 + 273 [K] and actual_irradiance = 900[W/m^2]
        self.nominal_saturation_current = 1.680e-07  # [A]
        # self.saturation_current = 4.00e-07 # [A]
        self.shunt_resistance = 1862  # [Ω]
        self.number_of_cells_in_series = 72
        self.nominal_thermal_voltage = 0.0345
        # self.operating_thermal_voltage = 0.0356

        self.single_voltage_irradiance_dependence = SingleVoltageIrradianceDependence(
            self.photo_current, self.nominal_saturation_current,
            self.shunt_resistance, self.number_of_cells_in_series,
            self.nominal_thermal_voltage)