• No se han encontrado resultados

CONTROL DE UN MÓVIL USANDO TELEMETRÍA

N/A
N/A
Protected

Academic year: 2017

Share "CONTROL DE UN MÓVIL USANDO TELEMETRÍA"

Copied!
81
0
0

Texto completo

(1)

INSTITUTO POLITÉCNICO NACIONAL

CONTROL DE UN MÓVIL

USANDO TELEMETRÍA

Tópicos Selectos de Control

Salvador Benjamín Rubio Navarro

Daniela Margarita Espino Vargas

Mallela Yoana Vázquez García

ESCUELA SUPERIOR DE INGENIERIA MECANICA Y ELECTRICA

PRESENTAN:

QUE PARA OBTENER EL TÍTULO DE:

INGENIERO EN COMUNICACIONES Y ELECTRÓNICA

ASESORES:

(2)
(3)

2 Objetivo

Diseñar e implementar un Móvil Terrestre controlado a distancia por medio de Wi-Fi. Transmitir video capturado por medio de una cámara móvil controlable montada en el Móvil por medio de Wi-Fi. Hacer una aplicación robusta que permita que el Móvil Terrestre pueda ser controlado por cualquier computadora y que permita que se puedan agregar más módulos para la medición de variables que dependan de las necesidades de la aplicación.

Justificación

La existencia de nuevas estrategias de control y automatización es siempre necesaria para poder realizar distintos procesos. Los sistemas controlados a distancia por medio de redes inalámbricas son cada vez más utilizados debido a que facilitan el control desde un punto remoto de variables que suceden en distintas partes de un proceso o incluso en distintos procesos, ayudando a ahorrar tiempo y elementos para dicho fin. Además de que facilitan el control de procesos en los que un control en el lugar del proceso resultaría peligroso.

El uso de Telemetría aplicada a Sistemas Móviles permite que la adquisición de datos pueda hacerse cubriendo un área mayor debido a la movilidad del mismo. La adquisición de video a través de Sistemas Móviles con Telemetría potencializa aún más la capacidad de estos sistemas ya que permite hacer una exploración de un área por medio de variables (imágenes) que pueden ser analizadas de manera intuitiva y a las que se les pueden aplicar distintas técnicas para el procesamiento de imágenes de manera que se pueda hacer un sistema de control inteligente. Es necesario que este tipo de Sistemas envíen al Control variables que indiquen el estado del Sistema, la transmisión de video es muy útil para este fin. Por otro lado, el transmitir video permite que el control del móvil sea más sencillo y exacto.

(4)

3 Alcance del Proyecto

El desarrollo de un Móvil Terrestre controlado a distancia tiene una infinidad de aplicaciones debido a las características del mismo. Se trata de un proyecto que puede ser llevado al mercado de manera muy sencilla debido a que es fácil de comercializar. Por otro lado, debido a que el diseño de éste proyecto está hecho pensando en que se trate de una plataforma para futuras aplicaciones, es muy fácil poder adaptarlo de acuerdo a las necesidades particulares de cada usuario.

Este proyecto puede utilizarse para explorar áreas desconocidas. Se puede aplicar en Ingeniería Civil, donde podría usarse para analizar el suelo de un área geográfica grande para conocer sus propiedades y así saber si es adecuado construir o no cierta estructura en él. También se podría utilizar en agricultura para monitorear grandes campos. Puede utilizarse para medir variables relacionadas con meteorología, como son humedad, temperatura, etc.

El móvil es muy útil para mandar imágenes y tomar mediciones de lugares en los que es complicado tomar datos, como por ejemplo, un túnel de la línea del metro, una mina, una zona geológica inestable como un volcán activo, etc. También se pude usar para adquirir datos de zonas peligrosas debido a la ocurrencia de un accidente como por ejemplo un terremoto.

Además, se puede aprovechar la transmisión de video y tratar la imagen hecha por el móvil para utilizarla en aplicaciones de seguridad para hacer por medio de ella tratamiento imagen que nos permita reconocer patrones de peligro, también se puede usar para aumentar la capacidad de un sistema de CCTV.

(5)

4

Índice

Objetivo ... 2

Justificación ... 2

Alcance del Proyecto ... 3

Capítulo I: Marco Teórico ... 6

1.1 Introducción ... 6

1.2 Potencia ... 6

1.2.1 Motores ... 6

1.2.1.1 Motores de Corriente Directa ... 6

1.2.1.2 Servomotores ... 12

1.2.1.3 Puente H ... 16

1.2.2 PWM ... 17

1.2.3 Aplicaciones de motores ... 18

1.3 Sistemas de Control ... 19

1.3 Telemetría ... 21

1.4 Protocolos de Comunicación ... 22

1.4.1 TCP/IP ... 22

1.5 Java ... 24

1.5.1 Java Media Framework ... 26

1.6 Wi-Fi... 28

1.7 Joystick ... 29

Capítulo II: Generalidades del Proyecto ... 30

2.1 Móvil... 33

Capítulo III: Plataforma de Telemetría... 34

3.1 Realizar la Conexión ... 35

3.2.1 Servidor (Centro de Control) ... 35

3.2.2 Cliente (Móvil) ... 36

(6)

5

3.3 Recepción y distribución de datos ... 38

3.4 Manejo de servicios ... 39

3.4.1 Descubrir servicios ... 39

3.4.2 Accionar Servicios ... 41

Capítulo VI: Etapa de Potencia ... 42

4.1 Puente H ... 42

4.2 Control del Puente H – Firmware ... 44

Capitulo V: Control Directo... 48

5.1 Joystick ... 50

5.2 Display Telemétrico ... 52

5.3 Transmisión de Video vía JMF-RTP ... 52

Capítulo VI: Pruebas ... 56

6.1 Pruebas Simulando con Matlab ... 56

6.1.1Selección de posición/velocidad ... 56

6.1.2 Algoritmo de control de posición/velocidad ... 57

6.1.3 Transmisión de señal de control ... 59

6.1.4 Señal de Posición/Velocidad ... 59

6.2 Pruebas Etapa de Potencia ... 61

Glosario ... 68

Conclusiones ... 71

Circuitos Integrados ... 72

(7)

6

Capítulo I: Marco Teórico

1.1 Introducción

Para hacer el diseño e implementación de un Móvil Terrestre con Telemetría, es necesario conjugar conocimientos de varias ramas: Electrónica de Potencia, Máquinas Eléctricas, Comunicaciones e Informática.

1.2 Potencia

Una etapa de potencia bien desarrollada es esencial para cualquier tipo de dispositivo móvil. Cuando se tiene un buen diseño de esta etapa la energía con la que cuenta el sistema es aprovechada al máximo ya que se busca tener la menor cantidad de pérdidas posibles por disipación. Además, un amplio conocimiento en el área de Máquinas Eléctricas es necesario para poder elegir los motores que se adecúen mejor a las necesidades del sistema.

1.2.1

Motores

Un motor es un tipo de máquina eléctrica que convierte energía eléctrica en energía mecánica.

1.2.1.1 Motores de Corriente Directa

Este tipo de motores transforman la energía eléctrica en energía mecánica. Pueden tener una característica de para o momento de torsión-velocidad muy definida o una extremadamente variable. La característica de par o de momento de torsión-velocidad del motor debe de ser adaptada al tipo de carga que tiene que impulsar, y este requerimento a dado lugar a tres tipos básicos de motores:

- Motores en derivación (o shunt) - Motores de serie

- Motores compuestos

Los motores de corriente directa se construyen del mismo modo que los generadores por lo que una máquina de corriente directa puede operar como un motor. Considere un generador de corriente directa en el que la armadura, inicialmente en reposo está conectada a una fuente de corriente directa E por medio de un interruptor. La armadura tiene una resistencia R y el campo magnético es creado por un juego de imanes permanentes.

(8)

7 someten a una fuerza porque están inmersos en el campo magnético creado por los imanes permanentes. Estas fuerzas se suman para producir un poderoso par o momento de torsión que hace girar la armadura.

Por otra parte, cuando la armadura comienza a girar, ocurre un segundo fenómeno, el efecto de generador. Sabemos que el voltaje E0 es inducido en los conductores de la armadura en cuanto éstos atraviesan un campo magnético. Esto siempre es cierto sin importa qué provoque la rotación. El valor y la polaridad del voltaje inducido son los mismos que los obtenidos cuando la máquina opera como generador.

Figura 1. Arranque de un motor de corriente directa a través de la línea

Por lo tanto, el voltaje inducido E0 es proporcional a la velocidad de rotación “n” del

motor y al flujo “Psi” por polo como vemos en la siguiente ecuación:

Consideremos ahora a Z como una constante que depende del número de vueltas en la armadura y del tipo de devanado. En el caso de devanados imbricados o de lazo, por lo que Z es el número de conductores de la armadura.

En el caso de un motor, el voltaje inducido E0 se conoce como fuerza electromotriz (fcem) porque su polaridad siempre actúa contra el voltaje de la fuente E0. Actúa contra el voltaje en el sentido de que el voltaje neto que actúa en el circuito en serie de la figura es igual a (Es-E0) volts y no a (Es+E0) volts.

(9)

8 El voltaje neto que actúa en el circuito de la armadura de la figura es (Es-E0) volts. La corriente resultante I en la armadura está limitada sólo por la resistencia de ésta, por lo que:

Cuando el motor está en reposo, el voltaje inducio E0=0, por lo que la corriente de arranque es:

La corriente de arranque puede ser 20 o 30 veces mayor que la corriente a plena carga nominal de motor. En la práctica, esto habría que los fusibles se quemaran o que los sistemas de protección se activaran. Sin embargo, si están ausentes, las grandes fuerzas que actúan en los conductores de armadura producen un poderoso para o momento de torsión de arranque y, en consecuencia, una rápida aceleración de la armadura.

Conforme se incrementa la velocidad, la fcem E0, también se incrementa, lo que provoca que el valor de (Es-E0) disminuya. Por lo que de la ecuación de la corriente podemos deducir que la corriente en la armadura disminuye progresivamente a medida que se incrementa la velocidad.

Aún cuando la corriente en la armadura disminuye, el motor continúa acelerándose hasta que alcanza una velocidad máxima definida. Sin carga, ésta velocidad produce una fcem E0. De hecho, si E0 fuera igual a Es, el voltaje neto (Es-E0) sería cero, por lo que la corriente I también sería cero. Las fuerzas impulsoras dejarían de actuar en los conductores de la armadura y la resistencia mecánica impuesta por el ventilador y los cojinetes haría que el motor se desacelerara de inmediato. A medida que disminuye la velocidad, el voltaje neto (Es-E0) aumenta y también la corriente I. La velocidad dejará de disminuir en cuanto el par o momento de torsión desarrollado por la corriente en la armadura sea igual al par o momento de torsión de la carga. De éste modo cuando un motor funciona sin carga, la fcem debe ser un poco menor de Es, como para permitir de que fluya una pequeña corriente, suficiente para producir el par o momento de torsión requerido.

Motor en derivación (shunt) bajo carga

(10)

9 hace que la fcem disminuya y el resultado es una corriente más alta y un par o momento de torsión correspondientemente más alto. Cuando el par o momento de torsión desarrollado por el motor es exactamente igual al par o momento de torsión impuesto por la carga mecánica, entonces la velocidad permanecerá constante. Por lo tanto, conforme la carga mecánica se incrementa, la corriente en la armadura aumenta y la velocidad disminuye.

La velocidad de un motor en derivación permanece relativamente constante al funcionar sin carga y pasar a plena carga. En motores pequeños, sólo disminuye de 10 a 15 por ciento cuando se aplica la carga completa. En máquinas grandes, la disminución es incluso menor, debido en parte a la bajísima resistencia de la armadura. Ajustando el reóstato de campo, se puede mantener la velocidad absolutamente constante a medida que cambia la carga.

En la figura se muestran las características típicas de par o momento de torsión-velocidad y momento de torsión corriente de un motor en derivación. La torsión-velocidad, el par o momento de torsión y la corriente se dan en valores por unidad. El momento de torsión es directamente proporcional a la corriente en la armadura. Además la velocidad cambia solo de 1.1 a 0.9 pu a medida que el par o momento de torsión se incrementa de a 2 pu(valor por unidad).

Motor en Serie

Un motor en serie se construye de la misma manera que un motor en derivación, excepto por lo referente al campo. El campo está conectado en serie a la armadura, por lo que se debe transportar toda la corriente de la armadura. Este campo en serie se compone de unas cuantas vueltas de alambre que tiene una sección transversal suficientemente grande para transportar la corriente.

(11)
[image:11.612.199.408.447.667.2]

10

Figura 3.

a) Diagrama de conexión de un motor en serie.

b) Diagrama esquemático de un motor en serie.

Cuando un motor en serie opera a plena carga, el flujo por polo es igual al de un motor en derivación de potencia y velocidad idénticas. Sin embargo, cuando el motor en serie arranca, la corriente en la armadura es más alta que la normal, lo que da como resultado que el flujo por polo también sea mayor que el normal. Se deduce que el par o momento de torsión de arranque de un motor en serie es considerablemente mayor que el de un motor en derivación, lo que se puede apreciar comparando las curvas T con las I.

(12)

11 Curvas características típicas de par-velocidad y par-corriente de un motor en serie

Por otra parte, si el motor en serie opera con una carga menor que la plena, la corriente en la armadura y el flujo por polo son menores que los normales. El campo más débil eleva la velocidad del mismo del mismo modo que lo haría en un motor en derivación con un campo en derivación débil. Obviamente, si la carga es pequeña, la velocidad puede elevarse a valores peligrosamente altos. Por ésta razón nunca se permite que un motor en serie opere sin carga. Tiende a embalarse y las fuerzas centrífugas resultantes podrían arrancar los devanados de la armadura y destruir la máquina.

Motores compuestos

Un motor de corriente directa tiene tanto un campo en serie como un campo en derivación. En un motor compuesto acumulativo la fuerza electromotriz de los dos campos se suma. El campo en derivación siempre es más fuerte que el campo en serie.

Cuando el motor funciona sin carga, la corriente I en el devanado en serie en la armadura es baja y la fuerza electromotriz (fmm) del campo en serie es mínima. Sin embargo, el campo en derivación es excitado completamente por la corriente Ix, por lo que el motor se comporta como una máquina en derivación: no tiende a embalarse con carga.

(13)
[image:13.612.186.419.85.377.2]

12

Figura 5.

a) Diagrama de conexión de un motor de cd compuesto

b) Diagrama esquemático del motor

1.2.1.2 Servomotores

En los sistemas de control, un servomotor es utilizado para convertir un elemento de control final en desplazamiento, velocidad, torque, etc. Los servomotores pueden ser tanto de corriente alterna como de corriente directa.

Las características fundamentales que se deben buscar en cualquier servomotores de corriente directa o alterna son las siguientes:

1. Que el par de salida del motor se aproximadamente proporcional a su voltaje de control aplicado (desarrollado por el amplificador en respuesta a una señal de error).

2. Que la dirección del par esté determinada por la polaridad instantánea del voltaje de control.

(14)

13 Se usan cuatro tipos de motores de corriente directa:

[image:14.612.228.385.130.216.2]

Servomotor de corriente directa de Campo Controlado

Figura 6. Servomotor de cd de Campo Controlado

El par que produce este tipo de motor es cero cuando el amplificador de error de corriente directa no se le suministra excitación de campo. Como la corriente de la armadura siempre es constante, el par varía directamente de acuerdo con el flujo del campo y también de acuerdo con la corriente de campo hasta la saturación. Si se invierte la probabilidad del campo, se invierte la dirección del motor. El control de la corriente del campo mediante este método se usa sólo en servomotores muy pequeños, debido a que no es deseable suministrar una corriente de armadura grande y fija como la que se necesitaría para los servomotores grandes de corriente directa y su respuesta dinámica es más lenta que la del motor de armadura controlada, debido a la mayor constante de tiempo del circuito altamente inductivo de campo.

Servomotor de corriente directa con derivación de armadura controlada

El servomotor emplea una excitación de campo de corriente directa fija que suministra una fuente de corriente constante. Éste tipo de control posee determinadas ventajas que no tiene el método de control de campo. Un cambio súbito grande o pequeño, en el voltaje de armadura ocasionado por una señal de error provocará una respuesta casi instantánea en el par debido a que el circuito de armadura es esencialmente resistivo en comparación con el circuito de campo, altamente inductivo.

[image:14.612.237.397.557.641.2]
(15)

14 El campo de este motor se trabaja en forma normal bastante más allá del punto máximo de la curva de saturación, para mantener el par menos sensible a pequeños cambios en el voltaje de la fuente de corriente constante. Además, un alto flujo en el campo aumenta la sensibilidad del motor al par para el mismo cambio pequeño en la corriente de la armadura. Los motores de corriente directa hasta de 1000 hp se impulsan de este modo mediante control de voltaje de armadura. Si la señal de error y la polaridad del voltaje de armadura se invierten, el motor invierte su dirección.

Servomotor de corriente directa en serie

Los motores pequeños de potencia fraccionaria de corriente directa y campo dividido, se pueden hacer trabajar como motores con excitación separada y de campo controlado. Un devanado se llama devanado principal y al otro se le llama devanado auxiliar, aunque ambos son generalmente iguales en fuerza magnetomotriz y están devanados alrededor de los polos de campo en tal dirección que producen inversión de rotación entre sí. Los motores se pueden excitar por separado y se puede abastecer a la armadura con una fuente de corriente constante.

Las ventajas del método de campo dividido, para controlar el campo son que la respuesta dinámica de la armadura se mejora, porque los campos siempre están excitados - no hay demora debida a constante de tiempo inductiva - y que se obtiene un grado más exacto de control debido a que la dirección de rotación responde más a diferencias extremadamente pequeñas de corriente entre los devanados principal y auxiliar.

Es difícil obtener una excitación separada de armadura empleando grandes corrientes constantes que hagan funcionar motores serie mayores. En esta configuración, la corriente de armadura del motor serie de campo dividido es la suma de las corriente por los devanados auxiliar y principal.

Servomotor de corriente directa con derivación de imán permanente o de excitación de campo fijo.

(16)

15 común laminadas, para reducir el arqueo en las escobillas siempre que se tiene un cambio rápido del voltaje de la señal. Estos dispositivos también se controlan mediante la regulación del voltaje de armadura de igual manera que el motor derivación de armadura controlada.

Este servomotor se usa en dos modos de funcionamiento: de control de posición y de control de velocidad. Los que se usan para control de posición a veces se llaman motores de par debido a que desarrollan pares extremadamente altos en reposo o bajas velocidades. A la inversa, a altas velocidades, ya que el par varía inversamente con la velocidad, el par desarrollado es extremadamente pequeño. El par que se desarrolla es también función del voltaje aplicado a la armadura.

Estos servomotores son, por lo general, totalmente cerrados y tienen grandes tamaños de armazón para permitir una disipación adecuada del calor. Dependiendo de la velocidad por controlar y de las necesidades de par de la carga que se impulsa, un motor también puede necesitar de un ventilador para mejorar la disipación del calor y enfirar la armadura.

(a) (b) (c)

[image:16.612.70.548.374.646.2]
(17)

16

Figura 9. Diagrama a Bloques del Circuito de Control interno de un Servomotor

1.2.1.3 Puente H

Se trata de un circuito electrónico que permite controlar el sentido en que gira un motor de DC. Son muy utilizados además como convertidores de potencia para obtener ca a partir de cd. Se pueden construir a partir de componentes discretos o conseguirse en forma de circuitos integrados dependiendo de las necesidades de la aplicación

Se les llama puente H debido a la forma en que está conectado el circuito, con la carga en medio y los cuatro switches simulando una H. Dependiendo de los switches que se cierren, la corriente circula a través de la carga (motor) en una u otra dirección. Por ejemplo, si se cierran los switches S1 y S4, la corriente fluye de izquierda a derecha, mientras que si se cierran S3 y S2 la corriente fluye en la carga de derecha a izquierda. Es importante notar que si se cierran los cuatro switches en el puente queda la fuente conectada directamente del positivo a tierra, lo que genera un corto circuito que puede quemar la fuente al exigirle demasiada corriente, por lo que a esta condición se le conoce como condición prohibida.

Figura 10. Puente H

(18)

17 contar con un sistema que controle los switches que se encuentran cerrados o abiertos, para lo que se puede hacer uso de un microcontrolador.

Cuando la carga del puente h es altamente inductiva, es decir cuando se tiene un motor como carga, es necesario que se coloquen unos diodos para proteger a la fuente debido a que el motor genera una fem que puede afectar a la fuente al tratar de introducirse a ella.

Figura 11. Puente H usando transistores BJT como switches

Figura 12. Forma de Onda del Voltaje aplicado sobre la carga

En la Fig ura 8, podemos obser var c ómo se comporta el voltaj e aplic ado a l a c arga, podemos ver que durante un semi-ciclo el vol taj e ti ene una polari dad y durante el sigui ente s emi-cicl o ti ene l a polaridad invers a; cada pol aridad haría que el motor gire en un s entido diferente de manera que si obser váramos el c omportamiento del motor, veríamos que gira pri mer o a la derecha y luego a l a izqui erda. Cabe notar que en el ej empl o s e consider a que el s emi-ciclo positi vo nunca está acti vado al mis mo ti empo que el s emi-ciclo negati vo porque de s er así generaríamos un c orto, se rec omienda dejar un ti empo peq ueño ll amado z ona muerta entre c ada c ambio de pol aridad para as egur ar que no se gener arán c ortos.

1.2.2 PWM

La modulación PWM (Pulse Width Modulation), es utilizada para modificar el ciclo útil

[image:18.612.239.372.191.275.2]

de una señal periódica según se desee sin modificar la frecuencia. La modificación del ciclo útil puede ser utilizada para controlar la cantidad de energía que se envía a una carga o para un canal de comunicaciones.

(19)

18 El variar el ancho del pulso en la señal hace que el voltaje promedio de la misma cambie dependiendo proporcionalmente según el ancho.

Voltaje promedio de una señal modulada con PWM

V: Voltaje de la fuente

: Ángulo que indica el ancho del pulso

Es importante notar que el voltaje promedio máximo entregado por la señal de PWM nunca va a ser mayor que el voltaje de la fuente.

La modulación del Ancho de Pulso se puede hacer por medio de componentes discretos o por medio de un microcontrolador. De éstos dos métodos el más sencillo de implementar es el del microcontrolador ya que solo se necesita activar el TIMER del contador y configurarlo para que se desborde cuando sea necesario dependiendo del ancho de pulso deseado.

1.2.3 Aplicaciones de motores

1.2.3.1 Aplicación en Motores de Corriente Directa

Supongamos que tenemos un motor de corriente directa conectado a una fuente de voltaje variable, al ir aumentando el voltaje de alimentación, observaríamos que el motor se mueve más rápido al ir aumentando el voltaje. Como se explicó anteriormente, la modulación PWM sirve para variar el voltaje promedio observado por la carga, de manera tal que si aplicamos una señal de PWM a un motor al ir variando el ángulo que indica la duración del pulso, observaríamos que la velocidad aumenta al acercarnos a los 180°.

1.2.3.2 Aplicación en Servomotores

(20)

19

Ecuación para el cálculo del tiempo en alto del pulso de PWM para obtener la posición deseada en el servo

t: tiempo [milisegundos]

φ: ángulo de deflexión deseado [grados]

ángulo de deflexión máximo [grados]

Si se le manda al servo un pulso con el ancho deseado para una posición determinada, y se deja de manda una vez que se encuentra en ésta, el servo no se mueve de esa posición; sin embargo, en cuanto se le aplica una fuerza externa, el servo cambia de posición sin poner resistencia alguna a la fuerza externa. Es importante tomar en cuenta que si se desea que el servomotor se encuentre en una posición fija, es necesario mandarle continuamente la señal con el pulso correspondiente a dicha posición; de manera que cuando se le aplique una fuerza externa al motor, el detector de error identifique que no se encuentra en la posición deseada y busque no moverse del setpoint.

1.3 Sistemas de Control

Podemos considerar un sistema de control como aquel sistema que ante unos objetivos determinados responde con una serie de actuaciones o resultados.

En todo sistema de control aparecen una serie de elementos característicos:

- Variable a Controlar. Generalmente se le conoce como señal de salida.

Constituye la señal que deseamos que adquiera unos valores determinados.

- Planta o Sistema. La Planta o sistema constituye el conjunto de elementos que

realizan una determinada función.

- Sensor. El sensor es un elemento que permite captar el valor de la variable a

controlar en determinados instantes de tiempo.

- Señal de Referencia. Es la señal consigna o valor que deseamos que adquiera

la señal de salida (objetivo de control).

- Actuador. Es el elemento que actúa sobre el sistema modificando de esta forma

la señal de salida.

- Controlador. El controlador o regulador es el elemento que comanda al actuador

en función del objetivo de control.

Cuando se desea mantener un objetivo de control determinado en un sistema dos son los esquemas de control que se pueden considerar: sistemas de control en bucle abierto y sistemas de control en bucle cerrado.

(21)

20 control en bucle abierto lo constituye la lavadora eléctrica donde el sistema de control va modificando el tiempo, la temperatura de lavado, etc. en función de la indicación del usuario y no en función del nivel de lavado de la ropa. De esta forma el usuario decide el programa que desea realizar (señal de referencia) y el control actúa sobre los diferentes mecanismos del sistema (lavadora) fe forma que realiza una serie de actuaciones sin tener en cuenta la señal de salida.

Figura 14. Sistema de control de lazo abierto

Este tipo de sistemas de control funcionan razonablemente bien siempre y cuando hayan sido perfectamente estudiados y no exista ninguna alteración sobre el sistema. Sin embargo, en el momento en que se altere alguna de las características del proceso por cualquier motivo, el objetivo de control puede no satisfacerse.

Por el contrario, en los sistemas de control en bucle cerrado existe una realimentación de la señal de salida o variable a controlar. En este tipo de sistemas se compara la variable a controlar con la señal de referencia de forma que en función de esta diferencia entre una y otra, el controlador modifica la acción de control sobre los actuadores de la planta o sistema.

En el sistema de control en bucle cerrado ya no afecta tanto las variaciones en cada una de las características del proceso ya que el controlador debe actuar en todo instante en función de la diferencia entre la señal a controlar y la señal de referencia.

Si se conociese perfectamente un sistema y no pudiese alterarse de ninguna forma las características del mismo (tanto internas como externas), es más aconsejable utilizar un sistema de control en lazo abierto pues serían más sencillos y económicos.

(22)

21 La comparación de la señal de salida obtenida en la mayor parte de las ocasiones se realiza por medio de un sensor, con una señal de referencia. Este efecto se conoce como retroalimentación. El efecto inmediato que persigue esta realimentación es reducir el error entre la señal de salida y la señal de referencia actuado en consecuencia.

La realimentación además produce efectos sobre la ganancia global del sistema, la estabilidad, así como sobre las perturbaciones posibles que se presenten sobre el mismo. Por lo tanto, la realimentación es un elemento clave a tener en cuenta en el estudio de los sistemas de control ya que puede modificar considerablemente los resultados producidos por éstos.

La transformada de Laplace constituye la herramienta fundamental para el análisis de los sistemas continuos. Resulta un método operativo que aporta evidentes ventajas para resolver ecuaciones diferenciales lineales. Recordemos que los sistemas físicos continuos, lineales e invariantes con el tiempo responden a un conjunto de ecuaciones diferenciales lineales con coeficientes contantes. La transformada de Laplace convierte la ecuación diferencial de coeficientes constantes a una ecuación polinómica en el dominio complejo. De esta forma es posible utilizar los clásicos y sencillos métodos algebraicos para su resolución en el domino complejo.

Dada una función f(t) tal que f(t)=0 para t<0, la transformada de Laplace de esta función vendrá dada por:

Siendo s la variable compleja de Laplace, es decir . De igual forma se puede definir la transformada inversa de Laplace:

1.3 Telemetría

La telemetría se refiere a la medición de variables a distancia. El propósito de un sistema con Telemetría es adquirir datos de un lugar remoto o en el que las mediciones son difíciles de obtener para transmitir estos datos en tiempo real a un receptor en el que se evalúan dichos datos para así tomar decisiones de control.

(23)

22 1. Sistema de Adquisición de Datos. Compuesto por sensores o transductores,

etapa de acondicionamiento de señal, convertidor analógico digital.

2. Sistema de Multiplexeo. Los datos obtenidos por el sistema de adquisición de datos es introducido a un sistema de multiplexeo. Esto es necesario ya que las señales que se transmiten son muchas y es necesario en ocasiones usar varios buffers de comunicación. Además de hacerse un multiplexeo de los canales de comunicación, también puede multiplexarse la información obtenida, se pueden usar multiplexeo FDM - Fequency Division Multiplexing o TDM – Time Division Multiplexing.

3. Transmisor y Antena. En un sistema de Telemetría, por lo general la comunicación se hace de manera inalámbrica, aunque el uso de cables para hacer la comunicación también es válida.

4. Receptor y Antena.

5. Sistema de Demultiplexeo. Una vez que se recibe la información es necesario es necesario usar un demultiplexor para recuperar la información original enviada.

6. Procesador para la Información Recibida. Las mediciones tomadas son utilizadas para tomar decisiones a partir de su resultado y para ser analizadas, por lo que en necesario un procesador que trate estas señales, el procesador más utilizado es una PC.

Debido a que la telemetría facilita el monitoreo automático, el registro de mediciones y el envío de comandos al centro de control, la telemetría es aplicable en diversos tipos de sistemas sin importar su complejidad o simpleza. Se puede aplicar en sistemas complejos de investigación científica, como por ejemplo en el monitoreo de naves espaciales tripuladas o no tripuladas, monitoreo del clima, exploración acuática, etc.; también es aplicable en la industria para supervisar procesos dentro de plantas de cualquier tipo, en redes de suministro ya sean eléctricas o de gas, etc. o incluso en sistemas sencillos desarrollados para oficinas o residencias.

1.4 Protocolos de Comunicación

1.4.1 TCP/IP

Un protocolo para una red define reglas en común que ayudan a llevar a cabo el proceso de transferencia de dato. Los datos viajan desde una aplicación en una computadora por medio de la red hasta otra computadora destino donde los datos son utilizados por una aplicación local. El protocolo TCP/IP define el proceso de

comunicación a través de la red, y también define como es que debe de “verse” una

(24)

23 protocolos relacionados con éste forman un sistema completo que definen como es que los datos deben de ser procesados, transmitidos y recibidos a través de una red TCP/IP.

Las tareas que lleva a cabo un protocolo TCP/IP son:

- Dividir los mensajes en paquetes de información manejables de manera que puedan ser mandados de manera efectiva a través de un medio de transmisión.

- Funcionar de interfaz con el adaptador de hardware de la red

- Direccionamiento de una computadora a la otra.

- Debe de ser capaz de controlar errores, flujo de información además de ser capaz de reconocer las computadoras. Para tener una comunicación confiable, las computadoras transmisoras y receptoras deben ser capaces de identificar y corregir transmisiones con fallas así como corregir problemas en el flujo de datos.

- Mandar datos generados por una aplicación y transmitirlos a la red y viceversa.

Para cumplir con estas tareas, los creadores de TCP/IP crearon un diseño modular en el que el sistema está dividido en componentes separados que teóricamente trabajan independientemente uno del otro. Cada componente del sistema es responsable de una parte del proceso de comunicación. La ventaja de este diseño modular es que permite que los productos que se van desarrollando se adapten fácilmente a este protocolo.

Capa de Aplicación Capa de Transporte Capa de Internet Capa de Acceso a la Red

Figura 16. Capas del Modelo TCP/IP

-Capa de Aplicación. Provee aplicaciones para la detección de problemas en: la red, transferencia de datos, control remoto y actividades de internet. Además permite que programas escritos para un sistema operativo (APIs) puedan acceder a la red

-Capa de Transporte. Se encarga de proveer control del flujo, control de los errores y sistemas de reconocimiento para la red. Sirve como una interface para aplicaciones de red.

(25)

24 arquitecturas físicas. Se encarga además del ruteamiento del tráfico de datos además de encargarse que los paquetes se envíen a través de la red de internet.

- Capa de Acceso a la Red. Provee una interface con la red física. Hace el formato para transmitir datos para el medio de transmisión y direcciona datos para la subred basada en direcciones de hardware. Provee de control de errores para los datos entregados en una red física.

Cuando el software para el protocolo TCP/IP prepara un paquete de información para su transmisión a través de la red, cada capa encargada se encarga de agrega una capa a la información a mandad que es relevante para la capa correspondiente en la computadora receptora.

Figura 17. Una muestra del sistema básico de red TCP/IP

Por otro lado, el protocolo de red llamado modelo OSI (Open Systems Interconnection)

fue un esfuerzo hecho por ISO para estandarizar el protocolo de red y así tener estándares que permitieran facilitar del desarrollo de software. El desarrollo del estándar TCP/IP ya estaba en camino cuando apareció el modelo OSI. Es importante recordar que ambos modelos son solo estándares no implementaciones, de modo que en aplicaciones reales, la comunicación no se hace siempre siguiendo el modelo al pie de la letra.

1.5 Java

(26)

25 programas no pueden ser ejecutados si no existe un método para traducirlos a una versión comprensible por la computadora. Para este cometido, necesitamos una implementación o sea un cierto número de utilidades que nos permitan efectuar esta traducción y ejecutar los programas.

Una particularidad de Java es que este lenguaje utiliza una máquina virtual. El lenguaje comprensible para el programador no es traducido al lenguaje específico utilizado por la computadora sino al de un procesador virtual. Esta traducción es efectuada por un compilador, El código resultante es llamado bytecode. El componente de software para pasar este lenguaje al del procesador es llamado Máquina Virtual Java o JVM. La JVM puede cargar el código bytecode en memoria y ejecutarlo, instrucción por instrucción. La JVM puede traducir el bytecode al lenguaje del procesador real. Entonces se trata de un compilador. El compilador traduce de forma casi instantánea el bytecode en instrucciones máquina que son ejecutadas de manera inmediata por el procesador JIT (Just In Time).

Los applets son programas Java que respetando una estructura particular le permitirán ser insertados a un documento HTML y ejecutador por la JVM del navegador. Los applets están sometidos a ciertas restricciones , como la posibilidad de acceder al disco duro del ususario, de leer cierta información, de no comunicarse con otro servidor que no se del que se han cargado los applets. El principio de estas limitaciones es impedir a los programadores mal intencionados de realizar desperfectos en el disco duro de los usuarios o de leer información confidencial.

Los applets son muy útiles para mostrar informaciones mediante una forma imposible a través del leguaje HTML, o para comunicarse con el servidor del que provienen, por ejemplo para reenviar los datos de un formulario.

Al cabo de los últimos años varias versiones de Java han visto la luz. Escoger una versión es una cuestión importante y delicada. En efecto los applets no podrán ser ejecutados si no son creados con una versión del lenguaje Java compatible con la versión JVM del navegador del usuario.

Actualmente Java es uno de los mejores lenguajes de programación que existen, y algunas de las razones son las siguientes:

- Java es ligero y poderoso - Java es compatible con Internet - Java es de propósito general

- Java es independiente de la plataforma - Java es robusto

(27)

26 Uno de los principales atractivos de Java es la multimedia, el uso de sonido, imágenes,

gráficos para hacer que las aplicaciones “cobren vida”.

1.5.1 Java Media Framework

Java Media Framework o JFM se trata de una librería que permite agregar audio o video a aplicaciones de Java o applets. JMF trata los archivos multimedia que maneja llevándolos hacia Data Sources (datos que pueden ser leídos en un JMF) o Data Sinks (para datos que pueden ser exportados). Los archivos pueden ser representados como

“sources” o fuentes (obtenidos de los URLs) que pueden ser leídos, reproducidos, y

exportados sin que el usuario tenga dificultad por el tipo de formato en que se encuentra el audio o el video.

Java Media Framework (JMF), se trata de una API para reproducir, procesar y capturar media (audio y video). Además, esta API puede ser utilizada para transmitir o recibir transmisiones de media en tiempo real o realizar videoconferencias. Para realizar estas dos tareas, JMF, utiliza RTP: Real Time Transport Protocol.

JMF surgió como resultado de una alianza entre Sun Microsystems Inc, Silicon Graphics Inc e Intel Corp.

Las principales características de JMF es que permite realizar tareas de multimedia de forma sencilla, utilizando solo algunos comandos. Permite la manipulación de video y audio locales, es decir que provienen de la máquina donde se está ejecutando el código. Además de que es capaz de funcionar con cualquier JVM (máquina Virtual).

JMF presenta una arquitectura hecha de capas: APIS de alto nivel (reproductor) y APIs plug-in (Módulos de código separado, como demultiplexores, codecs, filtros, multiplexores) de bajo nivel. Las APIs plug-in ofrecen un crecimiento para la arquitectura de los JMFs por medio de los plug-ins que pueden ser integrados a ésta arquitectura.

Aplicaciones, Applets y Beans

Presentación JMF y Procesamiento API

API Plug-in JMF

Demultiplexores, Codificadores, Filtros, Multiplexores

Figura 18. Una muestra del sistema básico de red TCP/IP

JMF ha sido diseñado para reproducir, procesar y capturar “media streams” ,datos

(28)

27 Un media stream consiste de uno o más tracks (canales de datos). Cada track representa un tipo diferente de media para describir una experiencia. Por ejemplo, un tipo de media puede contener tracks de audio además de tracks de video. Muchos tracks, son combinados para tener un track (para almacenamiento o transmisión), por medio de un proceso llamado multiplexeo. Los tracks individuales son recuperados al reproducirse por medio de demultiplexeo.

Un media stream es identificado por su ubicación así como por su protocolo de acceso. Son utilizados para ésta tarea: URLs (Uniform Resource Locators) o URLs sin manejadores de stream URL (media locators).

Un media stream puede ser categorizado como un “pull stream” o un “push stream”. Un

pull stream es iniciado y controlado desde el lado del cliente, un ejempo de este tuepo de stream es un stream de HTTP originado desde un servidor e iniciado y controlado por un cliente en un navegador de la red. En contraste, un push stream es iniciado y controlado desde el lado del servidor. Un ejemplo de esto, sería el media stream originado desde un micrófono.

Las interfaces de JMF definen el comportamiento y la interacción de los objetos utilizador para reproducir, procesar y capturar media. Implementaciones de estas interfaces operan dentro de la estructura de éste framework. Por medio del uso de managers JMF facilita la integración de nuevas implementaciones de interfaces clave en clases ya existentes. Los managers pueden ser divididos en cuatro categorías: Media managers, managers de paquetes, managers de plug-ins y managers de captura de dispositivos.

Un media manager es creado a partir de la clase Manager. Éste maneja la construcción de jugadores, procesadores, fuentes de datos y destino de datos. Además colabora a que sean integrados de forma sencilla con un JMF. Desde la perspectiva del cliente estos objetos son creados de la misma manera aunque el objeto requerido es construido desde una clase diferente.

El manager de paquetes es creado por medio de la clase PackageManager. Éste mantiene un registro de los paquetes que contienen clases de reproductores, procesadores, fuentes de datos y destino de datos. Cuando se extienden las capacidades de los nuevos clases de reproductores, procesadores, fuentes de datos y destino de datos, se deben de registrar los prefijos de los paquetes para las clases del manager de paquetes, de manera que JMF los encuentra mientras está corriendo.

(29)

28 plug-ins, es necesario registrarlos con el plug-in manager para hacer que éstos estén disponibles para procesar la plug-in API.

Los programas JMF también pueden ser diseñados para capturar media en tiempo real de una fuente para producir y reproducirse después si se desea. Éstos programas normalmente proveen con controles al usuario para que maneje el proceso de captura. En esencia un programa para capturar debe determinar si un dispositivo para la captura (micrófono o video cámara) está presente antes de poder proceder con el programa. Esto se puede lograr llamando al método getDeviceList del manager de captura de datos. Luego de recurriría a un método para la captura de información del dispositivo, CaptureDeviceInfo, y se guardaría éste en un formato adecuado dentro de un Vector

Después de que el dispositivo de captura ha sido obtenido, el programa de captura crea un procesador para manejar el procesamiento de la captura. Usualmente, un destino de datos es también creado para enrutar la media capturada para un tipo de archivo.

1.6 Wi-Fi

Wi-Fi es una tecnología que permite que una gran diversidad de equipos informáticos puedan interconectarse sin necesidad de utilizar cables. La aplicación principal que está teniendo Wi-Fi en la actualidad es la de permitir que varios dispositivos puedan compartir el acceso a Internet. La Wi-Fi Alliance define como Wi-Fi a cualquier producto para redes inalámbricas de acceso local (WLAN) y que están basados en el standard 802.11 de la IEEE.

Se puede decir que lo que hace que funcione Wi-Fi es un equipo conocido como punto de acceso (WAP-Wireless Access Point) también llamado Hot Spot. En las redes pequeñas, el punto de acceso suele estar colocado junto al equipo de acceso a Internet aunque puede también formar parte de él. Si la red es muy grande lo normal es que se encuentren en las partes altas de las paredes de los recintos.

Una de las ventajas principales del Wi-Fi es que utiliza el mismo protocolo que Internet (TCP-IP). Los puntos de acceso tienen un alcance de 20 metros.

Para que un equipo informático pueda comunicarse con el punto de acceso, es necesario que disponga de un equipo conocido como adaptador de red. Éste es una pequeña unidad que se comunica con el punto de acceso vía radio. Ésta unidad de radio es la que le ofrece al equipo la posibilidad de comunicarse de forma inalámbrica.

(30)

29 del rango. Una onda portadora es usada para transmitir los datos dentro de paquetes,

los cuales son llamados “Paquetes de Ethernet”. Cada estación se sintoniza

constantemente al canal de comunicación de radio frecuencia para recibir las transmisiones disponibles.

El estándar de encripción más común es el WEP (Wireless Equivalent Privacy), el cuál es muy fácil de corromper a pesar de estar configurado de manera correcta. Debido a esto se han desarrollados otros estándares, como el WPA y WPA2 (Wi-Fi Protected Access).

1.7 Joystick

El joystick es una especie de palanca de mando que se utiliza para unos juegos de PC y simuladores de vuelo. La PC reconoce los movimientos hacia la izquierda, derecha hacia delante y atrás por medio de resistencias eléctricas. El grado de dirección es indicado a la PC como una señal en serie. Además el joystick dispone de varios botones con los que transmite información adicional a la PC.

Las computadoras utilizan un joystick analógico, al mover la palanca se cierra un potenciómetro y se modifica la intensidad de la corriente, con lo que la computadora reconoce la información sobre el movimiento de forma continua. El joystick va conectado al puerto de juegos de doce patillas. Normalmente ésta conexión se encuentra en la tarjeta de sonido.

(31)

30

Capítulo II: Generalidades del Proyecto

El Proyecto es un Móvil Terrestre controlado a Distancia por Wi-Fi. Para aumentar la capacidad y la versatilidad del móvil, se diseñó un software basado en la tecnología SOA (Service Oriented Architecture, por sus siglas en Ingles).

La plataforma elaborada tiene como objetivo realizar el enlace entre el móvil y el centro de control remoto, a través de una conexión Wi-Fi además de que contiene una arquitectura que permite la ejecución controlada (inicio, reinicio, pausa, continuar, terminar) de servicios que realizarán las acciones necesarias para diversas aplicaciones. Estos servicios podrán aprovechar la conexión establecida de una manera sencilla y eficaz de modo que cuando se desarrollen, el enfoque esté en la aplicación y no en la forma de transmitir la información.

La principal ventaja de realizar un móvil de telemetría con una plataforma como esta se encuentra en que se pueden desarrollar con mucha facilidad nuevos servicios cada que se requiera hacer o modificar una aplicación

(32)

31 Los servicios desarrollados en esta plataforma implementan una interfaz que les da acceso al sistema ServiceManager. Es a través de este sistema que los servicios pueden descubrir y/o accionar otros servicios locales y remotos, así como servicios específicos del ServiceManager como la transmisión/recepción de datos. Una descripción más detallada de la plataforma se encuentra en

(33)

32

(34)

33 2.1 Móvil

El móvil fue construido utilizando madera. Las dimensiones del móvil eran de 1x0.5 mts. En el interior del móvil, se colocaron los módulos de potencia, el circuito del PIC que controlaba la etapa de potencia y la pila de 12 V. Se decidió que el móvil tuviera

una “tapa” que nos permitiera tener un fácil acceso a los circuitos por si era necesario

hacer algún ajuste. En la parte superior del móvil, se colocó una computadora, la cuál se encargaba de hacer la comunicación con el usuario por medio de Wi-fi.

A continuación, se muestran algunos diagramas del móvil.

Base inferior del Móvil Base superior del Móvil

[image:34.612.68.548.217.603.2]

Vista Lateral del Móvil Interior del móvil

(35)

34

Capítulo III: Plataforma de Telemetría

Para hacer la implementación final de la sección de telemetría se diseñó por medio de la arquitectura de orientación a servicios (SOA). Las ventajas que ofrece esta arquitectura incluyen un rápido desarrollo de aplicaciones (en base a servicios) y simplicidad de los servicios al segregar la aplicación de la lógica de conectividad.

Para entender cómo funciona la plataforma es necesaria una descripción detallada de todas las funciones que ofrece:

 Realizar la conexión – se encarga de enlazar a través del protocolo TCP/IP el centro control con el móvil. Si hay alguna falla en la conexión, se le informa a los servicios existentes y se reinicia la conexión.

 Envío de datos – La plataforma tiene un servicio disponible para los demás servicios que les permite enviar datos a la plataforma remota (cabe mencionar que los datos pueden ser enviados del centro de control al móvil y viceversa).

 Recepción y distribución de datos – La plataforma constantemente recibe paquetes de datos, los analiza y determina a que servicio deben ser entregados basándose en la configuración previa de estos.

 Manejo de servicios – La plataforma permite controlar cada servicio que se esté ejecutando de las siguientes formas:

 Descubrir servicios.

 Iniciar servicios.

 Reiniciar servicios.

 Pausar servicios.

 Reanudar servicios.

 Terminar servicios.

(36)

35 3.1 Realizar la Conexión

Al realizar la conexión entre el centro de control y el móvil, se siguió el modelo Servidor-Cliente en donde el centro de control es el servidor y el móvil es el cliente. Este modelo facilita la conexión ya que es más fácil tener una PC fija con una dirección IP mapeada que el móvil ya que éste puede cambiar de localidad, tener una IP dinámica en constante cambio (este caso se presenta si la conexión se hace a través de un modem 3G). Bajo este modelo, el móvil solo tiene que conocer el dominio del centro de control y la conexión podrá realizarse.

3.2.1 Servidor (Centro de Control)

[image:36.612.136.480.322.686.2]

En el caso del centro de control (le llamaremos servidor durante el resto de esta sección), este debe mantener abierto el socket de conexión para que el móvil pueda iniciar la conexión en el momento que sea necesario.

(37)

36

3.2.2 Cliente (Móvil)

En el caso del cliente, este será responsable de iniciar la conexión. Hay tres formas para controlar cuando se inicia la conexión:

 Se puede calendarizar el inicio de la conexión.

 Se puede activar manualmente.

 Se puede activar debido a algún evento detectado. (Cambio en temperatura, detección de movimiento, etc.)

(38)
[image:38.612.90.527.73.505.2]

37

Figura 25 Diagrama a Flujo del Cliente

3.2 Envío de Datos

Una vez realizada la conexión y creados los streams de entrada y salida, enviar y recibir datos es relativamente sencillo.

(39)
[image:39.612.201.412.68.386.2]

38

Figura 26. Diagrama de Flujo de envío de Datos

3.3 Recepción y distribución de datos

Al igual que existe un thread para el envío de datos, existe un thread para la recepción de datos. Este thread se encarga de constantemente vigilar el stream de entrada. Tomando cualquier paquete de datos y auto-ejecutándolo. La plataforma de telemetría permite que los servicios configuren como se ejecutarán los datos (es decir cómo se distribuirán). Cada tipo de dato que se envía contiene un código y es a partir de él que la plataforma sabe cómo ejecutar o entregar el paquete de datos. Esto le da flexibilidad al sistema, ya que dependiendo de qué servicios estén activos los datos pueden ser procesados de distintas formas.

En el caso de nuestra implementación, esta auto-ejecución se logra a través de la herencia y el polimorfismo de los paquetes de datos enviados. Es decir que a pesar de que el thread de recepción de datos considera que todos los objetos recibidos son

“DataPacket”, debido a su código cada uno es un DataPacket específico, su

(40)
[image:40.612.73.547.67.416.2]

39

Figura 27. Diagrama de Flujo de Recepción de Datos

3.4 Manejo de servicios

Una parte importante de la plataforma es la capacidad de manipular y manejar los servicios para que el móvil y el sistema de telemetría se comporten como lo deseamos.

La plataforma cuenta con una clase ServiceManager, y cada instancia de la plataforma tiene una única instancia de la clase que se puede acceder de manera estática. Esto permite que la instancia de ServiceManager de la plataforma pueda ser utilizada por cualquier servicio. Es precisamente a través de esta instancia de ServiceManager que logramos realizar un manejo de servicios.

3.4.1 Descubrir servicios

(41)

40

 queryLocalServices() para servicios locales

 queryServices() para servicios remotos

queryLocalServices()

// ServiceManager contiene un HashTable // que relaciona todos los servicios

// disponibles con un identificador tipo // string de cada servicio

HashTable<String,Service> services

Convertir services en un arreglo

[image:41.612.91.496.131.358.2]

Retornar el arreglo

(42)
[image:42.612.96.519.76.387.2]

41

Figura 29. Diagrama de Flujo de Descubrimiento de Servicios Remotos

3.4.2 Accionar Servicios

(43)

42

Capítulo VI: Etapa de Potencia

4.1 Puente H

Para lograr el que el Móvil Terrestre se moviera, se utilizaron dos motores de DC con un voltaje de alimentación de 12 V y que consumen una corriente que está entre los 2 y 3 A. Existen en el mercado varias presentaciones del Puente H, pero la mayoría no soportan mucha corriente por lo que se decidió diseñar un Puente H que permitiera a los motores exigir más corriente.

El Puente H diseñado utiliza como interruptores transistores FET debido a que pueden disipar una potencia mayor y conmutar corrientes grandes, además de que generan menos ruido que los BJT y son más estables con cambios de temperatura. Se utilizaron FETs de enriquecimiento canal N y P, que son IRF530 e IRF9530 respectivamente y soportan una corriente de 12 A.

[image:43.612.89.559.411.695.2]

El puente H utiliza cuatro interruptores, se puede observar en el diagrama del circuito que cada interruptor está compuesto de tres transistores FET. Se colocaron tres transistores ya que de esta forma cada transistor maneja únicamente 1/3 de la corriente total que exija la carga.

(44)

43 Para que los transistores se comporten como interruptores, es muy importante polarizar los transistores adecuadamente, por lo que se colocó una red de polarización conectada a cada interruptor con este fin. En el diagrama podemos observar además que se colocaron diodos en cada una de las ramas del puente para proteger a la fuente de alimentación.

El Control del Puente H se hace aplicando señales de control en el conector JLOG en el diagrama, se utilizó un pin del conector para cada cerrar cada uno de los switches (A, B, C, D) cuando se les coloca una señal de voltaje. Se decidió

A B C D

1 0 0 1 La corriente fluye de izquierda a derecha a través de la carga

0 1 1 0 La corriente fluye de derecha a izquierda a través de la carga

1 1 1 1 Se produce un corto, por lo que se considera condición prohibida

0 0 0 0 No fluye corriente a través de la carga

Figura 31. Posibles combinaciones realizadas por el Puente H diseñado.

El que cada interruptor pueda cerrarse independientemente da la posibilidad de que por medio de éste módulo se pueda hacer si se desea frenado regenerativo aunque para facilitar el modo en que se controla el puente H, también se pueden utilizar jumpers que sirven para interconectar la línea A y D , para generar una corriente que fluya de izq. A derecha sobre la carga así como las líneas B y C para el movimiento opuesto. Además se utilizaron dos LEDs conectados justo donde se conecta la carga para que sirvan como indicadores de que la corriente fluye en una u otra dirección.

Para hacer los puentes H, se hicieron módulos con circuito PCB que fueron soldados en placas de doble cara. Se decidió que los módulos fueran de doble cara para así poder aprovechar mejor el espacio, sin embargo, la elección de éste tipo de circuito impreso nos trajo muchos problemas al momento de soldarse, ya que el ser muy reducido el espacio, era más susceptible a que pequeños pedazos de soldadura hicieran cortos.

(45)

44

4.2 Control del Puente H Firmware

Para realizar el control del Puente H, se utilizó el microcontrolador PIC 18F4550. Se eligió este PIC para este fin debido a que tiene la capacidad para una conexión USB, lo que nos permite comunicarnos directamente con la PC y porque la alimentación que necesita es de 5 Volts, los cuales son fáciles de obtener por medio de un regulador LM7805. Otra ventaja es que este PIC tiene mayor número de pines que otros PICs con conexión USB, ya que se tiene acceso a cinco puertos.

El programa del PIC está hecho en lenguaje C y para compilarlo se utilizó el compilador MPLAB IDE, dado por el fabricante. Para hacer la conexión por medio de USB, se hizo que la PC observara la conexión USB como si se tratara de una conexión tipo serial lo que hizo que la comunicación fuera más rápida.

[image:45.612.340.566.75.334.2]
(46)
(47)

46

Cálculo de eventos del Timer

// Variable que representa el número de motores que // utilizan PWM en el movil

numOfMotors = 4

// Arreglo de valores representando el ancho del pulso // de cada motor.

MotorValue motors[nuberOfMotors]

// Arreglo que se utilizara para ordenar los valores // PWM

SortablePwmValue pwmValues[numOfMotors+1] // Arreglo que almacena los valores pwm ordenados //en forma de entero (2 bytes)

Int result[numOfMotors+1]

// Arreglo que representara la salida del Puerto pwm // para cada evento

byte values[numOfMotors+1]

// Arreglo que representara los valores a enviar al // microcontrolador

Byte bPwm[(numOfMotors+1)*3]

// Tiempo que tarda en ejecutar un comando el uC Doublé insCycle

i = 0; i < motors.length; i++

pwmValues[i].pwm = motors[i].pwm pwmValues[i].rank = i

pwmValues[numOfMotors].pwm = 20000 pwmValues[numOfMotors].rank = 0

Ordenar pwmValues usando pwm

i = pwmValues.length-1; i > 0; i--

pwmValues[i].pwm = pwmValues[i].pwm - pwmValues[i-1].pwm

i = 0; i < pwmValues.length; i++

result[i] = 2^16 – pwmValues[i].pwm/insCycle

[image:47.612.89.476.29.747.2]

1

(48)

47 1

values[0] = 2^numOfMotors -1

int i = 1, j = 0; i < values.length; i++, j++

values[i] =

int j = 0; j < motors.length; j++

int i = 0; i < motors.length; i++

motors[i].direction == true

motors[i].forward == true

Intercambiar bit 2^i con bit 2^(i+1) de values[j]

Copiar result y values a bPwm byte por byte

[image:48.612.82.464.48.535.2]

fin

(49)

48

IH (Interfaz de Hardware) – Generador

PWM de Tracción (Funcion de Interrupcion del µC)

// Arreglo de valores para el timer para generar PWM Byte pwmData[5];

// Indice de pwmData Byte pwmIndex;

// Arreglo de valores para el puerto de salida para // generar PWM

Byte pwmVal[5]; // Indice de pwmVal Byte valIndex;

INTCONbits.TMR0I F

pwmData[pwmIndex] == 0x00 && pwmData[pwmIndex+1] == 0x00

valIndex = (valIndex+1)%5; pwmIndex = (pwmIndex+2)%10;

TMR0H = pwmData[pwmIndex]; TMR0L = pwmData[pwmIndex+1];

LATB = pwmVal[valIndex]; pwmIndex = (pwmIndex+2)%10;

valIndex = (valIndex+1)%5; INTCONbits.TMR0IF = 0;

[image:49.612.114.511.79.667.2]

fin

(50)
[image:50.612.120.440.70.616.2]

49

Capitulo V: Control Directo

Figura 37. Diagrama a bloques del modo de operación directa

(51)

50 son instancias de la plataforma de telemetría que ya se ha descrito con anterioridad. Los bloques Cálculo de eventos del Timer e IH (Interfaz de Hardware) – Generador PWM de Tracción ya también se han descrito en el Capítulo VI: Etapa de Potencia.

Quedan por describir únicamente los servicios del Joystick, el Display Telemétrico y la Transmisión de Video vía JMF-RTP.

5.1 Joystick

[image:51.612.182.449.311.709.2]

El servicio del joystick es muy sencillo ya que su único objetivo es convertir el valor de los ejes del joystick (van desde -1.0 a 1.0) a un valor de PWM (duración del pulso en µs) y su respectiva dirección. También se utilizó este servicio para controlar los motores de la cámara, utilizando los mismos ejes del joystick pero teniendo que presionar un botón para indicar que se desea manipular la cámara y no la tracción. La conversión ocurre cuando la clase de Joystick genera un evento que uno de los ejes del Joystick ha cambiado su posición.

(52)
[image:52.612.112.506.171.408.2]

51 Complementario al servicio del Joystick, hay un pequeño servicio que periódicamente toma los valores de panValue, tiltValue, rightValue, y leftValue y los envía al móvil.

Figura 39. Representación Gráfica del Joystick utilizado

La representación gráfica del joystick utilizado nos mostraba como es que se manejaba al móvil. El móvil se podía manejar de dos maneras, por medio de una palanca o por medio de unos botones en el joystick.

(53)

52 Se incluyó además, un control del movimiento del móvil por medio de botones. Éste control resultó muy útil en pruebas iniciales, ya que nos permitió tener más certeza en los movimientos que se deseaba que tuviera el móvil.

Este botón se utiliza para iniciar la comunicación para poder manejar al móvil.

Este botón se utiliza para detener la comunicación entre el móvil y el joystick.

LB y RB son indicadores que muestran qué tanta aceleración se le está pidiendo a la llanta del lado izquierdo o del lado derecho. Cuando no se está acelerando, se muestra tal y como en la imagen. Conforme se va acelerando, una barra de color gris va llenando el recuadro blanco.

5.2 Display Telemétrico

Este servicio tiene la funcionalidad de que al ser iniciado, inicializa el servicio de video en la plataforma remota y al empezar a recibir video lo muestra en la pantalla del

Centro de Control. Esta funcionalidad la incluye java a través del paquete de JMF (Java

Media Foundation).

El diseño de la base en la que se colocaron la cámara y los motores tenía como objetivo que fuera sencilla de montar y desmontar para poder hacer cambio que después se requiriera. Se eligió este modelo de cámara porque tenía la capacidad para hacer de manera automática ajustes en el foco, que permitían tener una buena visibilidad durante el movimiento del móvil, ya que si algo se salía de foco, la cámara automáticamente buscaba la manera de arreglarlo.

5.3 Transmisión de Video vía JMF-RTP

(54)
[image:54.612.79.540.200.545.2]

53

Figura 40. Cámara, posición neutral

(55)
[image:55.612.72.541.200.553.2]

54

(56)
[image:56.612.73.542.174.526.2]

55

(57)

56

Capítulo VI: Pruebas

Las Pruebas que realizamos en el proyecto se pueden dividir en dos partes, las pruebas que hicimos en Matlab (que sirvieron para desarrollar el firmware, la etapa de control y la etapa de telemetría) y las pruebas físicas realizadas en la construcción de los puentes H.

6.1 Pruebas Simulando con Matlab

Simulamos primero con Matlab el funcionamiento del móvil. El hacer la simulación en Matlab fue muy útil ya que nos permitió tener una mejor visión del proyecto y ser capaces de dividirlo en bloques que fueran más fáciles de comprender e implementar.

[image:57.612.162.447.306.510.2]

Para hacer la Simulación en Matlab dividimos las funciones del móvil en los siguientes bloques:

Figura 43.Diagrama de los bloques utilizados para la simulación en Matlab.

6.1.1Selección de posición/velocidad

Esta parte del sistema permite al usuario, por medio de un control conectado a la PC, establecer la posición o la velocidad a la cual debe estar el carrito. En un sistema de

control esto es conocido como un “set point.” En nuestro caso particular un los gatillos

de un control de X-box 360 determinan el set point del sistema.

Este es un bloque fácil de implementar ya que MATLAB tiene un bloque que entrega las señales de todos los ejes de movimiento y todos los botones del control que esté conectado a la PC. El bloque se encuentra en la biblioteca Simulink 3D Animation y se llama Joystick )nput . Lo único que tuvimos que hacer fue adecuar la señal que sale de este bloque para que fuera compatible con el resto de nuestro sistema. Esto significa

Selección de posición/velocidad

Algoritmo de control de

posición/velocidad Transmisión de señal de control

Móvil

(58)

57 que la señal variara entre 0 y 126 marcando el 63 como 0. Esta adaptación la hicimos

por medio de los bloques “Trigger Adapter” y “Stick Adapter Plus Button” que

realizamos nosotros. Lo único que hacen es sumarle 1 a la señal de salida del Joystick Input (su señal varía de -1 a 1) y ponerle una ganancia de 63. Además pusimos un cuantificador que permite hacer discreta a la señal y la convertimos en un entero sin signo de 8 bits (uint8). Estos 2 últimos pasos permiten que el valor sea enviado por el bloque TCP/IP de MATLAB.

Figura 44. Bloque General para la selección de Posición/Velocidad

Figura 45. Bloque de adecuación de señal

6.1.2 Algoritmo de control de posición/velocidad

Tomando el set point (la referencia) y la señal de posición/velocidad de retroalimentación, este bloque determina la señal que se le debe mandar a los motores del carrito. La señal que sale de este bloque representa el ancho del pulso de la señal

PWM (“pulse width modulation” o modulación de ancho de pulso) que reciben los

Figure

Figura 3.
Figura 5.
Figura 6. Servomotor de cd de Campo Controlado
Figura 8.  (a) Vista Exterior de un Servomotor, (b) Caja Reductora, (c) Circuito de Control
+7

Referencias

Documento similar

El útil de más empleo, tanto para podar co- mo para cortar esquejes y demás necesario pa- ra injertar, es la tijera de fiodar (fig.. Conviene tener una gran- de, de 2o a 25

La Normativa de evaluación del rendimiento académico de los estudiantes y de revisión de calificaciones de la Universidad de Santiago de Compostela, aprobada por el Pleno or-

1. LAS GARANTÍAS CONSTITUCIONALES.—2. C) La reforma constitucional de 1994. D) Las tres etapas del amparo argentino. F) Las vías previas al amparo. H) La acción es judicial en

Volviendo a la jurisprudencia del Tribunal de Justicia, conviene recor- dar que, con el tiempo, este órgano se vio en la necesidad de determinar si los actos de los Estados

En el presente informe se describen los resultados obtenidos durante la práctica realizada en el laboratorio de suelos para le determinación de las propiedades físicas del

This Bachelor’s Thesis explains the early development of the game Star Quest: Treasure Time, a multiplayer metroidvania starring two main characters with various different

Así vamos a comprender a este sujeto moderno como una especie de “sinfonía” en la que las distintas voces que tiene en su entorno lo constituyen, entrando a formar parte de

Cedulario se inicia a mediados del siglo XVIL, por sus propias cédulas puede advertirse que no estaba totalmente conquistada la Nueva Gali- cia, ya que a fines del siglo xvn y en