128
UNIVERSIDAD ANDRÉS BELLO Facultad de Ingeniería Escuela de Industrias Prototipo de cabezal para antena direccional de 2.4GHz con control de orientación automático. Tesis para optar al grado “Licenciado en Ciencias de la Ingeniería” y título “Ingeniero en Automatización y Robótica”. Autor: Dennis Francisco Oyarce Abarca Profesor Guía: Néstor Palominos González Santiago de Chile, 2016.

Prototipo de cabezal para antena direccional de 2.4GHz con

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Prototipo de cabezal para antena direccional de 2.4GHz con

UNIVERSIDAD ANDRÉS BELLO

Facultad de Ingeniería

Escuela de Industrias

Prototipo de cabezal para antena direccional de 2.4GHz con control de

orientación automático.

Tesis para optar al grado “Licenciado en Ciencias de la Ingeniería”

y título “Ingeniero en Automatización y Robótica”.

Autor:

Dennis Francisco Oyarce Abarca

Profesor Guía: Néstor Palominos González

Santiago de Chile, 2016.

Page 2: Prototipo de cabezal para antena direccional de 2.4GHz con

ii

UNIVERSIDAD ANDRES BELLO

FACULTAD DE INGENIERÍA

ESCUELA DE INDUSTRIAS

INGENIERÍA EN AUTOMATIZACIÓN Y ROBÓTICA

DECLARACIÓN DE ORIGINALIDAD Y PROPIEDAD

Yo, Dennis Francisco Oyarce Abarca, declaro que este documento no incorpora material de

otros autores sin identificar debidamente la fuente.

Santiago, noviembre de 2016.

_____________________________

Firma del alumno

Page 3: Prototipo de cabezal para antena direccional de 2.4GHz con

iii

A mi familia, quienes han confiado en mí y me dan soporte.

Page 4: Prototipo de cabezal para antena direccional de 2.4GHz con

iv

AGRADECIMIENTOS

Se agradece eternamente el apoyo a los que han hecho posible este desarrollo.

Se destaca a los que han intervenido en lo positivo y se reconoce a quienes le

han dado sabor al esfuerzo, gracias por demostrar que muchas veces es

despectivo llamarle sueños a las ideas y locuras a las cosas que alimentan la

ignorancia de los que hozan.

Agradezco a Yolanda, Alejandro y Luis, por darme el apoyo fundamental, que las

palabras no pueden expresar.

A Nestor, por mostrarme el mundo de la ciencia aplicada y darme las armas con

las que comenzar.

A Dios.

Page 5: Prototipo de cabezal para antena direccional de 2.4GHz con

v

ÍNDICE GENERAL

AGRADECIMIENTOS ........................................................................................ iv

RESUMEN ........................................................................................................... x

ABSTRACT ....................................................................................................... xii

ANTECEDENTES GENERALES .................................................................. 2

INTRODUCCIÓN ................................................................................... 2

OBJETIVOS ........................................................................................... 5

OBJETIVO GENERAL .................................................................... 5

OBJETIVOS ESPECÍFICOS ........................................................... 5

ESTADO DEL ARTE Y JUSTIFICACIÓN .............................................. 6

ORGANIZACIÓN Y DESARROLLO DEL PROYECTO ......................... 8

MARCO TEÓRICO ..................................................................................... 10

ANTENA .............................................................................................. 10

COMUNICACIÓN POR RADIO FRECUENCIA............................. 10

PRINCIPIO DE FUNCIONAMIENTO DE ANTENA. ...................... 17

PROPAGACIÓN............................................................................ 23

ANTENA YAGI-UDA ..................................................................... 26

POSICIONAMIENTO ........................................................................... 29

ORIENTACIÓN ESPACIAL ........................................................... 29

MOTORIZACIÓN .......................................................................... 30

PLACA CONTROLADORA ........................................................... 31

INTERFAZ SERIAL ....................................................................... 33

SOFTWARE ........................................................................................ 34

ARDUINO IDE ............................................................................... 34

Page 6: Prototipo de cabezal para antena direccional de 2.4GHz con

vi

VISUAL STUDIO ........................................................................... 35

CONTROL POR LÓGICA DIFUSA “FUZZY” ....................................... 36

DESARROLLO DE PROTOTIPO ............................................................... 39

CARTA GANTT ................................................................................... 39

DIAGRAMAS DE LA IMPLEMENTACIÓN ........................................... 40

DIAGRAMA GLOBAL .................................................................... 40

CABEZAL DE ANTENA ................................................................ 41

FUENTE DE ENERGÍA E INTERFACE ........................................ 42

COMPUTADOR DE CONTROL .................................................... 43

DIAGRAMA DE PLACA DE CONTROL ........................................ 44

FILOSOFÍA DE CONTROL ........................................................... 45

SELECCIÓN DE HARDWARE Y MÓDULOS ...................................... 46

SERVOS ....................................................................................... 46

HUB USB ...................................................................................... 47

DONGLES WIFI ............................................................................ 47

ANTENAS ..................................................................................... 49

ETAPA DE HARDWARE CABEZAL .................................................... 52

CHASIS ......................................................................................... 52

CAJA MULTIPLICADORA ............................................................. 53

SOPORTE DE ANTENAS ............................................................. 54

HARDWARE DE ELECTRÓNICA Y ENERGÍA ................................... 54

FUENTE ATX ................................................................................ 54

CIRCUITO DE INTERFAZ USB A RJ45 Y ENERGÍA ................... 58

Cable de energía ........................................................................... 60

PLACA CONTROLADORA ........................................................... 61

Page 7: Prototipo de cabezal para antena direccional de 2.4GHz con

vii

Lista de componentes de circuitos ................................................ 65

Resumen energético del prototipo................................................. 66

ALGORITMO DE CONTROL ............................................................... 67

ETAPA DE SOFTWARE ...................................................................... 70

FIRMWARE DE MICROCONTROLADOR ARDUINO NANO ....... 70

Diagrama de Flujo de Firmware .................................................... 72

INTERFAZ DE USUARIO ............................................................. 74

VIABILIDAD ECONÓMICA ......................................................................... 84

PRUEBAS DE VALIDACIÓN Y ANÁLISIS ................................................. 86

PRUEBAS DE FUNCIONAMIENTO .................................................... 86

PRUEBAS BÁSICAS ..................................................................... 86

PRUEBAS DE CAMPO ................................................................. 87

ANÁLISIS DE RESULTADOS ............................................................. 89

CONCLUSIONES ....................................................................................... 89

GLOSARIO ................................................................................................. 90

BIBLIOGRAFÍA .......................................................................................... 92

método de McCabe Juan Manuel Fernández Peña 23/11/2006

Universidad Veracruzana ................................................................................ 94

Page 8: Prototipo de cabezal para antena direccional de 2.4GHz con

viii

ÍNDICE DE FIGURAS

No se encuentran elementos de tabla de ilustraciones.

Page 9: Prototipo de cabezal para antena direccional de 2.4GHz con

ix

ÍNDICE DE ECUACIONES

Ecuación 1 .................................................................................................................................... 11

Ecuación 2 .................................................................................................................................... 12

Ecuación 3 .................................................................................................................................... 12

Ecuación 4 .................................................................................................................................... 12

Ecuación 5 .................................................................................................................................... 13

Ecuación 6 .................................................................................................................................... 14

Ecuación 7 .................................................................................................................................... 14

Ecuación 8 .................................................................................................................................... 19

Ecuación 9 .................................................................................................................................... 20

Ecuación 10 .................................................................................................................................. 20

Ecuación 11 .................................................................................................................................. 21

Ecuación 12 .................................................................................................................................. 22

Ecuación 13 .................................................................................................................................. 22

Ecuación 14 .................................................................................................................................. 22

Ecuación 15 .................................................................................................................................. 23

Ecuación 16 .................................................................................................................................. 25

Ecuación 17 .................................................................................................................................. 68

Ecuación 18 .................................................................................................................................. 69

Ecuación 19 .................................................................................................................................. 69

ÍNDICE DE TABLAS

Tabla 1 Segmentación de canales 2.4GHz ................................................................................... 16

Tabla 2 Potencia reflejada según ROE (2006 QST © ARRL) ......................................................... 20

Tabla 3 Presupuesto de potencia ................................................................................................. 25

Tabla 4 Características Arduino NANO ........................................................................................ 32

Tabla 5 Pinout Arduino NANO ..................................................................................................... 32

Tabla 6 Características Dongle ..................................................................................................... 48

Tabla 7 Lista de componentes ..................................................................................................... 65

Tabla 8 Cuadro resumen de potencias ........................................................................................ 66

Tabla 9 Resultados pruebas básicas ............................................................................................. 86

Page 10: Prototipo de cabezal para antena direccional de 2.4GHz con

x

RESUMEN

El presente proyecto se presenta como una solución experimental al problema

de la movilidad y variación de la orientación en antenas direccionales.

Específicamente se diseña e implementa un cabezal móvil para una antena

direccional tipo Yagi en la banda de los 2.4 GHz optimizada para las frecuencias

del estándar WIFI, mecanismo que es controlado mediante una interfaz

conectada a un computador. El sistema permite que la antena posea movimiento

controlado sobre dos ejes de pivote en su origen, con variación en ángulo de

elevación de 120°, así como rotación de ángulo azimutal en 360°.

La interfaz de usuario en el computador permite dos funciones esenciales: En

primer lugar, visualizar la orientación espacial de la antena, así como variar

manualmente los ejes señalados. La segunda función es hacer seguimiento

sobre un objetivo móvil, para lo que el sistema observa la situación posicional del

punto observado, la potencia de la señal asociada y, mediante una función de

control, reorienta el cabezal hacia el punto más adecuado.

El objetivo del proyecto planteado es proponer una alternativa a la baja

disponibilidad de sistemas con características móviles en lo referido a antenas.

Si bien existen cabezales en el mercado, éstos se diseñan para aplicaciones de

características acotadas a usos específicos, tales como las monturas de radares

de uso militar, o cabezales para instrumentos de radio astronomía; bajando a

categorías de cabezales con objetivos principalmente experimentales. El

proyecto busca hacer uso de las prestaciones de alta ganancia y direccionalidad

que poseen las antenas Yagi, así como solventar el problema de la orientación

fija que tradicionalmente implica su montaje. Las aplicaciones que el sistema

permite son variadas, permitiendo el mapeo de amplias zonas respecto a sus

redes disponibles, permite la búsqueda de enlaces a muy larga distancia en forma

automatizada, solventando las tareas de búsqueda manual, por ejemplo, en la

búsqueda de redes fijas, en transceptores montados en sistemas móviles o

monitoreo de organismos en la naturaleza. Finalmente, las aplicaciones del

Page 11: Prototipo de cabezal para antena direccional de 2.4GHz con

xi

sistema de seguimiento originalmente han sido pensadas para extender el rango

de comunicación y control sobre máquinas móviles, tales como vehículos con

telemetría y, principalmente, para multicopters o sistemas similares, donde cada

día aumentan los requerimientos de ancho de banda y distancia de conexión, lo

que un enlace WIFI dinámico puede otorgar.

Esencialmente, el prototipo busca mejorar la calidad de los enlaces de WIFI

disponibles actualmente, dotándolos de mayor distancia, flexibilidad y monitoreo

sobre la posición, así como se espera aportar en el desarrollo de las tecnologías

de control sobre vehículos no tripulados.

La validación del desarrollo se establecerá mediante pruebas de campo,

estableciendo una sucesión de muestreos en diferentes escenarios de enlaces,

probando cada una de los modos de funcionamiento en condiciones reales.

Palabras clave: Antena, cabezal móvil, transceptor, wifi, radiofrecuencia,

seguimiento automático, telemetría.

Page 12: Prototipo de cabezal para antena direccional de 2.4GHz con

xii

ABSTRACT

This project is designed as an answer over the problem of positioning and mobility

of directional antennas. Specifically, this prototype has been designed for the

standard of antennas called “Yagi”, and the band of frequency selected is 2.4Ghz,

for WIFI standard. All mount on a dynamic chassis, and controlled from an PC

interface. This system allows change the orientation of antenna in two directions.

First, the chassis can rotate in horizontal way, make an azimuthal movement. The

second orientation is an elevation, turn the chassis in tilt movement, allow vary

the orientation over up and down direction.

This system allow control the orientation of the beam generated by one principal

antenna associated with an array of finder antennas. All of this, for make possible

an reliable link in the complex scenarios, like a connection with a mobile objective,

or the need of mapping the nets in a specific zone.

The prototype has three modes of function. First, the head chassis can be rotate

in both axis, azimuth and elevation in manual mode, from the user interface in a

computer. The second function is based on a mapping, when the head make a

full scan surround it, saving in a matrix each level of power and identification of

signals detected. This information dump in the user interface can be use for go to

any position by the user, with a simply click on a zone or net in the grid. The third

function of the prototype is a finder mode, with the array of four finder antennas

in sampling mode, working ganged in a control algorithm. This mode allows

dynamic movement of the head with autonomous changes of direction, based on

parameters of the target.

The basic objective of this prototype is make possible have a big zone of coverture

and a long distance of link, for this, the yagi antenna has been selected, and the

present scenario in the technology, with daily news of improvement and cheap

prices about non tripulated vehicles, and the raises of need a telemetrics and

control in the industrial mobile systems. All of this, make a need about of method

of link the systems, and the standard solution based on RF signal generally is

Page 13: Prototipo de cabezal para antena direccional de 2.4GHz con

xiii

limited, an antenna is omnidirectional, and poor in distance; or directional with

very long distance, but fixed over only one direction. The prototype can solve it.

Keywords: Antenna, transceptor, wifi, radiofrecuency, automatic tracking,

telemetrics.

Page 14: Prototipo de cabezal para antena direccional de 2.4GHz con

2

ANTECEDENTES GENERALES

INTRODUCCIÓN

La comunicación ha sido el fundamento del progreso desde los inicios de la vida

y la Civilización, mostrándose su manifestación más sutil en un organismo

unicelular, que autointerpreta sus propias señales químicas, encarnando y

heredando el mundo vivido hacia su progenie; tal como el ancestro transmitía la

historia de la tribu a las nuevas generaciones; mientras que, en el presente, con

el mismo objetivo, un Backbone Transoceánico porta Información desde Hawái a

Valparaíso. En esencia el funcionamiento de los Sistemas, cualesquiera que

sean, exige flujo de información.

Como civilización, al vivir la necesidad de estar comunicados, se ha descubierto,

perfeccionado y desarrollado una infinidad de mecanismos para lograr esta

transferencia de “cosas con significado” para superar las barreras que la

Ignorancia extiende; pasando por los lenguajes orales instantáneos, que se

lograron cristalizar en iconografía escrita, evitando así que las palabras se las

lleve el viento, rompiendo por primera vez la barrera del tiempo. También se ha

luchado con la distancia, cuando la vociferación no fue suficiente para alcanzar

hasta el siguiente poblado, la palabra escrita fue llevada en la bolsa, junto al

grano, la carne y el vino; rompiéndose la barrera de la distancia. Luego llegó

alguien que necesitó entregar la información de manera urgente, pero su voz no

alcanzaba ni había tiempo para que el mensaje viajara al siguiente poblado; pero

el humano es capaz, el humano observa, el humano unifica sus criterios, el

humano genera códigos… entonces fue la señal de humo, la antorcha en la

oscuridad, el sonido del cuerno que se escuchaba a mucha distancia.

Rompiéndose la barrera del tiempo por segunda vez y liberando de manera

definitiva el tamaño del mensaje, porque el sonido del cuerno y la luz de la

antorcha llegaron más rápido que el más veloz de los caballos.

Page 15: Prototipo de cabezal para antena direccional de 2.4GHz con

3

Las comunicaciones actuales, en enorme medida se han hecho cargo de los

problemas del tiempo y la distancia. Los ancestros que desarrollaron la base

científica para el desarrollo tecnológico han dado pie para que el mundo actual

asuma como algo natural la comunicación instantánea, exigiéndose a cada

momento una mayor realidad respecto a lo que el aparato tecnológico le entrega

a la conciencia. Si al principio bastaba un e-mail con texto, luego fue el bitmap,

luego el audio, video, la mayor resolución, la conectividad permanente sobre

internet. El cable se hizo incómodo, molesto, caro; se desarrolló la solución sin

cables, pero es difícil. Entonces el humano decidió usar nuevamente la conocida

radiofrecuencia, pero el aire es un espacio limitado, ya está habitado por muchas

bandas de importancia, entonces para el usuario común las transmisiones se

limitan, al usuario común le debe bastar con algunos metros de conectividad.

Sobre estos límites, el presente trabajo toma responsabilidad. Los estándares

implementados para las comunicaciones por RF en la banda 2.4GHz,

específicamente para WIFI, considerando que al usuario le basta con algunas

decenas de metros para sus objetivos de comunicación. A partir de esta premisa

se han diseñado transceptores de baja energía y antenas omnidireccionales de

baja ganancia, así como se busca la miniaturización de las implementaciones,

principalmente para embeberlos en dispositivos móviles. Mientras que los

sistemas que radian mayor energía, mayor cobertura en la distancia y mayor

robustez se encasillan fuertemente en 3 categorías, siendo generalmente de

posición fija, están los dispositivos omnidireccionales de corta distancia. Luego

aparecen los sistemas de radiación sectorial, que iluminan una zona acotada y

cubren distancias más largas. Finalmente aparecen los sistemas radiantes

direccionales, con destacable alcance en distancia, pero muy angosto campo de

iluminación.

Este escenario limita muchas aplicaciones que cada día son más usuales,

esencialmente porque exigen grandes distancias de enlace, buenas potencias y

sensibilidad, mientras que simultáneamente son elementos que no se mantienen

fijos. Este es el caso de los vehículos pilotados remotamente, que hacen

Page 16: Prototipo de cabezal para antena direccional de 2.4GHz con

4

transmisión multimedia en alta resolución. Así como también los sistemas

telemétricos montados en plataformas móviles requieren mantener sus enlaces.

Para esto se propone unificar la direccionalidad, potencia y largo alcance de una

antena con la posibilidad de hacer un enlace punto a punto sobre un objetivo con

capacidad de cambiar su posición.

La propuesta es un prototipo de cabezal, donde se monte una antena direccional

de alta potencia, la cual, mediante control digital y una interfaz de usuario, se

dirija hacia el objetivo según sea necesario.

Page 17: Prototipo de cabezal para antena direccional de 2.4GHz con

5

OBJETIVOS

OBJETIVO GENERAL

Diseñar e implementar un prototipo de cabezal para antena de alta ganancia en

2.4GHz, que pueda ser controlado en su eje azimutal y de elevación mediante

software. Se busca generar reorientación manual y automática basado en mapeo

de potencias de Access Point WIFI disponibles, medidas en porcentaje de

potencia, para lo cual el sistema debe albergar información de su entorno,

“conociendo” la posición de mayor potencia para una red identificada. Esta

información debe ser visualizable por el usuario en una interfaz de control gráfica

en el computador.

OBJETIVOS ESPECÍFICOS

Establecer una base teórica sobre los principios que subyacen a la

comunicación RF de microondas en 2.4GHz, estándar 802.11 bgn WIFI.

Establecer una base teórica para el diseño del sistema de control y la solución

mecánica del cabezal de la antena.

Generar una solución electromecánica para movilizar el cabezal.

Diseñar y construir una solución electrónica de interfaz entre cabezal y

computador.

Diseñar e implementar una interfaz de usuario en computador, que permita

visualizar y controlar, manual o automáticamente las variables de posición y

los resultados del escaneo de la zona.

Integrar un algoritmo de control Fuzzy para la orientación automática del

cabezal.

Ejecutar pruebas de funcionamiento.

Page 18: Prototipo de cabezal para antena direccional de 2.4GHz con

6

ESTADO DEL ARTE Y JUSTIFICACIÓN

Si bien los enlaces de comunicación por RF actualmente se encuentran

naturalizados ampliamente gracias a la masividad del uso del WIFI, aún existen

variadas aplicaciones sobre las cuales existen problemas de implementación

(Inostroza, 2013). La existencia de proyectos de implementación e

investigaciones respecto al uso de antenas de orientación dinámica, se ha

limitado principalmente a aplicaciones de índole científico, militar y en muy pocos

casos ha llegado al usuario común. En el caso estudiado, al tratarse de

telecomunicaciones de datos sobre bandas de microondas se reduce aún más la

disponibilidad de implementaciones (Babuscia et al. 2012).

El uso generalizado del estándar WIFI es generar redes LAN inalámbricas de

corto alcance, con prestaciones de ancho de banda que tratan de acercarse al

estándar Ethernet. El estado del arte actual ha extendido el rango de uso de la

tecnología WIFI hasta distancias para las que originalmente no ha sido diseñado,

exigiendo adaptaciones para elevar la potencia de las emisiones EM así como la

sensibilidad de los transceptores; sin embargo estas implementaciones

usualmente asumen enlaces de punto fijo en la distancia, así como orientación

definida direccionalmente sólo al momento del montaje (Crespo, 2008).

Un escenario distinto se presenta en el ámbito militar, donde el uso de antenas

direccionales dinámicas para comunicaciones a larga distancia o en sistemas de

radar son usuales. Así mismo en el caso de la radio astronomía y las

comunicaciones satelitales se lleva la idea de la antena direccional dinámica

hasta el extremo, tanto en la Tierra como en el espacio, ejemplificándose esto

con los arreglos de parabólicas del observatorio ALMA, así como en los sistemas

implementados en los satélites para orientar sus antenas hacia telepuertos en la

Tierra (Farris A. et al, 2005).

En este momento, las implementaciones más cercanas a lo que pretende el

proyecto corresponde a los llamados “Antenna Trackers”, los que consisten en

cabezales “Pan Tilt” (azimut y elevación) motorizados para antenas direccionales,

Page 19: Prototipo de cabezal para antena direccional de 2.4GHz con

7

generalmente usados para fines de transferencia de señal de video y control en

aeromodelismo.

La disponibilidad de estos aparatos en este momento es reducida, no están

sujetos a estándares de control de precisión con seguimiento automático y

esencialmente están inspirados en el uso recreativo, contando pocas veces con

interfaces de control de usuario automatizada.

Frente a lo anterior, considerando que en los últimos 5 años ha sucedido un

explosivo aumento en el uso de multicopters y vehículos monitorizados, los que

en su mayoría integran comando o streaming de datos basados en el estándar

WIFI, se hace evidente el problema en que las prestaciones de distancia y

variabilidad en la orientación del enlace son más exigentes, es en este punto

donde un cabezal de antenas direccionales dinámico con función de control

automático de seguimiento puede aportar una solución (Galeas P. 2013).

Al reunir los factores de la situación planteada aparecen condiciones que deben

ser cubiertas por el sistema a diseñar e implementar. En primer lugar, al tratarse

de un artefacto de uso civil, éste debe limitar su costo a valores apropiadamente

bajos. Respecto a las dimensiones, el artefacto debe ser portable, liviano y

montable de manera simple y rápida. Debe ser compatible con dispositivos

existentes en el mercado, esto referido a los propios elementos y materiales de

su construcción, además de la compatibilidad con transceptores y antenas

tradicionales. Finalmente, las potencias utilizadas deben estar en el rango del

consumo usual de un computador personal, precisamente buscando la

portabilidad de la implementación.

En esencia, se busca contribuir con este desarrollo experimental a que los

enlaces WIFI tengan una mejora en su desempeño, al integrar la capacidad

direccional sobre los sistemas móviles que existen actualmente, dotándolos de

mayor flexibilidad, distancias de enlace mayores y la capacidad de monitoreo

junto al control posicional.

Page 20: Prototipo de cabezal para antena direccional de 2.4GHz con

8

ORGANIZACIÓN Y DESARROLLO DEL PROYECTO

El desarrollo del proyecto está estructurado en una secuencia progresiva de

fases.

En el capítulo 1 se presenta una introducción global sobre el proyecto a

desarrollar, su justificación, así como el estado del arte en su campo. Se presenta

el objetivo principal y los objetivos específicos.

El capítulo 2 corresponde a una etapa de investigación sobre los ámbitos

científico-técnicos, considerando esto como una base teórica que sustentará las

decisiones tomadas al momento del diseño, contemplando los aspectos electro

mecánicos, electromagnéticos y de control.

En el tercer capítulo se desarrolla la proyección del prototipo y se detalla su

estructura lógica mediante esquemas que cubren sus módulos estructurales, así

como el flujo de información. El planteamiento de la solución y los detalles

técnicos se extienden las siguientes etapas:

Etapa de Hardware, donde se diseña y construye el soporte móvil

electromecánico, que incluye chasis para la antena, así como los

actuadores necesarios para el movimiento y control.

Etapa de Interface electrónica y de potencia, en la cual se diseña y

construye la electrónica apropiada para el control del cabezal, incluyendo

la entrada y salida de información hacia el cabezal, la alimentación de

potencia y el computador de control.

Etapa de interfaz de usuario, software y firmware de control. Corresponde

a la programación de la interfaz gráfica de usuario, así como las soluciones

de control que se encargan de los movimientos apropiados del cabezal;

vinculados a los muestreos de nivel de señal que entrega el transceptor.

Page 21: Prototipo de cabezal para antena direccional de 2.4GHz con

9

El capítulo 4 contiene una descripción de la situación económica asociada a los

componentes y la viabilidad del proyecto, exponiendo las consideraciones

experimentales del prototipo.

La fase final del proyecto corresponde a hacer pruebas de campo, muestreando

algunos objetivos con diversidad en potencia y distancia, así como escenarios

diversos. Considerando para esto un análisis de resultados, exposición de los

aciertos y las falencias del prototipo, así como posibles mejoras y las

conclusiones generales del proyecto, todo esto contenido entre los capítulos 5, 6

y 7. Desde el capítulo 8 en adelante se tratan referencias y anexos.

Page 22: Prototipo de cabezal para antena direccional de 2.4GHz con

10

TX RX

MARCO TEÓRICO

ANTENA

COMUNICACIÓN POR RADIO FRECUENCIA

Las comunicaciones por radio frecuencia son hasta el día de hoy el método más

utilizado en los sistemas de telecomunicación. La base subyacente a esta

categoría de mecanismos se origina en los fenómenos asociados a la inducción

y resonancia entre sistemas de emisión y recepción electromagnética (EM). Esta

comunicación es una interacción entre al menos dos sujetos, quienes se pasan

información a través de un medio, la interface que soporta este intercambio, en

este caso, es proporcionada por ondas electromagnéticas, esencialmente a

través del aire.

Figura 1 Esquema de Comunicación

Fuente

de señal

Salida

de señal

Emisión de oscilación Electromagnética

Antena

Receptora

Page 23: Prototipo de cabezal para antena direccional de 2.4GHz con

11

Por principio, en la naturaleza se da el fenómeno de la resonancia, dónde la

geometría o configuración de un sistema admite la recepción de pulsos

periódicos de energía en una manera facilitada si se dan las condiciones

apropiadas.

Esencialmente para que exista resonancia debe existir una relación proporcional

entre la estructura del sistema receptor (RX) y la longitud de onda “λ” de las

señales generadas por el emisor (TX). Este fenómeno es aprovechado por los

sistemas de radiocomunicación, donde se utiliza en forma selectiva una

frecuencia a la que está sintonizado el sistema receptor RX, logrando resonar y

luego procesar la señal.

La resonancia de este tipo de sistemas se puede modelar considerando la idea

simplificada de un circuito cerrado donde una fuente de corriente alterna está

conectada en serie a un grupo con impedancia Z, este grupo se puede

comprender como una equivalencia a una resistencia, donde existen elementos

que desfasan la corriente frente a la tensión, hacia adelante o hacia atrás en el

tiempo, estos son elementos inductivos (bobinas) y capacitivos (condensadores).

Donde la impedancia (Z), es la suma de la resistencia pura del grupo y la

resistencia equivalente de condensador y bobina pasan a llamarse Reactancia

(X), que se ubica en los imaginarios.

𝑍 = 𝑅 + 𝑗𝑋

𝑍 = 𝑅 + 𝑗(𝑋𝑙 − 𝑋𝑐)

Ecuación 1

Page 24: Prototipo de cabezal para antena direccional de 2.4GHz con

12

La resonancia en este modelo implica que la inductancia de la bobina y la

capacitancia del condensador están compensadas entre sí, anulando el desfase

frente a la frecuencia de la corriente, comportándose como un conjunto

únicamente resistivo. Esto permite que el circuito se comporte a manera de filtro

pasabanda, poseyendo un comportamiento meramente resistivo, únicamente a

la frecuencia deseada, generando una disminución progresiva sobre el paso de

corriente para el resto de las frecuencias.

La expresión que modela la resonancia eléctrica es como sigue:

𝜔0 =1

√𝐿 ∗ 𝐶

Ecuación 2

Donde 𝜔0 corresponde a la velocidad angular que representa el modelo

oscilatorio, descrito por:

𝜔0 = 2 ∗ 𝜋 ∗ 𝑓

Ecuación 3

Donde 𝑓 es la frecuencia de oscilación en Hertz, ciclos por segundo, y 2𝜋

corresponde a un ciclo completo de oscilación.

Reordenando se obtiene:

𝑓 =1

2 ∗ 𝜋 ∗ √𝐿 ∗ 𝐶

Ecuación 4

Este fenómeno se aplica de manera equivalente en un circuito de sintonización

de radio, así como para una antena resonante, que igualmente es un circuito.

Page 25: Prototipo de cabezal para antena direccional de 2.4GHz con

13

A partir de estos principios, mediante el desarrollo científico y tecnológico se ha

logrado portar información, inicialmente de forma análoga al usar una frecuencia

portadora como sustrato para una perturbación, que luego de ser filtrada y

procesada se puede restaurar como voz y sonidos, dando lugar a la clásica radio

difusión.

La acumulación de estas técnicas, junto al continuo desarrollo de investigaciones

para lograr transmitir mayores cantidades de información, así como una mayor

capacidad de resistir la degradación por ruido e interferencias y lograr una

reconstrucción final fidedigna frente al original, todo esto fuertemente influenciado

por intereses bélicos durante el siglo XX, derivó en la incursión sobre técnicas de

muestreo en las señales, las que al discretizarse, cuantificarse y codificarse

permitió el trabajo ya con señales digitales binarias, siendo la apertura a las

telecomunicaciones informáticas estandarizadas hoy en día.

El teorema de Nyquist presenta la base analítica sobre la que se desarrolla el

proceso de muestreo. Esencialmente, se plantea que al tener una señal análoga

uniforme y acotada en ancho de banda, si es muestreada en una frecuencia de

al menos el doble de su frecuencia máxima, es posible que estas muestras

permitan perfilar y reconstruir íntegramente la señal inicial, permitiendo su

portación hacia un espacio numérico escalar de amplitudes en el tiempo.

Donde:

𝑓𝑚𝑎𝑥 ≤ 2𝑓𝑚𝑢𝑒𝑠𝑡𝑟𝑒𝑜

Ecuación 5

El siguiente ejemplo presenta un muestreo apropiado:

Frecuencia portadora de señal = 2.4 Ghz

Page 26: Prototipo de cabezal para antena direccional de 2.4GHz con

14

2 ∗ 𝑓𝑚𝑎𝑥 = 𝑓𝑚𝑢𝑒𝑠𝑡𝑟𝑒𝑜

2 ∗ 2.4𝐺ℎ𝑧 = 4.8𝐺ℎ𝑧

Ecuación 6

Donde el periodo de muestreo es la inversa de la frecuencia:

(48 ∗ 109)−1 = 41.6 ∗ 10−12 𝑆𝑒𝑔𝑢𝑛𝑑𝑜𝑠

Ecuación 7

Implicando que el periodo apropiado máximo para un muestreo de la señal

corresponde a 41.6 ∗ 10−12 segundos.

Figura 2 Muestreo de una señal (Nyquist sampling teorem G.Hetch. 2006)

En seguida al muestreo se hace una labor de cuantificación, donde cada muestra

se asocia a una escala finita en relación a su amplitud de onda. El paso final de

la digitalización, corresponde a la codificación, en que los escalares resultantes

se asocian a valores binarios según la resolución del Convertidor Análogo-Digital

(ADC); manteniendo una concatenación de muestras en el tiempo. De este

Page 27: Prototipo de cabezal para antena direccional de 2.4GHz con

15

proceso de conversión resultan pérdidas de información al momento de generar

las etapas posteriores al “Muestreo de Nyquist”, ya que éste asume una

reversibilidad completa, mientras que la cuantificación limita las amplitudes a la

sensibilidad del muestreador, así como la codificación se limita en las

combinatorias binarias de la forma 2^n, donde n=resolución en bits del

convertidor ADC.

La importancia de este proceso radica en que, aunque la pérdida de información

análoga es real, impidiendo la reconstrucción completa al revertir el proceso; sí

es posible disminuir las pérdidas mediante procesamiento y filtrado de señales.

Al momento de ir en la dirección contraria, aplicando sobre los datos digitales una

conversión hacia valores análogos, el conversor digital-análogo (DAC), es capaz

de mantener niveles de fidelidad admisibles sobre la información, reconstruyendo

un perfil de la señal original, dentro de márgenes útiles al sistema.

Posteriormente a la construcción de una señal, independiente de si su origen es

digital como es usual en la actualidad, o si se tiene un origen en mecanismos

más discretos y primitivos como una cinta magnética o inclusive un soporte

fonográfico, el paso siguiente hacia la difusión por radioemisión es aplicar

protocolos de modulación, los que esencialmente, al asumir un canal en una

banda de frecuencias, que es tomado como “banda portadora”, alteran la senoide

de esta señal.

En este momento existen públicamente dos grandes estándares para la

modulación, en primer lugar, la familia de las modulaciones análogas, dónde las

frecuencias o amplitudes se operan para generar una variación en la forma de la

señal portadora, deformándola geométricamente, como ejemplo la modulación

en frecuencia (FM) o en amplitud (AM) de las radioemisoras clásicas, la

versatilidad de este tipo de modulación radica en que la operación ejecutada en

el emisor TX puede ser revertida por el receptor RX, separando la señal de la

portadora en un proceso de demodulación. Mientras que en la actualidad, con la

disponibilidad de semiconductores y procesadores dedicados, el ámbito de la

modulación se asocia con el procesamiento digital directo sobre la senoide,

Page 28: Prototipo de cabezal para antena direccional de 2.4GHz con

16

pudiendo alterar, además de la amplitud y frecuencia, características del ciclo de

trabajo, la subdivisión de la senoide, la mezcla y salto a frecuencias distintas en

varios ordenes de magnitud, buscando permanentemente un aumento en la

cantidad de datos por ciclo, así como la fidelidad de las transmisiones y la

seguridad del canal.

Un canal corresponde a un segmento en el espectro de frecuencias, donde una

frecuencia central se extiende hacia arriba y hacia abajo en su frecuencia, esto

se denomina ancho de banda. Las normas IEEE 802.11 b, g y n que definen el

WIFI en 2.4GHz consideran la siguiente escala de canales, que segmentan el

espectro de señal.

Tabla 1 Segmentación de canales 2.4GHz

Estos canales están controlados en su uso y limitados en su disponibilidad en

algunos países, por norma, Japón es el único que permite el uso hasta el canal

14, para Chile corresponde la regulación internacional admitiendo hasta el canal

13 (IEEE802.11 2012).

Page 29: Prototipo de cabezal para antena direccional de 2.4GHz con

17

PRINCIPIO DE FUNCIONAMIENTO DE ANTENA.

La función principal de una antena es recibir las perturbaciones del campo EM

ambiental y llevar los pulsos de radiación electromagnética en forma de corriente

hasta el circuito del transceptor, logrando también hacer el proceso reverso,

transformando una oscilación de corriente en una perturbación del campo EM en

su zona circundante.

Considerando que el campo vectorial electromagnético se propaga en una

dirección particular, alejándose en la normal desde su origen, la dirección del

vector Magnético está polarizado en 90° frente al vector Eléctrico , así como

se presentan en fase al viajar por un medio únicamente resistivo.

Ilustración 3 Propagación de vectores electromagnéticos

Considerando esto, es posible hacer una aplicación de estos principios sobre un

elemento simplificado tal como un alambre conductor recto. Este elemento al ser

permeado por un campo EM, en su estructura molecular generará un

Page 30: Prototipo de cabezal para antena direccional de 2.4GHz con

18

reordenamiento del spin electrónico para compensar la perturbación recibida,

dando como resultado una polarización.

Esta polarización implica una tensión y corriente proporcionales al campo

recibido, así como a la geometría del elemento, incidencia de los campos, las

características de impedancia y la frecuencia de la perturbación, comportándose

la antena como una fuente de corriente alterna, desde el punto de vista de un

circuito de recepción (RX).

Figura 4 Incidencia EM en elemento recto

La siguiente ilustración muestra una antena resonante emisora (TX) basada en

un dipolo de media longitud de onda, la fuente de señal induce una corriente

alterna sobre los brazos, generando un campo electromagnético oscilante a la

frecuencia portadora, que se propaga a su alrededor.

Ilustración 5 Inducción de campo magnético en Dipolo

Page 31: Prototipo de cabezal para antena direccional de 2.4GHz con

19

Al momento en que aparece periodicidad en la perturbación EM recibida por el

elemento, este reacomoda su spin siguiendo el patrón provisto por la frecuencia

del campo, sin embargo, ésta acomodación, y por ende variación de corriente no

son instantáneas; teniendo que extenderse por la totalidad del elemento en un

tiempo definido por la geometría y la impedancia de éste.

Durante ese periodo de acomodación, si existe proporcionalidad entre la longitud

de onda λ de la frecuencia y la longitud geométrica del elemento, se producirá un

efecto de interferencia constructiva, dando lugar a un aumento en las amplitudes

de onda y por ende una magnificación en las corrientes generadas en el

elemento.

Es fundamental dejar en claro que este fenómeno es reciproco al desarrollarse

con la antena en modo de emisión, dónde el circuito del transceptor induce

corriente en el elemento, que emite campo EM a su alrededor.

Otro aspecto fundamental de los parámetros que definen una antena

corresponde al índice de Relación de Onda Estacionaria, conocido como ROE

(SWR en inglés), que expresa una proporción entre la tensión incidente y

reflejada en el circuito equivalente de la antena. Esta relación se da en la

conexión entre el transmisor y el cable de transmisión, y luego entre el cable y la

antena, donde debe coincidir la impedancia. Usualmente, las aplicaciones de

radioenlaces poseen el estándar de impedancia en 50Ω.

𝑅𝑂𝐸 =𝑍𝑐𝑎𝑟𝑔𝑎

𝑍0

Ecuación 8

Donde 𝑍0 es la impedancia de la fuente de señal; 𝑍𝑐𝑎𝑟𝑔𝑎 es la impedancia de la

carga, pudiendo ser el cable de transmisión o la antena final.

Page 32: Prototipo de cabezal para antena direccional de 2.4GHz con

20

Esto al ser extendido a impedancias con reactancia queda de la siguiente forma:

𝑅𝑂𝐸 =𝑅𝑐𝑎𝑟𝑔𝑎 + 𝑗(𝑋𝑙 − 𝑋𝑐)

𝑅0 + 𝑗(𝑋𝑙 − 𝑋𝑐)

Ecuación 9

El caso óptimo, con ROE 1:1 puede ejemplificarse con la asociación de un

transmisor, con la línea y la antena de la siguiente manera:

𝑍𝑡𝑟𝑎𝑛𝑠𝑚𝑖𝑠𝑜𝑟 = 𝑍𝑐𝑎𝑏𝑙𝑒 = 𝑍𝑐𝑎𝑟𝑔𝑎

Ecuación 10

Se busca que esta relación sea cercana a 1:1 y como máximo 1,5:1 implicando

un aprovechamiento máximo de la energía emitida y evita el daño en el equipo

por energía reflejada (Walraven, ARRL, 2006).

Tabla 2 Potencia reflejada según ROE (2006 QST © ARRL)

Page 33: Prototipo de cabezal para antena direccional de 2.4GHz con

21

La capacidad de recepción/emisión de una antena se evalúa en dos parámetros,

por una parte está la geometría de su campo radiante, modelado como “Diagrama

de campo lejano”, que grafica como volumen en torno a la antena los sectores

que poseen mayor potencia de emisión, cuyos campos electromagnéticos están

en fase, así como permite modelar la directividad y sus zonas de apantallamiento;

las implicancias de esto pueden verse en la sección dedicada a la propagación,

las zonas de Fresnel y la distancia de enlace. El segundo parámetro corresponde

a la ganancia que posee la antena, esto tiene implicancias respecto a las

potencias emitidas ya que puede entenderse como una amplificación de la señal.

Las ganancias y pérdidas sobre la potencia emitida por el transmisor (TX) pueden

sumarse en forma directa, ya que la potencia emitida por el transmisor se mide

en dBm (decibel milliwatt), mientras que la ganancia entregada por un

amplificador (booster) o las pérdidas producidas en cables y conectores (insertion

loss) se miden en dB. Como la ganancia de la antena se mide también en

decibeles, que se generaliza como una proporción logarítmica, es posible hacer

una suma directa entre todos estos valores.

La siguiente configuración de ejemplo permite aclarar este fenómeno:

Dongle WIFI WN7200ND 27dBm

Antena Omnidireccional original 5dBi

Insertion loss de cable y conector -3dB

Suma directa:

Potencia(dBm) = 27dBm + 5dBi − 3dB

Potencia(dBm) = 29dBm

Ecuación 11

Resulta útil transformar esta potencia en dBm a milliwatts ya que muchos

artefactos y normas utilizan indistintamente esta nomenclatura. La potencia en

Page 34: Prototipo de cabezal para antena direccional de 2.4GHz con

22

decibeles al ser una función logarítmica posee una equivalencia fuertemente

creciente al expresarla en milliwatts, lo que se logra aplicando la siguiente

conversión.

𝑷𝒐𝒕𝒆𝒏𝒄𝒊𝒂(𝒎𝑾) = 𝟏𝟎 𝐥𝐨𝐠𝟏𝟎(𝑷𝒐𝒕(𝒅𝑩𝒎))

Ecuación 12

Mientras que la conversión desde milliwatts hacia dBm es como sigue:

𝑷𝒐𝒕𝒆𝒏𝒄𝒊𝒂(𝒎𝑾) = 𝟏𝟎(𝑷𝒐𝒕(𝒅𝑩𝒎)

𝟏𝟎)

Ecuación 13

Con esto, el ejemplo anterior de potencia total 29𝑑𝐵𝑚 queda como sigue:

𝑷𝒐𝒕𝒆𝒏𝒄𝒊𝒂(𝒎𝑾) = 𝟏𝟎 𝐥𝐨𝐠𝟏𝟎(𝟐𝟗(𝒅𝑩𝒎))

𝑷𝒐𝒕𝒆𝒏𝒄𝒊𝒂(𝒎𝑾) = 𝟕𝟗𝟒(𝒎𝑾)

Ecuación 14

Respecto a la normativa en Chile, todo dispositivo en la frecuencia 2.4GHz debe

ser únicamente de uso domiciliario y la potencia máxima emitida es de 100

milliwatt, exigiéndose autorización para uso en exteriores (Subtel, 2004).

Page 35: Prototipo de cabezal para antena direccional de 2.4GHz con

23

PROPAGACIÓN

Las geometrías de las antenas han sido perfeccionadas para otorgar

funcionalidades específicas según las aplicaciones objetivo. La propagación de

la señal emitida se define por la funcionalidad de la antena, en cuanto a su campo

de efectividad, considerando la geometría del campo emitido-recibido, así como

las potencias frente a la distancia; todo esto en conjunto a las características de

propagación intrínsecas de la frecuencia EM trabajada.

La propagación de la radiación EM depende fuertemente de la frecuencia de la

señal y de la potencia de emisión del campo. Todo esto es afectado además por

el ambiente circundante, ya que todos los materiales poseen diversos niveles de

absorción o transparencia específicos según frecuencia incidente, además la

geometría de la geografía circundante es definitoria al momento de distorsionar

el campo EM emitido o recibido, limitando las distancias.

Por estas razones, se busca que las antenas se posicionen en lugares con altitud

adecuada para la libre vista entre ellas. Este volumen libre se modela como zona

de Fresnel, y permite determinar el espacio libre de obstáculos para un enlace

viable bajo condiciones óptimas, tomando en consideración la longitud de onda,

distancia en línea recta y la altura de las antenas emisoras/receptoras. La

viabilidad del enlace depende de cuan obstruido se encuentre este espacio,

considerando que, para una primera zona, n=1, sería el máximo desempeño del

enlace (Correa et al, 2005).

La zona de Fresnel se define por:

𝑟𝑛 = √𝑛 ∗ λ ∗ dtx ∗ drx

dtx + drx

Ecuación 15

Page 36: Prototipo de cabezal para antena direccional de 2.4GHz con

24

Donde:

𝒓𝒏 es el radio de la elipse en metros, en un punto entre en la línea de visión de

las antenas.

𝐝𝐭𝐱 y 𝐝𝐫𝐱 son la distancia entre cada antena y el punto evaluado (posición de un

posible objeto obstructor).

𝛌 es la longitud de onda en metros.

Con esto se puede saber cuan obstruida está esta zona, para lo cual una

obstrucción superior al 30% implica un desempeño limitado en el enlace.

Figura 2 Zona de Fresnel

Otro efecto en la propagación en espacios altamente obstruidos, como es el caso

de recintos interiores, corresponde a la reflexión de las ondas. Lo cual en general

se asume como beneficioso para el caso del WIFI ya que permite propagación

en distribuciones no lineales, por ejemplo, en esquinas de paredes de hormigón

puede plegarse parte de la señal al ser reflejada en las paredes aledañas,

logrando disponibilidad de red en arquitecturas complejas. Este fenómeno implica

una fuerte distorsión sobre el funcionamiento del prototipo que está diseñado

para campo abierto, lo que se detalla en la sección de pruebas de campo.

TX RX Zona n1

Zona n2 Zona n3

𝐝𝐭𝐱 𝐝𝐫𝐱

Objeto

Obstructor

Page 37: Prototipo de cabezal para antena direccional de 2.4GHz con

25

Respecto a las pérdidas en la propagación, se pueden calcular con el modelo de

propagación en espacio libre (Propagation Loss); que aunque asume condiciones

óptimas, es compatible con la zona n1 de Fresnel en ambiente despejado.

𝑃𝑙(𝑑𝐵) = −10𝑙𝑜𝑔 (𝐺𝑡𝑥𝐺𝑟𝑥λ

2

(4𝜋)2𝑑2)

Ecuación 16

Considerando:

𝑷𝒍(𝒅𝑩) es la pérdida por propagación medida en decibeles.

𝑮𝒕𝒙 como ganancia total de la antena de transmisión.

𝑮𝒓𝒙 como ganancia total de la antena de recepción.

𝒅 es la distancia lineal total entre las dos antenas.

Al hacer el presupuesto total de potencia entre la antena RX y TX, considerando

los aportes de potencia y ganancia de cada subsistema (suma de potencia

emitida TX, sensibilidad RX, pérdidas en el cable, amplificadores, etc), debe

sumarse esta pérdida en propagación. Con esto, la distancia de funcionamiento

del enlace queda definida por el umbral mínimo de sensibilidad de recepción RX,

que debe ser superado por el total del presupuesto de potencia.

Un ejemplo de presupuesto de potencia es el siguiente:

Elemento Niveles dB

Potencia TX Dongle +20dBm

Ganancia Antena TX +3dBi

Distancia enlace -82dB

Umbral Receptor RX (*) +60dbm

Ganancia Antena RX +3dBi

Total Disponible +4dBm

Tabla 3 Presupuesto de potencia

Page 38: Prototipo de cabezal para antena direccional de 2.4GHz con

26

(*) El umbral de sensibilidad del receptor en general se expresa en decibeles

negativos, lo que haciendo la conversión hacia mW equivale a una potencia muy

pequeña. Este umbral usualmente es de -65dBm a -90dBm en la mayoría de los

dongles para permitir un enlace viable.

El ejemplo anterior muestra un total disponible de +4dBm, lo que significa que

está cubierta la potencia del enlace con un margen de 2mW. Un margen mínimo

debe considerarse por las variaciones de la humedad en el aire, pérdidas extras

en el cable y fenómenos inesperados. En particular al proyecto, al utilizarse

microondas de 2.4Ghz se agrega además el problema del ruido ambiental emitido

por máquinas mal apantalladas, por ejemplo, hornos microondas y de otras redes

que funcionan en frecuencias cercanas, como el Bluetooth y redes celulares.

ANTENA YAGI-UDA

La antena Yagi-Uda es una antena direccional desarrollada en Japón y patentada

en 1926 por los Ingenieros Shintaro Uda y Hidetsugu Yagi. Esencialmente es una

estructura eléctricamente resonante a la frecuencia que desea transmitir o recibir.

Se compone de un elemento dipolo, cortado a un equivalente de la longitud λ o

en octavas o décimas de λ de la frecuencia objetivo, a esto se agrega al menos

un elemento “director” que se posiciona a una fracción de λ frente al dipolo con

la función de ser resonante; para finalizar con un elemento trasero reflector que

cumple la función de optimizar la direccionalidad hacia adelante, generalmente

es una barra cortada y posicionada a una proporción parcialmente resonante de

la frecuencia.

Page 39: Prototipo de cabezal para antena direccional de 2.4GHz con

27

Ilustración 7 Yagi con diagrama de radiación

La actualidad de las antenas Yagi, la disponibilidad de software para su diseño,

cálculo y optimización, así como sus bajos costos y altas prestaciones la

posicionan como la opción adecuada para el prototipo. La antena de la figura

anterior está diseñada para ser muy alta ganancia y direccionalidad, su diagrama

de radiación 3D muestra un pronunciado y agudo lóbulo principal, junto a una

zona trasera de muy baja ganancia. Particularmente en el proyecto, se utilizará

un diseño desarrollado y probado previamente por el estudiante, cuyas

características se detallan en la sección de diseño.

Las características globales de una antena Yagi son comunes a cualquier antena

como las ya descritas en la sección que describe su funcionamiento básico, con

la particularidad de que al ser direccionales, existe un índice que expresa la

directividad y el apantallamiento trasero en el eje de emisión.

Este índice es el Front/Back, que se mide en dB y que mientras mayor sea implica

una mayor directividad.

Complementario a esto, se tiene una apertura de emisión en la elevación vertical

y la extensión azimutal, las dos medidas en grados con referencia al eje de

propagación. Mientras más pequeña es la apertura, más cerrado es el cono de

Page 40: Prototipo de cabezal para antena direccional de 2.4GHz con

28

emisión/recepción y mayor es la potencia concentrada en esa zona; desde el

punto de vista inverso, a mayor amplitud en estas variables, la zona de cobertura

será más extensa alrededor, pero el radio distante será de menor longitud.

Ilustración 8 Diagrama de Campo Lejano

La figura anterior muestra un diagrama de campo lejano, donde se grafica

mediante software una estimación de las zonas de mayor radiación para la

geometría de la antena, funcionando en su frecuencia de resonancia.

El gráfico superior muestra la disposición azimutal y el inferior un perfil de

elevación. Los lóbulos que crecen de forma regular y se alejan del centro del

gráfico corresponden a las zonas de mayor ganancia. Las zonas de crecimiento

nulo o que tienden a forma asintótica son sectores de baja o nula ganancia. Las

unidades de la gráfica radial están expresadas en grados, mientras que la

distancia de los lóbulos está definida en proporción a la máxima amplitud de

ganancia.

Page 41: Prototipo de cabezal para antena direccional de 2.4GHz con

29

POSICIONAMIENTO

ORIENTACIÓN ESPACIAL

El sistema que se desarrolla posee un chasis con dos ejes de movimiento. Este

tipo de monturas es comúnmente llamado “Pan-Tilt”, donde Pan refiere a Paning,

como una derivación conceptual de la palabra Panoramic utilizada en

camarografía, correspondiente al movimiento panorámico en la horizontal,

rotando en un eje Z. Esta rotación se conoce como movimiento Azimutal y es

medido en 360 grados en sentido horario partiendo desde un norte real o

arbitrario.

El otro movimiento conocido como Tilt, se asocia a la inclinación en el plano

vertical, técnicamente llamada elevación, donde el chasis pivota sobre un eje X

horizontal. La elevación se plantea como una medida en grados, con un nivel

cero en la horizontal y creciente hasta 90° si se avanza hacia arriba, mientras que

se establece un crecimiento hasta -90° si es inclinación hacia abajo.

Figura 9 Coordenadas Horizontales

Page 42: Prototipo de cabezal para antena direccional de 2.4GHz con

30

El modelo y geometría de referencia utilizado es el de Coordenadas Horizontales,

usualmente utilizado en astronomía para describir puntos en una esfera virtual

circundante al observador.

MOTORIZACIÓN

Los actuadores a cargo de aportar el movimiento se han definido como

servomotores, ya que entregan la precisión y fuerza suficiente como para mover

las masas montadas en el chasis móvil. El rango de movimiento es de 120° y la

velocidad es dependiente de las masas y tensiones asociadas.

Este tipo de servomotor es una asociación entre un motor convencional de

corriente continua, al que se le ha conectado un circuito de control digital. Este

circuito de control posee una referencia de la posición del motor mediante un

potenciómetro que gira con la rueda de salida de movimiento.

El circuito recibe el mandato de giro desde una fuente, que puede ser un

microcontrolador, mediante un tren de pulsos codificados en PWM, lo que es

interpretado como una posición angular final a la que debe llevarse la salida del

motor. El sistema posee una caja reductora de velocidad que amplifica el torque

y limita el radio de giro a 120°.

Figura 10 Servomotor de radiocontrol

Page 43: Prototipo de cabezal para antena direccional de 2.4GHz con

31

El PWM o modulación por ancho de pulso es un tipo de modulación que permite

enviar información alterando el ciclo de trabajo de una señal periódica.

En este caso específico la señal es de 50 Hz y el ciclo de trabajo corresponde a

la parte positiva de la senoide, donde la electrónica del servo interpreta el ancho

de pulso como una posición angular.

Figura 11 PWM servomotor.

PLACA CONTROLADORA

Para el control del sistema, se ha seleccionado un módulo integrado con el

microcontrolador Atmel ATMega328, conocido como Arduino NANO. La placa de

circuito cuenta con catorce entradas y salidas digitales en el estándar TTL de 0 a

5v para 0 y 1 lógico respectivamente. Existen 8 entradas análogas de 10 bits.

Posee pines de comunicación serial RX y TX, los que, a través de conversión a

USB embebida en la placa, permiten comunicación desde el PC conectado,

observándose como un puerto COM. El circuito posee además 6 salidas de PWM

dedicadas, las que pueden ser extendidas hasta los catorce pines digitales

mediante virtualización. Existe además un puerto SPI y uno I2C.

La elección del Arduino NANO se basa en la amplia cantidad de código disponible

como material de referencia, así como la conectividad y programación

Page 44: Prototipo de cabezal para antena direccional de 2.4GHz con

32

simplificada que posee al mantener un puerto USB en su interfaz con PC. A esto

se agrega el bajo precio que disminuye los costos, así como las dimensiones que

permiten su integración en espacios reducidos. Las características según el

fabricante son las siguientes:

Microcontroller Atmel ATmega328

Operating Voltage (logic level) 5 V

Input Voltage (recommended) 7-12 V

Input Voltage (limits) 6-20 V

DC Current power (idle) 20 mA

Digital I/O Pins 14 (6 provide PWM output)

Analog Input Pins 8

DC Current per I/O Pin 40 mA

DC Current Max 300 mA

Flash Memory 32 KB, 2KB used by bootloader

SRAM 2 KB

EEPROM 1 KB

Clock Speed 16 MHz

Length 45 mm

Width 18 mm

Weigth 5 g

Tabla 4 Características Arduino NANO

Tabla 5 Pinout Arduino NANO

Page 45: Prototipo de cabezal para antena direccional de 2.4GHz con

33

INTERFAZ SERIAL

La interfaz serial corresponde a la familia de protocolos basados en la EIA/TIA

RS-232C, desarrollado desde los años 60´s, siendo actualmente una interfaz de

comunicaciones madura y disponible en forma estandarizada en una muy amplia

variedad de dispositivos electrónicos. En esta interfaz, los datos pasan en series

concatenadas de bits, con marcas de llegada, pasando unitariamente los bits

para dar lugar a un byte final. Usualmente el puerto utiliza el conector DE9 y

utiliza niveles de tensión lógicos en +3v a +15v para el 0 lógico y de -3v a -15v

para el 1 lógico, utilizándose cables extras para el control de envío de datos y

para controlar las corrientes.

Los avances sobre el puerto permiten actualmente utilizar niveles de tensión TTL

en 5v e incluso menores, así como se ha logrado desarrollar la comunicación en

únicamente dos cables. En particular, la versión utilizada se basa en el estándar

de dos hilos, RX/TX respectivamente conectados de manera cruzada entre las 2

máquinas. Para el proyecto actual, esta conexión física se da únicamente en la

comunicación intra-circuito de la placa Arduino NANO.

Específicamente, la interfaz Serial a utilizar es una virtualización de un puerto

COM clásico, labor que desarrolla el chip de control FTDI de la placa Arduino,

donde el puerto USB del computador de control recibe un dispositivo de

comunicación serial, y el chip FTDI hace de intermediario con el chip del

microcontrolador principal.

Figura 12 Pinout puerto Serial RS232-DE9 clásico

Page 46: Prototipo de cabezal para antena direccional de 2.4GHz con

34

SOFTWARE

ARDUINO IDE

El entorno de desarrollo, la Interfaz de programación, depuración y carga de

Arduino está basada en el lenguaje Wiring - C/C++, dentro de lo que se agregan

herramientas de visualización de puertos COM en tiempo real, así como una

biblioteca expandible de especificaciones de diversos modelos de placas de

desarrollo, ejemplos didácticos con el uso de herramientas y librerías dedicadas

sobre el uso de componentes usuales para asociar al sistema, tales como

monitores, teclados, sensores y motores.

Figura 13 Arduino IDE

Page 47: Prototipo de cabezal para antena direccional de 2.4GHz con

35

VISUAL STUDIO

Visual Studio es un ambiente de programación de software desarrollado por

Microsoft que da continuidad al original Visual Basic. Actualmente es compatible

con elementos desarrollados en lenguajes C++, C#, Visual Basic .NET, F#, Java,

Python, PHP y Ruby. Su objetivo inicial es permitir el desarrollo de aplicaciones

funcionales en el sistema operativo Microsoft Windows, sin embargo,

actualmente se extiende hacia la integración con el desarrollo Web, otros

sistemas operativos, plataformas de Smart Devices como Android y llega hasta

el ambiente electrónico de Arduino y una cada vez mayor variedad de

microcontroladores, gracias al permanente desarrollo de nuevas funciones.

El ambiente de Visual Studio cuenta con una amplia disponibilidad de literatura

de referencia y código libre, así como una interfaz amigable y de rápida curva de

aprendizaje.

Figura 14 Espacio de trabajo Visual Studio 2015

Page 48: Prototipo de cabezal para antena direccional de 2.4GHz con

36

CONTROL POR LÓGICA DIFUSA “FUZZY”

El control de lazo cerrado del sistema se basa en un algoritmo de Lógica Difusa,

más conocido como “Fuzzy Logic”. El control mediante Fuzzy está basado en

hacer un análogo a la inferencia humana en cuanto a la toma de decisiones de

salida, a partir de variables de entrada con valores cuantificables relativos y

vinculantes entre sí, con reglas de decisión. El motor de inferencia en el sistema

Fuzzy y su conjunto operacional es entendible como un tipo de Inteligencia

Artificial, fue formalmente presentado en 1965 por el Ingeniero L. A. Zadeh.

El sistema Fuzzy opera de la siguiente manera: primeramente, se asumen los

inputs de información como variables de entrada, a estas variables se les aplica

el proceso llamado “Fuzificación”, donde se asocia el nivel y rango de la variable

a un espacio que contiene categorías lingüísticas asociables a la variable de

entrada (por ejemplo, conceptos como bajo, medio, alto).

Figura 15 Variables de entrada (4) y de salida (2) MIMO.

Page 49: Prototipo de cabezal para antena direccional de 2.4GHz con

37

Este espacio se conoce como “Conjunto Difuso”, donde cada categoría posee un

perfil geométrico, usualmente paralelogramos, triangulares o gaussianos, según

tipo de entrada o salida, así como una distribución particular en el rango de la

variable, admitiendo el solapamiento entre categorías.

A la asociación de una categoría con su perfil se le llama “Función de

Membresía”. Cuando la variable de entrada se posiciona en un punto de este

rango, se puede decir que posee un “Grado de pertenencia” sobre una función

de membresía.

De la misma forma se crea un conjunto difuso de salida, donde las categorías en

las Funciones de membresía generan un punto de convergencia sobre un rango

en la “Variable de salida”, lo que se entiende como el proceso inverso, llamado

“Defuzificación”.

El procedimiento que vincula los conjuntos de variables de entrada y de salida es

un “Motor de Inferencia” con reglas lógicas basadas en un método “IF()-

>THEN()”, lo que significa “si tengo zx en tales condiciones, entonces entrego yw

en tales condiciones”, pudiendo ejemplificarse de la siguiente manera

simplificada:

IF((membresía In_Z) (membresía In_X))

THEN((membresía out_Y) (membresía out_W))

END IF

Donde In_X e In_Z son variables de entrada con grado de pertenencia en una

función de membresía, siendo equivalente para las variables Out_Y y Out_W

como salidas a defuzificar.

Es importante destacar que la relación entre los conjuntos de entrada que

contiene la función IF puede ser del tipo AND, OR, NAND y NOR para el caso de

Fuzzy-Mamdani que se aplicará en el prototipo, permitiendo salidas numéricas

Page 50: Prototipo de cabezal para antena direccional de 2.4GHz con

38

directas. Además, este método de control admite variables únicas y/o múltiples

en sus entradas y salidas (MIMO, SISO, MISO, SIMO).

Figura 16 Función de membresía

Al poseer los grados de pertenencia y las reglas de relación entre las variables,

se procede a aplicar una operación de cálculo de intersección entre los conjuntos

difusos, usualmente se busca el centroide y esto arroja el grado de pertenencia

en el conjunto de salida.

La justificación de la elección de este método se basa en la capacidad que posee

de simplificar el sistema de control al evitar el modelamiento del proceso

completo, tal como sería necesario para un control PID clásico. A esto se agrega

la complejidad que implica el poseer múltiples variables de entrada (4 para el

prototipo), un setpoint variable y salida en dos dimensiones (Azimut y Elevación),

Page 51: Prototipo de cabezal para antena direccional de 2.4GHz con

39

así como la variación de las velocidades dinámicamente. Con esto, sin embargo,

el método Fuzzy exige una carga de procesamiento mucho mayor y complejiza

el algoritmo de software y firmware.

DESARROLLO DE PROTOTIPO

CARTA GANTT

Mes - Semana Abril Mayo Junio Julio

Actividad / Semana 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16

Definición de proyecto y bibliografía

Estructuración formal de contenidos

Justificación y planteamiento de Objetivos

Organización formal de proyecto

Investigación Marco Teórico

Desarrollo de Hardware Chasis

Mes - Semana Agosto Septiembre Octubre Noviembre

Actividad / Semana 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

Desarrollo de Hardware Electrónico

Desarrollo de Software

Ensamble y pruebas de funcionamiento

Pruebas de respuesta real y validación

Análisis de resultados y conclusiones

Cierre formal y entrega

Page 52: Prototipo de cabezal para antena direccional de 2.4GHz con

40

DIAGRAMAS DE LA IMPLEMENTACIÓN

DIAGRAMA GLOBAL

El computador mediante su interfaz gráfica y por 2 puertos USB se conecta al

gabinete de la fuente-interfaz. La interfaz convierte los dos puertos USB al

estándar de pinout RJ45, portándolo mediante cable UTP5 o superior hasta el

cabezal. La fuente además provee de alimentación en +5 y +9 VDC al sistema.

El cabezal recibe la energía y los puertos USB que son reconstituidos desde RJ45

hasta un par USB-A controlados por el microcontrolador.

Los puertos USB reciben al microcontrolador generando un puerto serie. El

cabezal es movilizado por los servos controlados por el microcontrolador. Los

puertos USB reciben a los dongles WIFI de cada una de las antenas.

Figura 17 Diagrama Global

Computador de Control

Cabezal Antena Fuente ATX

Energía e Interface RF

Page 53: Prototipo de cabezal para antena direccional de 2.4GHz con

41

CABEZAL DE ANTENA

El cabezal de antena consiste en primer lugar al gabinete de control y en seguida

al chasis móvil. El gabinete de control contiene la placa controladora con el

módulo Arduino NANO, así como la circuitería de control para los puertos USB y

los servomotores. La placa de control recibe la energía en las dos tensiones y las

acondiciona para el uso en los puertos y en los motores.

El chasis tiene asociado los servomotores con sus respectivos acoples y

adaptaciones de giro. Junto a esto, se encuentran ensambladas las antenas

conectadas a sus respectivos transceptores.

Figura 18 Cabezal de Antena

Cabezal de Antena

RF

Chasis Pan-Tilt

Servos

Ensamble

Puertos USB

Placa de control POWER

USB

Fuente Interface

Antenas con

Dongles

Page 54: Prototipo de cabezal para antena direccional de 2.4GHz con

42

Fuente de Energía e Interface

Conversor USB-B a RJ45

Fuente de poder

AC/DC ATX

Computador de Control

Puerto RJ45

USB-A Cabezal Antena

Molex Power

+5vdc

+9vdc

USB 2

USB 1

~ 220vac

FUENTE DE ENERGÍA E INTERFACE

La fuente de energía compuesta por una fuente ATX modificada, se encarga de

proveer las tensiones portadas al circuito de control, así como a los puertos USB

y a los motores. Esta fuente posee un circuito de interface que transforma los

puertos USB al formato estándar RJ45, posee una salida MOLEX con las

tensiones de +5vdc, +9vdc y GND, así como un puerto auxiliar USB-A con función

de energía.

En esta etapa los canales USB son portados únicamente como puentes eléctricos

y la manipulación del puerto es únicamente energética, no se interviene el canal

de datos. En el capítulo 4.2 se detallan las modificaciones hechas sobre la fuente.

Figura 19 Fuente de energía e Interfaz

USB Auxiliar

USB 1+2

Page 55: Prototipo de cabezal para antena direccional de 2.4GHz con

43

COMPUTADOR DE CONTROL

El computador de control es un PC con MS Windows 7™, que posee una interfaz

de control desarrollada en Visual Studio. El computador está conectado al

prototipo mediante 2 puertos USB, que en su punto de llegada al cabezal se

extienden a 6 puertos mediante HUB. Los puertos se ocupan en primer lugar por

la placa controladora con el módulo Arduino NANO, que para el computador es

visible como un puerto COM. Los otros puertos son reconocidos como 5 placas

controladoras WIFI.

El software desarrollado es una interfaz gráfica que permite al usuario visualizar

y controlar la orientación del cabezal de antena, así como el estado de cada uno

de los dongles. Se plantea que la interfaz permita generar un mapa de la zona

escaneada por el cabezal, permitiendo al usuario conocer gráficamente la

posición, identificación y potencia de los puntos de red encontrados. Junto a esto,

la interfaz permite pasar al modo de seguimiento automático previamente

descrito.

Figura 20 Computador de Control

Fuente Interface

Computador de Control

Interfaz

USB 1 y 2

Software de control

Interfaz

Gráfica Identificación

de Hardware

Serial

COM

5 Puertos

WLAN Libre uso SO

Sólo Lectura

Page 56: Prototipo de cabezal para antena direccional de 2.4GHz con

44

DIAGRAMA DE PLACA DE CONTROL

La placa de control es un circuito que integra al módulo Arduino NANO en el

control de energía ON/OFF sobre los servo motores, la energía del HUB USB y

contiene el motor de inferencia Fuzzy. La placa recibe los dos puertos USB

portados mediante la interfaz RJ45 y los lleva al conector estándar USB-A

Hembra. El canal USB-1 es dedicado exclusivamente al control del Arduino

NANO, mientras que el canal USB-2 llega hasta un HUB de 5 bocas que recibe

los Dongles. El circuito hace además regulación sobre la tensión de +9v

llevándola hasta 6,5v apropiados para alimentar los servos.

El flujo de información de los canales USB 1 y 2 es bidireccional, mientras que el

control ejecutado por el Arduino NANO integra las órdenes del computador de

control y las procesa según sea necesario, dando órdenes sobre el control

MOSFET mediante señales TTL; y sobre los servos a través de señal PWM.

Figura 21 Placa de Control

Page 57: Prototipo de cabezal para antena direccional de 2.4GHz con

45

FILOSOFÍA DE CONTROL

El sistema posee dos niveles de control, en primer lugar a nivel de lazo abierto,

las orientaciones Azimutal y de elevación pueden variarse en forma manual, a

traves de la interface de usuario en el computador. En segundo lugar, tambien

en lazo abierto, el sistema es capaz de ir hacia una orientación asociada a un

punto de red leído previamente, seleccionandolo desde una lista en pantalla.

Para este nivel de lazo abierto, el sistema recibe las órdenes directamente desde

la interface de usuario en el computador, y luego éste mediante puerto serie las

envía al microcontrolador, quien ejecuta la orden sobre los actuadores. Es

destacable que el sistema no utiliza sensores de posición asociados al chasis,

tales como encoders o limit switch, ya que los servomotores utilizados poseen su

propio sistema de control de posición y corrección de variación.

Respecto al control en lazo cerrado, en que el prototipo hace seguimiento de un

objetivo, el sistema utiliza la lectura en tiempo real de los niveles de potencia

emitidos por la señal del objetivo, mediante las antenas dispuestas en posición

diagonal, permitiendo que al observarse niveles distintos de radiación entre los

receptores, sea posible intepretar ese desbalance como referencia para que el

algoritmo ofresca una correción de posición del cabezal.

Figura 22 Lazo cerrado controlado por Fuzzy

Page 58: Prototipo de cabezal para antena direccional de 2.4GHz con

46

El algoritmo de control esta diseñado con base en Lógica Difusa (Fuzzy),

permitiendo integrar las cuatro lecturas de potencia recibidas sobre una única

salida de orientación en dos parámetros, altura y azimut.

SELECCIÓN DE HARDWARE Y MÓDULOS

Los módulos que se utilizan fueron seleccionados bajo la premisa de ser

tecnologías al alcance de un usuario común, con bajo precio y características

técnicas apropiadas a la aplicación. Se desarrolla una breve descripción de los

módulos y finalmente se muestra un resumen energético del prototipo.

SERVOS

Los dos servomotores utilizados corresponden a la gama estándar utilizada en

vehículos de radio control, con la particularidad de poseer cajas de engranajes

metálicas, así como torques sobre 11Kg a 1Cm desde su eje. El modelo es

TowerPro MG996R, con alimentación de 4,8 a 7,2 Vdc; con PWM de 5v; corriente

de espera en 200mA y máxima de 1,5 A en torque sostenido.

Ilustración 23 Dimensiones y Pinout Servo

Pinout

Page 59: Prototipo de cabezal para antena direccional de 2.4GHz con

47

HUB USB

Para la extensión de los dos canales USB 2.0 portados hasta el cabezal se

utilizan 2 HUB genéricos de 4 salidas, con capacidad de 2 Amperes y

transferencia de datos a 480Mbps. Se define esta capacidad para aprovechar al

máximo la tasa de transferencia de datos de los dongles WIFI.

Un HUB recibe al módulo Arduino junto al dongle principal y un dongle de

búsqueda. El segundo HUB recibe 3 dongles de búsqueda. La distribución busca

equilibrar las cargas sobre cada HUB y deja abierta la posibilidad de expansión

al prototipo.

Ilustración 24 Fotografía del HUB USB 2.0

DONGLES WIFI

Los 5 dongles utilizados son el modelo N9000 de la marca Blueway, fueron

seleccionados por poseer potencia adecuada al prototipo, que busca largas

distancias, además por poseer conector RPSMA para antenas intercambiables.

Una parte importante de la decisión sobre este modelo recae en que existe

amplia compatibilidad entre sistemas operativos para el control del chip RT3070,

permitiendo la extensión del prototipo hasta otros sistemas, lo que agrega

versatilidad y aumenta las posibilidades en aplicaciones futuras.

Page 60: Prototipo de cabezal para antena direccional de 2.4GHz con

48

Ilustración 25 Dongle y detalle de Chip RT3070

Las características son las siguientes:

Standard IEEE802.11n

IEEE802.11g

IEEE802.11b

Tasa de transmisión 150Mbps

Chipset Ralink RT3070

Canales disponibles 1~14 channels

Modulación DBPSK / DQPSK / CCK and BPSK/ QPSK / 16QAM / 64QAM ,

OFDM DSSS, CCK

Seguridad 64/128 bit WEP, WPA/WAP-PSK, WPA2, WPA2-PSK, TKIP/AES

Tipo de interfaz USB 2.0

Conector de antena RPSMA macho

Tensión de operación 5Vdc

Corriente 650mA operando / 50mA espera

Potencia salida 30 dBm (sin antena)

Sensibilidad mínima/ tasa

de transmisión 150M: -62dBm 130M: -65dBm 54M: -68dBm

11M: -85dBm 6M: -88dBm 1M: -90dBm

Tabla 6 Características Dongle

Page 61: Prototipo de cabezal para antena direccional de 2.4GHz con

49

ANTENAS

Las antenas a utilizar fueron diseñadas, construidas y probadas previamente por

el estudiante, como proyecto personal. Se utilizan porque son direccionales y

poseen características radiantes apropiadas para el prototipo, en lo respectivo a

potencias, directividad, apertura de haz y bajo peso. Se descartó el uso de

antenas direccionales disponibles en el mercado, por la escasa disponibilidad de

antenas de 2.4Ghz con desempeño realista frente a las características ofrecidas.

Junto a esto, las únicas antenas con un desempeño confiable, de marcas con

fama y respaldo elevan los precios de manera insostenible para el prototipo y/o

superan las masas manipulables por el cabezal, descartándose por esto las

antenas grilladas.

El modelo de antena Yagi utilizado posee las siguientes características:

Frecuencia de resonancia: 2432Mhz

Ganancia: 19dBi Polarización Vertical

Front/Back (Bloqueo trasero): 27,6dB Azimut y Elevación: 30°

Impedancia en Frec. resonancia: 45,355 -j0,016 Ohm ROE=1:1,1

Figura 26 Diagrama de campo lejano Yagi 2.4Ghz

La antena está construida directamente sobre PCB de fibra de vidrio tipo FR4,

pesa aproximadamente 50 gramos y está optimizada para ser altamente

direccional, con un lóbulo radiante estrecho en 30°. Se ha probado su

Page 62: Prototipo de cabezal para antena direccional de 2.4GHz con

50

funcionamiento en conexión punto a multipunto mayor a 300 metros, a nivel de

1.5 metros sobre suelo, manteniendo un 100% de señal.

Figura 27 Respuesta extendida en frecuencia

La antena está diseñada para que su zona de resonancia posea impedancia de

50 Ohm, esto implica que un acoplamiento del dongle o de un booster es posible

en forma directa.

Figura 28 Respuesta de ROE

Page 63: Prototipo de cabezal para antena direccional de 2.4GHz con

51

La antena está optimizada para el rango de canales WIFI 1 a 13 entre 2.412 Ghz

y 2.472 Ghz respectivamente. Se ha descartado el canal 14 en 2.484 Ghz por

forzar un ROE>1:1,8 y estar limitado en Chile.

Ilustración 29 Vistas de la antena

El soporte de cola se diseñó exclusivamente para la implementación en el

cabezal, sus detalles se presentan más adelante.

Ilustración 30 Dimensiones de antena (mm)

Perspectiva

Frontal

Page 64: Prototipo de cabezal para antena direccional de 2.4GHz con

52

ETAPA DE HARDWARE CABEZAL

CHASIS

El chasis está construido en placas de aluminio formando un marco. Las paredes

de este marco son sándwich de placas, que poseen un socket interno para alojar

rodamientos. Los rodamientos fueron adquiridos para ser cercanos a los

diámetros de los ejes disponibles.

El cabezal fue pensado para soportar al menos 5 kilos sin deformarse, recibiendo

esfuerzo en sus ejes a manera de vigas. Se probó que el peso completo de marco

más antenas llega a 1,2KG.

Ilustración 31 Vistas del Chasis y sus ejes

Page 65: Prototipo de cabezal para antena direccional de 2.4GHz con

53

CAJA MULTIPLICADORA

Para el caso del movimiento de elevación, la apertura de 120° del servo es

suficiente. Sin embargo, para el movimiento rotatorio del azimut, se hace

necesario hacer una compensación del giro que entrega el servomotor. La

solución al problema se ha desarrollado mediante una caja multiplicadora de

vueltas, la que al asociarse entre el motor y el chasis le aportan el giro completo

en 360°.

La caja multiplicadora hace uso del principio de compensación de giros

proporcionales que sucede cuando se hace rotar un par de ruedas de diferente

diámetro, dónde sus perímetros se recorren en contacto. El efecto es una

multiplicación del giro en forma proporcional a los perímetros, entendiéndose

como multiplicadora si la salida entrega más vueltas que la entrada, y como

reductora si se hace el fenómeno inverso. El fenómeno es simétrico, sin embargo,

la compensación en cantidad de giros se equilibra frente a una variación

directamente proporcional sobre la fuerza que se entrega en la salida; por esto,

si se busca un mayor giro se obtendrá una menor fuerza, a lo que se agrega una

pérdida de fuerza extra por el roce y las ineficiencias de la geometría y calidad

del contacto entre ruedas. Así, ejemplificando una entrada de una vuelta, en que

la salida entregue 2 vueltas, necesariamente la fuerza de salida será menor a la

mitad de la original.

Figura 32 Caja multiplicadora

Page 66: Prototipo de cabezal para antena direccional de 2.4GHz con

54

SOPORTE DE ANTENAS

Para ensamblar las antenas al cabezal, de manera que fuera posible variar parcialmente

su ángulo durante las pruebas y adaptaciones del prototipo se desarrolló un elemento

de sujeción impreso en 3D. El elemento es un par de piezas que generan un sándwich

con la placa de antena, esto permite no alterar el campo electromagnético con soportes

metálicos, así como le aporta rigidez y liviandad al sistema. Los detalles generales están

en el anexo de partes 3D.

Ilustración 33 Soporte Cola de antenas

HARDWARE DE ELECTRÓNICA Y ENERGÍA

FUENTE ATX

La fuente de energía es una fuente switching ATX clásica de computador de

escritorio, la que ha sido seleccionada por su precio abordable, así como sus

capacidades de manejo de corrientes apropiada para el sistema, tal como los

estándares de corriente continua filtrada para uso en placas madre. Se incluye el

hecho de que, al ser un gabinete modular, es apropiado para alojar electrónica

Page 67: Prototipo de cabezal para antena direccional de 2.4GHz con

55

extra en su interior y puede ser posicionado fácilmente en un escritorio o

montarse en pared.

Las modificaciones efectuadas son las siguientes:

Extracción completa del cableado estándar a placa madre y conectores

molex.

Puenteado para inicio automático, simulando la operación de una placa

madre.

Calado para soportar nuevo circuito

Acondicionamiento estético y funcional para posición sobre escritorio.

Ilustración 34 Pinout ATX

Como es posible observar en el pinout, existe una amplia variedad de salidas de

tensión. Para el caso de este prototipo las salidas a utilizar corresponden a los

canales de +5VDC y +12VDC. La etiqueta de energía de la fuente manifiesta que

Para hacer que la fuente prenda en forma

automática al recibir alimentación, el pin 16

(PS_ON) debe ser aterrizado, puenteándolo

a cualquier COM. Esto se ejecutó de manera

interna, directo en la placa de circuito.

Page 68: Prototipo de cabezal para antena direccional de 2.4GHz con

56

por cada tensión existen varios canales, sin embargo, al revisar el circuito esto

no es efectivo, para estas dos tensiones principales sólo existe una vía de circuito

por cada una.

Ilustración 35 Etiqueta de fuente ATX

La fuente se alimenta con corriente alterna de 220V y plantea un consumo de

400W. El canal de 5V admite una corriente máxima de 40 Amperes y el canal de

12V permite 25 Amperes como máximo. Los valores de corriente máxima

estimados del sistema están cubiertos de manera apropiada y con un amplio

margen, esto se describe en la sección de resumen energético.

Ilustración 36 Fuente vista trasera

Page 69: Prototipo de cabezal para antena direccional de 2.4GHz con

57

El ventilar fue exteriorizado para facilitar el acceso a los componentes internos y

el posicionamiento del nuevo circuito.

Ilustración 37 Vista inferior con apoyos

Ilustración 38 Detalle de apoyos (mm)

Page 70: Prototipo de cabezal para antena direccional de 2.4GHz con

58

Se diseñaron e imprimieron en 3D cuatro patas de apoyo, que permiten separar

la base de la fuente del contacto directo con la superficie. Las piezas fueron

impresas en ABS, cuya rigidez dieléctrica es de 100-300V/mil. Esto disminuye los

riesgos de electrocución en caso accidental y además separa por el dieléctrico la

carcasa, que está aterrizada en su propio GND y la tierra portada por su conexión

AC. (Datasheet ABS, CRDM 2013).

CIRCUITO DE INTERFAZ USB A RJ45 Y ENERGÍA

A la fuente se le agrega un circuito dedicado a portar conectores de salida de

energía, para 5 y 12 VDC, así como integra un conversor de dos canales USB

hacia RJ45. Se agrega además un puerto USB auxiliar para entregar

alimentación desde la fuente.

Ilustración 39 Panel de Entrada/Salida

Se diseña el circuito separando la sección de corriente de la sección de

conversión USB-RJ45 ya que en pruebas se produjo inestabilidad al mantener

Page 71: Prototipo de cabezal para antena direccional de 2.4GHz con

59

tierra común. El conector de energía es un molex de 4 pines para 40A/100VDC,

se le ha eliminado un pin para evitar conexión errónea.

Los puertos USB que llegan desde el computador son recibidos en dos

conectores USB-B (tipo impresora), el circuito pasa en forma directa los canales

d+ y d- hacia pines del conector RJ45 correspondientes a pares trenzados del

cable UTP. Se porta además el GND correspondiente a la malla, que es

determinante para el funcionamiento de USB tipo 2. Finalmente se agrega un

puerto USB-A sólo con conexión de energía.

Ilustración 40 Circuitos de energía y conversión USB-RJ45

Ilustración 41 Circuito impreso, escala 1:1

Page 72: Prototipo de cabezal para antena direccional de 2.4GHz con

60

Cable de energía

El cable de alimentación se construyó a partir de un cable Profibus Helukabel L2-

DP AWG22, de 5 metros de largo, que según fabricante admite 220VDC y 0,9 A

(198W), con peaks de 7 A por cable, mientras que el sistema usa basalmente

0.29 A en 5VDC y tiene máximos de 6,3 A (31,5 W) dejando un amplio margen

de seguridad. El detalle de estos valores están en la sección de Resumen

energético.

El cable es de dos vías de cobre paralelas aisladas y recubierto en conjunto por

una malla de cobre-aluminio. Una vía porta +5VDC y la otra +12VDC. La malla

del cable se utiliza para portar el GND y permite apantallamiento de ruido

electromagnético.

Se ensambla en los extremos un conector Molex de 4 pines hembra, compatible

con el de ambas placas de circuito. Se sella el conector con manga termo

contraíble. Uno de los pines centrales se anula previniendo conexión invertida.

Ilustración 42 Pinout conexion de energía

Molex Macho

de PCB

+12V +5V GND NC

Molex Hembra de

cable

+12V +5V GND NC

Page 73: Prototipo de cabezal para antena direccional de 2.4GHz con

61

PLACA CONTROLADORA

El circuito de control que se ubica en la base del cabezal, posee la

responsabilidad de ejecutar las órdenes enviadas desde la base, controlando las

variables de los actuadores, la energía y los cálculos del método de control

embebido. Para esto el microcontrolador de la placa Arduino NANO se mantiene

en comunicación mediante serial, portado por uno de los canales USB.

Este circuito aloja 3 funciones principales:

Recepción y regulación de energía, para 5 y 12 VDC

Reconversión desde RJ45 hacia 2 canales USB

Control (comunicación serial, MOSFET, Servos, Auxiliares)

El subcircuito de recepción de energía se compone de un molex de entrada,

simétrico al de la fuente de poder. Posee además un led testigo de encendido y

una salida a ventilador. El ventilador ayuda en el control de la temperatura

disipada por los MOSFET.

Figura 43 Circuito de energía

Page 74: Prototipo de cabezal para antena direccional de 2.4GHz con

62

El subcircuito de conversión desde RJ45 hacia los dos canales USB es simétrico

al de la fuente de energía en la base. Se reconstruye cada canal USB con sus

respectivos d+ y d-, así como la tierra de la malla. La alimentación de 5VDC es

integrada desde el subcircuito de energía, permitiendo una alta carga en el

puerto, cuyo límite teórico sería dado por los 40A de la fuente, pero se limita por

las capacidades del circuito impreso. Esto permite la extensión mediante HUB’s

USB y el uso de dispositivos de alto consumo.

Figura 44 Conversión RJ45 a USB-A

El detalle del pinout del RJ45 hacia los canales USB es simétrico en la base y en

el cabezal, esta distribución aplica para el canal A y B de los USB portados.

Ilustración 45 Pinout conversor RJ45-USB

USB_A

USB_B

NC

D-

D+_

GND_

D+_

D-_B

NC

GND

D-

D+

D+ D-

Page 75: Prototipo de cabezal para antena direccional de 2.4GHz con

63

El cable a utilizar para este puente debe ser como mínimo UTP cat5e, con los

terminales RJ45 en estándar T-568B, no debe utilizarse otra configuración, por

ejemplo, modo cable cruzado, ya que dañaría los componentes y los puertos del

computador. Se probó una distancia funcional de 10 metros.

Subcircuito de control:

Figura 46 Subcircuito de control

Page 76: Prototipo de cabezal para antena direccional de 2.4GHz con

64

Este subcircuito posee las siguientes funciones:

Controlar los servos, en posición mediante PWM y en energía mediante

MOSFET.

Controlar salida auxiliar de 5VDC mediante MOSFET.

Controlar salida auxiliar de 12VDC mediante MOSFET y aislamiento por

optoacoplador.

Mantener un puerto disponible para operaciones con pines análogos y

digitales, admitiendo futuras mejoras.

El circuito posee leds testigos para mostrar la operación de los MOSFET, así

como posee diodos para prevenir contra corrientes de las cargas inductivas y

desde los auxiliares.

Figura 47 Subcircuito MOSFET escala 1:1

El ancho de pista para las dos placas desarrolladas se estandarizó de la siguiente

manera:

Pistas de control TTL = 1.2 mm

Pistas de data USB = 0.7 mm

Pistas de corriente desde 200mA = 2.5 mm

Pistas de corriente menor a 200mA = 1.2 mm

Todas las pistas de corriente se reforzaron con estaño.

Page 77: Prototipo de cabezal para antena direccional de 2.4GHz con

65

Lista de componentes de circuitos

Parte Unidades

Arduino NANO

1

Molex Macho 4p

2

Conector RJ45 a pcb

2

Conector USB-B

2

Conector USB-A

3

Molex 3p 6

Molex 8p 1

4n26 OPTO 1

LED 4

Diodo 4007 3

MOSFET IRF520

3

Regulador 7805

1

Cap 10uC electro

2

Res 220 Ohm 3

Res 10K Ohm 3

Flex 8 pistas 50 Cm

Conector SIL hembra

10

Tabla 7 Lista de componentes

Page 78: Prototipo de cabezal para antena direccional de 2.4GHz con

66

Resumen energético del prototipo

Considerando los valores de la documentación de cada módulo, así como las

pruebas desarrolladas, se presenta el siguiente cuadro de energía.

Componente Corriente en 5V Corriente en 12V

Normal Máximo Normal

Dongles 0.05 A (X5) 0.65 A (X5) -----

Servomotores 0 A (off) 1.50 A (X2) -----

Circuito Control 0.04 A 0.05 A -----

Ventilador y AUX ----- ----- 0.20 A

Total Corriente A 0.29 A 6,3 A 0.20 A

Total Potencia W 1.45 W 31.5 W 2.4 W

Tabla 8 Cuadro resumen de potencias

El circuito de control reúne completamente el módulo Arduino junto a los

subcircuitos del conjunto, sin considerar las cargas.

Los servomotores, por diseño permanecen sin energía en sus periodos

estacionarios y se presenta su máxima corriente al máximo torque, sin embargo,

el sistema no exige ese límite.

Page 79: Prototipo de cabezal para antena direccional de 2.4GHz con

67

ALGORITMO DE CONTROL

El prototipo posee dos tipos de control, para el modo manual corresponde un tipo

de control en lazo abierto, ya que el sistema sólo ejecuta las órdenes y en forma

directa no conoce su situación, no posee entradas que lo realimenten. En este

modo los servos únicamente ejecutan el posicionamiento que dicta el usuario en

el software.

El modo de seguimiento mediante Fuzzy es una propuesta que implica

realimentación y eso significa lazo cerrado. Particularmente la información de

realimentación viene dada por el software, luego de hacer procesamiento sobre

la información cruda que entregan los dongles hacia el computador.

Los datos que alimentan la entrada del motor de inferencia Fuzzy son cuatro,

correspondientes a la potencia observada proveniente de una red específica,

desde el punto de vista de cada dongle. Esta implementación permite que al

existir diferencias angulares en la disposición de las antenas, exista un

desbalance en la potencia recibida por cada una en el mismo momento, lo que

puede ser interpretado por el motor Fuzzy.

El modelo puede ser planteado de la siguiente manera:

A B

C D

Ilustración 48 Modelo de cuatro antenas

Page 80: Prototipo de cabezal para antena direccional de 2.4GHz con

68

Donde cada antena es representada por una letra y el conjunto corresponde a la

disposición en el cabezal. Debe reiterarse que las antenas no están paralelas,

sino “mirando” fuera del centro. Además, el cabezal sólo puede moverse en los

ejes marcados por flechas, por lo que un movimiento rotatorio es imposible. Si

bien se entiende que el sistema real es completamente rotatorio en torno a un

único centro y sólo se reorienta en esa esfera, este modelo plano permite

representarlo a cabalidad.

A B C D

A

B

C

D

Ilustración 49 Modelamiento del sistema MIMO

Se poseen 4 entradas (A, B, C, D), las que al ser comparadas entre si deben dar

lugar a comparaciones duales y generales que arrojen un desbalance en caso de

existir algo distinto a A=B=C=D.

El modelo de 4 entradas, para comparaciones únicamente duales puede generar

3 tipos de resultados, =, > y <. Dando lugar a la siguiente cantidad de

combinatorias posibles:

43 = 48

Ecuación 17

Page 81: Prototipo de cabezal para antena direccional de 2.4GHz con

69

Este modelo debe descartar la autocomparación del tipo A=A y los estados

contradictorios. Para estas condiciones, la tabla anterior muestra en la zona

verde las combinatorias apropiadas. En base a estas combinatorias debe ser

posible obtener una tendencia hacia arriba o hacia abajo y hacia la derecha o

hacia la izquierda.

Las combinatorias contradictorias a descartar del universo son las siguientes:

(𝐴 > 𝐵) 𝛬 (𝐶 < 𝐷) ; (𝐴 < 𝐵) 𝛬 (𝐶 > 𝐷) ; (𝐴 < 𝐶) 𝛬 (𝐵 > 𝐷) ; (𝐴 > 𝐶) 𝛬 (𝐵 < 𝐶)

Ecuación 18

Estas asociaciones se descartan porque implican contradicción, por ejemplo, que

arriba es más pesado y simultáneamente abajo en más pesado. Las

combinaciones restantes son las siguientes:

(𝐴 > 𝐵) 𝛬 (𝐶 > 𝐷)

(𝐴 < 𝐵) 𝛬 (𝐶 < 𝐷)

(𝐴 > 𝐶) 𝛬 (𝐵 > 𝐷)

(𝐴 < 𝐶) 𝛬 (𝐵 < 𝐷)

Ecuación 19

Este conjunto corresponde al espacio de respuesta del motor de inferencia,

constituyendo la etapa de deffuzificación, donde la operación AND (𝛬) relaciona

Page 82: Prototipo de cabezal para antena direccional de 2.4GHz con

70

las entradas de la manera que se necesita por el sistema, y las flechas

corresponden al proceso Else, para ejecutar sobre servos.

La construcción de este motor de inferencia implica 4 entradas y 2 salidas

(MIMO), para esto la escala de las entradas es un rango de 0 a 100, equivalente

a las potencias recibidas por los dongles. La escala de salida para los servos

corresponde a 10-170 grados efectivos. Se diseñó las funciones de pertenencia

utilizando tres funciones gaussianas traslapadas.

ETAPA DE SOFTWARE

FIRMWARE DE MICROCONTROLADOR ARDUINO NANO

El firmware se diseñó considerando el control de los servo motores, el control de

los MOSFET, el protocolo de comunicación serial, mensajería basada en tramas

de datos y modo de control general directo desde la base por el usuario, así como

un modo de seguimiento basado en Fuzzy embebido.

La comunicación entre el computador con el software de interface se desarrolla

mediante tramas serial en 9600 bps con la siguiente estructura:

Trama enviada por computador:

Función Objetivo + valor de acción + salto de línea con retorno de carro

Trama devuelta por controlador:

Señal de Vida + salto de línea con retorno de carro

La señal de vida es un mensaje “HELLO” enviado luego de recibir cada orden,

esto permite que el sistema se mantenga informado de que la conexión sigue

vigente o sufrió una falla.

Page 83: Prototipo de cabezal para antena direccional de 2.4GHz con

71

La lista de funciones objetivo es la siguiente:

ka$$ kb$$ kc$$

Donde el valor “$$” puede ser “on” u “of”. Siendo funciones de accionamiento de

MOSFET.

sa### sb###

Donde el valor “###” son dígitos del “0” al “9” concatenados. Siendo funciones de

escritura de valor sobre servo en forma directa en grados.

fz%%%%%%%%%%%%

Con el valor “%%%%%%%%%%%%” correspondiendo a porcentajes de

potencia entre 000 y 100 que se inyectan al método Fuzzy para su procesamiento

y escritura sobre los servos, son valores de tres dígitos, por cada una de las 4

antenas buscadoras. Los detalles sobre el modo Fuzzy se detallan en la sección

“Fuzzy”.

Las tramas son recibidas por el buffer serial y se hacen dos niveles de substring.

Primero se revisa el encabezado buscando si los 2 primeros caracteres

corresponden a una función mediante un método IF. Si el valor recibido no

corresponde a los ya mencionados, el sistema se mantiene a la espera de valores

válidos.

Si el valor corresponde a una función se procede a una nueva operación de

substring sobre lo restante de la trama junto a un IF, donde se evalúan los valores

ingresados, si se recibió un valor fuera de los márgenes definidos, el sistema se

mantiene a la espera de valores válidos. Si se recibió un valor válido se ejecutará

la acción correspondiente.

El sistema siempre se mantiene a la espera de valores válidos, por cada ciclo.

Esto permite que en caso de que no se genere una variación en algún parámetro

Page 84: Prototipo de cabezal para antena direccional de 2.4GHz con

72

recibido válidamente, se mantiene el último valor. Esto es muy importante para

mantener la posición de los servos y el estado de los MOSFET.

Ejemplos de tramas:

se090 //El sistema sigue en espera.

sa090 //El servo A se posiciona en 90°.

sa 9 //El servo A no hace nada, el sistema sigue en espera.

sa0907b6 //El servo A se posiciona en 90°, se descarta el dato inválido.

sa090sa090 //El servo A se posiciona en 90°, se descarta el dato inválido.

Diagrama de Flujo de Firmware

Las operaciones del microcontrolador poseen un funcionamiento cíclico, donde

en forma permanente se está revisando la llegada de nuevos datos válidos que

actualicen el estado de las variables controladas, se trate de pines en ON/OFF o

de valores para servo. Esto incluye la posibilidad de pasar al modo de operación

basado en Fuzzy.

Primero se establecen las variables globales y se configura la comunicación

serial. Seguidamente se revisa si ha llegado información a través del puerto, si

no llega nada, el sistema permanece en espera hasta que lleguen datos. Si llega

una trama válida el sistema envía una respuesta de llegada con la palabra

HELLO, que es interpretada como un mensaje de conexión funcionando para el

software. En seguida de llegar una trama válida se evalúa los datos asociados,

si son válidos se procede a ejecutar la operación. Este ciclo se repite mientras el

sistema esté energizado.

Page 85: Prototipo de cabezal para antena direccional de 2.4GHz con

73

Ilustración 50 Operaciones del microcontrolador

Page 86: Prototipo de cabezal para antena direccional de 2.4GHz con

74

INTERFAZ DE USUARIO

La interfaz de usuario, escrita en Visual Basic para Windows 7, depende de la

preexistencia de las bibliotecas de Net Framework 4. La ejecución del software,

junto al acceso a hardware de red y sobre el puerto COM exigen atributos de

administrador de sistema.

El hardware completo del prototipo depende de la instalación de los siguientes

drivers:

CH340 universal serial driver (1 instancia de Hardware, Arduino NANO)

Universal USB HUB Microsoft driver (2 instancias de Hardware, HUBs)

RalinkDRV Universal_ICS_011916 (5 instancias de hardware, Dongles

WIFI)

El funcionamiento del software necesita que el puerto COM utilizado se encuentre

disponible.

Los dongles WIFI deben ser identificados según la matriz de posición presentada

en la sección de “Soporte de antenas”. La antena principal (wifiB) puede ser

utilizada para generar y mantener conexiones de red durante todas las

operaciones. Las antenas buscadoras (wifi1, wifi2, wifi3, wifi4) pueden operar en

todas sus funciones mientras se utiliza el modo manual, sin embargo, en el modo

Fuzzy sólo deben ejecutar lectura de potencia.

El software depende de un subprograma para extraer información de estado de

las interfaces de WIFI, el script es una serie de órdenes de comandos NetShell

que se requieren su respuesta en forma de texto plano tipo TXT.

La sintaxis aplicada a todas las interfaces WIFI es la siguiente:

netsh wlan show networks interface="wifiB" mode=Bssid > B_dumpout.txt

exit

Page 87: Prototipo de cabezal para antena direccional de 2.4GHz con

75

Donde netsh es el programa de administración de red de Windows 7 mediante

línea de comandos, la orden “show networks” muestra toda la información

disponible para la red seleccionada, en este caso la interface "wifiB".

El modo BSSID implica la exposición de información que incluye las direcciones

MAC y las potencias en %. Por la presencia del carácter “>” al final de la orden,

este volcado de información es arrojado como el archivo txt, que por cada

ejecución del script es reescrito actualizado.

Las métricas automáticas demuestran que el software no posee una complejidad

muy profunda, esto se ejemplifica por los dos peaks de complejidad ciclomática

en el botón 2 y el botón 4, que corresponden al algoritmo de indexado y extracción

de valores desde las interfaces, bordeando las 100 líneas de código por grupo.

Este índice ciclomático refiere a la complejidad por la cantidad de funciones

utilizadas y las dependencias vinculantes, que implican posibles bifurcaciones;

este índice al elevarse implica un mayor riesgo de error. El peak corresponde a

un nivel 17, equivalente a un riesgo moderado (Peña, 2006).

En la sección correspondiente a la conexión serial se utilizó fragmentos de código

libre disponibles en la web de Martyn Currey, que resultan apropiados por su baja

complejidad y retro compatibilidad con versiones previas de visual studio.

La interfaz del software busca ser amigable con el usuario, poniendo a

disposición la información que debiese ser útil al momento de trabajar con las

redes.

Las operaciones se describen en el anexo de Manual de usuario.

Page 88: Prototipo de cabezal para antena direccional de 2.4GHz con

76

Interfaz Gráfica

Ilustración 51 Interfaz Gráfica

Iniciando por la figura de fondo, esta corresponde a una obra publicada por el

autor 香川太郎 y se definió su presencia por temas estéticos.

Ilustración 52 Icono del Software

Bajo el mismo concepto se diseñó un icono acorde al estilo.

Page 89: Prototipo de cabezal para antena direccional de 2.4GHz con

77

Los comandos de control son los siguientes:

Ad

min

istr

ado

r d

e

Co

ne

xió

n S

eri

al

Mo

do

de

o

pe

raci

ón

Sele

cto

r d

e R

ed

es

ide

nti

fica

das

Sele

cto

r d

e R

ed

es

ide

nti

fica

das

Zon

a d

e d

ebu

g

Cu

adro

ge

ne

ral d

e r

ed

es

Vis

ual

izad

or

de

po

ten

cias

Co

man

do

s d

e

MO

SFET

Slid

ers

de

co

ntr

ol

man

ual

Se

rvo

Page 90: Prototipo de cabezal para antena direccional de 2.4GHz con

78

DIAGRAMAS DE FLUJO DE SOFTWARE

3.7.3.1.1 FUNCIONAMIENTO DE LA CONEXIÓN MEDIANTE PUERTO

SERIE.

Se ejecuta una búsqueda de los puertos COM disponibles en el equipo, si existe

y se selecciona por el usuario, el software hace un intento de conexión. Si se

recibe la respuesta “HELLO” desde el microcontrolador, el sistema mantiene el

buffer serial disponible y se encuentra en modo conectado. La conexión está

definida en 9600bps.

Ilustración 53 Diagrama de flujo de conexión serial

Page 91: Prototipo de cabezal para antena direccional de 2.4GHz con

79

3.7.3.1.2 OPERACIÓN DE LECTURA Y DUMP WIFI.

Se ejecuta un script de comandos Netshell empaquetados en un archivo .BAT

que arroja un volcado de información (DUMP) con la lectura instantánea de cada

interfaz de WIFI (dongles). Si no existen, el sistema se mantiene en espera de

que aparezcan. Si existen, se genera un archivo TXT de texto plano que se lee

transformándolo en un array de caracteres. Mediante operación de búsqueda de

caracteres y substring se genera un índice con las cabeceras de SSID (dirección

MAC) de las redes disponibles. Este índice constituye el Combobox de selección

de la red objetivo y de la lista de redes visibles al usuario.

Ilustración 54 Lectura y DUMP WIFI

Page 92: Prototipo de cabezal para antena direccional de 2.4GHz con

80

3.7.3.1.3 EXTRACCIÓN DE INFORMACIÓN DE POTENCIA

La operación de generación de las variables de potencia implica inicialmente la

selección de una red objetivo desde el Combobox con SSID’s, A partir de la

cabecera SSID identificada se procede a hacer una nueva etapa de substring

para extraer los valores de potencia, que pasan a estar disponibles como

variables y son visibles en etiquetas de información.

Esta operación se desarrolla por cada interfaz de red WIFI, actualizando las

potencias registradas.

Ilustración 55 Extracción de información de potencia

Page 93: Prototipo de cabezal para antena direccional de 2.4GHz con

81

3.7.3.1.4 OPERACIÓN EN MODO FUZZY

Cuando el modo Fuzzy está en funcionamiento, el sistema en primer lugar revisa

si la conexión serial está disponible, al ser afirmativo se procede a construir una

trama de datos con el encabezado definido para Fuzzy concatenado a los valores

de las variables de poder por cada dongle. Se escribe la trama en el buffer serial,

se espera un tiempo de acomodación para los servos y se genera la invocación

de la operación A del procedimiento de extracción de potencia, actualizando las

tablas de potencia y el estado global de disponibilidad de redes. Este proceso se

ejecuta cíclicamente mientras esté activo el modo Fuzzy.

Ilustración 56 Modo de operación Fuzzy

Page 94: Prototipo de cabezal para antena direccional de 2.4GHz con

82

3.7.3.1.5 OPERACIÓN EN MODO MANUAL

Cuando el sistema está en modo manual, la información escrita en los servos se

determina mediante ScrollBar, estas barras son controladas por el usuario y

tienen una escala equivalente al rango útil en grados de cada servo. Primero se

revisa el estado de conexión serial, si está disponible se construyen las variables

de posición en grados para azimut y elevación. Estas variables se concatenan en

la trama con la cabecera apropiada a cada servo.

Ilustración 57 Operación manual

Page 95: Prototipo de cabezal para antena direccional de 2.4GHz con

83

3.7.3.1.6 OPERACIÓN DE BOTONES DE CONTROL DE MOSFET

Existen 3 botones de control de MOSFET, dedicados a controlar manualmente la

energía de los servos y a dos puertos auxiliares de energía, +5VDC y +12VDC.

Estos botones reaccionan al cambio de su propio estado por el clic del usuario,

insertando la trama de activación o desactivación de su respectivo MOSFET en

el buffer serial.

Ilustración 58 Operación de botones de MOSFET

Page 96: Prototipo de cabezal para antena direccional de 2.4GHz con

84

VIABILIDAD ECONÓMICA

En consideración de los objetivos del prototipo, el ámbito económico de su

desarrollo se aborda esencialmente desde la viabilidad de su construcción.

Manteniendo el espíritu de que se utilicen componentes y módulos

económicamente de bajo costo, así como disponibilidad realista en el contexto

actual.

El hardware, que se construyó basado en aluminio, acero e impresión 3D,

junto a las placas de circuito se desarrollaron con materiales y

componentes disponibles en el mercado nacional.

Los servomotores, los dongles, el módulo Arduino y los HUB USB fueron

importados en forma directa desde China para abaratar costos, se muestra

su precio final de importación.

La fuente de poder ATX, los cables, los ejes de acero y el gabinete de

aluminio del cabezal fueron donados, por lo que su precio está estimado

en elementos similares del mercado.

Las antenas fueron desarrolladas por separado y preexistían al proyecto.

Los precios serán estandarizados en $USD para tener un referente internacional,

en consideración de las partes importadas.

Parte Cantidad Precio Unitario USD$ Precio Total USD$

Servomotor 2 $10 $20

Dongle WIFI 5 $15 $75

Arduino NANO 1 $5 $5

HUB USB 2 $5 $10

Fuente ATX 1 $30 $30

Cable Profibus 5 Metros $15 $15

Cable UTP cat5e 10 Metros $5 $5

Gabinete de Aluminio 1 $15 $15

Antena Yagi 5 $10 $50

Materiales de circuitos ---- $20 $20

Materiales de ensamble (pernos, tuercas, adhesivos)

---- $30 $30

Page 97: Prototipo de cabezal para antena direccional de 2.4GHz con

85

Filamento ABS 3D 0.1 Kg $30 por Kg $3

Placa de aluminio 3 Metros (tira) $15 $15

Ejes de acero --- $10 $10

Rodamientos 4 $8 $32

Total $335

Las horas trabajadas únicamente en el desarrollo del prototipo ascienden a un

mínimo de 345 estimando 23 semanas con 15 horas de dedicación. Esto se limita

únicamente a las labores concretas de diseño, programación y construcción,

considerando el maquinado y las pruebas de campo. De todos modos no es

posible analogar un precio de hora-hombre de forma arbitraria.

En el caso de proyectarse una construcción en masa, deberían ser optimizados

los procesos de producción y el diseño en sí mismo. Finalmente, con los montos

expuestos, el prototipo es funcional y posee amplio potencial de mejoría, estando

dentro de lo buscado en los objetivos específicos.

Page 98: Prototipo de cabezal para antena direccional de 2.4GHz con

86

PRUEBAS DE VALIDACIÓN Y ANÁLISIS

PRUEBAS DE FUNCIONAMIENTO

Las pruebas desarrolladas corresponden a una batería de ejercicios para revisar

el funcionamiento apropiado del sistema y posteriormente a pruebas de campo

con objetivos diversos.

PRUEBAS BÁSICAS

Las pruebas de funcionamiento básico se realizaron forzando condiciones de

abuso sobre el sistema, moviendo cableado, agitando la base de la fuente y

desequilibrando el soporte del cabezal, donde los criterios fueron los siguientes:

Criterio / N° Prueba N°1 N°2 N°3 N°4 N°5 N°6 % OK

El equipo estando ensamblado se enciende y el computador reconoce los componentes.

83%

La interfaz de software logra conectarse al controlador.

83%

Existe comunicación con los dongles, generando operaciones de lectura de redes.

66%

Al ejecutar el modo de orientación manual, el cabezal hace los giros en todo el rango.

83%

Al ejecutar el modo automático se genera reorientación con un elemento de prueba móvil.

66%

% Funcionalidad 100% 40% 40% 100% 100% 60%

Tabla 9 Resultados pruebas básicas

Page 99: Prototipo de cabezal para antena direccional de 2.4GHz con

87

Los resultados de estas pruebas muestran que existen problemas reiterados

relacionados con caídas de comunicación debido problemas con la conexión

USB en la llegada a los dongles, existe fragilidad en el puerto mini USB-B lo que

exige fijar los conectores con adhesivo.

Existe también un gado de fragilidad en el sistema al momento de mover el cable

UTP entre la fuente y el cabezal, lo que puede ser mejorado cambiando el tipo

de cable y conector.

Existe un retraso de alrededor de 0.5 segundos en la reacción de movimiento del

cabezal frente a la orden enviada, se observa que es debido a los ensambles de

ambos servos y el periodo de aceleración de las masas. Puede mejorarse

utilizando ensambles de mejor calidad, menor juego y utilizando servos de mayor

potencia.

Se observa además que el sistema al ejercer rotación es fuertemente sensible a

la rigidez y nivelación que entrega el soporte, produciéndose bamboleo cuando

se está fuera de nivel.

PRUEBAS DE CAMPO

Las pruebas de campo se ejecutaron en un espacio abierto que reuniese las

características apropiadas para generar distancia. Por las pruebas desarrolladas

inicialmente con las antenas en modo fijo, se sabe que poseen una alta ganancia

y direccionalidad, permitiendo enlaces mayores a 300 metros. La primera

complejidad se presenta en que los objetivos de prueba a nivel de tierra muestran

100% de potencia en todas las antenas a 80 metros de distancia.

Para esto se genera apantallamiento en los dispositivos mediante papel aluminio,

logrando bajar la intensidad de señal.

Para las pruebas en a nivel de tierra se utilizaron los siguientes dispositivos

portables, poseedores de funcionalidad en modo AP:

Page 100: Prototipo de cabezal para antena direccional de 2.4GHz con

88

Smartphone Sony XPeria Mini.

Smartphone LG F180S.

Notebook Sony VAIO.

Cámara Gopro H3.

Toshiba Canvio NAS portable.

Multicopter con Gopro H3.

Estando el prototipo en funcionamiento, con todos los componentes activos, las

pruebas desarrolladas son las siguientes:

Se activa el modo AP del dispositivo portable.

Desde el software se hace una actualización de las redes disponibles,

identificando la red objetivo y su dirección MAC.

El dispositivo portable (AP) inicialmente se encuentra situado frente a la posición

de partida del cabezal a una distancia de 5 metros. En ese radio se traslada el

AP lateralmente buscando generar un círculo alrededor del prototipo. La prueba

se repite para 10, 50 y 100 metros. Para el dispositivo volador, la prueba se

ejecuta de igual forma, pero con vuelo libre, en alturas estimadas máximas de

100 metros y distancias de 200 metros horizontales.

*El prototipo en modo manual debe mostrar variación en las potencias medidas

por cada dongle.

*El prototipo debe generar una reorientación de seguimiento en modo Fuzzy.

Para los dos tipos de control, se debe probar el funcionamiento en modo de

observador (sólo leyendo potencias), y en modo conectado (computador

conectado al AP).

Page 101: Prototipo de cabezal para antena direccional de 2.4GHz con

89

ANÁLISIS DE RESULTADOS

CONCLUSIONES

Page 102: Prototipo de cabezal para antena direccional de 2.4GHz con

90

GLOSARIO

RX: Abreviatura utilizada en comunicaciones para representar al receptor de los

mensajes.

TX: Abreviatura utilizada en comunicaciones para aludir al emisor de mensajes.

Transceptor: Asociación de un transmisor y un receptor en comunicaciones,

posee las funciones RX/TX en el mismo dispositivo.

EM: Refiere al campo Electro Magnético.

LAN: Local Area Net, red de área local.

SO: Sistema Operativo, por ejemplo, MS Windows, distribuciones Linux, OSX,

etc.

Transductor: Elemento o sistema que reúne la transmisión y traducción de un

tipo de energía o información, permite pasar de un dominio físico o informacional

a otro de naturaleza distinta, por ejemplo, un micrófono recibe vibraciones

mecánicas y las convierte a un dominio eléctrico.

Iluminación: En telecomunicaciones, un espacio iluminado es aquel que posee

cobertura de las señales en uso, dentro de los rangos apropiados para admitir

conectividad.

Multicopter: Para fines prácticos de este trabajo, refiere a la gama de los

vehículos voladores no tripulados de uso civil, incluyendo helicópteros, aviones,

cuadcopters y los llamados ordinariamente “drones” en general.

Dongle: Corresponde a los accesorios de hardware que usualmente se conectan

mediante un puerto USB, agregando funcionalidades a un computador. Ejemplo,

dongles WIFI, sintonizadores de tv, adaptadores ethernet, etc.

Page 103: Prototipo de cabezal para antena direccional de 2.4GHz con

91

MIMO/MISO/SIMO/SISO: Refiere al modo de operación de un sistema respecto

a la cantidad de entradas y salidas, donde “M” corresponde a múltiple y “S” refiere

a single, aplicados a “I” in entradas y “O” out salidas.

Page 104: Prototipo de cabezal para antena direccional de 2.4GHz con

92

BIBLIOGRAFÍA

[1] Wilson Marcelo Andrés Inostroza Ortiz, (2013). Análisis técnico y financiero para

la implementación de la conectividad a Internet en la escuela rural de misión San Juan de la costa. Valdivia, Universidad Austral de Chile.

[2] Gabriel Antonio Pavié Vera, Pedro Ricardo Moya Salamanca, (2010). Diseño e

implementación de una red de acceso inalámbrica wlan para proveer internet de banda ancha a escuelas rurales de Mancera, Carbonero y San Juan. Valdivia. Universidad Austral de Chile

[3] César Sánchez Norato, (2003). Antenas de TV. I.E.S Bahía de Cádiz.

[4] Carlos Crespo Cárdenas, (2008). Radiocomunicación. Pearson educación, S.A.

[5] Slawomir Koziel, Adrian Bekasiewicz and Leifur Leifsson, (2015). Multi-objective design optimization of planar yagiuda antenna using physics-based surrogates and rotational design space reduction. Reykjavik University, Iceland. Iowa State University, USA.

[6] Young, Hugh D. & Roger A. Freedman, (2009). Física Universitaria con Física

moderna volumen 2. Decimosegunda edición Pearson educación, México.

[7] Raymond A. Serway, Jonh W. Jewett, (2008). Física para ciencias e ingeniería. 7a Edición CENGAGE Learning.

[8] Manual sobre telecomunicaciones de emergencia. Edición (2005) ã uit 2004

unión internacional de telecomunicaciones, place des nations ch-1211 Ginebra, Suiza.

[9] Thomas l. Floyd, (2006). Fundamentos de sistemas digitales. Pearson educación,

Madrid.

[10] Sergey Edward Iyshevski, Alexander Nazarov, John Boggs, (2002). Integrated micro- and miniscale electromechanical systems with permanent-magnet servo-motors and vlsi drivers–controllers. Pergamon.

[11] Yuanhua Suna, Haobin Zhanga, Guangjun Wenb, Ping Wanga, (2012). Research progress in yagi antennas. International workshop on information and electronics engineering (IWIEE). Bscience and technology on electronic information control labortary, Chengdu 610036, China.

[12] Alessandra Babuscia, Benjamin Corbin, Mary Knapp, Rebecca Jensen-

Clem, Mark Van de Loo, Sara Seager, (2012). Inflatable antenna for cubesats: motivation for development and antenna Designs. Massachusetts Institute of Technology, USA.

Page 105: Prototipo de cabezal para antena direccional de 2.4GHz con

93

[13] Roland Terry Fleming. Tracker mount assembly for microwave dishes. United states patent n°4.654.670 mar.31 (1987).

[14] Norma técnica para servicio de banda local. Resol. Exenta n°1261 (2004).

Ministerio de transportes y telecomunicaciones, subsecretaría de telecomunicaciones república de Chile.

[15] Resolución nº 746 exenta de 2004, de la subsecretaría de

telecomunicaciones. Título: fija norma técnica para el uso de la banda de frecuencias 2.400 – 2.483,5 mhz. Fecha dictación: 08.06.2004.

[16] Gounaris Georgio, (2014). Wifi security and testbed implementation for

wep/ wpa cracking demonstration. Kingston University, faculty of Science, Engineering and Computing. Rei of Piraeus, departments of electronics and automation.

[17] Jonathan Mora Cuevas, (2015). Contribución a la caracterización espacial

de canales con sistema MIMO-OFDM en la banda de 2,45GHz. Universidad Politécnica de Madrid.

[18] Andrés Fabián Garzón Sánchez, Iván Mauricio Ochoa Salamanca, (2016).

Diseño e implementación de software con interfaz grafica para la medición de los parámetros de antenas en el laboratorio de antenas de la Universidad Santo Tomas. Universidad Santo Tomás, Bogotá http://hdl.handle.net/11634/682

[19] J.S. Blogh, L. Hanzo, (2002). Third-Generation Systems and Intelligent

Wireless Networking. Copyright © John Wiley & Sons Ltd.

[20] Thomas A. Milligan (2005). Modern antenna design, Second Edition. Copyright by John Wiley & Sons.

[21] Farris, A., Marson, R., & Kern, J. (2005). The ALMA telescope control

system. Proceedings of ICALEPCS 2005.

[22] Galeas, P., Flores, L., Levi, Y., Huircán, J., Epuyao, G., & Muñoz, C. (2013). eDiVo-Potenciando Habilidades Espaciales con Vehículos Aéreos No Tripulados.

[23] Cristian Correa, Rodrigo Godoy, Walter Grote, Manuel Orellana, EVALUACIÓN DE ENLACES INALÁMBRICOS URBANOS USANDO PROTOCOLO IEEE802.11b (2005) Rev. Fac. Ing. - Univ. Tarapacá, vol. 13 Nº 3, 38, pp. 38-44

[24] IEEE Std 802.11™-2012 (Revision of IEEE Std 802.11-2007).

[25] Norma técnica para servicio de banda local. Resol. Exenta n°1261 (2004).

Ministerio de transportes y telecomunicaciones, subsecretaría de telecomunicaciones república de Chile.

Page 106: Prototipo de cabezal para antena direccional de 2.4GHz con

94

[26] Resolución nº 746 exenta de 2004, de la subsecretaría de telecomunicaciones. Título: fija norma técnica para el uso de la banda de frecuencias 2.400 – 2.483,5 mhz. Fecha dictación: 08.06.2004.

[27] Resolución nº 755 exenta de 2005, de la subsecretaría de telecomunicaciones. Título: fija norma técnica equipos de alcance reducido 2.400 – 2.483,5 mhz. Fecha dictación: 15.06.2005.

http://www.upv.es/antenas/

http://crdm.co.uk/wp-content/uploads/2013/06/ABS-data-sheet-for-

FDM.pdf

Understanding SWR by Example, Darrin Walraven, K5DVW, 2006 QST © ARRL

http://www.arrl.org/files/file/Technology/tis/info/pdf/q1106037.pdf

http://www.pixiv.net/member_illust.php?mode=medium&illust_id=413454

16 Imagen de fondo original de interfaz gráfica.

método de McCabe Juan Manuel Fernández Peña 23/11/2006 Universidad Veracruzana http://www.uv.mx/personal/jfernandez/files/2010/07/Cap3-Caminos.pdf

http://www.w3schools.com/html/tryit.asp?filename=tryhtml_formatting

colores código

https://www.draw.io/

Page 107: Prototipo de cabezal para antena direccional de 2.4GHz con

95

ANEXOS

Código Arduino (viejo, falta fuzz) String buff; //magic words PARA BUFFER

//////////////////////////////////////////// CONFIGURACION DE PINES

void setup()

Serial.begin(9600);

servo1.attach(5);

servo2.attach(6);

pinMode(keyFet1, OUTPUT);

pinMode(keyFet2, OUTPUT);

pinMode(keyFet3, OUTPUT);

pinMode(keyFet4, OUTPUT);

/////////////////////////////////////////////// CICLO DE FUNCIONAMIENTO

void loop()

if(Serial.available())

while (Serial.available()>0)

//////////////////////////// ESTRACTOR DE TRAMA

buff = Serial.readString(); //Reader-Parser BUFFER

String header=buff.substring(0,2); ///EXTRAE LOS 3 PRIMEROS CARACTERES DE LA TRAMA

//////////////////////////////////// COMPARACION DE CABECERAS DE TRAMA Y ACCIONAMIENTO

if (header == "sa")

servo1.write((buff.substring(2,5)).toInt());

delay (25);

else if (header == "sb")

servo2.write((buff.substring(2,5)).toInt());

delay (25);

else if (header == "k1")

if ((buff.substring(2,4)) == "on")

digitalWrite (keyFet1, HIGH);

else digitalWrite (keyFet1, LOW);

Page 108: Prototipo de cabezal para antena direccional de 2.4GHz con

96

else if (header == "k2")

if ((buff.substring(2,4)) == "on")

digitalWrite (keyFet2, HIGH);

else digitalWrite (keyFet2, LOW);

else if (header == "k3")

if ((buff.substring(2,4)) == "on")

digitalWrite (keyFet3, HIGH);

else digitalWrite (keyFet3, LOW);

else if (header == "k4")

if ((buff.substring(2,4)) == "on")

digitalWrite (keyFet4, HIGH);

else digitalWrite (keyFet4, LOW);

////////////////////////////////////////////////////////////////

//cierra while serial

Serial.println("HELLO"); //conexion viva

delay (10);

delay (10); //cierra loop

Page 109: Prototipo de cabezal para antena direccional de 2.4GHz con

97

Código Visual Studio

Imports System

Imports System.IO.Ports

Public Class Interfaz

' variables globales

Dim comPORT As String

Dim receivedData As String = ""

Dim connected As Boolean = False 'Variable testigo de conexion disponible

Dim count = 0

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)

Handles MyBase.Load

Timer1.Enabled = False

populateCOMport()

End Sub

Private Sub refreshCOM_BTN_Click(sender As Object, e As EventArgs) Handles

refreshCOM_CB_BTN.Click

'Boton actualizar cierra las conexiones abiertas

SerialPort1.Close()

populateCOMport()

End Sub

Private Sub populateCOMport() 'llenado del combobox con puertos disopnibles

comPORT = ""

comPort_ComboBox.Items.Clear()

For Each sp As String In My.Computer.Ports.SerialPortNames

comPort_ComboBox.Items.Add(sp)

Next

End Sub

Private Sub comPort_ComboBox_SelectedIndexChanged(sender As Object, e As

EventArgs) Handles comPort_ComboBox.SelectedIndexChanged

Page 110: Prototipo de cabezal para antena direccional de 2.4GHz con

98

If (comPort_ComboBox.SelectedItem <> "") Then

comPORT = comPort_ComboBox.SelectedItem

End If

End Sub

'funcion de comprobacion de vida del enlace, al conectar, si se envía undato debe

recibirse de vuelta la palabra "HELLO"

Private Sub connect_BTN_Click(sender As Object, e As EventArgs) Handles

connect_BTN.Click

comPORT = comPort_ComboBox.SelectedItem

Label11.Text = ""

If (connect_BTN.Text = "Conectar") Then

If (comPORT <> "") Then

'Configuración del puerto serie

SerialPort1.Close()

SerialPort1.PortName = comPORT

SerialPort1.BaudRate = 9600

SerialPort1.DataBits = 8

SerialPort1.Parity = Parity.None

SerialPort1.StopBits = StopBits.One

SerialPort1.Handshake = Handshake.None

SerialPort1.Encoding = System.Text.Encoding.Default

SerialPort1.ReadTimeout = 10000

SerialPort1.Open()

count = 0

SerialPort1.WriteLine("<HELLO>")

connect_BTN.Text = "Conectando..."

connecting_Timer.Enabled = True

Else

MsgBox("Seleccionar puerto COM")

End If

Else

Timer1.Enabled = False

Timer_LBL.Text = "Offline"

SerialPort1.Close()

Page 111: Prototipo de cabezal para antena direccional de 2.4GHz con

99

connected = False

connect_BTN.Text = "Conectar"

populateCOMport()

End If

End Sub

'Funcion de comprobación de conexion, requerimiento de respuesta cada 2 segundos

Private Sub connecting_Timer_Tick(sender As Object, e As EventArgs) Handles

connecting_Timer.Tick

connecting_Timer.Enabled = False

count = count + 1

If (count <= 8) Then

receivedData = receivedData & ReceiveSerialData()

If (Microsoft.VisualBasic.Left(receivedData, 5) = "HELLO") Then

connected = True

connect_BTN.Text = "Desconectar"

Timer1.Enabled = True

Timer_LBL.Text = "Online"

receivedData = ReceiveSerialData()

receivedData = ""

SerialPort1.WriteLine("<START>")

Label11.Text &= ""

Else

connecting_Timer.Enabled = True

End If

Else

'time out (8 * 250 = 2 seconds)

Label11.Text &= "Conexion fallida"

connect_BTN.Text = "Conectar"

populateCOMport()

End If

Page 112: Prototipo de cabezal para antena direccional de 2.4GHz con

100

End Sub

Function ReceiveSerialData() As String

Dim Incoming As String

Try

Incoming = SerialPort1.ReadExisting()

If Incoming Is Nothing Then

Return "nothing" & vbCrLf

Else

Return Incoming

End If

Catch ex As TimeoutException

Return "Error: Sobrepasado tiempo de respuesta"

End Try

RichTextBox2.Text = receivedData

End Function

'Limpia debug

Private Sub clear_BTN_Click(sender As Object, e As EventArgs) Handles

clear_BTN.Click

RichTextBox2.Text = ""

End Sub

'Funciones de control sobre mosfet y estados

Private Sub Pin4_BTN_Click(sender As Object, e As EventArgs) Handles

Pin4_BTN.Click

If (connected) Then

If (Pin4_BTN.Text = "OFF") Then

SerialPort1.WriteLine("k2on")

Pin4_BTN.Text = "ON"

Else

SerialPort1.WriteLine("k2of")

Pin4_BTN.Text = "OFF"

End If

Else

Page 113: Prototipo de cabezal para antena direccional de 2.4GHz con

101

MsgBox("No conectado")

End If

End Sub

Private Sub Pin5_BTN_Click(sender As Object, e As EventArgs) Handles

Pin5_BTN.Click

If (connected) Then

If (Pin5_BTN.Text = "OFF") Then

SerialPort1.WriteLine("k3on")

Pin5_BTN.Text = "ON"

Else

SerialPort1.WriteLine("k3of")

Pin5_BTN.Text = "OFF"

End If

Else

MsgBox("No conectado")

End If

End Sub

Private Sub Pin13_BTN_Click(sender As Object, e As EventArgs) Handles

Pin13_BTN.Click

If (connected) Then

If (Pin13_BTN.Text = "OFF") Then

SerialPort1.WriteLine("k1on")

Pin13_BTN.Text = "ON"

Else

SerialPort1.WriteLine("k1of")

Pin13_BTN.Text = "OFF"

End If

Else

MsgBox("No conectado")

End If

End Sub

'Sliders

Private Sub A_TrackBar_Scroll(sender As Object, e As EventArgs) Handles

A_TrackBar.Scroll

updateLBA()

Page 114: Prototipo de cabezal para antena direccional de 2.4GHz con

102

End Sub

Private Sub Z_TrackBar_Scroll(sender As Object, e As EventArgs) Handles

Z_TrackBar.Scroll

updateLBZ()

End Sub

Private Sub updateLBA()

slider_LBA.Text = "Alt:" & Format(A_TrackBar.Value, "000")

If (connected) Then

Dim Adata As String

Adata = "sa" & Format(A_TrackBar.Value, "000")

SerialPort1.WriteLine(Adata)

End If

End Sub

Private Sub updateLBZ()

slider_LBZ.Text = "Az:" & Format(Z_TrackBar.Value, "000")

If (connected) Then

Dim Zdata As String

Zdata = "sb" & Format(Z_TrackBar.Value, "000")

SerialPort1.WriteLine(Zdata)

End If

End Sub

Private Sub send_BTN_Click(sender As Object, e As EventArgs) Handles

send_BTN.Click

If (connected) Then

Dim tmp As String

tmp = send_TB.Text

SerialPort1.WriteLine(tmp)

End If

End Sub

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

Shell("scripttest.bat") 'EJECUTA SCRIPT NETSHELL DUMP

Threading.Thread.Sleep(1000) ' 1 segundo

Page 115: Prototipo de cabezal para antena direccional de 2.4GHz con

103

'FORMACION DE ARRAYS FILTRADOS

Dim reader As String = My.Computer.FileSystem.ReadAllText("B_dumpout.txt")

'lee txt

Dim Lineas() As String = Split(reader, vbNewLine) 'troza y genera array

Dim Resultado() As String = Filter(Lineas, "BSSID", True) 'array con BSSID

expurea

ComboBox1.DataSource = Resultado

'CMBBX llenado con matriz bssid expurea

Dim searchString As String = "Actualmente hay"

'FUNCION DE EXTRACCION TEXTO

Dim startindex As Integer = reader.IndexOf(searchString)

Dim length As Integer = 3

Dim substring As String = reader.Substring(startindex + 16, length)

Label10.Text = ("Redes disponibles: " & substring)

RichTextBox1.Text = reader

End Sub

'////////////////////////////////////////////////////////// VISUALIZADOR PWR

ACTUALIZACION MANUAL

Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click

'/////////////////////// IDENTIFICACION DE MAC OBJETIVO

Dim cajatxtB As String = ComboBox1.Text

Dim searchStringB As String = "BSSID 1" 'STRING MAC

Dim startindexB As Integer = cajatxtB.IndexOf(searchStringB)

Dim lengthB As Integer = 18

Dim MAC As String = cajatxtB.Substring(startindexB + 21, lengthB)

'/////////////////////////////////////////// EXTRACCION DE PWR ANTENA 1

Dim reader_A1 As String = My.Computer.FileSystem.ReadAllText("1_dumpout.txt")

Dim searchString_A1 As String = MAC

Dim startindex_A1 As Integer = reader_A1.IndexOf(searchString_A1)

Dim power_A1 As String = reader_A1.Substring(startindex_A1 + 50, 4)

Dim startindexPwr_a1 As Integer = power_A1.IndexOf("%")

' Al no encontrar el marcador % se arroja un "-1" que genera error en el

substring

Page 116: Prototipo de cabezal para antena direccional de 2.4GHz con

104

Dim fixerIndex1 As Double = (((startindexPwr_a1) ^ 2)) ^ (1 / 2)

' esta operación fixea el valor dando siempre indice positivo

Dim powerReal_a1 As String = power_A1.Substring(0, fixerIndex1)

Dim PowerRealCompuesto_a1 As String

' Constructor de dato para envío serial formato ### tambien fixea error de

tarjeta o BSSID

If startindexPwr_a1 = 3 Then

PowerRealCompuesto_a1 = powerReal_a1

ElseIf startindexPwr_a1 = 2 Then

PowerRealCompuesto_a1 = 0 & powerReal_a1

ElseIf startindexPwr_a1 = 1 Then

PowerRealCompuesto_a1 = 0 & 0 & powerReal_a1

ElseIf startindexPwr_a1 = (-1) Then

PowerRealCompuesto_a1 = 0 & 0 & 0

End If

Label6.Text = PowerRealCompuesto_a1

'/////////////////////////////////////////// EXTRACCION DE PWR ANTENA 2

Dim reader_A2 As String = My.Computer.FileSystem.ReadAllText("2_dumpout.txt")

Dim searchString_A2 As String = MAC

Dim startindex_A2 As Integer = reader_A2.IndexOf(searchString_A2)

Dim power_A2 As String = reader_A2.Substring(startindex_A2 + 50, 4)

Dim startindexPwr_a2 As Integer = power_A2.IndexOf("%")

Dim fixerIndex2 As Double = (((startindexPwr_a2) ^ 2)) ^ (1 / 2)

Dim powerReal_a2 As String = power_A2.Substring(0, fixerIndex2)

Dim PowerRealCompuesto_a2 As String

If startindexPwr_a2 = 3 Then

PowerRealCompuesto_a2 = powerReal_a2

ElseIf startindexPwr_a2 = 2 Then

PowerRealCompuesto_a2 = 0 & powerReal_a2

ElseIf startindexPwr_a2 = 1 Then

Page 117: Prototipo de cabezal para antena direccional de 2.4GHz con

105

PowerRealCompuesto_a2 = 0 & 0 & powerReal_a2

ElseIf startindexPwr_a2 = (-1) Then

PowerRealCompuesto_a2 = 0 & 0 & 0

End If

Label7.Text = PowerRealCompuesto_a2

Label13.Text = "index= " & fixerIndex1

'/////////////////////////////////////////// EXTRACCION DE PWR ANTENA 3

Dim reader_A3 As String = My.Computer.FileSystem.ReadAllText("1_dumpout.txt")

Dim searchString_A3 As String = MAC

Dim startindex_A3 As Integer = reader_A3.IndexOf(searchString_A3)

Dim power_A3 As String = reader_A3.Substring(startindex_A3 + 50, 4)

Dim startindexPwr_a3 As Integer = power_A3.IndexOf("%")

Dim fixerIndex3 As Double = (((startindexPwr_a3) ^ 2)) ^ (1 / 2)

Dim powerReal_a3 As String = power_A3.Substring(0, fixerIndex3)

Dim PowerRealCompuesto_a3 As String

If startindexPwr_a3 = 3 Then

PowerRealCompuesto_a3 = powerReal_a3

ElseIf startindexPwr_a3 = 2 Then

PowerRealCompuesto_a3 = 0 & powerReal_a3

ElseIf startindexPwr_a3 = 1 Then

PowerRealCompuesto_a3 = 0 & 0 & powerReal_a3

ElseIf startindexPwr_a3 = (-1) Then

PowerRealCompuesto_a3 = 0 & 0 & 0

End If

Label8.Text = PowerRealCompuesto_a3

'/////////////////////////////////////////// EXTRACCION DE PWR ANTENA 4

Dim reader_A4 As String = My.Computer.FileSystem.ReadAllText("1_dumpout.txt")

Page 118: Prototipo de cabezal para antena direccional de 2.4GHz con

106

Dim searchString_A4 As String = MAC

Dim startindex_A4 As Integer = reader_A4.IndexOf(searchString_A4)

Dim power_A4 As String = reader_A4.Substring(startindex_A4 + 50, 4)

Dim startindexPwr_a4 As Integer = power_A4.IndexOf("%")

Dim fixerIndex4 As Double = (((startindexPwr_a4) ^ 2)) ^ (1 / 2)

Dim powerReal_a4 As String = power_A4.Substring(0, fixerIndex4)

Dim PowerRealCompuesto_a4 As String

If startindexPwr_a4 = 3 Then

PowerRealCompuesto_a4 = powerReal_a4

ElseIf startindexPwr_a4 = 2 Then

PowerRealCompuesto_a4 = 0 & powerReal_a4

ElseIf startindexPwr_a4 = 1 Then

PowerRealCompuesto_a4 = 0 & 0 & powerReal_a4

ElseIf startindexPwr_a4 = (-1) Then

PowerRealCompuesto_a4 = 0 & 0 & 0

End If

Label9.Text = PowerRealCompuesto_a4

End Sub

'/////////////////////////////////////////////////////////////////////////////////////

CONTROL FUZZY

Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click

If (connected) Then

If (Button2.Text = "Iniciar Busqueda") Then

Button2.Text = "Detener Busqueda"

SerialPort1.WriteLine("fzon") 'ACTIVAR MODO FUZZY

Page 119: Prototipo de cabezal para antena direccional de 2.4GHz con

107

'/////////////////////// IDENTIFICACION DE MAC OBJETIVO

Dim cajatxtB As String = ComboBox1.Text

Dim searchStringB As String = "BSSID 1" 'STRING MAC

Dim startindexB As Integer = cajatxtB.IndexOf(searchStringB)

Dim lengthB As Integer = 18

Dim MAC As String = cajatxtB.Substring(startindexB + 21, lengthB)

'/////////////////////////////////////////// EXTRACCION DE PWR ANTENA

1

Dim reader_A1 As String =

My.Computer.FileSystem.ReadAllText("1_dumpout.txt")

Dim searchString_A1 As String = MAC

Dim startindex_A1 As Integer = reader_A1.IndexOf(searchString_A1)

Dim power_A1 As String = reader_A1.Substring(startindex_A1 + 50, 4)

Dim startindexPwr_a1 As Integer = power_A1.IndexOf("%")

Dim fixerIndex1 As Double = (((startindexPwr_a1) ^ 2)) ^ (1 / 2)

Dim powerReal_a1 As String = power_A1.Substring(0, fixerIndex1)

Dim PowerRealCompuesto_a1 As String

If startindexPwr_a1 = 3 Then

PowerRealCompuesto_a1 = powerReal_a1

ElseIf startindexPwr_a1 = 2 Then

PowerRealCompuesto_a1 = 0 & powerReal_a1

ElseIf startindexPwr_a1 = 1 Then

PowerRealCompuesto_a1 = 0 & 0 & powerReal_a1

ElseIf startindexPwr_a1 = (-1) Then

PowerRealCompuesto_a1 = 0 & 0 & 0

End If

Label6.Text = PowerRealCompuesto_a1

SerialPort1.WriteLine("fz1" & PowerRealCompuesto_a1)

Page 120: Prototipo de cabezal para antena direccional de 2.4GHz con

108

'/////////////////////////////////////////// EXTRACCION DE PWR ANTENA

2

Dim reader_A2 As String =

My.Computer.FileSystem.ReadAllText("2_dumpout.txt")

Dim searchString_A2 As String = MAC

Dim startindex_A2 As Integer = reader_A2.IndexOf(searchString_A2)

Dim power_A2 As String = reader_A2.Substring(startindex_A2 + 50, 4)

Dim startindexPwr_a2 As Integer = power_A2.IndexOf("%")

Dim fixerIndex2 As Double = (((startindexPwr_a2) ^ 2)) ^ (1 / 2)

Dim powerReal_a2 As String = power_A2.Substring(0, fixerIndex2)

Dim PowerRealCompuesto_a2 As String

If startindexPwr_a2 = 3 Then

PowerRealCompuesto_a2 = powerReal_a2

ElseIf startindexPwr_a2 = 2 Then

PowerRealCompuesto_a2 = 0 & powerReal_a2

ElseIf startindexPwr_a2 = 1 Then

PowerRealCompuesto_a2 = 0 & 0 & powerReal_a2

ElseIf startindexPwr_a2 = (-1) Then

PowerRealCompuesto_a2 = 0 & 0 & 0

End If

Label7.Text = PowerRealCompuesto_a2

SerialPort1.WriteLine("fz2" & PowerRealCompuesto_a2)

'/////////////////////////////////////////// EXTRACCION DE PWR ANTENA

3

Dim reader_A3 As String =

My.Computer.FileSystem.ReadAllText("1_dumpout.txt")

Dim searchString_A3 As String = MAC

Dim startindex_A3 As Integer = reader_A3.IndexOf(searchString_A3)

Dim power_A3 As String = reader_A3.Substring(startindex_A3 + 50, 4)

Dim startindexPwr_a3 As Integer = power_A3.IndexOf("%")

Dim fixerIndex3 As Double = (((startindexPwr_a3) ^ 2)) ^ (1 / 2)

Dim powerReal_a3 As String = power_A3.Substring(0, fixerIndex3)

Page 121: Prototipo de cabezal para antena direccional de 2.4GHz con

109

Dim PowerRealCompuesto_a3 As String

If startindexPwr_a3 = 3 Then

PowerRealCompuesto_a3 = powerReal_a3

ElseIf startindexPwr_a3 = 2 Then

PowerRealCompuesto_a3 = 0 & powerReal_a3

ElseIf startindexPwr_a3 = 1 Then

PowerRealCompuesto_a3 = 0 & 0 & powerReal_a3

ElseIf startindexPwr_a3 = (-1) Then

PowerRealCompuesto_a3 = 0 & 0 & 0

End If

Label8.Text = PowerRealCompuesto_a3

SerialPort1.WriteLine("fz3" & PowerRealCompuesto_a3)

'/////////////////////////////////////////// EXTRACCION DE PWR ANTENA

4

Dim reader_A4 As String =

My.Computer.FileSystem.ReadAllText("1_dumpout.txt")

Dim searchString_A4 As String = MAC

Dim startindex_A4 As Integer = reader_A4.IndexOf(searchString_A4)

Dim power_A4 As String = reader_A4.Substring(startindex_A4 + 50, 4)

Dim startindexPwr_a4 As Integer = power_A4.IndexOf("%")

Dim fixerIndex4 As Double = (((startindexPwr_a4) ^ 2)) ^ (1 / 2)

Dim powerReal_a4 As String = power_A4.Substring(0, fixerIndex4)

Dim PowerRealCompuesto_a4 As String

If startindexPwr_a4 = 3 Then

PowerRealCompuesto_a4 = powerReal_a4

ElseIf startindexPwr_a4 = 2 Then

PowerRealCompuesto_a4 = 0 & powerReal_a4

ElseIf startindexPwr_a4 = 1 Then

PowerRealCompuesto_a4 = 0 & 0 & powerReal_a4

Page 122: Prototipo de cabezal para antena direccional de 2.4GHz con

110

ElseIf startindexPwr_a4 = (-1) Then

PowerRealCompuesto_a4 = 0 & 0 & 0

End If

Label9.Text = PowerRealCompuesto_a4

SerialPort1.WriteLine("fz4" & PowerRealCompuesto_a4)

Else

Button2.Text = "Iniciar Busqueda"

SerialPort1.WriteLine("fzof") 'apagar MODO FUZZY

End If

Else

MsgBox("No conectado")

End If

End Sub

Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs)

Handles ComboBox1.SelectedIndexChanged

Dim cajatxt As String = ComboBox1.Text

Dim searchString2 As String = "BSSID" 'STRING MAC

Dim startindex2 As Integer = cajatxt.IndexOf(searchString2)

Dim length2 As Integer = 18

Dim MAC As String = cajatxt.Substring(startindex2 + 21, length2)

Label4.Text = "MAC: " & MAC

Dim valorpwr As String 'salida real pwr ###

Dim reader3 As String = My.Computer.FileSystem.ReadAllText("B_dumpout.txt")

Dim searchString As String = MAC 'FUNCION DE EXTRACCION TEXTO

Dim startindex As Integer = reader3.IndexOf(searchString)

Dim power As String = reader3.Substring(startindex + 50, 4)

Dim startindexPwr As Integer = power.IndexOf("%")

Dim powerReal As String = power.Substring(0, startindexPwr)

Dim PowerRealCompuesto As String

Page 123: Prototipo de cabezal para antena direccional de 2.4GHz con

111

If startindexPwr = 3 Then

PowerRealCompuesto = powerReal

ElseIf startindexPwr = 2 Then

PowerRealCompuesto = 0 & powerReal

ElseIf startindexPwr = 1 Then

PowerRealCompuesto = 0 & 0 & powerReal

End If

Label12.Text = "compuesto " & PowerRealCompuesto

Label5.Text = "PWR: " & powerReal & "%"

End Sub

Private Sub Panel1_Paint(sender As Object, e As PaintEventArgs) Handles

Panel1.Paint

End Sub

End Class

Page 124: Prototipo de cabezal para antena direccional de 2.4GHz con

112

Métrica automática de Visual Studio

Member Maintainability Index

Cyclomatic Complexity Lines of Code

A_TrackBar.Get() As TrackBar 98 1 1

A_TrackBar.Set(TrackBar) 75 3 5

A_TrackBar_Scroll(Object, EventArgs) 100 1 1

Button1.Get() As Button 98 1 1

Button1.Set(Button) 75 3 5

Button1_Click(Object, EventArgs) 58 1 12

Button2.Get() As Button 98 1 1

Button2.Set(Button) 75 3 5

Button2_Click(Object, EventArgs) 31 19 86

Button3.Get() As Button 98 1 1

Button3.Set(Button) 95 1 1

Button4.Get() As Button 98 1 1

Button4.Set(Button) 75 3 5

Button4_Click(Object, EventArgs) 33 17 74

clear_BTN.Get() As Button 98 1 1

clear_BTN.Set(Button) 75 3 5

clear_BTN_Click(Object, EventArgs) 94 1 1

ComboBox1.Get() As ComboBox 98 1 1

ComboBox1.Set(ComboBox) 75 3 5 ComboBox1_SelectedIndexChanged(Object, EventArgs) 51 4 21

comPort_ComboBox.Get() As ComboBox 98 1 1

comPort_ComboBox.Set(ComboBox) 75 3 5 comPort_ComboBox_SelectedIndexChanged(Object, EventArgs) 81 2 2

COMport_LBL.Get() As Label 98 1 1

COMport_LBL.Set(Label) 95 1 1

connect_BTN.Get() As Button 98 1 1

connect_BTN.Set(Button) 75 3 5

connect_BTN_Click(Object, EventArgs) 49 3 27

connecting_Timer.Get() As Timer 98 1 1

connecting_Timer.Set(Timer) 75 3 5

connecting_Timer_Tick(Object, EventArgs) 53 4 19

Dispose(Boolean) 75 3 5

Form1_Load(Object, EventArgs) 86 1 2

GroupBox1.Get() As GroupBox 98 1 1

GroupBox1.Set(GroupBox) 95 1 1

InitializeComponent() 13 1 427

Page 125: Prototipo de cabezal para antena direccional de 2.4GHz con

113

Label1.Get() As Label 98 1 1

Label1.Set(Label) 95 1 1

Label10.Get() As Label 98 1 1

Label10.Set(Label) 95 1 1

Label11.Get() As Label 98 1 1

Label11.Set(Label) 95 1 1

Label12.Get() As Label 98 1 1

Label12.Set(Label) 95 1 1

Label13.Get() As Label 98 1 1

Label13.Set(Label) 95 1 1

Label18.Get() As Label 98 1 1

Label18.Set(Label) 95 1 1

Label19.Get() As Label 98 1 1

Label19.Set(Label) 95 1 1

Label2.Get() As Label 98 1 1

Label2.Set(Label) 95 1 1

Label20.Get() As Label 98 1 1

Label20.Set(Label) 95 1 1

Label21.Get() As Label 98 1 1

Label21.Set(Label) 95 1 1

Label3.Get() As Label 98 1 1

Label3.Set(Label) 95 1 1

Label4.Get() As Label 98 1 1

Label4.Set(Label) 95 1 1

Label5.Get() As Label 98 1 1

Label5.Set(Label) 95 1 1

Label6.Get() As Label 98 1 1

Label6.Set(Label) 95 1 1

Label7.Get() As Label 98 1 1

Label7.Set(Label) 95 1 1

Label8.Get() As Label 98 1 1

Label8.Set(Label) 95 1 1

Label9.Get() As Label 98 1 1

Label9.Set(Label) 95 1 1

New() 75 1 4

Panel1.Get() As Panel 98 1 1

Panel1.Set(Panel) 75 3 5

Panel1_Paint(Object, PaintEventArgs) 100 1 0

Pin13_BTN.Get() As Button 98 1 1

Pin13_BTN.Set(Button) 75 3 5

Pin13_BTN_Click(Object, EventArgs) 64 3 9

Pin4_BTN.Get() As Button 98 1 1

Pin4_BTN.Set(Button) 75 3 5

Page 126: Prototipo de cabezal para antena direccional de 2.4GHz con

114

Pin4_BTN_Click(Object, EventArgs) 64 3 9

Pin5_BTN.Get() As Button 98 1 1

Pin5_BTN.Set(Button) 75 3 5

Pin5_BTN_Click(Object, EventArgs) 64 3 9

populateCOMport() 68 3 6

ProgressBar1.Get() As ProgressBar 98 1 1

ProgressBar1.Set(ProgressBar) 95 1 1

RadioButton1.Get() As RadioButton 98 1 1

RadioButton1.Set(RadioButton) 95 1 1

RadioButton4.Get() As RadioButton 98 1 1

RadioButton4.Set(RadioButton) 95 1 1

ReceiveSerialData() As String 69 3 6

refreshCOM_BTN_Click(Object, EventArgs) 87 1 2

refreshCOM_CB_BTN.Get() As Button 98 1 1

refreshCOM_CB_BTN.Set(Button) 75 3 5

RichTextBox1.Get() As RichTextBox 98 1 1

RichTextBox1.Set(RichTextBox) 95 1 1

RichTextBox2.Get() As RichTextBox 98 1 1

RichTextBox2.Set(RichTextBox) 95 1 1

send_BTN.Get() As Button 98 1 1

send_BTN.Set(Button) 75 3 5

send_BTN_Click(Object, EventArgs) 78 2 3

send_TB.Get() As TextBox 98 1 1

send_TB.Set(TextBox) 95 1 1

SerialPort1.Get() As SerialPort 98 1 1

SerialPort1.Set(SerialPort) 95 1 1

slider_LBA.Get() As Label 98 1 1

slider_LBA.Set(Label) 95 1 1

slider_LBZ.Get() As Label 98 1 1

slider_LBZ.Set(Label) 95 1 1

Timer_LBL.Get() As Label 98 1 1

Timer_LBL.Set(Label) 95 1 1

Timer1.Get() As Timer 98 1 1

Timer1.Set(Timer) 95 1 1

Timer2.Get() As Timer 98 1 1

Timer2.Set(Timer) 95 1 1

updateLBA() 72 2 4

updateLBZ() 72 2 4

Z_TrackBar.Get() As TrackBar 98 1 1

Z_TrackBar.Set(TrackBar) 75 3 5

Page 127: Prototipo de cabezal para antena direccional de 2.4GHz con

115

Diagramas estructurales de Chasis

Page 128: Prototipo de cabezal para antena direccional de 2.4GHz con

116

Código Arduino (Actualizar al fuzificado) ///////////////////////////////////////////// DECLARACION DE VARIABLES Y LIBRERIAS #include <Servo.h> Servo servo1; Servo servo2; int keyFet1 = 2; int keyFet2 = 7; int keyFet3 = 8; int keyFet4 = 6;