Académique Documents
Professionnel Documents
Culture Documents
Con circuitos analgicos la forma de eliminar la frecuencia fundamental es mediante
un filtro Notch con configuracin puente Wein, sin embargo, este no ser un circuito
que se estudiara.
Intentaremos implementar el medidor THD en un micro controlador y veremos el
proceso desde sus races.
4.2. Implementacin hardware.
En este segmento se tratarn dos mtodos para hallar la distorsin armnica, una de ellas es
utilizando programacin en cdigo C e implementando sobre la tarjeta Stellaris, el otro
mtodo ser utilizando la tarjeta C2000 programada con ayuda de simulink.
4.2.1 Piccolo C2000 LaunchPad
Frecuencia del reloj 60MHz
UNIVERSIDAD INDUSTRIAL DE SANTANDER
ESCUELA DE INGENIERAS ELCTRICA, ELECTRNICA Y DE TELECOMUNICACIONES
DISEO DE CIRCUITOS ANALGICOS
RAM 12KB
Flash 64KB
ADC 12 Bits
IO Supply 3.3 v
ADC #Ch 7 ch
GPIO 20 ch
Es una plataforma de desarrollo de TI (Texas Instruments) que permite la creacin de
sistemas discretos robustos; sistemas de suma importancia para la constitucin del
medidor que se realizo con la ayuda de Simulink de Matlab 2012b y CCStudio V4.
Lo primero que se tiene que realizar es el enlace entre Code Composer Studio y
Simulink, de la siguiente manera:
.
Figura 4.1: CCV4 Target Configurations
UNIVERSIDAD INDUSTRIAL DE SANTANDER
ESCUELA DE INGENIERAS ELCTRICA, ELECTRNICA Y DE TELECOMUNICACIONES
DISEO DE CIRCUITOS ANALGICOS
En el men View/Target Configurations, y sobre User Defined damos click derecho y
generamos un New Target Configurations. Ingresamos los datos de la imagen anterior y
presionamos Save.
Nuevamente sobre Target Configurations ejecutamos la funcin launch select
configurations y se genera este men.
Figura 4.2: CCSV4 connect Target
UNIVERSIDAD INDUSTRIAL DE SANTANDER
ESCUELA DE INGENIERAS ELCTRICA, ELECTRNICA Y DE TELECOMUNICACIONES
DISEO DE CIRCUITOS ANALGICOS
Sobre 0 <symbol is not available> 0x000000 ejecutamos Connect Target con la
C2000 conectada al equipo de computo para realizar la comunicacin entre CCS y
C2000.
Ahora tenemos que dirigirnos a MATLAB desde donde tendremos que probar el enlace
a CCS con los comandos xmakefilesetup y checkEnvSetup('ccsv4','f28027','check')
(para ms informacin dirjase al modulo de ayuda de Matlab 2012b
Figura 4.3: Matlab 2012b Xmakefilesetup.
UNIVERSIDAD INDUSTRIAL DE SANTANDER
ESCUELA DE INGENIERAS ELCTRICA, ELECTRNICA Y DE TELECOMUNICACIONES
DISEO DE CIRCUITOS ANALGICOS
Figura 4.4: Matlab 2012b CheckEnvSetup.
Tendremos que crear el modelo en simulink y caracterizar nuestro dispositivo con un
target preferences:
UNIVERSIDAD INDUSTRIAL DE SANTANDER
ESCUELA DE INGENIERAS ELCTRICA, ELECTRNICA Y DE TELECOMUNICACIONES
DISEO DE CIRCUITOS ANALGICOS
Figura 4.5: Target preferences Simulink Matlab2012b.
El modelo en simulink contiene puertos de entrada y de salida, adems de un modulo
que nosotros hemos creado para calcular la THD (modulo basado en librera THD
Matlab 2013b).
.
UNIVERSIDAD INDUSTRIAL DE SANTANDER
ESCUELA DE INGENIERAS ELCTRICA, ELECTRNICA Y DE TELECOMUNICACIONES
DISEO DE CIRCUITOS ANALGICOS
Figura 4.6: Esquema Simulink Matlab2012b.
Figura 4.7: THD module Simulink Matlab2012b.
Por ltimo nos queda generar un archivo .out para cargarlo desde CCS a C2000 y que este
ejecute la accin,
UNIVERSIDAD INDUSTRIAL DE SANTANDER
ESCUELA DE INGENIERAS ELCTRICA, ELECTRNICA Y DE TELECOMUNICACIONES
DISEO DE CIRCUITOS ANALGICOS
Figura 4.8:CCSV4 Load Program.
Presionamos RUN y el programa es depurado al Piccolo C2000.
4.2.2 Stellaris LM4F120 LaunchPad
Con el objetivo de muestrear la seal de salida del amplificador se pens en utilizar este micro
procesador, el cual posee algunas ventajas, una de ellas es que el lenguaje de programacin se
basa en C, y al tener conocimientos bsicos sobre este lenguaje se facilitara su programacin,
tambin se tuvo en cuenta la memoria del dispositivo y la velocidad mxima de muestreo para una
seal analgica de entrada. La caracterstica especial, es la fcil observacin de cualquier variable
que este dentro del programa y que, obviamente, se est ejecutando dentro de la tarjeta, por
medio de conexin USB en un recuadro que posee el compilador Energia .El otro factor
importante a resaltar acerca de este dispositivo es que el compilador utilizado es de licencia
gratuita, con esto reduciendo el costo del proyecto. Las caractersticas de Stellaris LM4f120
LaunchPad se pueden observar a continuacin:
UNIVERSIDAD INDUSTRIAL DE SANTANDER
ESCUELA DE INGENIERAS ELCTRICA, ELECTRNICA Y DE TELECOMUNICACIONES
DISEO DE CIRCUITOS ANALGICOS
Figura 4.9: Datasheet Stellaris.
De la tabla anterior podemos observar que la frecuencia de operacin de esta tarjeta es lo
suficientemente grande para muestrear una seal de 20Khz, la cual es una seal que est en los
lmites de las seales de audio.
Como ya se ha nombrado antes el compilador a utilizar fue Energa en la versin energia-
0101E0011-windows, el cual es muy sencillo de encontrar en la web, al compilar con esta versin
del programa se garantiza que se poseen las libreras de comunicacin serie por medio del puerto
USB y dems controladores necesarios para el manejo de esta.
El cdigo a utilizar se explicar paso a paso:
En la siguiente parte del cdigo se abre el puerto serie, con el objetivo de visualizar los datos
especficos de la tarjeta:
void setup() {
Serial.begin(9600);
}
UNIVERSIDAD INDUSTRIAL DE SANTANDER
ESCUELA DE INGENIERAS ELCTRICA, ELECTRNICA Y DE TELECOMUNICACIONES
DISEO DE CIRCUITOS ANALGICOS
El 9600 hace referencia a la velocidad de la conexin del dispositivo y el computador.
Despus de definir las variables, es necesario inicializar todos los vectores a cero de la siguiente
manera:
for (int i=0; i < h; i=i+1){
Real[i]=0;
}
for (int i=0; i < h; i=i+1){
Imag[i]=0;
}
for (int i=0; i < h; i=i+1){
f[i]=analogRead(ANALOG_IN)*5/5093; }
for (int i=0; i < 7; i=i+1){
Final[i]=0;
}
En el anterior cdigo se observa un comando llamado analogRead este hace que la Stellaris
adquiera por uno de los pines (el P3) una seal analgica muestreada, con la multiplicacin de
5/5093 se normaliza este vector.
Adicional a esto el comando Serial.print define que variable es la que se quiere observar en el
espacio Serial Monitor del programa Energa.
La siguiente funcin hace referencia la separacin de la seal de entrada, muestreada y
normalizada, en parte real y parte imaginaria:
for(int j=0; j<h;j=j++){
for(int u=0; u<h;u=u+1){
Real[j]=Real[j]+ f[u]*sin((2*3.14*u*j/h)); // Vector parte Real
}
}
for(int j=0; j<h;j=j++){
UNIVERSIDAD INDUSTRIAL DE SANTANDER
ESCUELA DE INGENIERAS ELCTRICA, ELECTRNICA Y DE TELECOMUNICACIONES
DISEO DE CIRCUITOS ANALGICOS
for(int u=0; u<h;u=u+1){
Imag[j]=Imag[j]+ f[u]*cos(-2*3.14*u*j/h); // Vector parte Imag
}
}
Con estos vectores de parte real y parte imaginaria, hallamos la potencia para cada muestra y
respectivamente su transformada discreta de Fourier dentro del mismo for:
for(int j=0; j<h;j=j+1){
F[j]=sqrt(pow(Real[j],2)+pow(Imag[j],2)); // Valor absoluto entre Real e Imaginario
Serial.print(F[j]);
Serial.print(" ");
}
Con esto conseguimos la transformada de furrier total de los diferentes puntos. Ahora como no se
posee una amplia resolucin en el muestreo de la seal se vio necesario trabajar por intervalos de
frecuencia, es decir sumar todas las potencias de un intervalo de frecuencia:
for(int j=2; j<7;j=j+1){ // No considero el primer punto por distorsin
Final[0]=Final[0]+F[j]/8;
}
for(int j=8; j<15;j=j+1){
Final[1]=Final[1]+F[j]/8;
}
for(int j=16; j<23;j=j+1){
Final[2]=Final[2]+F[j]/8;
}
for(int j=24; j<31;j=j+1){
Final[3]=Final[3]+F[j]/8;
}
for(int j=32; j<39;j=j+1){
Final[4]=Final[4]+F[j]/8;
}
UNIVERSIDAD INDUSTRIAL DE SANTANDER
ESCUELA DE INGENIERAS ELCTRICA, ELECTRNICA Y DE TELECOMUNICACIONES
DISEO DE CIRCUITOS ANALGICOS
for(int j=40; j<47;j=j+1){
Final[5]=Final[5]+F[j]/8;
}
for(int j=48; j<55;j=j+1){
Final[6]=Final[6]+F[j]/8;
}
for(int j=56; j<59;j=j+1){ /// El punto 62 y 63 (los ltimos punto de la transformada) no los
considero
Final[7]=Final[7]+F[j]/8; /// debido a su distrosin
}
Se observa que la potencia por tramos est definida en el vector llamado Final, asi pues
obtenemos los coeficientes discretisados en diferentes puntos de frecuencia, por lo tanto es
posible hallar la THD sumando todos los armnicos, del 1 hasta el 8, y dividindolos sobre la
potencia en la frecuencia fundamental.
Se hizo pruebas con un nivel de DC, variando la tensin lentamente de forma tal que variase la
tensin de entrada, para el cual funcionaba bien la magnitud de sus armnicos, que eran cero. Se
variaba rpidamente el potencimetro de un lado a otro para simular una onda y se pudo observar
que los coeficientes en otras frecuencias comenzaban a incrementar sus valores.
Se presentaron muchos inconvenientes al intentar implementar este cdigo, pues no se tena el
pleno conocimiento del tipo de datos que la tarjeta regresaba al computador, por esto se
observaban algunos valores que no correspondan a la tensin que se estaba ingresando por el pin
de entrada analgica, tambin el cdigo es carente al momento de leer el coeficiente en el
momento exacto, sino que suma los coeficientes almacenados anteriormente con los actuales, es
decir si la seal variaba su frecuencia y si pasaba dos veces por la misma frecuencia, las suma mas
no mostraba el ultimo valor, as pues existe un error en la medicin del THD con esta
implementacin.
UNIVERSIDAD INDUSTRIAL DE SANTANDER
ESCUELA DE INGENIERAS ELCTRICA, ELECTRNICA Y DE TELECOMUNICACIONES
DISEO DE CIRCUITOS ANALGICOS
COSTOS
Tabla de Costos
Concepto Unidades Valor(en COP) Subtotal(en COP)
Amplificador LM4780 1 0 0
Capacitor 4.7 uF 2 300 600
Capacitor 1 uF 3 300 900
Capacitor 0.1 uF 2 300 600
Pin 7 100 700
Resistencia 4.7 k 2 100 200
Resistencia 47 k 2 100 200
Resistencia 51 k 1 100 100
Resistencia 3.3 k 1 100 100
Resistencia 2.7 k 2 100 200
Resistencia 10 k 1 100 100
Disipador 1 4000 4000
Crema Disipadora 1 3000 3000
Huecos y tornillos 1 4000 4300
Circuito impreso 1 20000 20000
Montaje 1 10000 10000
Domicilios 3 5000 15000
C2000 Piccolo Launchpad 1 40000 40000
Stellaris Launchpad 1 30000 30000
TOTAL 130000
Componentes Electonicos
Microcontroladores
Miscelanea
Mano de Obra
UNIVERSIDAD INDUSTRIAL DE SANTANDER
ESCUELA DE INGENIERAS ELCTRICA, ELECTRNICA Y DE TELECOMUNICACIONES
DISEO DE CIRCUITOS ANALGICOS
Conclusiones.
Con la implementacin y diseo del amplificador Clase AB se pudo observar que la ganancia de
potencia que se esperaba en la parte terica no es tan alejada de la realidad, se obtuvo potencias
de salida superiores a los 50[Kw] que era una de las especificaciones iniciales.
Se observa la gran funcionalidad de esta clase de amplificador y que su aplicacin es acertada
cuando se refiere a estos como amplificadores de audio.
La utilizacin de enlaces entre programas como el Code composer Studio V.4 y Matlab 2012b,
2013, fueron de gran ayuda al momento de simular y programar la tarjeta C2000, lo que facilito,
en gran medida, la implementacin de diversos programas de prueba, sin embargo la
implementacin por embedded target no es tan eficiente dado que Matlab no cuenta con la
suficiente particularidad como para disear el cdigo base y toma este de CCS.
UNIVERSIDAD INDUSTRIAL DE SANTANDER
ESCUELA DE INGENIERAS ELCTRICA, ELECTRNICA Y DE TELECOMUNICACIONES
DISEO DE CIRCUITOS ANALGICOS
Consideraciones.
Al momento de iniciar el proyecto no se tenan los conocimientos de como programar e
implementar con ayuda de los micro procesadores, lo cual dificulto aun mas el trabajo que se
pretenda realizar. Al momento de montar el circuito impreso, es necesario respetar una distancia
entre el disipador y los dispositivos del circuito, pues al disipar gran cantidad de calor puede
repercutir en daos irreparables a los que estn elementos cercanos a este. Al momento de
enlazar los diferentes programas se ve imprescindible informarse de la correcta compatibilidad de
estos, pues se puede llegar a tener los programas necesarios para implementar en el micro
procesador, pero sin ser compatibles, por lo tanto no ser posible implementar diseos con las
facilidades que estos software ofrecen
UNIVERSIDAD INDUSTRIAL DE SANTANDER
ESCUELA DE INGENIERAS ELCTRICA, ELECTRNICA Y DE TELECOMUNICACIONES
DISEO DE CIRCUITOS ANALGICOS
BIBLOGRAFIA
http://www.ti.com/product/lm4780
http://centrodeartigos.com/articulos-informativos/article_65319.html
http://www.youtube.com/watch?v=AY4GzMLl30A
http://www.ti.com/tool/launchxl-f28027
http://www.ti.com/tool/ek-lm4f120xl
Circuitos Microelectronicos - Sedra & Smith - 4ed