SlideShare una empresa de Scribd logo
1 de 37
Descargar para leer sin conexión
PROYECTO FIN DE CARRERA
Presentado a:
UNIVERSIDAD DE LOS ANDES
FACULTAD DE INGENIERÍA
DEPARTAMENTO DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA
Para obtener el tı́tulo de:
INGENIERO ELECTRÓNICO
por
Manuel Santiago Barrios Peña
Desarrollo de plataforma para la operación tele operada de circuitos
análogos con fines pedagógicos
Presentado el 18 de Diciembre de 2017 frente al jurado:
- Asesor: Mauricio Duque Escobar PhD, Profesor Asociado, Universidad de Los Andes
- Jurado : Antonio José Salazar Gómez PhD, Profesor Asociado, Universidad de Los Andes
- Invitados: Michaël Canu PhD, Facultad de Ingenierı́a, Universidad de Los Andes
Índice general
1. Introducción 1
1.1. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1.1. Objetivo General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1.2. Objetivos Especı́ficos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2. Descripción de la problemática y justificación del trabajo . . . . . . . . . . . . . . . . . 2
1.3. Alcance y productos finales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Marco teórico, conceptual e histórico 4
2.1. Marco Teórico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3. Definición y especificación del trabajo 8
3.1. Definición . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
4. Metodologı́a del trabajo 9
4.1. Metodologı́a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
4.2. Plan de trabajo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
5. Trabajo realizado 11
5.1. Etapa de Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
5.2. Etapa de Programación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
5.3. Evaluación de Costos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
5.4. Validación del trabajo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
6. Discusión 26
7. Conclusiones 27
8. Agradecimientos 28
9. Anexos 30
ii
Índice de figuras
2.1. Caracterización de experimentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.2. Ejemplo componentes labortorio remoto [5]. . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.3. Resumen de arquitecturas laboratorios remotos . . . . . . . . . . . . . . . . . . . . . . . 7
4.1. Diagrama de Gantt con Esquema del calendario de trabajo . . . . . . . . . . . . . . . . 10
5.1. Diagrama de Bloques de la composición del proyecto . . . . . . . . . . . . . . . . . . . . 11
5.2. Esquemático del circuito ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
5.3. Esquemático de los multiplexores con sus respectivos valores . . . . . . . . . . . . . . . . 13
5.4. Pines asociados al multiplexor CD4052 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
5.5. Pines asociados al circuito integrado ATMEGA328 . . . . . . . . . . . . . . . . . . . . . 14
5.6. Distribución definitiva de pines en la Raspberry Pi . . . . . . . . . . . . . . . . . . . . . 15
5.7. Esquema circuital completo del dispositivo . . . . . . . . . . . . . . . . . . . . . . . . . . 16
5.8. Esquema circuital multiplexor CD4052 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
5.9. Esquema circuital pines GPIO Raspberry Pi . . . . . . . . . . . . . . . . . . . . . . . . . 17
5.10. Esquema circuital conversor ADC ATMEGA328 . . . . . . . . . . . . . . . . . . . . . . 17
5.11. Arquitectura general de la página web . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
5.12. Página de Inicio Servidor Pi Circuit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
5.13. Página de Acceso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
5.14. Página de Configuraciones Generales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
5.15. Página de Muestra de Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
5.16. Página del Circuito Ejemplo con Resultados . . . . . . . . . . . . . . . . . . . . . . . . . 23
9.1. Código página HTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
9.2. Código página HTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
9.3. Código central para funcionamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
9.4. Código central para funcionamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
9.5. Código definición entradas y salidas digitales . . . . . . . . . . . . . . . . . . . . . . . . 32
9.6. Código Conversor ADC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
9.7. Código Conversor ADC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
9.8. Código comunicación con ATMEGA328 . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
9.9. Código comunicación con ATMEGA328 . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
9.10. Código definición de constantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
iii
1.Introducción
El proceso de manipulación fı́sica de circuitos representa una importante porción del proceso de apren-
dizaje y, sin lugar a duda, un requisito indispensable en el desarrollo de proyectos de ingenierı́a; esto
sucede debido a que, sin importar la aplicación de conceptos teóricos que se le den a un componente,
éste siempre presentará un importante cambio en su comportamiento al momento de ser transferido
a la realidad. Es por este motivo que al abarcar el tema de circuitos electrónicos y sus aplicaciones,
es imposible ignorar el papel vital que juega el generar un proceso de pruebas y comprobaciones de
circuitos fı́sicos. Adicionalmente, en el proceso de pedagogı́a, ya sea a nivel secundario o de educación
superior, la existencia de laboratorios como complemento a las clases teóricas permite que el ciclo de
aprendizaje sea más completo y forme aprendices con experiencia en desarrollos prácticos y preparados
para solucionar problemas de manera efectiva y útil. Sin embargo, este tipo de prácticas no siempre
se encuentran al alcance de estudiantes e instituciones, y aunque sea posible desarrollar un proyecto
con componentes que se encuentren al alcance de la mano, los dispositivos de alimentación y medición
propios de circuitos son costosos y no están siempre disponibles al estudiante o desarrollador promedio.
Es debido a esta razón principalmente que se ha consolidado el desarrollo de laboratorios remotos
como una base importante para el desarrollo experimental de circuitos, ya que éstos permiten mani-
pular circuitos reales únicamente desde un dispositivo conectado a internet. Existen varias iniciativas
que permiten al público en general acceder a laboratorios remotos, y se le permite al usuario diseñar
circuitos sencillos contando con resistencias y dispositivos de medición y alimentación como fuentes,
multı́metros y generadores de señales, que hacen cambios en circuitos reales y entregan resultados tan-
gibles que el usuario puede interpretar y comparar con sus expectativas. De esta manera, este proyecto
pretende desarrollar una plataforma de gestión de mediciones de circuitos remota, que sea capaz de
manejar a sus usuarios, manipular salidas y entradas digitales y análogas, y funcionar como un punto
de partida para desarrollar proyectos más complejos de manera remota, ya que los experimentos que
se conducen con esta plataforma están relacionados con circuitos básicos de elementos pasivos para la
medición de voltajes y corrientes, y de esta manera crear una alternativa a las opciones ya existentes
que permita al usuario hacer cambios los dispositivos fı́sicos de tal manera que se ajusten mejor a
sus necesidades y le permitan tener un punto de partida hacia su propia experiencia remota desde un
dispositivo sencillo de manipular y transportar. El documento se encuentra organizado de tal manera
que se describe la problemática y la justificación del problema, luego se explica de manera detallada
cada uno de los pasos llevados a cabo, tanto en términos de hardware como de software, luego se pre-
senta la validación de los resultados obtenidos mediante las pruebas en comparación a los resultados
teóricos esperados. Finalmente, se presenta el panorama a futuro del proyecto y se concluye respecto
a producto final obtenido.
1.1. Objetivos
1.1.1. Objetivo General
Diseñar una una plataforma con fines pedagógicos de circuitos análogos mediante el desarrollo de
hardware y software para su operación remota, considerando la gestión de usuarios, la portabilidad
del dispositivo, el fácil manejo del servidor de apoyo y una amplia gama de posibilidades de montaje
de circuitos.
1.1.2. Objetivos Especı́ficos
Conocer el funcionamiento de los circuitos a operar, obteniendo resultados experimentales y
familiarizándose con su comportamiento.
Revisar la implementación de laboratorios virtuales para aprender acerca de su funcionamiento
1
CAPÍTULO 1. INTRODUCCIÓN 2
como punto de partida para el diseño de la plataforma consultando fuentes confiables y trabajos
previos realizados.
Implementar fı́sicamente los circuitos análogos a operar y generar comparaciones con resultados
simulados para encontrar diferencias entre ambas metodologı́as.
Desarrollar una plataforma virtual que permita operar los circuitos de manera remota, teniendo
en cuenta las restricciones de acceso, seguridad y medición en tiempo real.
Generar una serie de pruebas donde se obtengan resultados con la plataforma desarrollada para
ser comparados con los resultados experimentales que permitan validar el proyecto.
1.2. Descripción de la problemática y justificación del trabajo
En la actualidad, los cursos experimentales y el aprendizaje de laboratorio juegan un rol muy impor-
tante en el mundo de la ingenierı́a, y la facilidad de acceso a los recursos e instrumentos determina la
capacidad de una institución de aprendizaje para implementarlo en sus planes educativos [1]. Algunos
de los experimentos más importantes y de gran utilidad para la enseñanza requieren de equipos de
medición, alimentación y disposición de circuitos, como fuentes de voltaje o multı́metros de buena
calidad, que se encuentran de manera limitada en instituciones educativas o que permiten un acceso
limitado en términos de tiempo a los estudiantes[1].
Es por esto que la educación en ingenierı́a debe adaptarse a las oportunidades que ofrece la tecnologı́a
y la comunicación, permitiendo que los laboratorios tradicionales se nutran de los beneficios que trae
el Internet [2]. Esto implica que los estudiantes podrı́an acceder de manera remota a diferentes experi-
mentos o plantas, resolviendo los problemas relacionados con costos de equipos, planeación de horarios
y ubicación [2]. Lo anterior se conoce como laboratorios remotos, en donde se puede operar una planta
desde una ubicación diferente.
La aparición de este tipo de herramientas,al igual que las simulaciones, permite mejorar los aspectos
ya mencionados de los laboratorios tradicionales. No obstante, los laboratorios remotos permiten a
los estudiantes reproducir todos los aspectos del fenómeno que se está estudiando. Es por esto que se
puede considerar a los laboratorios remotos como un intermedio entre las simulaciones y el laboratorio
tradicional[2]. Los laboratorios remotos permiten entonces encontrar varias aplicaciones y desarrollar
proyectos que permitan acceder a dispositivos costosos y difı́ciles de adquirir a cualquiera con un co-
nocimiento básico de manejo de software. Esto ha permitido el desarrollo cada vez más creciente de
laboratorios virtuales dónde una persona interesada en hacer experimentación o montajes de cualquier
tipo pueda acceder de manera libre y éstos se desarrollen en alguna parte, obteniendo resultados reales
y ayudando de manera sustancial en su proceso de aprendizaje [1].
De esta manera, que el presente proyecto pretende desarrollar una herramienta que permita ayudar a
instituciones de recursos bajos o con difı́cil alcance a recursos tecnológicos la posibilidad de tener su
propia experiencia experimental de manera sencilla e intuitiva, de tal manera que se puedan adquirir
mejores conocimientos y una cercanı́a importante con los desarrollos y montajes, que en este caso se
especifican en circuitos análogos. En la sección 2.1 se mencionan ejemplos de diferentes de laboratorios
remotos con diferentes tipos de arquitecturas y experimentos.
1.3. Alcance y productos finales
Al adquirir el compromiso de realizar este trabajo se esperaba que con este proyecto se pudiera cons-
truir una plataforma, ya sea de manera virtual o con el desarrollo de software, que permita acceder a la
experimentación con circuitos análogos de manera sencilla e intuitiva, con el fin de que pueda ser usado
CAPÍTULO 1. INTRODUCCIÓN 3
con fines pedagógicos en la enseñanza de temas básicos de electrónica y pueda ser implementado en
instituciones educativas sin poner en riesgo al servidor de control del sistema tele operado en términos
de seguridad, y considerando el problema de asignación de franjas horarias y de obtención de reportes
de resultados completos.
Se esperaba que en el tiempo de desarrollo del proyecto fuera posible encontrar una buena cantidad
de resultados ya con la plataforma desarrollada y como resultado final se esperaba que se lograra
completar una plataforma que permita esta operación remota para que sea usado en las aplicaciones
que se considere necesario.
Al observar todos los compromisos que adquirieron en la propuesta se puede encontrar que el producto
final se acerca de manera satisfactoria al resultado al que se querı́a llegar, ya que no sólo fue posible
diseñar una plataforma funcional que controlara los circuitos de manera remota, también fue posible
obtener una validación del trabajo a partir de resultados obtenidos en todas las etapas implementadas
y corroborar su correcto funcionamiento, por lo que a pesar de que no se logró una gran cantidad de
montajes para circuitos ejemplo o no se realizaron pruebas en instituciones educativas, la mayorı́a de
los objetivos planteados en el comienzo del proyecto fueron cumplidos de manera importante.
2.Marco teórico, conceptual e histórico
2.1. Marco Teórico
La adecuada combinación de componentes teóricos y prácticos en el proceso de enseñanza de los estu-
diantes es uno de los principales objetivos del proceso de enseñanza de diferentes conceptos relacionados
con la ingenierı́a [3]. Es por esto, que las pruebas de laboratorio y los experimentos son componentes
fundamentales en el proceso de educación e investigación en el campo de la ingenierı́a. Los laboratorios
prácticos, son los métodos más conocidos para generar estos espacios y le ofrecen a los estudiantes
la oportunidad de experimentar con sistemas reales que están relacionados con las temáticas de in-
terés. Estos laboratorios además de ofrecer una experiencia real, también se caracterizan por tener
altos costos asociados a los equipos y al personal de mantenimiento. En el caso de los laboratorios
para ingenierı́a electrónica, los costos se incrementan al tener laboratorios para distintos propósitos
como microelectrónica, control, robótica entre otros [1]. De acuerdo con [4] se realizó un estudio para
determinar la efectividad del aprendizaje a través de estos métodos y se llevó a cabo una comparación
con los experimentos reales y se comprobó que los estudiantes lograron aprender adecuadamente en
ambos escenarios [4].
Por las implicaciones que se tienen al momento de implementar laboratorios prácticos, se considera
que la mejor opción para solucionar los posibles inconvenientes es recurrir a compartir recursos a
través de internet con instalaciones externas. La atracción existente hacia las actividades de laboratorio
desarrolladas por medio de internet, se ve impulsada por el deseo de mantener actualizada la tecnologı́a
que se emplea en estos entornos. Además de estos beneficios, se destaca la flexibilidad que le brinda a
los estudiantes en cuanto al manejo del tiempo y el espacio [1].
Los laboratorios remotos se pueden clasificar de acuerdo a su experiencia con el usuario se como se
indica en la 2.1.
Figura 2.1: Caracterización de experimentos
Los laboratorios tele-operados se caracterizan porque la experiencia es de carácter remoto, es decir,
los elementos que se encuentran en l columna derecha de la figura 2.1. La experimentación a distancia
ofrece las facilidades que se mencionan a continuación[1].
Los laboratorios virtuales brindan herramientas de educación sin la necesidad de preocuparse
por los requisitos de seguridad de todos los equipos y les permite interactuar con éstos en diversos
escenarios en repetidas ocasiones. Este tipo de laboratorios pueden ser de carácter público o
también se puede diseñar de tal forma que tanto el instructor como los estudiantes puedan
4
CAPÍTULO 2. MARCO TEÓRICO, CONCEPTUAL E HISTÓRICO 5
acceder al laboratorio. La experiencia en este tipo de entornos de puede mejorar a través de
implementar instrucciones que guı́en al estudiante durante el desarrollo.
Los laboratorios remotos tienen acceso a circuitos reales a través de internet.
Los laboratorios hı́bridos ofrecen una combinación de los laboratorios remotos y de los virtua-
les. Dada la unión de las caracterı́sticas de éstos dos tipos, se dice que los laboratorios hı́bridos
son los más eficientes tanto en temas de educación como de investigación.
Los experimentos remotos pueden agruparse en tres categorı́as principales: secuenciales, interactivos y
con sensores. Los experimentos secuenciales permiten que el estudiante interactúe con el experimento
de manera indirecta mediante el ingreso de parámetros y esperando a que se genere un resultado a
partir de esto, dejando atrás la interacción entre el usuario y el circuito mientras este está funcionando.
En el caso de los experimentos interactivos si se permite la interacción directa con el experimento.
Finalmente, los experimentos con sensores se encargan de mostrarle al usuario un reporte con los
datos tomados por los sensores, para que éstos sean monitoreados o analizados [1].
Los beneficios que se pueden destacar de los laboratorios son:
1. Pueden ofrecer beneficios similares a los experimentos basados en simulaciones si se consideran
horarios para los estudiantes
2. Es posible habilitar el acceso a estos experimentos 24 horas al dı́a los 7 dı́as de la semana.
3. Menor valor de inversión dado que se comparten los recursos.
4. Facilita la colaboración entre instituciones es individuos alrededor del mundo.
5. Fomenta el aprendizaje autónomo.
Existen múltiples alternativas para la creación de laboratorios remotos, sin embargo, existe una serie
de componentes que son comunes en éstos. Los componentes que se pueden destacar corresponden al
experimento como tal, que viene acompañado de la instrumentación y equipos que permiten el control
del experimento y la adquisición de los datos. Por otro lado, se encuentra un servidor de laboratorio
que va a garantizar que se pueda realizar el control y monitoreo del experimento a través de los equi-
pos. Asimismo se requiere de un servidor que va a ser el encargado de permitir que los usuarios se
conecten con el laboratorio. Todos los elementos del laboratorio los puede observar el usuario a través
de una cámara web, también se pueden implementar herramientas colaborativas como lo son el audio,
vı́deo y comunicación entre usuarios. Finalmente se pueden incluir estaciones de trabajo para que los
usuarios puedan acceder al laboratorio, cabe destacar que algunos laboratorios requieren simplemente
conexión a internet, mientras otros necesitan de plug-ins especı́ficos [1]. Un ejemplo de los componentes
que conforman un laboratorio remoto se encuentra en la figura 2.2. Este laboratorio consiste en un
experimento de propagación de calor que mide la temperatura a través de un sensor y los datos que
éste registra se muestran en la platoforma web que se observa en la figura 2.2b.
CAPÍTULO 2. MARCO TEÓRICO, CONCEPTUAL E HISTÓRICO 6
(a) Experimento controlado por Raspberry Pi y cámara.
(b) Interfaz plataforma web.
Figura 2.2: Ejemplo componentes labortorio remoto [5].
Un ejemplo de un laboratorio con las caracterı́sticas mencionadas anteriormente se encuentra en [6],
donde se presenta una propuesta de laboratorio remoto, que incluye el uso de cámaras y permite que
el acceso se de carácter público. Este laboratorio se basa en un experimento que emplea sensores, es
decir en la interfaz del usuario se muestran los valores adquiridos por éstos. Otro ejemplo de un la-
boratorio remoto se encuentra en [7] ,donde se implementa un laboratorio que incluye la visualización
del circuito real y es un experimento tipo secuencial. En éste se introducen parámetros iniciales para
definir el escenario del experimento y además se incluyen metodologı́as de enseñanza que favorecen el
proceso de aprendizaje de los estudiantes, quienes pueden estar conectados para desarrollar dinámicas
de aprendizaje colaborativas.
Además de las caracterı́sticas ya mencionadas, es importante señalar que existen diferentes arquitec-
turas que pueden ser implementadas de acuerdo con el software y hardware seleccionado. Las arqui-
tecturas más destacadas son [8]:
1. Servidor-cliente con control del experimento: Esta arquitectura emplea una conexión directa entre
el computador y el circuito controlado, como por ejemplo, a través de una USB. La principal
ventaja de este tipo de topologı́a es que es una alternativa de fácil implementación y de bajo
costo.
2. Servidor-cliente con adquisición de datos: Tiene caracterı́sticas similares a la arquitectura ante-
rior, sin embargo incluye un DAQ, para lograr conectar el experimento con el computador en
los casos que se necesite. Este tipo de implementación reduce el procesamiento de señales, pero
también incrementa el precio. Un ejemplo de esta arquitectura se encuentra en [9].
3. Cliente-proxy con nodos: También se conoce como una arquitectura secuencial y permite tener
una mayor capacidad de conexiones para el experimento. El servidor proxy es encargado de
CAPÍTULO 2. MARCO TEÓRICO, CONCEPTUAL E HISTÓRICO 7
manejar las conexiones de diferentes clientes a diferentes nodos del experimento.La principal
ventaja de esta arquitectura es la conectividad entre diferentes nodos(computadores)en diferentes
ubicaciones. En [10] se encuentra aun ejemplo de este tipo de arquitectura.
4. Cliente con Supervisión, Control y Adquisición de Datos: La combinación de un SCADA y una
unidad de control (PLC) es uno de los acercamientos industriales más comunes. Tiene un alto
costo por el uso de software y hardware comerciales, no obstante permiten la reducción de la
implementación.
5. Cliente con tarjeta programable: Este tipo de arquitectura se ha vuelto más conocido en los
últimos años y se conocen como alternativas de bajo costo .Están basadas en el uso de tar-
jetas programables, micro-controladores y alternativas más económicas de computadores como
la Raspberry. Debido a la variedad de hardware que puede ser implementado, no se puede ge-
neralizar en este tipo de arquitectura y se diferencia de otros tipos en el uso de componentes
económicos. Una muestra de un laboratorio de bajo costo empleando un microcomputador y una
FPGA se encuentra en [11].
Figura 2.3: Resumen de arquitecturas laboratorios remotos
3.Definición y especificación del trabajo
3.1. Definición
El proyecto consiste en un dispositivo portátil de fácil manejo compuesto por una Raspberry Pi en
conjunto con una tarjeta que incluye la etapa electrónica encargada de interpretar las salidas y en-
tradas del circuito. Este dispositivo tiene como principal objetivo comprobar que es posible realizar
mediciones sobre un circuito y permitirle observar al usuario dichos resultados, considerando que este
es un punto de partida para generar un experimento de mayor complejidad. En éste, la sección de
hardware funciona en conjunto con un servidor montado en lı́nea, el cuál es capaz de manipular cir-
cuitos y dispositivos sencillos dispuestos de manera fı́sica para mostrar tanto sus entradas como sus
salidas, ya sean digitales o análogas, de manera remota de acuerdo al escenario.
El sistema consiste en dos grandes divisiones: la parte de hardware encargada de comunicarse con
el circuito a través de conexiones reales, y la parte de software que permite obtener mediciones del
circuito y mostrarlas en tiempo real según como requiera el usuario del sistema. Como se mencionó
anteriormente, el hardware gira en torno al computador de placa reducida Raspberry Pi 3, además
de contar con un microcontrolador y una serie de pines de entrada y salida manipulables a gusto del
usuario. La Raspberry cumple con la labor de proveer el voltaje a los circuitos a conectar, de leer
de manera digital los inputs y outputs de interés y hacer la integración con el servidor en lı́nea para
permitir la manipulación remota. El microcontrolador, de referencia ATMEGA328, se encarga de ha-
cer la conversión de daos análogos a digitales para su correcta muestra en la página web. Finalmente,
se cuenta con usa serie de pines de entrada y salida que pueden ser usados de manera libre, y que
integrados con parte de software, representan la información que se quiera extraer del circuito en fı́sico.
La parte de software se compone por un servidor que se pone en marcha únicamente con la conexión
a corriente de la Raspberry, que permite al usuario desde su dispositivo con acceso a internet en una
red local escoger los resultados que se quieren mostrar, que se observan en tiempo real y de acuerdo a
los cambios que se hagan en los pines; Adicionalmente, el servidor se ocupa de tal manera que cuando
un usuario acceda al enlace y se encuentre trabajando en su circuito, no le sea posible a ningún otro
observar lo que se está haciendo ni hacer ninguna modificación.
Debido a que el proyecto tiene fines pedagógicos, existe un circuito de prueba al que se puede hacer
una conexión fı́sica por defecto, que consiste en una serie de resistencias conectadas en serie y paralelo
en las cuáles se pueden tomar mediciones de voltaje y corriente según la configuración del circuito,
algo totalmente manipulable por el usuario, y poder corroborar estos valores en un circuito real para
ser comparados con los valores teóricos esperados y servir como una herramienta pedagógica para
estudiantes e instituciones que no tengan acceso a la compra de componentes electrónicos.
8
4.Metodologı́a del trabajo
4.1. Metodologı́a
La metodologı́a de trabajo consistı́a en un proceso secuencial de consulta, pruebas provisionales, monta-
je, acoplamiento de etapas, desarrollo de software y validación de resultados. Este proceso se desarrolló
de manera secuencial para cada uno de los circuitos desarrollados, dónde se seleccionó cuidadosamente
según las necesidades cada uno de los componentes utilizados en base a las referencias consultadas y
observando el comportamiento de los circuitos en otro tipo de proyectos similares. Luego de revisar
cada uno de los dispositivos que se desean implementar, se procede a probar su funcionamiento por
separado en protoboard, haciendo mediciones con multimetro y con indicadores LED, haciendo cam-
bios hasta tener un comportamiento uniforme y deseado que se ajuste a lo requerido con anterioridad
al montaje.
Luego de este proceso, se procede a generar un circuito definitivo que una todas las etapas probadas
por separado y permita hacer pruebas de manera conjunta con la Raspberry Pi, debido a que se puede
corroborar cómo se conectan cada uno de los puertos de comunicación de los circuitos análogos con
los puertos GPIO. En la etapa de desarrollo de software se generan códigos de prueba que arrojen
los resultados de cada uno de los métodos aplicados para obtener respuesta en los integrados y en las
entradas y salidas digitales, de tal manera que se tenga l certeza de que su funcionamiento en casos
tı́picos es correcto.
Finalmente, se genera a partir de la unión de estos códigos un servidor web que compila todas las
mediciones y reúne esta información en una interfaz a la cual el usuario tiene acceso mediante un en-
lace único. En el desarrollo de esta etapa se desarrolló código página por página, tal como se explicará
más adelante, y se prueban una serie de escenarios diferentes, como la presencia de varios usuarios
simultáneamente o los cambios bruscos y repentinos en los circuitos para probar tiempos de respuesta.
Finalmente, luego de completar todo el trabajo se generan pruebas que permitan evaluar el desempeño
de la plataforma hasta calibrar suficientemente bien la integración entre código y hardware, de tal ma-
nera que los resultados sea confiables y representen de manera fiel los componentes fı́sicos a controlar
remotamente.
En resumen, la metodologı́a adoptada para el desarrollo del proyecto se puede resumir en prueba y
erron¿r, haciendo las pruebas de manera fundamentada y solucionando los problemas mediante la
revisión cuidadosa de cada una de las variables involucradas en el sistema.
4.2. Plan de trabajo
El plan de trabajo se subdividió en las siguientes actividades desarrolladas en el tiempo disponible a
través del semestre académico:
Familiarización y conocimiento de los circuitos análogos a operar: en esta fase del proyecto se
espera manipular y conocer los circuitos a operar, definiéndolos de manera precisa y aprendiendo
su funcionamiento experimental
Revisión de proyectos de laboratorios virtuales existentes: en esta fase se espera conocer el fun-
cionamiento de laboratorios virtuales y remotos existentes, tanto en su operación como interfaz
para tener referencias y puntos de partida para el trabajo.
Obtención de resultados experimentales y de simulación de los circuitos: se espera en esta fase
encontrar una serie de resultados para los circuitos planeados tanto de manera experimental
como en simulación, generar comparaciones y almacenarlos para futura referencia en el proyecto.
9
CAPÍTULO 4. METODOLOGÍA DEL TRABAJO 10
Planeamiento del desarrollo de la plataforma: en esta fase se deben definir los elementos y funcio-
nes que tendrá la plataforma, haciendo esquemas y sentando el punto de partida para el desarrollo
posterior.
Desarrollo de la plataforma: esta fase consistirá en la generación de código y aplicaciones para
la operación remota de los circuitos, además del setup experimental para los circuitos fı́sicos
considerando todos los requerimientos necesarios para su correcto funcionamiento en conjunto.
(considera además la corrección de errores que se encuentren en la fase de obtención de resultados
y validación).
Obtención de resultados con la plataforma: esta fase, que será la parte final del proyecto, consistirá
en la obtención de resultados de manera tele operada, que puedan ser comparables con los
resultados ya obtenidos de manera experimental para poder validar el trabajo realizado.
De manera explicativa, en la Figura 4.1 se puede observar el diagrama de Gantt propuesto en la
definición del proyecto, para mostrar cuál es el plan de trabajo determinado desde el inicio del proyecto.
Figura 4.1: Diagrama de Gantt con Esquema del calendario de trabajo
Cabe destacar que el proyecto se desarrolló en el orden que se especifica en la figura 4.1. No obstante,
debido a los inconvenientes que se presentaron en el proceso, el desarrollo de la plataforma y la obtención
de resultados con la plataforma se extendieron una semana más de lo planteado inicialmente.
5.Trabajo realizado
El trabajo llevado a cabo en este proyecto de grado se divide en dos componentes principales que
dictaron el proceso que se llevó a cabo: el desarrollo de software para montar el servidor encargado de
manejar la Raspberry Pi, obteniendo mediciones, y la etapa de hardware que consiste en las conexiones
realizadas para comunicar el circuito ejemplo y las entradas y salidas con el servidor mediante la
Raspberry. De esta manera, el trabajo realizado se subdividirá en estas dos secciones.
5.1. Etapa de Hardware
La etapa de hardware del proyecto consiste en el montaje de los dispositivos encargados de la lectura
de valores y de la extracción de los mismos, además de abarcar el circuito fı́sico de ejemplo en el que
se pueden hacer mediciones de voltaje y corriente. Como punto inicial, se desarrolló un esquema de
cómo se esperaba que el producto final se encontrara dispuesto, es decir, qué etapas lo componı́an.
Para esto se esquematizó mediante un diagrama de bloques la composición general del proyecto, como
se muestra en la Figura 5.1.
Figura 5.1: Diagrama de Bloques de la composición del proyecto
Como se puede observar en el diagrama, se consideran las etapas del servidor y de la Raspberry Pi
como los puntos de unión de toda la etapa de hardware, y cómo lo muestra la flecha bidireccional en
su conexión, se pueden comunicar tanto para transmitir como recibir según se requiera. El servidor
transmitirá cuando el destino sea una de las salidas digitales, ya que como se explicará más adelante,
el usuario tendrá la capacidad de seleccionar si una salida digital está prendida o no, esta información
se transmitirá a la Raspberry que atenderá la selección y la definirá apropiadamente en las salidas de
carácter digital. Por otra parte, el servidor recibirá e interpretará información en el caso en el que se
quieran medir las entradas, ya sean análogas o digitales, o si se quiere probar el sistema con el circuito
ejemplo en este escenario, el usuario seleccionará las cantidad de entradas análogas y digitales de su
interés de medición, le indicará al servidor cuáles de éstas quiere medir y se recibirá la información a
través de los puertos GPIO de la Raspberry y podrán mostrarse los resultados en la interfaz del servidor.
Las entradas y salidas digitales se manejan de manera sencilla, debido a que los puertos usados en la
Raspberry son de carácter lógico, por lo tanto enviar y recibir señales de este tipo sólo consiste en
11
CAPÍTULO 5. TRABAJO REALIZADO 12
determinar los puertos que se asignan a cada función y desarrollar un código que se encargara de asig-
nar y medir el nivel lógico según sea el caso de entrada o salida. En cuánto a la medición de entradas
análogas fue necesaria la inclusión de un conversor Análogo-Digital, para lo que se seleccionó el chip
ATMEGA328, que cuenta con la capacidad de leer 6 entradas análogas diferentes y comunicarse con
la Raspberry mediante su salida digital.
Finalmente, el esquema general de la etapa circuital se completa con la inclusión de un circuito ejemplo
que consiste en una serie de componentes en serie y en paralelo que pueden tomar el valor de dos
resistencias, un cable o un circuito abierto a decisión del usuario, y de esta manera medir voltajes en
distintos puntos del circuito y corriente consumida por la totalidad del mismo según la disposición de
componentes que se haya seleccionado. Este proceso de selección de componente requirió de la inclusión
de una serie de multiplexores de 4 salidas, que permitieran precisamente a cada uno de los espacios
seleccionables por el usuario tomar el valor deseado. En la Figura 5.2 se puede observar un esquemático
del circuito ejemplo.
Figura 5.2: Esquemático del circuito ejemplo
Como se puede apreciar en el esquema anteriormente presentado, el circuito ejemplo es alimentado con
una fuente de 5V, y en cada una de las posiciones dónde es apreciada una caja, ésta puede adquirir el
valor de un componente según como el usuario seleccione en el servidor. En el caso de las cajas verdes,
el usuario puede seleccionar entre posicionar un circuito abierto, un cable, una resistencia de 100 Ω o
una resistencia de 2,2kΩ, mientras que en el caso de las cajas rojas el usuario cuanta con las opciones a
diferencia de los valores de resistencia, en los que se tiene la posibilidad de seleccionar una resistencia
de 222 Ω o una de 3,3kΩ. Adicionalmente, en esta figura se puede observar que existen dos nodos de
interés para la medición de voltajes marcados como ADC1 y ADC2, que son las posiciones dónde el
voltaje cambia de acuerdo a la selección de componentes del usuario. Esta selección de componentes a
discreción del usuario se logró, como y fue mencionado anteriormente, haciendo uso de los multiplexo-
res CD4052B, que cuentan con un entrada de dos bits para la selección de uno de los cuatro posibles
estados, y cuenta con doble canal, por lo que es posible extraer dos salidas, aunque en este proyecto
sólo se hizo uso de una de ellas debido a que cada una de las cajas es independiente de la otra, y el
chip no permite controlar las salidas por separado, sino que deben tomar el mismo valor debido a que
un único puerto de entrada las controla.
Descrita toda la sección de hardware se puede proceder a mostrar en detalle cada uno de los esquemáti-
cos asociados a los montajes y mostrar cómo se hizo la comunicación de éstos con la Raspberry Pi, ya
que en términos de programación los pines asociados a cada subdivisión del circuito deben ser constan-
tes. En primera medida, se hizo el montaje de prueba para el circuito ejemplo con los multiplexores,
tal y como se muestra en la figura 5.3.
CAPÍTULO 5. TRABAJO REALIZADO 13
Figura 5.3: Esquemático de los multiplexores con sus respectivos valores
Este esquemático se montó observando el datasheet del componente, y revisando cada una de las
entradas y salidas posibles, teniendo en cuenta que cada uno de los multiplexores requiere de de dos
entradas de control del estado, de voltaje de alimentación, y de una conexión del puerto común de cada
canal a la entrada que corresponde según el circuito a montar. A continuación se presenta el diagrama
de pines y esquemático para el multiplexor usado en la Figura 5.4.
Figura 5.4: Pines asociados al multiplexor CD4052
De esta manera, se procede a adjuntar el cuadro 5.1 con los valores asignados a cada uno de los pines
del chip, asignándole a los valores resistivos de 100 y 222 Ω la notación de R Baja y los valores de 2,2k
y 3,3k Ω la notación de R Alta.
Cuadro 5.1: Listado Conexiones CD4052
Conexiones Multiplexor C4052
PIN 1 2 3 4 5 6 7 8
Conexión R Baja R Alta IN Wire Open GND GND GND
PIN 9 10 11 12 13 14 15 16
Conexión GPIO2 GPIO1 - - - - - 5V
Como se puede observar, no se hizo uso de uno de los canales de multiplexado debido a la dependencia
de ambos canales de la misma entrada, y debido a que se requiere que cada uno de los componentes sea
independiente de los demás, se optó por hacer uso de 4 multiplexores diferentes. Además de esto, se
puede observar como los pines 9 y 10 resultan asignados a los pines GPIO, cuya asignación a cada uno
CAPÍTULO 5. TRABAJO REALIZADO 14
de los multiplexores presentes se podrá encontrar al final de esta sección. Adicionalmente, en la sección
de validación se podrán encontrar los resultados de las pruebas realizadas con esos multiplexores para
los diferentes casos de composición del circuito.
Luego de desarrollar el montaje del circuito ejemplo se procedió a hacer el montaje de la etapa de
lectura correspondiente a las entradas análogas. Para este fin se hace uso de un microcontrolador
capaz de tratar la información recibida y transmitida en tiempo real, como lo es el ATMEGA328,
que junto con la programación realizada en la terminal de la Raspberry Pi cumple la función de ser
un conversor Análogo/Digital de 6 canales a 10-bit. La comunicación de este circuito integrado debe
realizarse por medio de los puertos de transmisión UART de la Raspberry Pi, y no es necesario hacer
ninguna otra conexión en el integrado adicionalmente a estos dos puertos, las entradas análogas que
se deseen, el voltaje de alimentación y el voltaje de referencia para la conversión ADC. Un esquema
de la distribución de pines del ATMEGA328 puede encontrarse en la Figura 5.5.
Figura 5.5: Pines asociados al circuito integrado ATMEGA328
En el esquema se puede observar que los únicos pines de interés para la comunicación con la Raspberry
son aquellos que son referidos como RXD y TXD, cuya conexión permite ser programada y modificada
de tal manera que funcione como el conversor ADC deseado. Adicionalmente, los pines marcados en
color verde oscuro son los que representan interés, ya que los que se encuentran comprendidos entre los
pines 23 y 28 son las entradas de lectura, y el pin 21 es el voltaje de referencia que se debe proporcionar
para que la conversión ea acorde al circuito que se quiere medir. En términos de montaje, se dispuso
de una serie de regletas en estos pines de lectura, de tal manera que sean fácilmente manipulables
por el usuario y pueda acceder a tomar mediciones de hasta 6 resultados análogos sin necesidad de
hacer ningún cambio en el circuito. El funcionamiento del microcontrolador se detalla de manera más
completa en la sección de programación, debido a que la lectura apropiada se lograba a partir del
correcto desarrollo de un código en C.
Finalmente, como último paso del desarrollo de la etapa de hardware, era necesario generar una serie
de entradas y salidas digitales, que pudieran también ser fácilmente manipulables para el trabajo del
usuario, por lo que se asignaron como constantes a la conexión con la Raspberry y se dispusieron
como conexiones regleta, de tal manera que el usuario tuviera a su disposición una serie de 6 entradas
y salidas digitales totalmente manipulables desde el servidor. Esta serie de entradas y salidas, tanto
análogas como digitales, se encuentran soldadas en el circuito definitivo y sólo es necesario proporcio-
narle alimentación al circuito, decidir con cuáles de los pines se quiere medir, y observar los resultados
en la interfaz gráfica.
CAPÍTULO 5. TRABAJO REALIZADO 15
A manera de esquema, y para que se tenga claro cómo se hizo la conexión fı́sica con la Raspberry, se
adjunta en la Figura 5.6 el esquema definitivo de pines asociados a cada uno de los componentes de la
etapa de hardware, denotando con color verde las entradas digitales, con color rojo los pines de control
de cada uno de los multiplexores, con color azul las salidas digitales, con color amarillo la comunicación
UART con el microcontrolador, y dejado libre el resto de pines de los cuáles no se hizo uso, marcados
con color blanco.
Figura 5.6: Distribución definitiva de pines en la Raspberry Pi
Finalmente, en las figuras que se podrán encontrar a continuación es posible observar los esquemáticos
finales dónde se unen todas las conexiones entre los componentes análogos.
CAPÍTULO 5. TRABAJO REALIZADO 16
Figura 5.7: Esquema circuital completo del dispositivo
Figura 5.8: Esquema circuital multiplexor CD4052
CAPÍTULO 5. TRABAJO REALIZADO 17
Figura 5.9: Esquema circuital pines GPIO Raspberry Pi
Figura 5.10: Esquema circuital conversor ADC ATMEGA328
CAPÍTULO 5. TRABAJO REALIZADO 18
5.2. Etapa de Programación
Posterior a todo el montaje de los circuitos fı́sicos que hacen parte del proyecto, se desarrolló un servidor
que, junto con la comunicación en la Raspberry, fuera capaz de manipular todos los componentes fı́sicos
del circuito para poder cumplir con el objetivo principal del proyecto, manipular remotamente lo que
se encuentre fı́sicamente conectado a la Raspberry. Este proceso consistı́a en la selección de lenguajes
de programación de trabajo para cada una de las etapas, y partiendo de esto generar los códigos que
cumplan con con las funciones que se esperan del proyecto. A continuación se hace una descripción de
la arquitectura del servidor web, con sus respectivas herramientas y lenguajes usados:
1. Desarrollo de páginas web: para la construcción de cada una de las páginas se hizo uso del
lenguaje HTML, mediante el cuál se definieron encabezados, ubicación de botones, distribución
de texto en la interfaz y la definición de conexiones entre las páginas de log in, configuraciones,
medidas, circuito ejemplo y el perfil del usuario, todo apoyado en ejecutables de Python que
permiten que la conexión con la Raspberry tenga efecto en lo que se puede observar en el servidor.
2. Gestión de usuarios y base de datos: con el objetivo de manipular la gestión de usuarios y
poder tener control de los registros y accesos a la página se hizo uso de la herramienta Django,
que permite la creación de páginas web de buen nivel de seguridad y con posibilidad de hacerle
seguimiento al proceso de mantenimiento del sitio. Adicionalmente, permite de manera sencilla
el generar la creación de formularios de registro y acceso mediante la creación de usuarios.
3. Comunicación con la Raspberry: Como se va a explicar más adelante en detalle, la pro-
gramación en Python fue el núcleo mas importante del desarrollo de código en el proyecto, ya
que en este lenguaje es más sencillo trabajar con la Raspberry Pi, y fue posible entonces hacer
la gestión de los puertos GPIO de dónde se extraen todas las conexiones de Hardware que son
manipulables y no manipulables por el usuario de la plataforma.
4. Gestión del Conversor ADC: para facilidad de programación entre los puertos UART de la
Raspberry y el ATMEGA 328, una pequeña porción del código que se desarrolló, en dónde se
gestiona como cada una de las 6 entradas análogas se observa en la Raspberry y se transmite al
servidor a la muestra en el servidor online, adicionalmente se define cuál es la tasa de obtención
de datos y la forma en que se interpretan las entradas en forma de mediciones digitales de 10
bits.
5. Muestra de resultados: finalmente, para la obtención de datos en tiempo real sin necesidad
de hacer una actualización constante de la página, se hizo uso de una herramienta de JavaScript,
que permite que según la cantidad de datos que lleguen al cuadro de muestra de resultados, la
página los actualice automáticamente y el usuario pueda ver el cambio de éstos en tiempo real
según los cambios que ejecute en el servidor.
A continuación se puede observar un esquema general de cómo se organiza la arquitectura de software
del servidor web:
CAPÍTULO 5. TRABAJO REALIZADO 19
Figura 5.11: Arquitectura general de la página web
Luego de hacer una explicación de la arquitectura se procede a hacer una muestra de las páginas una
por una disponibles en el servidor, empezando por la página inicial de dónde se puede hacer el registro
de usuarios que acceden por primera vez a la plataforma. Adicionalmente a la función de registro, era
importante implementar una página donde se definieran las configuraciones iniciales de las mediciones,
es decir, una página donde fuera posible seleccionar las entradas y salidas de interés, nombrarlos y
permitir seleccionar un valor de voltaje de referencia, debido a que las mediciones análogas se obtienen
en valores de 0 a 1023 debido a que se cuenta con una medición digital de 10 bits.
Junto a estas dos posibilidades, era necesario el desarrollo de una página que tuviera un esquema del
circuito ejemplo, permitiera cambiar los valores de los diferentes componentes presentes y familiari-
zarse con los puntos de medición de interés. Como último aspecto a tener en cuenta, y de hecho como
componente más importante del servidor, se generó una página que recopilara todas las mediciones
de las salidas y entradas seleccionadas, dónde el usuario pueda ver el resultado de los circuitos que se
dispongan en los espacios disponibles para este fin.
En primera medida, se generó un servidor local sin ningún contenido en la Raspberry, al que se le
pudieran agregar y cambiar todas las caracterı́sticas anteriormente mencionadas. Para esto se hizo uso
de la herramienta APACHE, que permite crear servidores locales asociados a la IP del dispositivo desde
dónde sea creado. Luego de la creación de este servidor y con el fin de fijar el enlace del servidor, se
definió una IP estática en la Raspberry Pi mediante la aplicación de uno de los comandos propios de la
misma; esto se hizo para que fuera posible que el servidor entre en funcionamiento automáticamente sin
cambiar de dirección y sin que sea necesario conectar ningún periférico a la Raspberry Pi, ası́ generan-
do que la única condición para que el servidor se ponga en lı́nea sea encender la Raspberry generando
una conexión a corriente. Finalmente, vale la pena aclarar que debido a que el servidor es montado
en un dispositivo personal y no se está adquiriendo un dominio público, el servidor debe montarse en
una red local y conectar todos los usuarios interesados a esta misma red para poder acceder a todas
las caracterı́sticas desarrolladas para el sistema.
Partiendo de esta base, es posible generar una página de inicio, que conste de una descripción de las
capacidades del sistema y una serie de botones que le permitan al usuario hacer si registro si se está
usando por primera vez o completar la entrada con un usuario ya existente. Una muestra de cómo ve
CAPÍTULO 5. TRABAJO REALIZADO 20
esta página de inicio se puede encontrar en la Figura 5.12. Como se podrá apreciar, el nombre escogido
para la plataforma remota es el de Pi Circuit.
Figura 5.12: Página de Inicio Servidor Pi Circuit
En este punto, el usuario puede seleccionar la opción de registrarse, a lo cual el sitio lo direccionará
hacia una página donde deberá proveer su nombre de usuario para la página, su nombre, su dirección
de correo electrónico y una contraseña para proteger su cuenta. Cuando se completa el registro, se
redirige nuevamente a la página de inicio dónde debe escoger la opción de acceder con su cuenta recién
creada, obteniendo una página cómo la que se muestra en la Figura 5.13.
Figura 5.13: Página de Acceso
Luego de superar el problema de manejo de usuarios, se procedió a desarrollar por separado cada uno
de los componentes restantes en la página, encargados de las mediciones en tiempo real y de presentar
el circuito ejemplo con sus respectivos puntos de medición. Para este fin, se desarrolló un archivo de
constantes, que asignaba a los pines de la Raspberry los valores que se mostraron en la sección an-
terior, de tal manera que el sistema reconociera qué entradas y salidas debı́an ser activadas según la
integración con los botones en la página.
El proceso a seguir de aquı́ en adelante constó en una serie de pasos que se describirán a continuación:
CAPÍTULO 5. TRABAJO REALIZADO 21
1. Integración de constantes con la plataforma: en este paso del proceso de código, se debı́a
asignar a cada uno de los elementos a ser llamados en el código cada uno de los pines definidos
con anterioridad, de tal manera que fuera sencillo ubicarlos y hacerles el llamado por sus nombres
clave en cada uno de los métodos a usar.
2. Asignación de las entradas y salidas digitales: debido a que los pines de la Raspberry
manejan niveles digitales, el siguiente paso fue la creación de las entradas y salidas de esta
ı́ndole, que constó en en hacer una conversión en el valor entero que se recibı́a o querı́a enviar por
estos pines a un valor digital, para de esta manera construir una función que pudiera reconocer
cuando el valor de interés se podı́a medir como un 1 o como un 0 lógico. Al final de esta función
se crean elementos que toman las constantes y les asignan los valores que se extraigan de esta
función para completar el proceso de manejo de entradas y salidas digitales.
3. Construcción de los elementos del circuito ejemplo: para lograr facilitar el trabajo de
manipulación del circuito ejemplo, se procedió a construir un lenguaje acorde al funcionamiento
del multiplexor CD4052 en dónde cada uno de los cuatro estados posibles tuviera un nombre
asociado a cada uno de los diferentes componentes que podı́an ser seleccionados por el usuario,
de tal manera que se creó el siguiente lenguaje, como se muestra en el cuadro 5.2.
4. Programación del circuito integrado ATMEGA328: para la programación del integrado,
que trabaja en conjunto con la Raspberry, se desarrolló una programación Pyserial, debido a que
existe una librerı́a en Python que permite comunicación con este tipo de integrados, comunes en
los dispositivos Arduino. Se definió la tasa de comunicación de la Raspberry con el microcon-
trolador, luego se le asigna a los pines de entrada un valor nulo que permite que se puedan leer
sin ruido cuando se introduzca una señal en el canal. Luego de esto, se lee el valor arrojado en
formato hexadecimal en cada uno de los canales y se convierte en un valor lógico entre 0 y 1023,
para finalmente proceder a transmitir este valor a hacia la pantalla del usuario en una interfaz
que procede a actualizarse una vez por segundo. Todo este proceso es posible debido a que el
microcontrolador posee librerı́as en Python que permiten leer sin mucha complicación los valores
que los pines de conversión ADC arrojan al sistema.
Cuadro 5.2: Lenguaje Programación CD4052
Lenguaje Programación Multiplexor CD4052
Resistencia Baja (0,0)
Circuito Abierto (0,1)
Resistencia Alta (1,0)
Cable (1,1)
5. Programación en HTML de las caracterı́sticas de la página: luego de poner obtener
todos los valores que se requieren para el correcto funcionamiento de todo el proyecto, se procede
a programar cada una de las páginas en HTML, introduciendo elementos como botones, cuadros
de texto para nombrar los espacios de interés, un cuadro que permita seleccionar el valor del
voltaje de referencia para convertir los valores que se leen en el ADC, y los espacios dónde se
muestran los resultados que se actualizan en tiempo real sin necesidad de que el usuario haga clic
en algún botón en particular. Cada una de las páginas desarrolladas se mostrarán más adelante
y se describirán los elementos asociados a cada una.
Desarrollado todo el proceso e programación del servidor web, se procede a mostrar cada una de las
páginas en el orden en el que se puede acceder a ellas, tal y como se muestras en las Figuras 5.14, 5.15
y 5.16.
CAPÍTULO 5. TRABAJO REALIZADO 22
Figura 5.14: Página de Configuraciones Generales
Como se puede observar en la imagen superior, en la página de configuraciones se puede observar el
nombre de usuario en la parte superior, el usuario es libre de escoger el valor de referencia para las
entradas análogas, y puede dar nombre a las entradas según como le sea necesario, y marcar el checkbox
en caso de requerir cualquier cantidad de entradas o ninguna. En la imagen no se aprecia, pero en la
parte inferior de la página también se encuentran las entradas y salidas digitales, a las cuáles también
se les puede dar nombre y seleccionar si se quieren desplegar en la página de resultados.
Figura 5.15: Página de Muestra de Resultados
En la figura anterior se puede observar cómo se visualiza la página de resultados, mostrando en orden
la cantidad de mediciones análogas y digitales seleccionadas por el usuario, y se muestran encendidas
las salidas digitales a las cuáles se les marcó de esta manera. La visualización en las dos primeras ca-
tegorı́as o entradas en dinámica, es decir que cambia con las modificaciones que se le haga al circuito,
CAPÍTULO 5. TRABAJO REALIZADO 23
y se actualizan con una tasa de 5 resultados por segundo; el valor análogo mostrado puede obtenerse
como un número de 0 a 1023 si el usuario no proporciona un voltaje de referencia, o se puede observar
como un número desde 0 hasta el valor de referencia, y en cuánto a las mediciones digitales se puede
observar cómo si se mide un valor que entre en el rango entre 0 y la mitad del valor de referencia se
obtendrá el valor de False en la interfaz, y si se mide un valor entre el valor de referencia y la mitad
del mismo se obtendrá un resultado de True. Finalmente, La visualización de salidas análogas se hace
de tal manera que sólo sea indicativa, debido a que este valor no se puede cambiar en esta página, sino
que se cambian en la página de configuraciones.
Finalmente, la página del circuito ejemplo muestra ilustraciones del circuito tanto de manera gráfica, en
el esquema de la izquierda, como de manera esquemática, en el esquema de la derecha, de tal manera que
el usuario (especialmente un estudiante) pueda familiarizarse con las mediciones de voltaje y corriente
para un circuito real según las diferentes configuraciones que se le quieran atribuir al circuito, lo que
se selecciona mediante el uso de los desplegables asociados a cada una de las 4 cajas, que luego de
configurarse de la manera deseada y hacerle clic al botón Set, muestra en los recuadros verde claro
los resultados para voltaje en los puntos de medición que se indican en los nodos del circuito, y la
corriente consumida por el circuito, tomadas del circuito real.
Figura 5.16: Página del Circuito Ejemplo con Resultados
Un aspecto importante a mencionar es que la página es capaz de manejar usuarios no registrados que
accedan a los enlaces de manera manual, y les permite observar los resultados generados en las páginas
que los muestres, pero no tienen la posibilidad de generar cambios en los puntos de medición o en
las entradas y salidas, ya que es un requisito indispensable tener un nombre de usuario para poder
hacer uso completo de la página. Esta opción de visualización se habilitó con el propósito de aportar
en términos educativos, ya que hace posible que un sólo encargado genere cambios en la plataforma
mientras los observadores pueden mirar cómo esto se ve reflejado en los resultados, lo que resulta muy
útil en prácticas educativas y enseñanza de conceptos básicos de circuitos, en la fase de comprobación
de resultados teóricos en comparación con resultados reales.
CAPÍTULO 5. TRABAJO REALIZADO 24
5.3. Evaluación de Costos
Ya teniendo el desarrollo final del prototipo, es posible hacer un análisis completo de lo que cuesta
construir cada uno de éstos, y que de esta manera se pueda tener un punto de referencia para que
cualquier interesado en construir la plataforma o en adquirirla pueda hacer su proceso de comparación
con cualquier alternativa existente. A continuación, se muestra un desglose de costos por secciones del
prototipo:
Cuadro 5.3: Desglose General de Costos
Desglose de Costos Prototipo Final
Ítem Costo Unitario(COP$) Cantidad Total
Raspberry Pi $ 150.000 1 $ 150.000
Multiplexores
CD4052
$ 1.500 4 $ 6.000
ATMEGA328 $ 10.000 1 $ 10.000
Componentes
pasivos (R)
$ 50 8 $ 400
Conexiones y
otros
$ 8.300 1 $ 8.300
Valor Total $ 174.700
Todos los costos fueron extraı́dos de la página de la empresa Sigma electrónica, un distribuidor de
dispositivos electrónicos para la ciudad de Bogotá, y por lo tanto representan una serie de costos
similares a los que ofrece el mercado para la adquisición de los dispositivos. Como se puede observar,
el costo más grande está representado en la compra de la Raspberry, que puede disminuirse si se
produce en masa, debido a que el costo disminuye si se compra en grande cantidades. Adicionalmente,
es importante aclarar que el costo de conexiones adicionales se tomó como un 5 por ciento de la suma
del resto de ı́tem, debido a que es lo recomendado en la construcción de circuitos. Finalmente, es
importante hacer énfasis en que se considera una plataforma de costo razonable para ser adquirida
por una institución educativa, debido a que con el desarrollo futuro, que permita hacer la muestra de
resultados en gráficas en tiempo real y de manipulaciones de otro nivel, representa una muy buena
alternativa a la compra de dispositivos más complejos como osciloscopios, multimetros para todos los
estudiantes y componentes electrónicos para todas las prácticas.
5.4. Validación del trabajo
Para poder validar los resultados obtenidos con la plataforma, se generaron un serie de mediciones en
el circuito ejemplo, además de pruebas sencillas para las entradas y salidas digitales que permitieran
corroborar el correcto funcionamiento de cada una de las parte que componen el proyecto. Adicional-
mente, a medida que se iban agregando componentes y etapas al circuito definitivo, se desarrollaron
pruebas en la terminal de Python que permitieran observar paso a paso cómo las etapas el circuito
se iban integrando, si los multiplexores estaban cumpliendo su función correctamente de acuerdo al
lenguaje propuesto en la programación, si la conversión del ADC era correcta y el funcionamiento de
los elementos propios de la página web.
Como protocolo de pruebas de validación del circuito ejemplo se desarrolló teóricamente algunos de
los casos posibles del circuito excluyendo combinaciones que generaran corto circuito no se tuvieron
en cuenta, y luego se tomaron mediciones con la plataforma para comparar cómo se estaban compor-
tando con respecto a lo esperado. La forma de obtener estos valores se hizo mediante una serie de
10 mediciones en distinto momentos del tiempo y promediando los resultados obtenidos para obtener
CAPÍTULO 5. TRABAJO REALIZADO 25
resultados confiables. Los casos que se mencionan en la tabla se describen a continuación, en el cuadro
5.3:
Cuadro 5.4: Casos para la validación.
Comparación Resultados Teóricos y de la Plataforma
Caso 1 2 3 4 5 6 7 8 9
E1 Open R Alta R Alta R Baja Wire R Alta R Baja Wire R Alta
E2 - Wire R Alta Open R Alta R Alta Open R Baja R Alta
E3 - Open Open R Baja Wire R Alta R Baja R Baja R Alta
E4 - - - Wire R Alta Wire R Baja R Baja R Alta
Cuadro 5.5: Resultados Teóricos Esperados Circuito Ejemplo.
Resultados Teóricos Esperados
Medición 1 2 3 4 5 6 7 8 9
ADC 1 (V) Noise 0 2,5 3,447 5 1,875 4,0809 5 2,143
ADC 2 (V) Noise Noise Noise 0 5 0 2,04045 2,5 1,0715
I (mA) 0 2,27 1,1363 15,528 3,7878 1,4204 9,191 61,26 1,2987
Cuadro 5.6: Resultados Obtenidos con la Plataforma para el circuito ejemplo
Resultados Obtenidos de la Plataforma
Medición 1 2 3 4 5 6 7 8 9
ADC 1 (V) Noise 0 2,375 3,274 4,7 1,8 3,856 4,775 2,021
ADC 2 (V) Noise Noise Noise 0 4,7 0 1,928 2,387 1,01
I (mA) 0 2,043 1,045 14,13 3,371 1,321 8,363 55,746 1,16883
Como se puede encontrar en cada uno de los casos tomados en cuenta, los resultados obtenidos con el
circuito remoto se encuentran muy cercanos a los resultados teóricos esperados, oscilando en diferencia
porcentual para voltaje y corriente desde el 5 hasta el 15 por ciento, por lo que se corrobora que la
plataforma permite obtener resultados reales que discrepan de los valores teóricos en cantidades razo-
nables debido a su naturaleza experimental y a que una cantidad de corriente es usada para alimentar
los componentes del circuito definitivo.
Como validación final, se hizo uso de la plataforma en tiempo real con más de un usuario conectado,
haciéndole cambios a la cantidad de entradas y salidas, y midiendo el voltaje en un divisor sencillo
controlado por un potenciómetro, observando cómo cambia el voltaje de acuerdo al cambio de valor
de resistencia y prendiendo una serie de LEDs con las salidas digitales. Todas las pruebas realizadas
con la plataforma fueron exitosas, y por lo tanto se corroboró definitivamente que en cuánto a los
requerimientos funcionales, el sistema funciona correctamente.
6.Discusión
Como punto de partida para discutir los resultados obtenidos, se debe tener en cuenta que los circuitos
que se pusieron a prueba están muy ligados a la electrónica básica, por lo que los resultados reales
medidos en el circuito deben se cercanos a los resultados esperados teóricamente, en especial por la
mı́nima fuente de error disponible adicionalmente a la incertidumbre de los valores tanto en las fuentes
como en los componentes dispuestos en el circuito. Tomando esto como punto de partida se puede
asegurar que los resultados en la plataforma están de acuerdo con lo esperado para el proyecto, debido
a que el error porcentual fue aceptable y razonable debido al consumo de los dispositivos electrónicos
que no puede ser considerado en los esquemáticos y análisis iniciales de los circuitos a montar, debido
a que se consideran dispositivos ideales que no alteran las entradas o salidas de cualquier circuito a
conectar.
El trabajo se vio limitado por la cantidad de pines disponibles en la Raspberry Pi, porque a pesar de
que no todos los pines se usaron, para implementar una etapa de salida análoga se hacı́a necesario una
cantidad de pines que no se encontraban disponibles en los puertos GPIO. Adicionalmente, se contó
con la limitación de que la universidad no permite el desarrollo de proyectos que hagan uso de la red
inalámbrica, por lo que muchas pruebas que se desarrollaban en el código trabajando en la universidad
debı́an posteriormente probarse en funcionamiento en una red privada, y esto representaba un conflic-
to de tiempo para el desarrollo de avances a través del tiempo disponible para el desarrollo del proyecto.
Este proyecto presenta a futuro una interesante base para el desarrollo de librerı́as que se incluyan en
el código del servidor, que permita tomar una entrada leı́da en el dispositivo y aplicarle un lazo de
control o una manipulación de otro nivel, debido a que se tiene completo control de las entradas y sali-
das en el servidor, por lo que a desarrollo futuro se esperarı́a poder implementar esta serie de librerı́as
y poder reproducir este dispositivo de manera general para ponerlo en servicio de las instituciones
educativas que lo consideren un proyecto de su interés. Adicionalmente a este trabajo mencionado, es
importante denotar que se abren las posibilidades para montar una serie de circuitos ejemplo, como la
manipulación de la planta térmica o circuitos que tengan funciones de filtro, etapas de amplificación y
con presencia de dispositivos no pasivos.
26
7.Conclusiones
El trabajo desarrollado con este proyecto de grado permite extraer las siguientes conclusiones:
La implementación de laboratorios remotos es una rama muy importante de la experimenta-
ción moderna, ya que permite conducir experimentos fı́sicos sin cargar con los equipos a mano
constantemente y disminuyendo considerablemente los costos de adquisición de componentes.
Adicionalmente, permiten observar cómo se comportan en realidad los componentes en compara-
ción a los comportamientos teóricos esperados, por lo que representan una herramienta educativa
de alto potencial para instituciones educativas de reducido presupuesto.
La computadora de placa reducida Raspberry Pi permite la construcción de cualquier proyecto
bien definido y que requiera del montaje en un hardware, añadiéndole la ventaja de ser un
dispositivo de fácil manejo y portátil que puede ser adquirido con facilidad y que cuenta con
mucha flexibilidad de programación y conexiones mediante su comunicación por los puestos
GPIO. Éstos puertos, a pesar de ser digitales, presentan junto con el desarrollo de código un
abanico de posibilidades para la consecución de proyectos de alta ı́ndole de aplicación en la vida
ingenieril.
La implementación de circuitos análogos requiere de una serie de pruebas en todas las etapas de
montaje y de cierto cuidado en el funcionamiento de cada uno de los dispositivos, especialmente
de los circuitos integrados, ya que las conexiones deben realizarse de manera cuidadosa y teniendo
en cuenta que según el funcionamiento para el que sean requeridos su tipo de polarización puede
cambiar no no es necesario hacer uso de todos los pines.
El desarrollo de páginas web en HTML requiere un amplio conocimiento de los métodos y apli-
caciones que pueden solucionar los problemas que se presentan, especialmente cuando se requiere
de recurrir a la aplicación de Javascript, debido a que se debe entender a profundidad lo que
hace cada lı́nea y cómo éstas pueden genera errores que no tengan relación con la sintaxis del
código. Esto permite entender la importancia de desarrollar experiencia en la escritura de código,
ya que construir la habilidad de entender la lógica de código permite que se puedan solucionar
problemas sin importar el lenguaje de programación que sea necesario implementar.
Los resultados del circuito remoto difieren de manera perceptible respecto a los valores teóricos
esperados debido a la incertidumbre presente en los componentes y fuentes de alimentación, adi-
cionalmente a el comportamiento no ideal de los circuitos integrados usados para las tareas de
multiplexado y conversión análoga/digital. Aún ası́, estas diferencias son razonables y no dismi-
nuyen la importancia del desarrollo de prácticas con componentes reales, ya que parte del proceso
de aprendizaje en temas como circuitos eléctricos requiere de un componente experimental im-
portante, dónde un aprendiz puede relacionarse con la manera en las que los dispositivos que se
asumen ideales en la teorı́a se comportan cuando se encuentran dispuestos de manera fı́sica.
Finalmente, se espera que este trabajo siente un precedente en el desarrollo de artefactos de
operación remota de circuitos ya sea complejos o sencillos, ya que este proyecto puede sentar
la base de un desarrollo más profundo en cuánto a manipulación de entradas y salidas, como
teniendo en cuenta la inclusión de métodos de control.
27
8.Agradecimientos
Agradecimientos serán añadidos en la versión definitiva del documento.
28
Bibliografı́a
[1] L. Gomes y S. Bogosyan, ((Current Trends in Remote Laboratories)), IEEE Transactions on
Industrial Electronics, vol. 56, n.o 12, págs. 4744-4756, dic. de 2009, issn: 0278-0046. doi: 10.
1109/TIE.2009.2033293.
[2] E. Fabregas, G. Farias, S. Dormido-Canto, S. Dormido y F. Esquembre, ((Developing a remote
laboratory for engineering education)), Computers Education, vol. 57, n.o 2, págs. 1686-1697,
2011, issn: 0360-1315. doi: https://doi.org/10.1016/j.compedu.2011.02.015. dirección:
http://www.sciencedirect.com/science/article/pii/S0360131511000716.
[3] A. Braune, S. Hennig y E. Koycheva, ((Model driven approach for remote laboratory visualization
systems)), en 2010 4th IEEE International Conference on E-Learning in Industrial Electronics,
nov. de 2010, págs. 67-72. doi: 10.1109/ICELIE.2010.5669839.
[4] I. Santana, M. Ferre, E. Izaguirre, R. Aracil y L. Hernandez, ((Remote Laboratories for Educa-
tion and Research Purposes in Automatic Control Systems)), IEEE Transactions on Industrial
Informatics, vol. 9, n.o 1, págs. 547-556, feb. de 2013, issn: 1551-3203. doi: 10.1109/TII.2011.
2182518.
[5] M. R. Daros, J. P. C. de Lima, W. Rochadel, J. B. Silva y J. S. Simão, ((Remote experimentation in
basic education using an architecture with Raspberry Pi)), en 2015 3rd Experiment International
Conference (exp.at’15), jun. de 2015, págs. 75-78. doi: 10.1109/EXPAT.2015.7463218.
[6] N. Mohammadi, I. Murray y G. Hsiung, ((Remote renewable energy laboratory: Green Electric
Energy Park (GEEP))), en 2017 4th Experiment@International Conference (exp.at’17), jun. de
2017, págs. 196-201. doi: 10.1109/EXPAT.2017.7984365.
[7] C. Terkowsky, C. Pleul, I. Jahnke y A. E. Tekkaya, ((Platform for e-Learning and Telemetric
Experimentation (PeTEX). Tele-operated laboratories for production engineering education)), en
2011 IEEE Global Engineering Education Conference (EDUCON), abr. de 2011, págs. 491-497.
doi: 10.1109/EDUCON.2011.5773181.
[8] M. Kalúz, J. Garcı́a-Zubı́a, M. Fikar y Ľ. Čirka, ((A Flexible and Configurable Architecture for
Automatic Control Remote Laboratories)), IEEE Transactions on Learning Technologies, vol. 8,
n.o 3, págs. 299-310, jul. de 2015, issn: 1939-1382. doi: 10.1109/TLT.2015.2389251.
[9] A. P. J. Chandra y C. R. Venugopal, ((Novel Design Solutions for Remote Access, Acquire and
Control of Laboratory Experiments on DC Machines)), IEEE Transactions on Instrumentation
and Measurement, vol. 61, n.o 2, págs. 349-357, feb. de 2012, issn: 0018-9456. doi: 10.1109/
TIM.2011.2164291.
[10] W. Hu, G. P. Liu y H. Zhou, ((Web-Based 3-D Control Laboratory for Remote Real-Time Ex-
perimentation)), IEEE Transactions on Industrial Electronics, vol. 60, n.o 10, págs. 4673-4682,
oct. de 2013, issn: 0278-0046. doi: 10.1109/TIE.2012.2208440.
[11] R. J. Costa, G. R. Alves y M. Zenha-Rela, ((Reconfigurable IEEE1451-FPGA based weblab
infrastructure)), en 2012 9th International Conference on Remote Engineering and Virtual Ins-
trumentation (REV), jul. de 2012, págs. 1-9. doi: 10.1109/REV.2012.6293107.
29
9.Anexos
Código ejemplo página HTML
Figura 9.1: Código página HTML
Figura 9.2: Código página HTML
Código Central de funcionamiento
30
CAPÍTULO 9. ANEXOS 31
Figura 9.3: Código central para funcionamiento
Figura 9.4: Código central para funcionamiento
CAPÍTULO 9. ANEXOS 32
Código entradas y salidas digitales
Figura 9.5: Código definición entradas y salidas digitales
Código Conversor ADC
Figura 9.6: Código Conversor ADC
CAPÍTULO 9. ANEXOS 33
Figura 9.7: Código Conversor ADC
Código comunicación con ATMEGA328
Figura 9.8: Código comunicación con ATMEGA328
CAPÍTULO 9. ANEXOS 34
Figura 9.9: Código comunicación con ATMEGA328
Código definición de constantes
Figura 9.10: Código definición de constantes

Más contenido relacionado

Similar a Proyecto final facultad de ingeniería.pdf

Microcontroladores pic (josé mª angulo usategui, ignacio angulo martínez)
Microcontroladores pic (josé mª angulo usategui, ignacio angulo martínez)Microcontroladores pic (josé mª angulo usategui, ignacio angulo martínez)
Microcontroladores pic (josé mª angulo usategui, ignacio angulo martínez)Miguel Angel Corona Lòpez
 
Microcontroladores pic diseño practico de aplicaciones
Microcontroladores pic diseño practico de aplicacionesMicrocontroladores pic diseño practico de aplicaciones
Microcontroladores pic diseño practico de aplicacionesCarlos Tovar
 
Control automático de transferencia de energía eléctrica
Control automático de transferencia de energía eléctricaControl automático de transferencia de energía eléctrica
Control automático de transferencia de energía eléctricaPedro Chavez
 
Introduccion a nodejs
Introduccion a nodejs Introduccion a nodejs
Introduccion a nodejs Erik Gur
 
Introduccion a nodejs_a_traves_de_koans_ebook
Introduccion a nodejs_a_traves_de_koans_ebookIntroduccion a nodejs_a_traves_de_koans_ebook
Introduccion a nodejs_a_traves_de_koans_ebookJose Luis Fernandez
 
SISTEMA DE INSPECCIÓN DE PANTÓGRAFOS MEDIANTE VISIÓN ARTIFICIAL
SISTEMA DE INSPECCIÓN DE PANTÓGRAFOS MEDIANTE VISIÓN ARTIFICIALSISTEMA DE INSPECCIÓN DE PANTÓGRAFOS MEDIANTE VISIÓN ARTIFICIAL
SISTEMA DE INSPECCIÓN DE PANTÓGRAFOS MEDIANTE VISIÓN ARTIFICIALÍcaro Álvarez Giménez
 
Microcontroladores: Tutorial de microcontroladores PIC
Microcontroladores: Tutorial de microcontroladores PIC Microcontroladores: Tutorial de microcontroladores PIC
Microcontroladores: Tutorial de microcontroladores PIC SANTIAGO PABLO ALBERTO
 
Practicas de laboratorio en scilab y matlab
Practicas de laboratorio en scilab y matlabPracticas de laboratorio en scilab y matlab
Practicas de laboratorio en scilab y matlabAbelRodrguez9
 
Electrónica: Instalaciones domóticas
Electrónica: Instalaciones domóticasElectrónica: Instalaciones domóticas
Electrónica: Instalaciones domóticasSANTIAGO PABLO ALBERTO
 
Fundamentos de Programación con Lenguaje de Programación C++
Fundamentos de Programación con Lenguaje de Programación C++Fundamentos de Programación con Lenguaje de Programación C++
Fundamentos de Programación con Lenguaje de Programación C++Andy Juan Sarango Veliz
 
El lenguaje de programación c++
El lenguaje de programación c++El lenguaje de programación c++
El lenguaje de programación c++Darkcame
 
Tutorial Microprocesadores Pic iniciación rápida (Miguel Torres)
Tutorial Microprocesadores Pic  iniciación rápida  (Miguel Torres) Tutorial Microprocesadores Pic  iniciación rápida  (Miguel Torres)
Tutorial Microprocesadores Pic iniciación rápida (Miguel Torres) Aldo Corp
 
MiCroControladores
MiCroControladoresMiCroControladores
MiCroControladoresYahaira07
 
Marco Metodológico Modelo BULRIC Móvil - CMT
Marco Metodológico Modelo BULRIC Móvil - CMTMarco Metodológico Modelo BULRIC Móvil - CMT
Marco Metodológico Modelo BULRIC Móvil - CMTRafael Gonzalez Galarreta
 
Entrega trabajo final uml gp 8
Entrega trabajo final uml gp 8Entrega trabajo final uml gp 8
Entrega trabajo final uml gp 8jrcqking23
 
Benchmarking Informatico de sistemas de gestión de video open source
Benchmarking Informatico de sistemas de gestión de video open sourceBenchmarking Informatico de sistemas de gestión de video open source
Benchmarking Informatico de sistemas de gestión de video open sourceVale Perez Cepeda
 

Similar a Proyecto final facultad de ingeniería.pdf (20)

Microcontroladores pic (josé mª angulo usategui, ignacio angulo martínez)
Microcontroladores pic (josé mª angulo usategui, ignacio angulo martínez)Microcontroladores pic (josé mª angulo usategui, ignacio angulo martínez)
Microcontroladores pic (josé mª angulo usategui, ignacio angulo martínez)
 
Microcontroladores pic diseño practico de aplicaciones
Microcontroladores pic diseño practico de aplicacionesMicrocontroladores pic diseño practico de aplicaciones
Microcontroladores pic diseño practico de aplicaciones
 
tesis de Garbarino
tesis de Garbarinotesis de Garbarino
tesis de Garbarino
 
Control automático de transferencia de energía eléctrica
Control automático de transferencia de energía eléctricaControl automático de transferencia de energía eléctrica
Control automático de transferencia de energía eléctrica
 
Introduccion a nodejs
Introduccion a nodejs Introduccion a nodejs
Introduccion a nodejs
 
Introduccion a nodejs_a_traves_de_koans_ebook
Introduccion a nodejs_a_traves_de_koans_ebookIntroduccion a nodejs_a_traves_de_koans_ebook
Introduccion a nodejs_a_traves_de_koans_ebook
 
SISTEMA DE INSPECCIÓN DE PANTÓGRAFOS MEDIANTE VISIÓN ARTIFICIAL
SISTEMA DE INSPECCIÓN DE PANTÓGRAFOS MEDIANTE VISIÓN ARTIFICIALSISTEMA DE INSPECCIÓN DE PANTÓGRAFOS MEDIANTE VISIÓN ARTIFICIAL
SISTEMA DE INSPECCIÓN DE PANTÓGRAFOS MEDIANTE VISIÓN ARTIFICIAL
 
Microcontroladores: Tutorial de microcontroladores PIC
Microcontroladores: Tutorial de microcontroladores PIC Microcontroladores: Tutorial de microcontroladores PIC
Microcontroladores: Tutorial de microcontroladores PIC
 
Practicas de laboratorio en scilab y matlab
Practicas de laboratorio en scilab y matlabPracticas de laboratorio en scilab y matlab
Practicas de laboratorio en scilab y matlab
 
Electrónica: Instalaciones domóticas
Electrónica: Instalaciones domóticasElectrónica: Instalaciones domóticas
Electrónica: Instalaciones domóticas
 
Fundamentos de Programación con Lenguaje de Programación C++
Fundamentos de Programación con Lenguaje de Programación C++Fundamentos de Programación con Lenguaje de Programación C++
Fundamentos de Programación con Lenguaje de Programación C++
 
El lenguaje de programación c++
El lenguaje de programación c++El lenguaje de programación c++
El lenguaje de programación c++
 
Tutorial pic
Tutorial picTutorial pic
Tutorial pic
 
Tutorial pic
Tutorial picTutorial pic
Tutorial pic
 
Tutorial Microprocesadores Pic iniciación rápida (Miguel Torres)
Tutorial Microprocesadores Pic  iniciación rápida  (Miguel Torres) Tutorial Microprocesadores Pic  iniciación rápida  (Miguel Torres)
Tutorial Microprocesadores Pic iniciación rápida (Miguel Torres)
 
Tutorial pic
Tutorial picTutorial pic
Tutorial pic
 
MiCroControladores
MiCroControladoresMiCroControladores
MiCroControladores
 
Marco Metodológico Modelo BULRIC Móvil - CMT
Marco Metodológico Modelo BULRIC Móvil - CMTMarco Metodológico Modelo BULRIC Móvil - CMT
Marco Metodológico Modelo BULRIC Móvil - CMT
 
Entrega trabajo final uml gp 8
Entrega trabajo final uml gp 8Entrega trabajo final uml gp 8
Entrega trabajo final uml gp 8
 
Benchmarking Informatico de sistemas de gestión de video open source
Benchmarking Informatico de sistemas de gestión de video open sourceBenchmarking Informatico de sistemas de gestión de video open source
Benchmarking Informatico de sistemas de gestión de video open source
 

Último

Parámetros de Perforación y Voladura. para Plataformas
Parámetros de  Perforación y Voladura. para PlataformasParámetros de  Perforación y Voladura. para Plataformas
Parámetros de Perforación y Voladura. para PlataformasSegundo Silva Maguiña
 
Clase 1 Análisis Estructura. Para Arquitectura pptx
Clase 1 Análisis Estructura. Para Arquitectura pptxClase 1 Análisis Estructura. Para Arquitectura pptx
Clase 1 Análisis Estructura. Para Arquitectura pptxPaolaVillalba13
 
Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.ALEJANDROLEONGALICIA
 
Biología molecular ADN recombinante.pptx
Biología molecular ADN recombinante.pptxBiología molecular ADN recombinante.pptx
Biología molecular ADN recombinante.pptxluisvalero46
 
Flujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxFlujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxEduardoSnchezHernnde5
 
PRESENTACION DE CLASE. Factor de potencia
PRESENTACION DE CLASE. Factor de potenciaPRESENTACION DE CLASE. Factor de potencia
PRESENTACION DE CLASE. Factor de potenciazacariasd49
 
Uso y Manejo de Extintores Lucha contra incendios
Uso y Manejo de Extintores Lucha contra incendiosUso y Manejo de Extintores Lucha contra incendios
Uso y Manejo de Extintores Lucha contra incendioseduardochavezg1
 
Como de produjo la penicilina de manera masiva en plena guerra mundial Biotec...
Como de produjo la penicilina de manera masiva en plena guerra mundial Biotec...Como de produjo la penicilina de manera masiva en plena guerra mundial Biotec...
Como de produjo la penicilina de manera masiva en plena guerra mundial Biotec...ssuser646243
 
Fisiología del azufre en plantas S.S.pdf
Fisiología del azufre en plantas S.S.pdfFisiología del azufre en plantas S.S.pdf
Fisiología del azufre en plantas S.S.pdfJessLeonelVargasJimn
 
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptxAMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptxLuisvila35
 
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIPSEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIPJosLuisFrancoCaldern
 
Físicas 1: Ecuaciones Dimensionales y Vectores
Físicas 1: Ecuaciones Dimensionales y VectoresFísicas 1: Ecuaciones Dimensionales y Vectores
Físicas 1: Ecuaciones Dimensionales y VectoresSegundo Silva Maguiña
 
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdfTAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdfAntonioGonzalezIzqui
 
Fijaciones de balcones prefabricados de hormigón - RECENSE
Fijaciones de balcones prefabricados de hormigón - RECENSEFijaciones de balcones prefabricados de hormigón - RECENSE
Fijaciones de balcones prefabricados de hormigón - RECENSEANDECE
 
3039_ftg_01Entregable 003_Matematica.pptx
3039_ftg_01Entregable 003_Matematica.pptx3039_ftg_01Entregable 003_Matematica.pptx
3039_ftg_01Entregable 003_Matematica.pptxJhordanGonzalo
 
Manual de Usuario Estacion total Sokkia SERIE SET10K.pdf
Manual de Usuario Estacion total Sokkia SERIE SET10K.pdfManual de Usuario Estacion total Sokkia SERIE SET10K.pdf
Manual de Usuario Estacion total Sokkia SERIE SET10K.pdfSandXmovex
 
TEC-SEMANA 9-GRUPO1 SENATI SEGURIDAD Y PREVENCIÓN DE RIESGOS.pptx
TEC-SEMANA 9-GRUPO1 SENATI SEGURIDAD Y PREVENCIÓN DE RIESGOS.pptxTEC-SEMANA 9-GRUPO1 SENATI SEGURIDAD Y PREVENCIÓN DE RIESGOS.pptx
TEC-SEMANA 9-GRUPO1 SENATI SEGURIDAD Y PREVENCIÓN DE RIESGOS.pptxYEDSONJACINTOBUSTAMA
 
QUIMICA ORGANICA I ENOLES Y ENAMINAS LIBR
QUIMICA ORGANICA I ENOLES Y ENAMINAS LIBRQUIMICA ORGANICA I ENOLES Y ENAMINAS LIBR
QUIMICA ORGANICA I ENOLES Y ENAMINAS LIBRyanimarca23
 
Topografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la IngenieríasTopografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la IngenieríasSegundo Silva Maguiña
 
Una estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTUna estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTFundación YOD YOD
 

Último (20)

Parámetros de Perforación y Voladura. para Plataformas
Parámetros de  Perforación y Voladura. para PlataformasParámetros de  Perforación y Voladura. para Plataformas
Parámetros de Perforación y Voladura. para Plataformas
 
Clase 1 Análisis Estructura. Para Arquitectura pptx
Clase 1 Análisis Estructura. Para Arquitectura pptxClase 1 Análisis Estructura. Para Arquitectura pptx
Clase 1 Análisis Estructura. Para Arquitectura pptx
 
Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.
 
Biología molecular ADN recombinante.pptx
Biología molecular ADN recombinante.pptxBiología molecular ADN recombinante.pptx
Biología molecular ADN recombinante.pptx
 
Flujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxFlujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptx
 
PRESENTACION DE CLASE. Factor de potencia
PRESENTACION DE CLASE. Factor de potenciaPRESENTACION DE CLASE. Factor de potencia
PRESENTACION DE CLASE. Factor de potencia
 
Uso y Manejo de Extintores Lucha contra incendios
Uso y Manejo de Extintores Lucha contra incendiosUso y Manejo de Extintores Lucha contra incendios
Uso y Manejo de Extintores Lucha contra incendios
 
Como de produjo la penicilina de manera masiva en plena guerra mundial Biotec...
Como de produjo la penicilina de manera masiva en plena guerra mundial Biotec...Como de produjo la penicilina de manera masiva en plena guerra mundial Biotec...
Como de produjo la penicilina de manera masiva en plena guerra mundial Biotec...
 
Fisiología del azufre en plantas S.S.pdf
Fisiología del azufre en plantas S.S.pdfFisiología del azufre en plantas S.S.pdf
Fisiología del azufre en plantas S.S.pdf
 
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptxAMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
 
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIPSEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
 
Físicas 1: Ecuaciones Dimensionales y Vectores
Físicas 1: Ecuaciones Dimensionales y VectoresFísicas 1: Ecuaciones Dimensionales y Vectores
Físicas 1: Ecuaciones Dimensionales y Vectores
 
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdfTAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
 
Fijaciones de balcones prefabricados de hormigón - RECENSE
Fijaciones de balcones prefabricados de hormigón - RECENSEFijaciones de balcones prefabricados de hormigón - RECENSE
Fijaciones de balcones prefabricados de hormigón - RECENSE
 
3039_ftg_01Entregable 003_Matematica.pptx
3039_ftg_01Entregable 003_Matematica.pptx3039_ftg_01Entregable 003_Matematica.pptx
3039_ftg_01Entregable 003_Matematica.pptx
 
Manual de Usuario Estacion total Sokkia SERIE SET10K.pdf
Manual de Usuario Estacion total Sokkia SERIE SET10K.pdfManual de Usuario Estacion total Sokkia SERIE SET10K.pdf
Manual de Usuario Estacion total Sokkia SERIE SET10K.pdf
 
TEC-SEMANA 9-GRUPO1 SENATI SEGURIDAD Y PREVENCIÓN DE RIESGOS.pptx
TEC-SEMANA 9-GRUPO1 SENATI SEGURIDAD Y PREVENCIÓN DE RIESGOS.pptxTEC-SEMANA 9-GRUPO1 SENATI SEGURIDAD Y PREVENCIÓN DE RIESGOS.pptx
TEC-SEMANA 9-GRUPO1 SENATI SEGURIDAD Y PREVENCIÓN DE RIESGOS.pptx
 
QUIMICA ORGANICA I ENOLES Y ENAMINAS LIBR
QUIMICA ORGANICA I ENOLES Y ENAMINAS LIBRQUIMICA ORGANICA I ENOLES Y ENAMINAS LIBR
QUIMICA ORGANICA I ENOLES Y ENAMINAS LIBR
 
Topografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la IngenieríasTopografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la Ingenierías
 
Una estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTUna estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NIST
 

Proyecto final facultad de ingeniería.pdf

  • 1. PROYECTO FIN DE CARRERA Presentado a: UNIVERSIDAD DE LOS ANDES FACULTAD DE INGENIERÍA DEPARTAMENTO DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA Para obtener el tı́tulo de: INGENIERO ELECTRÓNICO por Manuel Santiago Barrios Peña Desarrollo de plataforma para la operación tele operada de circuitos análogos con fines pedagógicos Presentado el 18 de Diciembre de 2017 frente al jurado: - Asesor: Mauricio Duque Escobar PhD, Profesor Asociado, Universidad de Los Andes - Jurado : Antonio José Salazar Gómez PhD, Profesor Asociado, Universidad de Los Andes - Invitados: Michaël Canu PhD, Facultad de Ingenierı́a, Universidad de Los Andes
  • 2. Índice general 1. Introducción 1 1.1. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.1.1. Objetivo General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.1.2. Objetivos Especı́ficos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2. Descripción de la problemática y justificación del trabajo . . . . . . . . . . . . . . . . . 2 1.3. Alcance y productos finales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2. Marco teórico, conceptual e histórico 4 2.1. Marco Teórico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 3. Definición y especificación del trabajo 8 3.1. Definición . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 4. Metodologı́a del trabajo 9 4.1. Metodologı́a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 4.2. Plan de trabajo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 5. Trabajo realizado 11 5.1. Etapa de Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 5.2. Etapa de Programación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 5.3. Evaluación de Costos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 5.4. Validación del trabajo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 6. Discusión 26 7. Conclusiones 27 8. Agradecimientos 28 9. Anexos 30 ii
  • 3. Índice de figuras 2.1. Caracterización de experimentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.2. Ejemplo componentes labortorio remoto [5]. . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.3. Resumen de arquitecturas laboratorios remotos . . . . . . . . . . . . . . . . . . . . . . . 7 4.1. Diagrama de Gantt con Esquema del calendario de trabajo . . . . . . . . . . . . . . . . 10 5.1. Diagrama de Bloques de la composición del proyecto . . . . . . . . . . . . . . . . . . . . 11 5.2. Esquemático del circuito ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 5.3. Esquemático de los multiplexores con sus respectivos valores . . . . . . . . . . . . . . . . 13 5.4. Pines asociados al multiplexor CD4052 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 5.5. Pines asociados al circuito integrado ATMEGA328 . . . . . . . . . . . . . . . . . . . . . 14 5.6. Distribución definitiva de pines en la Raspberry Pi . . . . . . . . . . . . . . . . . . . . . 15 5.7. Esquema circuital completo del dispositivo . . . . . . . . . . . . . . . . . . . . . . . . . . 16 5.8. Esquema circuital multiplexor CD4052 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 5.9. Esquema circuital pines GPIO Raspberry Pi . . . . . . . . . . . . . . . . . . . . . . . . . 17 5.10. Esquema circuital conversor ADC ATMEGA328 . . . . . . . . . . . . . . . . . . . . . . 17 5.11. Arquitectura general de la página web . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 5.12. Página de Inicio Servidor Pi Circuit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 5.13. Página de Acceso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 5.14. Página de Configuraciones Generales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 5.15. Página de Muestra de Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 5.16. Página del Circuito Ejemplo con Resultados . . . . . . . . . . . . . . . . . . . . . . . . . 23 9.1. Código página HTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 9.2. Código página HTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 9.3. Código central para funcionamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 9.4. Código central para funcionamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 9.5. Código definición entradas y salidas digitales . . . . . . . . . . . . . . . . . . . . . . . . 32 9.6. Código Conversor ADC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 9.7. Código Conversor ADC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 9.8. Código comunicación con ATMEGA328 . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 9.9. Código comunicación con ATMEGA328 . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 9.10. Código definición de constantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 iii
  • 4. 1.Introducción El proceso de manipulación fı́sica de circuitos representa una importante porción del proceso de apren- dizaje y, sin lugar a duda, un requisito indispensable en el desarrollo de proyectos de ingenierı́a; esto sucede debido a que, sin importar la aplicación de conceptos teóricos que se le den a un componente, éste siempre presentará un importante cambio en su comportamiento al momento de ser transferido a la realidad. Es por este motivo que al abarcar el tema de circuitos electrónicos y sus aplicaciones, es imposible ignorar el papel vital que juega el generar un proceso de pruebas y comprobaciones de circuitos fı́sicos. Adicionalmente, en el proceso de pedagogı́a, ya sea a nivel secundario o de educación superior, la existencia de laboratorios como complemento a las clases teóricas permite que el ciclo de aprendizaje sea más completo y forme aprendices con experiencia en desarrollos prácticos y preparados para solucionar problemas de manera efectiva y útil. Sin embargo, este tipo de prácticas no siempre se encuentran al alcance de estudiantes e instituciones, y aunque sea posible desarrollar un proyecto con componentes que se encuentren al alcance de la mano, los dispositivos de alimentación y medición propios de circuitos son costosos y no están siempre disponibles al estudiante o desarrollador promedio. Es debido a esta razón principalmente que se ha consolidado el desarrollo de laboratorios remotos como una base importante para el desarrollo experimental de circuitos, ya que éstos permiten mani- pular circuitos reales únicamente desde un dispositivo conectado a internet. Existen varias iniciativas que permiten al público en general acceder a laboratorios remotos, y se le permite al usuario diseñar circuitos sencillos contando con resistencias y dispositivos de medición y alimentación como fuentes, multı́metros y generadores de señales, que hacen cambios en circuitos reales y entregan resultados tan- gibles que el usuario puede interpretar y comparar con sus expectativas. De esta manera, este proyecto pretende desarrollar una plataforma de gestión de mediciones de circuitos remota, que sea capaz de manejar a sus usuarios, manipular salidas y entradas digitales y análogas, y funcionar como un punto de partida para desarrollar proyectos más complejos de manera remota, ya que los experimentos que se conducen con esta plataforma están relacionados con circuitos básicos de elementos pasivos para la medición de voltajes y corrientes, y de esta manera crear una alternativa a las opciones ya existentes que permita al usuario hacer cambios los dispositivos fı́sicos de tal manera que se ajusten mejor a sus necesidades y le permitan tener un punto de partida hacia su propia experiencia remota desde un dispositivo sencillo de manipular y transportar. El documento se encuentra organizado de tal manera que se describe la problemática y la justificación del problema, luego se explica de manera detallada cada uno de los pasos llevados a cabo, tanto en términos de hardware como de software, luego se pre- senta la validación de los resultados obtenidos mediante las pruebas en comparación a los resultados teóricos esperados. Finalmente, se presenta el panorama a futuro del proyecto y se concluye respecto a producto final obtenido. 1.1. Objetivos 1.1.1. Objetivo General Diseñar una una plataforma con fines pedagógicos de circuitos análogos mediante el desarrollo de hardware y software para su operación remota, considerando la gestión de usuarios, la portabilidad del dispositivo, el fácil manejo del servidor de apoyo y una amplia gama de posibilidades de montaje de circuitos. 1.1.2. Objetivos Especı́ficos Conocer el funcionamiento de los circuitos a operar, obteniendo resultados experimentales y familiarizándose con su comportamiento. Revisar la implementación de laboratorios virtuales para aprender acerca de su funcionamiento 1
  • 5. CAPÍTULO 1. INTRODUCCIÓN 2 como punto de partida para el diseño de la plataforma consultando fuentes confiables y trabajos previos realizados. Implementar fı́sicamente los circuitos análogos a operar y generar comparaciones con resultados simulados para encontrar diferencias entre ambas metodologı́as. Desarrollar una plataforma virtual que permita operar los circuitos de manera remota, teniendo en cuenta las restricciones de acceso, seguridad y medición en tiempo real. Generar una serie de pruebas donde se obtengan resultados con la plataforma desarrollada para ser comparados con los resultados experimentales que permitan validar el proyecto. 1.2. Descripción de la problemática y justificación del trabajo En la actualidad, los cursos experimentales y el aprendizaje de laboratorio juegan un rol muy impor- tante en el mundo de la ingenierı́a, y la facilidad de acceso a los recursos e instrumentos determina la capacidad de una institución de aprendizaje para implementarlo en sus planes educativos [1]. Algunos de los experimentos más importantes y de gran utilidad para la enseñanza requieren de equipos de medición, alimentación y disposición de circuitos, como fuentes de voltaje o multı́metros de buena calidad, que se encuentran de manera limitada en instituciones educativas o que permiten un acceso limitado en términos de tiempo a los estudiantes[1]. Es por esto que la educación en ingenierı́a debe adaptarse a las oportunidades que ofrece la tecnologı́a y la comunicación, permitiendo que los laboratorios tradicionales se nutran de los beneficios que trae el Internet [2]. Esto implica que los estudiantes podrı́an acceder de manera remota a diferentes experi- mentos o plantas, resolviendo los problemas relacionados con costos de equipos, planeación de horarios y ubicación [2]. Lo anterior se conoce como laboratorios remotos, en donde se puede operar una planta desde una ubicación diferente. La aparición de este tipo de herramientas,al igual que las simulaciones, permite mejorar los aspectos ya mencionados de los laboratorios tradicionales. No obstante, los laboratorios remotos permiten a los estudiantes reproducir todos los aspectos del fenómeno que se está estudiando. Es por esto que se puede considerar a los laboratorios remotos como un intermedio entre las simulaciones y el laboratorio tradicional[2]. Los laboratorios remotos permiten entonces encontrar varias aplicaciones y desarrollar proyectos que permitan acceder a dispositivos costosos y difı́ciles de adquirir a cualquiera con un co- nocimiento básico de manejo de software. Esto ha permitido el desarrollo cada vez más creciente de laboratorios virtuales dónde una persona interesada en hacer experimentación o montajes de cualquier tipo pueda acceder de manera libre y éstos se desarrollen en alguna parte, obteniendo resultados reales y ayudando de manera sustancial en su proceso de aprendizaje [1]. De esta manera, que el presente proyecto pretende desarrollar una herramienta que permita ayudar a instituciones de recursos bajos o con difı́cil alcance a recursos tecnológicos la posibilidad de tener su propia experiencia experimental de manera sencilla e intuitiva, de tal manera que se puedan adquirir mejores conocimientos y una cercanı́a importante con los desarrollos y montajes, que en este caso se especifican en circuitos análogos. En la sección 2.1 se mencionan ejemplos de diferentes de laboratorios remotos con diferentes tipos de arquitecturas y experimentos. 1.3. Alcance y productos finales Al adquirir el compromiso de realizar este trabajo se esperaba que con este proyecto se pudiera cons- truir una plataforma, ya sea de manera virtual o con el desarrollo de software, que permita acceder a la experimentación con circuitos análogos de manera sencilla e intuitiva, con el fin de que pueda ser usado
  • 6. CAPÍTULO 1. INTRODUCCIÓN 3 con fines pedagógicos en la enseñanza de temas básicos de electrónica y pueda ser implementado en instituciones educativas sin poner en riesgo al servidor de control del sistema tele operado en términos de seguridad, y considerando el problema de asignación de franjas horarias y de obtención de reportes de resultados completos. Se esperaba que en el tiempo de desarrollo del proyecto fuera posible encontrar una buena cantidad de resultados ya con la plataforma desarrollada y como resultado final se esperaba que se lograra completar una plataforma que permita esta operación remota para que sea usado en las aplicaciones que se considere necesario. Al observar todos los compromisos que adquirieron en la propuesta se puede encontrar que el producto final se acerca de manera satisfactoria al resultado al que se querı́a llegar, ya que no sólo fue posible diseñar una plataforma funcional que controlara los circuitos de manera remota, también fue posible obtener una validación del trabajo a partir de resultados obtenidos en todas las etapas implementadas y corroborar su correcto funcionamiento, por lo que a pesar de que no se logró una gran cantidad de montajes para circuitos ejemplo o no se realizaron pruebas en instituciones educativas, la mayorı́a de los objetivos planteados en el comienzo del proyecto fueron cumplidos de manera importante.
  • 7. 2.Marco teórico, conceptual e histórico 2.1. Marco Teórico La adecuada combinación de componentes teóricos y prácticos en el proceso de enseñanza de los estu- diantes es uno de los principales objetivos del proceso de enseñanza de diferentes conceptos relacionados con la ingenierı́a [3]. Es por esto, que las pruebas de laboratorio y los experimentos son componentes fundamentales en el proceso de educación e investigación en el campo de la ingenierı́a. Los laboratorios prácticos, son los métodos más conocidos para generar estos espacios y le ofrecen a los estudiantes la oportunidad de experimentar con sistemas reales que están relacionados con las temáticas de in- terés. Estos laboratorios además de ofrecer una experiencia real, también se caracterizan por tener altos costos asociados a los equipos y al personal de mantenimiento. En el caso de los laboratorios para ingenierı́a electrónica, los costos se incrementan al tener laboratorios para distintos propósitos como microelectrónica, control, robótica entre otros [1]. De acuerdo con [4] se realizó un estudio para determinar la efectividad del aprendizaje a través de estos métodos y se llevó a cabo una comparación con los experimentos reales y se comprobó que los estudiantes lograron aprender adecuadamente en ambos escenarios [4]. Por las implicaciones que se tienen al momento de implementar laboratorios prácticos, se considera que la mejor opción para solucionar los posibles inconvenientes es recurrir a compartir recursos a través de internet con instalaciones externas. La atracción existente hacia las actividades de laboratorio desarrolladas por medio de internet, se ve impulsada por el deseo de mantener actualizada la tecnologı́a que se emplea en estos entornos. Además de estos beneficios, se destaca la flexibilidad que le brinda a los estudiantes en cuanto al manejo del tiempo y el espacio [1]. Los laboratorios remotos se pueden clasificar de acuerdo a su experiencia con el usuario se como se indica en la 2.1. Figura 2.1: Caracterización de experimentos Los laboratorios tele-operados se caracterizan porque la experiencia es de carácter remoto, es decir, los elementos que se encuentran en l columna derecha de la figura 2.1. La experimentación a distancia ofrece las facilidades que se mencionan a continuación[1]. Los laboratorios virtuales brindan herramientas de educación sin la necesidad de preocuparse por los requisitos de seguridad de todos los equipos y les permite interactuar con éstos en diversos escenarios en repetidas ocasiones. Este tipo de laboratorios pueden ser de carácter público o también se puede diseñar de tal forma que tanto el instructor como los estudiantes puedan 4
  • 8. CAPÍTULO 2. MARCO TEÓRICO, CONCEPTUAL E HISTÓRICO 5 acceder al laboratorio. La experiencia en este tipo de entornos de puede mejorar a través de implementar instrucciones que guı́en al estudiante durante el desarrollo. Los laboratorios remotos tienen acceso a circuitos reales a través de internet. Los laboratorios hı́bridos ofrecen una combinación de los laboratorios remotos y de los virtua- les. Dada la unión de las caracterı́sticas de éstos dos tipos, se dice que los laboratorios hı́bridos son los más eficientes tanto en temas de educación como de investigación. Los experimentos remotos pueden agruparse en tres categorı́as principales: secuenciales, interactivos y con sensores. Los experimentos secuenciales permiten que el estudiante interactúe con el experimento de manera indirecta mediante el ingreso de parámetros y esperando a que se genere un resultado a partir de esto, dejando atrás la interacción entre el usuario y el circuito mientras este está funcionando. En el caso de los experimentos interactivos si se permite la interacción directa con el experimento. Finalmente, los experimentos con sensores se encargan de mostrarle al usuario un reporte con los datos tomados por los sensores, para que éstos sean monitoreados o analizados [1]. Los beneficios que se pueden destacar de los laboratorios son: 1. Pueden ofrecer beneficios similares a los experimentos basados en simulaciones si se consideran horarios para los estudiantes 2. Es posible habilitar el acceso a estos experimentos 24 horas al dı́a los 7 dı́as de la semana. 3. Menor valor de inversión dado que se comparten los recursos. 4. Facilita la colaboración entre instituciones es individuos alrededor del mundo. 5. Fomenta el aprendizaje autónomo. Existen múltiples alternativas para la creación de laboratorios remotos, sin embargo, existe una serie de componentes que son comunes en éstos. Los componentes que se pueden destacar corresponden al experimento como tal, que viene acompañado de la instrumentación y equipos que permiten el control del experimento y la adquisición de los datos. Por otro lado, se encuentra un servidor de laboratorio que va a garantizar que se pueda realizar el control y monitoreo del experimento a través de los equi- pos. Asimismo se requiere de un servidor que va a ser el encargado de permitir que los usuarios se conecten con el laboratorio. Todos los elementos del laboratorio los puede observar el usuario a través de una cámara web, también se pueden implementar herramientas colaborativas como lo son el audio, vı́deo y comunicación entre usuarios. Finalmente se pueden incluir estaciones de trabajo para que los usuarios puedan acceder al laboratorio, cabe destacar que algunos laboratorios requieren simplemente conexión a internet, mientras otros necesitan de plug-ins especı́ficos [1]. Un ejemplo de los componentes que conforman un laboratorio remoto se encuentra en la figura 2.2. Este laboratorio consiste en un experimento de propagación de calor que mide la temperatura a través de un sensor y los datos que éste registra se muestran en la platoforma web que se observa en la figura 2.2b.
  • 9. CAPÍTULO 2. MARCO TEÓRICO, CONCEPTUAL E HISTÓRICO 6 (a) Experimento controlado por Raspberry Pi y cámara. (b) Interfaz plataforma web. Figura 2.2: Ejemplo componentes labortorio remoto [5]. Un ejemplo de un laboratorio con las caracterı́sticas mencionadas anteriormente se encuentra en [6], donde se presenta una propuesta de laboratorio remoto, que incluye el uso de cámaras y permite que el acceso se de carácter público. Este laboratorio se basa en un experimento que emplea sensores, es decir en la interfaz del usuario se muestran los valores adquiridos por éstos. Otro ejemplo de un la- boratorio remoto se encuentra en [7] ,donde se implementa un laboratorio que incluye la visualización del circuito real y es un experimento tipo secuencial. En éste se introducen parámetros iniciales para definir el escenario del experimento y además se incluyen metodologı́as de enseñanza que favorecen el proceso de aprendizaje de los estudiantes, quienes pueden estar conectados para desarrollar dinámicas de aprendizaje colaborativas. Además de las caracterı́sticas ya mencionadas, es importante señalar que existen diferentes arquitec- turas que pueden ser implementadas de acuerdo con el software y hardware seleccionado. Las arqui- tecturas más destacadas son [8]: 1. Servidor-cliente con control del experimento: Esta arquitectura emplea una conexión directa entre el computador y el circuito controlado, como por ejemplo, a través de una USB. La principal ventaja de este tipo de topologı́a es que es una alternativa de fácil implementación y de bajo costo. 2. Servidor-cliente con adquisición de datos: Tiene caracterı́sticas similares a la arquitectura ante- rior, sin embargo incluye un DAQ, para lograr conectar el experimento con el computador en los casos que se necesite. Este tipo de implementación reduce el procesamiento de señales, pero también incrementa el precio. Un ejemplo de esta arquitectura se encuentra en [9]. 3. Cliente-proxy con nodos: También se conoce como una arquitectura secuencial y permite tener una mayor capacidad de conexiones para el experimento. El servidor proxy es encargado de
  • 10. CAPÍTULO 2. MARCO TEÓRICO, CONCEPTUAL E HISTÓRICO 7 manejar las conexiones de diferentes clientes a diferentes nodos del experimento.La principal ventaja de esta arquitectura es la conectividad entre diferentes nodos(computadores)en diferentes ubicaciones. En [10] se encuentra aun ejemplo de este tipo de arquitectura. 4. Cliente con Supervisión, Control y Adquisición de Datos: La combinación de un SCADA y una unidad de control (PLC) es uno de los acercamientos industriales más comunes. Tiene un alto costo por el uso de software y hardware comerciales, no obstante permiten la reducción de la implementación. 5. Cliente con tarjeta programable: Este tipo de arquitectura se ha vuelto más conocido en los últimos años y se conocen como alternativas de bajo costo .Están basadas en el uso de tar- jetas programables, micro-controladores y alternativas más económicas de computadores como la Raspberry. Debido a la variedad de hardware que puede ser implementado, no se puede ge- neralizar en este tipo de arquitectura y se diferencia de otros tipos en el uso de componentes económicos. Una muestra de un laboratorio de bajo costo empleando un microcomputador y una FPGA se encuentra en [11]. Figura 2.3: Resumen de arquitecturas laboratorios remotos
  • 11. 3.Definición y especificación del trabajo 3.1. Definición El proyecto consiste en un dispositivo portátil de fácil manejo compuesto por una Raspberry Pi en conjunto con una tarjeta que incluye la etapa electrónica encargada de interpretar las salidas y en- tradas del circuito. Este dispositivo tiene como principal objetivo comprobar que es posible realizar mediciones sobre un circuito y permitirle observar al usuario dichos resultados, considerando que este es un punto de partida para generar un experimento de mayor complejidad. En éste, la sección de hardware funciona en conjunto con un servidor montado en lı́nea, el cuál es capaz de manipular cir- cuitos y dispositivos sencillos dispuestos de manera fı́sica para mostrar tanto sus entradas como sus salidas, ya sean digitales o análogas, de manera remota de acuerdo al escenario. El sistema consiste en dos grandes divisiones: la parte de hardware encargada de comunicarse con el circuito a través de conexiones reales, y la parte de software que permite obtener mediciones del circuito y mostrarlas en tiempo real según como requiera el usuario del sistema. Como se mencionó anteriormente, el hardware gira en torno al computador de placa reducida Raspberry Pi 3, además de contar con un microcontrolador y una serie de pines de entrada y salida manipulables a gusto del usuario. La Raspberry cumple con la labor de proveer el voltaje a los circuitos a conectar, de leer de manera digital los inputs y outputs de interés y hacer la integración con el servidor en lı́nea para permitir la manipulación remota. El microcontrolador, de referencia ATMEGA328, se encarga de ha- cer la conversión de daos análogos a digitales para su correcta muestra en la página web. Finalmente, se cuenta con usa serie de pines de entrada y salida que pueden ser usados de manera libre, y que integrados con parte de software, representan la información que se quiera extraer del circuito en fı́sico. La parte de software se compone por un servidor que se pone en marcha únicamente con la conexión a corriente de la Raspberry, que permite al usuario desde su dispositivo con acceso a internet en una red local escoger los resultados que se quieren mostrar, que se observan en tiempo real y de acuerdo a los cambios que se hagan en los pines; Adicionalmente, el servidor se ocupa de tal manera que cuando un usuario acceda al enlace y se encuentre trabajando en su circuito, no le sea posible a ningún otro observar lo que se está haciendo ni hacer ninguna modificación. Debido a que el proyecto tiene fines pedagógicos, existe un circuito de prueba al que se puede hacer una conexión fı́sica por defecto, que consiste en una serie de resistencias conectadas en serie y paralelo en las cuáles se pueden tomar mediciones de voltaje y corriente según la configuración del circuito, algo totalmente manipulable por el usuario, y poder corroborar estos valores en un circuito real para ser comparados con los valores teóricos esperados y servir como una herramienta pedagógica para estudiantes e instituciones que no tengan acceso a la compra de componentes electrónicos. 8
  • 12. 4.Metodologı́a del trabajo 4.1. Metodologı́a La metodologı́a de trabajo consistı́a en un proceso secuencial de consulta, pruebas provisionales, monta- je, acoplamiento de etapas, desarrollo de software y validación de resultados. Este proceso se desarrolló de manera secuencial para cada uno de los circuitos desarrollados, dónde se seleccionó cuidadosamente según las necesidades cada uno de los componentes utilizados en base a las referencias consultadas y observando el comportamiento de los circuitos en otro tipo de proyectos similares. Luego de revisar cada uno de los dispositivos que se desean implementar, se procede a probar su funcionamiento por separado en protoboard, haciendo mediciones con multimetro y con indicadores LED, haciendo cam- bios hasta tener un comportamiento uniforme y deseado que se ajuste a lo requerido con anterioridad al montaje. Luego de este proceso, se procede a generar un circuito definitivo que una todas las etapas probadas por separado y permita hacer pruebas de manera conjunta con la Raspberry Pi, debido a que se puede corroborar cómo se conectan cada uno de los puertos de comunicación de los circuitos análogos con los puertos GPIO. En la etapa de desarrollo de software se generan códigos de prueba que arrojen los resultados de cada uno de los métodos aplicados para obtener respuesta en los integrados y en las entradas y salidas digitales, de tal manera que se tenga l certeza de que su funcionamiento en casos tı́picos es correcto. Finalmente, se genera a partir de la unión de estos códigos un servidor web que compila todas las mediciones y reúne esta información en una interfaz a la cual el usuario tiene acceso mediante un en- lace único. En el desarrollo de esta etapa se desarrolló código página por página, tal como se explicará más adelante, y se prueban una serie de escenarios diferentes, como la presencia de varios usuarios simultáneamente o los cambios bruscos y repentinos en los circuitos para probar tiempos de respuesta. Finalmente, luego de completar todo el trabajo se generan pruebas que permitan evaluar el desempeño de la plataforma hasta calibrar suficientemente bien la integración entre código y hardware, de tal ma- nera que los resultados sea confiables y representen de manera fiel los componentes fı́sicos a controlar remotamente. En resumen, la metodologı́a adoptada para el desarrollo del proyecto se puede resumir en prueba y erron¿r, haciendo las pruebas de manera fundamentada y solucionando los problemas mediante la revisión cuidadosa de cada una de las variables involucradas en el sistema. 4.2. Plan de trabajo El plan de trabajo se subdividió en las siguientes actividades desarrolladas en el tiempo disponible a través del semestre académico: Familiarización y conocimiento de los circuitos análogos a operar: en esta fase del proyecto se espera manipular y conocer los circuitos a operar, definiéndolos de manera precisa y aprendiendo su funcionamiento experimental Revisión de proyectos de laboratorios virtuales existentes: en esta fase se espera conocer el fun- cionamiento de laboratorios virtuales y remotos existentes, tanto en su operación como interfaz para tener referencias y puntos de partida para el trabajo. Obtención de resultados experimentales y de simulación de los circuitos: se espera en esta fase encontrar una serie de resultados para los circuitos planeados tanto de manera experimental como en simulación, generar comparaciones y almacenarlos para futura referencia en el proyecto. 9
  • 13. CAPÍTULO 4. METODOLOGÍA DEL TRABAJO 10 Planeamiento del desarrollo de la plataforma: en esta fase se deben definir los elementos y funcio- nes que tendrá la plataforma, haciendo esquemas y sentando el punto de partida para el desarrollo posterior. Desarrollo de la plataforma: esta fase consistirá en la generación de código y aplicaciones para la operación remota de los circuitos, además del setup experimental para los circuitos fı́sicos considerando todos los requerimientos necesarios para su correcto funcionamiento en conjunto. (considera además la corrección de errores que se encuentren en la fase de obtención de resultados y validación). Obtención de resultados con la plataforma: esta fase, que será la parte final del proyecto, consistirá en la obtención de resultados de manera tele operada, que puedan ser comparables con los resultados ya obtenidos de manera experimental para poder validar el trabajo realizado. De manera explicativa, en la Figura 4.1 se puede observar el diagrama de Gantt propuesto en la definición del proyecto, para mostrar cuál es el plan de trabajo determinado desde el inicio del proyecto. Figura 4.1: Diagrama de Gantt con Esquema del calendario de trabajo Cabe destacar que el proyecto se desarrolló en el orden que se especifica en la figura 4.1. No obstante, debido a los inconvenientes que se presentaron en el proceso, el desarrollo de la plataforma y la obtención de resultados con la plataforma se extendieron una semana más de lo planteado inicialmente.
  • 14. 5.Trabajo realizado El trabajo llevado a cabo en este proyecto de grado se divide en dos componentes principales que dictaron el proceso que se llevó a cabo: el desarrollo de software para montar el servidor encargado de manejar la Raspberry Pi, obteniendo mediciones, y la etapa de hardware que consiste en las conexiones realizadas para comunicar el circuito ejemplo y las entradas y salidas con el servidor mediante la Raspberry. De esta manera, el trabajo realizado se subdividirá en estas dos secciones. 5.1. Etapa de Hardware La etapa de hardware del proyecto consiste en el montaje de los dispositivos encargados de la lectura de valores y de la extracción de los mismos, además de abarcar el circuito fı́sico de ejemplo en el que se pueden hacer mediciones de voltaje y corriente. Como punto inicial, se desarrolló un esquema de cómo se esperaba que el producto final se encontrara dispuesto, es decir, qué etapas lo componı́an. Para esto se esquematizó mediante un diagrama de bloques la composición general del proyecto, como se muestra en la Figura 5.1. Figura 5.1: Diagrama de Bloques de la composición del proyecto Como se puede observar en el diagrama, se consideran las etapas del servidor y de la Raspberry Pi como los puntos de unión de toda la etapa de hardware, y cómo lo muestra la flecha bidireccional en su conexión, se pueden comunicar tanto para transmitir como recibir según se requiera. El servidor transmitirá cuando el destino sea una de las salidas digitales, ya que como se explicará más adelante, el usuario tendrá la capacidad de seleccionar si una salida digital está prendida o no, esta información se transmitirá a la Raspberry que atenderá la selección y la definirá apropiadamente en las salidas de carácter digital. Por otra parte, el servidor recibirá e interpretará información en el caso en el que se quieran medir las entradas, ya sean análogas o digitales, o si se quiere probar el sistema con el circuito ejemplo en este escenario, el usuario seleccionará las cantidad de entradas análogas y digitales de su interés de medición, le indicará al servidor cuáles de éstas quiere medir y se recibirá la información a través de los puertos GPIO de la Raspberry y podrán mostrarse los resultados en la interfaz del servidor. Las entradas y salidas digitales se manejan de manera sencilla, debido a que los puertos usados en la Raspberry son de carácter lógico, por lo tanto enviar y recibir señales de este tipo sólo consiste en 11
  • 15. CAPÍTULO 5. TRABAJO REALIZADO 12 determinar los puertos que se asignan a cada función y desarrollar un código que se encargara de asig- nar y medir el nivel lógico según sea el caso de entrada o salida. En cuánto a la medición de entradas análogas fue necesaria la inclusión de un conversor Análogo-Digital, para lo que se seleccionó el chip ATMEGA328, que cuenta con la capacidad de leer 6 entradas análogas diferentes y comunicarse con la Raspberry mediante su salida digital. Finalmente, el esquema general de la etapa circuital se completa con la inclusión de un circuito ejemplo que consiste en una serie de componentes en serie y en paralelo que pueden tomar el valor de dos resistencias, un cable o un circuito abierto a decisión del usuario, y de esta manera medir voltajes en distintos puntos del circuito y corriente consumida por la totalidad del mismo según la disposición de componentes que se haya seleccionado. Este proceso de selección de componente requirió de la inclusión de una serie de multiplexores de 4 salidas, que permitieran precisamente a cada uno de los espacios seleccionables por el usuario tomar el valor deseado. En la Figura 5.2 se puede observar un esquemático del circuito ejemplo. Figura 5.2: Esquemático del circuito ejemplo Como se puede apreciar en el esquema anteriormente presentado, el circuito ejemplo es alimentado con una fuente de 5V, y en cada una de las posiciones dónde es apreciada una caja, ésta puede adquirir el valor de un componente según como el usuario seleccione en el servidor. En el caso de las cajas verdes, el usuario puede seleccionar entre posicionar un circuito abierto, un cable, una resistencia de 100 Ω o una resistencia de 2,2kΩ, mientras que en el caso de las cajas rojas el usuario cuanta con las opciones a diferencia de los valores de resistencia, en los que se tiene la posibilidad de seleccionar una resistencia de 222 Ω o una de 3,3kΩ. Adicionalmente, en esta figura se puede observar que existen dos nodos de interés para la medición de voltajes marcados como ADC1 y ADC2, que son las posiciones dónde el voltaje cambia de acuerdo a la selección de componentes del usuario. Esta selección de componentes a discreción del usuario se logró, como y fue mencionado anteriormente, haciendo uso de los multiplexo- res CD4052B, que cuentan con un entrada de dos bits para la selección de uno de los cuatro posibles estados, y cuenta con doble canal, por lo que es posible extraer dos salidas, aunque en este proyecto sólo se hizo uso de una de ellas debido a que cada una de las cajas es independiente de la otra, y el chip no permite controlar las salidas por separado, sino que deben tomar el mismo valor debido a que un único puerto de entrada las controla. Descrita toda la sección de hardware se puede proceder a mostrar en detalle cada uno de los esquemáti- cos asociados a los montajes y mostrar cómo se hizo la comunicación de éstos con la Raspberry Pi, ya que en términos de programación los pines asociados a cada subdivisión del circuito deben ser constan- tes. En primera medida, se hizo el montaje de prueba para el circuito ejemplo con los multiplexores, tal y como se muestra en la figura 5.3.
  • 16. CAPÍTULO 5. TRABAJO REALIZADO 13 Figura 5.3: Esquemático de los multiplexores con sus respectivos valores Este esquemático se montó observando el datasheet del componente, y revisando cada una de las entradas y salidas posibles, teniendo en cuenta que cada uno de los multiplexores requiere de de dos entradas de control del estado, de voltaje de alimentación, y de una conexión del puerto común de cada canal a la entrada que corresponde según el circuito a montar. A continuación se presenta el diagrama de pines y esquemático para el multiplexor usado en la Figura 5.4. Figura 5.4: Pines asociados al multiplexor CD4052 De esta manera, se procede a adjuntar el cuadro 5.1 con los valores asignados a cada uno de los pines del chip, asignándole a los valores resistivos de 100 y 222 Ω la notación de R Baja y los valores de 2,2k y 3,3k Ω la notación de R Alta. Cuadro 5.1: Listado Conexiones CD4052 Conexiones Multiplexor C4052 PIN 1 2 3 4 5 6 7 8 Conexión R Baja R Alta IN Wire Open GND GND GND PIN 9 10 11 12 13 14 15 16 Conexión GPIO2 GPIO1 - - - - - 5V Como se puede observar, no se hizo uso de uno de los canales de multiplexado debido a la dependencia de ambos canales de la misma entrada, y debido a que se requiere que cada uno de los componentes sea independiente de los demás, se optó por hacer uso de 4 multiplexores diferentes. Además de esto, se puede observar como los pines 9 y 10 resultan asignados a los pines GPIO, cuya asignación a cada uno
  • 17. CAPÍTULO 5. TRABAJO REALIZADO 14 de los multiplexores presentes se podrá encontrar al final de esta sección. Adicionalmente, en la sección de validación se podrán encontrar los resultados de las pruebas realizadas con esos multiplexores para los diferentes casos de composición del circuito. Luego de desarrollar el montaje del circuito ejemplo se procedió a hacer el montaje de la etapa de lectura correspondiente a las entradas análogas. Para este fin se hace uso de un microcontrolador capaz de tratar la información recibida y transmitida en tiempo real, como lo es el ATMEGA328, que junto con la programación realizada en la terminal de la Raspberry Pi cumple la función de ser un conversor Análogo/Digital de 6 canales a 10-bit. La comunicación de este circuito integrado debe realizarse por medio de los puertos de transmisión UART de la Raspberry Pi, y no es necesario hacer ninguna otra conexión en el integrado adicionalmente a estos dos puertos, las entradas análogas que se deseen, el voltaje de alimentación y el voltaje de referencia para la conversión ADC. Un esquema de la distribución de pines del ATMEGA328 puede encontrarse en la Figura 5.5. Figura 5.5: Pines asociados al circuito integrado ATMEGA328 En el esquema se puede observar que los únicos pines de interés para la comunicación con la Raspberry son aquellos que son referidos como RXD y TXD, cuya conexión permite ser programada y modificada de tal manera que funcione como el conversor ADC deseado. Adicionalmente, los pines marcados en color verde oscuro son los que representan interés, ya que los que se encuentran comprendidos entre los pines 23 y 28 son las entradas de lectura, y el pin 21 es el voltaje de referencia que se debe proporcionar para que la conversión ea acorde al circuito que se quiere medir. En términos de montaje, se dispuso de una serie de regletas en estos pines de lectura, de tal manera que sean fácilmente manipulables por el usuario y pueda acceder a tomar mediciones de hasta 6 resultados análogos sin necesidad de hacer ningún cambio en el circuito. El funcionamiento del microcontrolador se detalla de manera más completa en la sección de programación, debido a que la lectura apropiada se lograba a partir del correcto desarrollo de un código en C. Finalmente, como último paso del desarrollo de la etapa de hardware, era necesario generar una serie de entradas y salidas digitales, que pudieran también ser fácilmente manipulables para el trabajo del usuario, por lo que se asignaron como constantes a la conexión con la Raspberry y se dispusieron como conexiones regleta, de tal manera que el usuario tuviera a su disposición una serie de 6 entradas y salidas digitales totalmente manipulables desde el servidor. Esta serie de entradas y salidas, tanto análogas como digitales, se encuentran soldadas en el circuito definitivo y sólo es necesario proporcio- narle alimentación al circuito, decidir con cuáles de los pines se quiere medir, y observar los resultados en la interfaz gráfica.
  • 18. CAPÍTULO 5. TRABAJO REALIZADO 15 A manera de esquema, y para que se tenga claro cómo se hizo la conexión fı́sica con la Raspberry, se adjunta en la Figura 5.6 el esquema definitivo de pines asociados a cada uno de los componentes de la etapa de hardware, denotando con color verde las entradas digitales, con color rojo los pines de control de cada uno de los multiplexores, con color azul las salidas digitales, con color amarillo la comunicación UART con el microcontrolador, y dejado libre el resto de pines de los cuáles no se hizo uso, marcados con color blanco. Figura 5.6: Distribución definitiva de pines en la Raspberry Pi Finalmente, en las figuras que se podrán encontrar a continuación es posible observar los esquemáticos finales dónde se unen todas las conexiones entre los componentes análogos.
  • 19. CAPÍTULO 5. TRABAJO REALIZADO 16 Figura 5.7: Esquema circuital completo del dispositivo Figura 5.8: Esquema circuital multiplexor CD4052
  • 20. CAPÍTULO 5. TRABAJO REALIZADO 17 Figura 5.9: Esquema circuital pines GPIO Raspberry Pi Figura 5.10: Esquema circuital conversor ADC ATMEGA328
  • 21. CAPÍTULO 5. TRABAJO REALIZADO 18 5.2. Etapa de Programación Posterior a todo el montaje de los circuitos fı́sicos que hacen parte del proyecto, se desarrolló un servidor que, junto con la comunicación en la Raspberry, fuera capaz de manipular todos los componentes fı́sicos del circuito para poder cumplir con el objetivo principal del proyecto, manipular remotamente lo que se encuentre fı́sicamente conectado a la Raspberry. Este proceso consistı́a en la selección de lenguajes de programación de trabajo para cada una de las etapas, y partiendo de esto generar los códigos que cumplan con con las funciones que se esperan del proyecto. A continuación se hace una descripción de la arquitectura del servidor web, con sus respectivas herramientas y lenguajes usados: 1. Desarrollo de páginas web: para la construcción de cada una de las páginas se hizo uso del lenguaje HTML, mediante el cuál se definieron encabezados, ubicación de botones, distribución de texto en la interfaz y la definición de conexiones entre las páginas de log in, configuraciones, medidas, circuito ejemplo y el perfil del usuario, todo apoyado en ejecutables de Python que permiten que la conexión con la Raspberry tenga efecto en lo que se puede observar en el servidor. 2. Gestión de usuarios y base de datos: con el objetivo de manipular la gestión de usuarios y poder tener control de los registros y accesos a la página se hizo uso de la herramienta Django, que permite la creación de páginas web de buen nivel de seguridad y con posibilidad de hacerle seguimiento al proceso de mantenimiento del sitio. Adicionalmente, permite de manera sencilla el generar la creación de formularios de registro y acceso mediante la creación de usuarios. 3. Comunicación con la Raspberry: Como se va a explicar más adelante en detalle, la pro- gramación en Python fue el núcleo mas importante del desarrollo de código en el proyecto, ya que en este lenguaje es más sencillo trabajar con la Raspberry Pi, y fue posible entonces hacer la gestión de los puertos GPIO de dónde se extraen todas las conexiones de Hardware que son manipulables y no manipulables por el usuario de la plataforma. 4. Gestión del Conversor ADC: para facilidad de programación entre los puertos UART de la Raspberry y el ATMEGA 328, una pequeña porción del código que se desarrolló, en dónde se gestiona como cada una de las 6 entradas análogas se observa en la Raspberry y se transmite al servidor a la muestra en el servidor online, adicionalmente se define cuál es la tasa de obtención de datos y la forma en que se interpretan las entradas en forma de mediciones digitales de 10 bits. 5. Muestra de resultados: finalmente, para la obtención de datos en tiempo real sin necesidad de hacer una actualización constante de la página, se hizo uso de una herramienta de JavaScript, que permite que según la cantidad de datos que lleguen al cuadro de muestra de resultados, la página los actualice automáticamente y el usuario pueda ver el cambio de éstos en tiempo real según los cambios que ejecute en el servidor. A continuación se puede observar un esquema general de cómo se organiza la arquitectura de software del servidor web:
  • 22. CAPÍTULO 5. TRABAJO REALIZADO 19 Figura 5.11: Arquitectura general de la página web Luego de hacer una explicación de la arquitectura se procede a hacer una muestra de las páginas una por una disponibles en el servidor, empezando por la página inicial de dónde se puede hacer el registro de usuarios que acceden por primera vez a la plataforma. Adicionalmente a la función de registro, era importante implementar una página donde se definieran las configuraciones iniciales de las mediciones, es decir, una página donde fuera posible seleccionar las entradas y salidas de interés, nombrarlos y permitir seleccionar un valor de voltaje de referencia, debido a que las mediciones análogas se obtienen en valores de 0 a 1023 debido a que se cuenta con una medición digital de 10 bits. Junto a estas dos posibilidades, era necesario el desarrollo de una página que tuviera un esquema del circuito ejemplo, permitiera cambiar los valores de los diferentes componentes presentes y familiari- zarse con los puntos de medición de interés. Como último aspecto a tener en cuenta, y de hecho como componente más importante del servidor, se generó una página que recopilara todas las mediciones de las salidas y entradas seleccionadas, dónde el usuario pueda ver el resultado de los circuitos que se dispongan en los espacios disponibles para este fin. En primera medida, se generó un servidor local sin ningún contenido en la Raspberry, al que se le pudieran agregar y cambiar todas las caracterı́sticas anteriormente mencionadas. Para esto se hizo uso de la herramienta APACHE, que permite crear servidores locales asociados a la IP del dispositivo desde dónde sea creado. Luego de la creación de este servidor y con el fin de fijar el enlace del servidor, se definió una IP estática en la Raspberry Pi mediante la aplicación de uno de los comandos propios de la misma; esto se hizo para que fuera posible que el servidor entre en funcionamiento automáticamente sin cambiar de dirección y sin que sea necesario conectar ningún periférico a la Raspberry Pi, ası́ generan- do que la única condición para que el servidor se ponga en lı́nea sea encender la Raspberry generando una conexión a corriente. Finalmente, vale la pena aclarar que debido a que el servidor es montado en un dispositivo personal y no se está adquiriendo un dominio público, el servidor debe montarse en una red local y conectar todos los usuarios interesados a esta misma red para poder acceder a todas las caracterı́sticas desarrolladas para el sistema. Partiendo de esta base, es posible generar una página de inicio, que conste de una descripción de las capacidades del sistema y una serie de botones que le permitan al usuario hacer si registro si se está usando por primera vez o completar la entrada con un usuario ya existente. Una muestra de cómo ve
  • 23. CAPÍTULO 5. TRABAJO REALIZADO 20 esta página de inicio se puede encontrar en la Figura 5.12. Como se podrá apreciar, el nombre escogido para la plataforma remota es el de Pi Circuit. Figura 5.12: Página de Inicio Servidor Pi Circuit En este punto, el usuario puede seleccionar la opción de registrarse, a lo cual el sitio lo direccionará hacia una página donde deberá proveer su nombre de usuario para la página, su nombre, su dirección de correo electrónico y una contraseña para proteger su cuenta. Cuando se completa el registro, se redirige nuevamente a la página de inicio dónde debe escoger la opción de acceder con su cuenta recién creada, obteniendo una página cómo la que se muestra en la Figura 5.13. Figura 5.13: Página de Acceso Luego de superar el problema de manejo de usuarios, se procedió a desarrollar por separado cada uno de los componentes restantes en la página, encargados de las mediciones en tiempo real y de presentar el circuito ejemplo con sus respectivos puntos de medición. Para este fin, se desarrolló un archivo de constantes, que asignaba a los pines de la Raspberry los valores que se mostraron en la sección an- terior, de tal manera que el sistema reconociera qué entradas y salidas debı́an ser activadas según la integración con los botones en la página. El proceso a seguir de aquı́ en adelante constó en una serie de pasos que se describirán a continuación:
  • 24. CAPÍTULO 5. TRABAJO REALIZADO 21 1. Integración de constantes con la plataforma: en este paso del proceso de código, se debı́a asignar a cada uno de los elementos a ser llamados en el código cada uno de los pines definidos con anterioridad, de tal manera que fuera sencillo ubicarlos y hacerles el llamado por sus nombres clave en cada uno de los métodos a usar. 2. Asignación de las entradas y salidas digitales: debido a que los pines de la Raspberry manejan niveles digitales, el siguiente paso fue la creación de las entradas y salidas de esta ı́ndole, que constó en en hacer una conversión en el valor entero que se recibı́a o querı́a enviar por estos pines a un valor digital, para de esta manera construir una función que pudiera reconocer cuando el valor de interés se podı́a medir como un 1 o como un 0 lógico. Al final de esta función se crean elementos que toman las constantes y les asignan los valores que se extraigan de esta función para completar el proceso de manejo de entradas y salidas digitales. 3. Construcción de los elementos del circuito ejemplo: para lograr facilitar el trabajo de manipulación del circuito ejemplo, se procedió a construir un lenguaje acorde al funcionamiento del multiplexor CD4052 en dónde cada uno de los cuatro estados posibles tuviera un nombre asociado a cada uno de los diferentes componentes que podı́an ser seleccionados por el usuario, de tal manera que se creó el siguiente lenguaje, como se muestra en el cuadro 5.2. 4. Programación del circuito integrado ATMEGA328: para la programación del integrado, que trabaja en conjunto con la Raspberry, se desarrolló una programación Pyserial, debido a que existe una librerı́a en Python que permite comunicación con este tipo de integrados, comunes en los dispositivos Arduino. Se definió la tasa de comunicación de la Raspberry con el microcon- trolador, luego se le asigna a los pines de entrada un valor nulo que permite que se puedan leer sin ruido cuando se introduzca una señal en el canal. Luego de esto, se lee el valor arrojado en formato hexadecimal en cada uno de los canales y se convierte en un valor lógico entre 0 y 1023, para finalmente proceder a transmitir este valor a hacia la pantalla del usuario en una interfaz que procede a actualizarse una vez por segundo. Todo este proceso es posible debido a que el microcontrolador posee librerı́as en Python que permiten leer sin mucha complicación los valores que los pines de conversión ADC arrojan al sistema. Cuadro 5.2: Lenguaje Programación CD4052 Lenguaje Programación Multiplexor CD4052 Resistencia Baja (0,0) Circuito Abierto (0,1) Resistencia Alta (1,0) Cable (1,1) 5. Programación en HTML de las caracterı́sticas de la página: luego de poner obtener todos los valores que se requieren para el correcto funcionamiento de todo el proyecto, se procede a programar cada una de las páginas en HTML, introduciendo elementos como botones, cuadros de texto para nombrar los espacios de interés, un cuadro que permita seleccionar el valor del voltaje de referencia para convertir los valores que se leen en el ADC, y los espacios dónde se muestran los resultados que se actualizan en tiempo real sin necesidad de que el usuario haga clic en algún botón en particular. Cada una de las páginas desarrolladas se mostrarán más adelante y se describirán los elementos asociados a cada una. Desarrollado todo el proceso e programación del servidor web, se procede a mostrar cada una de las páginas en el orden en el que se puede acceder a ellas, tal y como se muestras en las Figuras 5.14, 5.15 y 5.16.
  • 25. CAPÍTULO 5. TRABAJO REALIZADO 22 Figura 5.14: Página de Configuraciones Generales Como se puede observar en la imagen superior, en la página de configuraciones se puede observar el nombre de usuario en la parte superior, el usuario es libre de escoger el valor de referencia para las entradas análogas, y puede dar nombre a las entradas según como le sea necesario, y marcar el checkbox en caso de requerir cualquier cantidad de entradas o ninguna. En la imagen no se aprecia, pero en la parte inferior de la página también se encuentran las entradas y salidas digitales, a las cuáles también se les puede dar nombre y seleccionar si se quieren desplegar en la página de resultados. Figura 5.15: Página de Muestra de Resultados En la figura anterior se puede observar cómo se visualiza la página de resultados, mostrando en orden la cantidad de mediciones análogas y digitales seleccionadas por el usuario, y se muestran encendidas las salidas digitales a las cuáles se les marcó de esta manera. La visualización en las dos primeras ca- tegorı́as o entradas en dinámica, es decir que cambia con las modificaciones que se le haga al circuito,
  • 26. CAPÍTULO 5. TRABAJO REALIZADO 23 y se actualizan con una tasa de 5 resultados por segundo; el valor análogo mostrado puede obtenerse como un número de 0 a 1023 si el usuario no proporciona un voltaje de referencia, o se puede observar como un número desde 0 hasta el valor de referencia, y en cuánto a las mediciones digitales se puede observar cómo si se mide un valor que entre en el rango entre 0 y la mitad del valor de referencia se obtendrá el valor de False en la interfaz, y si se mide un valor entre el valor de referencia y la mitad del mismo se obtendrá un resultado de True. Finalmente, La visualización de salidas análogas se hace de tal manera que sólo sea indicativa, debido a que este valor no se puede cambiar en esta página, sino que se cambian en la página de configuraciones. Finalmente, la página del circuito ejemplo muestra ilustraciones del circuito tanto de manera gráfica, en el esquema de la izquierda, como de manera esquemática, en el esquema de la derecha, de tal manera que el usuario (especialmente un estudiante) pueda familiarizarse con las mediciones de voltaje y corriente para un circuito real según las diferentes configuraciones que se le quieran atribuir al circuito, lo que se selecciona mediante el uso de los desplegables asociados a cada una de las 4 cajas, que luego de configurarse de la manera deseada y hacerle clic al botón Set, muestra en los recuadros verde claro los resultados para voltaje en los puntos de medición que se indican en los nodos del circuito, y la corriente consumida por el circuito, tomadas del circuito real. Figura 5.16: Página del Circuito Ejemplo con Resultados Un aspecto importante a mencionar es que la página es capaz de manejar usuarios no registrados que accedan a los enlaces de manera manual, y les permite observar los resultados generados en las páginas que los muestres, pero no tienen la posibilidad de generar cambios en los puntos de medición o en las entradas y salidas, ya que es un requisito indispensable tener un nombre de usuario para poder hacer uso completo de la página. Esta opción de visualización se habilitó con el propósito de aportar en términos educativos, ya que hace posible que un sólo encargado genere cambios en la plataforma mientras los observadores pueden mirar cómo esto se ve reflejado en los resultados, lo que resulta muy útil en prácticas educativas y enseñanza de conceptos básicos de circuitos, en la fase de comprobación de resultados teóricos en comparación con resultados reales.
  • 27. CAPÍTULO 5. TRABAJO REALIZADO 24 5.3. Evaluación de Costos Ya teniendo el desarrollo final del prototipo, es posible hacer un análisis completo de lo que cuesta construir cada uno de éstos, y que de esta manera se pueda tener un punto de referencia para que cualquier interesado en construir la plataforma o en adquirirla pueda hacer su proceso de comparación con cualquier alternativa existente. A continuación, se muestra un desglose de costos por secciones del prototipo: Cuadro 5.3: Desglose General de Costos Desglose de Costos Prototipo Final Ítem Costo Unitario(COP$) Cantidad Total Raspberry Pi $ 150.000 1 $ 150.000 Multiplexores CD4052 $ 1.500 4 $ 6.000 ATMEGA328 $ 10.000 1 $ 10.000 Componentes pasivos (R) $ 50 8 $ 400 Conexiones y otros $ 8.300 1 $ 8.300 Valor Total $ 174.700 Todos los costos fueron extraı́dos de la página de la empresa Sigma electrónica, un distribuidor de dispositivos electrónicos para la ciudad de Bogotá, y por lo tanto representan una serie de costos similares a los que ofrece el mercado para la adquisición de los dispositivos. Como se puede observar, el costo más grande está representado en la compra de la Raspberry, que puede disminuirse si se produce en masa, debido a que el costo disminuye si se compra en grande cantidades. Adicionalmente, es importante aclarar que el costo de conexiones adicionales se tomó como un 5 por ciento de la suma del resto de ı́tem, debido a que es lo recomendado en la construcción de circuitos. Finalmente, es importante hacer énfasis en que se considera una plataforma de costo razonable para ser adquirida por una institución educativa, debido a que con el desarrollo futuro, que permita hacer la muestra de resultados en gráficas en tiempo real y de manipulaciones de otro nivel, representa una muy buena alternativa a la compra de dispositivos más complejos como osciloscopios, multimetros para todos los estudiantes y componentes electrónicos para todas las prácticas. 5.4. Validación del trabajo Para poder validar los resultados obtenidos con la plataforma, se generaron un serie de mediciones en el circuito ejemplo, además de pruebas sencillas para las entradas y salidas digitales que permitieran corroborar el correcto funcionamiento de cada una de las parte que componen el proyecto. Adicional- mente, a medida que se iban agregando componentes y etapas al circuito definitivo, se desarrollaron pruebas en la terminal de Python que permitieran observar paso a paso cómo las etapas el circuito se iban integrando, si los multiplexores estaban cumpliendo su función correctamente de acuerdo al lenguaje propuesto en la programación, si la conversión del ADC era correcta y el funcionamiento de los elementos propios de la página web. Como protocolo de pruebas de validación del circuito ejemplo se desarrolló teóricamente algunos de los casos posibles del circuito excluyendo combinaciones que generaran corto circuito no se tuvieron en cuenta, y luego se tomaron mediciones con la plataforma para comparar cómo se estaban compor- tando con respecto a lo esperado. La forma de obtener estos valores se hizo mediante una serie de 10 mediciones en distinto momentos del tiempo y promediando los resultados obtenidos para obtener
  • 28. CAPÍTULO 5. TRABAJO REALIZADO 25 resultados confiables. Los casos que se mencionan en la tabla se describen a continuación, en el cuadro 5.3: Cuadro 5.4: Casos para la validación. Comparación Resultados Teóricos y de la Plataforma Caso 1 2 3 4 5 6 7 8 9 E1 Open R Alta R Alta R Baja Wire R Alta R Baja Wire R Alta E2 - Wire R Alta Open R Alta R Alta Open R Baja R Alta E3 - Open Open R Baja Wire R Alta R Baja R Baja R Alta E4 - - - Wire R Alta Wire R Baja R Baja R Alta Cuadro 5.5: Resultados Teóricos Esperados Circuito Ejemplo. Resultados Teóricos Esperados Medición 1 2 3 4 5 6 7 8 9 ADC 1 (V) Noise 0 2,5 3,447 5 1,875 4,0809 5 2,143 ADC 2 (V) Noise Noise Noise 0 5 0 2,04045 2,5 1,0715 I (mA) 0 2,27 1,1363 15,528 3,7878 1,4204 9,191 61,26 1,2987 Cuadro 5.6: Resultados Obtenidos con la Plataforma para el circuito ejemplo Resultados Obtenidos de la Plataforma Medición 1 2 3 4 5 6 7 8 9 ADC 1 (V) Noise 0 2,375 3,274 4,7 1,8 3,856 4,775 2,021 ADC 2 (V) Noise Noise Noise 0 4,7 0 1,928 2,387 1,01 I (mA) 0 2,043 1,045 14,13 3,371 1,321 8,363 55,746 1,16883 Como se puede encontrar en cada uno de los casos tomados en cuenta, los resultados obtenidos con el circuito remoto se encuentran muy cercanos a los resultados teóricos esperados, oscilando en diferencia porcentual para voltaje y corriente desde el 5 hasta el 15 por ciento, por lo que se corrobora que la plataforma permite obtener resultados reales que discrepan de los valores teóricos en cantidades razo- nables debido a su naturaleza experimental y a que una cantidad de corriente es usada para alimentar los componentes del circuito definitivo. Como validación final, se hizo uso de la plataforma en tiempo real con más de un usuario conectado, haciéndole cambios a la cantidad de entradas y salidas, y midiendo el voltaje en un divisor sencillo controlado por un potenciómetro, observando cómo cambia el voltaje de acuerdo al cambio de valor de resistencia y prendiendo una serie de LEDs con las salidas digitales. Todas las pruebas realizadas con la plataforma fueron exitosas, y por lo tanto se corroboró definitivamente que en cuánto a los requerimientos funcionales, el sistema funciona correctamente.
  • 29. 6.Discusión Como punto de partida para discutir los resultados obtenidos, se debe tener en cuenta que los circuitos que se pusieron a prueba están muy ligados a la electrónica básica, por lo que los resultados reales medidos en el circuito deben se cercanos a los resultados esperados teóricamente, en especial por la mı́nima fuente de error disponible adicionalmente a la incertidumbre de los valores tanto en las fuentes como en los componentes dispuestos en el circuito. Tomando esto como punto de partida se puede asegurar que los resultados en la plataforma están de acuerdo con lo esperado para el proyecto, debido a que el error porcentual fue aceptable y razonable debido al consumo de los dispositivos electrónicos que no puede ser considerado en los esquemáticos y análisis iniciales de los circuitos a montar, debido a que se consideran dispositivos ideales que no alteran las entradas o salidas de cualquier circuito a conectar. El trabajo se vio limitado por la cantidad de pines disponibles en la Raspberry Pi, porque a pesar de que no todos los pines se usaron, para implementar una etapa de salida análoga se hacı́a necesario una cantidad de pines que no se encontraban disponibles en los puertos GPIO. Adicionalmente, se contó con la limitación de que la universidad no permite el desarrollo de proyectos que hagan uso de la red inalámbrica, por lo que muchas pruebas que se desarrollaban en el código trabajando en la universidad debı́an posteriormente probarse en funcionamiento en una red privada, y esto representaba un conflic- to de tiempo para el desarrollo de avances a través del tiempo disponible para el desarrollo del proyecto. Este proyecto presenta a futuro una interesante base para el desarrollo de librerı́as que se incluyan en el código del servidor, que permita tomar una entrada leı́da en el dispositivo y aplicarle un lazo de control o una manipulación de otro nivel, debido a que se tiene completo control de las entradas y sali- das en el servidor, por lo que a desarrollo futuro se esperarı́a poder implementar esta serie de librerı́as y poder reproducir este dispositivo de manera general para ponerlo en servicio de las instituciones educativas que lo consideren un proyecto de su interés. Adicionalmente a este trabajo mencionado, es importante denotar que se abren las posibilidades para montar una serie de circuitos ejemplo, como la manipulación de la planta térmica o circuitos que tengan funciones de filtro, etapas de amplificación y con presencia de dispositivos no pasivos. 26
  • 30. 7.Conclusiones El trabajo desarrollado con este proyecto de grado permite extraer las siguientes conclusiones: La implementación de laboratorios remotos es una rama muy importante de la experimenta- ción moderna, ya que permite conducir experimentos fı́sicos sin cargar con los equipos a mano constantemente y disminuyendo considerablemente los costos de adquisición de componentes. Adicionalmente, permiten observar cómo se comportan en realidad los componentes en compara- ción a los comportamientos teóricos esperados, por lo que representan una herramienta educativa de alto potencial para instituciones educativas de reducido presupuesto. La computadora de placa reducida Raspberry Pi permite la construcción de cualquier proyecto bien definido y que requiera del montaje en un hardware, añadiéndole la ventaja de ser un dispositivo de fácil manejo y portátil que puede ser adquirido con facilidad y que cuenta con mucha flexibilidad de programación y conexiones mediante su comunicación por los puestos GPIO. Éstos puertos, a pesar de ser digitales, presentan junto con el desarrollo de código un abanico de posibilidades para la consecución de proyectos de alta ı́ndole de aplicación en la vida ingenieril. La implementación de circuitos análogos requiere de una serie de pruebas en todas las etapas de montaje y de cierto cuidado en el funcionamiento de cada uno de los dispositivos, especialmente de los circuitos integrados, ya que las conexiones deben realizarse de manera cuidadosa y teniendo en cuenta que según el funcionamiento para el que sean requeridos su tipo de polarización puede cambiar no no es necesario hacer uso de todos los pines. El desarrollo de páginas web en HTML requiere un amplio conocimiento de los métodos y apli- caciones que pueden solucionar los problemas que se presentan, especialmente cuando se requiere de recurrir a la aplicación de Javascript, debido a que se debe entender a profundidad lo que hace cada lı́nea y cómo éstas pueden genera errores que no tengan relación con la sintaxis del código. Esto permite entender la importancia de desarrollar experiencia en la escritura de código, ya que construir la habilidad de entender la lógica de código permite que se puedan solucionar problemas sin importar el lenguaje de programación que sea necesario implementar. Los resultados del circuito remoto difieren de manera perceptible respecto a los valores teóricos esperados debido a la incertidumbre presente en los componentes y fuentes de alimentación, adi- cionalmente a el comportamiento no ideal de los circuitos integrados usados para las tareas de multiplexado y conversión análoga/digital. Aún ası́, estas diferencias son razonables y no dismi- nuyen la importancia del desarrollo de prácticas con componentes reales, ya que parte del proceso de aprendizaje en temas como circuitos eléctricos requiere de un componente experimental im- portante, dónde un aprendiz puede relacionarse con la manera en las que los dispositivos que se asumen ideales en la teorı́a se comportan cuando se encuentran dispuestos de manera fı́sica. Finalmente, se espera que este trabajo siente un precedente en el desarrollo de artefactos de operación remota de circuitos ya sea complejos o sencillos, ya que este proyecto puede sentar la base de un desarrollo más profundo en cuánto a manipulación de entradas y salidas, como teniendo en cuenta la inclusión de métodos de control. 27
  • 31. 8.Agradecimientos Agradecimientos serán añadidos en la versión definitiva del documento. 28
  • 32. Bibliografı́a [1] L. Gomes y S. Bogosyan, ((Current Trends in Remote Laboratories)), IEEE Transactions on Industrial Electronics, vol. 56, n.o 12, págs. 4744-4756, dic. de 2009, issn: 0278-0046. doi: 10. 1109/TIE.2009.2033293. [2] E. Fabregas, G. Farias, S. Dormido-Canto, S. Dormido y F. Esquembre, ((Developing a remote laboratory for engineering education)), Computers Education, vol. 57, n.o 2, págs. 1686-1697, 2011, issn: 0360-1315. doi: https://doi.org/10.1016/j.compedu.2011.02.015. dirección: http://www.sciencedirect.com/science/article/pii/S0360131511000716. [3] A. Braune, S. Hennig y E. Koycheva, ((Model driven approach for remote laboratory visualization systems)), en 2010 4th IEEE International Conference on E-Learning in Industrial Electronics, nov. de 2010, págs. 67-72. doi: 10.1109/ICELIE.2010.5669839. [4] I. Santana, M. Ferre, E. Izaguirre, R. Aracil y L. Hernandez, ((Remote Laboratories for Educa- tion and Research Purposes in Automatic Control Systems)), IEEE Transactions on Industrial Informatics, vol. 9, n.o 1, págs. 547-556, feb. de 2013, issn: 1551-3203. doi: 10.1109/TII.2011. 2182518. [5] M. R. Daros, J. P. C. de Lima, W. Rochadel, J. B. Silva y J. S. Simão, ((Remote experimentation in basic education using an architecture with Raspberry Pi)), en 2015 3rd Experiment International Conference (exp.at’15), jun. de 2015, págs. 75-78. doi: 10.1109/EXPAT.2015.7463218. [6] N. Mohammadi, I. Murray y G. Hsiung, ((Remote renewable energy laboratory: Green Electric Energy Park (GEEP))), en 2017 4th Experiment@International Conference (exp.at’17), jun. de 2017, págs. 196-201. doi: 10.1109/EXPAT.2017.7984365. [7] C. Terkowsky, C. Pleul, I. Jahnke y A. E. Tekkaya, ((Platform for e-Learning and Telemetric Experimentation (PeTEX). Tele-operated laboratories for production engineering education)), en 2011 IEEE Global Engineering Education Conference (EDUCON), abr. de 2011, págs. 491-497. doi: 10.1109/EDUCON.2011.5773181. [8] M. Kalúz, J. Garcı́a-Zubı́a, M. Fikar y Ľ. Čirka, ((A Flexible and Configurable Architecture for Automatic Control Remote Laboratories)), IEEE Transactions on Learning Technologies, vol. 8, n.o 3, págs. 299-310, jul. de 2015, issn: 1939-1382. doi: 10.1109/TLT.2015.2389251. [9] A. P. J. Chandra y C. R. Venugopal, ((Novel Design Solutions for Remote Access, Acquire and Control of Laboratory Experiments on DC Machines)), IEEE Transactions on Instrumentation and Measurement, vol. 61, n.o 2, págs. 349-357, feb. de 2012, issn: 0018-9456. doi: 10.1109/ TIM.2011.2164291. [10] W. Hu, G. P. Liu y H. Zhou, ((Web-Based 3-D Control Laboratory for Remote Real-Time Ex- perimentation)), IEEE Transactions on Industrial Electronics, vol. 60, n.o 10, págs. 4673-4682, oct. de 2013, issn: 0278-0046. doi: 10.1109/TIE.2012.2208440. [11] R. J. Costa, G. R. Alves y M. Zenha-Rela, ((Reconfigurable IEEE1451-FPGA based weblab infrastructure)), en 2012 9th International Conference on Remote Engineering and Virtual Ins- trumentation (REV), jul. de 2012, págs. 1-9. doi: 10.1109/REV.2012.6293107. 29
  • 33. 9.Anexos Código ejemplo página HTML Figura 9.1: Código página HTML Figura 9.2: Código página HTML Código Central de funcionamiento 30
  • 34. CAPÍTULO 9. ANEXOS 31 Figura 9.3: Código central para funcionamiento Figura 9.4: Código central para funcionamiento
  • 35. CAPÍTULO 9. ANEXOS 32 Código entradas y salidas digitales Figura 9.5: Código definición entradas y salidas digitales Código Conversor ADC Figura 9.6: Código Conversor ADC
  • 36. CAPÍTULO 9. ANEXOS 33 Figura 9.7: Código Conversor ADC Código comunicación con ATMEGA328 Figura 9.8: Código comunicación con ATMEGA328
  • 37. CAPÍTULO 9. ANEXOS 34 Figura 9.9: Código comunicación con ATMEGA328 Código definición de constantes Figura 9.10: Código definición de constantes