Desarrollo de software para operar un potenciostato microcontrolado a través de smartphone/PC
Cargando...
Fecha
Autores
Título de la revista
ISSN de la revista
Título del volumen
Editor
Universidad Nacional de Tucumán, Facultad de Ciencias Exactas y Tecnología, Departamento de Bioingeniería
Resumen
RESUMEN
Este proyecto presenta el desarrollo del software para controlar un potenciostato y visualizar las señales eléctricas generadas en experimentos electroquímicos.
Los potenciostatos son instrumentos de laboratorio utilizados en el campo de la electroquímica para controlar y medir con precisión las reacciones químicas que implican transferencia de electrones, investigar propiedades de materiales y sistemas, y desarrollar nuevas tecnologías. Estos equipos suelen ser muy costosos, por lo que su uso está restringido en entornos de recursos limitados.
En los últimos años se han realizado proyectos de estos dispositivos con objetivos de diseño como bajo costo de fabricación, calidad de medición, facilidad de uso y
versatilidad.
Siguiendo este camino, se propone DM-Stat, un potenciostato portátil, de bajo costo y de código abierto basado en el microcontrolador ESP32, diseñado para ser operado vía Wi-Fi a través de una aplicación web y ejecutar técnicas como voltametría cíclica (VC), voltametría de onda cuadrada (VOC), voltametría de pulso diferencial (VPD) y cronoamperometría (CA).
El desarrollo de DM-Stat se divide en dos partes. Por un lado, el diseño y la construcción del hardware que realiza las mediciones en celdas electroquímicas y por el otro, el software que controla el dispositivo y permite mostrar los resultados de dichas mediciones.
Esta parte del trabajo se enfoca en el software, que incluye el diseño y la codificación de una interfaz gráfica de usuario (GUI) y su comunicación con el hardware a través de la programación en el firmware del microcontrolador.
El hardware se implementó en otro proyecto de graduación. Estos proyectos son complementarios y tienen un objetivo común que es desarrollar un potenciostato que permita obtener resultados en línea con las expectativas en el campo de la electroquímica. Por esto, las pruebas de funcionamiento se realizaron vinculando ambos proyectos.
Las pruebas de comunicación entre la GUI y el equipo se realizaron utilizando mensajes en las consolas para desarrolladores de software.
Los ensayos se realizaron utilizando celdas ficticias y celdas electroquímicas reales. Para la experimentación electroquímica se establecieron criterios que permiten evaluar el
rendimiento del equipo. Se probaron todas las técnicas disponibles en soluciones de ferro-ferricianuro de potasio en PBS variando la concentración. Los resultados mostraron que el equipo cumple adecuadamente con su función, resta una comparación más precisa con equipos comerciales.
Descripción
INDICE
RESUMEN ...................................................................................................................................... 4
INTRODUCCION.................................................................................. 11
OBJETIVOS.................................................................................................................. 13
Objetivos Generales......................................................................................................13
Objetivos Particulares.....................................................................................................13
ESTADO DEL ARTE ....................................................................................................... 15
MARCO TEÓRICO...................................................................................................... 19
CAPITULO 1 – ELECTROQUIMICA.............................................................................19
1.1 Introducción .................................................................................................................. 19
1.2 Potenciostatos............................................................................................................... 19
1.2.1 Control de potencial: configuración de tres electrodos................... 20
1.2.2 Aplicaciones............................................................................................................ 21
1.2.3 Software para potenciostatos................................................................................ 21
1.3 Voltametría cíclica......................................................................................................... 22
1.4 Voltametría de pulso diferencial............................................................................. 23
1.5 Voltametría de onda cuadrada ............................................................................. 25
1.6 Cronoamperometría...................................................................................................... 26
CAPITULO 2 – DESARROLLO WEB..........................................................................28
2.1 Introducción .................................................................................................................. 28
2.2 Frontend........................................................................................................................ 28
2.3 HTML 5 .......................................................................................................................... 29
2.4 CSS 3 .............................................................................................................................. 30
2.5 JavaScript ES6................................................................................................................ 30
2.6 Backend......................................................................................................................... 31
2.7 HTTP .............................................................................................................................. 32
2.8 WebSockets................................................................................................................... 33
2.9 Entornos de desarrollo................................................................................ 34
2.10 Librerías....................................................................................................................... 35
2.11 Frameworks................................................................................................................. 35
2.12 Licencias de software .................................................................................... 35
CAPÍTULO 3 – MICROCONTROLADORES................................................37
6
3.1 Introducción .................................................................................................................. 37
3.2 Placas de desarrollo de hardware ...................................................... 37
3.3 ESP32............................................................................................................................. 38
3.4 Firmware ....................................................................................................................... 39
DESARROLLO DEL SOFTWARE ................................................................................... 41
4.1 Requerimientos solicitados para la interfaz gráfica de usuario ..............41
4.2 Diseño de la interfaz gráfica..........................................................................44
4.2.1 Pantalla principal.......................................................................................... 44
4.2.2 Panel de visualización.................................................................................. 45
4.2.3 Configuración de parámetros ............................................................ 46
4.2.4 Ayuda.......................................................................................................................... 46
4.3 Servidor web almacenado en el μC ..............................................................47
4.3.1 SPIFFS ......................................................................................................................... 47
4.4 Estructura de la aplicación ..................................................................................49
4.4.1 HTML .......................................................................................................................... 49
4.4.1.1 Formulario para configuración de parámetros......................................... 49
4.4.1.2 Botones para iniciar las técnicas electroquímicas ........................... 52
4.4.2 CSS.............................................................................................................................. 54
4.4.2.1 Modificación de estilo de fuente y color de fondo de toda la app ....... 54
4.4.2.2 Modificación del tamaño de las imágenes de la página principal ....... 54
4.5 Programación ...................................................................................................55
4.5.1 Conexión a WiFi......................................................................................... 55
4.5.2 Servidor Web.............................................................................................................. 56
4.5.3 Acceso a la aplicación web............................................................................... 58
4.5.4 Configuración de parámetros ........................................................................ 59
4.5.4.1 Validaciones ........................................................................................................ 59
4.5.4.1.1 Validaciones de valores mínimos y máximos................................. 59
4.5.4.1.2 Validación de voltaje final e inicial............................................................... 60
4.5.4.1.3 Validación de amplitud del pulso en VPD y VOC................................. 60
4.5.4.1.4 Validación de la duración del pulso en VPD......................................... 61
4.5.4.1.5 Validación de la tensión de escalón y amplitud del pulso ......... 61
4.5.4.1.6 Limitación del hardware............................................................................... 62
4.5.4.2 Envío/Recepción del formulario con parámetros..................................... 63
4.5.4.3 Botones informativos.......................................................................................... 67
4.5.5 Configuración de la ganancia ATI ................................................... 68
7
4.5.6 Selección de la técnica a ejecutar ................................................................ 70
4.5.7 Durante el escaneo ........................................................................................ 73
4.5.7.1 Cancelación de la medición...................................................................... 76
4.5.8 Datos de las mediciones del potenciostato ............................................ 77
4.5.8.1 Envío de los datos desde el servidor............................................................ 77
4.5.8.2 Recepción de datos en la aplicación .......................................................... 79
4.5.8.3 Procesamiento de los datos recibidos .................................................. 82
4.5.8.3.1 Filtro de promedios móviles y conversión a corriente...................... 82
4.5.8.3.2 Gráfico de resultados................................................................................... 84
4.5.8.3.3 Descarga de archivo con los datos............................................................... 86
RESULTADOS ....................................................................................................... 89
5.1 Experiencia de usuario .................................................................................................89
5.1.1 Página principal ............................................................................................... 90
5.1.1.1 Panel de Visualización ......................................................................................... 90
5.1.1.1.1 Modo de escaneo actual .............................................................................. 90
5.1.1.1.2 Ganancia del Amplificador de transimpedancia ..........................91
5.1.1.1.3 Opciones de escaneo ................................................................................... 91
5.1.1.1.4 Archivo descargable ..................................................................................... 93
5.1.1.2 Configuración de parámetros ........................................................ 93
5.1.1.2.1 Voltametría Cíclica ....................................................................................... 94
5.1.1.2.2 Cronoamperometría..................................................................................... 95
5.1.1.2.3 Voltametría de Pulso Diferencial.................................................................. 96
5.1.1.2.4 Voltametría de Onda Cuadrada ................................................................... 97
5.1.1.3 Ayuda................................................................................................................... 98
5.1.2 Comunicación WiFi....................................................................................... 99
5.2 Comunicación Cliente / Servidor .............................................................100
5.2.1 Consola del navegador web cuando se ejecuta una medición (Cliente) ............. 100
5.2.2 Mensajes en Monitor Serie de Arduino IDE (Servidor)........................... 102
5.2.3 Inicio y cancelación de una medición (Servidor)....................................... 103
5.3 Pruebas preliminares ....................................................................103
5.3.1 Calibración del ADC.......................................................................... 103
5.3.2 Filtro de promedios móviles.................................................................. 105
5.3.3 Pruebas con celdas ficticias............................................................... 106
5.4 Experimentación electroquímica ...........................................................................107
8
5.4.1 Criterios evaluativos para analizar el desempeño del equipo ............. 107
5.4.1.1 Ecuación de Randles- Ševčík...................................................... 107
5.4.1.2 Ecuación de Cottrell .......................................................................................... 108
5.4.1.3 Resultados de otros potenciostatos............................................ 109
5.4.1.3.1 SweepStat................................................................................................... 109
5.4.1.3.2 Nanostat..................................................................................................... 110
5.4.1.3.3 ABE Stat...................................................................................................... 111
5.4.2 Pruebas con electrodo serigrafiado ..................................................... 112
5.4.2.1 Voltametría cíclica............................................................................................. 112
5.4.2.2 Voltametría de onda cuadrada ............................................................. 115
5.4.2.3 Voltametría de pulso diferencial................................................... 116
5.4.2.4 Cronoamperometría.......................................................................................... 117
DISCUSION....................................................................................................................... 119
CONCLUSIONES ....................................... 122
REFERENCIAS BIBLIOGRAFICAS ........................................................................ 123
GLOSARIO............................................................................................................... 125
ANEXO................................................................................................................. 126
A. Código fuente..............................................................................................................126
A.1 HTML ........................................................................................................................... 126
A.1.1 Index..................................................................................................................... 126
A.1.2 Plot....................................................................................................................... 139
A.1.3 Ayuda ................................................................................................................... 143
A.2 JAVASCRIPT ................................................................................................ 149
A.2.1 App....................................................................................................................... 149
A.2.3 Link Help............................................................................................................... 156
A.2.4 Manejo Botones................................................................................................... 156
A.2.5 Validator............................................................................................................... 158
A.2.6 Websocket ........................................................................................................... 165
A.3 CSS............................................................................................................................... 176
A.3.1 Style...................................................................................................................... 176
A.4 SKETCH INO......................................................................................... 179
A.4.1 DMSTAT................................................................................................................ 179
B. Manual de usuario ..........................................................................................196

