Diseño e Implementación de Un Osciloscopio Digital de Un Canal Utilizando Tecnología de Sistemas Embebidos Soc Esp32
Diseño e Implementación de Un Osciloscopio Digital de Un Canal Utilizando Tecnología de Sistemas Embebidos Soc Esp32
PRESENTADO POR:
INGENIERO ELECTRICISTA
RECTOR:
SECRETARIO GENERAL:
DECANO:
SECRETARIO:
DIRECTOR INTERINO:
INGENIERO ELECTRICISTA
Titulo:
Presentado por:
Docente Asesor:
Docente Asesor:
ARIEL RIVERA
AGRADECIMIENTOS
Primero que nada, quiero agradecer a Dios todo poderoso por haberme dado la fuerza,
determinación y sabiduría necesaria en cada momento difícil que he tenido que afrontar
para culminar esta etapa de mi vida y las que vengan.
A mi madre y mi padre, por todo su esfuerzo para poder darme la oportunidad de superarme
y brindarme el apoyo y consejos para ser mejor cada día, que a pesar de que no estén cerca
de mi pienso en ellos y me siento agradecido, así como por su apoyo económico a lo largo
de mis estudios, sin ellos me hubiese sido imposible.
A mis hermanos, por el amor y apoyo fraternal que me siempre me han brindado.
A mi abuelita Marta del Carmen Pacheco, por estar siempre orgullosa de todos sus nietos,
incluyéndome y a mi abuelito Don Toño Ruballo por siempre apoyarme de pequeño y darme
lecciones que, aunque fueron duras ayudaron a forjar quien soy actualmente.
Al resto de mi familia, por hacerme sentir orgulloso y sentir la necesidad de no rendirme
para que se sientan orgullosos.
A Briseyda Saraí Vásquez Hernández, por brindarme apoyo todos estos años, tanto en
buenos momentos como en malos momentos, por hacer sacar lo mejor de mi día a día y
darme más deseos de mejorar.
A los compañeros y amigos que hice en la FIA y la EIE, por todo lo que hemos vivido y
compartido juntos, así como el apoyo mutuo en nuestros estudios.
A mi compañero de tesis, Bairon Sensente por apoyarme en el ámbito profesional y ser un
gran compañero a lo largo de estos años en la facultad.
A todos los profesores que aportaron conocimiento a mi formación a lo largo de mis
estudios, en especial a quien fue mi maestra de matemáticas María Dolores Lara a quien
recuerdo con cariño.
A mi tía Luz Mejía y a mi abuelo Jesús Mejía por apoyarme en estos años.
A la Universidad de El Salvador, por ser el alma mater donde finalice mi sueño de estudiar
ingeniería, así como por ser como mi hogar estos últimos años.
A los catedráticos de la FIA, en especial a los de la EIE, por darme la educación que define
la calidad de la Universidad de El Salvador y que me ayudara a crecer profesionalmente en
esta carrera que apenas está comenzando.
A Juancito y Don Posada por el apoyo brindado en los laboratorios de la EIE, y a Reina
por el apoyo que nos han brindado en la EIE.
A nuestro asesor de tesis, Dr. Carlos Martínez, por el apoyo y el conocimiento brindado
durante esta última etapa y por creer en nosotros.
ARIEL RIVERA
DEDICATORIA
BAIRON SENSENTE
AGRADECIMIENTOS
Primero que nada, quiero agradecer a DIOS todo poderoso por haberme dado la fuerza y
determinación necesaria en cada momento difícil que he tenido que afrontar para culminar
esta etapa de mi vida y las que vengan.
A mi madre y mi padre, por haberme dado la oportunidad de irme a estudiar lejos a pesar
de sus preocupaciones, así como por su apoyo económico a lo largo de mis estudios, sin
ellos me hubiese sido imposible.
A mis hermanos, por el amor fraternal que me siempre me han brindado.
A mi tía Sonia Sánchez, por haberme apoyado desde tan lejos con sus consejos y por ser
como una segunda madre.
A mis tíos Nelson Sánchez y Reina Isabel por todos sus consejos y por haber sido una
parte importante desde mi niñez.
A mi abuelita Vilma Mejía, por estar siempre orgullosa de todos sus nietos, incluyéndome.
Al resto de mi familia, por hacerme sentir orgulloso y sentir la necesidad de no rendirme
para que se sientan orgullosos.
A todos mis amigos, los de la escuela, los del pueblo donde vivo, los del bachillerato, etc.
Porque con ellos he vivido los mejores momentos, desde los más felices a los más difíciles.
En especial a Ernesto Peña, Luis Ayala, Kevin Figueroa, Jorge Moran y Moris Gómez,
por ser los amigos que siempre me han dado su apoyo a pesar que el tiempo y la distancia
nos separen.
A los compañeros y amigos que hice en la FIA y la EIE, por todo lo que hemos vivido y
compartido juntos, así como el apoyo mutuo en nuestros estudios.
A mi compañero de tesis, Ariel Rivera por haber decidido trabajar juntos en este último
desafío de nuestra carrera.
A niña Tita y a Nina, por el aprecio que me han tenido y el apoyo que me han brindado en
mi estadía en San Salvador.
A mis primos Alirio Moran, Andrea Moran y también a Oscar Peralta, por haber sido una
influencia y un ejemplo a seguir en mi decisión de estudiar Ingeniería Eléctrica.
A todos los profesores que aportaron conocimiento a mi formación a lo largo de mis
estudios, en especial a quien fue mi maestra Marta Castro a quien recuerdo con cariño.
A la Universidad de El Salvador, por ser el alma mater donde finalice mi sueño de
estudiar ingeniería, así como por ser como mi hogar estos últimos años.
A los catedráticos de la FIA, en especial a los de la EIE, por darme la educación que
define la calidad de la Universidad de El Salvador.
A Juancito, Posada y Reina, por el apoyo que nos han brindado en la EIE.
A nuestro asesor de tesis, Dr. Carlos Martínez, por el apoyo y el conocimiento brindado
durante esta última etapa y por creer en nosotros.
BAIRON SENSENTE
Contenido
CAPÍTULO I: GENERALIDADES ............................................................................................................. 1
1.1. Introducción. ............................................................................................................................ 1
1.2. Antecedentes ........................................................................................................................... 1
1.3. Objetivos. ................................................................................................................................. 2
1.3.1. Objetivo general. ............................................................................................................... 2
1.3.2. Objetivos específicos. ........................................................................................................ 2
1.4. Planteamiento del problema. .................................................................................................. 2
1.5. Justificación. ............................................................................................................................. 2
1.6. Alcances y limitaciones. ........................................................................................................... 3
1.6.1. Alcances............................................................................................................................. 3
1.6.2. Limitaciones. ..................................................................................................................... 3
1.7. Metodología de la investigación y diseño. ............................................................................... 3
CAPÍTULO 2: DISEÑO. .......................................................................................................................... 4
2.1. Diseño de la etapa de tratamiento y acondicionamiento de la señal analógica. .................... 5
2.1.1 Subetapa de seguidor de tensión........................................................................................... 6
2.1.2. Subetapa de control de amplitud...................................................................................... 7
2.1.3. Subetapa de componente DC. .......................................................................................... 9
2.1.4 Subetapa de sumador inversor. ....................................................................................... 10
2.2. Configuración de la etapa de conversión analógico a digital (ADC)................................... 11
2.2.1 subetapa de búfer de datos (Opcional)............................................................................ 12
2.3. Diseño de la configuración mínima del ESP32. ...................................................................... 13
2.3.1 Diseño del circuito de alimentación. ................................................................................ 13
2.3.2 pulsadores de Reset y modo flash. .................................................................................. 14
2.4. Diseño de la configuración de la pantalla. ............................................................................. 14
2.5. Integración de las etapas al ESP32. ........................................................................................ 15
2.6. Diseño de la PCB. .................................................................................................................... 17
CAPÍTULO 3: IMPLEMENTACION DEL PROTOTIPO. ........................................................................... 19
3.1. Vista general del prototipo. ................................................................................................... 19
3.2. Vista de las etapas del prototipo............................................................................................ 20
3.2.1. Etapa de entrada analógica. ............................................................................................ 20
3.2.2. Etapa del ADC. ................................................................................................................. 20
3.2.3. ESP32. .............................................................................................................................. 21
3.2.4. Pantalla. ........................................................................................................................... 21
3.3. Resultados de las pruebas. ..................................................................................................... 22
3.3.1. Onda Sinusoidal. .............................................................................................................. 22
3.3.2. Onda Cuadrada................................................................................................................ 23
3.3.3. Onda diente de sierra. ..................................................................................................... 24
3.4. Cálculo del límite de muestreo. ............................................................................................. 25
3.5. implementación en la PCB. ........................................................................................................ 25
3.6. Costos de la placa. .................................................................................................................. 26
3.7. Respuesta en frecuencia. ....................................................................................................... 27
3.8. Especificaciones técnicas. ...................................................................................................... 27
3.9. Comparación de otros dispositivos en el mercado. ............................................................... 28
CAPÍTULO 4: DESARROLLO DEL SOFTWARE. ..................................................................................... 29
4.1. Muestreo de datos. ................................................................................................................ 29
4.2. Procesamiento de datos......................................................................................................... 33
CAPITULO 5: CONCLUSIONES Y LÍNEA FUTURA. ............................................................................... 36
5.1. Conclusiones........................................................................................................................... 36
5.2. Líneas Futuras. ....................................................................................................................... 36
REFERENCIAS BIBLIOGRÁFICAS. ........................................................................................................ 38
ANEXOS. ............................................................................................................................................ 40
A1. Amplificadores operación. ...................................................................................................... 40
A1.1. Seguidor de tensión. ........................................................................................................ 40
A1.2. Amplificador inversor....................................................................................................... 40
A1.3. Sumador. .......................................................................................................................... 41
A2. Muestreo de señales analógicas. ............................................................................................ 41
A2.1. Muestreo con tren de impulsos ....................................................................................... 42
A3. Convertidores analógico digitales (ADC)................................................................................. 43
A3.1. Circuito de aplicación de la hoja de datos del ADC10080................................................ 44
A4. Normas IPC.............................................................................................................................. 45
A5. Elementos SMD. ...................................................................................................................... 45
A5.1. Ventajas de los elementos SMD vs los elementos de agujero pasante. .......................... 45
A5.2. Desventajas de los elementos SMD vs los elementos de agujero pasante. .................... 46
TABLA DE ILUSTRACIONES
Figura 1: Esquema de las etapas principales. ..................................................................................... 5
Figura 2: Esquema de las subetapas de la etapa de acondicionamiento de la señal. ........................ 6
Figura 3: Seguidor de tensión (entrada con alta impedancia con AD744JN). ..................................... 7
Figura 4: Amplificador inversor (Control de ganancia de la señal). .................................................... 8
Figura 5: Seguidor de tensión (Control del OFFSET de la señal de entrada). ...................................... 9
Figura 6: Amplificador sumador inversor (suma el OFFSET y la señal amplificada.) ........................ 10
Figura 7: configuración del convertidor analógico-digital. ............................................................... 12
Figura 8: configuración del FIFO........................................................................................................ 12
Figura 9: configuración mínima del ESP32. ....................................................................................... 13
Figura 10: Circuito de alimentación. ................................................................................................. 13
Figura 11: pulsadores RESET y FLASH................................................................................................ 14
Figura 12: Pinout de la pantalla LCD. ................................................................................................ 14
Figura 13: diagrama de conexiones completo de todas las etapas del osciloscopio. ....................... 16
Figura 14: diseño de la PCB en las versiones a) Osciloscopio con ADC externo, b) Osciloscopio con
ADC externo y FIFO. .......................................................................................................................... 18
Figura 15: prototipo armado en protoboard. ................................................................................... 19
Figura 16: etapas de acondicionamiento de la señal armado en protoboard. ................................. 20
Figura 17: etapa de conversión analógico digital armada en protoboard. ....................................... 20
Figura 18: Foto de la placa de desarrollo ESP32-S2-SOALA. ............................................................. 21
Figura 19: Foto del display. ............................................................................................................... 21
Figura 20: Muestreo de una señal sinusoidal a) 100 kHz b) 500 kHz c) 1 MHz d) 2 MHz. ................ 23
Figura 21: Muestreo de una señal cuadrada a) 100 kHz b) 500 kHz c) 1 MHz d) 2 MHz. ................. 24
Figura 22: Muestreo de una señal diente de sierra. ......................................................................... 24
Figura 23: imagen del generador de señales configurado para generar la señal cuadrada que se
muestrea en la Figura 18. .................................................................................................................. 25
Figura 24: imagen del generador de señales conectado al instrumento. ......................................... 26
Figura 25: Diagrama de bode de la subetapa del seguidor de tensión de la señal........................... 27
Figura 26: flujograma del proceso principal...................................................................................... 29
Figura 27: Función captura(), la cual se encarga de muestrear los datos. ........................................ 30
Figura 28: función que lee el registro de pines de entradas y salidas del MCU [20]. ....................... 30
Figura 29: función datos() encargada de convertir lo que retorna la función captura() a un número
binario. .............................................................................................................................................. 31
Figura 30: Flujograma del subproceso de muestreo de la señal....................................................... 32
Figura 32: función graficar(). ............................................................................................................. 34
Figura 31: Flujograma del subproceso de procesamiento de datos y representación gráfica de la
señal. ................................................................................................................................................. 35
Figura A1: amplificador operacional conectado como seguidor de tensión. [5] .............................. 40
Figura A2: amplificador operacional conectado como un amplificador inversor. [6] ...................... 41
Figura A3: amplificador operacional conectado como un sumador ponderado. [8]. ....................... 41
Figura A4. señal continua en el tiempo. [18] .................................................................................... 42
Figura A5. señal de muestreo, tren de impulsos. [18] ...................................................................... 42
Figura A6. multiplicación de las señales 𝑥(𝑡) y 𝑝(𝑡) [18] ................................................................... 42
Figura A7. señal 𝑥𝑝(𝑡) discreta en el dominio del tiempo. [18] ........................................................ 43
Figura A8. señal cuantificada en pasos en bits. [19] ......................................................................... 43
Figura A9. diagrama de bloques de un ADC. [19] ............................................................................. 43
Figura A10. tabla de verdad para un ADC con dos tensiones de referencia. [10] ............................ 44
Figura A10. Circuito de referencia para aplicaciones en instrumentación según la hoja de datos del
ADC10080. [10] ................................................................................................................................. 44
CAPÍTULO I: GENERALIDADES
1.1. Introducción.
El osciloscopio digital o comúnmente llamado también oscilógrafo digital es un instrumento
que recibe una señal analógica, la muestrea, la codifica y la procesa para su posterior
visualización en una pantalla. Nos permite visualizar la amplitud de una señal eléctrica en
función del tiempo, otorgándonos la posibilidad de obtener otros datos como lo son la
frecuencia, periodo, valores RMS, entre otros, así como también nos permite analizar el
comportamiento de la señal para ver su forma de onda.
Un osciloscopio es importante tanto de manera didáctica para el área académica, como
una herramienta para el área comercial e industrial. Son utilizados mayormente para el
análisis de señales o análisis de circuitos electrónicos. Son necesarios en algunas escuelas,
colegios, universidades, talleres especializados en reparación de automóviles, técnicos
dedicados a reparación o mantenimiento de dispositivos electrónicos, profesionales de las
telecomunicaciones, etc.
Este trabajo de graduación consiste en el diseño y la posterior implementación de un
osciloscopio de laboratorio de sistemas eléctricos y señales, se espera que sea capaz de
muestrear señales a una tasa de aproximadamente 16 millones de muestras por segundo
(MSPS) haciendo uso de un convertidor analógico digital (ADC), para luego procesar dicha
señal digital con el circuito integrado System on Chip (SoC) ESP32, para finalmente poder
visualizarla en una interfaz gráfica en una pantalla LCD.
El diseño está fundamentado, en un osciloscopio utilizando la placa de desarrollado
Arduino, para la materia proyecto de ingeniería eléctrica (PIR115). Fue diseñado en base a
la investigación sobre los procesos de tratamiento de la señal, electrónica, sistemas
embebidos y lenguajes de programación involucrados en cada una de las etapas de dicho
instrumento.
1.2. Antecedentes
Un osciloscopio digital es un instrumento que recibe una señal analógica, la muestrea, la
codifica y la procesa para su posterior análisis en una pantalla, en la escuela de ingeniería
eléctrica de la Universidad de El Salvador, se han desarrollado dos trabajos que, aunque
cumplen con características similares, fueron desarrollados con diferentes fines o para un
caso en específico, estos trabajos los siguientes:
En el año 2007, un prototipo de equipo para actualizar un tablero de trabajo modelo PB-
503 de GLOBAL SPECIALTIES, añadiéndole un osciloscopio virtual, un generador de señales
virtual, un multímetro virtual y una fuente bipolar de ±12 V ajustable, cuyo resultado fue la
implementación de un osciloscopio cuya máxima frecuencia de muestreo fue de 1.0 KSPS
con un Vpp máximo de 12 V y una resolución de 8 bits [1].
1
En el año 2021, un osciloscopio digital utilizando Arduino, el cual es capaz de muestrear una
señal a una velocidad de 5 MSPS [2].
1.3. Objetivos.
1.3.1. Objetivo general.
Diseñar y construir un osciloscopio de un canal, basado en un sistema embebido,
utilizando la tecnología Soc. para aplicaciones en laboratorio relacionados en sistemas
eléctricos y calidad de energía.
1.5. Justificación.
El desarrollo de este trabajo podría ser de utilidad de manera didáctica en el futuro, ya sea
para ser replicado y ampliar los recursos de la escuela de ingeniería eléctrica y resolviendo
el problema de escasez de equipo, para su utilización en colegios y escuelas, o para futuros
trabajos de graduación donde puedan ampliarse las características de dicho instrumento
para obtener mejores o mayores beneficios.
2
1.6. Alcances y limitaciones.
1.6.1. Alcances.
Este trabajo tiene como finalidad el desarrollo de un osciloscopio funcional de un canal,
implementando en cada una de las etapas que lo conforman, elementos electrónicos, SoC,
PCB y programación, para crear un sistema embebido que logre tal finalidad; limitándose al
uso de código abierto e información acerca de osciloscopios digitales. Haciendo uso de la
tecnología SoC el instrumento será capaz de procesar señales de hasta aproximadamente 4
MHZ, la señal será codificada previamente por una etapa de conversión analógico-digital
capaz de muestrear una señal a 80 millones de muestras por segundo (MSPS), con una
resolución de 10 Bits, la cual recibirá una señal previamente acondicionada de las etapas de
entrada analógica, las cuales serán capaz de soportar un nivel de tensión desde 0 Vpp a 340
Vpp. Además, se espera hacer uso de la capacidad de memoria flash de 4MB, y
almacenamiento de datos externos con memoria SD del SoC, para posible análisis FFT de
las señales por medio de programas adicionales por computadora.
1.6.2. Limitaciones.
● La necesidad de importar elementos electrónicos del extranjero, debido a la falta de
elementos implicados en el diseño sin existencia en el país.
● Falta de equipo para la construcción de una placa PCB de calidad profesional, para
este tipo de instrumentos, siendo necesario recurrir a alguna empresa que supla esta
necesidad ya sea en el país o en el extranjero.
● Falta del equipo para verificar que el instrumento cumple con los requerimientos de
normas de protección y de aislamiento eléctrico.
● La velocidad de procesamiento del ESP32 podría no ser suficiente para procesar las
80 MSPS del ADC, haciendo que el ancho de banda teórico se vea limitado por el
ESP32.
● La precisión de los componentes involucrados en el diseño del instrumento.
1.7. Metodología de la investigación y diseño.
Este trabajo busca lograr los objetivos realizando una investigación previa sobre las etapas
que se ven involucradas en el diseño de un osciloscopio, tomando como base libros de
texto, normas, fichas técnicas, además de retroalimentar contenido de otros trabajos
similares, y apoyarse en material académico impartido en la carrera de ingeniería eléctrica.
Luego en el capítulo 2 se procederá a realizar el diseño de cada una de las etapas que
conformaran el instrumento así como escoger los valores de los componentes de cada una
de ellas, en el capítulo 3 se muestra la implementación del diseño visto en el capítulo 2 en
protoboard y en PCB además de pruebas experimentales con el fin de comprobar la
calidad, el funcionamiento y el rendimiento del dispositivo, en el capítulo 4 se muestra el
desarrollo del software que se implementó en el SoC ESP32 para su funcionamiento y
finalmente en el capítulo 5 se abordan las conclusiones y línea futura para este trabajo.
3
CAPÍTULO 2: DISEÑO.
En este capítulo se muestra el diseño de cada una de las etapas necesarias para el
funcionamiento de este instrumento; entre las cuales comprende 4 etapas principales [3]
que son:
Esta etapa es la que se encargara de convertir la señal analógica a una señal digital
de 10 bits.
Además de las etapas principales, son necesarias 2 etapas secundarias las cuales son las
siguientes:
Esta etapa comprende de dos pulsadores en configuración pull-up para que el esp32
entre en modo flash y reset.
4
Figura 1: Esquema de las etapas principales.
Finalmente, todas las etapas serán integradas en un solo circuito y se diseñara la PCB.
5
• Subetapa de componente DC.
Esta subetapa nos ayudara a generar una tensión negativa que varía entre 0 y -6V
para posteriormente sumarla en la última subetapa a la señal del amplificador
inversor, lo que nos ayudara controlar el offset de la señal de interés. Es una
subetapa conformada por una resistencia y un potenciómetro en una configuración
de divisor de tensión, seguido de un amp-op en configuración de seguidor de
tensión.
Esta última subetapa nos permitirá sumar la señal que viene del amplificador
inversor con la que viene del seguidor inversor de las dos subetapas anteriores e
invertirlas para obtener una señal con valores de tensión positivos. Esta subetapa
está conformada por un amp-op en configuración de sumador inversor.
6
Figura 3: Seguidor de tensión (entrada con alta impedancia con AD744JN).
𝑣𝑖𝑛1 = 𝑣𝑖𝑛2
Donde:
𝑣𝑖𝑛1 : señal a la entrada del seguidor de tensión.
𝑣𝑖𝑛2 : señal a la salida del seguidor de tensión.
Para esta subetapa, al ser un seguidor de tensión, la señal a la entrada será igual al de la
salida, los valores de los elementos de esta configuración se tomaron según la referencia a
la hoja de datos del AD744JNZ.
7
Figura 4: Amplificador inversor (Control de ganancia de la señal).
Análisis del circuito:
𝑅4 = 𝑅5 = 5 𝐾𝛺
R 4 + R A1
𝑣in3 = 𝑣
R 5 + R A2 in2
R A2 = 20K − R A1
R 𝟒 + R A1
𝑣in3 = − 𝑣
R 𝟓 + 20K − R A1 in2
donde 0 KΩ < R A1 < 20 KΩ
𝑉 𝑣 1 𝑉
Por lo que −5 < 𝑣in3 < − 5
𝑉 in2 𝑉
Donde:
R A1 : resistencia entre PA2 y PA3.
𝑅𝐴2 : resistencia entre PA1 y PA2.
𝑣𝑖𝑛2 : señal a la entrada del amplificador inversor.
𝑣𝑖𝑛3 : señal a la salida del amplificador inversor.
𝑣in3
: Ganancia de la etapa del amplificador inversor.
𝑣in2
Para esta subetapa, al ser un amplificador inversor, la señal a la salida será afectada por una
ganancia negativa que estará en el rango de un valor máximo y un valor mínimo definido
por los valores que tomen R4 Y R5 y el valor del potenciómetro o RA1, en este caso los
valores de R4 y R5 fueron elegidos de 5KΩ y para el potenciómetro los valores que puede
tomar RA1 son desde 0 a 20KΩ, con el fin que la ganancia se mantenga entre los rangos de
-1/5 V/V y -5 V/V.
8
Los valores de C10 y C11 son para filtrar pequeñas señales o ruido que puedan afectar la
polarización del amp-op y pueden ser de 10nF.
9
voffset : tensión a la salida del seguidor de tensión o tensión de offset.
R 4 + R A1
𝑣𝑖𝑛3 = − 𝑣
R 5 + 20K − R A1 in1
10 KΩ − R B1
voffset = (−12 V)
R 7 + R B1
10
R 4 + R A1 10 KΩ − R B1
vout = − (− 𝑣in1 + (−12 V) )
R 5 + 20K − R A1 R 7 + R B1
𝑅4 + 𝑅𝐴1 10 𝐾𝛺 − 𝑅𝐵1
𝑣𝑜𝑢𝑡 = 𝑣𝑖𝑛1 + (12 𝑉)
𝑅5 + 20𝐾 − 𝑅𝐴1 𝑅7 + 𝑅𝐵1
ó
Donde:
𝑣𝑖𝑛3 : señal a la salida del amplificador inversor.
voffset : tensión a la salida del seguidor de tensión o tensión de offset.
𝑣𝑜𝑢𝑡 : Señal a la salida de la etapa de la etapa de tratamiento y acondicionamiento de la
señal analógica.
11
La configuración de esta etapa la podemos visualizar en la Figura 7.
12
2.3. Diseño de la configuración mínima del ESP32.
El SoC ESP32 que será la base de este osciloscopio, debe tener para su funcionamiento, un
circuito de alimentación que le permita operar adecuadamente, además de un circuito
que nos permita activar el modo de flasheo para poder acceder para cargar el binario
previamente programado y compilado, que ejecutará los procesos requeridos y también
hacer el Reset para reiniciar su ejecución, la configuración de esta etapa [12] seria tal
como se puede observar en la Figura 9.
13
2.3.2 pulsadores de Reset y modo flash.
Utilizamos un pulsador en configuración Pull-Up, con el propósito que cuando el
interruptor está abierto, el voltaje de la entrada del pin de Reset o flash se encuentre a
una tensión de 3.3 V. Cuando el interruptor está cerrado, el voltaje de la entrada del pin
Reset o flash va a tierra, los circuitos que conforman esta etapa se muestran en la Figura
11.
Función del pulsador Reset: al accionarlo, reinicia la ejecución de las instrucciones que se
encuentra ejecutando en el SoC.
Función del pulsador flash: al accionarlo, permite entrar en modo flash, permite modificar
las instrucciones que se encuentran en el SoC.
14
2.5. Integración de las etapas al ESP32.
Luego de haber diseñado las etapas que conformarán el Osciloscopio, estas deben
integrarse, para conformar un solo sistema embebido, tal y como se observa en la Figura
13.
15
.
Figura 13: diagrama de conexiones completo de todas las etapas del osciloscopio.
16
2.6. Diseño de la PCB.
Para el diseño de la PCB se utilizaron los estándares de clase 2 especificado en la norma
IPC 6011 [15], Puesto que un osciloscopio es de uso general en un laboratorio de
electrónica, se pondrá a disposición para su funcionamiento cubriendo jornadas de
estudio y de laboratorio, por lo que el dispositivo electrónico debe de ser de buena
calidad, VÉASE EL ANEXO A4.
Se toma a consideración diseñar una PCB, sin FIFO (la cual será el diseño final para
implementar) y una con FIFO (como referencia), tal como se observa en las Figuras 14 a) y
14 b) respectivamente.
a)
17
b)
Figura 14: diseño de la PCB en las versiones a) Osciloscopio con ADC externo, b) Osciloscopio con ADC externo y FIFO.
18
CAPÍTULO 3: IMPLEMENTACION DEL PROTOTIPO.
En este capítulo, se muestra la implementación de cada una de las etapas ensambladas en
protoboard y las pruebas realizadas con 3 distintas formas de onda a distintas frecuencias,
el cálculo del número de muestras aproximado que este puede alcanzar.
Además, se muestra la implementación del diseño en PCB y los resultados obtenidos, una
comparativa del osciloscopio desarrollado en la presente tesis frente a otros osciloscopios
que hay disponibles en el mercado y una tabla de costos para construir el osciloscopio.
19
3.2. Vista de las etapas del prototipo.
Para el desarrollo y armado del prototipo se decidió trabajarlo en protoboard, por la
facilidad de armado y realización de pruebas en él.
20
3.2.3. ESP32.
Para el ESP32 se utilizó la placa de desarrollo ESP32-S2-SOALA, la cual cuenta con el ESP32-
S2-WROOM el cual es el que se utilizara para instrumento final.
Podemos observar una imagen de esta placa de desarrollo en la Figura 18.
3.2.4. Pantalla.
La pantalla que se escogió es un display TFT LCD de 3.5” con una resolución de 480x320
Pixeles, su comunicación es vía SPI y la comunicación es rápida con el ESP32 es rápida
debido a que cuenta con pines específicos para un bus de Hardware SPI (HSPI).
Podemos observar una imagen del display en la Figura 19.
21
3.3. Resultados de las pruebas.
Para las pruebas se utilizó el generador de señales Agilent 33210A disponible en los
laboratorios de la Escuela de ingeniería eléctrica de la Universidad de El Salvador.
El procedimiento fue el siguiente: se conectó la entrada del convertidor analógico digital al
generador de ondas, los tipos de ondas con los que se hicieron pruebas fueron la onda seno,
la onda cuadrada y la forma de onda dientes de sierra, la configuración de del generador de
señales fue la siguiente:
• VOFFSET = 1.4 V
• Vp-p = 1.0 V
• Muestreo de una señal sinusoidal a 100 kHz, 500 kHz, 1 MHz y 2 MHz.
• Muestreo de una señal cuadrada a 100 kHz, 500 kHz, 1 MHz y 2 MHz.
• Muestreo de una señal diente de sierra a 100 kHz (debido a que esa es la
frecuencia máxima que el generador de señales puede generar este tipo de ondas).
22
a) b)
c) d)
Figura 20: Muestreo de una señal sinusoidal a) 100 kHz b) 500 kHz c) 1 MHz d) 2 MHz.
23
a) b)
c) d)
Figura 21: Muestreo de una señal cuadrada a) 100 kHz b) 500 kHz c) 1 MHz d) 2 MHz.
24
3.4. Cálculo del límite de muestreo.
Tras las pruebas realizadas en el prototipo se obtuvo que en 25 μs se obtuvieron 400
nuestras, por lo que en un segundo se obtendrían la siguiente cantidad de muestras:
(1000000 𝜇𝑠)(400 𝑚𝑢𝑒𝑠𝑡𝑟𝑎𝑠)
𝑡𝑎𝑠𝑎 𝑑𝑒 𝑚𝑢𝑒𝑠𝑡𝑟𝑒𝑜 = = 16.00𝑥106 𝑚𝑢𝑒𝑠𝑡𝑎𝑠
25 𝜇𝑠
Por lo que se concluye que el prototipo puede muestrear a una tasa de 16.00 MSPS.
Los 25 μs se obtuvieron mediante unos parámetros en el código del osciloscopio, se puso
una marca de tiempo 𝑡0 al inicio del muestreo y 𝑡𝑓 al final del muestreo de datos, y en este
subproceso de 400 muestras se obtienen un tiempo mediante:
𝑡𝑠𝑎𝑚𝑝𝑙𝑒 = 𝑡𝑓 − 𝑡0
Según el teorema de Nyquist la frecuencia mínima para muestrear una señal debe de ser el
doble de la señal, por lo que para que la forma de la onda muestreada se distinga la tasa de
muestreo debe de ser 10 veces o más, por lo que se puede muestrear una señal de 1 MHz
como se muestra en la Figura 23.
Figura 23: imagen del generador de señales configurado para generar la señal cuadrada que se muestrea en la Figura 18.
25
Figura 24: imagen del generador de señales conectado al instrumento.
26
1 ESP32-S2-WROOM $ 7.87 $ 7.87
1 Manufacturación de PCB $ 4.27 $ 4.27
1 Display TFT 3.5" $ 12.71 $ 12.71
TOTAL $ 37.31
Tabla 1: presupuesto del proyecto.
-2
-4
-6
-8
-10
-12
Av(dB)
27
3.9. Comparación de otros dispositivos en el mercado.
La tabla 3 compara las características técnicas del instrumento construido para este
trabajo de graduación, así como el realizado en proyecto de ingeniería, y col compara
también con 2 modelos comerciales encontrados en la web.
Se observa que en varios aspectos el desarrollado e implementado en este trabajo es
superior en varios aspectos respecto a los encontrados en los otros modelos comerciales.
Características LowCostScope LowCostScope FNIRSI-138 FNIRSI-150 Unidades
v1.0 v2.0 Pro
Vpp 20.0 20.0 40 50 V
Tasa de Muestro 5.0 16.0 2.5 1.0 MSPS
Ancho de banda 1x106 2x106 0.2x106 0.2x106 Hz
Frecuencia máxima de 0.5 2.0 0.1 0.1 MHz
muestreo
Numero de muestras 250 400 320 230 Muestras
Pantalla 2.2 3.5 2.2 2.2 pulgadas
Tabla 3: Tabla comparativa de especificaciones.
28
CAPÍTULO 4: DESARROLLO DEL SOFTWARE.
Este capítulo comprende la explicación del algoritmo o flujo de procesos con el que se
puede programar el ESP32 para realizar la función de osciloscopio.
Para el desarrollo del software del osciloscopio se tomó en cuenta la arquitectura del ESP32
para la obtención de datos y realizar el muestreo, también se hizo un estudio previo de las
librerías disponibles del controlador de la pantalla que son compatibles con el ESP32.
En resumidas cuentas, el programa consiste en la inicialización de la configuración del bus
de comunicación de la pantalla, la asignación de pines de entrada del ESP32 y declaración
de variables, para después ejecutar dos subprocesos en bucle como programa principal,
podemos observar el flujograma del proceso principal en la Figura 26.
29
debido a que en el display utilizado solamente hemos reservado un espacio de 400 pixeles
en el eje horizontal y 320 pixeles en el eje vertical.
void captura()
{
Registro[0]=GPIO_REG_READ(GPIO_IN_REG);
Registro[1]=GPIO_REG_READ(GPIO_IN_REG);
Registro[2]=GPIO_REG_READ(GPIO_IN_REG);
Registro[3]=GPIO_REG_READ(GPIO_IN_REG);
……
Registro[395]=GPIO_REG_READ(GPIO_IN_REG);
Registro[396]=GPIO_REG_READ(GPIO_IN_REG);
Registro[397]=GPIO_REG_READ(GPIO_IN_REG);
Registro[398]=GPIO_REG_READ(GPIO_IN_REG);
Registro[399]=GPIO_REG_READ(GPIO_IN_REG);
}
Figura 27: Función captura(), la cual se encarga de muestrear los datos.
La instrucción:
GPIO_REG_READ(GPIO_IN_REG);
Figura 28: función que lee el registro de pines de entradas y salidas del MCU [20].
Lo que realiza es la lectura del registro de las GPIOs (General Porpuse Input Output) del
MCU, lo que devuelve en si es un numero entero equivalente al número binario que se
forma con las GPIOs, siendo el bit menos significativo el GPIO0 y el bit más significativo
GPIO31.
Pero estas muestras son datos en bruto, estos datos deben de tratarse para ser
interpretados de forma correcta, en pocas palabras es un registro del ESP32, a este se le
deben de extraer los bits GPIO 1 hasta el GPIO 10 (los cuales son los asignados para
muestrear) que es donde se lee la salida del ADC y de esta manera al ver el estado de cada
bit equivalente del ADC poder convertirlo en un decimal que es de nuestro interés, y de esta
forma mapearlo para que tome valores entre 0 y 400 mediante una estructura repetitiva
for [16], y de esta forma poder ser mostrado en pantalla, podemos observar el código de
este subproceso de muestreo de la señal en la Figura 29.
30
void datos()
{
unsigned long start = micros();
captura();
ts = micros() - start;
for(int j=0;j<400;j++)
{
RegistroBin=String(Registro[j],BIN);
int n=0;
Sample[j]=0;
for(int k=0;k<11;k++)
{
char RegistroBit=RegistroBin[RegistroBin.length()-k];
if(RegistroBit=='1')
{
Sample[j]+=(pow(2,n))/2;
}
n++;
}
}
}
Figura 29: función datos() encargada de convertir lo que retorna la función captura() a un número binario.
31
Figura 30: Flujograma del subproceso de muestreo de la señal.
32
4.2. Procesamiento de datos.
Debido a que el código debe de ser lo más optimizado posible el proceso para la
representación en pantalla debe de ser rápida y clara para que no genere confusiones, por
lo que se optó en diseñar un método en el que no sea necesario reiniciar la pantalla en su
totalidad, que el reinicio de la pantalla sea implícito a la hora de graficar.
Lo que se busca con este subproceso es graficar los datos obtenidos en el subproceso
anterior, lo primero es definir el rango de pixeles que se trabajaran, dependerá de la
resolución de la pantalla (en este caso es de 480x320 pixeles), teniendo el rango de pixeles
lo que se debe de hacer es dibujar una línea negra vertical en la primera posición del eje
“x”, de esta forma estaremos reiniciando la muestra en ese eje, luego se grafica una verde
vertical, luego se estará avanzando una posición en el eje “x” hasta que se llegue a una
posición mayor a 400 dibujando una línea blanca que une dos puntos los cuales son la
muestra correspondiente al punto actual y la muestra correspondiente al punto anterior,
siempre se estarán respetando las siguientes condiciones estructuradas.
Siempre que x sea menor a 401, se estarán graficando pixeles verdes en las posiciones con
coordenada (x,y) donde “x” es la posición actual y “y” los valores 0, 79, 159, 239 y 319,
mediante una estructura de control if [17], esto es con el fin de que a medida se avance
posiciones en el eje horizontal se esté graficando líneas horizontales con un espaciamiento
de 80 pixeles para generar una rejilla y así poder visualizar las divisiones en pantalla.
Siempre que la posición en “x” sea igual a 0, 80, 160, 240 y 320, se estarán dibujando una
línea vertical verde en dichas posiciones en “x” correspondientes, de esta manera se estará
completando la rejilla que se mostrara en pantalla, lo que significa que se tendrá un arreglo
de 5x4 cuadrados con dimensión de cada cuadro de 80x80 pixeles.
Siempre que la posición en “x” sea mayor a 400, se estarán graficando pixeles rojos en las
posiciones con coordenada (x,y) donde “x” es la posición actual y “y” los valores 0, 79, 159,
239 y 319, esto es con el fin de que a medida se avance posiciones en el eje horizontal se
esté graficando líneas horizontales con un espaciamiento de 80 pixeles para generar una
rejilla y así poder visualizar las divisiones en pantalla, esto con el fin de reservar este espacio
para datos de la onda.
Siempre que la posición en “x” sea igual a 401 y 479, se estarán dibujando una línea vertical
roja en dichas posiciones en “x” correspondientes, de esta manera se estará completando
la rejilla que se mostrara en pantalla, lo que significa que se tendrá un arreglo de 1x4
cuadrados con dimensión de cada cuadro de 80x80 pixeles.
Cada validación se realizará de manera secuencial mediante una estructura de control como
lo es un lazo “for” donde el alto lo pondrá la variable de la coordenada del eje “x”, podemos
observar el flujograma del subproceso de procesamiento de datos y representación gráfica
de la señal en la Figura 31.
33
A continuación, en la Figura 32 se muestra el segmento del programa que se encarga de
graficar en pantalla la señal muestreada.
void graficar()
{
int phi=random(0, 20);
for(int xpos=0;xpos<480;xpos++)
{
gfx->drawLine(xpos+1,0,xpos+1,320,BLACK); //Borrar dato anterior
if(xpos<400)
{
gfx->drawLine(xpos,0.3125*Sample[xpos],xpos+1,0.3125*Sample[xpos+1],WHITE);
}
if(xpos<401)
{
gfx->drawPixel(xpos,0,GREEN);
gfx->drawPixel(xpos,79,GREEN);
gfx->drawPixel(xpos,159,GREEN);
gfx->drawPixel(xpos,239,GREEN);
gfx->drawPixel(xpos,319,GREEN);
}
if(xpos==0)
{
gfx->drawLine(xpos,1,xpos,319,GREEN);
}
if(xpos==80)
{
gfx->drawLine(xpos,1,xpos,319,GREEN);
}
if(xpos==160)
{
gfx->drawLine(xpos,1,xpos,319,GREEN);
}
if(xpos==240)
{
gfx->drawLine(xpos,1,xpos,319,GREEN);
}
if(xpos==320)
{
gfx->drawLine(xpos,1,xpos,319,GREEN);
}
if(xpos==400)
{
gfx->drawLine(xpos,1,xpos,319,GREEN);
}
if(xpos==401)
{
gfx->drawLine(xpos,1,xpos,319,RED);
}
if(xpos>400)
{
gfx->drawPixel(xpos,0,RED);
gfx->drawPixel(xpos,79,RED);
gfx->drawPixel(xpos,159,RED);
gfx->drawPixel(xpos,239,RED);
gfx->drawPixel(xpos,319,RED);
}
if(xpos==479)
{
gfx->drawLine(xpos,1,xpos,319,RED);
}
}
}
Figura 32: función graficar().
34
Figura 31: Flujograma del subproceso de procesamiento de datos y representación gráfica de la señal.
35
CAPITULO 5: CONCLUSIONES Y LÍNEA FUTURA.
5.1. Conclusiones.
• Los resultados fueron cercanos a los esperados pues la tasa de muestreo es de 16
MSPS y el esperado era de 20 MSPS.
• Para futuros trabajos se puede aumentar el número de canales ya sea con más
componentes o con más microcontroladores para otras aplicaciones, por ejemplo:
si se amplía este diseño a 3 canales se podría desarrollar en un analizador de
calidad energética de bajo costo.
36
• La implementación de trabajos en sistemas embebidos en la Escuela de Ingeniería
Eléctrica podría ayudar a alumnos a implementar el conocimiento en las materias
cursadas durante la carrera a la vez que se podrían desarrollar instrumentos de
bajo costo y de buena calidad que son escasos en la Escuela de Ingeniería Eléctrica.
• Este trabajo podrá ser una referencia para futuros trabajos en sistemas embebidos
donde los alumnos pongan en práctica la diversidad de conocimientos adquiridos
en las diferentes áreas que conforman la carrera de ingeniería eléctrica.
37
REFERENCIAS BIBLIOGRÁFICAS.
[1] Jose Mauricio Alcántara Balcáceres, Dimas Wilfredo Alvarenga Mármol, Ernesto Vladimir Valdez
Rivas, “Estación virtual de instrumentos para mediciones eléctricas de carácter didáctico”, en la
Universidad de El Salvador, 2007, pág. 22.
[2] Ariel Alexander Rivera Pacheco, Bairon Antonio Sensente Sánchez, “Diseño e implementación de
un osciloscopio utilizando Arduino”, en la Universidad de El Salvador, 2021.
[3] J. Oxer and H. Blemings, Practical Arduino. Berkeley, CA: Apress, 2011, p. 197.
[4] P. Horowitz and W. Hill, The art of electronics, 3rd ed. New York: Cambridge University Press,
2015, p. 233.
[5] A. Sedra, K. Smith, E. Pineda Rojas and L. Ortega, Circuitos microelectrónicos, 5th ed. México:
McGraw-Hill, 2006, pp. 79.
[6] A. Sedra, K. Smith, E. Pineda Rojas and L. Ortega, Circuitos microelectrónicos, 5th ed. México:
McGraw-Hill, 2006, pp. 68.
[7] P. Horowitz and W. Hill, The art of electronics, 3rd ed. New York: Cambridge University Press,
2015, p. 232.
[8] A. Sedra, K. Smith, E. Pineda Rojas and L. Ortega, Circuitos microelectrónicos, 5th ed. México:
McGraw-Hill, 2006, pp. 75.
[9] P. Horowitz and W. Hill, The art of electronics, 3rd ed. New York: Cambridge University Press,
2015, p. 234.
[10] "ADC10080 10-Bit, 80 MSPS, 3V, 78.6 mW A/D Converter", Ti.com, 2013. [Online]. Available:
https://www.ti.com/lit/ds/symlink/adc10080.pdf.
[11] " SN54ACT16244, 74ACT16244 16-BIT BUFFERS/LINE DRIVERS WITH 3-STATE OUTPUTS ",
Ti.com, 2013. [Online]. Available: https://www.ti.com/lit/ds/symlink/74act16244.pdf.
[15] IPC 6011, 1ra ed, Sanders Road Northbrook, Illinois, 1996, p. 1.
[16] M. Deitel y J. Deitel, Como programar en C++, 4th ed. México: PEARSON EDUCACIÓN, 2003, pp.
104.
[17] M. Deitel y J. Deitel, Como programar en C++, 4th ed. México: PEARSON EDUCACIÓN, 2003, pp.
76.
38
[18] A. Oppenheim, A. Willsky, S. Hamid Nawab, G. Mata Hernández and A. Suárez Fernández,
Señales y sistemas, 2nd ed. México: Prentice Hall, 1998, pp. 514 - 516.
[19] "Measurement Science - TU Delft OCW", TU Delft OCW, 2021. [Online]. Available:
https://ocw.tudelft.nl/courses/measurement-science/.
[20] “ESP32-S2 Technical Reference Manual”, ESP32-S2-WROOM-1, V1.0, Epressif system, 2021,
[Online]. pp. 184. Available: https://www.espressif.com/sites/default/files/documentation/esp32-
s2_technical_reference_manual_en.pdf.
[22] “LF353-N Wide Bandwidth Dual JFET Input Operational Amplifier”, LF353, Texas Instrument,
2013, [Online]. pp. 1. Available: https://www.ti.com/lit/ds/symlink/lf353-n.pdf.
39
ANEXOS.
40
Figura A2: amplificador operacional conectado como un amplificador inversor. [6]
A1.3. Sumador.
Una aplicación muy importante de la configuración inversora es el circuito sumador
ponderado en donde se tiene una resistencia 𝑅𝑓 en la ruta de alimentación, pero hay varias
señales de entrada 𝑣1, 𝑣2, 𝑣3, …, 𝑣𝑛, cada una de ellas aplicada a una resistencia
respectivamente 𝑅1, 𝑅2, 𝑅3, …, 𝑅𝑛, conectadas al terminal de entrada inversora del
amplificador operacional [8] como se muestra en la Figura A3.
Para lograr representar una señal continua en el tiempo con un grupo de muestras
discretas, es necesario que dichas muestras se encuentren lo suficientemente próximas
unas de otras respecto a la frecuencia más alta, esto nos permite que la señal pueda ser
recuperada, esto se conoce como teorema del muestreo de Nyquist.
Definimos una señal de muestreo 𝑝(𝑡) con un periodo de muestreo 𝑇 y con frecuencia
fundamental 𝜔𝑠= 2𝜋𝑇 como se muestra en la Figura A5.
obtenemos una nueva señal discreta en el dominio del tiempo 𝑥𝑝(𝑡)= 𝑥(𝑡)𝑝(𝑡) como se
observa en la Figura A7.
42
Figura A7. señal 𝑥𝑝(𝑡) discreta en el dominio del tiempo. [18]
Si se ha muestreado de manera correcta la señal 𝑥𝑝(𝑡) puede ser cuantificada para ser
utilizada de manera digital. [18]
43
En el convertidor de define un rango de tensiones, 𝑉𝑟𝑒𝑓(𝑇) y 𝑉𝑟𝑒𝑓(𝐵), en el pin de entrada
analógica del convertidor muestreará valores de tensiones que estén en medio de las dos
referencias, de manera que en los pines de salida del convertidor se tendrá un valor binario
en un modo de comunicación en paralelo, el número de pines dependerá del número de
bits que está especificado en el convertidor.[10]
Figura A10. tabla de verdad para un ADC con dos tensiones de referencia. [10]
Figura A10. Circuito de referencia para aplicaciones en instrumentación según la hoja de datos del ADC10080. [10]
44
A4. Normas IPC.
Según la Norma IPC 6011 [15] existen las siguientes clases:
● IPC Clase 1: esta clase se centra en dispositivos que son comúnmente de uso
doméstico y/o fines como un prototipo o algo de que no requiera de una calidad
moderada, cuyo ciclo de vida no deba ser muy largo.
● IPC Clase 2: esta clase hace referencia a todos los dispositivos electrónicos los cuales
su fin es dar un servicio, o el uso que se les deba dar es de larga duración, pero no
tan extremo, la calidad de estos es buena y suelen tener ciclos de vida buenos.
● IPC Clase 3: esta clase se refiere a dispositivos de uso militar por ejemplo donde se
ponen en funcionamiento en condiciones críticas por largos periodos de tiempo, son
de la mejor calidad y son a prueba de falla.
Los dispositivos electrónicos de clase 2 abarcan todos los dispositivos electrónicos que
requieren un funcionamiento continuo y un ciclo de vida prolongado, hasta cierto punto.
Se desea un servicio ininterrumpido, pero no crítico. Junto con lo que se muestra en el
cuadro anterior, los ejemplos de IPC Clase 2 incluyen:
● Televisores
● Acondicionadores de aire
● tablets.
45
A5.2. Desventajas de los elementos SMD vs los elementos de agujero
pasante.
● El proceso de armado de circuitos puede ser más complicado que en el caso de
la tecnología de agujeros pasantes, elevando el costo inicial de un proyecto de
producción.
● El reducido tamaño de los componentes provoca que sea muy laborioso o
irrealizable, en ciertos casos, el armado manual (soldadura) de circuitos, esencial
en la etapa inicial de un desarrollo (prototipado).
● Es más fácil que un componente electrónico de montaje superficial se despegue
por accidente de su placa de circuito impreso que un componente de agujero
pasante. Esta es una cuestión especialmente relevante cuando se eligen los
conectores del circuito en la fase de diseño, ya que los conectores deben
soportar fuerzas considerables cuando el usuario realiza conexiones y
desconexiones.
46