library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(ggplot2)
-Usando os dados coletados, monte a curvas I-V do painel solar em um
grafico, onde o eixo vertical representa a corrente (I) e o eixo
horizontal represental a tensão (V).
-Observe como a curva se parece e identifique os valores de Voc, Isc e
Pmax a partir do grafico.
Os dados de tensão (V) e corrente (A) são definidos nos vetores tensaoe corrente.
# Defina os dados de tensão e corrente
tensao <- c(20.36, 20.40, 20.03, 20.00, 20.02, 19.01, 17.90)
corrente <- c(0.59, 0.66, 0.77, 0.90, 1.16, 1.56, 2.19)
# Crie um gráfico de dispersão I-V
plot(tensao, corrente, type = "b", pch = 19, col = "blue", xlab = "Tensão (V)", ylab = "Corrente (A)")
# Adicione uma linha para melhor visualização da curva
lines(tensao, corrente, type = "b", col = "red")
-usando os dados coletados, monte a curvas P-V do painel solar em um gráfico, onde o eixo vertical representa a potencia (P) e o eixo horizontal representa a tensão (V) . -Marque o ponto de máxima potencia (MMP)
# Dados
tensao <- c(20.36, 20.40, 20.03, 20.00, 20.02, 19.01, 17.90)
corrente <- c(0.59, 0.66, 0.77, 0.90, 1.16, 1.56, 2.19)
corrente_total <- c(0.59, 0.66, 0.77, 0.90, 1.16, 1.56, 2.19, 3.31, 5.19, 6.80)
# Calcular a potência (P = V * I)
potencia <- tensao * corrente
# Encontrar o ponto de máxima potência (MMP)
indice_mmp <- which.max(potencia)
mmp_tensao <- tensao[indice_mmp]
mmp_potencia <- potencia[indice_mmp]
# Criar um data frame com os dados
dados <- data.frame(Tensao = tensao, Potencia = potencia)
# Criar o gráfico da curva P-V
ggplot(dados, aes(x = Tensao, y = Potencia)) +
geom_line(color = "blue") +
geom_point(data = dados[indice_mmp, ], aes(x = mmp_tensao, y = mmp_potencia, color = "red", size = 3)) +
labs(x = "Tensão (V)", y = "Potência (W)", title = "Curva P-V do Painel Solar") +
scale_color_manual(values = c("blue" = "blue", "red" = "red")) +
theme_minimal()
# Dados
# Dados
tensao <- c(20.36, 20.40, 20.03, 20.00, 20.02, 19.01, 17.90)
corrente <- c(0.59, 0.66, 0.77, 0.90, 1.16, 1.56, 2.19)
# Criar um data frame com os dados
dados <- data.frame(Tensao = tensao, Corrente = corrente)
# Encontrar os valores de Voc, Isc e Pmax
Voc <- max(dados$Tensao)
Isc <- max(dados$Corrente)
Pmax <- max(dados$Tensao * dados$Corrente)
# Criar o gráfico da curva I-V
ggplot(dados, aes(x = Tensao, y = Corrente)) +
geom_line(color = "blue") +
geom_point(aes(x = Voc, y = Isc), color = "red", size = 3) +
labs(x = "Tensão (V)", y = "Corrente (A)", title = "Curva I-V do Painel Solar") +
annotate("text", x = Voc, y = Isc, label = paste("Voc =", round(Voc, 2), "V\nIsc =", round(Isc, 2), "A"), vjust = -1) +
geom_text(aes(x = Voc, y = Pmax), label = paste("Pmax =", round(Pmax, 2), "W"), vjust = -1, hjust = -0.2, color = "orange") +
scale_color_manual(values = c("blue" = "blue", "red" = "red")) +
theme_minimal() +
coord_cartesian(ylim = c(0, max(corrente) * 1.1))
# Dados
tensao <- c(20.36, 20.40, 20.03, 20.00, 20.02, 19.01, 17.90)
corrente <- c(0.59, 0.66, 0.77, 0.90, 1.16, 1.56, 2.19)
# Calcular a potência (P = V * I)
potencia <- tensao * corrente
# Encontrar o ponto de máxima potência (MMP)
indice_mmp <- which.max(potencia)
mmp_tensao <- tensao[indice_mmp]
mmp_potencia <- potencia[indice_mmp]
# Criar um data frame com os dados
dados <- data.frame(Tensao = tensao, Potencia = potencia)
# Criar o gráfico de dispersão da curva P-V
ggplot(dados, aes(x = Tensao, y = Potencia)) +
geom_point(color = "blue", size = 3) +
geom_point(data = dados[indice_mmp, ], aes(x = mmp_tensao, y = mmp_potencia), color = "red", size = 3) +
labs(x = "Tensão (V)", y = "Potência (W)", title = "Curva P-V do Painel Solar") +
theme_minimal()
-Análise as curvas I-V e P-V plotadas e mostre o ponto de máxima potencia (MMP). -Conclua a aula destacando os pontos importantes da curvas I-V (Voc, Isc, Vmp e Imp).
tensao <- c(20.36, 20.40, 20.03, 20.00, 20.02, 19.01, 17.90)
corrente <- c(0.59, 0.66, 0.77, 0.90, 1.16, 1.56, 2.19, 3.31, 5.19, 6.80)
# Criar um data frame com os dados
dados <- data.frame(Tensao = rep(tensao, each = length(corrente)),
Corrente = rep(corrente, times = length(tensao)))
# Calcular a potência (P = V * I)
dados <- dados %>% mutate(Potencia = Tensao * Corrente)
# Encontrar o ponto de máxima potência (MMP)
mmp <- dados %>% slice(which.max(Potencia))
# Criar o gráfico I-V e P-V no mesmo gráfico
ggplot(dados, aes(x = Tensao, y = Corrente, color = "I-V")) +
geom_line() +
geom_point(data = mmp, aes(x = Tensao, y = Corrente, color = "MMP"), size = 3) +
geom_line(aes(x = Tensao, y = Potencia / Corrente, color = "P-V"), linetype = 2) +
labs(x = "Tensão (V)", y = "Corrente (A)", title = "Curvas I-V e P-V") +
scale_color_manual(values = c("I-V" = "blue", "MMP" = "red", "P-V" = "green")) +
theme_minimal()
# Carregar a biblioteca ggplot2
library(ggplot2)
# Dados fictícios para ilustração
tensao <- c(20.36, 20.40, 20.03, 20.00, 20.02, 19.01, 17.90)
corrente <- c(0.59, 0.66, 0.77, 0.90, 1.16, 1.56, 2.19)
# Criar um data frame com os dados
dados <- data.frame(Tensao = tensao, Corrente = corrente)
# Criar o gráfico com estilo personalizado
ggplot(dados, aes(x = Tensao, y = Corrente)) +
geom_line(color = "blue") + # Linha azul
geom_point(color = "red", size = 3) + # Ponto vermelho
labs(
x = "Tensão (V)", # Rótulo do eixo X
y = "Corrente (A)", # Rótulo do eixo Y
title = "[Dimensionamento de Sistemas Fotovoltaicos]", # Título do gráfico
subtitle = "Curva I-V do Painel Solar" # Nota de rodapé
)
# Dados
tensao <- c(20.36, 20.40, 20.03, 20.00, 20.02, 19.01, 17.90)
corrente <- c(0.59, 0.66, 0.77, 0.90, 1.16, 1.56, 2.19)
# Criar um data frame com os dados
dados <- data.frame(Tensao = tensao, Corrente = corrente)
# Calcular a potência (P = V * I)
dados <- dados %>% mutate(Potencia = Tensao * Corrente)
# Encontrar o ponto de máxima potência (MMP)
mmp <- dados %>% slice(which.max(Potencia))
# Criar o gráfico I-V e P-V no mesmo gráfico
ggplot(dados, aes(x = Tensao)) +
geom_line(aes(y = Corrente, color = "Curva I-V"), size = 1) +
geom_line(aes(y = Potencia, color = "Curva P-V"), size = 1, linetype = 2) +
geom_point(data = mmp, aes(y = Corrente, color = "MMP"), size = 3) +
labs(
x = "Tensão (V)", # Rótulo do eixo X
y = "Corrente (A) / Potência (W)", # Rótulo do eixo Y
title = "Curvas I-V e P-V do Painel Solar", # Título do gráfico
caption = "Fonte: Dados coletados" # Nota de rodapé
) +
scale_color_manual(values = c("Curva I-V" = "blue", "Curva P-V" = "green", "MMP" = "red")) +
theme_minimal()
## Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
## ℹ Please use `linewidth` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.