Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
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.
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
iii
A mi familia, quienes han confiado en mí y me dan soporte.
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.
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
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
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
viii
ÍNDICE DE FIGURAS
No se encuentran elementos de tabla de ilustraciones.
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
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
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.
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
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.
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.
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
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.
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.
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,
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.
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.
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.
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
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
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.
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
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
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,
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).
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
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
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.
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)
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
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).
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
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
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
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.
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
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.
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
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
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
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
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
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
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
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.
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
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),
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
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
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
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
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
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
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
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
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.
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
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
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
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
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
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
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
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.
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
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)
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
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
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
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
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-
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
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.
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
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.
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
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
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
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.
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
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.
73
Ilustración 50 Operaciones del microcontrolador
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
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.
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.
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
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
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
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
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
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
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
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
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.
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
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:
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).
89
ANÁLISIS DE RESULTADOS
CONCLUSIONES
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.
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.
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.
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.
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/
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);
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
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
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()
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
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
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()
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
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
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
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")
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
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)
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)
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
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
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
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
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
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
115
Diagramas estructurales de Chasis
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;