control digital labo4

37

Upload: g10382776

Post on 24-Jan-2016

36 views

Category:

Documents


0 download

DESCRIPTION

Control Digital Labo4

TRANSCRIPT

Page 1: Control Digital Labo4

TRABAJO Nº4 – CONTROL DE VELOCIDAD DE MOTOR DC CON ENCODER

Page 2: Control Digital Labo4

2LINEAS DE TRANSMISION

I

ng

. D

íaz

Ze

ga

rr

a J

os

é A

lbe

rt

o /

20

11

- A

I. OBJETIVOS

Determinar el campo electromagnético de una línea: Bifilar y Coaxial. Poder analizar todo el conocimiento adquirido en la teoría de control y plasmarlo en el análisis de sistemas reales.

Realizar el control de un motor DC, usando como controlador a un PID (Proporcional, Integral, Derivativo, y para la manipulación de la velocidad de rotación del motor se utiliza un PWM.

II. MARCO TEORICO

El presente trabajo monográfico trata de simplificar el proceso utilizado para realizar el control de velocidad de un motor DC, por lo que, para hacer posible este procedimiento es necesario tener la función de transferencia del sistema ah controlar. Para obtener este requerimiento previo se tienen 2 métodos para llegar con la F.T, uno de ellos es utilizando los parámetros del motor y reemplazarlos en la relación ya conocida, obtenida de forma teórica analizando los circuitos internos del motor. El último método es utilizado cuando no se conoce ningún parámetro del motor, estoy hablando de la adquisición de datos, por el cual se utilizará un tarjeta de Adquisición de Datos NIDAQ 6009 y se obtendrá la curva característica del sistema y por la que siendo tratada por un análisis como el Ajuste de Curva por Interpolación Lineal, se hallará la función de transferencia.Se utilizará un PIC16F877A para generar un modulador de ancho de pulso (PWM) hacia el ENABLE del L293D (Puente H), por lo que se regulará la velocidad del motor. Este motor posee un ENCODER que emite pulsos cada vez que un engranaje pasa por cierto sensor, emitiendo así una señal, va a ser tomada por el LM29007 y hará la transformación de frecuencia a voltaje para el control del sistema.

III. MATERIALES:

LM2907

La serie LM2907 son circuitos integrados encargados de la conversión de frecuencia a voltaje. Poseen un amplificador de entrada con histéresis empotrado, una frecuencia de bomba de cargo al conversor de voltaje, y un OPAMP en modo comparador con un transistor de rendimiento no comprometido. LM2917 incorpora un regulador de Zener activo. LM2907 anula esta opción. Ambas versiones son asequibles de 14-pins dual-en-línea y de 8-pins los paquetes amoldaron, y al orden especial en otros paquetes.

Page 3: Control Digital Labo4

3LINEAS DE TRANSMISION

I

ng

. D

íaz

Ze

ga

rr

a J

os

é A

lbe

rt

o /

20

11

- A

Figura Nº 01: Estructura del LMM2907

Ventajas: Oscilaciones de salida a tierra (tensión nula) cuando la entrada en frecuencia es cero. Fácil de usar: V OUT=f ¿ x V CC xR1xC 1 Sólo una red RC proporciona doble frecuencia El regulador Zener permite tener una frecuencia estable a la conversión de voltaje o

corriente.(LM2917)

Características: La tierra de la interfaz de entrada del tacómetro interactúa de manera directa con las

pastillas de reluctancia variable magnética. El OPAMP en modo comparador posee una salida flotante en el transistor. Funciona como mínimo con 50mA de fuente para operar relays, solenoides, LEDs, etc. Doble frecuencia para bajo rizado Posee una estructura de histéresis con su respectiva entrada diferencial o entrada de

referencia a tierra. ± 3% de linealidad típica La tierra está totalmente protegida a posibles daños causados por oscilaciones o ruido

del Vcc y de la tierra.

Aplicaciones: Sensor de velocidad Tacómetro (conversor de frecuencia a voltaje) Velocímetros Circuitos de control Control del embrague Etc.

En el procedimiento se realizará la explicación más detallada de la conexión realizada para el funcionamiento casi lineal.

Page 4: Control Digital Labo4

4LINEAS DE TRANSMISION

I

ng

. D

íaz

Ze

ga

rr

a J

os

é A

lbe

rt

o /

20

11

- A

L293D (PUENTE H):

El integrado L293D incluye cuatro circuitos para manejar cargas de potencia media, en especial pequeños motores y cargas inductivas, con la capacidad de controlar corriente hasta 600 mA en cada circuito y una tensión entre 4,5 V a 36 V.

Los circuitos individuales se pueden usar de manera independiente para controlar cargas de todo tipo y, en el caso de ser motores, manejar un único sentido de giro. Pero además, cualquiera de estos cuatro circuitos sirve para configurar la mitad de un puente H.

El integrado permite formar puentes H completos, con los que se puede realizar el manejo de motores y la posibilidad de implementar fácilmente el control de velocidad.

Las entradas son compatibles con niveles de lógica TTL. Para lograr esto, incluso cuando se manejen motores de voltajes no compatibles con los niveles TTL, el chip tiene patas de alimentación separadas para la lógica (VCC2, que debe ser de 5V) y para la alimentación de la carga (VCC1, que puede ser entre 4,5V y 36V).

Las salidas poseen un circuito de manejo en configuración "totem-pole" (término en inglés que se traduce como "poste de tótem", nombre que, gráficamente, nos remite a un "apilamiento" de transistores, como las figuras en los famosos totems indígenas).

Las entradas de habilitación permiten controlar con facilidad el circuito, lo que facilita la regulación de velocidad de los motores por medio de una modulación de ancho de pulso. En ese caso, las señales de habilitación en lugar de ser estáticas se controlarían por medio de pulsos de ancho variable

Ejemplo de circuito en forma de puente H (para control bidireccional del motor) y su tabla de manejo

Figura Nº 03: Control de un motor

Page 5: Control Digital Labo4

5LINEAS DE TRANSMISION

I

ng

. D

íaz

Ze

ga

rr

a J

os

é A

lbe

rt

o /

20

11

- A

Figura Nº 04: de direccionabilidad

PIC 16F877A:

Características: Memoria de Programa tipo Flash 8Kx14 Memoria Datos 368 bytes EEPROM 256 bytes 33 pines de Entrada/Salida Encapsulado: 40 pines DIP, 44 pines PLCC y 44

pines TQFP Soporta Xtal 20MHz Voltaje de Operación: 2.0 hasta 5.5VDC

Periféricos: 1 Conversor A/D de 10-bits (8 canales) 2 Módulos CCP (Captura, Comparador, PWM) 1 Modulo I2C 1 USART (Puerto Serie) 2 Timers de 8 bits 1 Timer 16 bits

Modo PWM:

En el modo de modulación por ancho de pulso, el pasador CCPx produce hasta una resolución de salida PWM de 10 bits. Desde la CCP1pin es multiplexado con los datos PORTC cierre, la TRISC <2> bit debe ser limpiado para que el CCP1 pin una salida.

Nota: Borrar el registro CCP1CON obligará al CCP1 salida PWM cierre en el valor predeterminado bajo nivel. Este no es el PORTC datos E / S cierre.

Para obtener un procedimiento paso a paso sobre cómo configurar el PCCh módulo de PWM para la operación.

Page 6: Control Digital Labo4

6LINEAS DE TRANSMISION

I

ng

. D

íaz

Ze

ga

rr

a J

os

é A

lbe

rt

o /

20

11

- A

Figura Nº 06: Bloque simplificado PWM ESQUEMA

Una salida PWM (Figura 6) tiene una base de tiempo (periodo) y una vez que la salida se mantiene alta (ciclo de trabajo). La frecuencia del PWM es la inversa del período (1/periodo).

Figura Nº 07: Salida PWM

PWM Periodo: El período de PWM se especifica por escrito a la PR2 registro. El período de PWM se puede calcular utilizando la siguiente fórmula:

Periodo PWM = [(PR2) + 1] • 4 • TOSC • (TMR2 Valor prescaler)Frecuencia PWM se define como 1 / [período de PWM].

Cuando TMR2 es igual a PR2, los siguientes tres eventos ocurren en el ciclo siguiente incremento:

- TMR2 se borra - El contacto de CCP1 se establece (excepción: si el derecho de PWM ciclo = 0%, el pin

CCP1 no se fijan)- El ciclo de trabajo PWM está trabado desde CCPR1L en CCPR1H

Page 7: Control Digital Labo4

7LINEAS DE TRANSMISION

I

ng

. D

íaz

Ze

ga

rr

a J

os

é A

lbe

rt

o /

20

11

- A

Nota: El postscaler Timer2 es no se utiliza en la determinación de la PWM de frecuencia. El postscaler podría ser utilizado tener una tasa de actualización del servo a diferentes la frecuencia de la salida PWM.

PWM Ciclo de Trabajo:El ciclo de trabajo PWM se especifica por escrito a la CCPR1L registro y de la CCP1CON <05:04> bits. Hasta a 10 bits de resolución está disponible. El CCPR1L contiene los ocho MSBs y contiene los CCP1CON <05:04> el dos LSB. Este valor de 10 bits está representado por CCPR1L: CCP1CON <5:04>. La siguiente ecuación es utilizada para calcular el ciclo de trabajo PWM en el tiempo:

Ciclo de servicio PWM = (CCPR1L: CCP1CON <05:04>) • TOSC • (TMR2 Valor prescaler)

CCPR1L y CCP1CON <05:04> se puede escribir en cualquier tiempo, pero el valor del ciclo de trabajo no está trabado en CCPR1H hasta después de un partido entre PR2 y TMR2 se produce (es decir, el período se ha completado). En el modo PWM, CCPR1H es un registro de sólo lectura.

El CCPR1H registro y son de 2 bits internos del cierre utiliza para amortiguar el doble ciclo de trabajo PWM. Este doble búfer es esencial para la libre de saltos PWM la operación.

Cuando el CCPR1H y 2 bits cierre coincidir TMR2, concatenado con un reloj interno Q 2-bits o 2 bits del prescaler TMR2, el pin CCP1 está desactivado. La máxima resolución PWM (bits) para un PWM frecuencia está dada por la siguiente fórmula.

Nota: Si el derecho PWM valor del ciclo es más largo que el período de PWM, el pasador de CCP1 no será despejado.

Configuración del modo PWM: Los siguientes pasos se deben tomar cuando se configura el módulo CCP para la operación de PWM

1. Establecer el período PWM escribiendo al registro PR2.2. Ajuste el ciclo de trabajo PWM por escrito a la CCPR1L registro y CCP1CON <05:04> bits.3. Hacer el pin CCP1 una salida en la limpieza de la TRISC <2> bits.4. Establezca el valor de TMR2 prescaler y permitir Timer2 dirigiéndose por escrito a T2CON.5. Configurar el módulo CCP1 para operación PWM.

MODULO LCD ALFANUMERICO 2X16:

Este módulo incluye un conector para enchufar directamente en el STK200 STK300 y kits de arranque. Cuenta con un transflectiva tipo STN LCD, que ofrece excelentes ángulos de visión y alto contraste.

Page 8: Control Digital Labo4

8LINEAS DE TRANSMISION

I

ng

. D

íaz

Ze

ga

rr

a J

os

é A

lbe

rt

o /

20

11

- A

Figura Nº 08: Pantalla LCD

16x2 Características del módulo LCD alfanumérico:- Inteligente, con una función de controlador de Hitachi HD44780 compatible con LCD y

RAM proporciona sencilla interfaz- 61 x 15,8 mm de área de visualización- 5 x 7 puntos formato de la matriz de 2,96 x 5,56 mm personajes, además de la línea del

cursor- Puede mostrar 224 símbolos diferentes- Bajo consumo de energía (1 mA típico)- Conjunto de comandos de gran alcance y caracteres generados por el usuario- TTL y CMOS compatible- Conector para el estándar de cabezales de pin 0,1 de paso

16 x 2 Especificaciones del módulo LCD alfanumérico:

Page 9: Control Digital Labo4

9LINEAS DE TRANSMISION

I

ng

. D

íaz

Ze

ga

rr

a J

os

é A

lbe

rt

o /

20

11

- A

Figura Nº 09: Especificaciones del LCDE) ADQUISICIÓN DE DATOS NI-DAQ:

Fundamentos Teóricos:Para el buen entendimiento del tema en estudio es necesario tener unos conceptos básicos de lo que se va a poner a prueba, como por ejemplo:

Al implementar un sistema distribuido de medidas y control, usted puede optimizar los procesos que se ejecutan en cada máquina y en la red, crear un sistema más confiable y de mayor rendimiento.

Cuando se diseña un sistema, primero defina lo que necesita lograr. ¿El sistema va a necesitar controlar y monitorear? ¿Cuáles procesos de negocio específicos desea integrar al sistema?;

Page 10: Control Digital Labo4

10LINEAS DE TRANSMISION

I

ng

. D

íaz

Ze

ga

rr

a J

os

é A

lbe

rt

o /

20

11

- A

por ejemplo, una base de datos de compra o base de datos de registro de calidad. Es importante identificar los procesos integrales con anterioridad para diseñar adecuadamente el sistema. Escoja las herramientas adecuadas que le pueden ayudar a construir características usadas comúnmente y a alcanzar la flexibilidad para incorporar procesos personalizados o equipo de otros proveedores. NI LabVIEW es un entorno de desarrollo flexible que está diseñado para ayudarle a integrar fácilmente varios componentes en un sistema completo de monitoreo y control.

Adquisición de datos:

Puede almacenar fácilmente pequeñas cantidades de datos en archivos de texto u hojas de cálculo; sin embargo grandes cantidades de datos se benefician por formatos de almacenamiento de datos más sofisticados.

Puede escoger entre varias formas de almacenar grandes juegos de datos cada uno tiene sus propias ventajas y desventajas. Los dos tipos de base de datos principalmente usados son bases de datos relacionadas y de escritura. Las bases de datos relacionadas son bases de datos más tradicionales que generalmente se usan en aplicaciones de negocios. Aunque son extremadamente flexibles, no están optimizadas para espacio en disco y rendimiento rápido. Por otro lado, las bases de datos están diseñadas para almacenar rápidamente grandes cantidades de datos en disco.

Visualización de Datos

El registro de datos a disco no es el único reto al que se enfrenta al diseñar sistemas distribuidos. Los ingenieros y operadores también necesitan visualizar los datos, ya sea conforme las señales son adquiridas o después cuando la adquisición es finalizada. Usted puede ver datos de dos diferentes maneras.

Primero, puede verlos desde el servidor durante la adquisición. También conocido como datos en vivo. Los ingenieros necesitan ver datos en vivo para monitorear el estatus de un sistema en ejecución.

Ver los datos en vivo desde una sola máquina es una operación relativamente directa. Para monitorear datos en vivo, puede crear una interfaz de usuario, como un panel frontal de LabVIEW y verlos en un monitor local o integrarlos en una página Web usando Servicios Web y LabVIEW Web UI Builder.

V. PROCEDIMIENTO, SIMULACIONES Y RESULTADOS:

Para realizar el control en lazo abierto de un motor DC con Encoder organizamos el trabajo en 2 etapas: la primera que consiste en la generación del PWM a través de un microcontrolador, en este caso un PIC 16F877A, y la segunda etapa que consiste en el empleo de un conversor de frecuencia en voltaje (LM2907). Cabe mencionar que tendremos una etapa intermedia en la que hacemos uso de un Driver (L293D) y para fines didácticos emplearemos una secuencia de luces que mostrará la variación de la velocidad del motor. Además usaremos como alimentación del motor, del LM2907 y del Puente H la tensión de 10 voltios.

Page 11: Control Digital Labo4

11LINEAS DE TRANSMISION

I

ng

. D

íaz

Ze

ga

rr

a J

os

é A

lbe

rt

o /

20

11

- A

A) PROGRAMACIÓN DEL PWM:

La primera etapa del trabajo como se explicó anteriormente es la de programación del microcontrolador. Este programa básicamente contiene el PWM que permitirá variar la velocidad del motor, sin embargo no es la única función que realiza, también debemos considerar que la programación te ofrece una visualización en un display LCD de los datos a manejar en el control, como la frecuencia de salida de la señal del Encoder, la tensión que permite variar el PWM y las revoluciones por minuto y por segundo que realiza el motor.

Tenemos que aclarar también que en el microcontrolador se están usando varios módulos como el ADC (Conversor Análogo Digital), el módulo CCP1 en modo comparador, Timer 0 y Timer 2.

Comencemos entonces con la explicación de la programación:

- En primer lugar debemos indicar que usamos el software PIC C para la elaboración del código.

- Diseñaremos el PWM en un PIC 16F877A, para lo cual emplearemos el módulo CPP1 y el Timer 2.

- Entendamos que usaremos señales de período de 1ms, para lo cual configuramos el CPP1 en modo PWM.

- Haremos uso del Timer 2 que permitirá generar exactamente 1ms como periodo configurando cada vez que se desborde a este tiempo el timer.

Periodo PWM = [(PR2) + 1] • 4 • TOSC • (TMR2 Valor prescaler)

1ms=[ (249 )+1 ] x 4 x 1

4 x10−6x (4 ) s

- Además configuramos una frecuencia de 1000hertz y una duty cicle inicial de 50%.- Consideraremos que la manera de variar el PWM será a través de un potenciómetro,

por tanto habilitamos el conversor ADC de 10 bits a través del Pin AN0.- La señal análoga detectada y convertida a digital será la que delimitará el ancho de

pulso del PWM.- Consideraremos también que emplearemos un conversor de frecuencia a tensión que

será explicado luego. Para ello utilizaremos en el PIC otro Pin de ADC, el AN1, que permitirá visualizar a través de una conversión la frecuencia a la que se realiza el giro del motor y el número de revoluciones. El uso del conversor de frecuencia a voltaje se explica en la parte B del procedimiento, donde también se toma en cuenta el Encoder.

- Para poder visualizarlos datos obtenidos de todo el proceso empleamos un display LCD el cual mostrará la frecuencia del motor, las RPS y RPM, y la tensión que gradúa el PWM.

- Mencionaremos que empleamos el Timer 0 para poder realizar precisamente las actualizaciones de visualización en el LCD las cuales serán cada 500ms de acuerdo al pre-escaler de 256.

Page 12: Control Digital Labo4

12LINEAS DE TRANSMISION

I

ng

. D

íaz

Ze

ga

rr

a J

os

é A

lbe

rt

o /

20

11

- A

- Para fines didácticos también en la programación se adjuntan un programita que se encarga del encendido de leds de acuerdo a la velocidad a la que gire el motor (a mayor velocidad, mayores leds encendidos).

Page 13: Control Digital Labo4

13LINEAS DE TRANSMISION

I

ng

. D

íaz

Ze

ga

rr

a J

os

é A

lbe

rt

o /

20

11

- A

Page 14: Control Digital Labo4

14LINEAS DE TRANSMISION

I

ng

. D

íaz

Ze

ga

rr

a J

os

é A

lbe

rt

o /

20

11

- A

B) LM2907:

La estructura básica del funcionamiento del sistema es la siguiente:

Figura. Nº 18: Estructura de funcionamiento

Entonces podemos deducir que básicamente la etapa anterior del procedimiento era la etapa algorítmica es decir de programación. Ahora realizaremos la etapa de configuración y circuitería de acondicionamiento del LM2907 (Conversor de frecuencia a voltaje) que permitirá luego realizar un análisis de control en lazo cerrado. En esta oportunidad solamente se realizará el análisis en lazo abierto. En la anterior figura se debe inicializar con un Driver que está formado por un Puente H cuyo funcionamiento se explicó en el marco teórico, luego le sigue el motor DC con su sensor de velocidad o también llamado Encoder. En esta oportunidad el Encoder posee 100 dientes y posee una alimentación externa independiente:

Page 15: Control Digital Labo4

15LINEAS DE TRANSMISION

I

ng

. D

íaz

Ze

ga

rr

a J

os

é A

lbe

rt

o /

20

11

- A

CABLES DEL ENCODER FUNCIONAMIENTOCable Rojo Fuente (5voltios)Cable Verde Tierra

Cable Amarillo Salida de pulsos cuadrados para el control del motor

Cable Blanco Salida de pulsos desfasada de la anterior en 90°

Luego de esta etapa del motor y de su respectivo sensor llega el circuito de acondicionamiento del LM2907 para finalmente adquirir la data del motor para un futuro control en lazo cerrado.

Realizaremos la siguiente configuración en nuestro integrado de acuerdo a su datasheet:

Figura. Nº 19: Configuración del LM2907

En esta oportunidad hemos empleado un integrado de 14 pines. Para realizar la configuración anterior simplemente se cortocircuitan algunos pines del integrado de 14 pines y se obtiene uno de 8 pines. Cabe indicar también que hemos realizado algunas pequeñas modificaciones con la finalidad de mejorar los resultados. Por ende variamos la resistencia de 200Ω por una de 30KΩ. Esto puesto que a la salida del pin 3 tenemos un divisor de tensión y durante las pruebas realizadas la tensión de salida no mostraba cambios considerables. Además esa resistencia de 100K ha sido sustituida por un potenciómetro lineal para lograr una mejor calibración.

Page 16: Control Digital Labo4

16LINEAS DE TRANSMISION

I

ng

. D

íaz

Ze

ga

rr

a J

os

é A

lbe

rt

o /

20

11

- A

Los valores empleados en la circuitería se obtienen de las siguientes fórmulas y realizamos los cálculos:

R1 = 100K : potenciómetro para calibración

Vcc = 10 Voltios : tensión de polarización

Vomáx = 1.930 Voltios : voltaje máximo de salida

Finmáx = 2.024 KHertz : frecuencia máxima dada por el motor a 10 voltios

Vripple = 0.05 Voltios : valor del voltaje de rizado deseado

V 0má x=( f ¿má x )x (V cc ) x (R1 ) x (C1 )

De la anterior ecuación se desprende:

C1=V 0má x

( f ¿m áx ) x (V cc ) x (R1 )

C1= 1.93(2024 ) x (10 ) x (100k )

C1=0.95nF≈1nF=1000 pF

También tenemos:

I 2=( f ¿má x )x (V cc ) x (C1 )

I 2=(2024 ) x (10 ) x (10−9 )

I 2=20.24 μ A

C2=(C 1 ) x (V cc )

2 (V ripple ) x [1− (V cc ) ( f ¿má x ) (C 1 )I 2 ]

C2≈0.47 μ F

Page 17: Control Digital Labo4

17LINEAS DE TRANSMISION

I

ng

. D

íaz

Ze

ga

rr

a J

os

é A

lbe

rt

o /

20

11

- A

Realizamos las simulaciones respectivas:

Figura. Nº 20: Configuración del LM2907 en simulador

De acuerdo al circuito de acondicionamiento anterior obtenemos las siguientes lecturas:

Figura. Nº 21: Comparación de la relación de la frecuencia y la tensión de salida

Observamos que se cumple casi una linealidad de acuerdo a nuestros cálculos, por ejemplo notamos que para una frecuencia de 2.00KHertz nos arroja una lectura de 1.99Voltios en la salida y que para 1.00KHertz una lectura de 0.99Voltios.

TACHO+1

TACHO-11

CC2

OPIN+4

OPIN-10

V+

9

GND

12

C8

E5

FLT3

U1

LM2907

C11nF

R110k

38%

RV2

100k

C20.47uF

AM FM

+

-

+88.8

Volts

R230k

ACONDICIONAMIENTO DEL LM2907

GENERADOR DE SEÑALES TENSIÓN DE SALIDA

Vo

U1(TACHO+)

Out

Out

U1(V+)

A

B

C

D

Page 18: Control Digital Labo4

18LINEAS DE TRANSMISION

I

ng

. D

íaz

Ze

ga

rr

a J

os

é A

lbe

rt

o /

20

11

- A

De manera real e implementando nuestro circuito en el protoboard obtuvimos los siguientes resultados:

Tabla N°

Frecuencia / Tensión en el LM2907

Frecuencia (KHz)

2.024 1.900 1.880 1.508 1.350 1.200 0.904 0.707 0.500 0.270 0.120 0.000

Tensión de salida

(Voltios)1.930 1.912 1.870 1.576 1.436 1.299 1.000 0.804 0.588 0.355 0.200 0.050

Frecuencia del ADC del

PIC (KHz)1.896 1.837 1.820 1.520 1.368 1.241 0.950 0.750 0.560 0.300 0.190 0.010

De la tabla anterior podemos observar que no se cumple exactamente una linealidad, puesto que existe un margen de error, sin embargo notamos que los valores obtenidos manifiestan un importante circuito de acondicionamiento, el cual podemos emplear para nuestros fines de control. También existe una frecuencia del ADC del PIC 16F877A la cual es muy cercana a la medida por el osciloscopio, la diferencia se sustenta básicamente en que el microcontrolador posee un ADC de 10 bits por tanto su exactitud no es la misma que en la vida real, pero es muy similar. Además hay que tener en cuenta los factores de ruido presentes.

Podemos observar la función obtenida de acuerdo al circuito desarrollado de acondicionamiento del LM2907, para ello empleamos Matlab:

% GRÁFICA TENSIÓN DE SALIDA vs FRECUENCIA ---> LM2907 % Ingresamos lo datosx=[0.000 0.120 0.270 0.500 0.707 0.904 1.200 1.350 1.508 1.880 1.900 2.024];y=[0.050 0.200 0.355 0.588 0.804 1.000 1.299 1.436 1.576 1.870 1.912 1.930]; % Ploteamos la graficagrid;plot(x,y,'--ro','LineWidth',2,'MarkerEdgeColor','b')TITLE('FRECUENCIA vs VOLTAJE ','color','b') ylabel('VOLTAJE (V)')xlabel('FRECUENCIA (KHz)')axis([0 2.1 0 2.5]) % hallando las constantesa=polyfit(x,y,1) % a= [0.9484 0.1079]

% La ecuación de la pendiente seria y=a(1)*x+a(2) % reemplazando constantes y graficandohold on;x=0:25;y=a(1)*x+a(2);grid;plot(x,y,'--c','LineWidth',2,'MarkerEdgeColor','r')

Page 19: Control Digital Labo4

19LINEAS DE TRANSMISION

I

ng

. D

íaz

Ze

ga

rr

a J

os

é A

lbe

rt

o /

20

11

- A

grid

axis([0 2.1 0 2.5])

Figura. Nº 22: Gráfica de la frecuencia vs tensión

Ingresamos los datos adquiridos al programa MATLAB, para poder vizualizarlo de una forma grafica. Mediante este medio podemos observar que se asemeja a uan recta, es por ello que lo linealizamos, y mediante este programa con la sentencia “polyfit”, nos da dos contstantes, que son la pendiente y el sobrepaso, las dos constantes de uan ecuación de 1er orden. Por tanto la ecuación de la recta sería:

y=0.9484 x+0.1079

Esta ecuación posteriormente será empleada para conocer el factor de conversión de la frecuencia puesto que al ADC del PIC llegará la tensión del LM2907 y está debe ser visualizada como frecuencia en el LCD.

Finalmente debemos aclarar que al realizar la implementación de la totalidad del circuito debemos tomar en cuenta que al ingresar la salida del Encoder al LM2907 debemos colocar un condensador de desacoplo, esto debido a que puede traer consigo ruido y demás señales que puedan alterar la frecuencia. En nuestro caso hemos colocado un condensador de 10uF. Además con la finalidad de filtrar alguna tensión de offset que se pueda originar por la corriente de polarización de tacómetro a la salida de este también colocamos un condensador para filtrar algún ruido, no obstante debemos evitar alterar la frecuencia de salida. Por tanto

Page 20: Control Digital Labo4

20LINEAS DE TRANSMISION

I

ng

. D

íaz

Ze

ga

rr

a J

os

é A

lbe

rt

o /

20

11

- A

debemos probar algunas capacitancias y emplear un osciloscopio para observar las variaciones o en todo caso un analizador de espectros.

C) UNIFICACIÓN DE AMBAS ETAPAS Y SIMULACIONES:

Una vez realizada ambas etapas principales y unificadas al motor junto a su Encoder (fue explicado en el paso B) tendríamos como circuito final.

A B C D E F G H J K

B C D E F G H J KA

FILE NAME:

BY:

DATE:

PAGE:

IMPLEMENTACION FINAL_OMAR.DSN10/06/2011

<NONE>

C:\Omar\7mo CICLO\CONTROL DIGITAL_OMAR\CONTROL_DE_MOTOR_LABO4\PWM PIC C\IMPLEMENTACION FINAL_OMAR.DSNPATH: 1 of 1

REV:<NONE> TIME: 02:27:56 a.m.

DESIGN TITLE: C:\Omar\7mo CICLO\CONTROL DIGITAL_OMAR\CONTROL_DE_MOTOR_LABO4\PWM PIC C\IMPLEMENTACION FINAL_OMAR.DSN

0

1

2

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

3

9

RA0/AN02

RA1/AN13

RA2/AN2/VREF-/CVREF4

RA4/T0CKI/C1OUT6

RA5/AN4/SS/C2OUT7

RE0/AN5/RD8

RE1/AN6/WR9

RE2/AN7/CS10

OSC1/CLKIN13

OSC2/CLKOUT14

RC1/T1OSI/CCP2 16

RC2/CCP1 17

RC3/SCK/SCL 18

RD0/PSP0 19

RD1/PSP1 20

RB7/PGD 40RB6/PGC 39

RB5 38RB4 37

RB3/PGM 36RB2 35RB1 34

RB0/INT 33

RD7/PSP7 30RD6/PSP6 29RD5/PSP5 28RD4/PSP4 27RD3/PSP3 22RD2/PSP2 21

RC7/RX/DT 26RC6/TX/CK 25

RC5/SDO 24RC4/SDI/SDA 23

RA3/AN3/VREF+5

RC0/T1OSO/T1CKI 15

MCLR/Vpp/THV1

U1

PIC16F877A

D7

14D

613

D5

12D

411

D3

10D

29

D1

8D

07

E6

RW

5R

S4

VS

S1

VD

D2

VE

E3

LCD1LM016L

A

B

C

D

99%

RV1

10k

D1LED-GREEN

D2LED-GREEN

D3LED-GREEN

D4LED-GREEN

D5LED-YELLOW

D6LED-YELLOW

D7LED-RED D8

LED-RED

TACHO+1

TACHO-11

CC2

OPIN+ 4OPIN- 10

V+

9

GND

12

C 8

E 5

FLT 3

U2

LM2907

C11nF

R2

10k

U2(V+)

+88.8

Volts

C2

0.47uF

IN12 OUT1 3

OUT2 6

OUT3 11

OUT4 14

IN27

IN310

IN415

EN11

EN29

VS

8

VSS

16

GND GND

U4

L293D

U4(VS)

+88.8

1

23

U5:A

74LS26

(C)

variar esta resistencia para variar el voltaje

52%

RV2

130k

MOCRICONTROLADOR CON PWM

LCD CON VALORES OBTENIDOS

PUENTE H

MOTOR DC CON ENCODER

LM20907

LEDS DE MUESTRA DE VELOCIDAD

Page 21: Control Digital Labo4

21LINEAS DE TRANSMISION

I

ng

. D

íaz

Ze

ga

rr

a J

os

é A

lbe

rt

o /

20

11

- A

Figura. Nº 23: Circuitería Final

Procederemos a observar la simulación y las diversas etapas, para ello corremos el programa. Cabe mencionar que todos estos aspectos han sido comprobados de manera real en el laboratorio obteniendo resultados óptimos. Además debemos señalar que el simulador no es en tiempo real y puede presentar algunas diferencias con la experiencia de laboratorio.

Visualizamos primero la salida que arroja el LCD y el circuito de leds que marcan la velocidad.

Figura. Nº 24 y 25: Datos en simulaciones

Observamos en las figuras que los datos arrojados para el valor de la tensión de 3.098V que controla el PWM son de una frecuencia de 717.55Hz, lo que implica 8RPS y 480 RPM. Además la secuencia de foquitos no enciende totalmente puesto que no se trata de la velocidad máxima.

Figura. Nº 26 y 27: Otros datos en simulaciones

Page 22: Control Digital Labo4

22LINEAS DE TRANSMISION

I

ng

. D

íaz

Ze

ga

rr

a J

os

é A

lbe

rt

o /

20

11

- A

Ahora notamos que varío la tensión del potenciómetro que controla el PWM y por ende variaron la frecuencia y las revoluciones. Además en el velocímetro formado por los leds se observa que ahora solo encienden tres de ellos.

D) ADQUISICIÓN DE DATOS E IDENTIFICACIÓN:

Luego de comprobar el correcto funcionamiento de nuestro circuito en lazo abierto, estamos hablando de PIC, el cual se encarga de realizar su función de PWM, el puente H, funcionando óptimamente, y el LM2907, que entrega el voltaje correcto dependiendo de la frecuencia suministrada por el ENCODER del motor DC y luego este voltaje es ingresado al PIC para ser mostrado por una pantalla LCD, porque no solo se verá este voltaje, sino también la velocidad de rotación del motor en RPS y RPM como también la frecuencia de los pulsos emitidos por el encoder, todo este proceso previa programación del PIC, anteriormente explicada.

Ahora, como ha sido anteriormente explicado se dará paso a la adquisición de datos del MOTOR DC. Primero comprobaremos el estado de la tarjeta de adquisición de datos utilizada para este propósito, la NIDAQ 6009, comprobamos su funcionamiento en el programa Measurement and Automation Explorer, la imagen aquí describe el proceso.

Figura. Nº 28

Pasamos ah acoplar esta tarjeta de adquisición por lo que identificaremos sus PINES y según la programación posterior conectaremos los pines adecuados para la adquisición. En el programa Measurement and Automation Explorer, se nos es facilitado la configuración de los pines para saber cuáles utilizar.

Ahora utilizaremos el programa Labview 2009 y realizaremos el siguiente diagrama de bloques representado en la imagen a nuestra derecha. Luego de convocar estos implementos, llamados DAQ Assistant,

Se puede observar que en el Menú de DEVICES AND INTERFACES, el programa ah identificado la conexión del USB-6009, y de esa forma estamos seguros que la tarjeta está funcionando. La testeamos y confirmamos que la tarjeta NIDAQ 6009 ah pasado el auto-testeo y está lista para su uso.

Page 23: Control Digital Labo4

23LINEAS DE TRANSMISION

I

ng

. D

íaz

Ze

ga

rr

a J

os

é A

lbe

rt

o /

20

11

- A

que es donde se ah de configurar los parámetros de trabajo de la tarjeta de adquisición, como el pin que se utilizó para la adquisición (el cual designamos como el PIN AI0 – Pin 2) y el Write to Measurement File, donde configuraremos el destino en donde crearemos el archivo con los datos adquiridos.

Figura. Nº 29

Aquí tenemos como adición las imágenes de las configuraciones del DAQ Assistant y del Write to Measurement File:

Figura. Nº 30 y 31

Luego de correr el programa es creado el archivo en la dirección especificada en el Write to Measurement File y puede ser observada utilizando el Block de Notas.

Figura. Nº 32

Ahora esta DATA, llamada Data_Motor2011A, la utilizaremos en el programa Matlab v2010 y la plotearemos dando como resultado el siguiente gráfico el cual muestra la respuesta del LM2907, que el convertidor de frecuencia a voltaje.

Page 24: Control Digital Labo4

24LINEAS DE TRANSMISION

I

ng

. D

íaz

Ze

ga

rr

a J

os

é A

lbe

rt

o /

20

11

- A

Figura. Nº 33

IDENTIFICACIÓN:

Utilizamos el Programa Matlab y generamos un código, conocido como ACIL, que es un algoritmo el cual consta de diversos cálculos que tendrán como finalidad obtener la función de transferencia del sistema sometido luego de adquirir DATA confiable.

Las siguientes líneas de código serán las que hemos utilizado para llegar con la función de transferencia deseada de este sistema de Motor DC. Se irá explicando PASO POR PASO cada parte del código para la comprensión de este.

%% CODIGO DE 'ACIL' - Ajuste de Curva por Interpolación Lineal clear all; close all; clc%Identificación de Parámetros% Lectura de Dataload Data_Motor2011A.lvm % Con esto cargamos el Archivo donde se encuentra la data obtenida por la NIDAQ

%% Ploteo de la DATA en la Escala Lineal: y(t) vs. t t=Data_Motor2011A(:,1); % Tiempoy=Data_Motor2011A(:,2); % Señalfigureplot(t,y)xlabel('t(seg)')ylabel('y(t)')axis ([0 6 0 2.5])title('Ploteo de la respuesta de la Planta adquirida por la NIDAQ')

Page 25: Control Digital Labo4

25LINEAS DE TRANSMISION

I

ng

. D

íaz

Ze

ga

rr

a J

os

é A

lbe

rt

o /

20

11

- A

Figura. Nº 34

Como ya ah sido mostrada anteriormente, aquí se observa la gráfica que representa la data adquirida con la NIDAQ 6009 con 1000 lecturas por segundo, en un tiempo de simulación de 6 segundos. En el código (t=Data_Motor2011A(:,1)) indica que todos los elementos de la primera columna son el Tiempo y (y=Data_Motor2011A(:,2)) indica que todos los elementos de la segunda columna corresponde a la Salida en Voltaje.

%% Extrayendo una muestra Para el análisist=Data_Motor2011A(2600:3000,1);y=Data_Motor2011A(2600:3000,2);t=Data_Motor2011A(2600:3000,1)- min(t);y=Data_Motor2011A(2600:3000,2)- min(y);figureplot(t,y,'r','LineWidth',1)xlabel('t(seg)')ylabel('y(t)')

Figura. Nº 35

En esta parte del código, estamos tomando una muestra de la data adquirida, esta muestra nos servirá para modelar la curva eh identificaremos parámetros extraídos de esta porción de curva.

En el código: t=Data_Motor2011A(2600:3000,1)

- min(t); y=Data_Motor2011A(2600:3000,2)

- min(y);

Son usados para hacer posible tener una gráfica con punto inicial el (0;0) y así evitar tener una F.T con DELAY.

Page 26: Control Digital Labo4

26LINEAS DE TRANSMISION

I

ng

. D

íaz

Ze

ga

rr

a J

os

é A

lbe

rt

o /

20

11

- A

%% REALIZANDO LAS OPERACIONES DEL ALGORITMO ACIL%% Ploteo de la Gráfica Ln(A - y(t)) A=max(y);xa=t;ya=log(A-y);figureplot(xa,ya,'b.','LineWidth',2)xlabel('x_a')gridylabel('y_a')title('Ploteo en Escala Semilogarítmica');

Figura. Nº 36

%% Aproximando la Mejor Recta xi=t(70:180);yi=interp1(xa',ya',xi,'linear');figureplot(xa,ya,'m.')holdplot(xi,yi,'k.')xlabel('t(seg)')ylabel('ln(A-y)')grid%% Ecuación de la Recta m=(yi(10)-yi(90))/(xi(90)-xi(10)); % Calculando el Polo m = p1p1=m; % m = 12.7356

Aquí inicia la parte del Algoritmo en encontraremos el 1er de los coeficientes CLAVE para la obtención de la F.T.A=max(y);

Lo que indica que A es el valor máximo de la muestra que sacamos anteriormente.

También realizamos el cambio en escala logarítmica:xa=t;ya=log(A-y);

Page 27: Control Digital Labo4

27LINEAS DE TRANSMISION

I

ng

. D

íaz

Ze

ga

rr

a J

os

é A

lbe

rt

o /

20

11

- A

Figura. Nº 37

%% Calculando B: B(t) = (y(t) - A) / exp(-p1*t) B=(y-A)./(exp(-p1*t)); figure plot(t,B,'r.') hold plot([0 0.5],[median(B(50:160)) median(B(50:160))],'b:') title('B(t)=(y(t)-A)/e^{-p_1t}'); B=median(B(50:160)); %B = -1.9143

Figura. Nº 38

%% CALCULANDO CC=-(A+B); % C = 0.2076

Luego de haber obtenido el valor de A y B, calcularemos el valor de otro coeficiente que es importante para obtener el valor del 2do POLO. %% Calculando p2: ln(y2)=ln[y - (A+Be^-p1t)]=ln[Ce^-p2t]

A partir de la grafica anterior, seleccionamos según nuestro juicio, la mejor RECTA:

xi=t(70:180);yi=interp1(xa',ya',xi,'linear');

Y luego obtenemos su pendientem=(yi(10)-yi(90))/(xi(90)-xi(10));

La cual será nuestro PRIMER POLO:

% Calculando el Polo m = p1p1=m; % m = 12.7356

En el algoritmo ACIL tenemos que:

B= y−Ae−p1×t

De tal forma que se ah colocado la misma ecuación en código. Vale aclarar que la imagen representa los valores de B cuando vamos reemplazando los valores de ‘y’ y el tiempo así que el valor de B será la MEDIADA, es decir el valor donde la mayoría de puntos conforman una RECTA. Por eso:

B = median(B(50:160)); %B=-1.9143

Page 28: Control Digital Labo4

28LINEAS DE TRANSMISION

I

ng

. D

íaz

Ze

ga

rr

a J

os

é A

lbe

rt

o /

20

11

- A

y2=real(log(y-(A+B*exp(-p1.*t)))); figure plot(t,y2,'k') hold plot(t,y2,'k.') xi=0:0.001:0.060; yi=interp1(t(1:20)',y2(1:20)',xi,'linear'); plot(xi,yi,'m.','markersize',8) plot(xi,yi,'r') axis ([0 0.2 -10 2]) a=real(yi(5)); b=real(yi(15)); p2=-(a-b)/(t(5)-t(15)); % p2 = 20.0239

Figura. Nº 39

En el gráfico superior podemos observar una dispersión de puntos casi aleatorios. Lo que vale la pena aclarar en este punto es que el valor de p2 es el valor de la pendiente de la única posible recta que se puede localizar en el gráfico que representa la ecuación:

y 2=real [log ( y−( A+Be−p1× t )) ]Por lo que en el código se encuentra:

xi=0:0.001:0.060; yi=interp1(t(1:20)',y2(1:20)',xi,'linear'); a=real(yi(5)); b=real(yi(15)); p2=-(a-b)/(t(5)-t(15)); % p2 = 20.0239

Así encontramos el valor del 2do Polo necesario para modelar el sistema del motor DC.

Page 29: Control Digital Labo4

29LINEAS DE TRANSMISION

I

ng

. D

íaz

Ze

ga

rr

a J

os

é A

lbe

rt

o /

20

11

- A

% CALCULANDO KK=A*p1*p2; % K = 2.7529e+003 = 2752.9

Así tenemos el último valor necesario para concretar el valor de la función de transferencia del sistema del MOTOR DC.

%% Encontrando la Función de TransferenciaGexp=tf(K,conv([1 p1],[1 p2]));FT=tf(K,conv([1 p1],[1 p2]));Gexp=zpk(Gexp); % Zero/pole/gain:% 2752.8653% -------------------% (s+126.7) (s+12.74) % Transfer function:% 2753% --------------------% s^2 + 139.4 s + 1613 t1=0:0.001:0.4;y1=step(Gexp,t1);figureplot(t,y,'k','LineWidth',2)holdplot(t1,y1,'b','LineWidth',2); legend('G_{exp}','G_{real}',4)xlabel('t(seg)')ylabel('y(t)')

Aquí por ultimo tenemos en la fórmula del código que:

F .T=Gexp=K

( s+ p1 ) (s+ p2 )= 2752.8653

(s+126.7 ) ( s+12.74 )= 2753

s2+139.4 s+1613

Figura. Nº 40

En el grafico podemos notar la similitud entre la curva de la ecuación de Gexp y la CURVA CARACTERISTICA REAL que el circuito entrega. De esta manera:

PODEMOS CONCRETAR QUE LA FUNCION DE TRANSFERENCIA OBTENIDA POR SOFTWARE ES NUESTRA FUNCION DE TRANSFERENCIA PARA EL MOTOR QUE HEMOS ESTADO UTILIZANDO EN LA EXPERIENCIA.

Page 30: Control Digital Labo4

30LINEAS DE TRANSMISION

I

ng

. D

íaz

Ze

ga

rr

a J

os

é A

lbe

rt

o /

20

11

- A

VI. CONCLUSIONES Y RECOMENDACIONES:

- Al diseñar el LM2907 tener mucho cuidado de no malograr el integrado puesto que cualquier cortocircuito o variación de tensión podría alterarlo.

- Colocamos un condensador de 10uF de la salida del Encoder al LM2907, esto debido a que puede traer consigo ruido y demás señales que puedan alterar la frecuencia.

- Colocamos un condensador a la salida del LM2907 para de filtrar alguna tensión de offset que se pueda originar por la corriente de polarización de tacómetro, no obstante debemos evitar alterar la frecuencia de salida.

- El potenciómetro de 100k empleado en el tacómetro permite modificar la linealidad de nuestro conversor de frecuencia a voltaje. Por ende si pretendemos obtener algún otro tipo de gráfica podemos variarlo.

- Además de esta configuración empleada existen muchas, las cuales figuran el datasheet del integrado LM2907.

- Escoger un sistema operativo en tiempo real y diseñar una aplicación embebida con análisis ayuda a descargar algunos de los requerimientos de cómputo desde los servidores clave, así como proporcionar algoritmos de control más rápidos y sofisticados al nivel del nodo. LabVIEW con los Módulos LabVIEW DSC y LabVIEW Real-Time le proporciona las herramientas que necesita para tener éxito al diseñar, construir e integrar sistemas distribuidos.

- Debemos considerar que si en caso se presentan problemas de acoplamiento entre el PIC el Encoder y el LM2907 debemos emplear BUFFERS con la finalidad de aislar esas conexiones y ganar corriente. Por ejemplo en el acoplamiento del Encoder con el LM2907 se suele emplear esto, pues la impedancia de salida del Encoder es alta y la del OPAMP del conversor también, por tanto se coloca un buffer con la finalidad de tener un impedancia baja y acoplarla con la alta del LM2097

Page 31: Control Digital Labo4

31LINEAS DE TRANSMISION

I

ng

. D

íaz

Ze

ga

rr

a J

os

é A

lbe

rt

o /

20

11

- A