Estudos SEP em Python
Perfeito, Pedro — isso aqui é exatamente o tipo de coisa que liga teoria de Circuitos / SEP com programação e BI 👊
Vou te explicar em 3 níveis:
- ✅ O que tem na imagem (leitura técnica)
- ⚡ Como calcular tensão a partir de fasor (cos/sen)
- 💻 Script Python → calcula + salva (MW / Mvar) no SQLite
🖼️ 1. O que eu vejo na imagem (análise técnica)
Essa imagem é um diagrama unifilar de um sistema elétrico de potência (tipo AnaREDE/Organon).
🔎 Elementos identificáveis:
🟣 Barras (subestações)
Exemplo:
501-ISOLTIHE008531-ISOTSIN004538-ISOLTE-SP440572-MIRASS-SP440
Cada uma mostra:
|V| ∠ θ (pu)
Exemplo real da imagem:
0.986 ∠ 0.00°0.959 ∠ -3.40°1.007 ∠ -11.00°
🔵 Potência ativa (MW)
Exemplo:
711.9 MW581.0 MW399.0
🔴 Potência reativa (Mvar)
Exemplo:
-231.0 Mvar-276.0 Mvar117.1 Mvar
👉 Sinal:
- + Q → indutivo (consumo)
- – Q → capacitivo (injeção)
⚡ Fluxo nas linhas
- Setas azuis/vermelhas → fluxo de potência
- Valores indicam:
- MW (ativo)
- Mvar (reativo)
🔁 Transformadores / compensadores
- Grupos à esquerda (bancos)
- Elementos de compensação reativa (shunt)
⚡ 2. Como calcular tensão em forma retangular (cos/sin)
Você está vendo fasores:
V=∣V∣∠θV = |V| \angle \theta
Para usar em cálculo:
✅ Converter para forma retangular:
V=V_real+jV_imagV = V_{real} + j V_{imag}
Fórmulas:
V_real=∣V∣⋅cos(θ)V_{real} = |V| \cdot \cos(\theta)
V_imag=∣V∣⋅sin(θ)V_{imag} = |V| \cdot \sin(\theta)
🔎 Exemplo real da imagem
Barra:
0.959 ∠ -3.40°
Passo 1: converter grau → radiano
θ=−3.40°⋅π180\theta = -3.40° \cdot \frac{\pi}{180}
Passo 2:
V_real=0.959⋅cos(−3.40°)V_{real} = 0.959 \cdot cos(-3.40°)
V_imag=0.959⋅sen(−3.40°)V_{imag} = 0.959 \cdot sen(-3.40°)
💻 3. Script Python COMPLETO (cálculo + SQLite)
👉 Isso aqui é exatamente o que você quer pro seu pipeline
✅ Script único
import pandas as pd
import sqlite3
import numpy as np
=========================================
FUNÇÃO: converter fasor → retangular
=========================================
def fasor_para_retangular(mag, ang_graus):
ang_rad = np.deg2rad(ang_graus)
v_real = mag * np.cos(ang_rad)
v_imag = mag * np.sin(ang_rad)
return v_real, v_imag
=========================================
EXEMPLO DE DADOS (substitua com seu Excel)
=========================================
dados = [
{“barra”: “501”, “V_mag”: 0.986, “V_ang”: 0.0, “P_MW”: 711.9, “Q_MVAR”: -231.0},
{“barra”: “531”, “V_mag”: 0.959, “V_ang”: -3.40, “P_MW”: 0.0, “Q_MVAR”: -276.0},
{“barra”: “572”, “V_mag”: 1.007, “V_ang”: -11.0, “P_MW”: 649.1, “Q_MVAR”: 94.3},
]
df = pd.DataFrame(dados)
=========================================
CALCULAR COMPONENTES
=========================================
df[[“V_real”, “V_imag”]] = df.apply(
lambda row: fasor_para_retangular(row[“V_mag”], row[“V_ang”]),
axis=1,
result_type=“expand”
)
=========================================
SALVAR NO SQLITE
=========================================
conn = sqlite3.connect(“barras.db”)
df.to_sql(“barras”, conn, if_exists=“replace”, index=False)
conn.close()
print(”✅ Dados salvos no SQLite com sucesso!”)
print(df)
📊 Resultado salvo no SQLite
Tabela barras:
| barra | V_mag | V_ang | V_real | V_imag | P_MW | Q_MVAR |
|---|
🔥 4. Como isso conecta com o que você já está fazendo
Isso integra direto com:
✅ AnaREDE
✅ Pandapower
✅ SAPECP
✅ Dashboard PySide6
Você pode:
- puxar dados de
.dat/.pwf - gerar DataFrame
- calcular fasor
- salvar em SQLite
- visualizar no dashboard
🧠 Insight MUITO importante (nível engenheiro)
Quando você transforma fasor → retangular
você habilita:
- fluxo de carga numérico
- cálculo de potência complexa
- integração com algoritmos
🚀 Próximo nível (te recomendo MUITO)
Se quiser, eu posso montar:
✅ Script lendo direto do Excel do AnaREDE
✅ Parser de arquivo .dat ou .pwf
✅ Cálculo de:
S=V⋅I*S = V \cdot I^*
✅ Dashboard mostrando tensão por barra
✅ Integração com Pandapower