Transformación de Park & Clarke
La librería de Park (dq0) & Clarke (α, β ) incluye los módulos siguientes :
- Transformación de componentes del tiempo, marco A, B, C a nuevos ejes de referencia estacionario ortogonal α, β.
- Inversa de Clarke, ejes de referencia estacionario ortogonal α, β a componentes del dominio del tiempo, marco A, B , C.
- Transformación de componentes del tiempo, marco ABC hacia un sistema de referencia dq0 en régimen permanente.
- Inversa de Park, ejes de referencia rotatorio dq0 a componentes del dominio del tiempo, marco A, B, C.
- Transformación de referencia estacionario ortogonal α, β hacia un marco de referencia rotatorio dq0.
Instalación
La instalación del módulo se realiza con :
pip install ClarkePark
Transformación (a,b,c) - (α, β)
El módulo tiene dependencias siendo necesario instalar numpy para procesar la información. También será necesario instalar e importar matplotlib.pyplot para visualizar los resultados.
alpha, beta, z = ClarkePark.abc_to_alphaBeta0(A,B,C)
Para poder usar la transformación es necesario generar las tres señales monofásicas en desfase y balanceadas.
import ClarkePark
import numpy as np
import matplotlib.pyplot as plt
end_time = 10/float(60)
step_size = end_time/(1000)
t = np.arange(0,end_time,step_size)
wt = 2*np.pi*float(60)*t
rad_angA = float(0)*np.pi/180
rad_angB = float(240)*np.pi/180
rad_angC = float(120)*np.pi/180
A = (np.sqrt(2)*float(127))*np.sin(wt+rad_angA)
B = (np.sqrt(2)*float(127))*np.sin(wt+rad_angB)
C = (np.sqrt(2)*float(127))*np.sin(wt+rad_angC)
alpha, beta, z = ClarkePark.abc_to_alphaBeta0(A,B,C)
Graficando se obtiene las señales de tensión (A, B, C)
Graficando el marco de referencia (α, β)
Transformación (ABC) - (dq0)
La transformación del marco ABC al sistema de referencia dq0, implementando la misma señal se obtiene con
d, q, z = ClarkePark.abc_to_dq0(A, B, C, wt, delta)
Un sistema rotatorio puede ser analizado con la transformación de Park generándose dos señales de valor constante en régimen permanente.
Transformación inversa (dq0) - (ABC)
La transformación inversa de Park, ejes de referencia rotatorio dq0 a componentes del dominio del tiempo, marco A, B, C.
a, b, c = ClarkePark.dq0_to_abc(d, q, z, wt, delta)
De un marco de referencia constante (dq0) puede ser cambiado al sistema (ABC) de variables senoidales en el tiempo.
Implementaremos un sistema balanceado y aplicaremos el marco de referencia constante (dq0) con las líneas siguientes :
import ClarkePark
import numpy as np
import matplotlib.pyplot as plt
end_time = 3/float(60)
step_size = end_time/(1000)
delta=0
t = np.arange(0,end_time,step_size)
wt = 2*np.pi*float(60)*t
rad_angA = float(0)*np.pi/180
rad_angB = float(240)*np.pi/180
rad_angC = float(120)*np.pi/180
A = (np.sqrt(2)*float(127))*np.sin(wt+rad_angA)
B = (np.sqrt(2)*float(127))*np.sin(wt+rad_angB)
C = (np.sqrt(2)*float(127))*np.sin(wt+rad_angC)
d, q, z = ClarkePark.abc_to_dq0(A, B, C, wt, delta)
a, b, c = ClarkePark.dq0_to_abc(d, q, z, wt, delta)
Los resultados obtenidos en líneas anteriores son graficadas mediante
plt.figure(figsize=(8,3))
plt.plot(t, a, label="A", color="royalblue")
plt.plot(t, b, label="B", color="orangered")
plt.plot(t, c, label="C" , color="forestgreen")
plt.legend(['A','B','C'])
plt.legend(ncol=3,loc=4)
plt.ylabel("Tensión [Volts]")
plt.xlabel("Tiempo [Segundos]")
plt.title(" Sistema trifásico ABC")
plt.grid('on')
plt.show()
Finalmente se obtiene las señales del sistema trifásico ABC mediante la transformación inversa dq0 al sistema ABC.
Transformación marco (α, β) - (dq0)
La transformación inversa de Park, ejes de referencia rotatorio dq0 a componentes del dominio del tiempo, marco A, B, C.
d, q, z = ClarkePark.alphaBeta0_to_dq0(alpha, beta, zero, wt, delta)
Si el marco de referencia estacionario ortogonal α, β es posible obtener el marco de referencia rotatorio dq0. Usando el mismo bloque de código de la transformación inversa y añadiendo la línea siguiente de código.
alpha, beta, z = ClarkePark.abc_to_alphaBeta0(a,b,c)
Y cambiando de nuevo al nuevo sistema los resultados serán los mismos a los mostrados en la transformación de marco de referencia rotatorio dq0.
d, q, z = ClarkePark.alphaBeta0_to_dq0(alpha, beta, z, wt, delta)
Desarrollador y versión
La presente versión contiene la documentación necesaria para cada módulo.
[Packqge]: ClarkePark 0.1.7
[Autor]: Marco Polo Jácome Toss
[Blog] : https://k-denveloper.blogspot.com/
[Licencia]: GNU General Public License v3.0
[Fecha]: 10-Enero-2021
[Páis]: México
Registro de cambios
- 0.1.7 Documentación de módulos y control de entrada de datos. (10-01-2022)
Referencias
[1] Kundur, P. (1994). Power System Stability and Control. McGraw-Hill Education.
[2] J.C.DAS. (2016). Understanding Symmetrical Components for Power System Modeling. Piscataway: IEEE Press Editorial Board.
Estadísticas
Metadata
Release files for ClarkePark 0.1.7
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| ClarkePark-0.1.7.tar.gz | 20.2 kB | Without provenance | Details for ClarkePark-0.1.7.tar.gz |
Release files / ClarkePark-0.1.7.tar.gz
| Download URL | ClarkePark-0.1.7.tar.gz |
|---|---|
| Size | 20.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
365c1308750d6fa69f51ec79eb82056c9ac8037a98b16331382c83b0d5c72c3a
|
|
BLAKE2b-256 checksum How to use checksums |
7e0434040ba4be97ceb6d14b25ed9a81bc79639da60e8e699f3c614f6ab85f0e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.7.1 importlib_metadata/4.8.1 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.1
|
Security for ClarkePark 0.1.7
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.