SlideShare una empresa de Scribd logo
1 de 136
Descargar para leer sin conexión
1
Maximo Amancio Montalvo Atco
Russel Allidren Lozada Vilca
Wilson Jose Pampa Vilca
Gabino Rey Vidangos Ponce
2
Título: Resolución de problemas de electrónica de
potencia haciendo uso de métodos numéricos
Autores:
Maximo Amancio Montalvo Atco
Russel Allidren Lozada Vilca
Wilson Jose Pampa Vilca
Gabino Rey Vidangos Ponce
Autor – Editor:
Wilson Jose Pampa Vilca
Av. Huancane 1731 Juliaca – San Román
1a. edición digital – enero 2024
ISBN: 978-612-00-9345-0
Depósito Legal N° 2024-00539
3
INDICE
Prefacio........................................................................................................... 4
1. Introducción:.......................................................................................... 5
2. Resolución de Problemas en forma numérica: .................................. 13
3. Grafica de funciones elementales: ...................................................... 20
4. Problemas de dos dimensiones............................................................ 30
5. Representación de ondas y señales: .................................................... 49
5.1. Representación de señales en el dominio del tiempo: ................ 49
5.2. Representación de señales en el dominio de la frecuencia: ....... 52
6. Cálculos de voltajes corrientes y potencia en redes lineales.............. 60
6.1. Cálculos en el dominio de la frecuencia...................................... 60
6.2. Cálculos usando las series de Fourier......................................... 67
6.3. Cálculos de potencia: integrales definidas en SciLab: .................. 74
6.4. Introducción a la programación en SciLab: .................................. 76
7. Cálculos de potencia para sistemas no lineales con semiconductores
discretos........................................................................................................ 80
7.1. Rectificador de media onda......................................................... 80
7.2. Rectificador monofásico de onda completa................................ 86
7.3 Circuito trifásico con carga RL................................................... 89
8. Cálculos de circuitos rectificadores. ................................................... 97
9. Simulación y resolución de ecuaciones diferenciales:...................... 111
Bibliografía................................................................................................... 135
4
Prefacio.
El presente texto es el resultado de los apuntes de cursos dictados en
clases de electrónica. En ocasiones para conseguir una mayor
comprensión de los temas tratados en aula se suele reforzar los conceptos
y métodos con el uso de simuladores, que entre las ventajas más
significativas nos ayudan a entender la parte grafica de los problemas.
En temas que involucran señales eléctricas se incluye el uso de gráficos
(de ondas periódicas como ejemplo) para una mejor y mayor
comprensión de los diferentes comportamientos y resultados de los
circuitos de potencia que procesan dichas señales. Por ello para reforzar
los conceptos se hace uso de software de simulación.
En aula se resuelven problemas analíticos en cuyo desarrollo es muy
importante el uso de métodos gráficos y en ocasiones numéricos. Es por
ello que se determinó muy útil el uso de software de simulación y
programación numérica en el curso de electrónica de potencia.
Por lo demás se aconseja prestar cuidadosa atención al tema que trata
sobre Scilab, en esta parte hemos de tener especial atención sobre todo
en la programación numérica, como herramienta para resolver problemas
de potencia.
5
Resolución de problemas de electrónica de potencia haciendo uso
de métodos numéricos.
1. Introducción:
Existen una infinidad de simuladores de circuitos electrónicos que
permiten conocer los resultados de un sistema electrónico sin
necesidad de armar el circuito físico, para nuestro estudio hemos
elegido un programa de simulación que es particularmente útil en el
análisis de circuitos, enfocados sobre todo al desarrollo analítico de
problemas aplicados a electrónica de potencia.
Los siguientes programas son aplicables al desarrollo de problemas
de electrónica de potencia, para potenciar el análisis y diseño de
sistemas de potencia, la parte de control y análisis de estabilidad esta
relegada por ser un tema que escapa al propósito del texto. De lo
comentado anteriormente se desprende que los problemas y
programas desarrollados se enfocan en el comportamiento y el
análisis de potencia de los circuitos electrónicos simulados y
propuestos, dentro de los mismos se ha hecho hincapié a tomar en
cuanto los circuitos más utilizados o que son denominados clásicos
en electrónica de potencia así como los circuitos con un nivel de
dificultad extrema para resolverlos analíticamente con lápiz y papel.
Scilab
El engreído del libro, el nivel de programación para el uso en el
presente libro es de medio hacia arriba, por este motivo recomiendo
al lector darse un repaso de programación, los ejercicios resueltos
son de enorme utilidad en el análisis de circuitos, para la mejor y
mayor comprensión de los problemas de electrónica de potencia,
Scilab es el programa preferido por su gran capacidad de cálculo,
comparable a Matlab, así como por su versatilidad en el análisis de
circuitos, aunque no es tan fácil como el Simulink o el Pspice, es
6
muy recomendable para el desarrollo de programación numérica y
debido a sus herramientas integradas es muy cómodo programar y
resolver problemas de potencia.
Otra ventaja indiscutible de Scilab es que es Software libre, lo que
permite usarlo sin mayores restricciones, y es fácil de descargar de
su página web, las características de Scilab son las siguientes: La
versión es la 5.4.1, para entorno Windows pesa aproximadamente
120MB, es bastante ligero y practico.
En la figura 01 se tiene la pantalla inicial de Scilab, con las siguientes
secciones:
• El navegador de archivos, esta ventana nos permite ver la
carpeta a la que el programa Scilab está apuntando (o usando)
en estos momentos. Entre las características están que los
archivos guardados en esta carpeta se pueden ejecutar, si
desea puede cambiar la dirección de la misma.
• En la consola, en esta ventana podemos escribir y leer los
comandos que se usan en el lenguaje de SciLab, estos se
ejecutan directamente en la misma, luego de presionar la
tecla “enter”
• En la sección explorador de variables se pueden ver las
variables creadas y usadas por el sistema o las variables
accesibles.
• En la sección historial de comandos se pueden ver los
comandos ejecutados en la consola anteriormente.
En estas ventanas se podrán ejecutar los primeros ejercicios, será
necesario usar la ventana consola para poder ejecutar y simular los
problemas.
7
Figura 01. Entorno Scilab.
Primeros pasos con Scilab:
Comenzaremos a trabajar en SciLab con funciones y variables
simples, primero definiremos, algunas palabras clave o comandos
básicos:
Clear: Limpia las variables, si teclea clear all se conseguirá borrar
todas las variables, es buen hábito limpiar las variables anteriores
antes de iniciar un nuevo ejercicio pues las variables podrían inducir
a errores en la ejecución de comandos.
Definiremos como declarar las matrices en SciLab, es importante
saber que SciLab trabaja mucho con las matrices:
Matriz unos: ones(1,3) crea una matriz de una fila y tres columnas,
al teclear en Scilab obtenemos:
ones(1,3)
ans =
1. 1. 1.
8
La palabra clave ans se refiera al resultado anterior, si deseamos
guardar el resultado en una variable (A) podemos asignarle con el
signo igual, como se puede apreciar en la siguiente línea:
A = ones(1,3)
A =
1. 1. 1.
Si ahora prestamos atención a la ventana explorador de variables se
verá allí la variable A con las siguientes características: Nombre: hay
dos variables de nombre: A y ans, ambas son de tipo doublé,
dimensión 1x3 y visibilidad local. Si tecleamos clear ambas
variables desaparecen o se limpia el explorador de variables.
A continuación definimos varias matrices:
Comando: Explicación:
B = zeros(2,2)
B =
0. 0.
0. 0.
Crea una matriz de ceros de
dimensión dos por dos
C= eye(2,2)
C =
1. 0.
0. 1.
Crea una matriz identidad de
dimensión dos por dos
D = rand(2,2)
D =
0.211 0.002
0.756 0.330
Crea una matriz aleatoria de
dimensión dos por dos
E = linspace (0,1,4)
E =
0. 0.33 0.66 1.
Crea un matriz de cuatro elementos,
que comienza en cero y termina en
uno, separados linealmente.
F = logspace(0,2,5)
F =
1. 3.16 10. 31.62 100.
Crea un matriz de cinco elementos,
que comienza en diez elevado a cero
9
y termina en diez elevado a la dos,
separados logarítmicamente.
Con las palabras clave save y load se puede guardar archivos de tipo
sod, estos son archivos usados por SciLab, que pueden guardarse y
cargarse cuando se desee, con el comando save se guarda un archivo
con nombre: val.sod y que contiene los datos B y C, como se ve a
continuación:
save("val.sod", "B", "C");
Si borramos B y C con la orden clear, y luego cargamos el archivo
guardado y obtenemos de nuevo las variables B y C.
clear B, clear C
load('val.sod')
En la ventana explorador de variables podemos verificar todas las
variables que están en uso, entre ellas podemos ver las matrices que
hemos creado, al hacer doble clic en la variable D, podremos ver la
variable, en una ventana adicional, denominada editor de variables,
desde la misma podemos cambiar los elementos de D, obtenemos la
ventana que se ve a continuación en la figura dos. Ahora
explicaremos algunos comandos de SciLab básicos:
Comando: Explicación:
2+2*%i
2. + 2.i
El %i significa imaginario, así como %pi
numero pi
det(A) Determinante de la matriz A
Inv(A) Inversa de la matriz A
C = BA Producto de inv(B) por A.
10
Figura 02. Editor de variables, para la variable D
Como vemos podemos tener una amplia gama de operaciones con
Scilab, en las líneas a continuación veremos las constantes más
usadas en Scilab:
El número infinito se representa por: %inf,
El número más pequeño antes de cero es %eps: 2.220D-16
El número e es: %e: 2.7182818
El numero unidad imaginaria es %i
También la unidad imaginaria es %j
El logaritmo de diez en base diez es log10(10)
El logaritmo natural de dos es log(2)
La raíz cuadrada de cinco es sqrt(5)
La función exponencial es exp()
11
Presentamos un Script que guarda datos de tipo sod, en las siguientes
líneas:
Programa: Archivos sod:
// ====================
// Practicamos como guardar archivos sod
// Primero definimos las variables:
A=[1 0;
-1 -1];
B = ones(2,2);
C = 0:0.01:10;
// Guardamos en el area de trabajo:
save("hola.sod","A","B","C")
// Se puede salvar con el comando load.
// ====================
Podemos recuperar la información con el comando load, que permite
cargar los datos del archivo, con las siguientes líneas se ve como
recuperar esta información:
Programa: Recuperar archivos sod:
clear A
clear B
clear C
load("hola.sod")
ans =
T
Si queremos recuperar las matrices guardadas podemos ver en
“variable browser” aparecen las matrices A,B y C, pero como la
12
matriz C es de 1x1000 no vamos ha practicar con ella sino con las
matrices pequeñas:
Programa: Recuperar las matrices:
--> A
A =
1. 0.
-1. -1.
--> B
B =
1. 1.
1. 1.
Crear vectores de funciones con Scilab
Se crean vectores fila con la orden;
vector1=0:0.1:1;
0. 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.
Se puede crear cualquier función que se vieron, como logaritmo,
seno, coseno, exponencial, etc.
En este caso usamos una fusión cuadrática es decir el vector1 al
cuadrado usando el comando:
vector2=vector1.^2;
Note que debe usar el comando punto, para que se eleve cada
elemento del vector 1 al cuadrado.
Si usamos el comando para la transpuesta es decir el comando ‘
tenemos un vector fila en forma columna, y los agrupamos en un
vector h.
Se puede ver el programa a continuación:
13
Programa: transpuesta de vector:
vector1=0:0.1:1;
vector2=vector1.^2;
h=[vector1',vector2']
h =
0. 0.
0.1 0.01
0.2 0.04
0.3 0.09
0.4 0.16
0.5 0.25
0.6 0.36
0.7 0.49
0.8 0.64
0.9 0.81
1. 1.
Con estos datos empezaremos a resolver algunas ecuaciones en
Scilab de mucha importancia didáctica, en la siguiente sección.
2. Resolución de Problemas en forma numérica:
Resolución de ecuaciones lineales:
14
En el programa SciLab se puede resolver una infinidad de ecuaciones,
en la presente sección nos concentraremos en las ecuaciones lineales
de varias variables o sistemas de ecuaciones lineales. Definimos el
problema, sea la ecuación de la forma:
𝐴𝑋 = 𝐵
Dónde: A es una matriz cuadrada de dimensión nxn, X es el vector
columna que contiene las incógnitas de orden 1xn y B es el vector
columna de 1xn elementos, que completa el sistema de ecuaciones
lineales.
La solución en Scilab se puede resolver de dos formas diferentes, la
primera usando el comando inv, que nos indica la inversa de una
matriz, la segunda forma es usando la división hacia la izquierda con
el operador , ambos métodos se pueden observar a continuación:
𝑋 = 𝑖𝑛𝑣(𝐴) ∗ 𝐵
𝑋 = 𝐴𝐵
Cualquiera de las dos soluciones son válidas, a continuación
plantemos un sistema de ecuaciones lineales de segundo orden, con
las variables x1 y x2, en dos ecuaciones lineales de primer orden,
definidos como:
𝑥1 + 𝑥2 = 0
0.4𝑥1 − 0.4𝑥2 = 2
La ecuación puede escribirse en su forma matricial como:
[
1 1
0.4 −4
] [
𝑥1
𝑥2
] = [
0
2
]
En las líneas de código que siguen se puede observar cómo resolver
el sistema anterior en un ejemplo:
Programa: resolución de sistemas de ecuaciones
// Definimos las matrices A y B
15
A = [1 1; 0.4 -4]
A =
1. 1.
0.4 - 4.
B = [0; 2]
B =
0.
2.
// Hallamos X por el primer método:
X = AB
X =
0.4545455
- 0.4545455
// Hallamos X por el segundo método:
X2=inv(A)*B =
0.4545455
- 0.4545455
Hallamos las soluciones haciendo uso de determinantes, en ocasiones
es necesario desarrollar todo el procedimiento de solución de
sistemas de ecuaciones lineales con el uso de determinantes, para las
aplicaciones de algebra lineal, en este caso la solución de la ecuación
se puede analizar en las siguientes líneas:
Programa: resolución de sistemas de ecuaciones con
determinantes.
// Usamos las matrices anteriores:
detA=det(A)
detA = - 4.4
B1 = A
B1 =
1. 1.
0.4 - 4.
// Matriz A con la primera columna cambiada por B
16
B1(:,1)=B
B1 =
0. 1.
2. - 4.
// Hallamos el primer valor solución:
X3=det(B1)/detA
X3 = 0.4545455
// Repetimos le procedimiento:
B2=A
B2 =
1. 1.
0.4 - 4.
B2(:,2)=B
B2 =
1. 0.
0.4 2.
X4=det(B2)/detA
X4 = - 0.4545455
Se deja como comentario que el primer método a mi parecer es el más
fácil de desarrollar, pero un enfoque más bien didáctico en cuanto al
uso de matrices es el segundo método, pero queda al gusto del lector
cual método utilizar y en que situaciones específicas.
Solución de ecuaciones lineales:
Para terminar esta parte tenemos una herramienta propia de Scilab
que nos permite resolver ecuaciones lineales, usando el comando
linsolve.
Sintaxis: [x0, kA]=linsolve(A, B [,x0])
Argumentos
A: una matriz cuadra real de dimensión n.
B: un vector columna de tamaño n.
x0: un vector real
kA: una matriz real de dimensión mxk
17
Descripción: El comando linsolve calcula todas las soluciones de la
ecuación:
𝐴𝑥 + 𝑏 = 0
x0 es una solución particular y kerA es un espacio nulo.
Ejemplo: sea la ecuación
[
1 3
2 5
] 𝑥 + [
−10
−2
] = 0
Que es equivalente a
[
1 3
2 5
] 𝑥 = [
10
2
]
Se resuelve en Scilab:
Solución del ejemplo:
A=[1 3; 2 5]
A =
1. 3.
2. 5.
B=[-10; -2]
B =
-10.
-2.
X=linsolve(A,b)
X =
-44.
18.
A*X
ans =
10.
2.
Podemos comprobar haciendo la multiplicación del vector solución
con la matriz A en el orden: A*X, que nos dará el vector -B.
Resolución de ecuaciones algebraicas:
18
Otro tipo de ecuación común en matemáticas son las ecuaciones con
polinomios.
En este caso es necesario representar los polinomios por vectores
cuyos elementos son los coeficientes del mismo, la palabra clave
roots genera las raíces del polinomio como se verá a continuación:
Ejemplo: Resolver la ecuación cuadrática:
𝑥2
+ 2𝑥 − 2 = 0
El programa siguiente nos da la solución de la ecuación:
Programa: resolución de ecuaciones con polinomios.
// Polinomio 1 * x^2 + 2 * x – 2 = 0
// Vector es V = [ 1 2 -2]
V = [1 2 -1]
V =
1. 2. - 1.
roots(V)
ans =
- 2.4142136
0.4142136
El resultado es -2.4142 y 0.4142, que son las raíces de la ecuación
que cuadrática que se planteó.
Ejemplo: Resolver la ecuación:
𝑥5
+ 6𝑥3
− 8 = 0
Note que el polinomio esta incompleto por así decirlo, es decir no hay
coeficientes para potencias 4, 2 y 1, es este caso el polinomio tendrá
ceros en esas posiciones relativas: [1 0 6 0 0 -8]. Que corresponde
a las potencias antes mencionadas.
El programa siguiente nos da la solución de la ecuación:
19
Programa: resolución de ecuaciones con polinomios.
// Polinomio 1 * x^5 + 6 * x^3 – 8 = 0
V = [1 0 6 0 0 -8]
V = 1. 0. 6. 0. 0. - 8.
roots(V)
ans =
0.1069743 + 2.4658571i
0.1069743 - 2.4658571i
1.0413472
- 0.6276480 + 0.9312016i
- 0.6276480 - 0.9312016i
Ejemplo: Resolver la ecuación:
𝑥9
− 1 = 0
Por último, un polinomio de noveno orden:
Programa: resolución de ecuaciones con polinomios.
// Polinomio 1 * x^9 – 1 = 0
V=[1 0 0 0 0 0 0 0 0 1]
V = 1. 0. 0. 0. 0. 0. 0. 0. 0. 1.
roots(V)
ans =
- 1.
- 0.7660444 + 0.6427876i
- 0.7660444 - 0.6427876i
- 0.1736482 + 0.9848078i
- 0.1736482 - 0.9848078i
0.5 + 0.8660254i
0.5 - 0.8660254i
0.9396926 + 0.3420201i
0.9396926 - 0.3420201i
Evaluación de polinomios:
20
Se usa el comando horner para evaluar los polinomios, se usa la
sintaxis: horner(P,X)
Argumentos
P: polinomio
X: vector de números
Descripción: evalúa el the polinomio P = P(s) cuando la variable s del
polinomio es reemplazado por X:
Ejemplo: Evaluar el polinomio en x = 3:
𝑥5
+ 6𝑥3
− 8 = 0
Para crear un polinomio en Scilab se declara primero la variable en
este caso x=poly(0,"x"), y luego se escribe le polinomio, en el
siguiente programa podemos ver la solución del ejemplo:
Programa: Evaluación de un polinomio
x=poly(0,"x");
p=-8+6*s^3+s^5
p =
3 5
-8 +6x +x
horner(p,3)
ans =
397.
Con estos ejemplos concluimos la sección de solución de ecuaciones,
se recuerda que se han planteado la solución a dos tipos de ecuaciones
los sistemas de ecuaciones lineales, con tres métodos diferentes de
solución, y solo un método para la solución de ecuaciones con
polinomios, en la siguiente sección veremos algunos problemas un
tanto más dificultoso de resolver con Scilab.
3. Grafica de funciones elementales:
21
Grafica de funciones trigonométricas:
Las funciones trigonométricas elementales son: seno, coseno y
tangente en Scilab se denomina con las palabras clave: sin(), cos() y
tan(). Es necesario definir el dominio de las funciones para graficarlas
adecuadamente:
𝑦 = sin(𝑤𝑡) : 𝑤 =
2𝜋
𝑇
Como el periodo T es el que determina el tiempo, podemos definir el
intervalo de dibujo en función del mismo:
−
𝑇
2
≤ 𝑡 ≤
𝑇
2
Para dibujar primero definimos un intervalo de entrada en este caso x
o dominio, que va desde menos pi hasta pi (como sabemos por
trigonometría este intervalo define un periodo) y luego generamos la
función seno, para un entendimiento claro decidimos elaborar una
tabla o tabulación para algunos valores del dominio x y del rango y,
para luego aplicar la orden plot, esta orden genera un plano con
coordenadas rectangulares, para luego graficar los pares ordenados
como puntos que se unen con rectas, en las siguientes líneas de código
se podrá apreciar esto
Programa: Grafico elemental:
// ==================================
// Generamos el dominio desde menos pi hasta pi:
x=-%pi:%pi/6:%pi
x = -3.141 -2.617 -2.094 -1.57 -1.047 -0.523 0. 0.523 1.047
1.57 2.094 2.617 3.141
y = sin(x)
y = 0 -0.5 -0.866 -1. -0.866 -0.5 0. 0.5 0.866 1. 0.866
0.5 0
// Como tabla:
[x', y']
- 3.1415927 - 1.225D-16
22
- 2.6179939 - 0.5
- 2.0943951 - 0.8660254
- 1.5707963 - 1.
- 1.0471976 - 0.8660254
- 0.5235988 - 0.5
0. 0.
0.5235988 0.5
1.0471976 0.8660254
1.5707963 1.
2.0943951 0.8660254
2.6179939 0.5
3.1415927 1.225D-16
Por ultimo efectuamos el grafico con la orden plot, que genera la
figura tres
plot(x,y)
Figura 03. Gráfico de la función seno
Para mejorar el aspecto del grafico se añadirán los siguientes detalles:
título: title, rejilla: xgrid, título en el eje equis xlabel, título en el eje
ye ylabel, y leyenda con la orden legend, además para mejorar el
aspecto del gráfico es que aumentaremos el número de datos en el eje
23
equis, en este caso hemos decidido efectuar veintiún elementos en el
eje equis y veintiún elementos en el eje ye:
Programa: Grafico presentable:
// Un gráfico más presentable que el anterior:
x=-%pi:%pi/20:%pi;
y = sin(x);
plot(x,y)
title('Funcion seno'), xlabel('radianes'), ylabel('seno'),
xgrid, legend('seno')
Debe notarse en la figura número cuatro la diferencia con la figura
tres, se puede guardar el gráfico como un archivo gráfico de
Windows, para ello se guardó el archivo con formato jpg, primero se
hace clic en archivo y luego en exportar a jpg, y se guarda como
cualquier archivo Windows, eligiendo y escribiendo el nombre del
archivo y el lagar o carpeta destino donde se guardara el mismo.
Figura 04. Función seno con detalles.
Ahora graficamos la función coseno y tangente; es importante hacer
hincapié en el dominio de la función, sobre todo en la función
24
tangente, ´pues si usamos el mismo dominio tendremos problemas
pues tan(pi) es infinito; en las siguientes líneas de código, y se
obtendrá la figura cinco:
Programa: Grafico de dos funciones:
// Funciones trigonométricas:
x=-%pi:%pi/20:%pi;
y1 = sin(x);
y2 = cos(x);
plot(x,y1,'g')
plot(x,y2,'r')
title('Funciones trigonométrica'), xlabel('radianes'),
ylabel('Y'), xgrid, legend('seno','coseno')
Figura 05. Funciones trigonométricas seno y coseno.
Por ultimo como ya indicamos tenderemos cuidado con la función
tangente, para evitar los infinitos, que distorsionarían la gráfica, solo
graficaremos en el intervalo que va desde -1.5 a 1.5, de esa forma el
grafico será apreciado como la función que conocemos.
El grafico se puede ver en la figura seis, así como en las siguientes
líneas de código:
Programa: Grafico sin infinitos:
25
// Grafico de la función tangente:
x=-1.5:0.001:1.5;
y = tan(x);
plot(x,y)
title('Función tangente'), xlabel('radianes'), ylabel('Y'), xgrid,
legend('Tan')
Figura 06, Función tangente.
Otro ejemplo ilustrativo es la gráfica de una función algebraica del
tipo ecuación de quinto orden. Para ello generamos una función con
cinco raíces distribuidas en el intervalo que va desde -2 a 2, como en
la siguiente situación:
Primero elegimos las raíces: 2, 1, 0, -1, -2, de allí elaboramos la
convolución o producto de polinomios cuyo comando es: conv o cuya
orden genera el producto de dos vectores como si de polinomios se
tratase (significa producto de polinomios), y finalmente el resultado
26
se gráfica, desde el intervalo desde menos dos al dos, con pasos de
0.001 o un mili, para que el resultado parezca continuo, por último se
agregan títulos, etiquetas y legendas, para hacer el grafico presentable
y agradable a la vista:
Programa: Gráfico de polinomios:
// Grafico de función polinómica:
a= conv([1 2],[1 -2])
a= 1. 0. - 4.
b=conv([1 1],[1 -1])
b= 1. 0. - 1.
c=conv(a,b)
c= 1. 0. - 5. 0. 4.
d=conv([1 0],c)
d= 1. 0. - 5. 0. 4. 0.
x=-2.2:0.001:2.2;
y=x.^5-5*x.^3+4*x;
plot(x,y), title('Función polinomio'), xlabel('X'), ylabel('Y'),
xgrid, legend('Pol')
La variable a genera un polinomio con las raíces dos y menos dos, b
genera un polinomio con las raíces uno y menos uno, la variable c
genera el producto de los polinomios a y b, por ultimo d genera el
producto del polinomio c un polinomio cuya raíz es cero, en la figura
siete se puede ver estos resultados, junto con las raíces, es decir los
puntos donde la gráfica se intercepta con el eje equis.
Con estos gráficos consideramos suficientes para pasar a resolver
problemas en el espacio bidimensional es decir en dos dimensiones
que es de lo que se trata la siguiente sección.
27
Figura 07. Polinomio de grado cinco.
Ejemplos de otros gráficos:
Existen pequeñas variaciones de gráficos en SciLab, a continuación
veremos algunos de estos detalles: graficamos la función seno con un
periodo de 10, para ello definimos la frecuencia angular como:
𝑤 =
2𝜋
𝑇
Y con esta frecuencia obtenemos, el tiempo que va desde cero hasta
diez, y se usa para graficar la función plot2d3, como se ve a
continuación en las líneas de código:
Programa: Grafico de funciones con plot2d3
// Gráfico de funciones en SciLab:
t=0:0.001:10;
w=2*%pi/10
w =
0.6283185
Y=10*sin(w*t);
28
plot2d3(t,Y), title('Seno'), xlabel('t'), ylabel('Y'), xgrid,
legend('f(x)')
Figura 08. Gráfico con el comando plot2d3.
Gráficos con barras:
El comando: “plot2d3” nos da un grafico en 2 dimensiones con barras
verticales, la sintaxis es: plot2d3 ( x,y).
Argumentos, vectores x en el eje de las abscisas e y en el eje
ordenadas
Descripción: plot2d3 es el mismo que plot2d pero las curvas son
ploteadas usando barras verticales.
Ejemplo: Graficar la función f, en el dominio de 0 a 1:
𝑓 = 𝑒𝑥
Usamos el comando exp, que en Scilab es la exponencial, y definimos
x en el dominio desde 0 a 1, con incrementos de 0.1 para poder
apreciar las barras verticales.
29
Usamos el siguiente programa:
Programa: Gráfico de la función exponencial
x=0:0.1:1;
x=x';
f=exp(x);
g=exp(-x);
plot2d3(x,[f g])
plot2d(x,[f g])
Con esto concluimos la introducción, con los diferentes métodos de
SciLab para comenzar con la resolución de problemas, en la siguiente
sección se verán la solución a problemas de dos dimensiones.
30
4. Problemas de dos dimensiones.
Resolución del movimiento parabólico:
Sea el movimiento descrito por las ecuaciones:
𝑦 = 𝑦0 + 𝑉𝑦 ∗ 𝑡 +
𝑔𝑡2
2
𝑥 = 𝑥0 + 𝑉𝑥 ∗ 𝑡
Dónde: y0, x0, Vx y Vy son constantes, como ejemplo veamos el
siguiente caso:
𝑦 = 10 + 5 ∗ 𝑡 −
9.81 ∗ 𝑡2
2
𝑥 = 5 + 5 ∗ 𝑡
Se trata de una ecuación paramétrica en dos dimensiones,
graficaremos la ecuación para t desde 0 hasta 2:
Programa: Ecuación del movimiento:
// Definimos el tiempo y las coordenadas:
t=0:0.01:2;
y=10+5*t-9.81*t.^2/2;
x=5+5*t;
plot(x,y)
title('movimiento parabólico'), xlabel('x'), ylabel('y'), xgrid
Hallamos la velocidad por medio de las derivadas de las coordenadas:
𝑑𝑦
𝑑𝑡
= 5 − 9.81 ∗ 𝑡
𝑑𝑥
𝑑𝑡
= 5
31
Hallamos la velocidad y la aceleración para t desde cero hasta 2 en
pasos de 0.2, usando la formula anterior:
Programa: Hallando velocidad y aceleración:
t1=0:0.2:2;
vy=5-9.81*t1;
vx=5*ones(1,11);
ax=zeros(1,11);
ay=9.81*ones(1,11);
Genera una tabla que se pude ver a continuación:
[t1', vx', vy', ax', ay']
0. 5. 5. 0. 9.81
0.2 5. 3.038 0. 9.81
0.4 5. 1.076 0. 9.81
0.6 5. - 0.886 0. 9.81
0.8 5. - 2.848 0. 9.81
1. 5. - 4.81 0. 9.81
1.2 5. - 6.772 0. 9.81
1.4 5. - 8.734 0. 9.81
1.6 5. - 10.696 0. 9.81
1.8 5. - 12.658 0. 9.81
2. 5. - 14.62 0. 9.81
Movimiento circular
Tenemos un movimiento circular de la forma que la velocidad
angular sea constante, decimos que w es la velocidad angular,
trabajamos con coordenadas de tipo paramétrica con el parámetro t,
y será necesario hacer las transformaciones de la misma para poder
graficar la función.
Analizaremos como trabaja este sistema y sus diferentes velocidades
y aceleraciones:
32
Figura 09. Gráfico de una función en dos dimensiones.
A continuación el código que genera el grafico usando ecuaciones
paramétricas, usando como parámetro el tiempo, como se ve en lo
que sigue:
Programa: Movimiento circular:
w=1;
t=0:0.01:2*%pi;
x=4*sin(w*t);
y=4*cos(w*t);
plot(x,y), title('movimiento circular'), xlabel('x'), ylabel('y'),
xgrid
La velocidad angular es w un radian por segundo, y la velocidad
tangencial es w*r es decir 4 m/seg. En la figura nueve se ven el
grafico de esta función paramétrica. Concluimos esta parte para pasar
a resolver problemas en tres dimensiones.
33
Uso de script:
Hasta ahora solo hemos trabajado en la ventana de comandos de
SciLab, a partir de ahora usaremos un archivo donde guardar los
programas a este archivo se le conoce como script. En SciLab
tenemos un aplicativo denominado SciNotes, pero si preferimos
podemos usar un blog de notas o cualquier editor de texto para
escribir nuestro código, la ventaja del editor del programa es que
como cualquier editor integrado marca los comandos y los
comentarios con colores y en general nos ayudan en la escritura del
programa.
Para crear un Script, con ayuda del SciNotes, hacer clic en ejecutar
SciNotes y aparecerá un editor de textos como el de la figura nueve,
allí se tiene un espacio como de un editor de testo cualquiera con
opciones como guardar, abrir, copiar pegar, etc. En este espacio
puede escribir el código que desee, este quedara como un pequeño
programa, se puede almacenar las líneas de código como un programa
o Script.
Figura 10. SciNotes, editor de texto de Scilab
34
En la figura se ha marcado con un círculo rojo el icono de ejecutar
SciLabNotes, de donde aparecerá la ventana SciNotes, aquí
apuntaremos los siguientes programas y de manera semejante a
cualquier editor de textos podremos guardarlo en un archivo de
nuestra preferencia y podremos cargar y ejecutar el programa cuantas
veces deseemos. Los siguientes ejemplos los escribiremos en el
SciNotes, lo guardaremos con extensión sce, y lo ejecutaremos,
haciendo clic en el icono que parece play, marcado con color verde
en la figura nueve. En la sección siguiente veremos un ejemplo paso
a paso, para luego guardar todos nuestros ejemplos en una biblioteca
de Ejemplos desarrollados y elaborados en SciLab
Problema resuelto en Scilab:
A continuación desarrollaremos un ejemplo completo de la solución
a un problema de física elemental, será un ejemplo ilustrativo, el
planteamiento, la solución y el archivo Script o programa se
desarrollaran de forma íntegra.
Se plantea el siguiente problema: Sea la aceleración de un móvil que
aparece en la figura diez, se desea hallar el tiempo To para el cual la
velocidad del móvil es cero, como adicional se pide graficar la
velocidad y el desplazamiento. (Considere la velocidad inicial cero y
la posición inicial como cero)
Debe de notar que la velocidad del móvil es la derivada de la posición,
y que la derivad de la velocidad es la aceleración, de esto tenemos
que la velocidad es la integral de la aceleración teniendo mucho
cuidado con la velocidad inicial o la velocidad en el instante inicial
en que se efectúa la integración. Para hallar la posición también
tenemos que la misma es la integral de la velocidad, nuevamente en
este tipo de problemas debe de prestar cuidadosa atención a las
velocidades y posiciones iniciales.
35
Figura 11. Aceleración del problema propuesto
Explicación de uso de SciNotes y su ejecución:
Para ejemplificar el problema ejecutaremos un programa que dibuje
la aceleración:
Cree un nuevo archivo con SciNotes
Copie el siguiente código:
Programa: Resolución del movimiento MRUV.
// Aceleración: (comentario)
// Definimos el tiempo:
t=0:0.1:20;
// Definimos la aceleración:
a1=1.5*t;
a2=-1.5*t+15;
// EL mínimo de ambas rectas
a=min(a1,a2)
plot(t,a), xgrid, title('Aceleración')
xlabel('Tiempo'),ylabel('Aceleración m/s^2')
36
Note que los comentarios de forma semejante a C se colocan con dos
barras al inicio //, Guarde el archivo en la carpeta que desee, en el
caso del ejemplo se ha guardado en una carpeta denominada
dinámica, ejecute el archivo, en la figura doce se ve el archivo
SciNote, denominado ejemplo02.sce, en el grafico se puede apreciar
que el icono para guardar el archivo está marcado con un circulo
verde, y el archivo para ejecutar con un círculo rojo, el proceso de
guardar el archivo es muy intuitivo, es tal como se hace en un
programa Windows, solo debe de tener especial cuidado de guardar
el archivo con la extensión sce, al hacer clic en ejecutar aparecerá lo
siguiente en la ventana de comandos de Scilab:
exec('F:programasscilabdinamicaejemplo02.sce', -1)
Es otra forma de ejecutar archivos, tecleando la orden exec o ejecutar
y entre paréntesis la ruta donde se encuentra el archivo con extensión
sce, al colocar -1 no se ve todo el código en la pantalla, pruebe
borrando -1 y vea que sucede.
Figura 12. Pantallazo del programa explicado.
37
Solución al problema:
Haciendo uso del potente programa Scilab, resolveremos le
problema, en las siguientes líneas de código se presenta la misma,
primero veamos la solución simbólica:
𝑣(𝑡) = 𝑉𝑜 + ∫ 𝑎(𝑡)𝑑𝑡
𝑡
0
𝑆(𝑡) = 𝑆𝑜 + ∫ 𝑣(𝑡)𝑑𝑡
𝑡
0
De donde obtenemos:
𝑣(𝑡) = { 0.75𝑡2
−37.5 + 15𝑡 − 0.75𝑡2}
𝑆(𝑡) = { 0.25𝑡3
62.5 − 37.5𝑡1
+ 7.5𝑡2
− 0.25𝑡3}
El script que sigue lo escribiremos sobre el ejemplo anterior no sin
antes determinar que el tiempo para el cual la velocidad llega a cero
es: 17.07 segundos. De ahí redefinimos todos los demás valores del
tiempo es decir en dos tramos desde cero hasta cinco y de cinco hasta
17.07. En la figura trece se pueden ver los resultados gráficos. El
script final esta como sigue en las siguientes líneas de código:
Programa: Solución de la ecuación del movimiento:
// Aceleración: (comentario)
// Definimos el tiempo:
t=0:0.1:18;
// Definimos la aceleración:
a1=1.5*t;
a2=-1.5*t+15;
// EL mínimo de a,bas rectas
a=min(a1,a2)
t1=0:0.01:5;
t2=5.01:0.01:17.07;
38
v1=0.75*t1.^2;
v2=-0.75*t2.^2+15*t2-37.5;
s1=0.25*t1.^3;
s2=-0.25*t2.^3+7.5*t2.^2-37.5*t2+62.5;
v=[v1,v2];
s=[s1,s2];
ti=[t1,t2];
subplot(311),plot(ti,s), xgrid,
title('Despalzamiento'),xlabel('Tiempo'),ylabel('Distancia m')
subplot(312),plot(ti,v), xgrid,
title('Velocidad'),xlabel('Tiempo'),ylabel('Velocidad m/s')
subplot(313),plot(t,a), xgrid,
title('Aceleración'),xlabel('Tiempo'),ylabel('Aceleración m/s^2')
Figura 13. Grafico solución al problema planteado
39
Es de importancia verificar que se usó un nuevo comando
subplot(n1n2n3) dibuja varios gráficos, con n1 el número de filas, n2
el número de columnas y n3 es el número de gráfico, es decir el orden.
Gráfico de funciones en su forma paramétrica:
Otra forma muy importante de gráfico en dos dimensiones es el
gráfico paramétrico es decir se usa un parámetro como el tiempo y se
definen dos funciones dependientes del mismo, es usual usar el
tiempo como parámetro común, con esto podemos graficar gráficos
más generales que con las funciones.
Se usa el comando plot2d veremos algunos ejemplos de gráficos en
su forma paramétrica, con sus respectivas ecuaciones y su código en
SciLab:
Ecuaciones:
𝑥 = 𝑡 − 𝑡𝑔ℎ( 𝑡); 𝑦 = 𝑠𝑒𝑐ℎ(𝑡)
𝑥 =
𝑐𝑜𝑠(𝑡)
𝑡
; 𝑦 =
𝑠𝑒𝑛(𝑡)
𝑡
𝑥 =
1
𝑡
; 𝑦 = 𝑙𝑜𝑔(𝑡)
𝑥 = 𝑡2
+ 2𝑡; 𝑦 = 𝑡 − 2
Archivo sce:
// Gráfico de funciones paramétricas:
// Primera función en dos tramos:
t11=0.5:0.01:2*%pi;
t12=-2*%pi:0.01:-0.5;
x11=cos(t11)./t11;
y11=sin(t11)./t11;
x12=cos(t12)./t12;
y12=sin(t12)./t12;
t1=[t12,t11];
x1=[x12,x11];
40
y1=[y12,y11];
// Segunda función
t2=0:0.01:1;
x2=t2-tanh(t2);
y2=1./(sinh(t2));
// Tercera función cuidado con el inf
t3=0.5:0.01:3.5;
x3=1./t3; y3=log(t3);
// Cuarta función:
t4=-5:0.1:5;
x4=t4.^2+2*t4;y4=t4-2;
// Grafico usando subplot de Matlab
// Es practico pero en Scilab se usa plot2d
subplot(2,2,1),plot(x1,y1)
subplot(2,2,2),plot(x2,y2)
subplot(2,2,3),plot(x3,y3)
subplot(2,2,4),plot(x4,y4)
En la figura catorce, podremos ver las cuatro ecuaciones vemos que
el primero comienza en la esquina superior izquierda, y el segunda va
en el sentido de las agujas del reloj.
Las representaciones parametrices son más oportunas para dibujar
gráficos de curvas, pues con funciones del tipo f(x), no es posible
graficar las curvas que se ven en la figura, siendo este tipo de
representación la más usual en gráfico de curvas.
Nuevamente es muy importante prestar cuidadosa atención a los
dominios de los parámetros, es decir a los tiempos que definimos,
como se puede apreciar en las formulas el parámetro t esta como
divisor si t vale cero aparecerá una división por cero y SciLab nos
dará error, con esto en mente se han definido los diferentes
parámetros de las funciones parámetricas para evitar errores en la
ejecución del Script y evitarnos problemas.
41
Figura 14. Gráficos paramétricos.
Gráfico de funciones en su forma polar:
Otro tipo de grafico muy importante es el gráfico polar, es decir
definiendo los módulos y ángulos de las trayectorias, Se usa el
comando polarplot y entre paréntesis se coloca en el orden theta y
rho, es decir el ángulo y el radio vector. En coordenadas polares, en
el ejemplo que sigue veremos, algunas grafica polares y su código en
SciLab:
Ecuaciones polares:
𝑟 =
4
𝑐𝑜𝑠(𝜃 −
7𝜋
6
)
𝑟 = 2 + cos (2𝜃)
𝑟 = 4(1 + 𝑠𝑒 𝑛(𝜃))
42
𝑟 = 9(𝑠𝑒 𝑛 2(𝜃))
En las siguientes líneas tenemos el archivo sce que grafica las cuatro
ecuaciones antes citadas, tome cuidadosa atención cuando se trata de
la raíz cuadrada en Scilab sqrt, y cuando se trata de divisiones
(cuidado con la división entre cero)
Programa: grafico de ecuaciones polares.
// Definimos las ecuaciones:
// Función coseno va desde -pi a pi:
to=-3.1/2+7*%pi/6;
tf=3.1/2+7*%pi/6;
theta1 = to:0.01:tf;
r1=4./(cos(theta1-7*%pi/6));
// un solo theta para varios radios:
theta=-%pi:0.01:%pi;
r2=2+cos(2*theta);
r3=4*(1+sin(theta));
r4=(9*sin(2*theta));
// Usamos el subplot otra vez, para ver
// varios graficos al mismo tiempo:
subplot(2,2,1),polarplot(theta1,r1)
subplot(2,2,2),polarplot(theta,r2)
subplot(2,2,3),polarplot(theta,r3)
subplot(2,2,4),polarplot(theta,r4)
La grafica resultante se puede apreciar en la figura quince, así como
el plano polar, en este caso la función tiene un radio y un ángulo. Y
los ejes de representación con círculos y radios, que se asemejan a las
cuadriculas que se usan en representaciones rectnagulares, recuerde
que en el caso de graficos polares o curvas se usan radios o tamaños
de circunferencias y angulos o radio vectores.
43
Figura 15: Gráficos polares
Es de mucha importancia los gráficos en dos dimensiones, pero aún
son más importantes los gráficos en tres dimensiones, a continuaron
veremos algunos ejemplos de gráficos en tres dimensiones es de vital
importancia hasta ahora que tomemos en cuenta los tiempos y los
dominios de la función, para evitar valores infinitos o gráficos
errados, como ejemplo debemos evitar valores como logaritmo de
cero, graficar una onda seno solo en un dominio que comience en
menos pi y termine en pi, los mismo para las ondas periódicas se debe
de definir solo algunos periodos, no cometamos el error de graficar
ondas periódicas en dominios muy extensos pues no se notara la
forma de la onda así como evitar que haya en los denominadores cero,
un ejemplo es el caso de seno de pi, que sería cero, si lo definimos
como denominador será un error fatal.
44
Gráfico de curvas paramétricas en tres dimensiones:
A continuación veremos algunas curvas paramétricas en tres
dimensiones, en Scilab como se ve a continuación en las ecuaciones
que siguen:
𝑟(𝑡) = (𝑒𝑡
𝑠𝑒𝑛(𝑡), 𝑒2𝑡
cos(𝑡) , 𝑒−𝑡)
𝑟(𝑡) = (
𝑡
1 + 𝑡
,
𝑡2
1 + 𝑡
,
1 − 𝑡
1 + 𝑡
)
La orden clave en SciLab es la orden param3d, que permite graficar
curvas en función a tres vectores de la misma dimensión es decir x,
y, z, uniendo todos los puntos como una curva en el espacio. Las
líneas de código y el grafico resultante en la figura catorce, se ven a
continuación:
Programa: grafico de curvas paramétricas.
// Definimos las ecuaciones:
// Paramétro:
t=0:0.01:1;
// Ecuaciones:
x1=exp(t).*sin(t);
y1=exp(2*t).*sin(t);
z1=exp(-t);
// Ecuaciones:
x2=(t)./(1+t);
y2=(t.^2)./(1+t);
z2=(1-t)./(1+t);
// Usamos el subplot otra vez, para ver
// varios graficos al mismo timepo:
subplot(2,1,1),param3d(x1,y1,z1),xgrid,title('Exponencial')
subplot(2,1,2),param3d(x2,y2,z2),xgrid,title('Racional')
45
Figura 16. Gráficos en tres dimensiones curvas paramétricas.
A continuación vernos un gráfico paramétrico mejorado, en este caso
la orden paramplot1 puedes graficar varias ecuaciones y al mismo
tiempo ponerles varios colores. Los colores en Scilab se definen
como sigue: uno es negro; dos es azul; tres es verde; cuatro es cian;
cinco es rojo; seis es rosado, siete amarillo. A continuación vemos
como se usa los colores con la orden list:
Programa: Grafico paramétrico mejorado:
// Graficando en 3d
// Usamos el linspace
t= linspace(0,2*%pi)';
// usamos dos colunmas:
x= [zeros(t),12*sin(2*t)];
46
y= [10*cos(t),12*cos(2*t)];
z= [10*sin(t),12*sin(t)];
// Graficamos con colores 5 y 2
param3d1(x,y,list(z,[5,2]))
El grafico generado se puede apreciar en la figura diecisiete:
Figura 17. Grafico en tres dimensiones.
Gráfico de superficies:
En esta sección analizamos el gráfico de una superficie del tipo
z=F(x,y), el comando adecuado para este gráfico es el comando,
plot3d, en este caso las coordenadas x. y serán como un dominio del
tipo vectorial de nxm, que denominaremos rejilla los valores donde n
es el número de datos del eje equis y m es el número de datos del eje
ye, la función zeta es del tipo matricial z(i,j), en función de dos
valores x(i) y del valor de y(i), de la forma:
𝑧(𝑖, 𝑗) = 𝑓(𝑥(𝑖), 𝑦(𝑗))
47
A continuación representaremos algunos gráficos clásicos de
superficies: el plano, el paraboloide elíptico.
Note que se hace uso de la orden ndgrid, que es justamente la que
generara la rejilla que deseamos, debemos primero definir los
intervalos de la rejilla es decir el eje X y el eje Y, para luego con estos
intervalos definir la rejilla XxY.
Los ejemplos están hechos de forma que se pueda dibujar un plano
en tres dimensiones y un paraboloide elíptico, ambos separados en
dos gráficos o dos sub gráficos para poder verlos por separado, en las
líneas que siguen se puede apreciar este problema resuelto.
Programa: Gráficos de superficies:
// Gráficos en tres dimensiones
// Superficies:
// Definimos los ejes equis y ye:
x=linspace(-2,2,20);
y=linspace(-2,2,20);
// Creamos la rejilla:
[xm,ym]=ndgrid(x,y);
// Definimos la función plana:
z1=(xm)+(2*ym)-1;
// Definimos la función paraboloide:
z2=(xm.^2)+(ym.^2);
// Graficamos en 3d
subplot(121), plot3d(x,y,z1), xgrid, title('Plano')
subplot(122), plot3d(x,y,z2), xgrid, title('Paraboloide')
El grafico generado se puede ver en la figura dieciocho, se nota que
la orden subplot es de mucha utilidad para poder subdividir cualquier
grafico en varios cuadros como en el ejemplo anterior.
48
Figura 18. Grafico en tres dimensiones: superficies
Con estos gráficos podemos pasar a la siguiente sección donde ya
podemos abordar temas de electrónica de potencia, no sin antes hacer
hincapié en que todos los conceptos hasta ahora descritos deberían de
ser bien comprendidos por los lectores.
49
5. Representación de ondas y señales:
Para esta sección usaremos los cálculos de potencia y energía de
circuitos de corriente alterna, en circuitos eléctricos. Las ondas que
se van a dibujar son armónicas basadas en la representación de
Fourier de las ondas periódicas. Las señales se analizaran en tiempo
estable o fenómenos independientes del tiempo lo que nos da a pie
utilizar la representación en frecuencia, que con un cambio de
variable hace desaparecer el tiempo de nuestras ecuaciones.
El primer ejemplo se trata de un gráfico o representación de las ondas
de tipo seno, y luego nos centramos en del tipo bobina resistencia,
para ver la simulación de un trasformador de voltaje, este ejemplo es
muy útil para resolver circuitos de este tipo; en las líneas que siguen
se verá esto, pero debemos de tener en cuenta que para el caso de
corriente alterna es de mucha importancia el uso de fasores y de
números complejos como herramienta fundamental para el diseño y
análisis de circuidos en AC. A continuación se verán algunos
problemas con transformadores. Y los diferentes cálculos que se ven
en este tipo de problemas.
5.1. Representación de señales en el dominio del tiempo:
Para señales periódicas de periodo T segundos, se define la frecuencia
f como el reciproco del periodo, la frecuencia angular w es 2*pi*f, la
amplitud de la onda seno Vm y la fase de la misma fo.
La señal queda como:
𝑉(𝑡) = 𝑉𝑚 ∗ 𝑠𝑒𝑛(𝑤 ∗ 𝑡 + 𝑓𝑜)
En Scilab podemos desarrollar el siguiente script:
Programa: Ondas en SciLab:
// ======================
// Máximo Montalvo Atco
// ======================
50
// Ondas en Scilab
// La frecuencia 50Hz
f = 50;
T = 1/f;
w = 2*%pi*f;
ph = %pi/4;
// El dominio del tiempo:
x=0:T/20:T;
V1=sin(w*x);
V2=sin(w*x+ph);
// Representación de V12 y V21:
V12=V1-V2;
V21=V2-V1;
// Graficamos haciendo uso de plot:
subplot(2,1,1), plot(x,V1,'b',x,V2,'g'), xtitle('==Ondas==')
xlabel('tiempo'),ylabel('Amplitud'), xgrid, legend('V1','V2')
subplot(2,1,2), plot(x,V12,'b',x,V21,'g'), xtitle('==Onda
compuesta=='),
xlabel('tiempo'), ylabel('Amplitud'),
xgrid,legend('V12','V21')
// === FIN ===
En el contenido del script podemos notar lo siguiente:
- El dominio o base de tiempo es desde cero hasta completar un
periodo completo T, la frecuencia es el inverso del periodo y la
frecuencia angular se define antes como w.
𝑤 =
2𝜋
𝑇
= 2𝜋𝑓
- Se han generado dos señales con amplitudes iguales y frecuencias
iguales, la diferencia son las fases, una señal V1 del tipo seno con
desfase de 0 grados y la señal V2 con un desfase de 45 grados o
de pi cuartos, es importante notar que el argumento de la función
seno en SciLab es del tipo radianes.
51
- A partir de las dos señales iniciales se han generado otras dos
señales como combinación de las mismas, una que es V12 que es
igual a V1 menos V2 y de forma análoga una señal V21 que es la
señal V2 menos V1.
- Se han definido los valores necesarios de las señales solo a partir
de la frecuencia: cuyo valor es de 50 Hz. El periodo de 20mseg.
El tiempo x va desde cero hasta un periodo completo, para poder
visualizar una señal completa.
- No se ha definido la amplitud pues esta normado en uno, en
ocasiones se escala la amplitud.
- Se ha creado un nuevo archivo de tipo sce, hemos guardado y
también guardaremos la figura. El script lleva por nombre
problem1_1.sce.
Figura 19. Gráfico de ondas.
52
Al ejecutar se genera la figura diecinueve, donde se aprecia que la
amplitud de las señales combinadas es de solo 0.8, mientras que la
amplitud de las señales originales es de uno: esto es debido a la
suma de señales en el espacio complejo de la siguiente forma:
𝑉12 = 𝑉1 − 𝑉2 = 1 < 0 − 1 < 45
Nos da una amplitud de 0.76, que es lo que se puede ver en la
figura ya mencionada.
5.2. Representación de señales en el dominio de la frecuencia:
En el dominio de la frecuencia se puede definir todas las señales como
de una sola frecuencia, solo se pueden ver las fases como si de
ángulos se trataran, lo más común es usar vectores cuyo ángulo es el
desfase de la onda y cuyo modulo es el valor eficaz de la amplitud.
En el siguiente ejemplo graficaremos una onda trifásica compuesta
de tres ondas senos con la misma frecuencia, la misma amplitud, pero
desfasadas unas de otras en 120 grados o dos pi tercios. En Scilab
podemos desarrollar el siguiente script (problem1_2.sce):
Programa: Análisis en frecuencia.
// ======================
// Máximo Montalvo Atco
// ======================
// Grafico de fasores en Z
// Voltaje en valor rms
v =220;
// Valor de la amplitud
V =sqrt(2)*v;
// Definimos los fasores en campo complejo
Van = V*exp(%i*0);
Vanx = real(Van);
Vany = imag(Van);
53
Vbn = V*exp(%i*2*%pi/3);
Vbnx = real(Vbn);
Vbny = imag(Vbn);
Vcn = V*exp(-%i*2*%pi/3);
Vcnx = real(Vcn);
Vcny = imag(Vcn);
// Graficamos con plot:
plot([0,Vanx],[0,Vany],'b'),
plot([0,Vbnx,],[0,Vbny],'g'),plot([0,Vcnx],[0,Vcny],'m'),
title('Fasores trifasicos'), xgrid
// === FIN ==== /
Se han definido los valores complejos con la fórmula de Euler, que
nos dice, que el ángulo puede determinarse a partir de la función
exponencial, que define el círculo unitario o ángulo plano:
𝑒−𝑖𝜔𝑡
= cos(𝑤𝑡) + 𝑖𝑠𝑒𝑛(𝑤𝑡)
Una definición de un vector en el plano complejo, considerando su
ángulo plano y su módulo (A), en números complejos seria de la
forma:
𝐴 < 𝜃 = 𝐴𝑒−𝑖𝜃
Dónde A es un módulo en valor absoluto y theta varia de cero a 360
grados, Para poder graficar los vectores, se ha hecho uso de un arreglo
(matriz de n por 1 o un vector fila), esto nos facilitara la acción de
graficar los vectores en Scilab, debe recordarse estos datos o arreglos
para futuras soluciones. De hecho el uso de matrices o vectores nos
permiten estructurar un pequeño conjunto de datos.
Luego de escribir, guardar y finalmente ejecutar el script propuesto,
se generan los gráficos de los tres vectores en la figura veinte, que se
ve a continuación:
54
Figura 20. Gráfico de vectores.
Con estos ejemplos, donde hemos realizad dos tipos diferentes de
representación de señales periódicas: en el dominio del tiempo como
ondas periódicas y en el dominio de la frecuencia como vectores
orientados en el plano, finalizamos esta parte introductoria para el
manejo de señales en problemas de potencia.
Problemas de corriente alterna:
Para resolver problemas en corriente alterna usaremos la técnica de
variable o frecuencia compleja, pero representaremos los resultados
en el tiempo, gracias a SciLab podremos hacer y representar las
ondas de forma fácil y divertida. Comenzaremos el circuito
equivalente de un transformador:
Problema 01.
Analizar el transformador monofásico representado como circuito
equivalente como una red eléctrica, con los siguientes datos:
55
Rp=3; Xp=4, Xm=50K, Rm=100K; Rs=1; Xs=2; a=10; Vp=220; Se
coloca una carga de 22V y 10ª con una fase de 45°
Es necesario recordar lo siguiente para el transformador propuesto, la
relación de transformación a queda definida como:
𝑎 = 10 =
𝑉𝑝
𝑉𝑠
Una impedancia serie como Rp (resistancia en le primerio) y Xp
(reactancia en el primario), quedan definidas como:
𝑍𝑝 = 3 + 4𝑖 = 5 < 53°
Nuestro script de SciLab trabajara con valores complejos por lo
tanto una representación de las ondas será de la forma:
𝑣(𝑡) = 𝐴𝑚 ∗ 𝑠𝑒𝑛(𝑤𝑡 + 𝜃)
𝑉 =
𝐴𝑚
√2
< 𝜃
Note que le factor de raíz de dos es para el valor eficaz de la onda,
muy útil para cálculos de potencia. En nuestro caso podremos
representar las siguientes formas apócrifas:
𝑉 = 𝐴𝑚 < 𝜃
Sin hacer la conversión a valores eficaces, deduzca el lector por qué
razón hacemos esto.
El programa en SciLab es de la forma:
Programa: Transformador monofásico:
// Programa de transformadores:
// Impedancias del primario
Rp = 3; Xp = 4;
// Impedancias de circuito magnético:
Xm = 50000; Rm = 100000;
56
// Impedancias de circuito secundario
Rs = 1; Xs = 2;
// Relación de transformación y voltaje primario
a = 10; Vp = 220;
// Resistencia de salida
Z = 22/10*(cos(%pi/4)+%i*sin(%pi/4))
// Calculamos circuito reflejado:
XXp = (Rp+%i*Xp)/a;
XXm = (Rm+%i*Xm)/a;
XXs = (Rs+%i*Xs);
VVp = Vp/a;
// Calculamos la corriente reflejada en el primario:
// Impedancia total del secundario:
Zo = XXs+Z;
// Impedancia total:
Zt = XXp+(XXm*Zo/(XXm+Zo));
// Corriente:
It = VVp/Zt;
// Hallamos la corriente en el tiempo:
Im = abs(It);
Ia = atan(imag(It),real(It));
// Valores necesarios para el desarrollo:
f=60;w=2*%pi*f;T=1/f;t=0:T/50:T;
Vpt=1.4142*VVp*a*sin(w*t)
Itt=1.4142*Im/a*sin(w*t+Ia);
// Calculamos el voltaje en la salida:
// Voltaje en el secundario
Vss=It*(XXm*Zo/(XXm+Zo));
// Corriente en la salida:
Iss = Vss/Zo;
Imm = Vss/XXm;
// Voltaje de salida:
Vo = Iss*Zo;
// En el tiempo:
Vom = abs(Vo); Voa = atan(imag(Vo),real(Vo));
57
Iom = abs(Iss); Ioa = atan(imag(Iss),real(Iss));
Vot=1.4142*Vom*sin(w*t+Voa)
Iot=1.4142*Iom*sin(w*t+Ioa);
subplot(221),plot2d(t,Vpt), title('V primerio'), xgrid
subplot(222),plot2d(t,Vot), title('V secundario'), xgrid
subplot(223),plot2d(t,Itt), title('I primerio'), xgrid
subplot(224),plot2d(t,Iot), title('I secundario'), xgrid
Agregaremos unas líneas de código, mediante las cuales
presentaremos algunos datos importantes en el análisis de circuitos
de potencia con transformadores, el comando que se utiliza para este
fin es el que sigue: el comando disp, este imprime en pantalla datos
que le solicitamos, en este caso presentaremos las corrientes y
voltajes eficaces del primario y del secundario, un dato muy
importante en análisis de potencia son las pérdidas que se presentan
en los circuitos, para nuestro caso las pérdidas que imprimiremos en
pantalla serán las pérdidas en el cobre del bobinado del primario, las
pérdidas en el cobre del bobinado del secundario y las pérdidas en el
núcleo o en el enlace magnético, en las siguientes líneas de código se
ve este ejemplo:
// Agregando código para displayar algunos resultados:
disp('Los voltajes y corrientes eficaces son:')
disp(' Iprim Iangulo Vprim Vangulo')
disp([Im/a, Ia, VVp*a, 0])
disp(' Isecundario Iangulo Vsecundario Vangulo')
disp([Iom, Ioa, Vom, Voa])
// Pérdidas en el primario, secundario y enlace:
disp('Las perdidas en el circuito en watts es:')
disp(' Pprim Psecundario Penlace')
disp([(Im/a)^2*Rp, (Iom)^2*Rs, (abs(Imm)/a)^2*Rm])
58
El resultado de esta sección se ve en el pantallazo que se puede
apreciar en la figura veintiuno, allí se ve los resultados que hemos
ordenado como corrientes eficaces, potencias, en la figura veintidós
vemos los gráficos obtenidos, corrientes y voltajes:
Figura 21. Pantallazo de salida.
Note que los datos obtenidos se presentan en valores eficaces, la
corriente del primario es de 0.45 y la corriente del secundario es de
4.5 lo que nos da una relación primario secundario de 0.1, que es de
esperar, el voltaje en el primario es de 220 y en el secundario de 19.75
que nos da una relación de 11.13, la salida esperada era de 22 voltios,
pero hay una seria bajada de voltaje de aproximadamente 10 por
ciento que se debe a la excesiva carga que está sufriendo el
transformador, se puede apreciar esto también en las pérdidas que
tiene el transformador en el secundario de 20W, si en el primario la
potencia de salida es de 89 watts las pérdidas totales de 21 watts son
considerables por lo tanto el transformador tiene una eficiencia de 89
por ciento.
59
Figura 22. Corrientes y voltajes en el transformador.
Vemos las ventajas que nos da SciLab como entorno de simulación
de circuitos eléctricos, pero especialmente la posibilidad de modificar
y aplicar una seria de análisis de potencia a diferentes circuitos es la
mayor ventaja de los scripts.
Sin embargo, es de mucha importancia el uso eficiente de código y
además el tratar de desarrolla programas limpios, con comentarios y
explicaciones lo más claras posibles para poder rehusar los códigos
escritos.
Es también oportuno recordar que en el análisis hasta ahora
desarrollado solo hemos considerado circuitos eléctricos, los cuales
son fáciles de analizar en comparación con los circuitos electrónicos
60
que ahora nos tocan, debe el lector entender que los circuitos
eléctricos estudiados hasta ahora son sistemas lineales, los cicuitos
rectificadores son circuitos no lineales, de ahí la dificultad en su
análisis y desarrollo, en la siguiente sección abordaremos el problema
de la potencia en el dominio de la frecuencia compleja.
6. Cálculos de voltajes corrientes y potencia en redes lineales.
6.1. Cálculos en el dominio de la frecuencia.
La sección que se verá a continuación es de mucha importancia pues
las cargas industriales son por lo general de tipo inductivo.
A continuación analizaremos un circuito RL en serie, con los
siguientes valores: R de diez ohmios, L de 100 mili henrios y una
fuente de voltaje de 311 voltios de amplitud, con una frecuencia de
50 Hertz, todos en serie; se pide hallar la corriente y la potencia, así
como graficar los resultados:
Figura 23. Circuito a resolver y simular.
La impedancia Z = 10.0000 +31.4159i. Cuyo modulo es 32.9691 y
cuyo ángulo es 1.2626 radianes con estos datos la amplitud de la
corriente es 9.4331 amperios. El programa que denominamos
problema2_1.sce es:
61
Programa: Circuto RL
// ======================
// Máximo Montalvo Atco
// ======================
// Resolución de problemas de potencia en CA
// Generamos los voltajes de entrada:
f = 50;
T = 1/f;
w = 2*%pi*f;
x = 0:T/100:2*T;
Vm = 311;
V =Vm*sin(w*x);
// Circuito RL serie:
R = 10;
L = 0.1;
Z = 10 + %i*w*L;
[Zm, Za] = polar(Z);
// eliminamos la parte imaginaria del ángulo:
Za = real(Za);
Im = Vm/Zm;
I = Im*sin(w*x-Za);
Po = I.*V;
Vf = sqrt(2)*Vm;
// Graficamos los resultados:
subplot(3,1,1), plot(x,V,'b'), xtitle('Voltaje RL serie'),...
xlabel('tiempo'),ylabel('Voltios'), xgrid,legend('Voltaje')
subplot(3,1,2), plot(x,I,'b'), xtitle('Corriente RL serie'),...
xlabel('tiempo'),ylabel('Amperios'), xgrid,
legend('Corriente')
subplot(3,1,3), plot(x,Po,'b'), xtitle('Potencia
trifásica'),xlabel('tiempo'),...
ylabel('POtencia'), xgrid, legend('Potencia V*I')
62
Este script nos da los resultados de la corriente y la potencia, gracias
a los cálculos en números complejos que nos proporciona SciLab,
una vez hechos los cálculos en el dominio de la frecuencia podemos
pasarlos al dominio del tiempo sin ningún problema, una vez
concluidos estos problemas podemos graficar las ondas asociadas de
voltaje, corriente y potencia, es de mucha importancia que el
desarrollo de todos los cálculos sean en el dominio complejo y no
presentan ningún inconveniente. Los resultados se pueden verse a
continuación en el grafico figura 24:
Figura 24. Potencia, corriente y voltaje.
El siguiente análisis de potencia se efectuara en cada componente que
forma parte del circuito, en el programa estudiamos la potencia en la
63
bobina y en la resistencia a las que hemos denominad Pl y Pr
respectivamente, el siguiente script efectúa esos análisis: Genera la
ficgura 25, donde se ven las potencias encontradas.
Se puede notar que la potencia en la resistencia R es solamente
positiva con una amplitud de 900 Watts, lo que es lógico ya que la
potencia en una resistencia es activa y siempre es mayor que cero, la
potencia en la bobina es de tipo alterna con amplitud de 1400VAR, y
ademas se nota que las frecuencias en ambos casos se han duplicado,
como conclusion podemos decir que la fase del cicuito es negativa,
es deci la corriente se ha retrasado respecto al voltaje en un angulo
cercano a noventa grados.
Figura 25. Potencia de entrada, de L y de R.
64
Análisis usando fasores: Es el caso de usar números complejos, las
fuentes se representan por números complejos, donde los módulos
son el valor rms de la amplitud y el ángulo es la fase de la onda
sinusoidal, recordemos que la inductancia es representada por una
impedancia cuyo modulo es la frecuencia angular multiplicada por la
inductancia y cuyo ángulo es 90 grados positivos, así mismo la
resistencia es un valor real con modulo R y ángulo cero, como están
en serie ambas impedancias se suman, como resultado tenemos un
numero complejo, la solución de las corrientes, voltajes y potencias
solo son el producto o división de los voltajes, corrientes e
impedancias; esto se puede apreciar en el siguiente código o script,
denominado problem2_3.m:
Programa Potencia en AC.
// ======================
// Maximo Montalvo Atco
// ======================
// Resolución de problemas de potencia en CA
// Generamos los voltajes de entrada:
f = 50;
T = 1/f;
w = 2*%pi*f;
x = 0:T/100:2*T;
Vm = 311;
V =Vm*sin(w*x);
// Dominio de la frecuencia:
Vf = Vm/sqrt(2)*exp(%i*0);
// Circuito RL serie:
R = 10;
L = 0.1;
Z = 10 + %i*w*L;
If = Vf/Z;
// Descomponemos en X&Y
[Ifx, Ify]=polar(If);
Ify = real(Ify);
65
Vr = If*R;
Vl = If*%i*w*L;
// Calculamos las potencias:
Pent = If*Vf;
Pr = R*If^2;
Pl = If*Vl;
// Graficamos las potencias:
plot([0 Vf],[0
0],'r'),plot([0,20*Ifx],[0,20*Ify],'b',[0,250],[5,10],'w'),
title('Fasores Vf e If escalado en 20'), xgrid(1),
legend('Vf','20*If')
// *** FIN ***
Los gráficos en este ejemplo son del tipo polar, es decir se usa
vectores, al ejecutar el script, se genera la figura 26:
Figura 26. Diagrama vectorial de Vf, If.
En la figura anterior, se pueden apreciar los valores o vectores,
graficados, primero la corriente es muy pequeña comparada con el
voltaje en nuestro ejemplo de 220 Vrms, y la corriente de: 6.6 A, por
66
lo tanto para el grafico se ha escalado la corriente en un factor de 20,
se puede apreciar que con esta corriente escalada, se puede apreciar
la salida de forma adecuada, los resultados de la simulación se pueden
obtener en la ventana de comandos de Scilab.
Finalmente agregamos el siguiente código para dibujar el triángulo
de potencias:
// Graficamos las potencias:
S = Vm*Im/2;
P = R*Im^2/2;
Q = sqrt(S^2-P^2);
figure;
plot([0,P],[0,0],'r',[P,P],[0,Q],'b',[0,P],[0,Q],'g',[0,50],[0,-
50],'w')
xgrid, title('Triangulo de Potencias')
fp=P/S
De donde se obtiene la figura 27 donde se nos muestra el gráfico de
potencias, además hemos calculado el cosfi o factor de potencia que
en este caso es 0.3033, con ello terminamos esta sección.
Figura 27. Triangulo de potencias.
67
Sin embardo en el caso de sistemas lineales es muy útil la respuesta
en frecuencia ante entradas sinusoidales, pero es mucho más eficiente
elaborar programas que aborden le problema desde la óptica de series
de Fourier como en la siguiente sección.
6.2. Cálculos usando las series de Fourier.
En esta sección veremos el caso de las series de Fourier, ante
problemas del tipo de ondas periódicas no sinusoidales, pero que se
pueden representar como combinación lineal de las mismas de la
forma:
𝑣(𝑡) = 𝑎0 + 𝑎1 cos(𝑤𝑡) + 𝑎2 cos(2𝑤𝑡) + ⋯
… 𝑏1 sen(𝑤𝑡) + 𝑏2 sen(2𝑤𝑡) + ⋯
O de forma compacta como:
𝑣(𝑡) = 𝑎0 + ∑(𝑎𝑛 cos(𝑛𝑤𝑡) + 𝑏𝑛 sen(𝑛𝑤𝑡))
∞
𝑛=1
Como se puede apreciar, en la formula se trata de combinaciones
lineales de senos y cosenos. En el ejemplo que proponemos a
continuación representaremos una onda cuadrada haciendo uso de
las series de Fourier, preste atención al siguiente código
(problema2_4.m):
Problema: Serie de Fourier de una onda cuadrada.
// ======================
// Máximo Montalvo Atco
// ======================
// Resolución de problemas con series
// Generamos los voltajes de entrada:
// Señal cuadrada:
t=0:2*%pi/100:2*%pi;
y1=4*sin(t)/%pi;
68
// Segundo armónico
y2=(4/%pi)*[sin(3*t)/3];
// Tercer armónico:
y3=(4/%pi)*[sin(5*t)/5];
y4=(4/%pi)*[sin(7*t)/7];
y5=(4/%pi)*[sin(9*t)/9];
y6=(4/%pi)*[sin(11*t)/11];
// Componemos las funciones:
s1=y1+y2;
s2=s1+y3;
s3=s2+y4;
s4=s3+y5;
s5=s4+y6;
// Graficamos la señal:
subplot(3,1,1),plot(t,s1,'r'),title('1 y 2 elementos de la serie'),
xgrid(1)
subplot(3,1,2),plot(t,s2,'b',t,s3,'g'),title('Serie de Fourier'),
xgrid(1)
subplot(3,1,3),plot(t,s4,'b',t,s5,'g')
title('Hasta 6 elementos'), xgrid(1)
// *** FIN ***
Solo se han efectuado 6 aproximaciones o se han tomado en cuenta
seis armónicos, los cuales han sido aproximados como onda
cuadrada, es importante notar en el grafico o figura 28 la diferencia
entre la onda real y la aproximada, en los análisis de Fourier es muy
importante notar que a mayor número de armónicos la onda será más
precisa, pero lamentablemente no se puede tomar todos los armónicos
por ser estos de valor infinito, pero en la práctica las frecuencia
elevadas serán cortadas por que todo sistema tiene un rango de
operación en el dominio de la frecuencia y este ancho de banda no
puede ser infinito, por tanto en la práctica las frecuencias elevadas
serán eliminadas o como se dice en el argot serán rechazadas.
69
A continuación veremos un análisis de filtro pasa bajos, compuesto
por un circuito RL en serie, la entrada será un voltaje de onda
cuadrada y la salida una onda de corriente, la impedancia será:
R+jwL, note que a mayor inductancia y menor resistencia la respuesta
varia.
Figura 28. Serie de Fourier de una onda cuadrada.
Para el análisis de la respuesta en frecuencia vamos algunos
resultados importantes, entre ellos tenemos una carga del tipo RL en
serie conformada por una resistencia de 1 ohm en serie con una
bobina de 0.05 henrios, tenemos la solución en la figura 29. El script
se denomina problem2_5.m:
70
Problema: Series de Fourier aplicadas.
// ======================
// Máximo Montalvo Atco
// ======================
// Resolución de problemas con series
// Generamos los voltajes de entrada:
// Señal cuadrada:
w=2*%pi;L=0.05;R=1;
for i=1:6
Z(i)=sqrt((w*(2*i-1)*L)^2+R^2);
A(i)=acos(R/Z(i));
end
ZZZ=[Z, A*180/%pi]
t=0:2*%pi/100:2*%pi;
y1=4*sin(t)/%pi;I1=(4/%pi)*sin(t-A(1))/(Z(1));
// Segundo armónico
y2=(4/%pi)*[sin(3*t)/3];I2=(4/%pi)*sin(3*t-A(2))/(3*Z(2));
// Tercer armónico:
y3=(4/%pi)*[sin(5*t)/5];I3=(4/%pi)*sin(5*t-A(3))/(5*Z(3));
y4=(4/%pi)*[sin(7*t)/7];I4=(4/%pi)*sin(7*t-A(4))/(7*Z(4));
y5=(4/%pi)*[sin(9*t)/9];I5=(4/%pi)*sin(9*t-A(5))/(9*Z(5));
y6=(4/%pi)*[sin(11*t)/11];I6=(4/%pi)*sin(11*t-
A(6))/(11*Z(6));
// Componemos las funciones:
s1=y1+y2;i1=I1+I2;
s2=s1+y3;i2=i1+I3;
s3=s2+y4;i3=i2+I4;
s4=s3+y5;i4=i3+I5;
s5=s4+y6;i5=i4+I6;
// Graficamos las señales:
subplot(3,1,1),plot(t,s5,'g'),title('Serie de voltaje'), xgrid(1)
subplot(3,1,2),plot(t,i5,'b'),title('Serie de corriente'), xgrid(1)
// *** FIN ***
71
Se han tomado seis armónicos, de la serie de Fourier, y se ha pasado
a calcular la corriente que se desarrolla debido a cada armónico,
como si de una sola fuente de voltaje en serie con una carga RL serie
se tratase, así se han obtenido seis corrientes diferentes, para obtener
la salida final se ha procedido a sumar cada una de las corrientes; el
hecho de elegir más o menos armónicos influirá en la respuesta final.
El análisis de Fourier es aplicable gracias al hecho de que el circuito
representado es un circuito lineal. Por tanto podemos calcular las
corrientes independientemente y hallar la solución final como una
suma de todas las corrientes.
Figura 29. Análisis en serie de Fourier de una carga RL R>>L.
Gracias a la inclusión de un bucle for se ha podido generar una matriz
cuyos elementos eran los módulos y los ángulos de las impedancias
de la carga para diferentes frecuencias, esto es de mucha
72
importancia, pues en series de Fourier se deben de efectuar muchos
cálculos para poder resolver los diferentes problemas, siendo el
método recursivo el más adecuado para la resolución de este tipo de
problemas. Debe de usarse más seguido este tipo de procedimiento
en los problemas que han de resolverse en el futuro.
Es obvio que se trata de un derivador, en la figura 29 casi todas las
componentes son parte de la salida, pero en la figura 30 quedo una
señal que se parece a una onda triangular, es decir el circuito es un
derivador de voltaje, la entrada es de tipo cuadrada y la salida es de
tipo triangularla, Note que cuando el voltaje tiene un voltaje positivo
aproximado de uno la salida tiene una pendiente de uno, ocurre lo
mismo cuando el voltaje es menos uno la pendiente se hace negativa
y es menos uno.
La amplitud de la onda triangular es ahora de 0.25, lo que lógico ya
que la impedancia es mayor que uno, además hay que tener en cuenta
que la salida es la suma de muchas ondas sinusoidales, note que la
onda es de tipo simétrico respecto al eje del tiempo, lo que quiere
decir que el valor promedio es de cero, es de gran ayuda la resolución
de circuitos usando series, y debe de ser ampliamente utilizado en
análisis de circuitos lineales, pero es muy trabajoso y dificultoso
hacerlo con lápiz y papel, mas no es difícil hacerlo en programa. Por
estas razones las soluciones para circuitos en estado estable han de
realizarse con el concurso de dos potentes herramientas: las series de
Fourier y la respuesta en el dominio de la frecuencia.
Es de notar que las componentes de la onda de salida son en este
caso:
𝐼𝑛 =
𝑉𝑛
𝑍𝑛
< −𝜃𝑛
Donde Zn depende de la frecuencia angular como sigue:
𝑍𝑛 = √𝑅2 + (𝑛𝑤𝐿)2
𝜃𝑛 = 𝑡𝑎𝑛−1 (
𝑛𝑤𝐿
𝑅
)
Note que cuando n→infinito Zn→0 y theta n →90°
73
Figura 30. Análisis en serie de Fourier de una carga RL R<<L.
Para los cálculos de potencia solo será necesario efectuar el producto
de la corriente versus el voltaje. Para ver las impedancias a diferentes
frecuencias mostramos la variable ZZZ:
-->ZZZ
ZZZ =
6.283981 89.088186
18.849821 89.696039
31.416086 89.817622
43.982411 89.86973
56.548756 89.898679
74
69.115111 89.917101
Tenemos la salida en primer término el módulo de la impedancia, y
en la segunda columna los ángulos, y vemos que son solamente
cargas inductivas como bobinas, y el ángulo es mayor que 89, pero
el modulo va creciendo rápidamente.
6.3. Cálculos de potencia: integrales definidas en SciLab:
Para efectuar el análisis de potencias en SciLab se usara una poderosa
herramienta que es la integral trapezoidal.
Para poder integrar en SciLab se pueden utilizar los siguientes
comandos:
Comando Explicación
F = inttrap(t ,f) Función f con dominio t
F = intg(a, b, f) Función F, integrando desde a
hasta b
Ahora veremos unos ejemplos para poder usar estas dos poderosas
herramientas para el cálculo de integrales, primero con la orden
inttrap.
El comando inttrap hace uso de la integral trapezoidal numérica en
un intervalo definido al cual se ha denominado t, con los límites de
integración, definidos por el intervalo a evaluar, a continuación se ve
un script haciendo uso del comando:
Programa: Cálculos de potencia (integrales)
// Calculo de valores rms
// Sea la onda: seno:
t=0:0.001:2*%pi;
y=10*sin(t);
plot(t,y)
Yrms = sqrt(inttrap(t,y.^2)/1);
Ypro = inttrap(t,y);
disp('El valor rms:')
75
disp(Yrms)
disp('El valor medio:')
disp(Ypro)
La salida se ve a continuación:
exec('F:programasscilabdinamicaejemplo10.sce', -1)
El valor rms:
17.724539
El valor medio:
0.0000002
En segundo lugar veamos una aplicación usando el comando intg, en
este caso se hace uso de un comando más parecido a matemática
simbólica
Programa: integral simbólica.
// Calculo de integrales:
// Definimos una función:
deff('[y]=f(x)','y=(x*sin(30*x)) / sqrt(1-(x/(2*%pi))^2)');
// Integramos desde cero hasta 2pi:
F = intg(0,2*%pi,f)
disp('El valor de la integral es:')
disp(F)
La salida del programa es:
El valor de la integral es:
- 2.5432596
Con los comandos estudiados hasta ahora, estamos listos para
resolver más programas que resuelvan problemas de electrónica de
potencia.
Note la importancia del uso de gráficos en nuestros análisis, así como
la posibilidad de graficar vectores en el dominio de la frecuencia, las
presentaciones de los resultados con el comando disp. Es de gran
76
importancia, pero hasta ahora solo hemos hecho uso de Scilab como
una potente calculadora y un excelente entorno gráfico para las
distintas señales, para seguir avanzando nos hace falta el uso de datos
más complejos así como de bucles de control que nos ayuden en el
control de flujo, en la sección que sigue se verá estos casos de gran
importancia, que adecuadamente he denominado introducción a la
programación en SciLab.
6.4. Introducción a la programación en SciLab:
Veamos los comandos principales usados:
Comando: Explicación:
for i = n:m
// Comandos
End
Genera un bucle que comienza
en n y termina en m,
aumentando el índice i de uno
en uno.
While expr then
comandos,...
[,else comando aux.],
end
Genera un bucle while:
mientras se cumpla la expr
entonces se ejecutan los
comandos, si no se cumple se
ejecuntan los comando aux, se
termina con el comando end
if expr1 then
comandos,...
elseif expri then
comandos aux,...
else
comandos finales,...
end
Genera un bucle si entonces:
mientras se cumpla la expr1
entonces se ejecutan los
comandos, si no se cumple y se
cumple la expri se ejecutan los
comando aux, en caso contrario
se ejecuta comandos fnales se
termina con el comando end
Algunos comando que serán usados en la programación en SciLab:
que han de explicarse cómo se ven a continuación, empezando por el
bucle for:
77
Programa: Bucle FOR
// Comando For:
// Generación de señales
// Tiempo desde cero hasta 10
t=0:0.01:10
// Onda cuadrada con periodo de 5
a = length (t)
a = floor(a/4)
// bucle for:
for i = 1:a
y(i)=10;// La amplitud de la onda es 10
end
for i = a+1:2*a
y(i)=-10;// La amplitud de la onda es 10
end
for i = 2*a+1:3*a
y(i)=10;// La amplitud de la onda es 10
end
for i = 3*a+1:4*a+1
y(i)=-10;// La amplitud de la onda es 10
end
// Graficamos la salida
square (0,-11,10,11)
plot(t,y,'b'), title('Onda cuadrada'), xgrid
Explicamos a continuación los comandos usados en el script, primero
se generó un tiempo que va desde cero hasta 10 en intervalos de 0.01,
lo que nos da 1001 elementos del vector t, luego con el comando
length(t), averiguamos el número de elementos de t, que nos da un
valor de 1001, como el medio periodo es de 2.5 segundos tenemos
250 elementos por utilizar de ahí tenemos: a/4 que nos dará 250.25,
para poder usarlo como índice lo redondeamos con la orden floor que
redondea el numero hacia abajo, con ello tenemos cuatro bucles for
que crearan la señal: uno va desde el índice uno hasta 250, con la
78
orden for i=1:a, y luego va desde 251 hasta 500, de 501 hasta 750 y
finalmente desde 751 hasta 1001, y asigna a y(i) los valores
adecuados entre 10 y monos 10, el grafico generado por el script se
puede ver en la figura 31.
Figura 31. Onda cuadrada hecha con bucle for.
El siguiente Script nos muestra el uso del comando while, se
inicializa la variable i con un valor de 10, mientras se cumpla que i
es menor que 16, se displaya el valor de i en la pantalla, se va
incrementando i en cada ciclo, hasta que llega a un valor de 15
entonces se detiene el flujo, a continuación del listado del Script se
ve la salida de la pantalla SciLab:
Programa: comando WHILE:
// Bucle mientras:
// inicializamos las variables:
i = 10
while i<16 // mientras sea menor que 16
disp(i);
i = i + 1; // incrementa i
end
Podemos ejecutar el script en la ventana de comandos de SciLab:
79
-->exec('F:paraimprimirSclab4everbuclemientras.sce', -1)
10.
11.
12.
13.
14.
15.
Con estos ejemplos terminamos esta sección y pasamos a la parte más
importante, es decir al análisis de circuitos con SciLab. No olvide el
lector comprender bien los bucles en la programación para la solución
de problemas.
80
7. Cálculos de potencia para sistemas no lineales con
semiconductores discretos.
7.1. Rectificador de media onda.
A continuación representaremos en series de potencia un rectificador
de media onda en Scilab, como se puede apreciar en la figura 30, se
puede ver una aproximación aceptable, las series de Fourier son de
gran ayuda para ondas de tipo periódicas como en este caso. Se ha
tomado una onda de 60 Hertz, y se ha elegido un dominio de dos
veces el periodo es decir 32mseg. La amplitud que quisiéramos
representar como un voltaje es de 1 voltio, se han tomado hasta 6
armónicos de la serie y en la figura diez en la parte inferior se han
representado tanto la señal exacta como la aproximación de la serie.
El programa problema3_1.sce se enlista a continuación:
Programa: Rectificador de media onda:
// ======================
// ****** Rectificador ½ onda ******
// ======================
// Máximo Montalvo Atco
// Resolución de problemas con series
// Señal rectificada:
f=60;w=2*%pi*f;T=1/f;
t=0:T/100:2*T;
q=length(t);
y=sin(w*t);
y1=(1/%pi)*ones(1,q);
// Segundo armónico
y2=(1/2)*[sin(w*t)];
// Tercer armónico:
y3=(-2/%pi)*[cos(2*w*t)/3];
y4=(-2/%pi)*[cos(4*w*t)/15];
y5=(-2/%pi)*[cos(6*w*t)/35];
81
y6=(-2/%pi)*[cos(8*w*t)/63];
// Resultante la suma de las armónicas
s1=y1+y2;
s2=s1+y3;
s3=s2+y4;
s4=s3+y5;
s5=s4+y6;
a=length(t);
for i=1:a
if (y(1,i)<0)
y(1,i)=0;
end
end
subplot(2,1,1), plot(t,y1,'b',t,s1,'b',t,s2,'r',t,s3,'m',t,s4,'w'),
xgrid
subplot(2,1,2), plot(t,y,'g',t,s5,'b'), xgrid
// === END ======
Para calcular la potencia de la onda elegimos una resistencia de 1 ohm
y hallamos la potencia que sería el voltaje al cuadrado, pero en caso
de la serie, sería la raíz cuadrada de las suma de los valores eficaces
de cada señal sinusoidal. En el listado siguiente se puede apreciar este
hecho:
// Cálculos de potencia
Pot = 1/2;
py1=(1/%pi)^2;
py2=(1/2)^2;
py3=(2/(%pi*3))^2;
py4=(2/(%pi*15))^2;
py5=(2/(%pi*35))^2;
py6=(2/(%pi*63))^2;
Pot2=sqrt(py1+(0.5)*(py2+py3+py4+py5+py6));
82
Al ejecutar vemos que la diferencia entre la potencia exacta y la
potencia calculada en series es de 0.0000459, en las líneas que siguen
se puede apreciar la siguiente salida:
-->Pot
Pot =
0.5
-->Pot2
Pot2 =
0.4999541
Figura 32. Desarrollo en series de Fourier de una onda rectificada.
En la figura 32, se puede ver el desarrollo en series de Fourier de la
onda rectificada de media onda con valores muy próximos. El uso de
las series de Fourier es muy importante para este tipo de análisis de
sistemas no lineales, es de importancia también notar el enfoque
analítico del problema, sin necesidad de efectuar mucho
razonamiento.
83
Circuito inductivo:
Veamos ahora un rectificador de media onda con una carga inductiva
de diez ohm en serie con 250 mili henrios, una fuente de entrada tiene
una amplitud de 311 voltios o lo que es lo mismo un voltaje eficaz de
220V, las frecuencia se ha mantenido, en la figura once se dibujó el
voltaje y la corriente del circuito, además se puede apreciar los
valores medios y eficaces de la salida para la salida real así como la
salida de la aproximación de Fourier, como se verá a continuación
en el script de nombre problema3_2.sce:
Problema: Circuito inductivo.
// ======================
// ****** Rectificador con RL ******
// ======================
// Maximo Montalvo Atco
// Resolución de problemas con series
// Señal rectificada:
f=60;w=2*%pi*f;T=1/f;
t=0:T/100:2*T;
q=length(t);
y=311*sin(w*t);
// Impedancia:
R = 10; L = 0.15
Z(1)=sqrt((w*L)^2+R^2);
A(1)=acos(R/Z(1));
for i=2:2:8
Z(i)=sqrt((w*(i*i-1)*L)^2+R^2);
A(i)=acos(R/Z(i));
end
y1=(311/%pi)*ones(1,q);I1=(311/(%pi*10))*ones(1,q);
// Segundo armonico
y2=(311/2)*[sin(w*t)];I2=(311/(2*Z(1)))*[sin(w*t-A(1))];
// Tercer armonico:
y3=(-622/%pi)*[cos(2*w*t)/3];I3=(-
622/(Z(2)*%pi))*[cos(2*w*t-A(2))/3];
84
y4=(-622/%pi)*[cos(4*w*t)/15];I4=(-
622/(Z(4)*%pi))*[cos(2*w*t-A(4))/15];
y5=(-622/%pi)*[cos(6*w*t)/35];I5=(-
622/(Z(6)*%pi))*[cos(2*w*t-A(6))/35];
y6=(-622/%pi)*[cos(8*w*t)/63];I6=(-
622/(Z(8)*%pi))*[cos(2*w*t-A(8))/3];
// Resultante la suma de las armonicas
s1=y1+y2;Is1=I1+I2;
s2=s1+y3;Is2=Is1+I3;
s3=s2+y4;Is3=Is2+I4;
s4=s3+y5;Is4=Is3+I5;
s5=s4+y6;Is5=Is4+I6;
a=length(t);
for i=1:a
if (y(1,i)<0)
y(1,i)=0;
end
end
subplot(2,1,1), plot(t,y,'g',t,s5,'b'), xgrid, title('Voltaje de
entrada'),
ylabel('Voltaje')
subplot(2,1,2), plot(t,Is5,'b'), xgrid, title('Corriente carga
RL'),
ylabel('Amperios')
// Calculos de valores:
vmed=inttrap(t,y)/(2*T);
vrms=sqrt(inttrap(t,y.^2)/(2*T));
vmeds=inttrap(t,s5)/(2*T);
vrmss=sqrt(inttrap(t,s5.^2)/(2*T));
imed=inttrap(t,Is5)/(2*T);
irms=sqrt(inttrap(t,Is5.^2)/(2*T));
// === END ======
A continuación vemos los valores medios y eficaces, vrms es el
voltaje eficaz real y vrmss es el voltaje eficaz de la aproximación de
85
Fourier son casi iguales, lo que valida el análisis en series de Fourier
como una aproximación aceptable, a continuación vemos los valores
que se ven a continuación:
vrmss = 155.48573
vrms = 155.5
vmeds = 98.994375
vmed = 98.961805
irms = 10.087391
imed = 9.8994375
Figura 33. Voltaje y corriente del rectificador de media onda con
carga RL.
86
En la figura 33. Se puede apreciar el voltaje aproximado y la
corriente de salida que se puede ver que no llega a cero, su mínimo
es de 7 amperios y el máximo de cerca de 13 amperios. Vemos que
se han eliminado o reducido los componentes de corriente alterna y
se ha acentuado la componente fundamental o de corriente directa
con valor medio aproximado de 10 amperios, lo que nos indica un
filtro de pasa bajos de corriente, el lector no ha de confundir el
circuito es muy crítico el hecho que la corriente no llega hasta cero,
pero es necesario para ello usar un diodo de potencia flotante en
paralelo con la carga.
Todos estos resultados cuadran con los valores calculados y
esperados en nuestros sistemas de potencia, note que los análisis son
en estado estable, lo que es obvio pues estamos trabajando en series
de Fourier en estado estable, la solución completa debería incluir la
respuesta en estado transitorio.
7.2. Rectificador monofásico de onda completa.
El programa se parece mucho al anterior solo hay que cambiar la
fórmula que usamos al simular el circuito, con la serie de Fourier
adecuada es decir la fórmula de la onda rectificada de onda completa,
y el código esta en ejemplo con el script problema3_3.sce, que vemos
a continuación:
Programa: Rectificador de onda completa:
// ======================
// ****** Rectificadores ******
// ======================
// Maximo Montalvo Atco
// Resolucion de problemas con series
// Señal rectificada onda completa:
f=60;w=2*%pi*f;T=1/f;
t=0:T/100:2*T;
q=length(t);
87
y=311*sin(w*t);
// Impedancia:
R = 10; L = 0.15
Z(1)=sqrt((w*L)^2+R^2);
A(1)=acos(R/Z(1));
for i=2:2:8
Z(i)=sqrt((w*(i*i-1)*L)^2+R^2);
A(i)=acos(R/Z(i));
end
y1=(2*311/%pi)*ones(1,q);I1=(2*311/(%pi*10))*ones(1,q);
// Segundo armonico
y2=0*[sin(w*t)];I2=0*[sin(w*t-A(1))];
// Tercer armonico:
y3=(-2*622/%pi)*[cos(2*w*t)/3];I3=(-
2*622/(Z(2)*%pi))*[cos(2*w*t-A(2))/3];
y4=(-2*622/%pi)*[cos(4*w*t)/15];I4=(-
2*622/(Z(4)*%pi))*[cos(4*w*t-A(4))/15];
y5=(-2*622/%pi)*[cos(6*w*t)/35];I5=(-
2*622/(Z(6)*%pi))*[cos(6*w*t-A(6))/35];
y6=(-2*622/%pi)*[cos(8*w*t)/63];I6=(-
2*622/(Z(8)*%pi))*[cos(8*w*t-A(8))/3];
// Resultante la suma de las armonicas
s1=y1+y2;Is1=I1+I2;
s2=s1+y3;Is2=Is1+I3;
s3=s2+y4;Is3=Is2+I4;
s4=s3+y5;Is4=Is3+I5;
s5=s4+y6;Is5=Is4+I6;
a=length(t);
for i=1:a
if (y(1,i)<0)
y(1,i)=-y(1,i);
end
end
subplot(2,1,1), plot(t,y,'g',t,s5,'b'), xgrid, title('Voltaje de
entrada'),
88
ylabel('Voltaje')
subplot(2,1,2), plot(t,Is5,'b'), xgrid, title('Corriente carga
RL'),
ylabel('Amperios')
// Calculos de valores:
vmed=inttrap(t,y)/(2*T);
vrms=sqrt(inttrap(t,y.^2)/(2*T));
vmeds=inttrap(t,s5)/(2*T);
vrmss=sqrt(inttrap(t,s5.^2)/(2*T));
imed=inttrap(t,Is5)/(2*T);
irms=sqrt(inttrap(t,Is5.^2)/(2*T));
// === END ======
A continuación presentamos los valores que el programa ejecutado
ha calculado, el Script de SciLab, es decir los valores medios y
eficaces.
vmed = 197.92361
vrms = 219.91021
vmeds = 197.98875
vrmss = 219.86984
imed = 19.798875
irms = 19.806521
En la figura 34 se puede apreciar la salida del sistema simulado, en
este caso la aproximación es más que aceptable, es muy buena. La
corriente de salida ha aumentado significativamente a 19.78
amperios, y el valor de la componente en corriente alterna ha
disminuido también de forma drástica, como se puede apreciar.
Note que la salida es una onda distorsionada, es decir no es una onda
seno, esta distorsión es propia de los filtros de pasa bajos. La salida
es casi una señal continua.
89
Figura 34. Voltaje y corriente del rectificador de onda completa con
carga RL.
Comparando las figuras 33 y 34, se puede apreciar que la componente
de corriente alterna ha disminuido de forma sustancial al
compararlas, en la figura once se pueden apreciar hasta un máximo
de seis amperios, mientras que en la figura doce solo es 1.6 amperios,
con la misma carga.
7.3 Circuito trifásico con carga RL.
A continuación veremos los resultados cuando trabajamos con
circuitos trifásicos, en este trabajo serán balanceados, las ondas de
entrada tienen la misma amplitud y están desfasadas 120 grados, que
al fin y al cabo son de nuestro interés.
90
Figura 35. Circuito trifásico con fuente en estrella y carga en
estrella.
La carga también ha de ser balanceada es decir tres cargas idénticas
como se apreciara en el siguiente Script que simulara las ondas del
circuito, y en la figura 36 la onda de salida:
Programa: Circuito trifásico.
// ======================
// Maximo Montalvo Atco
// Resolución de problemas de potencia en CA
// Generamos los voltajes de entrada:
f = 50; // Frecuencia
T = 1/f; // Periodo
w = 2*%pi*f; // Frecuencia angular
t = 0:T/100:2*T; // Dominio
V = 220; // Voltaje rms
Vm = sqrt(2)*V;
// Secuencia positiva:
Van= Vm*sin(w*t);
Vbn= Vm*sin(w*t-2*%pi/3);
Vcn= Vm*sin(w*t+2*%pi/3);
91
// Grafico de las ondas:
plot(t,Van,'b',t,Vbn,'r',t,Vcn,'g'), xtitle('Voltaje 3f'),...
xlabel('tiempo'),ylabel('Voltios'), xgrid,...
legend('Van','Vbn','Vcn')
Analizamos la secuencia de las fases la fase Van esta con un desfase
de cero grados, la fase Vbn está atrasada 120 grados sexagesimales,
mientras que la fase Vcn esta adelantada en 120 grados, esto es de
conveniencia en las próximas simulaciones, como veremos en los
siguientes ejercicios que han de desarrollarse, teniendo en cuenta esto
de construirá los voltajes de línea es decir el voltaje de línea Vab
como ejemplo será la resta de Van menos Vbn, lo que nos dará una
fase de 30 grados positivos, respecto a la fase Van , y el voltaje de
línea Vca nos dará una fase de 150 grados sexagesimales.
𝑉𝑎𝑛 = 𝑉𝑚 ∗ 𝑠𝑒𝑛(𝑤𝑡)
𝑉𝑏𝑛 = 𝑉𝑚 ∗ 𝑠𝑒𝑛(𝑤𝑡 − 120)
𝑉𝑐𝑛 = 𝑉𝑚 ∗ 𝑠𝑒𝑛(𝑤𝑡 + 120)
Tenga el lector presente esto pues no se hará hincapié en ello solo se
desarrollaran los problemas asumiendo que las fases van ya
determinadas de antemano.
Las señales en circuitos trifásicos lineales y balanceados, son siempre
balanceadas y presentan una simetría, se podría decir que solo es
necesario resolver un circuito trifásico equivalente y aplicar la
simetría para encontrar los demos resultados. Sin embargo en
circuitos electrónicos es posible romper esta regla, de ahí que el uso
de simuladores es muy importante, y solo es necesario entender la
naturaleza del problema, no se necesita resolverlo analiticamente.
Como ya se explicó, todo esto se puede ver en la figura siguiente.
92
Figura 36. Ondas de voltaje del circuito trifásico con fuente en
estrella.
Ahora tomando en cuenta la figura 36, podemos deducir que la onda
rectificada es solo para los voltajes de fase mayores que cero,
quedando como se pueden apreciar en el gráfico 37, en el mismo
podemos observar la salida del rectificador que es el máximo de onda
anterior, en el siguiente Script se desarrolla este programa.
Script del rectificador:
Programa: rectificador trifásico:
// Rectificador de media onda trifásico
// Vanr, tamaño de Van 201
Vanr=zeros(1,201);
Vbnr=zeros(1,201);
Vcnr=zeros(1,201);
for i=1:201
if Van(i)>0 then Vanr(i)=Van(i);
end
end
for i=1:201
93
if Vbn(i)>0 then Vbnr(i)=Vbn(i);
end
end
for i=1:201
if Vcn(i)>0 then Vcnr(i)=Vcn(i);
end
end
Vr3f=max(Vanr,max(Vbnr,Vcnr))
subplot(121), plot(t,Vanr,'g',t,Vbnr,'b',t,Vcnr,'m'), xgrid
title('ONDAS RECTIFICADAS POR FASE')
subplot(122), plot(t,Vr3f,'b'), xgrid
title('ONDA RECTIFICADA TRIFASICA')
Cabe señalar que antes de ejecutar el scrip anterior es necesario que
las variables Van, Vbn, Vcn y t estén definidas, lo que es lo mismo
decir que el script anterior debió de ser ejecutado previamente, de
forma que los voltajes y el tiempo ya están definidos.
Con esto explicamos que primero se creó una variable Vanr es decir
voltaje de fase Van rectificado, que incluye solo la parte positiva de
la onda Van, en un comienzo Vanr es un vector fila de 201 elementos
todos los cuales valen cero, lo mismo se hizo con las variables Vbnr
y Vcnr, a continuación se procedió a rectificar las ondas con bucles
que comparan el valor de Van si es mayor que cero entonces Vanr es
igual a Van, en caso Van sea menor que cero, entonces Vanr también
será cero. El mismo procedimiento se hace para cada una de las
ondas.
Finalmente tenemos para la salida del rectificador es el máximo de
las tres rondas anteriores, que en ocasiones se denomina la función
lógica OR, por tanto utilizamos la orden max, el resultado del Script
se ilustra en la figura 37, a continuación:
94
Figura 37. Ondas de voltaje del circuito trifásico con salidas por
fases y la salida del rectificador completo.
Cálculo de los voltajes promedio y eficaz: en las siguientes líneas de
código tenemos el cálculo de los voltajes promedio y eficaz del
circuito, donde se obtiene los resultados:
// Calculo de Vrms
// Calculo de Vmed
Vmed =(1/(2*T))*inttrap(t,Vr3f)
Vrms =sqrt((1/(2*T))*inttrap(t,Vr3f.^2))
Vmed = 257.29054
Vrms = 261.55365
Si consideramos la relación de la inductancia con la resistencia con
un grado de diez a uno, tenemos que la onda de corriente es muy
lineal y se puede aproximar por un filtro pasa bajas de corriente:
𝐼𝑐𝑑 =
𝑉𝑚𝑒𝑑
𝑅
95
Además como la inductancia trabaja sobre una onda rectificada
trifásica tenemos que la frecuencia es tres veces la frecuencia original
por tanto:
𝑋𝑙 = 𝑤 ∗ 𝐿 = 2 ∗ 𝜋 ∗ (3𝑓) ∗ 𝐿
Con una frecuencia de 60Hz tenemos que Xl es 1131*L, con valores
de R=5 y L=100mH, Xl = 113 >> R = 5 que cumple.
Note que si calculamos para la primera armónica es decir para una
frecuencia de 60Hz, la impedancia será:
|𝑍𝑙| = √52 + 1132 = 113.1
< 𝑍𝑙 = atan (
113
5
) = 87°
Note que es una impedancia con un módulo de 113 casi igual que el
módulo de la inductancia sola y con un desfase cerca a 90° por lo
tanto se trata de una impedancia muy cercana a solo la inductancia
sin tomar en cuenta la resistencia. Para un voltaje de corriente alterna
muy elevada de 150 voltios que representa un voltaje superpuesto al
valor medio de 257 V, como se puede apreciar en la figura 34,
obtenemos:
𝐼𝑐𝑑 =
257
5
= 51.45𝐴
𝐼𝑎𝑐1 =
150
113
= 1.32𝐴
Donde Icd es la corriente media o corriente continua y Iac1 es la
corriente máxima debida al primer armónico, que de hecho es mucho
menor. Por lo tanto podemos afirmar que se trata de un filtro de
corriente pasa bajo muy eficaz.
96
Hasta ahora hemos resuelto algunos problemas relacionados a
cálculos de potencia en la sección que sigue pasaremos al cálculo de
potencia de sistemas rectificadores.
Cabe apreciar que la potencia de entrada al sistema será de la forma:
𝑆𝑖𝑛 = 3 ∗ 𝑉 ∗ 𝐼
Donde V es el voltaje eficaz, pero de tipo Van osea voltaje de fase o
voltaje en estrella, donde Vm es la amplitud, es decir:
𝑉 =
𝑉𝑚
√2
Además I es la corriente eficaz en la línea o en una de las líneas
suponiendo que el sistema es balanceado.
Estas consideraciones de potencia son nuevas debido a que el sistema
es no lineal, es decir el voltaje de entrada es trifásico y la salida es en
corriente directa. Es decir es un nuevo problema, el hecho de usar
series de Fourier para su solución nos permite resolver con métodos
lineales, pero no olvide que hay dos condiciones: que el sistema sea
estable (algo que no se ha demostrado) y la respuesta es en estado
estable.
97
8. Cálculos de circuitos rectificadores.
Ha continuación desarrollamos el control de un motor en CD con
rectificadores controlados de corriente directa, incluyendo algo de teoría
para explicar los cálculos llevados a cabo.
Generador de corriente continua o dinamo:
Analizaremos un circuito generador de corriente directa o dinamo
haciendo uso de SciLab, debe de tener mucho cuidado en las ecuaciones
y los programas que se proponen:
Problema representación de la curva de magnetización:
Es de mucha importancia la curva de magnetización que el circuito de
campo va a generar a continuación presentamos una curva de
magnetización y su desarrollo en un Script de SciLab:
Sea la curva de magnetización (para n = 1800rpm) para una máquina de
corriente directa de 400V de la figura treinta y ocho:
Figura 38. Curva de magnetización de máquina eléctrica de 400V y
1800rpm
98
El script que genera esta tabla se enlista a continuación:
Programa: tablas:
// Curva de Máquina eléctrica de 400V
// La velocidad es 1800rpm
If = 0:6;
Vao = [0, 100, 190, 270, 340, 400, 450];
plot(If,Vao), title('Curva Máquina CD 400/1800rpm'),
xlabel('Corriente de campo'), ylabel('Voltaje'), xgrid
……………………………………
Es muy importante que la tabla que definimos este a la disposición para
la solución de los siguientes problemas, sea el generador mostrado en la
figura treinta y nueve junto a la curva de magnetización, con los
siguientes datos:
Las resistencias son: Ra de 0.1 Ohm, Rf de 80 Ohm, la resistencia de
campo Rf está compuesto de dos resistencias en serie: una resistencia
constante de 60 Ohm y una resistencia variable de 20 Ohm, la inductancia
de campo Lf es de 0.5 henrios, la máxima corriente que puede generar es
de 70 amperios y la velocidad nominal no, para un voltaje nominal Eao
de 400 voltios es de 1800rpm.
Figura 39. Generador de 400V y su curva de magnetización.
99
Hallar la potencia máxima de salida y el voltaje de salida máximo, así
como las corrientes de It, Ia e If para un carga de 5.7 ohm y una velocidad
angular de 1800rpm.
Como el motor tiene un voltaje nominal de 400 Voltios y la corriente
nominal es de 70 Amperios, la potencia máxima será de 28KW
Supondremos que el voltaje en los terminales Vt es 400 voltios entonces
It será 70.17 Amperios. Con estos datos tenemos:
𝐼𝑓 =
𝑉𝑡
𝑅𝑓
=
400
𝑅𝑓
𝐼𝑎 = 𝐼𝑡 + 𝐼𝑓 = 70.17 +
400
𝑅𝑓
De las condiciones de operación es decir de la velocidad de
funcionamiento nominal de 1800 rpm, tenemos:
𝐸𝑎
𝐸𝑎𝑜
=
𝑛
𝑛𝑜
→ 𝐸𝑎 = 𝐸𝑎𝑜
𝐸𝑎𝑜 = 𝐼𝑎 ∗ 𝑅𝑎
𝐸𝑎𝑜 = 𝑅𝑎 ∗ (𝐼𝑎 + 𝐼𝑓) + 400 → 𝐸𝑎𝑜 = 407.017 + 0.1 ∗ 𝐼𝑓
Para una corriente If de 6 amperios tenemos: 407.6 voltios y dado que en
la tabla tenemos que para una corriente If de 6 amperios tenemos un Eao
de 450 voltios, calculamos para una corriente de 5 amperios Eao es de
407.51 y Eao en la tabla es de 400 voltios deducimos que la respuesta
está entre 5 y 6 amperios, calculamos la recta que va desde 5 a 6:
𝐸𝑎𝑜 = 𝑚𝐼𝑓 + 𝑏
𝑚 = 50 𝑦 𝑏 = 400 − 𝑚 ∗ 5 = 400 − 50 ∗ 5 = 150
𝐸𝑎𝑜 = 50 ∗ 𝐼𝑓 + 150
Tenemos el sistema de ecuaciones:
100
[
50 −1
−0.1 1
] [
𝐼𝑓
𝐸𝑎𝑜
] = [
−150
407.017
]
Cuya solución es:
[
𝐼𝑓
𝐸𝑎𝑜
] = [
5.1506
407.53
]
De donde podemos calcular el valor de Rf, y en base a ese resultado hallar
el valor de Rv:
𝑅𝑓 =
400
𝐼𝑓
= 77.66 → 𝑅𝑣 = 77.66 − 60 = 17.66
Por lo tanto debemos de variar la resistencia variable a 17.66 Ohm y con
este valor tendremos la máxima potencia a una velocidad nominal de
1800rpms.
Con la ayuda de un script elaboraremos una serie de cálculos para
diferentes velocidades. Con If variable de la siguiente manera:
𝐼𝑡 =
𝐸𝑎
𝑅𝑡
𝐼𝑓 =
𝐼𝑡 ∗ 𝑅𝑓
𝑅𝑓 + 𝑅𝑙
=
𝐸𝑎 ∗ 𝑅𝑓
𝑅𝑡 ∗ (𝑅𝑓 + 𝑅𝑙)
EL listado que sigue grafica las curvas de magnetización frente a
diferentes velocidades:
Programa: tablas para motores CD
//=======================================
// Cálculos para diferentes velocidades
// Resolución de máquinas eléctricas
Ra = 0.1; // Resistencia de armadura
Rf = 77.66; // Resistencia de campo
Lf = 0.5 ;// Inductancia de campo
Rl = 5.7; // Resistencia de carga
VV = 1500:50:2000;
101
disp('Resistencia de carga')
disp(Rl)
disp('La potencia deseada')
disp(28000)
disp('velocidades:')
disp(VV)
// La corriente de campo:
// Eao=0.1 If + 400
Rt=Ra+Rf*Rl/(Rf+Rl);
K = Rl/(Rt*(Rf+Rl));
// Redefinimos la curva de magnetización:
i=0:0.001:6;
m1=100*i;
m2=90*i+10;
m3=70*i+60;
m4=60*i+100;
m5=50*i+150;
m=min(m1,m2,m3,m4,m5);
// Calculamos Ea = Eao*n/no If = Ea /Rt
// Eao = no/n Rt If
for ii=1:length(VV)
L(ii,:)=1800*i/(K*VV(ii));
end
// Calculamos los voltajes y corrientes:
subplot(221), plot(i,m), title('Eao vs If 1800rpm'), ...
xlabel ('Corriente If'), ylabel('Voltaje Eao'), xgrid
subplot(222), plot(i,m,i,L(1,:)), title('Eao vs If 1800rpm'),...
xlabel ('Corriente If'), ylabel('Voltaje Eao'), xgrid
subplot(223), plot(i,m,i,L(2,:)), title('Eao vs If 1800rpm'),...
xlabel ('Corriente If'), ylabel('Voltaje Eao'), xgrid
subplot(224), plot(i,m,i,L(3,:)), title('Eao vs If 1800rpm'),...
xlabel ('Corriente If'), ylabel('Voltaje Eao'), xgrid
//====================================
102
Figura 40. Gráficas para el generador de 400V, Voltajes Eao vs.
Corrientes de campo If, para diferentes velocidades.
Las gráficas de la figura cuarenta, nos muestran las diversas velocidades
del generador, en el Script se han calculado para velocidades desde 1500
hasta 2000, pero solo se han graficado para tres casos para velocidades
de 1500, 1800 y 2000 rpms. Donde puede apreciarse como la recta del
circuito de campo varía en pendiente para diversas velocidades, siendo la
pendiente de 1800rpm la más pronunciada. Y la pendiente para 2000rpm
la menor: en el caso de la velocidad de 2000rpm la intersección de la
103
curva y la recta cae fuera de rango, en este caso el voltaje Eao será el
máximo valor.
Para este caso Eao = 450V, por lo tanto Ea será: 500V, y la corriente del
generador será 92 amperios, con una potencia de 46.2KW, resultados que
no son válidos, siendo la resistencia de carga muy baja y el generador
esta fuera del rango de operación. Para todos los cálculos se ha hecho uso
de SciLab, si bien no todos los resultados se han mostrado. Pero el uso
de sciLab para resolver sistemas de ecuaciones y demás problemas es
muy adecuado, sobre todo para estos casos.
Rectificadores aplicados a circuitos con Inductancia.
Para comenzar veremos el caso de circuitos rectificadores con cargas
altamente inductivas como sería el caso del circuito de campo de un
motor de corriente directa, el problema es ya de por si complejo y el uso
de los Script anteriores será de mucha utilidad.
Primero describimos el circuito, consta de una fuente de voltaje y
rectificador controlado de media onda alimentando una carga que consta
de una resistencia y una bobina en serie, se puede ver el circuito en la
figura cuarenta y uno:
Figura 41. Circuito rectificador de media onda.
Resolución de problemas de electrónica de potencia haciendo uso de métodos numéricos BNP.pdf
Resolución de problemas de electrónica de potencia haciendo uso de métodos numéricos BNP.pdf
Resolución de problemas de electrónica de potencia haciendo uso de métodos numéricos BNP.pdf
Resolución de problemas de electrónica de potencia haciendo uso de métodos numéricos BNP.pdf
Resolución de problemas de electrónica de potencia haciendo uso de métodos numéricos BNP.pdf
Resolución de problemas de electrónica de potencia haciendo uso de métodos numéricos BNP.pdf
Resolución de problemas de electrónica de potencia haciendo uso de métodos numéricos BNP.pdf
Resolución de problemas de electrónica de potencia haciendo uso de métodos numéricos BNP.pdf
Resolución de problemas de electrónica de potencia haciendo uso de métodos numéricos BNP.pdf
Resolución de problemas de electrónica de potencia haciendo uso de métodos numéricos BNP.pdf
Resolución de problemas de electrónica de potencia haciendo uso de métodos numéricos BNP.pdf
Resolución de problemas de electrónica de potencia haciendo uso de métodos numéricos BNP.pdf
Resolución de problemas de electrónica de potencia haciendo uso de métodos numéricos BNP.pdf
Resolución de problemas de electrónica de potencia haciendo uso de métodos numéricos BNP.pdf
Resolución de problemas de electrónica de potencia haciendo uso de métodos numéricos BNP.pdf
Resolución de problemas de electrónica de potencia haciendo uso de métodos numéricos BNP.pdf
Resolución de problemas de electrónica de potencia haciendo uso de métodos numéricos BNP.pdf
Resolución de problemas de electrónica de potencia haciendo uso de métodos numéricos BNP.pdf
Resolución de problemas de electrónica de potencia haciendo uso de métodos numéricos BNP.pdf
Resolución de problemas de electrónica de potencia haciendo uso de métodos numéricos BNP.pdf
Resolución de problemas de electrónica de potencia haciendo uso de métodos numéricos BNP.pdf
Resolución de problemas de electrónica de potencia haciendo uso de métodos numéricos BNP.pdf
Resolución de problemas de electrónica de potencia haciendo uso de métodos numéricos BNP.pdf
Resolución de problemas de electrónica de potencia haciendo uso de métodos numéricos BNP.pdf
Resolución de problemas de electrónica de potencia haciendo uso de métodos numéricos BNP.pdf
Resolución de problemas de electrónica de potencia haciendo uso de métodos numéricos BNP.pdf
Resolución de problemas de electrónica de potencia haciendo uso de métodos numéricos BNP.pdf
Resolución de problemas de electrónica de potencia haciendo uso de métodos numéricos BNP.pdf
Resolución de problemas de electrónica de potencia haciendo uso de métodos numéricos BNP.pdf
Resolución de problemas de electrónica de potencia haciendo uso de métodos numéricos BNP.pdf
Resolución de problemas de electrónica de potencia haciendo uso de métodos numéricos BNP.pdf
Resolución de problemas de electrónica de potencia haciendo uso de métodos numéricos BNP.pdf
Resolución de problemas de electrónica de potencia haciendo uso de métodos numéricos BNP.pdf

Más contenido relacionado

Similar a Resolución de problemas de electrónica de potencia haciendo uso de métodos numéricos BNP.pdf

Controladores logico programables ss14
Controladores logico programables ss14Controladores logico programables ss14
Controladores logico programables ss14Maestros Online
 
16. Introducción a Matlab autor Julio Benítez Lopez y José Luis Hueso Pagoaga...
16. Introducción a Matlab autor Julio Benítez Lopez y José Luis Hueso Pagoaga...16. Introducción a Matlab autor Julio Benítez Lopez y José Luis Hueso Pagoaga...
16. Introducción a Matlab autor Julio Benítez Lopez y José Luis Hueso Pagoaga...RamonMartinespaa
 
Curso de lab view seis horas
Curso de lab view seis horasCurso de lab view seis horas
Curso de lab view seis horasRaul Carrillo
 
0104 arquitectura-del-computador
0104 arquitectura-del-computador0104 arquitectura-del-computador
0104 arquitectura-del-computadorProfesorCorona
 
Practicas 2016
Practicas 2016Practicas 2016
Practicas 2016Tensor
 
Manual bright spark, livewire y pcb wizard
Manual bright spark, livewire y pcb wizardManual bright spark, livewire y pcb wizard
Manual bright spark, livewire y pcb wizardximarubi
 
Universidad técnica del norte
Universidad técnica del norteUniversidad técnica del norte
Universidad técnica del norteedu_anrango
 
Ici rtu-unidad 3- tema 10
Ici rtu-unidad 3- tema 10Ici rtu-unidad 3- tema 10
Ici rtu-unidad 3- tema 10Daniela Barbosa
 
Manual para estudiantes del etabs 2013
Manual para estudiantes del etabs 2013 Manual para estudiantes del etabs 2013
Manual para estudiantes del etabs 2013 Yheison Gonzalez
 
Matlab aplicacione s
Matlab aplicacione sMatlab aplicacione s
Matlab aplicacione sford81
 
Variables y constantes en matlab
Variables y constantes en matlabVariables y constantes en matlab
Variables y constantes en matlabAngel Apugllon
 

Similar a Resolución de problemas de electrónica de potencia haciendo uso de métodos numéricos BNP.pdf (20)

Resolución SEP con APMonitor
Resolución SEP con APMonitorResolución SEP con APMonitor
Resolución SEP con APMonitor
 
matlab
matlabmatlab
matlab
 
Matlab
MatlabMatlab
Matlab
 
Controladores logico programables ss14
Controladores logico programables ss14Controladores logico programables ss14
Controladores logico programables ss14
 
Compensador pid
Compensador pidCompensador pid
Compensador pid
 
16. Introducción a Matlab autor Julio Benítez Lopez y José Luis Hueso Pagoaga...
16. Introducción a Matlab autor Julio Benítez Lopez y José Luis Hueso Pagoaga...16. Introducción a Matlab autor Julio Benítez Lopez y José Luis Hueso Pagoaga...
16. Introducción a Matlab autor Julio Benítez Lopez y José Luis Hueso Pagoaga...
 
Curso de lab view seis horas
Curso de lab view seis horasCurso de lab view seis horas
Curso de lab view seis horas
 
0104 arquitectura-del-computador
0104 arquitectura-del-computador0104 arquitectura-del-computador
0104 arquitectura-del-computador
 
Uiii tema10-equipo cam
Uiii tema10-equipo camUiii tema10-equipo cam
Uiii tema10-equipo cam
 
Practicas 2016
Practicas 2016Practicas 2016
Practicas 2016
 
Manual bright spark, livewire y pcb wizard
Manual bright spark, livewire y pcb wizardManual bright spark, livewire y pcb wizard
Manual bright spark, livewire y pcb wizard
 
Tutorial descilab
Tutorial descilabTutorial descilab
Tutorial descilab
 
Universidad técnica del norte
Universidad técnica del norteUniversidad técnica del norte
Universidad técnica del norte
 
Computacion ii cap i
Computacion ii cap iComputacion ii cap i
Computacion ii cap i
 
computacion
computacioncomputacion
computacion
 
Ici rtu-unidad 3- tema 10
Ici rtu-unidad 3- tema 10Ici rtu-unidad 3- tema 10
Ici rtu-unidad 3- tema 10
 
Manual para estudiantes del etabs 2013
Manual para estudiantes del etabs 2013 Manual para estudiantes del etabs 2013
Manual para estudiantes del etabs 2013
 
Matlab aplicacione s
Matlab aplicacione sMatlab aplicacione s
Matlab aplicacione s
 
Variables y constantes en matlab
Variables y constantes en matlabVariables y constantes en matlab
Variables y constantes en matlab
 
Laboratorio 3
Laboratorio 3Laboratorio 3
Laboratorio 3
 

Más de PREMIUMEDITORIAL

INVESTIGACION CIENTIFICA PARA INGENIERIAS BNP.pdf
INVESTIGACION CIENTIFICA PARA INGENIERIAS BNP.pdfINVESTIGACION CIENTIFICA PARA INGENIERIAS BNP.pdf
INVESTIGACION CIENTIFICA PARA INGENIERIAS BNP.pdfPREMIUMEDITORIAL
 
Introducción a la electrónica moderna ISBN.pdf
Introducción a la electrónica moderna ISBN.pdfIntroducción a la electrónica moderna ISBN.pdf
Introducción a la electrónica moderna ISBN.pdfPREMIUMEDITORIAL
 
Dibujo Mecatronico Practico registro ISBN - PERU
Dibujo Mecatronico Practico registro ISBN - PERUDibujo Mecatronico Practico registro ISBN - PERU
Dibujo Mecatronico Practico registro ISBN - PERUPREMIUMEDITORIAL
 
Introducción a la electrónica moderna BNP.pdf
Introducción a la electrónica moderna BNP.pdfIntroducción a la electrónica moderna BNP.pdf
Introducción a la electrónica moderna BNP.pdfPREMIUMEDITORIAL
 
Dibujo Mecatronico Practico Biblioteca Nacional del Peru
Dibujo Mecatronico Practico Biblioteca Nacional del PeruDibujo Mecatronico Practico Biblioteca Nacional del Peru
Dibujo Mecatronico Practico Biblioteca Nacional del PeruPREMIUMEDITORIAL
 
DOCENCIA UNIVERSITARIA ISBN DOCENCIA UNIVERSITARIA ISBN
DOCENCIA UNIVERSITARIA ISBN DOCENCIA UNIVERSITARIA ISBNDOCENCIA UNIVERSITARIA ISBN DOCENCIA UNIVERSITARIA ISBN
DOCENCIA UNIVERSITARIA ISBN DOCENCIA UNIVERSITARIA ISBNPREMIUMEDITORIAL
 
INVESTIGACION CIENTIFICA PARA INGENIERIAS ISBN.pdf
INVESTIGACION CIENTIFICA PARA INGENIERIAS ISBN.pdfINVESTIGACION CIENTIFICA PARA INGENIERIAS ISBN.pdf
INVESTIGACION CIENTIFICA PARA INGENIERIAS ISBN.pdfPREMIUMEDITORIAL
 
INVESTIGACION CIENTIFICA PARA INGENIERIAS BNP.pdf
INVESTIGACION CIENTIFICA PARA INGENIERIAS BNP.pdfINVESTIGACION CIENTIFICA PARA INGENIERIAS BNP.pdf
INVESTIGACION CIENTIFICA PARA INGENIERIAS BNP.pdfPREMIUMEDITORIAL
 
DOCENCIA UNIVERSITARIA BNP.pdf DOCENCIA UNIVERSITARIA BNP.pdf
DOCENCIA UNIVERSITARIA BNP.pdf DOCENCIA UNIVERSITARIA BNP.pdfDOCENCIA UNIVERSITARIA BNP.pdf DOCENCIA UNIVERSITARIA BNP.pdf
DOCENCIA UNIVERSITARIA BNP.pdf DOCENCIA UNIVERSITARIA BNP.pdfPREMIUMEDITORIAL
 
INVESTIGACION CIENTIFICA PARA INGENIERIAS.pdf
INVESTIGACION CIENTIFICA PARA INGENIERIAS.pdfINVESTIGACION CIENTIFICA PARA INGENIERIAS.pdf
INVESTIGACION CIENTIFICA PARA INGENIERIAS.pdfPREMIUMEDITORIAL
 
DOCENCIA UNIVERSITARIA. DOCENCIA UNIVERSITARIA
DOCENCIA UNIVERSITARIA. DOCENCIA UNIVERSITARIADOCENCIA UNIVERSITARIA. DOCENCIA UNIVERSITARIA
DOCENCIA UNIVERSITARIA. DOCENCIA UNIVERSITARIAPREMIUMEDITORIAL
 
Introducción a la electrónica moderna.pdf
Introducción a la electrónica moderna.pdfIntroducción a la electrónica moderna.pdf
Introducción a la electrónica moderna.pdfPREMIUMEDITORIAL
 
Dibujo Mecatronico Practico para ingenieros
Dibujo Mecatronico Practico para ingenierosDibujo Mecatronico Practico para ingenieros
Dibujo Mecatronico Practico para ingenierosPREMIUMEDITORIAL
 

Más de PREMIUMEDITORIAL (13)

INVESTIGACION CIENTIFICA PARA INGENIERIAS BNP.pdf
INVESTIGACION CIENTIFICA PARA INGENIERIAS BNP.pdfINVESTIGACION CIENTIFICA PARA INGENIERIAS BNP.pdf
INVESTIGACION CIENTIFICA PARA INGENIERIAS BNP.pdf
 
Introducción a la electrónica moderna ISBN.pdf
Introducción a la electrónica moderna ISBN.pdfIntroducción a la electrónica moderna ISBN.pdf
Introducción a la electrónica moderna ISBN.pdf
 
Dibujo Mecatronico Practico registro ISBN - PERU
Dibujo Mecatronico Practico registro ISBN - PERUDibujo Mecatronico Practico registro ISBN - PERU
Dibujo Mecatronico Practico registro ISBN - PERU
 
Introducción a la electrónica moderna BNP.pdf
Introducción a la electrónica moderna BNP.pdfIntroducción a la electrónica moderna BNP.pdf
Introducción a la electrónica moderna BNP.pdf
 
Dibujo Mecatronico Practico Biblioteca Nacional del Peru
Dibujo Mecatronico Practico Biblioteca Nacional del PeruDibujo Mecatronico Practico Biblioteca Nacional del Peru
Dibujo Mecatronico Practico Biblioteca Nacional del Peru
 
DOCENCIA UNIVERSITARIA ISBN DOCENCIA UNIVERSITARIA ISBN
DOCENCIA UNIVERSITARIA ISBN DOCENCIA UNIVERSITARIA ISBNDOCENCIA UNIVERSITARIA ISBN DOCENCIA UNIVERSITARIA ISBN
DOCENCIA UNIVERSITARIA ISBN DOCENCIA UNIVERSITARIA ISBN
 
INVESTIGACION CIENTIFICA PARA INGENIERIAS ISBN.pdf
INVESTIGACION CIENTIFICA PARA INGENIERIAS ISBN.pdfINVESTIGACION CIENTIFICA PARA INGENIERIAS ISBN.pdf
INVESTIGACION CIENTIFICA PARA INGENIERIAS ISBN.pdf
 
INVESTIGACION CIENTIFICA PARA INGENIERIAS BNP.pdf
INVESTIGACION CIENTIFICA PARA INGENIERIAS BNP.pdfINVESTIGACION CIENTIFICA PARA INGENIERIAS BNP.pdf
INVESTIGACION CIENTIFICA PARA INGENIERIAS BNP.pdf
 
DOCENCIA UNIVERSITARIA BNP.pdf DOCENCIA UNIVERSITARIA BNP.pdf
DOCENCIA UNIVERSITARIA BNP.pdf DOCENCIA UNIVERSITARIA BNP.pdfDOCENCIA UNIVERSITARIA BNP.pdf DOCENCIA UNIVERSITARIA BNP.pdf
DOCENCIA UNIVERSITARIA BNP.pdf DOCENCIA UNIVERSITARIA BNP.pdf
 
INVESTIGACION CIENTIFICA PARA INGENIERIAS.pdf
INVESTIGACION CIENTIFICA PARA INGENIERIAS.pdfINVESTIGACION CIENTIFICA PARA INGENIERIAS.pdf
INVESTIGACION CIENTIFICA PARA INGENIERIAS.pdf
 
DOCENCIA UNIVERSITARIA. DOCENCIA UNIVERSITARIA
DOCENCIA UNIVERSITARIA. DOCENCIA UNIVERSITARIADOCENCIA UNIVERSITARIA. DOCENCIA UNIVERSITARIA
DOCENCIA UNIVERSITARIA. DOCENCIA UNIVERSITARIA
 
Introducción a la electrónica moderna.pdf
Introducción a la electrónica moderna.pdfIntroducción a la electrónica moderna.pdf
Introducción a la electrónica moderna.pdf
 
Dibujo Mecatronico Practico para ingenieros
Dibujo Mecatronico Practico para ingenierosDibujo Mecatronico Practico para ingenieros
Dibujo Mecatronico Practico para ingenieros
 

Último

Fijaciones de balcones prefabricados de hormigón - RECENSE
Fijaciones de balcones prefabricados de hormigón - RECENSEFijaciones de balcones prefabricados de hormigón - RECENSE
Fijaciones de balcones prefabricados de hormigón - RECENSEANDECE
 
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptxAMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptxLuisvila35
 
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)ssuser563c56
 
ECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfmatepura
 
183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdf183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdfEdwinAlexanderSnchez2
 
Edificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes GranadaEdificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes GranadaANDECE
 
Edificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRCEdificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRCANDECE
 
Comite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxComite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxClaudiaPerez86192
 
Normas para los aceros basados en ASTM y AISI
Normas para los aceros basados en ASTM y AISINormas para los aceros basados en ASTM y AISI
Normas para los aceros basados en ASTM y AISIfimumsnhoficial
 
CLASE 2 MUROS CARAVISTA EN CONCRETO Y UNIDAD DE ALBAÑILERIA
CLASE 2 MUROS CARAVISTA EN CONCRETO  Y UNIDAD DE ALBAÑILERIACLASE 2 MUROS CARAVISTA EN CONCRETO  Y UNIDAD DE ALBAÑILERIA
CLASE 2 MUROS CARAVISTA EN CONCRETO Y UNIDAD DE ALBAÑILERIAMayraOchoa35
 
Presentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdfPresentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdfMirthaFernandez12
 
estadisticasII Metodo-de-la-gran-M.pdf
estadisticasII   Metodo-de-la-gran-M.pdfestadisticasII   Metodo-de-la-gran-M.pdf
estadisticasII Metodo-de-la-gran-M.pdfFlorenciopeaortiz
 
Magnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMagnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMarceloQuisbert6
 
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdfAnthonyTiclia
 
Fe_C_Tratamientos termicos_uap _3_.ppt
Fe_C_Tratamientos termicos_uap   _3_.pptFe_C_Tratamientos termicos_uap   _3_.ppt
Fe_C_Tratamientos termicos_uap _3_.pptVitobailon
 
Tiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo IITiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo IILauraFernandaValdovi
 
CAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdf
CAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdfCAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdf
CAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdfReneBellido1
 
CICLO DE DEMING que se encarga en como mejorar una empresa
CICLO DE DEMING que se encarga en como mejorar una empresaCICLO DE DEMING que se encarga en como mejorar una empresa
CICLO DE DEMING que se encarga en como mejorar una empresaSHERELYNSAMANTHAPALO1
 
Calavera calculo de estructuras de cimentacion.pdf
Calavera calculo de estructuras de cimentacion.pdfCalavera calculo de estructuras de cimentacion.pdf
Calavera calculo de estructuras de cimentacion.pdfyoseka196
 
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdfECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdffredyflores58
 

Último (20)

Fijaciones de balcones prefabricados de hormigón - RECENSE
Fijaciones de balcones prefabricados de hormigón - RECENSEFijaciones de balcones prefabricados de hormigón - RECENSE
Fijaciones de balcones prefabricados de hormigón - RECENSE
 
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptxAMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
 
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
 
ECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdf
 
183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdf183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdf
 
Edificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes GranadaEdificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes Granada
 
Edificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRCEdificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRC
 
Comite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxComite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptx
 
Normas para los aceros basados en ASTM y AISI
Normas para los aceros basados en ASTM y AISINormas para los aceros basados en ASTM y AISI
Normas para los aceros basados en ASTM y AISI
 
CLASE 2 MUROS CARAVISTA EN CONCRETO Y UNIDAD DE ALBAÑILERIA
CLASE 2 MUROS CARAVISTA EN CONCRETO  Y UNIDAD DE ALBAÑILERIACLASE 2 MUROS CARAVISTA EN CONCRETO  Y UNIDAD DE ALBAÑILERIA
CLASE 2 MUROS CARAVISTA EN CONCRETO Y UNIDAD DE ALBAÑILERIA
 
Presentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdfPresentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdf
 
estadisticasII Metodo-de-la-gran-M.pdf
estadisticasII   Metodo-de-la-gran-M.pdfestadisticasII   Metodo-de-la-gran-M.pdf
estadisticasII Metodo-de-la-gran-M.pdf
 
Magnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMagnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principios
 
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
 
Fe_C_Tratamientos termicos_uap _3_.ppt
Fe_C_Tratamientos termicos_uap   _3_.pptFe_C_Tratamientos termicos_uap   _3_.ppt
Fe_C_Tratamientos termicos_uap _3_.ppt
 
Tiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo IITiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo II
 
CAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdf
CAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdfCAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdf
CAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdf
 
CICLO DE DEMING que se encarga en como mejorar una empresa
CICLO DE DEMING que se encarga en como mejorar una empresaCICLO DE DEMING que se encarga en como mejorar una empresa
CICLO DE DEMING que se encarga en como mejorar una empresa
 
Calavera calculo de estructuras de cimentacion.pdf
Calavera calculo de estructuras de cimentacion.pdfCalavera calculo de estructuras de cimentacion.pdf
Calavera calculo de estructuras de cimentacion.pdf
 
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdfECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
 

Resolución de problemas de electrónica de potencia haciendo uso de métodos numéricos BNP.pdf

  • 1. 1 Maximo Amancio Montalvo Atco Russel Allidren Lozada Vilca Wilson Jose Pampa Vilca Gabino Rey Vidangos Ponce
  • 2. 2 Título: Resolución de problemas de electrónica de potencia haciendo uso de métodos numéricos Autores: Maximo Amancio Montalvo Atco Russel Allidren Lozada Vilca Wilson Jose Pampa Vilca Gabino Rey Vidangos Ponce Autor – Editor: Wilson Jose Pampa Vilca Av. Huancane 1731 Juliaca – San Román 1a. edición digital – enero 2024 ISBN: 978-612-00-9345-0 Depósito Legal N° 2024-00539
  • 3. 3 INDICE Prefacio........................................................................................................... 4 1. Introducción:.......................................................................................... 5 2. Resolución de Problemas en forma numérica: .................................. 13 3. Grafica de funciones elementales: ...................................................... 20 4. Problemas de dos dimensiones............................................................ 30 5. Representación de ondas y señales: .................................................... 49 5.1. Representación de señales en el dominio del tiempo: ................ 49 5.2. Representación de señales en el dominio de la frecuencia: ....... 52 6. Cálculos de voltajes corrientes y potencia en redes lineales.............. 60 6.1. Cálculos en el dominio de la frecuencia...................................... 60 6.2. Cálculos usando las series de Fourier......................................... 67 6.3. Cálculos de potencia: integrales definidas en SciLab: .................. 74 6.4. Introducción a la programación en SciLab: .................................. 76 7. Cálculos de potencia para sistemas no lineales con semiconductores discretos........................................................................................................ 80 7.1. Rectificador de media onda......................................................... 80 7.2. Rectificador monofásico de onda completa................................ 86 7.3 Circuito trifásico con carga RL................................................... 89 8. Cálculos de circuitos rectificadores. ................................................... 97 9. Simulación y resolución de ecuaciones diferenciales:...................... 111 Bibliografía................................................................................................... 135
  • 4. 4 Prefacio. El presente texto es el resultado de los apuntes de cursos dictados en clases de electrónica. En ocasiones para conseguir una mayor comprensión de los temas tratados en aula se suele reforzar los conceptos y métodos con el uso de simuladores, que entre las ventajas más significativas nos ayudan a entender la parte grafica de los problemas. En temas que involucran señales eléctricas se incluye el uso de gráficos (de ondas periódicas como ejemplo) para una mejor y mayor comprensión de los diferentes comportamientos y resultados de los circuitos de potencia que procesan dichas señales. Por ello para reforzar los conceptos se hace uso de software de simulación. En aula se resuelven problemas analíticos en cuyo desarrollo es muy importante el uso de métodos gráficos y en ocasiones numéricos. Es por ello que se determinó muy útil el uso de software de simulación y programación numérica en el curso de electrónica de potencia. Por lo demás se aconseja prestar cuidadosa atención al tema que trata sobre Scilab, en esta parte hemos de tener especial atención sobre todo en la programación numérica, como herramienta para resolver problemas de potencia.
  • 5. 5 Resolución de problemas de electrónica de potencia haciendo uso de métodos numéricos. 1. Introducción: Existen una infinidad de simuladores de circuitos electrónicos que permiten conocer los resultados de un sistema electrónico sin necesidad de armar el circuito físico, para nuestro estudio hemos elegido un programa de simulación que es particularmente útil en el análisis de circuitos, enfocados sobre todo al desarrollo analítico de problemas aplicados a electrónica de potencia. Los siguientes programas son aplicables al desarrollo de problemas de electrónica de potencia, para potenciar el análisis y diseño de sistemas de potencia, la parte de control y análisis de estabilidad esta relegada por ser un tema que escapa al propósito del texto. De lo comentado anteriormente se desprende que los problemas y programas desarrollados se enfocan en el comportamiento y el análisis de potencia de los circuitos electrónicos simulados y propuestos, dentro de los mismos se ha hecho hincapié a tomar en cuanto los circuitos más utilizados o que son denominados clásicos en electrónica de potencia así como los circuitos con un nivel de dificultad extrema para resolverlos analíticamente con lápiz y papel. Scilab El engreído del libro, el nivel de programación para el uso en el presente libro es de medio hacia arriba, por este motivo recomiendo al lector darse un repaso de programación, los ejercicios resueltos son de enorme utilidad en el análisis de circuitos, para la mejor y mayor comprensión de los problemas de electrónica de potencia, Scilab es el programa preferido por su gran capacidad de cálculo, comparable a Matlab, así como por su versatilidad en el análisis de circuitos, aunque no es tan fácil como el Simulink o el Pspice, es
  • 6. 6 muy recomendable para el desarrollo de programación numérica y debido a sus herramientas integradas es muy cómodo programar y resolver problemas de potencia. Otra ventaja indiscutible de Scilab es que es Software libre, lo que permite usarlo sin mayores restricciones, y es fácil de descargar de su página web, las características de Scilab son las siguientes: La versión es la 5.4.1, para entorno Windows pesa aproximadamente 120MB, es bastante ligero y practico. En la figura 01 se tiene la pantalla inicial de Scilab, con las siguientes secciones: • El navegador de archivos, esta ventana nos permite ver la carpeta a la que el programa Scilab está apuntando (o usando) en estos momentos. Entre las características están que los archivos guardados en esta carpeta se pueden ejecutar, si desea puede cambiar la dirección de la misma. • En la consola, en esta ventana podemos escribir y leer los comandos que se usan en el lenguaje de SciLab, estos se ejecutan directamente en la misma, luego de presionar la tecla “enter” • En la sección explorador de variables se pueden ver las variables creadas y usadas por el sistema o las variables accesibles. • En la sección historial de comandos se pueden ver los comandos ejecutados en la consola anteriormente. En estas ventanas se podrán ejecutar los primeros ejercicios, será necesario usar la ventana consola para poder ejecutar y simular los problemas.
  • 7. 7 Figura 01. Entorno Scilab. Primeros pasos con Scilab: Comenzaremos a trabajar en SciLab con funciones y variables simples, primero definiremos, algunas palabras clave o comandos básicos: Clear: Limpia las variables, si teclea clear all se conseguirá borrar todas las variables, es buen hábito limpiar las variables anteriores antes de iniciar un nuevo ejercicio pues las variables podrían inducir a errores en la ejecución de comandos. Definiremos como declarar las matrices en SciLab, es importante saber que SciLab trabaja mucho con las matrices: Matriz unos: ones(1,3) crea una matriz de una fila y tres columnas, al teclear en Scilab obtenemos: ones(1,3) ans = 1. 1. 1.
  • 8. 8 La palabra clave ans se refiera al resultado anterior, si deseamos guardar el resultado en una variable (A) podemos asignarle con el signo igual, como se puede apreciar en la siguiente línea: A = ones(1,3) A = 1. 1. 1. Si ahora prestamos atención a la ventana explorador de variables se verá allí la variable A con las siguientes características: Nombre: hay dos variables de nombre: A y ans, ambas son de tipo doublé, dimensión 1x3 y visibilidad local. Si tecleamos clear ambas variables desaparecen o se limpia el explorador de variables. A continuación definimos varias matrices: Comando: Explicación: B = zeros(2,2) B = 0. 0. 0. 0. Crea una matriz de ceros de dimensión dos por dos C= eye(2,2) C = 1. 0. 0. 1. Crea una matriz identidad de dimensión dos por dos D = rand(2,2) D = 0.211 0.002 0.756 0.330 Crea una matriz aleatoria de dimensión dos por dos E = linspace (0,1,4) E = 0. 0.33 0.66 1. Crea un matriz de cuatro elementos, que comienza en cero y termina en uno, separados linealmente. F = logspace(0,2,5) F = 1. 3.16 10. 31.62 100. Crea un matriz de cinco elementos, que comienza en diez elevado a cero
  • 9. 9 y termina en diez elevado a la dos, separados logarítmicamente. Con las palabras clave save y load se puede guardar archivos de tipo sod, estos son archivos usados por SciLab, que pueden guardarse y cargarse cuando se desee, con el comando save se guarda un archivo con nombre: val.sod y que contiene los datos B y C, como se ve a continuación: save("val.sod", "B", "C"); Si borramos B y C con la orden clear, y luego cargamos el archivo guardado y obtenemos de nuevo las variables B y C. clear B, clear C load('val.sod') En la ventana explorador de variables podemos verificar todas las variables que están en uso, entre ellas podemos ver las matrices que hemos creado, al hacer doble clic en la variable D, podremos ver la variable, en una ventana adicional, denominada editor de variables, desde la misma podemos cambiar los elementos de D, obtenemos la ventana que se ve a continuación en la figura dos. Ahora explicaremos algunos comandos de SciLab básicos: Comando: Explicación: 2+2*%i 2. + 2.i El %i significa imaginario, así como %pi numero pi det(A) Determinante de la matriz A Inv(A) Inversa de la matriz A C = BA Producto de inv(B) por A.
  • 10. 10 Figura 02. Editor de variables, para la variable D Como vemos podemos tener una amplia gama de operaciones con Scilab, en las líneas a continuación veremos las constantes más usadas en Scilab: El número infinito se representa por: %inf, El número más pequeño antes de cero es %eps: 2.220D-16 El número e es: %e: 2.7182818 El numero unidad imaginaria es %i También la unidad imaginaria es %j El logaritmo de diez en base diez es log10(10) El logaritmo natural de dos es log(2) La raíz cuadrada de cinco es sqrt(5) La función exponencial es exp()
  • 11. 11 Presentamos un Script que guarda datos de tipo sod, en las siguientes líneas: Programa: Archivos sod: // ==================== // Practicamos como guardar archivos sod // Primero definimos las variables: A=[1 0; -1 -1]; B = ones(2,2); C = 0:0.01:10; // Guardamos en el area de trabajo: save("hola.sod","A","B","C") // Se puede salvar con el comando load. // ==================== Podemos recuperar la información con el comando load, que permite cargar los datos del archivo, con las siguientes líneas se ve como recuperar esta información: Programa: Recuperar archivos sod: clear A clear B clear C load("hola.sod") ans = T Si queremos recuperar las matrices guardadas podemos ver en “variable browser” aparecen las matrices A,B y C, pero como la
  • 12. 12 matriz C es de 1x1000 no vamos ha practicar con ella sino con las matrices pequeñas: Programa: Recuperar las matrices: --> A A = 1. 0. -1. -1. --> B B = 1. 1. 1. 1. Crear vectores de funciones con Scilab Se crean vectores fila con la orden; vector1=0:0.1:1; 0. 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1. Se puede crear cualquier función que se vieron, como logaritmo, seno, coseno, exponencial, etc. En este caso usamos una fusión cuadrática es decir el vector1 al cuadrado usando el comando: vector2=vector1.^2; Note que debe usar el comando punto, para que se eleve cada elemento del vector 1 al cuadrado. Si usamos el comando para la transpuesta es decir el comando ‘ tenemos un vector fila en forma columna, y los agrupamos en un vector h. Se puede ver el programa a continuación:
  • 13. 13 Programa: transpuesta de vector: vector1=0:0.1:1; vector2=vector1.^2; h=[vector1',vector2'] h = 0. 0. 0.1 0.01 0.2 0.04 0.3 0.09 0.4 0.16 0.5 0.25 0.6 0.36 0.7 0.49 0.8 0.64 0.9 0.81 1. 1. Con estos datos empezaremos a resolver algunas ecuaciones en Scilab de mucha importancia didáctica, en la siguiente sección. 2. Resolución de Problemas en forma numérica: Resolución de ecuaciones lineales:
  • 14. 14 En el programa SciLab se puede resolver una infinidad de ecuaciones, en la presente sección nos concentraremos en las ecuaciones lineales de varias variables o sistemas de ecuaciones lineales. Definimos el problema, sea la ecuación de la forma: 𝐴𝑋 = 𝐵 Dónde: A es una matriz cuadrada de dimensión nxn, X es el vector columna que contiene las incógnitas de orden 1xn y B es el vector columna de 1xn elementos, que completa el sistema de ecuaciones lineales. La solución en Scilab se puede resolver de dos formas diferentes, la primera usando el comando inv, que nos indica la inversa de una matriz, la segunda forma es usando la división hacia la izquierda con el operador , ambos métodos se pueden observar a continuación: 𝑋 = 𝑖𝑛𝑣(𝐴) ∗ 𝐵 𝑋 = 𝐴𝐵 Cualquiera de las dos soluciones son válidas, a continuación plantemos un sistema de ecuaciones lineales de segundo orden, con las variables x1 y x2, en dos ecuaciones lineales de primer orden, definidos como: 𝑥1 + 𝑥2 = 0 0.4𝑥1 − 0.4𝑥2 = 2 La ecuación puede escribirse en su forma matricial como: [ 1 1 0.4 −4 ] [ 𝑥1 𝑥2 ] = [ 0 2 ] En las líneas de código que siguen se puede observar cómo resolver el sistema anterior en un ejemplo: Programa: resolución de sistemas de ecuaciones // Definimos las matrices A y B
  • 15. 15 A = [1 1; 0.4 -4] A = 1. 1. 0.4 - 4. B = [0; 2] B = 0. 2. // Hallamos X por el primer método: X = AB X = 0.4545455 - 0.4545455 // Hallamos X por el segundo método: X2=inv(A)*B = 0.4545455 - 0.4545455 Hallamos las soluciones haciendo uso de determinantes, en ocasiones es necesario desarrollar todo el procedimiento de solución de sistemas de ecuaciones lineales con el uso de determinantes, para las aplicaciones de algebra lineal, en este caso la solución de la ecuación se puede analizar en las siguientes líneas: Programa: resolución de sistemas de ecuaciones con determinantes. // Usamos las matrices anteriores: detA=det(A) detA = - 4.4 B1 = A B1 = 1. 1. 0.4 - 4. // Matriz A con la primera columna cambiada por B
  • 16. 16 B1(:,1)=B B1 = 0. 1. 2. - 4. // Hallamos el primer valor solución: X3=det(B1)/detA X3 = 0.4545455 // Repetimos le procedimiento: B2=A B2 = 1. 1. 0.4 - 4. B2(:,2)=B B2 = 1. 0. 0.4 2. X4=det(B2)/detA X4 = - 0.4545455 Se deja como comentario que el primer método a mi parecer es el más fácil de desarrollar, pero un enfoque más bien didáctico en cuanto al uso de matrices es el segundo método, pero queda al gusto del lector cual método utilizar y en que situaciones específicas. Solución de ecuaciones lineales: Para terminar esta parte tenemos una herramienta propia de Scilab que nos permite resolver ecuaciones lineales, usando el comando linsolve. Sintaxis: [x0, kA]=linsolve(A, B [,x0]) Argumentos A: una matriz cuadra real de dimensión n. B: un vector columna de tamaño n. x0: un vector real kA: una matriz real de dimensión mxk
  • 17. 17 Descripción: El comando linsolve calcula todas las soluciones de la ecuación: 𝐴𝑥 + 𝑏 = 0 x0 es una solución particular y kerA es un espacio nulo. Ejemplo: sea la ecuación [ 1 3 2 5 ] 𝑥 + [ −10 −2 ] = 0 Que es equivalente a [ 1 3 2 5 ] 𝑥 = [ 10 2 ] Se resuelve en Scilab: Solución del ejemplo: A=[1 3; 2 5] A = 1. 3. 2. 5. B=[-10; -2] B = -10. -2. X=linsolve(A,b) X = -44. 18. A*X ans = 10. 2. Podemos comprobar haciendo la multiplicación del vector solución con la matriz A en el orden: A*X, que nos dará el vector -B. Resolución de ecuaciones algebraicas:
  • 18. 18 Otro tipo de ecuación común en matemáticas son las ecuaciones con polinomios. En este caso es necesario representar los polinomios por vectores cuyos elementos son los coeficientes del mismo, la palabra clave roots genera las raíces del polinomio como se verá a continuación: Ejemplo: Resolver la ecuación cuadrática: 𝑥2 + 2𝑥 − 2 = 0 El programa siguiente nos da la solución de la ecuación: Programa: resolución de ecuaciones con polinomios. // Polinomio 1 * x^2 + 2 * x – 2 = 0 // Vector es V = [ 1 2 -2] V = [1 2 -1] V = 1. 2. - 1. roots(V) ans = - 2.4142136 0.4142136 El resultado es -2.4142 y 0.4142, que son las raíces de la ecuación que cuadrática que se planteó. Ejemplo: Resolver la ecuación: 𝑥5 + 6𝑥3 − 8 = 0 Note que el polinomio esta incompleto por así decirlo, es decir no hay coeficientes para potencias 4, 2 y 1, es este caso el polinomio tendrá ceros en esas posiciones relativas: [1 0 6 0 0 -8]. Que corresponde a las potencias antes mencionadas. El programa siguiente nos da la solución de la ecuación:
  • 19. 19 Programa: resolución de ecuaciones con polinomios. // Polinomio 1 * x^5 + 6 * x^3 – 8 = 0 V = [1 0 6 0 0 -8] V = 1. 0. 6. 0. 0. - 8. roots(V) ans = 0.1069743 + 2.4658571i 0.1069743 - 2.4658571i 1.0413472 - 0.6276480 + 0.9312016i - 0.6276480 - 0.9312016i Ejemplo: Resolver la ecuación: 𝑥9 − 1 = 0 Por último, un polinomio de noveno orden: Programa: resolución de ecuaciones con polinomios. // Polinomio 1 * x^9 – 1 = 0 V=[1 0 0 0 0 0 0 0 0 1] V = 1. 0. 0. 0. 0. 0. 0. 0. 0. 1. roots(V) ans = - 1. - 0.7660444 + 0.6427876i - 0.7660444 - 0.6427876i - 0.1736482 + 0.9848078i - 0.1736482 - 0.9848078i 0.5 + 0.8660254i 0.5 - 0.8660254i 0.9396926 + 0.3420201i 0.9396926 - 0.3420201i Evaluación de polinomios:
  • 20. 20 Se usa el comando horner para evaluar los polinomios, se usa la sintaxis: horner(P,X) Argumentos P: polinomio X: vector de números Descripción: evalúa el the polinomio P = P(s) cuando la variable s del polinomio es reemplazado por X: Ejemplo: Evaluar el polinomio en x = 3: 𝑥5 + 6𝑥3 − 8 = 0 Para crear un polinomio en Scilab se declara primero la variable en este caso x=poly(0,"x"), y luego se escribe le polinomio, en el siguiente programa podemos ver la solución del ejemplo: Programa: Evaluación de un polinomio x=poly(0,"x"); p=-8+6*s^3+s^5 p = 3 5 -8 +6x +x horner(p,3) ans = 397. Con estos ejemplos concluimos la sección de solución de ecuaciones, se recuerda que se han planteado la solución a dos tipos de ecuaciones los sistemas de ecuaciones lineales, con tres métodos diferentes de solución, y solo un método para la solución de ecuaciones con polinomios, en la siguiente sección veremos algunos problemas un tanto más dificultoso de resolver con Scilab. 3. Grafica de funciones elementales:
  • 21. 21 Grafica de funciones trigonométricas: Las funciones trigonométricas elementales son: seno, coseno y tangente en Scilab se denomina con las palabras clave: sin(), cos() y tan(). Es necesario definir el dominio de las funciones para graficarlas adecuadamente: 𝑦 = sin(𝑤𝑡) : 𝑤 = 2𝜋 𝑇 Como el periodo T es el que determina el tiempo, podemos definir el intervalo de dibujo en función del mismo: − 𝑇 2 ≤ 𝑡 ≤ 𝑇 2 Para dibujar primero definimos un intervalo de entrada en este caso x o dominio, que va desde menos pi hasta pi (como sabemos por trigonometría este intervalo define un periodo) y luego generamos la función seno, para un entendimiento claro decidimos elaborar una tabla o tabulación para algunos valores del dominio x y del rango y, para luego aplicar la orden plot, esta orden genera un plano con coordenadas rectangulares, para luego graficar los pares ordenados como puntos que se unen con rectas, en las siguientes líneas de código se podrá apreciar esto Programa: Grafico elemental: // ================================== // Generamos el dominio desde menos pi hasta pi: x=-%pi:%pi/6:%pi x = -3.141 -2.617 -2.094 -1.57 -1.047 -0.523 0. 0.523 1.047 1.57 2.094 2.617 3.141 y = sin(x) y = 0 -0.5 -0.866 -1. -0.866 -0.5 0. 0.5 0.866 1. 0.866 0.5 0 // Como tabla: [x', y'] - 3.1415927 - 1.225D-16
  • 22. 22 - 2.6179939 - 0.5 - 2.0943951 - 0.8660254 - 1.5707963 - 1. - 1.0471976 - 0.8660254 - 0.5235988 - 0.5 0. 0. 0.5235988 0.5 1.0471976 0.8660254 1.5707963 1. 2.0943951 0.8660254 2.6179939 0.5 3.1415927 1.225D-16 Por ultimo efectuamos el grafico con la orden plot, que genera la figura tres plot(x,y) Figura 03. Gráfico de la función seno Para mejorar el aspecto del grafico se añadirán los siguientes detalles: título: title, rejilla: xgrid, título en el eje equis xlabel, título en el eje ye ylabel, y leyenda con la orden legend, además para mejorar el aspecto del gráfico es que aumentaremos el número de datos en el eje
  • 23. 23 equis, en este caso hemos decidido efectuar veintiún elementos en el eje equis y veintiún elementos en el eje ye: Programa: Grafico presentable: // Un gráfico más presentable que el anterior: x=-%pi:%pi/20:%pi; y = sin(x); plot(x,y) title('Funcion seno'), xlabel('radianes'), ylabel('seno'), xgrid, legend('seno') Debe notarse en la figura número cuatro la diferencia con la figura tres, se puede guardar el gráfico como un archivo gráfico de Windows, para ello se guardó el archivo con formato jpg, primero se hace clic en archivo y luego en exportar a jpg, y se guarda como cualquier archivo Windows, eligiendo y escribiendo el nombre del archivo y el lagar o carpeta destino donde se guardara el mismo. Figura 04. Función seno con detalles. Ahora graficamos la función coseno y tangente; es importante hacer hincapié en el dominio de la función, sobre todo en la función
  • 24. 24 tangente, ´pues si usamos el mismo dominio tendremos problemas pues tan(pi) es infinito; en las siguientes líneas de código, y se obtendrá la figura cinco: Programa: Grafico de dos funciones: // Funciones trigonométricas: x=-%pi:%pi/20:%pi; y1 = sin(x); y2 = cos(x); plot(x,y1,'g') plot(x,y2,'r') title('Funciones trigonométrica'), xlabel('radianes'), ylabel('Y'), xgrid, legend('seno','coseno') Figura 05. Funciones trigonométricas seno y coseno. Por ultimo como ya indicamos tenderemos cuidado con la función tangente, para evitar los infinitos, que distorsionarían la gráfica, solo graficaremos en el intervalo que va desde -1.5 a 1.5, de esa forma el grafico será apreciado como la función que conocemos. El grafico se puede ver en la figura seis, así como en las siguientes líneas de código: Programa: Grafico sin infinitos:
  • 25. 25 // Grafico de la función tangente: x=-1.5:0.001:1.5; y = tan(x); plot(x,y) title('Función tangente'), xlabel('radianes'), ylabel('Y'), xgrid, legend('Tan') Figura 06, Función tangente. Otro ejemplo ilustrativo es la gráfica de una función algebraica del tipo ecuación de quinto orden. Para ello generamos una función con cinco raíces distribuidas en el intervalo que va desde -2 a 2, como en la siguiente situación: Primero elegimos las raíces: 2, 1, 0, -1, -2, de allí elaboramos la convolución o producto de polinomios cuyo comando es: conv o cuya orden genera el producto de dos vectores como si de polinomios se tratase (significa producto de polinomios), y finalmente el resultado
  • 26. 26 se gráfica, desde el intervalo desde menos dos al dos, con pasos de 0.001 o un mili, para que el resultado parezca continuo, por último se agregan títulos, etiquetas y legendas, para hacer el grafico presentable y agradable a la vista: Programa: Gráfico de polinomios: // Grafico de función polinómica: a= conv([1 2],[1 -2]) a= 1. 0. - 4. b=conv([1 1],[1 -1]) b= 1. 0. - 1. c=conv(a,b) c= 1. 0. - 5. 0. 4. d=conv([1 0],c) d= 1. 0. - 5. 0. 4. 0. x=-2.2:0.001:2.2; y=x.^5-5*x.^3+4*x; plot(x,y), title('Función polinomio'), xlabel('X'), ylabel('Y'), xgrid, legend('Pol') La variable a genera un polinomio con las raíces dos y menos dos, b genera un polinomio con las raíces uno y menos uno, la variable c genera el producto de los polinomios a y b, por ultimo d genera el producto del polinomio c un polinomio cuya raíz es cero, en la figura siete se puede ver estos resultados, junto con las raíces, es decir los puntos donde la gráfica se intercepta con el eje equis. Con estos gráficos consideramos suficientes para pasar a resolver problemas en el espacio bidimensional es decir en dos dimensiones que es de lo que se trata la siguiente sección.
  • 27. 27 Figura 07. Polinomio de grado cinco. Ejemplos de otros gráficos: Existen pequeñas variaciones de gráficos en SciLab, a continuación veremos algunos de estos detalles: graficamos la función seno con un periodo de 10, para ello definimos la frecuencia angular como: 𝑤 = 2𝜋 𝑇 Y con esta frecuencia obtenemos, el tiempo que va desde cero hasta diez, y se usa para graficar la función plot2d3, como se ve a continuación en las líneas de código: Programa: Grafico de funciones con plot2d3 // Gráfico de funciones en SciLab: t=0:0.001:10; w=2*%pi/10 w = 0.6283185 Y=10*sin(w*t);
  • 28. 28 plot2d3(t,Y), title('Seno'), xlabel('t'), ylabel('Y'), xgrid, legend('f(x)') Figura 08. Gráfico con el comando plot2d3. Gráficos con barras: El comando: “plot2d3” nos da un grafico en 2 dimensiones con barras verticales, la sintaxis es: plot2d3 ( x,y). Argumentos, vectores x en el eje de las abscisas e y en el eje ordenadas Descripción: plot2d3 es el mismo que plot2d pero las curvas son ploteadas usando barras verticales. Ejemplo: Graficar la función f, en el dominio de 0 a 1: 𝑓 = 𝑒𝑥 Usamos el comando exp, que en Scilab es la exponencial, y definimos x en el dominio desde 0 a 1, con incrementos de 0.1 para poder apreciar las barras verticales.
  • 29. 29 Usamos el siguiente programa: Programa: Gráfico de la función exponencial x=0:0.1:1; x=x'; f=exp(x); g=exp(-x); plot2d3(x,[f g]) plot2d(x,[f g]) Con esto concluimos la introducción, con los diferentes métodos de SciLab para comenzar con la resolución de problemas, en la siguiente sección se verán la solución a problemas de dos dimensiones.
  • 30. 30 4. Problemas de dos dimensiones. Resolución del movimiento parabólico: Sea el movimiento descrito por las ecuaciones: 𝑦 = 𝑦0 + 𝑉𝑦 ∗ 𝑡 + 𝑔𝑡2 2 𝑥 = 𝑥0 + 𝑉𝑥 ∗ 𝑡 Dónde: y0, x0, Vx y Vy son constantes, como ejemplo veamos el siguiente caso: 𝑦 = 10 + 5 ∗ 𝑡 − 9.81 ∗ 𝑡2 2 𝑥 = 5 + 5 ∗ 𝑡 Se trata de una ecuación paramétrica en dos dimensiones, graficaremos la ecuación para t desde 0 hasta 2: Programa: Ecuación del movimiento: // Definimos el tiempo y las coordenadas: t=0:0.01:2; y=10+5*t-9.81*t.^2/2; x=5+5*t; plot(x,y) title('movimiento parabólico'), xlabel('x'), ylabel('y'), xgrid Hallamos la velocidad por medio de las derivadas de las coordenadas: 𝑑𝑦 𝑑𝑡 = 5 − 9.81 ∗ 𝑡 𝑑𝑥 𝑑𝑡 = 5
  • 31. 31 Hallamos la velocidad y la aceleración para t desde cero hasta 2 en pasos de 0.2, usando la formula anterior: Programa: Hallando velocidad y aceleración: t1=0:0.2:2; vy=5-9.81*t1; vx=5*ones(1,11); ax=zeros(1,11); ay=9.81*ones(1,11); Genera una tabla que se pude ver a continuación: [t1', vx', vy', ax', ay'] 0. 5. 5. 0. 9.81 0.2 5. 3.038 0. 9.81 0.4 5. 1.076 0. 9.81 0.6 5. - 0.886 0. 9.81 0.8 5. - 2.848 0. 9.81 1. 5. - 4.81 0. 9.81 1.2 5. - 6.772 0. 9.81 1.4 5. - 8.734 0. 9.81 1.6 5. - 10.696 0. 9.81 1.8 5. - 12.658 0. 9.81 2. 5. - 14.62 0. 9.81 Movimiento circular Tenemos un movimiento circular de la forma que la velocidad angular sea constante, decimos que w es la velocidad angular, trabajamos con coordenadas de tipo paramétrica con el parámetro t, y será necesario hacer las transformaciones de la misma para poder graficar la función. Analizaremos como trabaja este sistema y sus diferentes velocidades y aceleraciones:
  • 32. 32 Figura 09. Gráfico de una función en dos dimensiones. A continuación el código que genera el grafico usando ecuaciones paramétricas, usando como parámetro el tiempo, como se ve en lo que sigue: Programa: Movimiento circular: w=1; t=0:0.01:2*%pi; x=4*sin(w*t); y=4*cos(w*t); plot(x,y), title('movimiento circular'), xlabel('x'), ylabel('y'), xgrid La velocidad angular es w un radian por segundo, y la velocidad tangencial es w*r es decir 4 m/seg. En la figura nueve se ven el grafico de esta función paramétrica. Concluimos esta parte para pasar a resolver problemas en tres dimensiones.
  • 33. 33 Uso de script: Hasta ahora solo hemos trabajado en la ventana de comandos de SciLab, a partir de ahora usaremos un archivo donde guardar los programas a este archivo se le conoce como script. En SciLab tenemos un aplicativo denominado SciNotes, pero si preferimos podemos usar un blog de notas o cualquier editor de texto para escribir nuestro código, la ventaja del editor del programa es que como cualquier editor integrado marca los comandos y los comentarios con colores y en general nos ayudan en la escritura del programa. Para crear un Script, con ayuda del SciNotes, hacer clic en ejecutar SciNotes y aparecerá un editor de textos como el de la figura nueve, allí se tiene un espacio como de un editor de testo cualquiera con opciones como guardar, abrir, copiar pegar, etc. En este espacio puede escribir el código que desee, este quedara como un pequeño programa, se puede almacenar las líneas de código como un programa o Script. Figura 10. SciNotes, editor de texto de Scilab
  • 34. 34 En la figura se ha marcado con un círculo rojo el icono de ejecutar SciLabNotes, de donde aparecerá la ventana SciNotes, aquí apuntaremos los siguientes programas y de manera semejante a cualquier editor de textos podremos guardarlo en un archivo de nuestra preferencia y podremos cargar y ejecutar el programa cuantas veces deseemos. Los siguientes ejemplos los escribiremos en el SciNotes, lo guardaremos con extensión sce, y lo ejecutaremos, haciendo clic en el icono que parece play, marcado con color verde en la figura nueve. En la sección siguiente veremos un ejemplo paso a paso, para luego guardar todos nuestros ejemplos en una biblioteca de Ejemplos desarrollados y elaborados en SciLab Problema resuelto en Scilab: A continuación desarrollaremos un ejemplo completo de la solución a un problema de física elemental, será un ejemplo ilustrativo, el planteamiento, la solución y el archivo Script o programa se desarrollaran de forma íntegra. Se plantea el siguiente problema: Sea la aceleración de un móvil que aparece en la figura diez, se desea hallar el tiempo To para el cual la velocidad del móvil es cero, como adicional se pide graficar la velocidad y el desplazamiento. (Considere la velocidad inicial cero y la posición inicial como cero) Debe de notar que la velocidad del móvil es la derivada de la posición, y que la derivad de la velocidad es la aceleración, de esto tenemos que la velocidad es la integral de la aceleración teniendo mucho cuidado con la velocidad inicial o la velocidad en el instante inicial en que se efectúa la integración. Para hallar la posición también tenemos que la misma es la integral de la velocidad, nuevamente en este tipo de problemas debe de prestar cuidadosa atención a las velocidades y posiciones iniciales.
  • 35. 35 Figura 11. Aceleración del problema propuesto Explicación de uso de SciNotes y su ejecución: Para ejemplificar el problema ejecutaremos un programa que dibuje la aceleración: Cree un nuevo archivo con SciNotes Copie el siguiente código: Programa: Resolución del movimiento MRUV. // Aceleración: (comentario) // Definimos el tiempo: t=0:0.1:20; // Definimos la aceleración: a1=1.5*t; a2=-1.5*t+15; // EL mínimo de ambas rectas a=min(a1,a2) plot(t,a), xgrid, title('Aceleración') xlabel('Tiempo'),ylabel('Aceleración m/s^2')
  • 36. 36 Note que los comentarios de forma semejante a C se colocan con dos barras al inicio //, Guarde el archivo en la carpeta que desee, en el caso del ejemplo se ha guardado en una carpeta denominada dinámica, ejecute el archivo, en la figura doce se ve el archivo SciNote, denominado ejemplo02.sce, en el grafico se puede apreciar que el icono para guardar el archivo está marcado con un circulo verde, y el archivo para ejecutar con un círculo rojo, el proceso de guardar el archivo es muy intuitivo, es tal como se hace en un programa Windows, solo debe de tener especial cuidado de guardar el archivo con la extensión sce, al hacer clic en ejecutar aparecerá lo siguiente en la ventana de comandos de Scilab: exec('F:programasscilabdinamicaejemplo02.sce', -1) Es otra forma de ejecutar archivos, tecleando la orden exec o ejecutar y entre paréntesis la ruta donde se encuentra el archivo con extensión sce, al colocar -1 no se ve todo el código en la pantalla, pruebe borrando -1 y vea que sucede. Figura 12. Pantallazo del programa explicado.
  • 37. 37 Solución al problema: Haciendo uso del potente programa Scilab, resolveremos le problema, en las siguientes líneas de código se presenta la misma, primero veamos la solución simbólica: 𝑣(𝑡) = 𝑉𝑜 + ∫ 𝑎(𝑡)𝑑𝑡 𝑡 0 𝑆(𝑡) = 𝑆𝑜 + ∫ 𝑣(𝑡)𝑑𝑡 𝑡 0 De donde obtenemos: 𝑣(𝑡) = { 0.75𝑡2 −37.5 + 15𝑡 − 0.75𝑡2} 𝑆(𝑡) = { 0.25𝑡3 62.5 − 37.5𝑡1 + 7.5𝑡2 − 0.25𝑡3} El script que sigue lo escribiremos sobre el ejemplo anterior no sin antes determinar que el tiempo para el cual la velocidad llega a cero es: 17.07 segundos. De ahí redefinimos todos los demás valores del tiempo es decir en dos tramos desde cero hasta cinco y de cinco hasta 17.07. En la figura trece se pueden ver los resultados gráficos. El script final esta como sigue en las siguientes líneas de código: Programa: Solución de la ecuación del movimiento: // Aceleración: (comentario) // Definimos el tiempo: t=0:0.1:18; // Definimos la aceleración: a1=1.5*t; a2=-1.5*t+15; // EL mínimo de a,bas rectas a=min(a1,a2) t1=0:0.01:5; t2=5.01:0.01:17.07;
  • 38. 38 v1=0.75*t1.^2; v2=-0.75*t2.^2+15*t2-37.5; s1=0.25*t1.^3; s2=-0.25*t2.^3+7.5*t2.^2-37.5*t2+62.5; v=[v1,v2]; s=[s1,s2]; ti=[t1,t2]; subplot(311),plot(ti,s), xgrid, title('Despalzamiento'),xlabel('Tiempo'),ylabel('Distancia m') subplot(312),plot(ti,v), xgrid, title('Velocidad'),xlabel('Tiempo'),ylabel('Velocidad m/s') subplot(313),plot(t,a), xgrid, title('Aceleración'),xlabel('Tiempo'),ylabel('Aceleración m/s^2') Figura 13. Grafico solución al problema planteado
  • 39. 39 Es de importancia verificar que se usó un nuevo comando subplot(n1n2n3) dibuja varios gráficos, con n1 el número de filas, n2 el número de columnas y n3 es el número de gráfico, es decir el orden. Gráfico de funciones en su forma paramétrica: Otra forma muy importante de gráfico en dos dimensiones es el gráfico paramétrico es decir se usa un parámetro como el tiempo y se definen dos funciones dependientes del mismo, es usual usar el tiempo como parámetro común, con esto podemos graficar gráficos más generales que con las funciones. Se usa el comando plot2d veremos algunos ejemplos de gráficos en su forma paramétrica, con sus respectivas ecuaciones y su código en SciLab: Ecuaciones: 𝑥 = 𝑡 − 𝑡𝑔ℎ( 𝑡); 𝑦 = 𝑠𝑒𝑐ℎ(𝑡) 𝑥 = 𝑐𝑜𝑠(𝑡) 𝑡 ; 𝑦 = 𝑠𝑒𝑛(𝑡) 𝑡 𝑥 = 1 𝑡 ; 𝑦 = 𝑙𝑜𝑔(𝑡) 𝑥 = 𝑡2 + 2𝑡; 𝑦 = 𝑡 − 2 Archivo sce: // Gráfico de funciones paramétricas: // Primera función en dos tramos: t11=0.5:0.01:2*%pi; t12=-2*%pi:0.01:-0.5; x11=cos(t11)./t11; y11=sin(t11)./t11; x12=cos(t12)./t12; y12=sin(t12)./t12; t1=[t12,t11]; x1=[x12,x11];
  • 40. 40 y1=[y12,y11]; // Segunda función t2=0:0.01:1; x2=t2-tanh(t2); y2=1./(sinh(t2)); // Tercera función cuidado con el inf t3=0.5:0.01:3.5; x3=1./t3; y3=log(t3); // Cuarta función: t4=-5:0.1:5; x4=t4.^2+2*t4;y4=t4-2; // Grafico usando subplot de Matlab // Es practico pero en Scilab se usa plot2d subplot(2,2,1),plot(x1,y1) subplot(2,2,2),plot(x2,y2) subplot(2,2,3),plot(x3,y3) subplot(2,2,4),plot(x4,y4) En la figura catorce, podremos ver las cuatro ecuaciones vemos que el primero comienza en la esquina superior izquierda, y el segunda va en el sentido de las agujas del reloj. Las representaciones parametrices son más oportunas para dibujar gráficos de curvas, pues con funciones del tipo f(x), no es posible graficar las curvas que se ven en la figura, siendo este tipo de representación la más usual en gráfico de curvas. Nuevamente es muy importante prestar cuidadosa atención a los dominios de los parámetros, es decir a los tiempos que definimos, como se puede apreciar en las formulas el parámetro t esta como divisor si t vale cero aparecerá una división por cero y SciLab nos dará error, con esto en mente se han definido los diferentes parámetros de las funciones parámetricas para evitar errores en la ejecución del Script y evitarnos problemas.
  • 41. 41 Figura 14. Gráficos paramétricos. Gráfico de funciones en su forma polar: Otro tipo de grafico muy importante es el gráfico polar, es decir definiendo los módulos y ángulos de las trayectorias, Se usa el comando polarplot y entre paréntesis se coloca en el orden theta y rho, es decir el ángulo y el radio vector. En coordenadas polares, en el ejemplo que sigue veremos, algunas grafica polares y su código en SciLab: Ecuaciones polares: 𝑟 = 4 𝑐𝑜𝑠(𝜃 − 7𝜋 6 ) 𝑟 = 2 + cos (2𝜃) 𝑟 = 4(1 + 𝑠𝑒 𝑛(𝜃))
  • 42. 42 𝑟 = 9(𝑠𝑒 𝑛 2(𝜃)) En las siguientes líneas tenemos el archivo sce que grafica las cuatro ecuaciones antes citadas, tome cuidadosa atención cuando se trata de la raíz cuadrada en Scilab sqrt, y cuando se trata de divisiones (cuidado con la división entre cero) Programa: grafico de ecuaciones polares. // Definimos las ecuaciones: // Función coseno va desde -pi a pi: to=-3.1/2+7*%pi/6; tf=3.1/2+7*%pi/6; theta1 = to:0.01:tf; r1=4./(cos(theta1-7*%pi/6)); // un solo theta para varios radios: theta=-%pi:0.01:%pi; r2=2+cos(2*theta); r3=4*(1+sin(theta)); r4=(9*sin(2*theta)); // Usamos el subplot otra vez, para ver // varios graficos al mismo tiempo: subplot(2,2,1),polarplot(theta1,r1) subplot(2,2,2),polarplot(theta,r2) subplot(2,2,3),polarplot(theta,r3) subplot(2,2,4),polarplot(theta,r4) La grafica resultante se puede apreciar en la figura quince, así como el plano polar, en este caso la función tiene un radio y un ángulo. Y los ejes de representación con círculos y radios, que se asemejan a las cuadriculas que se usan en representaciones rectnagulares, recuerde que en el caso de graficos polares o curvas se usan radios o tamaños de circunferencias y angulos o radio vectores.
  • 43. 43 Figura 15: Gráficos polares Es de mucha importancia los gráficos en dos dimensiones, pero aún son más importantes los gráficos en tres dimensiones, a continuaron veremos algunos ejemplos de gráficos en tres dimensiones es de vital importancia hasta ahora que tomemos en cuenta los tiempos y los dominios de la función, para evitar valores infinitos o gráficos errados, como ejemplo debemos evitar valores como logaritmo de cero, graficar una onda seno solo en un dominio que comience en menos pi y termine en pi, los mismo para las ondas periódicas se debe de definir solo algunos periodos, no cometamos el error de graficar ondas periódicas en dominios muy extensos pues no se notara la forma de la onda así como evitar que haya en los denominadores cero, un ejemplo es el caso de seno de pi, que sería cero, si lo definimos como denominador será un error fatal.
  • 44. 44 Gráfico de curvas paramétricas en tres dimensiones: A continuación veremos algunas curvas paramétricas en tres dimensiones, en Scilab como se ve a continuación en las ecuaciones que siguen: 𝑟(𝑡) = (𝑒𝑡 𝑠𝑒𝑛(𝑡), 𝑒2𝑡 cos(𝑡) , 𝑒−𝑡) 𝑟(𝑡) = ( 𝑡 1 + 𝑡 , 𝑡2 1 + 𝑡 , 1 − 𝑡 1 + 𝑡 ) La orden clave en SciLab es la orden param3d, que permite graficar curvas en función a tres vectores de la misma dimensión es decir x, y, z, uniendo todos los puntos como una curva en el espacio. Las líneas de código y el grafico resultante en la figura catorce, se ven a continuación: Programa: grafico de curvas paramétricas. // Definimos las ecuaciones: // Paramétro: t=0:0.01:1; // Ecuaciones: x1=exp(t).*sin(t); y1=exp(2*t).*sin(t); z1=exp(-t); // Ecuaciones: x2=(t)./(1+t); y2=(t.^2)./(1+t); z2=(1-t)./(1+t); // Usamos el subplot otra vez, para ver // varios graficos al mismo timepo: subplot(2,1,1),param3d(x1,y1,z1),xgrid,title('Exponencial') subplot(2,1,2),param3d(x2,y2,z2),xgrid,title('Racional')
  • 45. 45 Figura 16. Gráficos en tres dimensiones curvas paramétricas. A continuación vernos un gráfico paramétrico mejorado, en este caso la orden paramplot1 puedes graficar varias ecuaciones y al mismo tiempo ponerles varios colores. Los colores en Scilab se definen como sigue: uno es negro; dos es azul; tres es verde; cuatro es cian; cinco es rojo; seis es rosado, siete amarillo. A continuación vemos como se usa los colores con la orden list: Programa: Grafico paramétrico mejorado: // Graficando en 3d // Usamos el linspace t= linspace(0,2*%pi)'; // usamos dos colunmas: x= [zeros(t),12*sin(2*t)];
  • 46. 46 y= [10*cos(t),12*cos(2*t)]; z= [10*sin(t),12*sin(t)]; // Graficamos con colores 5 y 2 param3d1(x,y,list(z,[5,2])) El grafico generado se puede apreciar en la figura diecisiete: Figura 17. Grafico en tres dimensiones. Gráfico de superficies: En esta sección analizamos el gráfico de una superficie del tipo z=F(x,y), el comando adecuado para este gráfico es el comando, plot3d, en este caso las coordenadas x. y serán como un dominio del tipo vectorial de nxm, que denominaremos rejilla los valores donde n es el número de datos del eje equis y m es el número de datos del eje ye, la función zeta es del tipo matricial z(i,j), en función de dos valores x(i) y del valor de y(i), de la forma: 𝑧(𝑖, 𝑗) = 𝑓(𝑥(𝑖), 𝑦(𝑗))
  • 47. 47 A continuación representaremos algunos gráficos clásicos de superficies: el plano, el paraboloide elíptico. Note que se hace uso de la orden ndgrid, que es justamente la que generara la rejilla que deseamos, debemos primero definir los intervalos de la rejilla es decir el eje X y el eje Y, para luego con estos intervalos definir la rejilla XxY. Los ejemplos están hechos de forma que se pueda dibujar un plano en tres dimensiones y un paraboloide elíptico, ambos separados en dos gráficos o dos sub gráficos para poder verlos por separado, en las líneas que siguen se puede apreciar este problema resuelto. Programa: Gráficos de superficies: // Gráficos en tres dimensiones // Superficies: // Definimos los ejes equis y ye: x=linspace(-2,2,20); y=linspace(-2,2,20); // Creamos la rejilla: [xm,ym]=ndgrid(x,y); // Definimos la función plana: z1=(xm)+(2*ym)-1; // Definimos la función paraboloide: z2=(xm.^2)+(ym.^2); // Graficamos en 3d subplot(121), plot3d(x,y,z1), xgrid, title('Plano') subplot(122), plot3d(x,y,z2), xgrid, title('Paraboloide') El grafico generado se puede ver en la figura dieciocho, se nota que la orden subplot es de mucha utilidad para poder subdividir cualquier grafico en varios cuadros como en el ejemplo anterior.
  • 48. 48 Figura 18. Grafico en tres dimensiones: superficies Con estos gráficos podemos pasar a la siguiente sección donde ya podemos abordar temas de electrónica de potencia, no sin antes hacer hincapié en que todos los conceptos hasta ahora descritos deberían de ser bien comprendidos por los lectores.
  • 49. 49 5. Representación de ondas y señales: Para esta sección usaremos los cálculos de potencia y energía de circuitos de corriente alterna, en circuitos eléctricos. Las ondas que se van a dibujar son armónicas basadas en la representación de Fourier de las ondas periódicas. Las señales se analizaran en tiempo estable o fenómenos independientes del tiempo lo que nos da a pie utilizar la representación en frecuencia, que con un cambio de variable hace desaparecer el tiempo de nuestras ecuaciones. El primer ejemplo se trata de un gráfico o representación de las ondas de tipo seno, y luego nos centramos en del tipo bobina resistencia, para ver la simulación de un trasformador de voltaje, este ejemplo es muy útil para resolver circuitos de este tipo; en las líneas que siguen se verá esto, pero debemos de tener en cuenta que para el caso de corriente alterna es de mucha importancia el uso de fasores y de números complejos como herramienta fundamental para el diseño y análisis de circuidos en AC. A continuación se verán algunos problemas con transformadores. Y los diferentes cálculos que se ven en este tipo de problemas. 5.1. Representación de señales en el dominio del tiempo: Para señales periódicas de periodo T segundos, se define la frecuencia f como el reciproco del periodo, la frecuencia angular w es 2*pi*f, la amplitud de la onda seno Vm y la fase de la misma fo. La señal queda como: 𝑉(𝑡) = 𝑉𝑚 ∗ 𝑠𝑒𝑛(𝑤 ∗ 𝑡 + 𝑓𝑜) En Scilab podemos desarrollar el siguiente script: Programa: Ondas en SciLab: // ====================== // Máximo Montalvo Atco // ======================
  • 50. 50 // Ondas en Scilab // La frecuencia 50Hz f = 50; T = 1/f; w = 2*%pi*f; ph = %pi/4; // El dominio del tiempo: x=0:T/20:T; V1=sin(w*x); V2=sin(w*x+ph); // Representación de V12 y V21: V12=V1-V2; V21=V2-V1; // Graficamos haciendo uso de plot: subplot(2,1,1), plot(x,V1,'b',x,V2,'g'), xtitle('==Ondas==') xlabel('tiempo'),ylabel('Amplitud'), xgrid, legend('V1','V2') subplot(2,1,2), plot(x,V12,'b',x,V21,'g'), xtitle('==Onda compuesta=='), xlabel('tiempo'), ylabel('Amplitud'), xgrid,legend('V12','V21') // === FIN === En el contenido del script podemos notar lo siguiente: - El dominio o base de tiempo es desde cero hasta completar un periodo completo T, la frecuencia es el inverso del periodo y la frecuencia angular se define antes como w. 𝑤 = 2𝜋 𝑇 = 2𝜋𝑓 - Se han generado dos señales con amplitudes iguales y frecuencias iguales, la diferencia son las fases, una señal V1 del tipo seno con desfase de 0 grados y la señal V2 con un desfase de 45 grados o de pi cuartos, es importante notar que el argumento de la función seno en SciLab es del tipo radianes.
  • 51. 51 - A partir de las dos señales iniciales se han generado otras dos señales como combinación de las mismas, una que es V12 que es igual a V1 menos V2 y de forma análoga una señal V21 que es la señal V2 menos V1. - Se han definido los valores necesarios de las señales solo a partir de la frecuencia: cuyo valor es de 50 Hz. El periodo de 20mseg. El tiempo x va desde cero hasta un periodo completo, para poder visualizar una señal completa. - No se ha definido la amplitud pues esta normado en uno, en ocasiones se escala la amplitud. - Se ha creado un nuevo archivo de tipo sce, hemos guardado y también guardaremos la figura. El script lleva por nombre problem1_1.sce. Figura 19. Gráfico de ondas.
  • 52. 52 Al ejecutar se genera la figura diecinueve, donde se aprecia que la amplitud de las señales combinadas es de solo 0.8, mientras que la amplitud de las señales originales es de uno: esto es debido a la suma de señales en el espacio complejo de la siguiente forma: 𝑉12 = 𝑉1 − 𝑉2 = 1 < 0 − 1 < 45 Nos da una amplitud de 0.76, que es lo que se puede ver en la figura ya mencionada. 5.2. Representación de señales en el dominio de la frecuencia: En el dominio de la frecuencia se puede definir todas las señales como de una sola frecuencia, solo se pueden ver las fases como si de ángulos se trataran, lo más común es usar vectores cuyo ángulo es el desfase de la onda y cuyo modulo es el valor eficaz de la amplitud. En el siguiente ejemplo graficaremos una onda trifásica compuesta de tres ondas senos con la misma frecuencia, la misma amplitud, pero desfasadas unas de otras en 120 grados o dos pi tercios. En Scilab podemos desarrollar el siguiente script (problem1_2.sce): Programa: Análisis en frecuencia. // ====================== // Máximo Montalvo Atco // ====================== // Grafico de fasores en Z // Voltaje en valor rms v =220; // Valor de la amplitud V =sqrt(2)*v; // Definimos los fasores en campo complejo Van = V*exp(%i*0); Vanx = real(Van); Vany = imag(Van);
  • 53. 53 Vbn = V*exp(%i*2*%pi/3); Vbnx = real(Vbn); Vbny = imag(Vbn); Vcn = V*exp(-%i*2*%pi/3); Vcnx = real(Vcn); Vcny = imag(Vcn); // Graficamos con plot: plot([0,Vanx],[0,Vany],'b'), plot([0,Vbnx,],[0,Vbny],'g'),plot([0,Vcnx],[0,Vcny],'m'), title('Fasores trifasicos'), xgrid // === FIN ==== / Se han definido los valores complejos con la fórmula de Euler, que nos dice, que el ángulo puede determinarse a partir de la función exponencial, que define el círculo unitario o ángulo plano: 𝑒−𝑖𝜔𝑡 = cos(𝑤𝑡) + 𝑖𝑠𝑒𝑛(𝑤𝑡) Una definición de un vector en el plano complejo, considerando su ángulo plano y su módulo (A), en números complejos seria de la forma: 𝐴 < 𝜃 = 𝐴𝑒−𝑖𝜃 Dónde A es un módulo en valor absoluto y theta varia de cero a 360 grados, Para poder graficar los vectores, se ha hecho uso de un arreglo (matriz de n por 1 o un vector fila), esto nos facilitara la acción de graficar los vectores en Scilab, debe recordarse estos datos o arreglos para futuras soluciones. De hecho el uso de matrices o vectores nos permiten estructurar un pequeño conjunto de datos. Luego de escribir, guardar y finalmente ejecutar el script propuesto, se generan los gráficos de los tres vectores en la figura veinte, que se ve a continuación:
  • 54. 54 Figura 20. Gráfico de vectores. Con estos ejemplos, donde hemos realizad dos tipos diferentes de representación de señales periódicas: en el dominio del tiempo como ondas periódicas y en el dominio de la frecuencia como vectores orientados en el plano, finalizamos esta parte introductoria para el manejo de señales en problemas de potencia. Problemas de corriente alterna: Para resolver problemas en corriente alterna usaremos la técnica de variable o frecuencia compleja, pero representaremos los resultados en el tiempo, gracias a SciLab podremos hacer y representar las ondas de forma fácil y divertida. Comenzaremos el circuito equivalente de un transformador: Problema 01. Analizar el transformador monofásico representado como circuito equivalente como una red eléctrica, con los siguientes datos:
  • 55. 55 Rp=3; Xp=4, Xm=50K, Rm=100K; Rs=1; Xs=2; a=10; Vp=220; Se coloca una carga de 22V y 10ª con una fase de 45° Es necesario recordar lo siguiente para el transformador propuesto, la relación de transformación a queda definida como: 𝑎 = 10 = 𝑉𝑝 𝑉𝑠 Una impedancia serie como Rp (resistancia en le primerio) y Xp (reactancia en el primario), quedan definidas como: 𝑍𝑝 = 3 + 4𝑖 = 5 < 53° Nuestro script de SciLab trabajara con valores complejos por lo tanto una representación de las ondas será de la forma: 𝑣(𝑡) = 𝐴𝑚 ∗ 𝑠𝑒𝑛(𝑤𝑡 + 𝜃) 𝑉 = 𝐴𝑚 √2 < 𝜃 Note que le factor de raíz de dos es para el valor eficaz de la onda, muy útil para cálculos de potencia. En nuestro caso podremos representar las siguientes formas apócrifas: 𝑉 = 𝐴𝑚 < 𝜃 Sin hacer la conversión a valores eficaces, deduzca el lector por qué razón hacemos esto. El programa en SciLab es de la forma: Programa: Transformador monofásico: // Programa de transformadores: // Impedancias del primario Rp = 3; Xp = 4; // Impedancias de circuito magnético: Xm = 50000; Rm = 100000;
  • 56. 56 // Impedancias de circuito secundario Rs = 1; Xs = 2; // Relación de transformación y voltaje primario a = 10; Vp = 220; // Resistencia de salida Z = 22/10*(cos(%pi/4)+%i*sin(%pi/4)) // Calculamos circuito reflejado: XXp = (Rp+%i*Xp)/a; XXm = (Rm+%i*Xm)/a; XXs = (Rs+%i*Xs); VVp = Vp/a; // Calculamos la corriente reflejada en el primario: // Impedancia total del secundario: Zo = XXs+Z; // Impedancia total: Zt = XXp+(XXm*Zo/(XXm+Zo)); // Corriente: It = VVp/Zt; // Hallamos la corriente en el tiempo: Im = abs(It); Ia = atan(imag(It),real(It)); // Valores necesarios para el desarrollo: f=60;w=2*%pi*f;T=1/f;t=0:T/50:T; Vpt=1.4142*VVp*a*sin(w*t) Itt=1.4142*Im/a*sin(w*t+Ia); // Calculamos el voltaje en la salida: // Voltaje en el secundario Vss=It*(XXm*Zo/(XXm+Zo)); // Corriente en la salida: Iss = Vss/Zo; Imm = Vss/XXm; // Voltaje de salida: Vo = Iss*Zo; // En el tiempo: Vom = abs(Vo); Voa = atan(imag(Vo),real(Vo));
  • 57. 57 Iom = abs(Iss); Ioa = atan(imag(Iss),real(Iss)); Vot=1.4142*Vom*sin(w*t+Voa) Iot=1.4142*Iom*sin(w*t+Ioa); subplot(221),plot2d(t,Vpt), title('V primerio'), xgrid subplot(222),plot2d(t,Vot), title('V secundario'), xgrid subplot(223),plot2d(t,Itt), title('I primerio'), xgrid subplot(224),plot2d(t,Iot), title('I secundario'), xgrid Agregaremos unas líneas de código, mediante las cuales presentaremos algunos datos importantes en el análisis de circuitos de potencia con transformadores, el comando que se utiliza para este fin es el que sigue: el comando disp, este imprime en pantalla datos que le solicitamos, en este caso presentaremos las corrientes y voltajes eficaces del primario y del secundario, un dato muy importante en análisis de potencia son las pérdidas que se presentan en los circuitos, para nuestro caso las pérdidas que imprimiremos en pantalla serán las pérdidas en el cobre del bobinado del primario, las pérdidas en el cobre del bobinado del secundario y las pérdidas en el núcleo o en el enlace magnético, en las siguientes líneas de código se ve este ejemplo: // Agregando código para displayar algunos resultados: disp('Los voltajes y corrientes eficaces son:') disp(' Iprim Iangulo Vprim Vangulo') disp([Im/a, Ia, VVp*a, 0]) disp(' Isecundario Iangulo Vsecundario Vangulo') disp([Iom, Ioa, Vom, Voa]) // Pérdidas en el primario, secundario y enlace: disp('Las perdidas en el circuito en watts es:') disp(' Pprim Psecundario Penlace') disp([(Im/a)^2*Rp, (Iom)^2*Rs, (abs(Imm)/a)^2*Rm])
  • 58. 58 El resultado de esta sección se ve en el pantallazo que se puede apreciar en la figura veintiuno, allí se ve los resultados que hemos ordenado como corrientes eficaces, potencias, en la figura veintidós vemos los gráficos obtenidos, corrientes y voltajes: Figura 21. Pantallazo de salida. Note que los datos obtenidos se presentan en valores eficaces, la corriente del primario es de 0.45 y la corriente del secundario es de 4.5 lo que nos da una relación primario secundario de 0.1, que es de esperar, el voltaje en el primario es de 220 y en el secundario de 19.75 que nos da una relación de 11.13, la salida esperada era de 22 voltios, pero hay una seria bajada de voltaje de aproximadamente 10 por ciento que se debe a la excesiva carga que está sufriendo el transformador, se puede apreciar esto también en las pérdidas que tiene el transformador en el secundario de 20W, si en el primario la potencia de salida es de 89 watts las pérdidas totales de 21 watts son considerables por lo tanto el transformador tiene una eficiencia de 89 por ciento.
  • 59. 59 Figura 22. Corrientes y voltajes en el transformador. Vemos las ventajas que nos da SciLab como entorno de simulación de circuitos eléctricos, pero especialmente la posibilidad de modificar y aplicar una seria de análisis de potencia a diferentes circuitos es la mayor ventaja de los scripts. Sin embargo, es de mucha importancia el uso eficiente de código y además el tratar de desarrolla programas limpios, con comentarios y explicaciones lo más claras posibles para poder rehusar los códigos escritos. Es también oportuno recordar que en el análisis hasta ahora desarrollado solo hemos considerado circuitos eléctricos, los cuales son fáciles de analizar en comparación con los circuitos electrónicos
  • 60. 60 que ahora nos tocan, debe el lector entender que los circuitos eléctricos estudiados hasta ahora son sistemas lineales, los cicuitos rectificadores son circuitos no lineales, de ahí la dificultad en su análisis y desarrollo, en la siguiente sección abordaremos el problema de la potencia en el dominio de la frecuencia compleja. 6. Cálculos de voltajes corrientes y potencia en redes lineales. 6.1. Cálculos en el dominio de la frecuencia. La sección que se verá a continuación es de mucha importancia pues las cargas industriales son por lo general de tipo inductivo. A continuación analizaremos un circuito RL en serie, con los siguientes valores: R de diez ohmios, L de 100 mili henrios y una fuente de voltaje de 311 voltios de amplitud, con una frecuencia de 50 Hertz, todos en serie; se pide hallar la corriente y la potencia, así como graficar los resultados: Figura 23. Circuito a resolver y simular. La impedancia Z = 10.0000 +31.4159i. Cuyo modulo es 32.9691 y cuyo ángulo es 1.2626 radianes con estos datos la amplitud de la corriente es 9.4331 amperios. El programa que denominamos problema2_1.sce es:
  • 61. 61 Programa: Circuto RL // ====================== // Máximo Montalvo Atco // ====================== // Resolución de problemas de potencia en CA // Generamos los voltajes de entrada: f = 50; T = 1/f; w = 2*%pi*f; x = 0:T/100:2*T; Vm = 311; V =Vm*sin(w*x); // Circuito RL serie: R = 10; L = 0.1; Z = 10 + %i*w*L; [Zm, Za] = polar(Z); // eliminamos la parte imaginaria del ángulo: Za = real(Za); Im = Vm/Zm; I = Im*sin(w*x-Za); Po = I.*V; Vf = sqrt(2)*Vm; // Graficamos los resultados: subplot(3,1,1), plot(x,V,'b'), xtitle('Voltaje RL serie'),... xlabel('tiempo'),ylabel('Voltios'), xgrid,legend('Voltaje') subplot(3,1,2), plot(x,I,'b'), xtitle('Corriente RL serie'),... xlabel('tiempo'),ylabel('Amperios'), xgrid, legend('Corriente') subplot(3,1,3), plot(x,Po,'b'), xtitle('Potencia trifásica'),xlabel('tiempo'),... ylabel('POtencia'), xgrid, legend('Potencia V*I')
  • 62. 62 Este script nos da los resultados de la corriente y la potencia, gracias a los cálculos en números complejos que nos proporciona SciLab, una vez hechos los cálculos en el dominio de la frecuencia podemos pasarlos al dominio del tiempo sin ningún problema, una vez concluidos estos problemas podemos graficar las ondas asociadas de voltaje, corriente y potencia, es de mucha importancia que el desarrollo de todos los cálculos sean en el dominio complejo y no presentan ningún inconveniente. Los resultados se pueden verse a continuación en el grafico figura 24: Figura 24. Potencia, corriente y voltaje. El siguiente análisis de potencia se efectuara en cada componente que forma parte del circuito, en el programa estudiamos la potencia en la
  • 63. 63 bobina y en la resistencia a las que hemos denominad Pl y Pr respectivamente, el siguiente script efectúa esos análisis: Genera la ficgura 25, donde se ven las potencias encontradas. Se puede notar que la potencia en la resistencia R es solamente positiva con una amplitud de 900 Watts, lo que es lógico ya que la potencia en una resistencia es activa y siempre es mayor que cero, la potencia en la bobina es de tipo alterna con amplitud de 1400VAR, y ademas se nota que las frecuencias en ambos casos se han duplicado, como conclusion podemos decir que la fase del cicuito es negativa, es deci la corriente se ha retrasado respecto al voltaje en un angulo cercano a noventa grados. Figura 25. Potencia de entrada, de L y de R.
  • 64. 64 Análisis usando fasores: Es el caso de usar números complejos, las fuentes se representan por números complejos, donde los módulos son el valor rms de la amplitud y el ángulo es la fase de la onda sinusoidal, recordemos que la inductancia es representada por una impedancia cuyo modulo es la frecuencia angular multiplicada por la inductancia y cuyo ángulo es 90 grados positivos, así mismo la resistencia es un valor real con modulo R y ángulo cero, como están en serie ambas impedancias se suman, como resultado tenemos un numero complejo, la solución de las corrientes, voltajes y potencias solo son el producto o división de los voltajes, corrientes e impedancias; esto se puede apreciar en el siguiente código o script, denominado problem2_3.m: Programa Potencia en AC. // ====================== // Maximo Montalvo Atco // ====================== // Resolución de problemas de potencia en CA // Generamos los voltajes de entrada: f = 50; T = 1/f; w = 2*%pi*f; x = 0:T/100:2*T; Vm = 311; V =Vm*sin(w*x); // Dominio de la frecuencia: Vf = Vm/sqrt(2)*exp(%i*0); // Circuito RL serie: R = 10; L = 0.1; Z = 10 + %i*w*L; If = Vf/Z; // Descomponemos en X&Y [Ifx, Ify]=polar(If); Ify = real(Ify);
  • 65. 65 Vr = If*R; Vl = If*%i*w*L; // Calculamos las potencias: Pent = If*Vf; Pr = R*If^2; Pl = If*Vl; // Graficamos las potencias: plot([0 Vf],[0 0],'r'),plot([0,20*Ifx],[0,20*Ify],'b',[0,250],[5,10],'w'), title('Fasores Vf e If escalado en 20'), xgrid(1), legend('Vf','20*If') // *** FIN *** Los gráficos en este ejemplo son del tipo polar, es decir se usa vectores, al ejecutar el script, se genera la figura 26: Figura 26. Diagrama vectorial de Vf, If. En la figura anterior, se pueden apreciar los valores o vectores, graficados, primero la corriente es muy pequeña comparada con el voltaje en nuestro ejemplo de 220 Vrms, y la corriente de: 6.6 A, por
  • 66. 66 lo tanto para el grafico se ha escalado la corriente en un factor de 20, se puede apreciar que con esta corriente escalada, se puede apreciar la salida de forma adecuada, los resultados de la simulación se pueden obtener en la ventana de comandos de Scilab. Finalmente agregamos el siguiente código para dibujar el triángulo de potencias: // Graficamos las potencias: S = Vm*Im/2; P = R*Im^2/2; Q = sqrt(S^2-P^2); figure; plot([0,P],[0,0],'r',[P,P],[0,Q],'b',[0,P],[0,Q],'g',[0,50],[0,- 50],'w') xgrid, title('Triangulo de Potencias') fp=P/S De donde se obtiene la figura 27 donde se nos muestra el gráfico de potencias, además hemos calculado el cosfi o factor de potencia que en este caso es 0.3033, con ello terminamos esta sección. Figura 27. Triangulo de potencias.
  • 67. 67 Sin embardo en el caso de sistemas lineales es muy útil la respuesta en frecuencia ante entradas sinusoidales, pero es mucho más eficiente elaborar programas que aborden le problema desde la óptica de series de Fourier como en la siguiente sección. 6.2. Cálculos usando las series de Fourier. En esta sección veremos el caso de las series de Fourier, ante problemas del tipo de ondas periódicas no sinusoidales, pero que se pueden representar como combinación lineal de las mismas de la forma: 𝑣(𝑡) = 𝑎0 + 𝑎1 cos(𝑤𝑡) + 𝑎2 cos(2𝑤𝑡) + ⋯ … 𝑏1 sen(𝑤𝑡) + 𝑏2 sen(2𝑤𝑡) + ⋯ O de forma compacta como: 𝑣(𝑡) = 𝑎0 + ∑(𝑎𝑛 cos(𝑛𝑤𝑡) + 𝑏𝑛 sen(𝑛𝑤𝑡)) ∞ 𝑛=1 Como se puede apreciar, en la formula se trata de combinaciones lineales de senos y cosenos. En el ejemplo que proponemos a continuación representaremos una onda cuadrada haciendo uso de las series de Fourier, preste atención al siguiente código (problema2_4.m): Problema: Serie de Fourier de una onda cuadrada. // ====================== // Máximo Montalvo Atco // ====================== // Resolución de problemas con series // Generamos los voltajes de entrada: // Señal cuadrada: t=0:2*%pi/100:2*%pi; y1=4*sin(t)/%pi;
  • 68. 68 // Segundo armónico y2=(4/%pi)*[sin(3*t)/3]; // Tercer armónico: y3=(4/%pi)*[sin(5*t)/5]; y4=(4/%pi)*[sin(7*t)/7]; y5=(4/%pi)*[sin(9*t)/9]; y6=(4/%pi)*[sin(11*t)/11]; // Componemos las funciones: s1=y1+y2; s2=s1+y3; s3=s2+y4; s4=s3+y5; s5=s4+y6; // Graficamos la señal: subplot(3,1,1),plot(t,s1,'r'),title('1 y 2 elementos de la serie'), xgrid(1) subplot(3,1,2),plot(t,s2,'b',t,s3,'g'),title('Serie de Fourier'), xgrid(1) subplot(3,1,3),plot(t,s4,'b',t,s5,'g') title('Hasta 6 elementos'), xgrid(1) // *** FIN *** Solo se han efectuado 6 aproximaciones o se han tomado en cuenta seis armónicos, los cuales han sido aproximados como onda cuadrada, es importante notar en el grafico o figura 28 la diferencia entre la onda real y la aproximada, en los análisis de Fourier es muy importante notar que a mayor número de armónicos la onda será más precisa, pero lamentablemente no se puede tomar todos los armónicos por ser estos de valor infinito, pero en la práctica las frecuencia elevadas serán cortadas por que todo sistema tiene un rango de operación en el dominio de la frecuencia y este ancho de banda no puede ser infinito, por tanto en la práctica las frecuencias elevadas serán eliminadas o como se dice en el argot serán rechazadas.
  • 69. 69 A continuación veremos un análisis de filtro pasa bajos, compuesto por un circuito RL en serie, la entrada será un voltaje de onda cuadrada y la salida una onda de corriente, la impedancia será: R+jwL, note que a mayor inductancia y menor resistencia la respuesta varia. Figura 28. Serie de Fourier de una onda cuadrada. Para el análisis de la respuesta en frecuencia vamos algunos resultados importantes, entre ellos tenemos una carga del tipo RL en serie conformada por una resistencia de 1 ohm en serie con una bobina de 0.05 henrios, tenemos la solución en la figura 29. El script se denomina problem2_5.m:
  • 70. 70 Problema: Series de Fourier aplicadas. // ====================== // Máximo Montalvo Atco // ====================== // Resolución de problemas con series // Generamos los voltajes de entrada: // Señal cuadrada: w=2*%pi;L=0.05;R=1; for i=1:6 Z(i)=sqrt((w*(2*i-1)*L)^2+R^2); A(i)=acos(R/Z(i)); end ZZZ=[Z, A*180/%pi] t=0:2*%pi/100:2*%pi; y1=4*sin(t)/%pi;I1=(4/%pi)*sin(t-A(1))/(Z(1)); // Segundo armónico y2=(4/%pi)*[sin(3*t)/3];I2=(4/%pi)*sin(3*t-A(2))/(3*Z(2)); // Tercer armónico: y3=(4/%pi)*[sin(5*t)/5];I3=(4/%pi)*sin(5*t-A(3))/(5*Z(3)); y4=(4/%pi)*[sin(7*t)/7];I4=(4/%pi)*sin(7*t-A(4))/(7*Z(4)); y5=(4/%pi)*[sin(9*t)/9];I5=(4/%pi)*sin(9*t-A(5))/(9*Z(5)); y6=(4/%pi)*[sin(11*t)/11];I6=(4/%pi)*sin(11*t- A(6))/(11*Z(6)); // Componemos las funciones: s1=y1+y2;i1=I1+I2; s2=s1+y3;i2=i1+I3; s3=s2+y4;i3=i2+I4; s4=s3+y5;i4=i3+I5; s5=s4+y6;i5=i4+I6; // Graficamos las señales: subplot(3,1,1),plot(t,s5,'g'),title('Serie de voltaje'), xgrid(1) subplot(3,1,2),plot(t,i5,'b'),title('Serie de corriente'), xgrid(1) // *** FIN ***
  • 71. 71 Se han tomado seis armónicos, de la serie de Fourier, y se ha pasado a calcular la corriente que se desarrolla debido a cada armónico, como si de una sola fuente de voltaje en serie con una carga RL serie se tratase, así se han obtenido seis corrientes diferentes, para obtener la salida final se ha procedido a sumar cada una de las corrientes; el hecho de elegir más o menos armónicos influirá en la respuesta final. El análisis de Fourier es aplicable gracias al hecho de que el circuito representado es un circuito lineal. Por tanto podemos calcular las corrientes independientemente y hallar la solución final como una suma de todas las corrientes. Figura 29. Análisis en serie de Fourier de una carga RL R>>L. Gracias a la inclusión de un bucle for se ha podido generar una matriz cuyos elementos eran los módulos y los ángulos de las impedancias de la carga para diferentes frecuencias, esto es de mucha
  • 72. 72 importancia, pues en series de Fourier se deben de efectuar muchos cálculos para poder resolver los diferentes problemas, siendo el método recursivo el más adecuado para la resolución de este tipo de problemas. Debe de usarse más seguido este tipo de procedimiento en los problemas que han de resolverse en el futuro. Es obvio que se trata de un derivador, en la figura 29 casi todas las componentes son parte de la salida, pero en la figura 30 quedo una señal que se parece a una onda triangular, es decir el circuito es un derivador de voltaje, la entrada es de tipo cuadrada y la salida es de tipo triangularla, Note que cuando el voltaje tiene un voltaje positivo aproximado de uno la salida tiene una pendiente de uno, ocurre lo mismo cuando el voltaje es menos uno la pendiente se hace negativa y es menos uno. La amplitud de la onda triangular es ahora de 0.25, lo que lógico ya que la impedancia es mayor que uno, además hay que tener en cuenta que la salida es la suma de muchas ondas sinusoidales, note que la onda es de tipo simétrico respecto al eje del tiempo, lo que quiere decir que el valor promedio es de cero, es de gran ayuda la resolución de circuitos usando series, y debe de ser ampliamente utilizado en análisis de circuitos lineales, pero es muy trabajoso y dificultoso hacerlo con lápiz y papel, mas no es difícil hacerlo en programa. Por estas razones las soluciones para circuitos en estado estable han de realizarse con el concurso de dos potentes herramientas: las series de Fourier y la respuesta en el dominio de la frecuencia. Es de notar que las componentes de la onda de salida son en este caso: 𝐼𝑛 = 𝑉𝑛 𝑍𝑛 < −𝜃𝑛 Donde Zn depende de la frecuencia angular como sigue: 𝑍𝑛 = √𝑅2 + (𝑛𝑤𝐿)2 𝜃𝑛 = 𝑡𝑎𝑛−1 ( 𝑛𝑤𝐿 𝑅 ) Note que cuando n→infinito Zn→0 y theta n →90°
  • 73. 73 Figura 30. Análisis en serie de Fourier de una carga RL R<<L. Para los cálculos de potencia solo será necesario efectuar el producto de la corriente versus el voltaje. Para ver las impedancias a diferentes frecuencias mostramos la variable ZZZ: -->ZZZ ZZZ = 6.283981 89.088186 18.849821 89.696039 31.416086 89.817622 43.982411 89.86973 56.548756 89.898679
  • 74. 74 69.115111 89.917101 Tenemos la salida en primer término el módulo de la impedancia, y en la segunda columna los ángulos, y vemos que son solamente cargas inductivas como bobinas, y el ángulo es mayor que 89, pero el modulo va creciendo rápidamente. 6.3. Cálculos de potencia: integrales definidas en SciLab: Para efectuar el análisis de potencias en SciLab se usara una poderosa herramienta que es la integral trapezoidal. Para poder integrar en SciLab se pueden utilizar los siguientes comandos: Comando Explicación F = inttrap(t ,f) Función f con dominio t F = intg(a, b, f) Función F, integrando desde a hasta b Ahora veremos unos ejemplos para poder usar estas dos poderosas herramientas para el cálculo de integrales, primero con la orden inttrap. El comando inttrap hace uso de la integral trapezoidal numérica en un intervalo definido al cual se ha denominado t, con los límites de integración, definidos por el intervalo a evaluar, a continuación se ve un script haciendo uso del comando: Programa: Cálculos de potencia (integrales) // Calculo de valores rms // Sea la onda: seno: t=0:0.001:2*%pi; y=10*sin(t); plot(t,y) Yrms = sqrt(inttrap(t,y.^2)/1); Ypro = inttrap(t,y); disp('El valor rms:')
  • 75. 75 disp(Yrms) disp('El valor medio:') disp(Ypro) La salida se ve a continuación: exec('F:programasscilabdinamicaejemplo10.sce', -1) El valor rms: 17.724539 El valor medio: 0.0000002 En segundo lugar veamos una aplicación usando el comando intg, en este caso se hace uso de un comando más parecido a matemática simbólica Programa: integral simbólica. // Calculo de integrales: // Definimos una función: deff('[y]=f(x)','y=(x*sin(30*x)) / sqrt(1-(x/(2*%pi))^2)'); // Integramos desde cero hasta 2pi: F = intg(0,2*%pi,f) disp('El valor de la integral es:') disp(F) La salida del programa es: El valor de la integral es: - 2.5432596 Con los comandos estudiados hasta ahora, estamos listos para resolver más programas que resuelvan problemas de electrónica de potencia. Note la importancia del uso de gráficos en nuestros análisis, así como la posibilidad de graficar vectores en el dominio de la frecuencia, las presentaciones de los resultados con el comando disp. Es de gran
  • 76. 76 importancia, pero hasta ahora solo hemos hecho uso de Scilab como una potente calculadora y un excelente entorno gráfico para las distintas señales, para seguir avanzando nos hace falta el uso de datos más complejos así como de bucles de control que nos ayuden en el control de flujo, en la sección que sigue se verá estos casos de gran importancia, que adecuadamente he denominado introducción a la programación en SciLab. 6.4. Introducción a la programación en SciLab: Veamos los comandos principales usados: Comando: Explicación: for i = n:m // Comandos End Genera un bucle que comienza en n y termina en m, aumentando el índice i de uno en uno. While expr then comandos,... [,else comando aux.], end Genera un bucle while: mientras se cumpla la expr entonces se ejecutan los comandos, si no se cumple se ejecuntan los comando aux, se termina con el comando end if expr1 then comandos,... elseif expri then comandos aux,... else comandos finales,... end Genera un bucle si entonces: mientras se cumpla la expr1 entonces se ejecutan los comandos, si no se cumple y se cumple la expri se ejecutan los comando aux, en caso contrario se ejecuta comandos fnales se termina con el comando end Algunos comando que serán usados en la programación en SciLab: que han de explicarse cómo se ven a continuación, empezando por el bucle for:
  • 77. 77 Programa: Bucle FOR // Comando For: // Generación de señales // Tiempo desde cero hasta 10 t=0:0.01:10 // Onda cuadrada con periodo de 5 a = length (t) a = floor(a/4) // bucle for: for i = 1:a y(i)=10;// La amplitud de la onda es 10 end for i = a+1:2*a y(i)=-10;// La amplitud de la onda es 10 end for i = 2*a+1:3*a y(i)=10;// La amplitud de la onda es 10 end for i = 3*a+1:4*a+1 y(i)=-10;// La amplitud de la onda es 10 end // Graficamos la salida square (0,-11,10,11) plot(t,y,'b'), title('Onda cuadrada'), xgrid Explicamos a continuación los comandos usados en el script, primero se generó un tiempo que va desde cero hasta 10 en intervalos de 0.01, lo que nos da 1001 elementos del vector t, luego con el comando length(t), averiguamos el número de elementos de t, que nos da un valor de 1001, como el medio periodo es de 2.5 segundos tenemos 250 elementos por utilizar de ahí tenemos: a/4 que nos dará 250.25, para poder usarlo como índice lo redondeamos con la orden floor que redondea el numero hacia abajo, con ello tenemos cuatro bucles for que crearan la señal: uno va desde el índice uno hasta 250, con la
  • 78. 78 orden for i=1:a, y luego va desde 251 hasta 500, de 501 hasta 750 y finalmente desde 751 hasta 1001, y asigna a y(i) los valores adecuados entre 10 y monos 10, el grafico generado por el script se puede ver en la figura 31. Figura 31. Onda cuadrada hecha con bucle for. El siguiente Script nos muestra el uso del comando while, se inicializa la variable i con un valor de 10, mientras se cumpla que i es menor que 16, se displaya el valor de i en la pantalla, se va incrementando i en cada ciclo, hasta que llega a un valor de 15 entonces se detiene el flujo, a continuación del listado del Script se ve la salida de la pantalla SciLab: Programa: comando WHILE: // Bucle mientras: // inicializamos las variables: i = 10 while i<16 // mientras sea menor que 16 disp(i); i = i + 1; // incrementa i end Podemos ejecutar el script en la ventana de comandos de SciLab:
  • 79. 79 -->exec('F:paraimprimirSclab4everbuclemientras.sce', -1) 10. 11. 12. 13. 14. 15. Con estos ejemplos terminamos esta sección y pasamos a la parte más importante, es decir al análisis de circuitos con SciLab. No olvide el lector comprender bien los bucles en la programación para la solución de problemas.
  • 80. 80 7. Cálculos de potencia para sistemas no lineales con semiconductores discretos. 7.1. Rectificador de media onda. A continuación representaremos en series de potencia un rectificador de media onda en Scilab, como se puede apreciar en la figura 30, se puede ver una aproximación aceptable, las series de Fourier son de gran ayuda para ondas de tipo periódicas como en este caso. Se ha tomado una onda de 60 Hertz, y se ha elegido un dominio de dos veces el periodo es decir 32mseg. La amplitud que quisiéramos representar como un voltaje es de 1 voltio, se han tomado hasta 6 armónicos de la serie y en la figura diez en la parte inferior se han representado tanto la señal exacta como la aproximación de la serie. El programa problema3_1.sce se enlista a continuación: Programa: Rectificador de media onda: // ====================== // ****** Rectificador ½ onda ****** // ====================== // Máximo Montalvo Atco // Resolución de problemas con series // Señal rectificada: f=60;w=2*%pi*f;T=1/f; t=0:T/100:2*T; q=length(t); y=sin(w*t); y1=(1/%pi)*ones(1,q); // Segundo armónico y2=(1/2)*[sin(w*t)]; // Tercer armónico: y3=(-2/%pi)*[cos(2*w*t)/3]; y4=(-2/%pi)*[cos(4*w*t)/15]; y5=(-2/%pi)*[cos(6*w*t)/35];
  • 81. 81 y6=(-2/%pi)*[cos(8*w*t)/63]; // Resultante la suma de las armónicas s1=y1+y2; s2=s1+y3; s3=s2+y4; s4=s3+y5; s5=s4+y6; a=length(t); for i=1:a if (y(1,i)<0) y(1,i)=0; end end subplot(2,1,1), plot(t,y1,'b',t,s1,'b',t,s2,'r',t,s3,'m',t,s4,'w'), xgrid subplot(2,1,2), plot(t,y,'g',t,s5,'b'), xgrid // === END ====== Para calcular la potencia de la onda elegimos una resistencia de 1 ohm y hallamos la potencia que sería el voltaje al cuadrado, pero en caso de la serie, sería la raíz cuadrada de las suma de los valores eficaces de cada señal sinusoidal. En el listado siguiente se puede apreciar este hecho: // Cálculos de potencia Pot = 1/2; py1=(1/%pi)^2; py2=(1/2)^2; py3=(2/(%pi*3))^2; py4=(2/(%pi*15))^2; py5=(2/(%pi*35))^2; py6=(2/(%pi*63))^2; Pot2=sqrt(py1+(0.5)*(py2+py3+py4+py5+py6));
  • 82. 82 Al ejecutar vemos que la diferencia entre la potencia exacta y la potencia calculada en series es de 0.0000459, en las líneas que siguen se puede apreciar la siguiente salida: -->Pot Pot = 0.5 -->Pot2 Pot2 = 0.4999541 Figura 32. Desarrollo en series de Fourier de una onda rectificada. En la figura 32, se puede ver el desarrollo en series de Fourier de la onda rectificada de media onda con valores muy próximos. El uso de las series de Fourier es muy importante para este tipo de análisis de sistemas no lineales, es de importancia también notar el enfoque analítico del problema, sin necesidad de efectuar mucho razonamiento.
  • 83. 83 Circuito inductivo: Veamos ahora un rectificador de media onda con una carga inductiva de diez ohm en serie con 250 mili henrios, una fuente de entrada tiene una amplitud de 311 voltios o lo que es lo mismo un voltaje eficaz de 220V, las frecuencia se ha mantenido, en la figura once se dibujó el voltaje y la corriente del circuito, además se puede apreciar los valores medios y eficaces de la salida para la salida real así como la salida de la aproximación de Fourier, como se verá a continuación en el script de nombre problema3_2.sce: Problema: Circuito inductivo. // ====================== // ****** Rectificador con RL ****** // ====================== // Maximo Montalvo Atco // Resolución de problemas con series // Señal rectificada: f=60;w=2*%pi*f;T=1/f; t=0:T/100:2*T; q=length(t); y=311*sin(w*t); // Impedancia: R = 10; L = 0.15 Z(1)=sqrt((w*L)^2+R^2); A(1)=acos(R/Z(1)); for i=2:2:8 Z(i)=sqrt((w*(i*i-1)*L)^2+R^2); A(i)=acos(R/Z(i)); end y1=(311/%pi)*ones(1,q);I1=(311/(%pi*10))*ones(1,q); // Segundo armonico y2=(311/2)*[sin(w*t)];I2=(311/(2*Z(1)))*[sin(w*t-A(1))]; // Tercer armonico: y3=(-622/%pi)*[cos(2*w*t)/3];I3=(- 622/(Z(2)*%pi))*[cos(2*w*t-A(2))/3];
  • 84. 84 y4=(-622/%pi)*[cos(4*w*t)/15];I4=(- 622/(Z(4)*%pi))*[cos(2*w*t-A(4))/15]; y5=(-622/%pi)*[cos(6*w*t)/35];I5=(- 622/(Z(6)*%pi))*[cos(2*w*t-A(6))/35]; y6=(-622/%pi)*[cos(8*w*t)/63];I6=(- 622/(Z(8)*%pi))*[cos(2*w*t-A(8))/3]; // Resultante la suma de las armonicas s1=y1+y2;Is1=I1+I2; s2=s1+y3;Is2=Is1+I3; s3=s2+y4;Is3=Is2+I4; s4=s3+y5;Is4=Is3+I5; s5=s4+y6;Is5=Is4+I6; a=length(t); for i=1:a if (y(1,i)<0) y(1,i)=0; end end subplot(2,1,1), plot(t,y,'g',t,s5,'b'), xgrid, title('Voltaje de entrada'), ylabel('Voltaje') subplot(2,1,2), plot(t,Is5,'b'), xgrid, title('Corriente carga RL'), ylabel('Amperios') // Calculos de valores: vmed=inttrap(t,y)/(2*T); vrms=sqrt(inttrap(t,y.^2)/(2*T)); vmeds=inttrap(t,s5)/(2*T); vrmss=sqrt(inttrap(t,s5.^2)/(2*T)); imed=inttrap(t,Is5)/(2*T); irms=sqrt(inttrap(t,Is5.^2)/(2*T)); // === END ====== A continuación vemos los valores medios y eficaces, vrms es el voltaje eficaz real y vrmss es el voltaje eficaz de la aproximación de
  • 85. 85 Fourier son casi iguales, lo que valida el análisis en series de Fourier como una aproximación aceptable, a continuación vemos los valores que se ven a continuación: vrmss = 155.48573 vrms = 155.5 vmeds = 98.994375 vmed = 98.961805 irms = 10.087391 imed = 9.8994375 Figura 33. Voltaje y corriente del rectificador de media onda con carga RL.
  • 86. 86 En la figura 33. Se puede apreciar el voltaje aproximado y la corriente de salida que se puede ver que no llega a cero, su mínimo es de 7 amperios y el máximo de cerca de 13 amperios. Vemos que se han eliminado o reducido los componentes de corriente alterna y se ha acentuado la componente fundamental o de corriente directa con valor medio aproximado de 10 amperios, lo que nos indica un filtro de pasa bajos de corriente, el lector no ha de confundir el circuito es muy crítico el hecho que la corriente no llega hasta cero, pero es necesario para ello usar un diodo de potencia flotante en paralelo con la carga. Todos estos resultados cuadran con los valores calculados y esperados en nuestros sistemas de potencia, note que los análisis son en estado estable, lo que es obvio pues estamos trabajando en series de Fourier en estado estable, la solución completa debería incluir la respuesta en estado transitorio. 7.2. Rectificador monofásico de onda completa. El programa se parece mucho al anterior solo hay que cambiar la fórmula que usamos al simular el circuito, con la serie de Fourier adecuada es decir la fórmula de la onda rectificada de onda completa, y el código esta en ejemplo con el script problema3_3.sce, que vemos a continuación: Programa: Rectificador de onda completa: // ====================== // ****** Rectificadores ****** // ====================== // Maximo Montalvo Atco // Resolucion de problemas con series // Señal rectificada onda completa: f=60;w=2*%pi*f;T=1/f; t=0:T/100:2*T; q=length(t);
  • 87. 87 y=311*sin(w*t); // Impedancia: R = 10; L = 0.15 Z(1)=sqrt((w*L)^2+R^2); A(1)=acos(R/Z(1)); for i=2:2:8 Z(i)=sqrt((w*(i*i-1)*L)^2+R^2); A(i)=acos(R/Z(i)); end y1=(2*311/%pi)*ones(1,q);I1=(2*311/(%pi*10))*ones(1,q); // Segundo armonico y2=0*[sin(w*t)];I2=0*[sin(w*t-A(1))]; // Tercer armonico: y3=(-2*622/%pi)*[cos(2*w*t)/3];I3=(- 2*622/(Z(2)*%pi))*[cos(2*w*t-A(2))/3]; y4=(-2*622/%pi)*[cos(4*w*t)/15];I4=(- 2*622/(Z(4)*%pi))*[cos(4*w*t-A(4))/15]; y5=(-2*622/%pi)*[cos(6*w*t)/35];I5=(- 2*622/(Z(6)*%pi))*[cos(6*w*t-A(6))/35]; y6=(-2*622/%pi)*[cos(8*w*t)/63];I6=(- 2*622/(Z(8)*%pi))*[cos(8*w*t-A(8))/3]; // Resultante la suma de las armonicas s1=y1+y2;Is1=I1+I2; s2=s1+y3;Is2=Is1+I3; s3=s2+y4;Is3=Is2+I4; s4=s3+y5;Is4=Is3+I5; s5=s4+y6;Is5=Is4+I6; a=length(t); for i=1:a if (y(1,i)<0) y(1,i)=-y(1,i); end end subplot(2,1,1), plot(t,y,'g',t,s5,'b'), xgrid, title('Voltaje de entrada'),
  • 88. 88 ylabel('Voltaje') subplot(2,1,2), plot(t,Is5,'b'), xgrid, title('Corriente carga RL'), ylabel('Amperios') // Calculos de valores: vmed=inttrap(t,y)/(2*T); vrms=sqrt(inttrap(t,y.^2)/(2*T)); vmeds=inttrap(t,s5)/(2*T); vrmss=sqrt(inttrap(t,s5.^2)/(2*T)); imed=inttrap(t,Is5)/(2*T); irms=sqrt(inttrap(t,Is5.^2)/(2*T)); // === END ====== A continuación presentamos los valores que el programa ejecutado ha calculado, el Script de SciLab, es decir los valores medios y eficaces. vmed = 197.92361 vrms = 219.91021 vmeds = 197.98875 vrmss = 219.86984 imed = 19.798875 irms = 19.806521 En la figura 34 se puede apreciar la salida del sistema simulado, en este caso la aproximación es más que aceptable, es muy buena. La corriente de salida ha aumentado significativamente a 19.78 amperios, y el valor de la componente en corriente alterna ha disminuido también de forma drástica, como se puede apreciar. Note que la salida es una onda distorsionada, es decir no es una onda seno, esta distorsión es propia de los filtros de pasa bajos. La salida es casi una señal continua.
  • 89. 89 Figura 34. Voltaje y corriente del rectificador de onda completa con carga RL. Comparando las figuras 33 y 34, se puede apreciar que la componente de corriente alterna ha disminuido de forma sustancial al compararlas, en la figura once se pueden apreciar hasta un máximo de seis amperios, mientras que en la figura doce solo es 1.6 amperios, con la misma carga. 7.3 Circuito trifásico con carga RL. A continuación veremos los resultados cuando trabajamos con circuitos trifásicos, en este trabajo serán balanceados, las ondas de entrada tienen la misma amplitud y están desfasadas 120 grados, que al fin y al cabo son de nuestro interés.
  • 90. 90 Figura 35. Circuito trifásico con fuente en estrella y carga en estrella. La carga también ha de ser balanceada es decir tres cargas idénticas como se apreciara en el siguiente Script que simulara las ondas del circuito, y en la figura 36 la onda de salida: Programa: Circuito trifásico. // ====================== // Maximo Montalvo Atco // Resolución de problemas de potencia en CA // Generamos los voltajes de entrada: f = 50; // Frecuencia T = 1/f; // Periodo w = 2*%pi*f; // Frecuencia angular t = 0:T/100:2*T; // Dominio V = 220; // Voltaje rms Vm = sqrt(2)*V; // Secuencia positiva: Van= Vm*sin(w*t); Vbn= Vm*sin(w*t-2*%pi/3); Vcn= Vm*sin(w*t+2*%pi/3);
  • 91. 91 // Grafico de las ondas: plot(t,Van,'b',t,Vbn,'r',t,Vcn,'g'), xtitle('Voltaje 3f'),... xlabel('tiempo'),ylabel('Voltios'), xgrid,... legend('Van','Vbn','Vcn') Analizamos la secuencia de las fases la fase Van esta con un desfase de cero grados, la fase Vbn está atrasada 120 grados sexagesimales, mientras que la fase Vcn esta adelantada en 120 grados, esto es de conveniencia en las próximas simulaciones, como veremos en los siguientes ejercicios que han de desarrollarse, teniendo en cuenta esto de construirá los voltajes de línea es decir el voltaje de línea Vab como ejemplo será la resta de Van menos Vbn, lo que nos dará una fase de 30 grados positivos, respecto a la fase Van , y el voltaje de línea Vca nos dará una fase de 150 grados sexagesimales. 𝑉𝑎𝑛 = 𝑉𝑚 ∗ 𝑠𝑒𝑛(𝑤𝑡) 𝑉𝑏𝑛 = 𝑉𝑚 ∗ 𝑠𝑒𝑛(𝑤𝑡 − 120) 𝑉𝑐𝑛 = 𝑉𝑚 ∗ 𝑠𝑒𝑛(𝑤𝑡 + 120) Tenga el lector presente esto pues no se hará hincapié en ello solo se desarrollaran los problemas asumiendo que las fases van ya determinadas de antemano. Las señales en circuitos trifásicos lineales y balanceados, son siempre balanceadas y presentan una simetría, se podría decir que solo es necesario resolver un circuito trifásico equivalente y aplicar la simetría para encontrar los demos resultados. Sin embargo en circuitos electrónicos es posible romper esta regla, de ahí que el uso de simuladores es muy importante, y solo es necesario entender la naturaleza del problema, no se necesita resolverlo analiticamente. Como ya se explicó, todo esto se puede ver en la figura siguiente.
  • 92. 92 Figura 36. Ondas de voltaje del circuito trifásico con fuente en estrella. Ahora tomando en cuenta la figura 36, podemos deducir que la onda rectificada es solo para los voltajes de fase mayores que cero, quedando como se pueden apreciar en el gráfico 37, en el mismo podemos observar la salida del rectificador que es el máximo de onda anterior, en el siguiente Script se desarrolla este programa. Script del rectificador: Programa: rectificador trifásico: // Rectificador de media onda trifásico // Vanr, tamaño de Van 201 Vanr=zeros(1,201); Vbnr=zeros(1,201); Vcnr=zeros(1,201); for i=1:201 if Van(i)>0 then Vanr(i)=Van(i); end end for i=1:201
  • 93. 93 if Vbn(i)>0 then Vbnr(i)=Vbn(i); end end for i=1:201 if Vcn(i)>0 then Vcnr(i)=Vcn(i); end end Vr3f=max(Vanr,max(Vbnr,Vcnr)) subplot(121), plot(t,Vanr,'g',t,Vbnr,'b',t,Vcnr,'m'), xgrid title('ONDAS RECTIFICADAS POR FASE') subplot(122), plot(t,Vr3f,'b'), xgrid title('ONDA RECTIFICADA TRIFASICA') Cabe señalar que antes de ejecutar el scrip anterior es necesario que las variables Van, Vbn, Vcn y t estén definidas, lo que es lo mismo decir que el script anterior debió de ser ejecutado previamente, de forma que los voltajes y el tiempo ya están definidos. Con esto explicamos que primero se creó una variable Vanr es decir voltaje de fase Van rectificado, que incluye solo la parte positiva de la onda Van, en un comienzo Vanr es un vector fila de 201 elementos todos los cuales valen cero, lo mismo se hizo con las variables Vbnr y Vcnr, a continuación se procedió a rectificar las ondas con bucles que comparan el valor de Van si es mayor que cero entonces Vanr es igual a Van, en caso Van sea menor que cero, entonces Vanr también será cero. El mismo procedimiento se hace para cada una de las ondas. Finalmente tenemos para la salida del rectificador es el máximo de las tres rondas anteriores, que en ocasiones se denomina la función lógica OR, por tanto utilizamos la orden max, el resultado del Script se ilustra en la figura 37, a continuación:
  • 94. 94 Figura 37. Ondas de voltaje del circuito trifásico con salidas por fases y la salida del rectificador completo. Cálculo de los voltajes promedio y eficaz: en las siguientes líneas de código tenemos el cálculo de los voltajes promedio y eficaz del circuito, donde se obtiene los resultados: // Calculo de Vrms // Calculo de Vmed Vmed =(1/(2*T))*inttrap(t,Vr3f) Vrms =sqrt((1/(2*T))*inttrap(t,Vr3f.^2)) Vmed = 257.29054 Vrms = 261.55365 Si consideramos la relación de la inductancia con la resistencia con un grado de diez a uno, tenemos que la onda de corriente es muy lineal y se puede aproximar por un filtro pasa bajas de corriente: 𝐼𝑐𝑑 = 𝑉𝑚𝑒𝑑 𝑅
  • 95. 95 Además como la inductancia trabaja sobre una onda rectificada trifásica tenemos que la frecuencia es tres veces la frecuencia original por tanto: 𝑋𝑙 = 𝑤 ∗ 𝐿 = 2 ∗ 𝜋 ∗ (3𝑓) ∗ 𝐿 Con una frecuencia de 60Hz tenemos que Xl es 1131*L, con valores de R=5 y L=100mH, Xl = 113 >> R = 5 que cumple. Note que si calculamos para la primera armónica es decir para una frecuencia de 60Hz, la impedancia será: |𝑍𝑙| = √52 + 1132 = 113.1 < 𝑍𝑙 = atan ( 113 5 ) = 87° Note que es una impedancia con un módulo de 113 casi igual que el módulo de la inductancia sola y con un desfase cerca a 90° por lo tanto se trata de una impedancia muy cercana a solo la inductancia sin tomar en cuenta la resistencia. Para un voltaje de corriente alterna muy elevada de 150 voltios que representa un voltaje superpuesto al valor medio de 257 V, como se puede apreciar en la figura 34, obtenemos: 𝐼𝑐𝑑 = 257 5 = 51.45𝐴 𝐼𝑎𝑐1 = 150 113 = 1.32𝐴 Donde Icd es la corriente media o corriente continua y Iac1 es la corriente máxima debida al primer armónico, que de hecho es mucho menor. Por lo tanto podemos afirmar que se trata de un filtro de corriente pasa bajo muy eficaz.
  • 96. 96 Hasta ahora hemos resuelto algunos problemas relacionados a cálculos de potencia en la sección que sigue pasaremos al cálculo de potencia de sistemas rectificadores. Cabe apreciar que la potencia de entrada al sistema será de la forma: 𝑆𝑖𝑛 = 3 ∗ 𝑉 ∗ 𝐼 Donde V es el voltaje eficaz, pero de tipo Van osea voltaje de fase o voltaje en estrella, donde Vm es la amplitud, es decir: 𝑉 = 𝑉𝑚 √2 Además I es la corriente eficaz en la línea o en una de las líneas suponiendo que el sistema es balanceado. Estas consideraciones de potencia son nuevas debido a que el sistema es no lineal, es decir el voltaje de entrada es trifásico y la salida es en corriente directa. Es decir es un nuevo problema, el hecho de usar series de Fourier para su solución nos permite resolver con métodos lineales, pero no olvide que hay dos condiciones: que el sistema sea estable (algo que no se ha demostrado) y la respuesta es en estado estable.
  • 97. 97 8. Cálculos de circuitos rectificadores. Ha continuación desarrollamos el control de un motor en CD con rectificadores controlados de corriente directa, incluyendo algo de teoría para explicar los cálculos llevados a cabo. Generador de corriente continua o dinamo: Analizaremos un circuito generador de corriente directa o dinamo haciendo uso de SciLab, debe de tener mucho cuidado en las ecuaciones y los programas que se proponen: Problema representación de la curva de magnetización: Es de mucha importancia la curva de magnetización que el circuito de campo va a generar a continuación presentamos una curva de magnetización y su desarrollo en un Script de SciLab: Sea la curva de magnetización (para n = 1800rpm) para una máquina de corriente directa de 400V de la figura treinta y ocho: Figura 38. Curva de magnetización de máquina eléctrica de 400V y 1800rpm
  • 98. 98 El script que genera esta tabla se enlista a continuación: Programa: tablas: // Curva de Máquina eléctrica de 400V // La velocidad es 1800rpm If = 0:6; Vao = [0, 100, 190, 270, 340, 400, 450]; plot(If,Vao), title('Curva Máquina CD 400/1800rpm'), xlabel('Corriente de campo'), ylabel('Voltaje'), xgrid …………………………………… Es muy importante que la tabla que definimos este a la disposición para la solución de los siguientes problemas, sea el generador mostrado en la figura treinta y nueve junto a la curva de magnetización, con los siguientes datos: Las resistencias son: Ra de 0.1 Ohm, Rf de 80 Ohm, la resistencia de campo Rf está compuesto de dos resistencias en serie: una resistencia constante de 60 Ohm y una resistencia variable de 20 Ohm, la inductancia de campo Lf es de 0.5 henrios, la máxima corriente que puede generar es de 70 amperios y la velocidad nominal no, para un voltaje nominal Eao de 400 voltios es de 1800rpm. Figura 39. Generador de 400V y su curva de magnetización.
  • 99. 99 Hallar la potencia máxima de salida y el voltaje de salida máximo, así como las corrientes de It, Ia e If para un carga de 5.7 ohm y una velocidad angular de 1800rpm. Como el motor tiene un voltaje nominal de 400 Voltios y la corriente nominal es de 70 Amperios, la potencia máxima será de 28KW Supondremos que el voltaje en los terminales Vt es 400 voltios entonces It será 70.17 Amperios. Con estos datos tenemos: 𝐼𝑓 = 𝑉𝑡 𝑅𝑓 = 400 𝑅𝑓 𝐼𝑎 = 𝐼𝑡 + 𝐼𝑓 = 70.17 + 400 𝑅𝑓 De las condiciones de operación es decir de la velocidad de funcionamiento nominal de 1800 rpm, tenemos: 𝐸𝑎 𝐸𝑎𝑜 = 𝑛 𝑛𝑜 → 𝐸𝑎 = 𝐸𝑎𝑜 𝐸𝑎𝑜 = 𝐼𝑎 ∗ 𝑅𝑎 𝐸𝑎𝑜 = 𝑅𝑎 ∗ (𝐼𝑎 + 𝐼𝑓) + 400 → 𝐸𝑎𝑜 = 407.017 + 0.1 ∗ 𝐼𝑓 Para una corriente If de 6 amperios tenemos: 407.6 voltios y dado que en la tabla tenemos que para una corriente If de 6 amperios tenemos un Eao de 450 voltios, calculamos para una corriente de 5 amperios Eao es de 407.51 y Eao en la tabla es de 400 voltios deducimos que la respuesta está entre 5 y 6 amperios, calculamos la recta que va desde 5 a 6: 𝐸𝑎𝑜 = 𝑚𝐼𝑓 + 𝑏 𝑚 = 50 𝑦 𝑏 = 400 − 𝑚 ∗ 5 = 400 − 50 ∗ 5 = 150 𝐸𝑎𝑜 = 50 ∗ 𝐼𝑓 + 150 Tenemos el sistema de ecuaciones:
  • 100. 100 [ 50 −1 −0.1 1 ] [ 𝐼𝑓 𝐸𝑎𝑜 ] = [ −150 407.017 ] Cuya solución es: [ 𝐼𝑓 𝐸𝑎𝑜 ] = [ 5.1506 407.53 ] De donde podemos calcular el valor de Rf, y en base a ese resultado hallar el valor de Rv: 𝑅𝑓 = 400 𝐼𝑓 = 77.66 → 𝑅𝑣 = 77.66 − 60 = 17.66 Por lo tanto debemos de variar la resistencia variable a 17.66 Ohm y con este valor tendremos la máxima potencia a una velocidad nominal de 1800rpms. Con la ayuda de un script elaboraremos una serie de cálculos para diferentes velocidades. Con If variable de la siguiente manera: 𝐼𝑡 = 𝐸𝑎 𝑅𝑡 𝐼𝑓 = 𝐼𝑡 ∗ 𝑅𝑓 𝑅𝑓 + 𝑅𝑙 = 𝐸𝑎 ∗ 𝑅𝑓 𝑅𝑡 ∗ (𝑅𝑓 + 𝑅𝑙) EL listado que sigue grafica las curvas de magnetización frente a diferentes velocidades: Programa: tablas para motores CD //======================================= // Cálculos para diferentes velocidades // Resolución de máquinas eléctricas Ra = 0.1; // Resistencia de armadura Rf = 77.66; // Resistencia de campo Lf = 0.5 ;// Inductancia de campo Rl = 5.7; // Resistencia de carga VV = 1500:50:2000;
  • 101. 101 disp('Resistencia de carga') disp(Rl) disp('La potencia deseada') disp(28000) disp('velocidades:') disp(VV) // La corriente de campo: // Eao=0.1 If + 400 Rt=Ra+Rf*Rl/(Rf+Rl); K = Rl/(Rt*(Rf+Rl)); // Redefinimos la curva de magnetización: i=0:0.001:6; m1=100*i; m2=90*i+10; m3=70*i+60; m4=60*i+100; m5=50*i+150; m=min(m1,m2,m3,m4,m5); // Calculamos Ea = Eao*n/no If = Ea /Rt // Eao = no/n Rt If for ii=1:length(VV) L(ii,:)=1800*i/(K*VV(ii)); end // Calculamos los voltajes y corrientes: subplot(221), plot(i,m), title('Eao vs If 1800rpm'), ... xlabel ('Corriente If'), ylabel('Voltaje Eao'), xgrid subplot(222), plot(i,m,i,L(1,:)), title('Eao vs If 1800rpm'),... xlabel ('Corriente If'), ylabel('Voltaje Eao'), xgrid subplot(223), plot(i,m,i,L(2,:)), title('Eao vs If 1800rpm'),... xlabel ('Corriente If'), ylabel('Voltaje Eao'), xgrid subplot(224), plot(i,m,i,L(3,:)), title('Eao vs If 1800rpm'),... xlabel ('Corriente If'), ylabel('Voltaje Eao'), xgrid //====================================
  • 102. 102 Figura 40. Gráficas para el generador de 400V, Voltajes Eao vs. Corrientes de campo If, para diferentes velocidades. Las gráficas de la figura cuarenta, nos muestran las diversas velocidades del generador, en el Script se han calculado para velocidades desde 1500 hasta 2000, pero solo se han graficado para tres casos para velocidades de 1500, 1800 y 2000 rpms. Donde puede apreciarse como la recta del circuito de campo varía en pendiente para diversas velocidades, siendo la pendiente de 1800rpm la más pronunciada. Y la pendiente para 2000rpm la menor: en el caso de la velocidad de 2000rpm la intersección de la
  • 103. 103 curva y la recta cae fuera de rango, en este caso el voltaje Eao será el máximo valor. Para este caso Eao = 450V, por lo tanto Ea será: 500V, y la corriente del generador será 92 amperios, con una potencia de 46.2KW, resultados que no son válidos, siendo la resistencia de carga muy baja y el generador esta fuera del rango de operación. Para todos los cálculos se ha hecho uso de SciLab, si bien no todos los resultados se han mostrado. Pero el uso de sciLab para resolver sistemas de ecuaciones y demás problemas es muy adecuado, sobre todo para estos casos. Rectificadores aplicados a circuitos con Inductancia. Para comenzar veremos el caso de circuitos rectificadores con cargas altamente inductivas como sería el caso del circuito de campo de un motor de corriente directa, el problema es ya de por si complejo y el uso de los Script anteriores será de mucha utilidad. Primero describimos el circuito, consta de una fuente de voltaje y rectificador controlado de media onda alimentando una carga que consta de una resistencia y una bobina en serie, se puede ver el circuito en la figura cuarenta y uno: Figura 41. Circuito rectificador de media onda.