TESIS
“PROTOTIPO DE PROBADOR TÉRMICO TEXTIL DE FLAMA
DIRECTA BASADO EN EL ESTÁNDAR ASTM D4108 Y
OPTIMIZACIÓN DE CIRCUITO DE CONTROL PARA EL
PROBADOR TÉRMICO TEXTIL BASADO EN EL ESTÁNDAR
ASTM D1518”
MECATRÓNICA
P R E S E N T AN
DIEGO ALFREDO SOTO GUERRA
ALFREDO SUÁREZ MENDOZA
ASESOR EMPRESARIAL:
M. EN C. GILDARDO GODÍNEZ GARRIDO
ASESORES ACADÉMICOS:
EMPRESA:
GENERACIÓN
2012 – 2017
SEPTIEMBRE 2017
LIBERACIÓN DE TESIS
Los que suscriben asesores y director de carrera del (os) alumno (s):
De la carrera de:
INGENIERÍA EN MECATRÓNICA
En la realización de la Tesis con el proyecto denominado:
Prototipo de Probador Térmico Textil de flama directa basado en el estándar ASTM D4108 y
optimización de circuito de control para el Probador Térmico Textil basado en el estándar
ASTM D1518
En la empresa:
Director de Carrera
Dedicado a mi familia y a mi futura esposa que estuvieron a lo largo del camino sin
importar cueles fueran las adversidades ofreciendo apoyo, aliento y solvencia para llegar
a la meta. Sin desaprovechar esta oportunidad quiero recordarles lo mucho que los amo y
admiro. Un agradecimiento especial al M. en C. Juan Marcelo Miranda Gómez que
siempre mostró paciencia, comprensión y profesionalismo a todos sus alumnos para
ofrecerles la oportunidad de tener una carrera profesional.
-Diego Alfredo Soto Guerra
Doy gracias a mi madre que siempre me ha estado apoyando moralmente con sus
consejos de sus experiencias y mi padre por ayudarme económicamente, también doy
gracias a novia por apoyarme en mis momentos más difíciles, a mi abuela le agradezco
por el apoyo económicamente, mi gato Arshi por acompañarme en la soledad y por ultimo
al maestro Marcelo por asesorarnos, apoyarnos y aconsejarnos en esta etapa de mi
carrera para ser mejor en la vida.
-Alfredo Suárez Mendoza
i
RESUMEN
Bajo los estándares ASTM D1518 Y ASTM D4108 se diseñaron dos prototipos de
dispositivos encargados de cumplir los métodos de prueba a textiles para determinar los
coeficientes de transmisión térmica en la acción combinada de conducción, convección y
radiación, además de la clasificación de materiales textiles respecto a su resistencia y
aislamiento térmico ante una exposición de energía convectiva durante un breve periodo
de tiempo. Cada dispositivo cuenta con un circuito de control y una interface gráfica
mediante un sistema de comunicación SPI y USB para el constante monitoreo de
temperatura durante pruebas simuladas en Proteus, reflejadas en la interface gráfica
desarrollada en Visual Studio, organizando y guardando la información necesaria para
después realizar un reporte con los requisitos de los estándares de forma automática. Se
diseñaron tarjetas de circuito impreso para cada circuito de control además de una
propuesta mecánica de los dispositivos creada en 3D utilizando Autodesk Inventor.
ii
ABSTRACT
Under ASTM D1518 and ASTM D4108 standards, two prototype devices were designed to
meet textile testing methods to determine the coefficients of thermal transmission in the
combined action of conduction, convection, and radiation, in addition to the classification of
textile materials considering its resistance and thermal insulation against a convective
energy exposure for a short period of time. Each device has a control circuit and a graphic
interface through an SPI and USB communication system for constant temperature
monitoring during Proteus simulation tests, which can be viewed in the graphic interface
developed in Visual Studio, organizing and storing the necessary information to make
automatically a report with the requirements of the standards. Printed circuit boards were
designed for each control circuit in addition to a mechanical proposal of the devices
created in 3D using Autodesk Inventor.
iii
CONTENIDO
I. INTRODUCCIÓN ........................................................................................................ 9
1.1 Planteamiento del problema .............................................................................. 10
1.2 Justificación ....................................................................................................... 11
1.3 Objetivo general ................................................................................................ 12
1.4 Objetivos específicos ......................................................................................... 12
II. MARCO TEÓRICO ................................................................................................... 13
2.1 Estándar ASTM D1518-85 ................................................................................. 13
2.2 Estándar ASTM D4108-87 ................................................................................. 15
2.3 Características del microcontrolador PIC18F4550 ............................................. 15
2.3.1 Principales características .......................................................................... 16
2.3.2 Modulo convertidor analógica digital (ADC) ................................................ 17
2.3.3 Módulo Serial Peripheral Interface (SPI) ..................................................... 17
2.3.4 Módulo Bus de Serie Universal (USB) ........................................................ 18
2.3.5 Modulación de ancho de pulso (PWM) ....................................................... 19
2.4 Descripción del calorímetro de barra de cobre (Copper Slug Calorimeter Sensor)
20
III. METODOLOGÍA ................................................................................................... 21
3.1 Dispositivo para método de Rendimiento de Protección Térmica ...................... 21
3.2 Dispositivo para método de Rendimiento de Protección Radiante ..................... 21
3.3 Desarrollo de dispositivo del estándar ASTM D1518 ......................................... 22
3.3.1 Diseño de circuito en Proteus ..................................................................... 22
3.3.1.1 Función de interface del circuito .............................................................. 22
3.3.1.2 Descripción del circuito en Proteus ......................................................... 25
3.3.1.2.1 Microcontrolador PIC18F4550 ........................................................... 26
3.3.1.2.2 Test Plate .......................................................................................... 26
3.3.1.2.3 Guard Ring ........................................................................................ 27
3.3.1.2.4 Bottom Plate ...................................................................................... 28
3.3.1.2.5 Interfaz de control para el funcionamiento del circuito ....................... 28
3.3.1.2.6 Sensor para tapa ............................................................................... 29
3.3.1.2.7 Termopar para la cámara (Chamber)................................................. 30
3.3.1.2.8 Conexión Universal Serial Bus (USB) ................................................ 30
3.3.1.2.9 Sensor de humedad .......................................................................... 31
3.3.1.2.10 Fuente de alimentación de 19 V....................................................... 31
iv
3.3.1.2.11 Control de ventiladores a 12 V ......................................................... 32
3.3.2 Pasos a seguir para la función del circuito en simulación de Proteus ......... 32
3.3.3 Diagrama de flujo para el proceso del circuito de control ............................ 33
3.3.4 Diseño del Printed Circuit Board (PCB) en Proteus .................................... 34
3.3.5 Diseño de PCB en 3D en Proteus............................................................... 35
3.3.6 Prototipo de PCB en 3D en Autodesk Inventor ........................................... 36
3.3.7 PCB montada en caja para circuito del Probador Térmico Textil (PTT) ...... 37
3.3.8 Prototipo completo del Probador Térmico Textil en Autodesk Inventor ....... 38
3.3.9 Interface en Visual Studio para el Probador Térmico Textil (Estándar ASTM
D1518) ........................................................................................................ 40
3.3.9.1 Función de la interface ............................................................................ 40
3.3.9.2 Campos para llenar por el responsable de la prueba .............................. 42
3.3.9.3 Resultados de fórmulas solicitadas por el Estándar ASTM ..................... 43
3.3.9.4 Muestras cada 3 minutos de los termopares, los termistores y el sensor de
humedad ............................................................................................................... 45
3.3.9.5 Muestras en tiempo real de los termopares, los termistores y el sensor de
humedad ............................................................................................................... 47
3.3.9.6 Botón para iniciar la prueba en la interface, botón para realizar el Reporte
requerido por el Estándar ASTM e indicador de la conexión USB ......................... 47
3.3.9.7 Propuesta de Reporte requerido por estándar ASTM D1518 .................. 48
3.3.9.8 Instrucciones para utilizar la interface del Probador Térmico Textil ......... 50
3.4 Desarrollo de dispositivo del estándar ASTM D4108-87 .................................... 50
3.4.1 Diseño de circuito en Proteus ..................................................................... 50
3.4.1.1 Función de la interface del circuito .......................................................... 50
3.4.1.2 Descripción del circuito de Proteus ......................................................... 53
3.4.1.2.1 Microcontrolador PIC18F4550 ........................................................... 54
3.4.1.2.2 Test Plate .......................................................................................... 54
3.4.1.2.3 Interfaz de control del circuito ............................................................ 55
3.4.1.2.4 Sensor para tapa ............................................................................... 56
3.4.1.2.5 USB ................................................................................................... 56
3.4.1.2.6 Control de gas ................................................................................... 57
3.4.2 Diseño del Printed Circuit Board (PCB) en Proteus .................................... 58
3.4.3 Diseño de PCB en 3D en Proteus............................................................... 59
3.4.4 Diseño de PCB en 3D en Autodesk Inventor .............................................. 60
v
3.4.5 Prototipo completo de dispositivo para pruebas de flama directa en Autodesk
Inventor (estándar ASTM D4108) ............................................................................. 61
3.4.6 Interface en Visual Studio para pruebas con flama directa (Estándar ASTM
D4108) 62
3.4.6.1 Campos para llenar por el responsable de la prueba .............................. 64
3.4.6.2 Muestras en tiempo real del termopar ..................................................... 65
3.4.6.3 Muestras cada segundo del termopar ..................................................... 66
3.4.6.4 Resultados de las fórmulas del TPP de flama directa ............................. 66
3.4.6.5 Botón para iniciar la prueba en la interface, botón para realizar el Reporte
requerido por el Estándar ASTM D4108 e indicador de la conexión USB.............. 67
3.4.6.6 Propuesta de Reporte requerido por estándar ASTM D4108 .................. 67
IV. RESULTADOS ...................................................................................................... 69
CONCLUSIONES ............................................................................................................ 70
REFERENCIAS ............................................................................................................... 71
ANEXOS Y APÉNDICES ................................................................................................. 72
Lista de materiales del circuito electrónico del PTT (Estándar D1518) ......................... 72
Lista de materiales del circuito electrónico (Estándar D4108) ...................................... 74
Programas utilizados para la elaboración de los proyectos .......................................... 75
Pasos a seguir de la programación en MikroC ............................................................. 75
Programación en MikroC PRO for PIC para el microcontrolador PIC18F4550 (Estándar
ASTM D1518) .............................................................................................................. 76
Programación en MikroC PRO for PIC para el microcontrolador PIC18F4550 (Estándar
ASTM D4108) .............................................................................................................. 95
Programación en Visual Studio para la Interface del Probador Térmico Textil (Estándar
ASTM D1518) ............................................................................................................ 114
Programación en Visual Studio para el Estándar ASTM D4108 ................................. 125
vi
ÍNDICE DE FIGURAS
Figura 1- Entradas y salidas del PIC18F4550 con sus características. ........................... 16
Figura 2- Comunicación SPI entre esclavo y maestro. .................................................... 18
Figura 3- Comunicación USB entre microcontrolador y PC. ............................................ 18
Figura 4- Ejemplo de un circuito en Proteus simulando un PWM. ................................... 19
Figura 5- Calorímetro de barra de cobre. ........................................................................ 20
Figura 6- Prototipo del circuito para control del PTT........................................................ 24
Figura 7- Microcontrolador PIC184550 para control del PTT........................................... 26
Figura 8- Test Plate para control del PTT. ....................................................................... 27
Figura 9- Guard Ring para el control del PTT. ................................................................. 27
Figura 10- Bottom Plate para control del PTT. ................................................................ 28
Figura 11- Interfaz del control para el control del PTT. .................................................... 29
Figura 12- Interruptor de Tapa para el control del PTT.................................................... 29
Figura 13- Termopar de tapa para el control del PTT. ..................................................... 30
Figura 14- USB para el control del PTT........................................................................... 30
Figura 15- Sensor de humedad para el control del PTT. ................................................. 31
Figura 16- Alimentación de voltaje de 19 Volts para el control del PTT. .......................... 31
Figura 17- Ventiladores de 12 Volts para el control del PTT............................................ 32
Figura 18- Diseño en PCB en Proteus para el control del PTT. ....................................... 34
Figura 19- Diseño del circuito completo en Proteus para el control del PTT. ................... 35
Figura 20- Circuito en 3D Autodesk Inventor. .................................................................. 36
Figura 21- Circuito en 3D implementada en la caja en Autodesk Inventor....................... 37
Figura 22- Diseño y prototipo del PTT (Estándar ASTM D1518). .................................... 39
Figura 23- Interface en Visual Studio del Probador Térmico Textil (Estándar ASTM
D1518). ............................................................................................................................ 41
Figura 24- Campos para llenar para la prueba del estándar ASTM D1518. .................... 42
Figura 25- Resultados de fórmulas. ................................................................................ 45
Figura 26- Resultados de muestras en intervalos de tiempos. ........................................ 46
Figura 27- Muestras en tiempo real................................................................................. 47
Figura 28- Botones e indicador de conexión USB. .......................................................... 48
Figura 29- Reporte con requisitos del estándar ASTM D1518. ........................................ 49
Figura 30- Diseño de circuito electrónico para el dispositivo del estándar ASTM D4108. 52
Figura 31- Microcontrolador PIC18F4550 para control del dispositivo para pruebas con
flama directa. ................................................................................................................... 54
vii
Figura 32- Diseño en Proteus de Test Plate. ................................................................... 54
Figura 33- Diseño en Proteus de la interfaz de control. ................................................... 55
Figura 34- Diseño de Proteus Swith Tapa. ...................................................................... 56
Figura 35- USB para el control del PTT........................................................................... 56
Figura 36- Sistema de control de gas diseñado en Proteus para el PTT de flama directa.
........................................................................................................................................ 57
Figura 37- Diseño de Printed Circuit Board (PCB) en Proteus. ....................................... 58
Figura 38-Vista de la PCB en 3D diseñada en Proteus. .................................................. 59
Figura 39- PCB en 3D en Autodesk Inventor. ................................................................. 60
Figura 40- Diseño y prototipo de dispositivo para pruebas de flama directa (Estándar
ASTM D4108). ................................................................................................................. 61
Figura 41- Interface en Visual Studio para pruebas con flama directa (Estándar ASTM
D4108). ............................................................................................................................ 63
Figura 42- Campos para llenar por el responsable de la prueba. .................................... 65
Figura 43- Muestreos en tiempo real. .............................................................................. 65
Figura 44- Resultados de muestras tomadas cada segundo. .......................................... 66
Figura 45- Resultados de fórmulas del TPP rating. ......................................................... 66
Figura 46- Botones e indicador de conexión USB. .......................................................... 67
Figura 47- Reporte con requisitos del estándar D4108. .................................................. 68
viii
I. INTRODUCCIÓN
La industria en México es sumamente competitiva en todos los aspectos, pero
principalmente en sus constantes pasos acelerados para encontrarse al mismo nivel que
sus competidores internacionales, por lo que no importa si son grandes, medianas o
pequeñas las industrias nacionales, el tamaño no les impide entrar en un entorno
competitivo donde cada año la innovación de sus procesos viene siendo el principal
atractivo para generar nuevas maneras de competir. Un excelente ejemplo es el caso de
Textiles Técnicos S.A de C.V., empresa fabricante, desde 1960, de textiles “a partir de
fibras técnicas tales como: Fibra de vidrio, Aramidas, PANO, Fibra Cerámica Biosoluble,
Amianto tipo Crisotilo y otras fibras avanzadas para aplicaciones tales como elementos de
fricción (discos de embrague, balatas tejidas), empaquetaduras industriales, aislamientos
térmicos y eléctricos y ropa de seguridad para protección contra altas temperaturas”. Con
el motivo de mejorar sus procesos calidad y de brindar información de calidad a sus
clientes se estipuló como base el estándar internacional ASTM D1518-85 que indica el
método de prueba para determinar la transmisión térmica de materiales textiles. El
estándar requiere de un dispositivo encargado de realizar la prueba cumpliendo requisitos
específicos definidos por el estándar.
9
1.1 Planteamiento del problema
La empresa Textiles Técnicos S.A de C.V. requiere avalar sus productos textiles con el
estándar ASTM D1518 y el estándar ASTM D4108 para cubrir las necesidades de sus
diversos clientes. Para poder lograr su objetivo es necesario un dispositivo, por cada
estándar, que se adapte a sus respectivos puntos de referencia especificados.
Previamente se hizo la propuesta de un dispositivo, como prototipo, llamado Probador
Térmico Textil (PTT), el cual cubría parcialmente los requerimientos del estándar y
contaba con algunas fallas en el tiempo de respuesta de la información procesada por el
microcontrolador en el circuito electrónico, por lo que quedó inconcluso y abierto a
mejoras.
10
1.2 Justificación
En el primer prototipo del Probador Térmico Textil (PTT) se encontraron fallas en el
circuito de control diseñado con el programa Proteus, como el desbordamiento de
memoria del PIC16F887, también se encontró otro problema en la simulación del
prototipo, ya que tardaba mucho en responder o no ejecutaba el programa, se observó
que el PIC ocupaba muchos pines innecesarios que pueden reducir en menos espacio,
además de que el PIC16F887 no tiene un módulo para la comunicación USB y se observó
que el primer prototipo no cumplía con todos los requisitos del estándar.
Con la finalidad de cubrir la necesidad de la empresa se hicieron mejoras al primer
prototipo del PTT, las cuales fueron el reemplazo del microcontrolador PIC16F887 por el
PIC18F4550, cumpliendo éste último con el módulo de comunicación USB para
desarrollar una interfaz gráfica y suficiente memoria para no saturarse, también se
hicieron reducción de pines como teclado matricial y la eliminación de componentes como
el multiplexor, entre otros componentes; se volvió a diseñar el hardware y el software del
PTT, además se añadió el reporte requerido por el estándar para justificar las pruebas
realizadas a los textiles a través de una interfaz en Visual Studio para una interacción más
amigable con el usuario que realice la prueba y un arreglo al circuito electrónico para una
respuesta más rápida de los datos obtenidos para el reporte solicitado por el estándar
ASTM D1518; por último, se creó un ejecutable en Visual Studio para que el usuario lo
instale y opere.
El segundo prototipo se diseñó cumpliendo el estándar ASTM D4108-67 y de igual
manera que en el PTT se diseñó un circuito electrónico para el procesamiento de la
temperatura y un interfaz de comunicación USB para la transferencia y reporte de datos.
11
1.3 Objetivo general
Diseñar un prototipo para pruebas a textiles basado en el estándar ASTM D4108 y
optimizar el circuito de control previamente diseñado para el Probador Térmico Textil
correspondiente al estándar ASTM D1518.
12
II. MARCO TEÓRICO
En este apartado se describen brevemente los estándares ASTM D1518-85 y ASTM
D4108-87 y las variables utilizadas en los métodos de prueba, se mencionan las
características del microcontrolador PIC18F4550 empleado en el diseño del circuito del
sistema de control y se aborda el sensor de calorímetro de barra de cobre (Copper Slug
Calorimeter Sensor) utilizado para la medición de la temperatura de exposición.
no excedentes a 50 mm.
Este método determina tres casos diferentes de transmisión térmica, a continuación, se
describen:
𝑈1 = Combinación de transmisión térmica de la muestra de prueba y del aire.
𝑈𝑏𝑝 = Transmisión térmica de la placa sin la tela encima (“placa desnuda”). Esta
propiedad refleja la constante del instrumento y se utiliza para estandarizar la
placa, y, en conjunción con 𝑈1 , se utiliza en el cálculo de 𝑈2 .
𝑈2 = Transmisión térmica únicamente del tejido. Este valor corresponde al valor
𝑊
resultante de C ( ) definido y utilizado por ASTM y ASHRAE. En el cálculo de
𝑚2 ∗𝐾
este valor se hace la suposición de que las capas límite de la placa desnuda y las
capas límite de la tela son iguales. Los resultados experimentales indican que los
valores de 𝑈2 son válidos cuando se hace la prueba dentro de los límites
especificados en la Sección 1 del estándar.
El estándar requiere que se elabore un reporte al finalizar la prueba de los textiles en el
PTT para justificar y evidenciar los resultados obtenidos que validan la prueba para los
clientes. El reporte solamente puede ser llenado al finalizar la prueba y haber resuelto las
13
fórmulas requeridas para los diferentes valores esperados por el estándar, a continuación,
se indican los requisitos del reporte:
Indicar que los especímenes fueron probados como lo menciona el método de
prueba ASTM D 1518. Describir los materiales o productos a los que se les realiza
la prueba y el método de prueba utilizado.
Temperatura media de la prueba, 𝑇𝑚
Coeficiente promedio de transferencia de calor de la placa desnuda, 𝑈𝑏𝑝
Coeficiente promedio de transferencia de calor de la placa y la tela de forma
combinada, 𝑈1
Conductancia térmica del tejido, 𝑈2
Peso de la tela
Espesor de la tela
Densidad aparente de la tela, 𝐵
Conductividad térmica de la tela, 𝑘
Resistencia térmica de la tela, 𝑅
Resistividad térmica de la tela, 𝑅′
Temperatura utilizada en la prueba
Humedad relativa registrada en la prueba
14
2.2 Estándar ASTM D4108-87
El estándar ASTM D4108-87 es un método de ensayo que clasifica a los materiales
textiles para la resistencia térmica y el aislamiento cuando se expone a un nivel de
energía convectiva de aproximadamente 2.0 cal/cm2 (8.3 W/cm2) durante un breve
período de tiempo, es aplicable a tejidos, tejidos de punto y telas no tejidas, destinados a
ser utilizados como prendas de vestir, para protegerse contra llamas abiertas en
exposición de tiempo corto. Este método no está diseñado para evaluar materiales
expuestos a ninguna otra exposición térmica, como energía radiante o salpicaduras de
metal fundido, es una herramienta de investigación y desarrollo útil, también clasifica los
materiales textiles para la ropa de protección contra las exposiciones accidentales a las
llamas abiertas, por sus propiedades de aislamiento térmico y su reacción contra la
exposición a la prueba.
Este estándar debe usarse para medir y describir las propiedades de los materiales,
productos o ensambles en respuesta al calor y llama bajo condiciones controladas en
laboratorio y no debe usarse para describir o evaluar el riesgo de incendio o riesgo de
incendio en materiales, productos o ensamblajes bajo condiciones reales. Sin embargo,
los resultados de esta prueba pueden utilizarse como elementos de una evaluación del
riesgo de incendio que tenga en cuenta todos los factores pertinentes para una evaluación
del riesgo de incendio de un uso final particular.
La clasificación Terminal Protective Performance o TPP determinada por este método, se
refiere al rendimiento final real sólo en la medida en que la exposición al uso final es
idéntica a la exposición utilizada en el método que es energía convectiva a
aproximadamente 2.0 cal/cm2s (8.3 W/cm2).
A partir de las especificaciones del estándar ASTM, se seleccionó el microcontrolador
PIC18F4550, para el mejoramiento del circuito, ya que es muy accesible con los módulos
de la programación y tiene mejor capacidad de memoria.
15
seriales: FS-USB (12 Mbit/s), I²C™ y SPI™ (hasta 10 Mbit/s). Su gran capacidad de
memoria RAM para almacenamiento temporal y su memoria FLASH de programa
mejoradas hacen que sea ideal para el control integrado y aplicaciones de monitoreo que
requieren conexión periódica con un ordenador personal a través de USB para la carga,
descarga de datos y actualizaciones de firmware.
16
2.3.2 Modulo convertidor analógica digital (ADC)
El convertidor analógico digital es capaz de convertir una señal de voltaje variable en
valores digitales a una resolución de 8 o 10 bits. Además, se puede llegar hasta a 50
kilomuestras por segundo (ksps), lo que es ideal para proyectos de adquisición de datos.
A continuación, se muestra las características y se describen los registros involucrados
con el convertidor ADC.
Resolución programable por software en modo de 8 y 10 bits.
13 canales de entradas multiplexadas.
Rango del voltaje de entrada para el ADC.
Referencia de voltaje interna o externa.
Modo de conversión ADC (continua o individual).
Inicio de conversión ADC por Auto-Disparo en fuentes de Interrupción.
Interrupción ADC al completar la conversión.
Por lo tanto, el módulo ADC se aplicó en los tres termistores y en el teclado matricial.
Siendo el teclado matricial un componente digital se hizo un arreglo para tener una señal
analógica.
17
MOSI (Master Output Slave Input), MISO (Master Input Slave Output) y SCLK (Clock),
como lo muestra la Figura 2.
18
2.3.5 Modulación de ancho de pulso (PWM)
La modulación de ancho de pulso logra producir el efecto de una señal analógica sobre
una carga, a partir de la variación de la frecuencia y ciclo de trabajo de una señal digital.
El ciclo de trabajo describe la cantidad de tiempo que la señal está en un estado lógico
alto, como un porcentaje del tiempo total que ésta toma para completar un ciclo completo.
La frecuencia determina qué tan rápido se completa un ciclo (por ejemplo: 1000 Hz
corresponde a 1000 ciclos en un segundo), y por consiguiente que tan rápido se cambia
entre los estados lógicos alto y bajo. Al cambiar una señal del estado alto a bajo a una
tasa lo suficientemente rápida y con un cierto ciclo de trabajo, la salida parecerá
comportarse como una señal analógica constante cuando ésta está siendo aplicada a
algún dispositivo. Las señales PWM son utilizadas comúnmente en el control de
aplicaciones. Su uso principal es el control de motores de corriente continua, aunque
también pueden ser utilizadas para controlar válvulas, bombas, sistemas hidráulicos, y
algunos otros dispositivos mecánicos. La frecuencia a la cual la señal de PWM se
generará, dependerá de la aplicación y del tiempo de respuesta del sistema que está
siendo controlado.
Calentar elementos o sistemas con tiempos de respuesta lentos: 10-100 Hz o
superior.
Motores eléctricos de corriente continua: 5-10 kHz o superior.
Fuentes de poder o amplificadores de audio: 20-200 kHz o superior.
19
Un ensamble que destaca al Probador Térmico Textil de flama directa es el calorímetro
que utiliza para obtener sus mediciones de resistencia térmica y aislamiento de textiles. A
continuación, se muestra dicho ensamble.
20
III. METODOLOGÍA
Existen dispositivos para determinar el Rendimiento de Protección Térmica (Thermal
Protective Performance) y el Rendimiento de Protección Radiante (Radiant Protective
Performance) de textiles, siendo dispositivos costosos y que no cubren específicamente
los estándares de ASTM D1518 Y ASTM D4108. Por tal motivo, es la necesidad de llevar
acabo el desarrollo de dispositivos que si cumplan con los estándares. A continuación, se
mencionan las principales características de los dispositivos comerciales.
21
Teniendo en cuenta que los dispositivos previamente mencionados no cubren las
necesidades de Textiles Técnicos S.A de C.V. se procedió a diseñar los dispositivos que a
continuación se describen acompañados del desarrollo que involucró cada uno.
22
11. Control ventiladores 12 V
23
Figura 6- Prototipo del circuito para control del PTT.
24
3.3.1.2 Descripción del circuito en Proteus
En el diseño del PTT es necesario entender la configuración de los componentes
electrónicos para lograr un correcto funcionamiento de la simulación en Proteus. Para
poder recibir datos de los termopares de manera más eficiente se utilizó un circuito
integrado (CI) MAX6675, el cual amplifica la señal analógica obtenida del termopar y la
cambia a una señal digital para que el microcontrolador pueda hacer lecturas más
precisas. En el caso de los termistores la señal recibida por el microcontrolador es
analógica y puede ser procesada conectándolos de forma directa sin ningún amplificador.
El teclado matricial funciona de una forma poco usada ya que comúnmente se utiliza de
forma digital pero utiliza múltiples pines del microcontrolador por lo que se optó por
utilizarlo de forma analógica para solo utilizar un pin del microcontrolador. Las lecturas del
microcontrolador provenientes del teclado son registradas midiendo la cantidad de
resistencia que presenta cada botón al presionarlo y esto se logra dando un voltaje
constante al teclado y haciendo una sumatoria de resistencias al presionar algún botón.
La pantalla LCD es conectada de forma digital al microcontrolador forzosamente para su
funcionamiento y controlada por librerías activadas en la programación del
microcontrolador. Los diodos LED son conectados al microcontrolador directamente y
controlados digitalmente por programación. El interruptor de la tapa está conectado
directamente al microcontrolador cerrando o no el circuito, el cual le envía una señal que
indica si está abierta o cerrada la tapa. La conexión USB es conectada directamente al
microcontrolador funcionando digitalmente y controlada por medio de la comunicación HID
junto con librerías de programación. El sensor de humedad funciona analógicamente y se
conecta directamente al microcontrolador. Para la alimentación de corriente eléctrica y
voltaje se propone un voltaje de 19 V para después convertirlo a través de dos tipos de
reguladores de voltajes, uno es el circuito integrado (CI) 7812, el cual regula el voltaje a
12 V y alimentan los ventiladores, el otro regulador de voltaje es el circuito integrado (CI)
7805, el cual regula el voltaje a 5 V para alimentar el microcontrolador y otros
componentes. Por último, los ventiladores son controlados por el microcontrolador y
alimentados de forma externa.
25
3.3.1.2.1 Microcontrolador PIC18F4550
El microcontrolador, siendo un CI programable, se encarga de todo el control y monitoreo
de los componentes electrónicos del dispositivo PTT.
Las placas están compuestas por un Test Plate, Guard Ring y de un Bottom Plate, cada
una debe de mantener la temperatura constante de 33 a 36 °C (91.4 a 98.8 °F) de forma
eléctrica para representar la temperatura de la piel humana.
26
Figura 8- Test Plate para control del PTT.
27
3.3.1.2.4 Bottom Plate
La placa inferior o bottom plate está conformado por 2 termopares, conectados a un CI
MAX6675 y un termistor, tiene la misma función que el anillo de guarda y placa de prueba,
que es tomar las lecturas de las temperaturas y las visualiza en Visual Studio o la pantalla
LCD.
28
Figura 11- Interfaz del control para el control del PTT.
29
3.3.1.2.7 Termopar para la cámara (Chamber)
Este último termopar conectado a un CI MAX6675, no va en alguna placa sino en la parte
interior de la cámara y tomará lectura de la temperatura ambiente del flujo de aire
constante. Se podrá visualizar en Visual Studio o en la pantalla LCD.
30
3.3.1.2.9 Sensor de humedad
Para la lectura de humedad del aire en la cámara se utiliza un sensor HIH5030. Las
lecturas de este sensor se podrán ver en la LCD o en la interface de Visual Studio para
poder añadir el resultado del sensor en el reporte que pide el estándar ASTM.
31
3.3.1.2.11 Control de ventiladores a 12 V
El control de ventiladores tiene como función mantener encendidos los ventiladores para
conservar un flujo constante de aire en la cámara y para regular la temperatura ambiente,
de ser necesario, si las temperaturas de las resistencias son muy elevadas para la prueba
que se realice en el PTT. El control de ventiladores se realiza por un módulo PWM del
microcontrolador.
32
3.3.3 Diagrama de flujo para el proceso del circuito de control
33
3.3.4 Diseño del Printed Circuit Board (PCB) en Proteus
34
3.3.5 Diseño de PCB en 3D en Proteus
Figura 19- Diseño del circuito completo en Proteus para el control del PTT.
35
3.3.6 Prototipo de PCB en 3D en Autodesk Inventor
36
3.3.7 PCB montada en caja para circuito del Probador Térmico Textil (PTT)
37
3.3.8 Prototipo completo del Probador Térmico Textil en Autodesk Inventor
El diseño mecánico se realizó tomando en cuenta los requisitos mencionados en el
estándar ASTM D1518 con ayuda de las Figura 1 (Guard Ring Hot Plate For Thermal
Transmittance Test), Figura 2 (Hot Plate, Top View, Showing Location of Thermistors and
Thermocouples on Test Section and Guard Ring) y la Figura 3 (Apparatus for
Measurement of Thermal Transmittance, Showing Dimensions), localizadas en las
páginas 4 y 5 del estándar. Se debe de tomar en cuenta que todas las figuras de las
piezas mecánicas y ensambles del PTT fueron hechos en Autodesk Inventor. Siendo el
diseño mecánico el primer prototipo, se debe de considerar futuras mejoras para su
correcto funcionamiento y cumplimiento de los requisitos por el estándar. Mayormente los
componentes electrónicos para el control y monitoreo del dispositivo se encontraran
adentro y los dispositivos encargados de la interface física serán visibles en la parte
frontal del dispositivo, como lo es la LCD y el teclado matricial. En la Figura 22 se aprecia
el dispositivo completo.
38
Figura 22- Diseño y prototipo del PTT (Estándar ASTM D1518).
39
3.3.9 Interface en Visual Studio para el Probador Térmico Textil (Estándar
ASTM D1518)
Para poder lograr una mejor interacción con el usuario del PTT se creó una interface en el
programa de Visual Studio, el cual es un entorno de desarrollo integrado para sistemas
operativos de Windows que tiene la capacidad de soportar múltiples lenguajes de
programación, tales como C++, C#, Visual Basic .NET, F#, Java, Python, Ruby y PHP, al
igual que entornos de desarrollo web, como ASP.NET MVC, Django, etc.
La interface se comunica al circuito electrónico del PTT por medio de una comunicación
HID para poder conectarse con los puertos USB del circuito electrónico y de una
computadora que tenga la interface de Visual Studio.
40
Figura 23- Interface en Visual Studio del Probador Térmico Textil (Estándar ASTM D1518).
41
3.3.9.2 Campos para llenar por el responsable de la prueba
En esta sección el responsable de la prueba debe de llenar once campos con información
relevante para el reporte que pide el estándar ASTM D1518 y para las fórmulas que se
deben de resolver al final de la prueba con los resultados finales de los termopares. Cabe
mencionar que los campos para llenar se pueden personalizar a petición de la empresa
Textiles Técnicos.
Los campos para llenar incluyen:
Nombre de Reporte:
Empresa:
Responsable de la prueba:
Fecha:
Descripción del material/producto:
Descripción del método de prueba:
Peso:
Espesor:
Masa de la tela:
Área de la tela:
Temperatura de la prueba:
Figura 24- Campos para llenar para la prueba del estándar ASTM D1518.
42
3.3.9.3 Resultados de fórmulas solicitadas por el Estándar ASTM
Para la sección relacionada con fórmulas se requiere revisar el estándar ASTM D1518
para tener una mejor compresión de cada una y de sus resultados (Revisar páginas 6 y 7
del estándar en el título Calculations). Estas fórmulas son utilizadas para obtener los
resultados que solicita el reporte del estándar. Fórmulas utilizadas:
Temperatura media (Mean temperature)
(𝑇𝑎 + 𝑇𝑝 )
𝑇𝑚 =
2
𝑃
𝑈𝑏𝑝 =
[𝐴 ∗ (𝑇𝑎 − 𝑇𝑝 )]
𝑃
𝑈1 =
[𝐴 ∗ (𝑇𝑎 − 𝑇𝑝 )]
43
Conductancia térmica del tejido (Thermal conductance of the fabric)
(𝑈𝑏𝑝 ∗ 𝑈1 )
𝑈2 =
(𝑈𝑏𝑝 − 𝑈1 )
𝑀
𝐵 =
𝑡
𝑘𝑔 𝑘𝑔
𝐵 = densidad aparente, (bulk density, )
𝑚3 𝑚3
𝑔 𝑔
𝑀 = masa / unidad de área del tejido, 𝑚2 (mass / unit area of fabric, 𝑚2)
𝑈2 ∗ 𝑡𝑖
𝑘 =
1000
1
𝑅 =
𝑈2
44
Resistividad térmica (Thermal resistivity of the fabric)
1
𝑅′ =
𝑘
45
Figura 26- Resultados de muestras en intervalos de tiempos.
46
3.3.9.5 Muestras en tiempo real de los termopares, los termistores y el
sensor de humedad
Para evitar anomalías con la temperatura y humedad se propuso una sección de
muestreo en tiempo real con un intervalo de muestreos de un segundo. Esto tiene la
finalidad de observar lo que no sucede con la temperatura y humedad dentro de los tres
minutos que tarda cada muestreo de la sección anterior mencionada. Cada termopar y
termistor son mostrados al igual que el sensor de humedad.
47
de INICIAR tiene el propósito de inicializar la prueba y un temporizador por medio de
programación en Visual Studio, tomará los tiempos requeridos para cada muestreo y la
finalización de la prueba. El botón de REPORTE se presiona al finalizar la prueba ya que
se hayan obtenido todos los valores requeridos de muestreos y fórmulas para después
imprimir un documento en Microsoft Office Word que contenga lo requerido por el
estándar. Por último, se tiene un indicador para mostrar la conexión entre el PTT y la
computadora. El indicador tiene un color verde mate y las palabras USB OFF cuando no
hay una conexión exitosa y un color verde limón con las palabas USB ON cuando es
exitosa.
48
Figura 29- Reporte con requisitos del estándar ASTM D1518.
49
3.3.9.8 Instrucciones para utilizar la interface del Probador Térmico Textil
Para realizar la prueba de forma adecuada se presentan los pasos a seguir para utilizar la
interfaz. A continuación, los pasos:
1. Abrir la aplicación de la Interfaz del Probador Térmico Textil en la computadora
donde esté instalado.
2. Conectar el cable USB proveniente del Probador Térmico Textil a la computadora,
o viceversa, dependiendo el caso.
3. Verificar que se haya realizado correctamente la conexión USB observado el
indicador LED del USB en la interfaz.
4. Llenar los campos solicitados de la interfaz.
5. Iniciar la prueba del Probador Térmico Textil e inmediatamente presionar el botón
INICIAR de la interfaz.
6. Después de que haya terminado la prueba y se visualicen todas las muestras
recabadas, al igual que los resultados de las fórmulas, presionar el botón de
REPORTE.
50
secciones el circuito y de esta manera después poder hacer una explicación de cada una.
Las secciones están conformados por el PIC18F4550, la palca de prueba o Test Plate,
Interfaz de control, interruptor de la Tapa, USB y control de gas.
51
Figura 30- Diseño de circuito electrónico para el dispositivo del estándar ASTM D4108.
52
3.4.1.2 Descripción del circuito de Proteus
Es necesario entender la configuración de los componentes electrónicos para lograr un
correcto funcionamiento de la simulación en Proteus. Para poder recibir datos del
termopar de manera más eficiente se utilizó un CI MAX6675 el cual amplifica la señal
analógica obtenida del termopar y la convierte en una señal digital para que el
microcontrolador pueda hacer lecturas más precisas. En el caso de los termistores la
señal recibida por el microcontrolador es analógica y puede ser procesada conectándolos
de forma directa sin ningún amplificador. El teclado matricial funciona de una forma poco
usada ya que comúnmente se utiliza de forma digital, pero utiliza múltiples pines del
microcontrolador por lo que se optó por utilizarlo de forma analógica para solo utilizar un
pin del microcontrolador. Las lecturas del microcontrolador provenientes del teclado son
hechas midiendo la cantidad de resistencia que presenta cada botón al presionarlo y esto
se logra dando un voltaje constante al teclado y haciendo una sumatoria de resistencias al
presionar algún botón. La pantalla LCD es conectada de forma digital al microcontrolador
forzosamente para su funcionamiento y controlada por librerías activadas en la
programación del microcontrolador. El interruptor de la tapa está conectado directamente
al microcontrolador dejando o no dejando cerrar el circuito, el cual le envía una señal que
indica si está abierta o cerrada la tapa. La conexión USB es conectada directamente al
microcontrolador funcionando digitalmente y controlada por medio de la comunicación HID
junto con librerías de programación. Para la fuente de alimentación del circuito se utiliza
un diseño similar al estándar anterior.
53
3.4.1.2.1 Microcontrolador PIC18F4550
El microcontrolador es el que se encarga de todo el control y monitoreo de los
componentes electrónicos del dispositivo PTT, siendo un dispositivo programable por
medio de programación en lenguaje C.
Figura 31- Microcontrolador PIC18F4550 para control del dispositivo para pruebas con flama
directa.
54
3.4.1.2.3 Interfaz de control del circuito
La interfaz de control del circuito electrónico está constituida por una pantalla LCD de
16X2 caracteres y un teclado matricial. Su función principal es el control de las lecturas
del termopar y entregar los resultados de las fórmulas requeridas por el reporte del
estándar ASTM.
La pantalla LCD muestra un menú con opciones para ser seleccionados con el teclado
matricial y, de esta manera, iniciar la prueba o mostrar resultados de la temperatura del
termopar, durante el trascurso de la prueba o al final mostrar los resultados de las
fórmulas.
55
3.4.1.2.4 Sensor para tapa
El sensor para la tapa es un Push Botton el cual tiene la función de indicar si la tapa de la
prueba está abierta o cerrada. En caso de que la prueba del PTT de flama directa se
quiera ejecutar, mientras la tapa está abierta, la pantalla LCD indicará que está abierta y
no continuará la prueba hasta que se cierre.
3.4.1.2.5 USB
Por medio de la comunicación Human Interface Device (HID) se realiza la conexión USB,
la cual enviará y recibirá datos en forma de byte, por medio de programación, desde la
interfaz de Visual Studio a la computadora, o viceversa.
56
3.4.1.2.6 Control de gas
El control de la válvula de gas se encuentra constituido por un relevador que se alimenta a
5 V, el cual mantiene el gas en un estado apagado. Cuando se inicia el proceso, se
energiza el relevador y comienza el flujo de gas.
Figura 36- Sistema de control de gas diseñado en Proteus para el PTT de flama directa.
57
3.4.2 Diseño del Printed Circuit Board (PCB) en Proteus
58
3.4.3 Diseño de PCB en 3D en Proteus
59
3.4.4 Diseño de PCB en 3D en Autodesk Inventor
60
3.4.5 Prototipo completo de dispositivo para pruebas de flama directa en
Autodesk Inventor (estándar ASTM D4108)
El siguiente prototipo es una propuesta creada para el estándar ASTM D 4108 que tiene
como objetivo principal el estudio de la transmitancia térmica y convección de calor en un
entorno donde se exponga una flama directa sobre un compuesto textil. La base o
componente principal, que tiene como función mantener fijos los elementos secundarios
como se muestra en la Figura 40, donde se monta la muestra textil con una abertura que
permitir la convección de calor al producto. El tercer elemento es el más importante ya
que es el que sostendrá el sensor calorímetro mencionado por el estándar y cuenta con
dos agarraderas para permitir la fácil colocación. En la parte inferior se encuentra el
espacio donde se colocará el mechero de Bunsen que entregará flama al prototipo. Por
último, al costado del dispositivo se encuentra la PCB dentro de una caja especial para su
montaje.
Figura 40- Diseño y prototipo de dispositivo para pruebas de flama directa (Estándar ASTM
D4108).
61
3.4.6 Interface en Visual Studio para pruebas con flama directa (Estándar
ASTM D4108)
Con la misma finalidad de la interface del Probador Térmico Textil, se busca una mejor
interacción con el usuario responsable de las pruebas realizadas a textiles para elaborar
el reporte y las pruebas de forma adecuada dentro de los requisitos del estándar ASTM
D4108. En el caso de este estándar se hizo el monitoreo de solamente un termopar, el
cual registrará la resistencia y aislamiento que tiene un material textil al ser expuesto a un
nivel de energía convectiva durante un breve periodo de tiempo. Por tal motivo la interfaz
contiene cinco secciones de las cuales dos son encargadas específicamente del
monitoreo de las diferencias de temperatura que sufra el termopar, una de las secciones
está encargada de tomar medidas de la temperatura en tiempo real mientras que la otra
sección es encargada de tomar un muestreo de la temperatura del termopar cada
segundo por un total de 6 segundos. Las tres secciones restantes se encargan de
complementar los requisitos del reporte que se genera al final de la prueba. En la Figura
41 se muestra la interfaz completa para después explicar cada sección de forma más
clara. A continuación, se listan las secciones que contiene la interfaz:
1. Campos para llenar por el responsable de la prueba.
2. Muestras en tiempo real del termopar.
3. Muestras cada segundo del termopar.
4. Resultados de las fórmulas TPP.
5. Botón para iniciar la prueba en la interface, botón para realizar el Reporte
requerido por el estándar ASTM D4108 e indicador de la conexión USB.
62
Figura 41- Interface en Visual Studio para pruebas con flama directa (Estándar ASTM D4108).
63
3.4.6.1 Campos para llenar por el responsable de la prueba
En esta sección el responsable de la prueba debe de llenar 21 campos con información
relevante para el reporte que pide el estándar ASTM D4108 como se muestra en la Figura
42. Cabe mencionar que los campos para llenar se pueden personalizar a petición de la
empresa Textiles Técnicos. Los campos para llenar incluyen:
Nombre de Reporte:
Empresa:
Responsable de prueba:
Fecha:
Material:
Número de lote:
Muestra de lote:
Número de prueba:
Tipo de gas:
Presión de gas:
Número de prueba de capa simple:
Número de prueba de capa múltiple:
Montaje del espécimen:
Posición del sensor en la muestra:
Ruptura:
Fusión:
Goteo:
Carbonización:
Fragilidad:
Encogimiento:
Encendido:
64
Figura 42- Campos para llenar por el responsable de la prueba.
65
3.4.6.3 Muestras cada segundo del termopar
Está indicado en el estándar ASTM D4108 que se necesita tomar muestras de la
temperatura del termopar cada segundo por un tiempo de 6 segundos por lo que se
muestra en esta sección cada resultado de temperatura por un periodo de 6 segundos.
𝑇𝑃𝑃 𝑟𝑎𝑡𝑖𝑛𝑔 = 𝐹 ∗ 𝑇
𝑊
𝐹 = exposición al flujo de calor,
𝑐𝑚2
𝑇 = tiempo de exposición, 𝑠
66
3.4.6.5 Botón para iniciar la prueba en la interface, botón para realizar el
Reporte requerido por el Estándar ASTM D4108 e indicador de la
conexión USB
Se requieren de solamente dos botones dentro de la interfaz para iniciar la prueba y
realizar el reporte que pide el estándar ASTM D4108 de forma automática. El botón de
INICIAR tiene el propósito de inicializar la prueba y un temporizador el cual, por medio de
programación en Visual Studio, tomará los tiempos requeridos para cada muestreo y la
finalización de la prueba. El botón de REPORTE se presiona al finalizar la prueba, ya que
se han obtenido todos los valores requeridos de muestreos y fórmulas para de esta forma
realizar un documento en Microsoft Office Word que contenga lo requerido por el
estándar. Por último se tiene un indicador para mostrar la conexión entre el Probador
Térmico Textil y la computadora. El indicador tiene un color verde mate y las palabras
USB OFF cuando no hay una conexión exitosa y un color verde limón con las palabas
USB ON cuando es exitosa.
67
Figura 47- Reporte con requisitos del estándar D4108.
68
IV. RESULTADOS
En el desarrollo del prototipo se hicieron algunas mejoras, una de ellas es el empleo del
microcontrolador PIC18F4550 de mejores características, por el PIC16F877. Las pruebas
realizadas se hicieron tanto simuladas como físicas. Las pruebas de simulación se
basaron en el desarrollo del circuito PTT con el programa Proteus, con el cual se
diseñaron varios prototipos para probar cada uno de los componentes y validar la
conectividad entre ellos para obtener el circuito del prototipo completo, tal es el caso de la
comunicación vía USB que transmitir y recibir información mediante full dúplex, con el
propósito de visualizar y validar las temperaturas en la interfaz gráfica desarrollada en
Visual Studio. Por último, la interfaz genera un reporte con fórmulas que cumple con los
estándares ASTM D1518 y ASTM D4108, dando en simulación resultados satisfactorios.
En la parte física se hicieron pruebas para el comportamiento de transferencia de datos,
por medio de la conexión USB junto con la comunicación HID, para visualizar la
temperatura de un solo termopar y mostrarlo en la interfaz gráfica de Visual Studio,
comprobando el enlace exitoso entre el circuito físico y la PC.
69
CONCLUSIONES
El diseño del dispositivo encargado de cubrir los requerimientos del estándar ASTM
D4108 se divide en tres partes, las cuaeles son, el diseño mecánico del dispositivo, el
diseño del circuito de control y la interfaz gráfica. Para cada parte del diseño se utilizaron
programas diferentes, en el diseño mecánico se utilizó el programa de Autodesk Inventor,
en el diseño de circuito se ocupó el programa de Proteus y, por último, para el diseño de
la interfaz gráfica, se utilizó el programa de Visual Studio, ya que cada parte consistía de
diferentes funciones para el Probador Térmico Textil de flama directa. Este dispositivo
queda como prototipo para su desarrollo físico, aunque se debe de tomar en cuenta que
tiene que quedar abierto a mejoras y pruebas físicas de su funcionamiento. En tanto a la
optimización del circuito de control del dispositivo PTT, correspondiente al estándar ASTM
D1518, se obtuvieron resultados satisfactorios en cuanto a su rapidez de respuesta y
funcionamiento en general, cumpliendo así los requisitos del estándar. Se redujo la
cantidad de pines utilizados en el microcontrolador dando oportunidad a la adición de una
comunicación USB, de esta manera, permitiendo la comunicación con la interfaz gráfica
sin tener problemas de desbordamiento de memoria en el microcontrolador como en el
diseño anterior.
70
REFERENCIAS
Biblioman. (s.f.). Comunicación USB-PIC con HID. Obtenido de
http://www.aquihayapuntes.com/indice-practicas-pic-en-c/comunicacion-usb-pic-
con-hid.html
FADISEL. (s.f.). electronicaestudio. Obtenido de Ingenieria Eletrónica y Proyectos
PICmicro: http://www.electronicaestudio.com/microcontrolador.htm
Fernández, D. A. (s.f.). Sistema de Prueba de Transmisión Térmica en elementos textiles.
Jasio, L. D. (2007). Programación de microcontroladores PIC de 16 bits en C: aprender a
volar la tecnología PIC 24 . Newnes.
Joomla. (2000-2017). Academic. Obtenido de www.esacademic.com:
http://www.esacademic.com/dic.nsf/eswiki/1080000
MrElberni. (13 de 09 de 2015). Electricidad y Electrónica. Obtenido de Temas de
electricidad y electrónica: http://mrelberni.blogspot.mx/2015/10/convertidor-
analogico-digital-adc-con.html
Ruan, X. (2014). Convertidores de puente completo PWM de conmutación suave:
topologías, control y diseño. John Wiley & Sons.
Ulmeher, J. M. (s.f.). ibertronica. Obtenido de ¿Sabes Lo Que Es La Función PWM?:
http://www.ibertronica.es/blog/tutoriales/funcion-pwm/
Ulmeher., J. M. (2007). Basic para Microcontroladores PIC. Trafford Publishing, 2007.
USB (Bus de serie universal). (07 de 2017). Obtenido de http://es.ccm.net/contents/407-
usb-bus-de-serie-universal
71
ANEXOS Y APÉNDICES
Lista de materiales del circuito electrónico del PTT (Estándar D1518)
PIC18F4550-I/P
Conector macho para termopar tipo k
Conector hembra termopar tipo k para PCB
3 termistores PTC
7 MAX6675
Teclado matricial de membrana.
Convertidor Digital
Resistencias 10 kW
Resistencias 220 W
Resistencias 330 W
Resistencias 470 W
Resistencias 470 W
Resistencias 560 W
Resistencias 1 KW
resistencia de 8.2kΩ
Resistencias 2 KW
Cable USB para impresora
Conector para USB tipo B Hembra
Eliminador de voltaje de 3500 mA
Conector hembra para fuente de alimentación
7 Termopares Tipo k
LCD 16 X2
Interruptor final de carrera
Placa de cobre doble cara de 25 x 15 cm
3 Diodos led
Sensor de Humedad HiH-5030
3 Capacitores 100UF
Regulador de voltaje 7812
Regulador de voltaje 7805
3 ventiladores
72
Integrado L298
73
Lista de materiales del circuito electrónico (Estándar D4108)
PIC18F4550-I/P
Terminal block
Conector macho para termopar tipo k
Conector hembra termopar tipo k para PCB
Copper Slug Calorimeter Sensor
Interfaz con sensor K Thermocouple to
Convertidor Digital
Teclado matricial de membrana.
Resistencias 10 kW
Resistencias 220 W
Resistencias 330 W
Resistencias 470 W
Resistencias 470 W
Resistencias 560 W
Resistencias 1 kW
resistencia de 8.2 kΩ
Resistencias 2 kW
Cable USB para impresora
Conector para USB tipo B Hembra
Eliminador de voltaje de 3500 mA
Conector hembra para fuente de alimentación
Transistor bipolar npn bc337
Diodo 1N4007
RELAY 5 V
LCD 16 X2
Interruptor final de carrera
Placa de cobre doble cara de 5 x 15 cm
74
Programas utilizados para la elaboración de los proyectos
Programa en Proteus 8.4 para diseño circuito y PCB.
En Proteus 8.4 se instalaron los drivers de Virtual USB.
Programa en Autodesk Inventor 2014 para diseño mecánico.
Programación en MicroC PRO for PIC del microcontrolador 18F4550,
En el programa MicroC PRO for PIC saldrá error al momento de ejecutarlo porque
falta añadir el archivo “USBdsc”, prácticamente ese archivo es el código de la
comunicación USB que se añade a la programación del microcontrolador
18F4550.
Programa en Visual Studio 2015 para diseñar la interfaz del diseño de las fórmulas
y resultado de los estándares ASTM.
El programa Visual Studio necesita añadir un archivo llamado “mcHID.dll” a la
carpeta llamado “SystemWOW64” para el momento de la ejecución en Visual no
marque error de la comunicación HID.
75
y para para mostrar el resultado continuamente se utilizó principalmente el ciclo
For y While para que el programa se ejecute sin interrupciones.
76
sbit MAX6675_CS7 at RE2_Bit;
sbit MAX6675_CS7_Direction at TRISE2_Bit;
char trans1[5];
77
char transBP[5];
char intrTrans[5];
char intrTerm[5];
char intrTResistance[5];
char intrTResistivity[5];
char intrTClo[5];
char specificTClo[5];
char Bulk[5];
7. Variables de control.
int valor; //lectura de temperatura
int control,cntr; //valor del PWM
float a_1,b_1,c_1; //constantes del PID
float temp_limit; //temperatura a alcanzar
float rT,eT,iT,dT,yT,uT,iT0,eT0,iT_1,eT_1; //variables de ecuaciones
float max1,min1; //límites máximo y mínimo de control.
char ctr_text[6];
char texto[8];
char texto2[8];
char texto3[8];
char texto4[8];
char texto5[8];
char texto6[8];
char texto7[8];
char termistor1[6];
char termistor2[6];
char termistor3[6];
char humedad[6];
78
void interrupt(){
Usb_Interrupt_Proc(); //Mantiene viva la comunicacion
void MAX6675_Init()
{
MAX6675_CS_Direction = 0;
MAX6675_CS = 1;
}
unsigned Max6675_Read()
{
unsigned tmp;
MAX6675_CS = 0;
Hi(tmp) = SPI1_Read(0);
Lo(tmp) = SPI1_Read(0);
MAX6675_CS = 1;
return(tmp);
}
//////////////////////////////////////////////////
/////////////////// SENSOR 2 //////////////////
union DOS
79
{
char state2:1;
char deviceID2:1;
char open2:1;
char temperature2:12;
char sign2:1;
unsigned output2;
}Max6675Data2;
void MAX6675_Init2()
{
MAX6675_CS2_Direction = 0;
MAX6675_CS2 = 1;
}
unsigned Max6675_Read2()
{
unsigned tmp2;
MAX6675_CS2 = 0;
Hi(tmp2) = SPI1_Read(0);
Lo(tmp2) = SPI1_Read(0);
MAX6675_CS2 = 1;
return(tmp2);
}
//////////////////////////////////////////////////
/////////////////// SENSOR 3 //////////////////
union TRES
{
char state3:1;
char deviceID3:1;
char open3:1;
char temperature3:12;
char sign3:1;
unsigned output3;
}Max6675Data3;
80
void MAX6675_Init3()
{
MAX6675_CS3_Direction = 0;
MAX6675_CS3 = 1;
}
unsigned Max6675_Read3()
{
unsigned tmp3;
MAX6675_CS3 = 0;
Hi(tmp3) = SPI1_Read(0);
Lo(tmp3) = SPI1_Read(0);
MAX6675_CS3 = 1;
return(tmp3);
}
//////////////////////////////////////////////////
/////////////////// SENSOR 4 //////////////////
union CUATRO
{
char state4:1;
char deviceID4:1;
char open4:1;
char temperature4:12;
char sign4:1;
unsigned output4;
}Max6675Data4;
void MAX6675_Init4()
{
MAX6675_CS4_Direction = 0;
MAX6675_CS4 = 1;
}
unsigned Max6675_Read4()
{
81
unsigned tmp4;
MAX6675_CS4 = 0;
Hi(tmp4) = SPI1_Read(0);
Lo(tmp4) = SPI1_Read(0);
MAX6675_CS4 = 1;
return(tmp4);
}
/////////////////////////////////////////
/////////////////// SENSOR 5 //////////////////
union CINCO
{
char state5:1;
char deviceID5:1;
char open5:1;
char temperature5:12;
char sign5:1;
unsigned output5;
}Max6675Data5;
void MAX6675_Init5()
{
MAX6675_CS5_Direction = 0;
MAX6675_CS5 = 1;
}
unsigned Max6675_Read5()
{
unsigned tmp5;
MAX6675_CS5 = 0;
Hi(tmp5) = SPI1_Read(0);
Lo(tmp5) = SPI1_Read(0);
MAX6675_CS5 = 1;
return(tmp5);
}
/////////////////////////////////////////
82
/////////////////// SENSOR 6 //////////////////
union SEIS
{
char state6:1;
char deviceID6:1;
char open6:1;
char temperature6:12;
char sign6:1;
unsigned output6;
}Max6675Data6;
void MAX6675_Init6()
{
MAX6675_CS6_Direction = 0;
MAX6675_CS6 = 1;
}
unsigned Max6675_Read6()
{
unsigned tmp6;
MAX6675_CS6 = 0;
Hi(tmp6) = SPI1_Read(0);
Lo(tmp6) = SPI1_Read(0);
MAX6675_CS6 = 1;
return(tmp6);
}
/////////////////////////////////////////
/////////////////// SENSOR 7 //////////////////
union SIETE
{
char state7:1;
char deviceID7:1;
char open7:1;
char temperature7:12;
char sign7:1;
83
unsigned output7;
}Max6675Data7;
void MAX6675_Init7()
{
MAX6675_CS7_Direction = 0;
MAX6675_CS7 = 1;
}
unsigned Max6675_Read7()
{
unsigned tmp7;
MAX6675_CS7 = 0;
Hi(tmp7) = SPI1_Read(0);
Lo(tmp7) = SPI1_Read(0);
MAX6675_CS7 = 1;
return(tmp7);
}
84
}
else if((adc0>610)&&(adc0<625))
{k='5';
}
else if((adc0>480)&&(adc0<490))
{k='6';
}
else if((adc0>860)&&(adc0<870))
{k='7';
}
else if((adc0>640)&&(adc0<655))
{k='8';
}
else if((adc0>500)&&(adc0<515))
{k='9';
}
else if((adc0>690)&&(adc0<700))
{k='A';
}
else if((adc0>440)&&(adc0<455))
{k='I';
}
}
void InitMain() {
ADCON1 = 0x0A; //// Puertos analógicos de A0 a A4
TRISA = 0xFF; /// Puerto A como entradas
PORTB=0;
TRISB=0;
PORTE=0;
TRISE=0x01;
PORTC=0;
TRISC=0;
// PORTD=0;
TRISD2_Bit=0;
85
TRISD3_Bit=0;
// PWM1_Init(2000); // Initialize PWM1 module at 5KHz
}
////////////////////////////////////////
void main()
{
InitMain();
// MAX6675_Init();
/// INICIALIZA LIBRERIA LCD ///
Lcd_Init();
Lcd_Cmd( _LCD_CURSOR_OFF );
Lcd_Cmd( _LCD_CLEAR );
86
Lcd_Out( 1, 3, "STANDARD TEST" );
Lcd_Out( 2, 1, "METHOD FOR THERM" );
Delay_ms( 1000 );
Lcd_Out( 1, 1, "TRANSMITTANCE OF" );
Lcd_Out( 2, 1, "TEXTILE MATERIALS" );
/*PWM1_Start(); // start PWM1
Delay_ms(100);*/
ADC_Init();
Delay_ms( 1000 );
Lcd_Cmd( _LCD_CLEAR );
while(1)
{
12. Código de inicio para empezar el Test
while(k!='A' && k!='I'){ // no se precione en el teclado A E I
adc0 = ADC_Read(0);
teclado();
Lcd_Out( 1, 1, "Preciona ON/C " );
Lcd_Out( 2, 1, "para iniciar prueba" );
if(k=='A'){
Lcd_Cmd( _LCD_CLEAR );
}
PORTC.F0=1; //LED STOP
}
13. Código para verificar que la tapa este cerrado.
while (PORTE.F0==0){
Lcd_Out( 1, 1, "Para iniciar prueba" );
Lcd_Out( 2, 1, " cerrar la tapa" );
if(PORTE.F0==1){
Lcd_Cmd( _LCD_CLEAR );
}
PORTC.F0=1; //LED STOP
PORTD.F2=0; //LED INICIO
PORTD.F3=0; //LED EJECUCIÓN
87
}
PORTC.F0=0; //LED STOP
PORTD.F2=1; //LED INICIO
PORTD.F3=0; //LED EJECUCIÓN
/// CODIGO PARA REVISAR DATOS /////
while(k!='I'){
if(PORTE.F0==1){
PORTC.F0=0; //LED STOP
PORTD.F2=1; //LED INICIO
PORTD.F3=0; //LED EJECUCIÓN
adc0 = ADC_Read(0);
teclado();
// Lcd_Chr(1,1,k);
Lcd_Out( 1, 1, "Pres = para iniciar");
Lcd_Out( 2, 1, "t=0.2mm A=0.065m2" ); //PROPUESTA ESPESOR T=0.2mm y
Área= 0.065m2
if(k=='I'){
Lcd_Cmd( _LCD_CLEAR );
band=1;
Delay_ms(10);
}
}
}
88
15. Código principal de cálculos y envió de datos USB
while(band==1){
//leds indicadores
// leer teclado
adc0 = ADC_Read(0); // Lee analógico A0 TECLADO
teclado();
WordToStr ( adc0, adc ); // convierte entero a cadena para vizualizar en LCD
89
valor = ADC_Read(4); // Lee analógico A0 TECLADO
Delay_ms( 1 );
yT=valor*5000.0/1024.0; //conversión a mV (0.25V a 250mV)
rT=temp_limit;
eT=rT-yT; //Cálculo error
iT=b_1*eT+iT0; //Cálculo del término integral
dT=c_1*(eT-eT0); //Cálculo del término derivativo
uT=iT+a_1*eT+dT; //Cálculo de la salida PID
if (uT>max1) { //Salida PID si es mayor que el MAX
uT=max1;}
else {
if (uT<min1){ //Salida PID si es menor que el MIN
uT=min1;}
}
control=uT;
PWM1_Set_Duty(control); // Set current duty for PWM1
if(cntr!=control){
Lcd_Cmd( _LCD_CLEAR );
}
iT0=iT; //Guardar variables
eT0=eT;
cntr=control;
FloatToStr ( control, ctr_text ); // convierte entero a cadena para vizualizar en LCD
Lcd_Out(2,1,ctr_text);*/
90
MAX6675_Init2();
*(unsigned*)&Max6675Data2 = MAX6675_Read2();
WordToStr( Max6675Data2.temperature2 >> 1, texto2 );
// Lcd_Out( 1, 5, texto2+2 );
91
/// CONVIERTE DE cadena a entero
temp1=atoi(texto);
temp2=atoi(texto2);
temp3=atoi(texto3);
temp4=atoi(texto4);
temp5=atoi(texto5);
temp6=atoi(texto6);
temp7=atoi(texto7);
92
17. Formulas de la Norma.
U1=P_l/(Area*(temp7 - temp1)); //// Cálculo de U1
Ubp=U1*1.2; /// Ver 9.5 DE NORMA pruebas físicas
93
}
18. Borrado de pantalla cada vez que cambia el valor del teclado.
if(k1!=k){
Lcd_Cmd( _LCD_CLEAR );
}
// VERIFICA QUE DURANTE LA EJECUCIÓN NO SE HABRA LA TAPA
if(PORTE.F0==0){
band=0;
Lcd_Cmd( _LCD_CLEAR );
}
Escribir_USB[10] = temp1;
Escribir_USB[11] = temp2;
Escribir_USB[12] = temp3;
Escribir_USB[13] = temp4;
Escribir_USB[14] = temp5;
Escribir_USB[15] = temp6;
Escribir_USB[16] = temp7;
Escribir_USB[17] = Hi(adc1);
Escribir_USB[18] = Lo(adc1);
while(!HID_Write(&Escribir_USB, 64));
Delay_ms( 100 );
// GUARDA UN CAMBIO DEL TECLADO
k1=k;
}
}
94
Programación en MikroC PRO for PIC para el microcontrolador PIC18F4550
(Estándar ASTM D4108)
///// Configuración de LCD ////
#include <built_in.h>
sbit LCD_RS at RD1_bit;
sbit LCD_EN at RD0_bit;
sbit LCD_D4 at RD4_bit;
sbit LCD_D5 at RD5_bit;
sbit LCD_D6 at RD6_bit;
sbit LCD_D7 at RD7_bit;
sbit LCD_RS_Direction at TRISD1_bit;
sbit LCD_EN_Direction at TRISD0_bit;
sbit LCD_D4_Direction at TRISD4_bit;
sbit LCD_D5_Direction at TRISD5_bit;
sbit LCD_D6_Direction at TRISD6_bit;
sbit LCD_D7_Direction at TRISD7_bit;
95
/// variables para comunicacion usb
unsigned char Leer_USB[64] absolute 0x500;
unsigned char Escribir_USB[64] absolute 0x540;
unsigned char Reservar_USB[256] absolute 0x400;
char trans1[5];
char transBP[5];
char intrTrans[5];
96
char intrTerm[5];
char intrTResistance[5];
char intrTResistivity[5];
char intrTClo[5];
char specificTClo[5];
char Bulk[5];
char texto[8];
char texto2[8];
char texto3[8];
char texto4[8];
char texto5[8];
char texto6[8];
char texto7[8];
char termistor1[6];
char termistor2[6];
char termistor3[6];
char humedad[6];
97
}
/////////////////// SENSOR 1 //////////////////
union UNO
{
char state:1;
char deviceID:1;
char open:1;
char temperature:12;
char sign:1;
unsigned output;
}Max6675Data;
void MAX6675_Init()
{
MAX6675_CS_Direction = 0;
MAX6675_CS = 1;
}
unsigned Max6675_Read()
{
unsigned tmp;
MAX6675_CS = 0;
Hi(tmp) = SPI1_Read(0);
Lo(tmp) = SPI1_Read(0);
MAX6675_CS = 1;
return(tmp);
}
//////////////////////////////////////////////////
/////////////////// SENSOR 2 //////////////////
union DOS
{
char state2:1;
char deviceID2:1;
char open2:1;
char temperature2:12;
98
char sign2:1;
unsigned output2;
}Max6675Data2;
void MAX6675_Init2()
{
MAX6675_CS2_Direction = 0;
MAX6675_CS2 = 1;
}
unsigned Max6675_Read2()
{
unsigned tmp2;
MAX6675_CS2 = 0;
Hi(tmp2) = SPI1_Read(0);
Lo(tmp2) = SPI1_Read(0);
MAX6675_CS2 = 1;
return(tmp2);
}
//////////////////////////////////////////////////
/////////////////// SENSOR 3 //////////////////
union TRES
{
char state3:1;
char deviceID3:1;
char open3:1;
char temperature3:12;
char sign3:1;
unsigned output3;
}Max6675Data3;
void MAX6675_Init3()
{
MAX6675_CS3_Direction = 0;
MAX6675_CS3 = 1;
99
}
unsigned Max6675_Read3()
{
unsigned tmp3;
MAX6675_CS3 = 0;
Hi(tmp3) = SPI1_Read(0);
Lo(tmp3) = SPI1_Read(0);
MAX6675_CS3 = 1;
return(tmp3);
}
//////////////////////////////////////////////////
/////////////////// SENSOR 4 //////////////////
union CUATRO
{
char state4:1;
char deviceID4:1;
char open4:1;
char temperature4:12;
char sign4:1;
unsigned output4;
}Max6675Data4;
void MAX6675_Init4()
{
MAX6675_CS4_Direction = 0;
MAX6675_CS4 = 1;
}
unsigned Max6675_Read4()
{
unsigned tmp4;
MAX6675_CS4 = 0;
Hi(tmp4) = SPI1_Read(0);
Lo(tmp4) = SPI1_Read(0);
MAX6675_CS4 = 1;
100
return(tmp4);
}
/////////////////////////////////////////
/////////////////// SENSOR 5 //////////////////
union CINCO
{
char state5:1;
char deviceID5:1;
char open5:1;
char temperature5:12;
char sign5:1;
unsigned output5;
}Max6675Data5;
void MAX6675_Init5()
{
MAX6675_CS5_Direction = 0;
MAX6675_CS5 = 1;
}
unsigned Max6675_Read5()
{
unsigned tmp5;
MAX6675_CS5 = 0;
Hi(tmp5) = SPI1_Read(0);
Lo(tmp5) = SPI1_Read(0);
MAX6675_CS5 = 1;
return(tmp5);
}
/////////////////////////////////////////
/////////////////// SENSOR 6 //////////////////
union SEIS
{
char state6:1;
char deviceID6:1;
101
char open6:1;
char temperature6:12;
char sign6:1;
unsigned output6;
}Max6675Data6;
void MAX6675_Init6()
{
MAX6675_CS6_Direction = 0;
MAX6675_CS6 = 1;
}
unsigned Max6675_Read6()
{
unsigned tmp6;
MAX6675_CS6 = 0;
Hi(tmp6) = SPI1_Read(0);
Lo(tmp6) = SPI1_Read(0);
MAX6675_CS6 = 1;
return(tmp6);
}
/////////////////////////////////////////
/////////////////// SENSOR 7 //////////////////
union SIETE
{
char state7:1;
char deviceID7:1;
char open7:1;
char temperature7:12;
char sign7:1;
unsigned output7;
}Max6675Data7;
void MAX6675_Init7()
102
{
MAX6675_CS7_Direction = 0;
MAX6675_CS7 = 1;
}
unsigned Max6675_Read7()
{
unsigned tmp7;
MAX6675_CS7 = 0;
Hi(tmp7) = SPI1_Read(0);
Lo(tmp7) = SPI1_Read(0);
MAX6675_CS7 = 1;
return(tmp7);
}
/////////////////////////////////////////
103
}
else if((adc0>480)&&(adc0<490))
{k='6';
}
else if((adc0>860)&&(adc0<870))
{k='7';
}
else if((adc0>640)&&(adc0<655))
{k='8';
}
else if((adc0>500)&&(adc0<515))
{k='9';
}
else if((adc0>690)&&(adc0<700))
{k='A';
}
else if((adc0>440)&&(adc0<455))
{k='I';
}
}
void InitMain() {
ADCON1 = 0x0A; //// Puertos analógicos de A0 a A4
TRISA = 0xFF; /// Puerto A como entradas
PORTB=0;
TRISB=0;
PORTE=0;
TRISE=0x01;
PORTC=0;
TRISC=0;
// PORTD=0;
TRISD2_Bit=0;
TRISD3_Bit=0;
// PWM1_Init(2000); // Initialize PWM1 module at 5KHz
}
104
////////////////////////////////////////
void main()
{
InitMain();
// MAX6675_Init();
/// INICIALIZA LIBRERIA LCD ///
Lcd_Init();
Lcd_Cmd( _LCD_CURSOR_OFF );
Lcd_Cmd( _LCD_CLEAR );
105
Lcd_Out( 1, 1, "TRANSMITANCIA TERMICA" );
Lcd_Out( 2, 1, "MATERIALES TEXTILES" );
/*PWM1_Start(); // start PWM1
Delay_ms(100);*/
ADC_Init();
Delay_ms( 1000 );
Lcd_Cmd( _LCD_CLEAR );
while(1)
{
//// CODIGO DE INICIO PARA EMPEZAR EL TEST ////
while(k!='A' && k!='I'){ // no se precione en el teclado A E I
adc0 = ADC_Read(0);
teclado();
Lcd_Out( 1, 1, "Preciona ON/C " );
Lcd_Out( 2, 1, "para iniciar prueba" );
if(k=='A'){
Lcd_Cmd( _LCD_CLEAR );
band=1;
}
PORTC.F0=1; //LED STOP
}
106
PORTC.F0=0; //LED STOP
PORTD.F2=1; //LED INICIO
PORTD.F3=0; //LED EJECUCIÓN
/// CODIGO PARA REVISAR DATOS /////
while(k!='I'){
if(PORTE.F0==1){
PORTC.F0=0; //LED STOP
PORTD.F2=1; //LED INICIO
PORTD.F3=0; //LED EJECUCIÓN
adc0 = ADC_Read(0);
teclado();
// Lcd_Chr(1,1,k);
Lcd_Out( 1, 1, "Pres = para iniciar");
Lcd_Out( 2, 1, "t=0.2mm A=0.065m2" ); //PROPUESTA ESPESOR T=0.2mm y
Área= 0.065m2
if(k=='I'){
Lcd_Cmd( _LCD_CLEAR );
band=1;
Delay_ms(10);
}
}
107
while(band==1){
//leds indicadores
// leer teclado
adc0 = ADC_Read(0); // Lee analógico A0 TECLADO
teclado();
WordToStr ( adc0, adc ); // convierte entero a cadena para vizualizar en LCD
108
Delay_ms( 1 );
yT=valor*5000.0/1024.0; //conversión a mV (0.25V a 250mV)
rT=temp_limit;
eT=rT-yT; //Cálculo error
iT=b_1*eT+iT0; //Cálculo del término integral
dT=c_1*(eT-eT0); //Cálculo del término derivativo
uT=iT+a_1*eT+dT; //Cálculo de la salida PID
if (uT>max1) { //Salida PID si es mayor que el MAX
uT=max1;}
else {
if (uT<min1){ //Salida PID si es menor que el MIN
uT=min1;}
}
control=uT;
PWM1_Set_Duty(control); // Set current duty for PWM1
if(cntr!=control){
Lcd_Cmd( _LCD_CLEAR );
}
iT0=iT; //Guardar variables
eT0=eT;
cntr=control;
FloatToStr ( control, ctr_text ); // convierte entero a cadena para vizualizar en LCD
Lcd_Out(2,1,ctr_text);*/
109
*(unsigned*)&Max6675Data2 = MAX6675_Read2();
WordToStr( Max6675Data2.temperature2 >> 1, texto2 );
// Lcd_Out( 1, 5, texto2+2 );
110
temp1=atoi(texto);
temp2=atoi(texto2);
temp3=atoi(texto3);
temp4=atoi(texto4);
temp5=atoi(texto5);
temp6=atoi(texto6);
temp7=atoi(texto7);
//////////// CONTROL VENTILADORES ///////
111
Ubp=U1*1.2; /// Ver 9.5 DE NORMA pruebas físicas
112
if(k1!=k){
Lcd_Cmd( _LCD_CLEAR );
}
// VERIFICA QUE DURANTE LA EJECUCIÓN NO SE HABRA LA TAPA
if(PORTE.F0==0){
band=0;
Lcd_Cmd( _LCD_CLEAR );
}
Escribir_USB[10] = temp1;
Escribir_USB[11] = temp2;
Escribir_USB[12] = temp3;
Escribir_USB[13] = temp4;
Escribir_USB[14] = temp5;
Escribir_USB[15] = temp6;
Escribir_USB[16] = temp7;
Escribir_USB[17] = Hi(adc1);
Escribir_USB[18] = Lo(adc1);
while(!HID_Write(&Escribir_USB, 64));
Delay_ms( 100 );
// GUARDA UN CAMBIO DEL TECLADO
k1=k;
}
}
113
Programación en Visual Studio para la Interface del Probador Térmico Textil
(Estándar ASTM D1518)
1. Declaración de librerías usadas para la comunicación con Microsoft Word.
Imports Microsoft.Office.Interop.Word
Imports System.IO
Imports Microsoft.Office.Interop
2. Inicio de programación.
Public Class Form1
114
Dim R As Integer 'Resistance
Dim R_Prima As Integer 'Resistivity
115
Dim dato As Byte 'PWM2
' ****************************************************************
' Cuando iniciamos la Simulacion, Lo primero que
' Se carga es el Formulario e iniciamos la coneccion HID
'*****************************************************************
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
GroupBox3.Enabled = False
ConnectToHID(Me) ' No Remover
End Sub
'*****************************************************************
' Desconectamos el HID, cuando cerramos el formulario
'*****************************************************************
Private Sub Form1_FormClosed(ByVal sender As Object, ByVal e As
System.Windows.Forms.FormClosedEventArgs) Handles MyBase.FormClosed
DisconnectFromHID()
End Sub
'*****************************************************************
' Se conecto un dispositivo!
'*****************************************************************
Public Sub OnPlugged(ByVal pHandle As Integer)
If hidGetVendorID(pHandle) = VendorID And hidGetProductID(pHandle) = ProductID
Then
' ** Escriba el codigo que quiera, luego que se Conecto el Tutorial_1._1 **
Label1.Text = "USB ON"
OvalShape1.BackColor = Color.Lime
GroupBox3.Enabled = True
Termopar1 = True
Termopar2 = True
Termopar3 = True
Termopar4 = True
Termopar5 = True
116
Termopar6 = True
Termopar7 = True
Termistor1 = True
Termistor2 = True
Termistor3 = True
Humedad1 = True
'Timer1 = True
End If
End Sub
'*****************************************************************
' Se desconecto
'*****************************************************************
Public Sub OnUnplugged(ByVal pHandle As Integer)
If hidGetVendorID(pHandle) = VendorID And hidGetProductID(pHandle) = ProductID
Then
hidSetReadNotify(hidGetHandle(VendorID, ProductID), False)
' ** Escriba el codigo que quiera XD **
Label1.Text = "USB OFF"
OvalShape1.BackColor = Color.DarkGreen
GroupBox3.Enabled = False
Termopar1 = False
Termopar2 = False
Termopar3 = False
Termopar4 = False
Termopar5 = False
Termopar6 = False
Termopar7 = False
Termistor1 = False
Termistor2 = False
Termistor3 = False
Humedad1 = False
'Timer1 = False
End If
117
End Sub
'*****************************************************************
' Mantenemos viva la comunicacion
' No tocar!
'*****************************************************************
Public Sub OnChanged()
' Evento que nos indica si hay datos para leer
' La condicion es TRUE, si se recibieron datos del PIC
Dim pHandle As Integer
pHandle = hidGetHandle(VendorID, ProductID)
hidSetReadNotify(hidGetHandle(VendorID, ProductID), True)
End Sub
118
ProgressBar14.Value = Val(BufferIn(18))
ProgressBar13.Value = Val(BufferIn(19))
ProgressBar12.Value = Val(BufferIn(20))
ProgressBar10.Value = Val(BufferIn(21))
Label5.Text = Val(BufferIn(11))
Label12.Text = Val(BufferIn(12))
Label13.Text = Val(BufferIn(13)) + 1
Label14.Text = Val(BufferIn(14)) + 1
Label15.Text = Val(BufferIn(15)) + 1
Label16.Text = Val(BufferIn(16)) + 1
Label18.Text = Val(BufferIn(17))
Label38.Text = Val(BufferIn(21)) / 3
End If
End Sub
10. Fuentes usadas para guardar el reporte y para adquirir la guía del reporte.
File.Copy("C:\Reporte\PRUEBA.docx", "C:\Users\Diego\Desktop\" +
NombreDocumento + ".docx")
Documento = MSWord.Documents.Open("C:\Users\Diego\Desktop/" +
NombreDocumento + ".docx")
119
11. Configuración para asignar la relación de los TextBox con los marcadores en el
reporte de Microsoft Word.
Documento.Bookmarks.Item("Empresa").Range.Text = Empresa1.Text
Documento.Bookmarks.Item("NombreResponsable").Range.Text = RespPrueba.Text
Documento.Bookmarks.Item("Fecha").Range.Text = Fecha1.Text
Documento.Bookmarks.Item("DesMat").Range.Text = DesMaterial.Text
Documento.Bookmarks.Item("DesMet").Range.Text = DesMetodo.Text
Documento.Bookmarks.Item("Mean").Range.Text = Tm.Text
Documento.Bookmarks.Item("U_b_p").Range.Text = Ubp.Text
Documento.Bookmarks.Item("U_1_").Range.Text = U1.Text
Documento.Bookmarks.Item("U_2_").Range.Text = U2.Text
Documento.Bookmarks.Item("Peso").Range.Text = Peso1.Text
Documento.Bookmarks.Item("Espesor").Range.Text = Espesor1.Text
Documento.Bookmarks.Item("Den").Range.Text = Density.Text
Documento.Bookmarks.Item("Cond").Range.Text = Conductivity.Text
Documento.Bookmarks.Item("Rece").Range.Text = Resistance.Text
Documento.Bookmarks.Item("Rety").Range.Text = Resistivity.Text
Documento.Bookmarks.Item("Temp").Range.Text = Temperatura.Text
Documento.Bookmarks.Item("Hum").Range.Text = H
Documento.Save()
MSWord.Visible = True
End Sub
12. Configuración para la función del botón INICIO, el cual sirve para comenzar a tomar
los muestreos, mostrarlos en los TextBoxs y resolver las formulas al tener la última
lectura de muestreo.
'/////////////////////////////// FUNCIONAMIENTO DE BOTON *INICIO* //////////////////////////////////////
Private Sub ButtonINICIAR_Click(sender As System.Object, e As System.EventArgs)
Handles ButtonINICIAR.Click
a=0
120
13. Configuración para los intervalos de tiempo entre cada muestreo.
Timer1.Interval = 1000 'Velocidad obtencion de datos en la grafica
Timer1.Start()
121
TextBox21.AppendText("Termistor 3 " & vbCrLf)
TextBox21.AppendText("Hora " & vbTab & " Temperatura" & vbCrLf)
'///////////// MUESTRA DE HUMEDAD ///////////////////////////////
TextBox22.AppendText("Sensor de Humedad " & vbCrLf)
TextBox22.AppendText("Hora " & vbTab & " Humedad" & vbCrLf)
End Sub
18. Configuración para actualizar los valores de las variables HORA y la de los
termopares para mostrarlos en los TextBoxs.
TextBox11.AppendText(HORA & vbTab & Termopar1 & vbCrLf)
TextBox14.AppendText(HORA & vbTab & Termopar2 & vbCrLf)
TextBox17.AppendText(HORA & vbTab & Termopar3 & vbCrLf)
TextBox18.AppendText(HORA & vbTab & Termopar4 & vbCrLf)
TextBox12.AppendText(HORA & vbTab & Termopar5 & vbCrLf)
122
TextBox15.AppendText(HORA & vbTab & Termopar6 & vbCrLf)
TextBox19.AppendText(HORA & vbTab & Termopar7 & vbCrLf)
TextBox13.AppendText(HORA & vbTab & Termistor1 & vbCrLf)
TextBox16.AppendText(HORA & vbTab & Termistor2 & vbCrLf)
TextBox21.AppendText(HORA & vbTab & Termistor3 & vbCrLf)
TextBox22.AppendText(HORA & vbTab & Humedad1 & vbCrLf)
a=a+1
If (a > 9) Then
Timer1.Stop()
End If
19. Configuración para realizar las formulas después del último muestreo.
'///////////////////////////////////////// FORMULAS /////////////////////////////////////////////////////////////
If (a = 10) Then
123
Ubp.Text = P / (Area * (T_p - T_a))
U_bp = (P / (Area * (T_p - T_a))) + 10 'Se añadio una suma al final de la formula
para que no saliera 0 en U2
'/////////////////////////////// U1 /////////////////////////////////////////////
U1.Text = P / (Area * (T_p - T_a))
U_1 = (P / (Area * (T_p - T_a))) + 2 'Se añadio una suma al final de la formula para
que no saliera 0 en U2
'/////////////////////////////// U2 /////////////////////////////////////////////
U2.Text = (U_bp * U_1) / (U_bp - U_1)
U_2 = (U_bp * U_1) / (U_bp - U_1)
'/////////////////////////////// BULK DENSITY ///////////////////////////////////
Density.Text = (M / AreaTela) / t
B = (M / AreaTela) / t
'B = M / t
'/////////////////////////////// Thermal Conductivity ///////////////////////////
Conductivity.Text = U_2 * t_i / 1000
k = U_2 * t_i / 1000
'/////////////////////////////// Thermal Resistance /////////////////////////////
Resistance.Text = 1 / U_2
R = 1 / U_2
'/////////////////////////////// Thermal Resistivity ////////////////////////////
Resistivity.Text = 1 / (U_2 * t_i / 1000)
'R_Prima = 1 / k 'SE COMENTA ESTA LINEA PORQUE NO SE PUEDE
GUARDAR UNA VARIABLE CON VALOR INFINITO
End If
End Sub
End Class
124
Programación en Visual Studio para el Estándar ASTM D4108
1. Declaración de librerías usadas para la comunicación con Microsoft Word.
Imports Microsoft.Office.Interop.Word
Imports System.IO
Imports Microsoft.Office.Interop
2. Inicio de programación.
Public Class Form1
125
'//////////////////////////////////////////////////// COMUNICACION HID ////////////////////////////////////////////////
' IDs del VID y PID
Private Const VendorID As Integer = &H1234 'Remplace si
Private Const ProductID As Integer = &H1 'Utiliza otro
' ****************************************************************
' Cuando iniciamos la Simulacion, Lo primero que
' Se carga es el Formulario e iniciamos la coneccion HID
'*****************************************************************
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
GroupBox3.Enabled = False
ConnectToHID(Me) ' No Remover
End Sub
'*****************************************************************
' Desconectamos el HID, cuando cerramos el formulario
'*****************************************************************
Private Sub Form1_FormClosed(ByVal sender As Object, ByVal e As
System.Windows.Forms.FormClosedEventArgs) Handles MyBase.FormClosed
DisconnectFromHID()
End Sub
'*****************************************************************
126
' Se conecto un dispositivo!
'*****************************************************************
Public Sub OnPlugged(ByVal pHandle As Integer)
If hidGetVendorID(pHandle) = VendorID And hidGetProductID(pHandle) = ProductID
Then
' ** Escriba el codigo que quiera, luego que se Conecto el Tutorial_1._1 **
Label1.Text = "USB ON"
OvalShape1.BackColor = Color.Lime
GroupBox3.Enabled = True
Termopar1 = True
End If
End Sub
'*****************************************************************
' Se desconecto
'*****************************************************************
Public Sub OnUnplugged(ByVal pHandle As Integer)
If hidGetVendorID(pHandle) = VendorID And hidGetProductID(pHandle) = ProductID
Then
hidSetReadNotify(hidGetHandle(VendorID, ProductID), False)
' ** Escriba el codigo que quiera XD **
Label1.Text = "USB OFF"
OvalShape1.BackColor = Color.DarkGreen
GroupBox3.Enabled = False
Termopar1 = False
'Timer1 = False
End If
End Sub
'*****************************************************************
' Mantenemos viva la comunicacion
' No tocar!
127
'*****************************************************************
Public Sub OnChanged()
' Evento que nos indica si hay datos para leer
' La condicion es TRUE, si se recibieron datos del PIC
Dim pHandle As Integer
pHandle = hidGetHandle(VendorID, ProductID)
hidSetReadNotify(hidGetHandle(VendorID, ProductID), True)
End Sub
Label5.Text = Val(BufferIn(11))
End If
End Sub
128
'/////////////////////////////////// FUNCIONAMIENTO DE BOTON *REPORTE* //////////////////////////
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
NombreDocumento = NombreDoc.Text
9. Fuentes usadas para guardar el reporte y para adquirir la guía del reporte.
File.Copy("C:\Reporte\Reporte de ASTM D4108.docx", "C:\Users\Diego\Desktop\" +
NombreDocumento + ".docx")
Documento = MSWord.Documents.Open("C:\Users\Diego\Desktop/" +
NombreDocumento + ".docx")
10. Configuración para asignar la relación de los TextBox con los marcadores en el
reporte de Microsoft Word.
Documento.Bookmarks.Item("empresa").Range.Text = empresa1.Text
Documento.Bookmarks.Item("responsable").Range.Text = responsable1.Text
Documento.Bookmarks.Item("fecha").Range.Text = fecha1.Text
Documento.Bookmarks.Item("material").Range.Text = material1.Text
Documento.Bookmarks.Item("Nlote").Range.Text = Nlote1.Text
Documento.Bookmarks.Item("Mlote").Range.Text = Mlote1.Text
Documento.Bookmarks.Item("Nprueba").Range.Text = Nprueba1.Text
Documento.Bookmarks.Item("Tgas").Range.Text = Tgas1.Text
Documento.Bookmarks.Item("Pgas").Range.Text = Pgas1.Text
Documento.Bookmarks.Item("Csimple").Range.Text = Csimple1.Text
Documento.Bookmarks.Item("Cmultiple").Range.Text = Cmultiple1.Text
Documento.Bookmarks.Item("montaje").Range.Text = montaje1.Text
Documento.Bookmarks.Item("posicion").Range.Text = posicion1.Text
Documento.Bookmarks.Item("tpp").Range.Text = PromedioTPP.Text
Documento.Bookmarks.Item("ruptura").Range.Text = ruptura1.Text
Documento.Bookmarks.Item("fusion").Range.Text = fusion1.Text
Documento.Bookmarks.Item("goteo").Range.Text = goteo1.Text
Documento.Bookmarks.Item("carbo").Range.Text = carbo1.Text
Documento.Bookmarks.Item("fragilidad").Range.Text = fragilidad1.Text
Documento.Bookmarks.Item("encogimiento").Range.Text = encogimiento1.Text
Documento.Bookmarks.Item("encendido").Range.Text = encendido1.Text
129
Documento.Save()
MSWord.Visible = True
End Sub
11. Configuración para la función del botón INICIO, el cual sirve para comenzar a tomar
los muestreos, mostrarlos en el TextBox y resolver las formulas al tener la última
lectura de muestreo.
'/////////////////////////////// FUNCIONAMIENTO DE BOTON *INICIO*
///////////////////////////////////////////////////////////
Private Sub ButtonINICIAR_Click(sender As System.Object, e As System.EventArgs)
Handles ButtonINICIAR.Click
T=0
End Sub
130
17. Configuración para actualizar los valores de las variables HORA y del termopar para
mostrarlos en el TextBox.
TextBox11.AppendText(HORA & vbTab & Termopar1 & vbCrLf)
T=T+1
If (T > 5) Then
Timer1.Stop()
End If
18. Configuración para realizar las formulas después del último muestreo.
'///////////////////////////////////////// FORMULAS /////////////////////////////////////////////////////////////
If (T = 1) Then
131
If (T = 4) Then
F4 = (Termopar1 / 8.9) * 5
'//////////////////////////////////// TPP 4 //////////////////////////////////////
Tpp4.Text = F4 * T
R4 = F1 * T
End If
If (T = 5) Then
F5 = (Termopar1 / 8.9) * 5
'//////////////////////////////////// TPP 5 //////////////////////////////////////
Tpp5.Text = F5 * T
R5 = F1 * T
End If
If (T = 6) Then
F6 = (Termopar1 / 8.9) * 5
'//////////////////////////////////// TPP 6 //////////////////////////////////////
Tpp6.Text = F6 * T
R6 = F1 * T
PromedioTPP.Text = (R1 + R2 + R3 + R4 + R5 + R6) / 6
End If
End Sub
End Class
132