82
Proyecto: Ohmnímetro de 8 canales para medir sensores de gases Ohmnímetro de 8 canales para medir sensores de gases. TITULACIÓN: Ingeniería Técnica Industrial en Electrónica Industrial AUTOR: Carlos Ramos Guinart DIRECTORES: Raúl Calavia, Eduard Llobet FECHA: Mayo del 2012.

TITULACIÓN: Ingeniería Técnica Industrial en Electrónica ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1951pub.pdf · ... DOS EN ÓXIDOS METÁLICOS CON RESISTENCIA DE CARGA ... causa

Embed Size (px)

Citation preview

Page 1: TITULACIÓN: Ingeniería Técnica Industrial en Electrónica ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1951pub.pdf · ... DOS EN ÓXIDOS METÁLICOS CON RESISTENCIA DE CARGA ... causa

Proyecto: Ohmnímetro de 8 canales para medir sensores de gases

Ohmnímetro de 8 canales para medir sensores de gases.

TITULACIÓN: Ingeniería Técnica Industrial en Electrónica Industrial

AUTOR: Carlos Ramos Guinart

DIRECTORES: Raúl Calavia, Eduard Llobet

FECHA: Mayo del 2012.

Page 2: TITULACIÓN: Ingeniería Técnica Industrial en Electrónica ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1951pub.pdf · ... DOS EN ÓXIDOS METÁLICOS CON RESISTENCIA DE CARGA ... causa

Proyecto: Ohmnímetro de 8 canales para medir sensores de gases

2

Índice

1. INTRODUCCIÓN.................................................................................................................................... 4 1.1 SENSORES DE GASES BASADOS EN ÓXIDOS METÁLICOS ................................................................... 5

1.1.1 Fundamentos teóricos................................................................................................................ 5 1.1.2 Sensores de gases comerciales: Figaro sensors........................................................................ 7

1.2 SISTEMAS DE ANÁLISIS DE GASES PORTÁTIL ................................................................................... 9 1.2.1 Necesidad de sistemas de análisis de gases portátil.................................................................. 9 1.2.2 Aplicaciones de sistemas de análisis de gases portátil.............................................................. 9

2. MEMORIA DESCRIPTIVA.................................................................................................................... 10 2.1 SISTEMA MEDIDOR DE SENSORES DE GASES BASADOS EN ÓXIDOS METÁLICOS CON RESISTENCIA DE CARGA ADAPTATIVA. OBJETIVOS. ................................................................................................................... 10 2.2 DESCRIPCIÓN GENERAL DEL SISTEMA ......................................................................................... 12

2.2.1 Alimentación............................................................................................................................ 12 2.2.2 Switch de entrada .................................................................................................................... 13 2.2.3 Divisor de tensión.................................................................................................................... 13 2.2.4 Conexión con multímetro externo............................................................................................ 15 2.2.5 Tarjeta SD ............................................................................................................................... 16 2.2.6 Barra de Leds .......................................................................................................................... 17

2.3 HARDWARE ............................................................................................................................... 17 2.4 SOFTWARE ................................................................................................................................ 20 2.5 CONCLUSIONES Y RESULTADOS .................................................................................................. 24

2.5.1 Mejoras del diseño original..................................................................................................... 27 3. CÁLCULOS ........................................................................................................................................... 27

3.1 HARDWARE ............................................................................................................................... 27 3.1.1 Bloque microprocesador ......................................................................................................... 27

3.1.1.1 Microprocesador y oscilador ........................................................................................................ 29 3.1.1.2 Conector reprogramación............................................................................................................. 32 3.1.1.3 Switch de reset .............................................................................................................................. 33

3.1.2 Bloque puerto RS232 ............................................................................................................... 34 3.1.3 Bloque 8 ohmnímetros internos ............................................................................................... 37

3.1.3.1 Divisor de tensión ......................................................................................................................... 37 3.1.3.2 Seguidor de tensión ....................................................................................................................... 41 3.1.3.3 Multiplexor analógico ................................................................................................................... 43

3.1.4 Bloque tarjeta SD. ................................................................................................................... 44 3.1.4.1 Regulador de tensión 3’3V............................................................................................................ 45 3.1.4.2 Adaptación de señales................................................................................................................... 46 3.1.4.3 Tarjeta SD. .................................................................................................................................... 48

3.1.5 Bloque indicadores LED ......................................................................................................... 49 3.1.6 Bloque regulador de tensión 5V. ............................................................................................. 51

3.2 SOFTWARE ................................................................................................................................ 53 4 PLANOS DEL PROYECTO ................................................................................................................... 55

4.1 ESQUEMÁTICO........................................................................................................................... 55 4.2 PCB ......................................................................................................................................... 57

5 PRESUPUESTO DE MATERIALES...................................................................................................... 58 5.1 RESUMEN PRESUPUESTO............................................................................................................ 60

6 PLIEGO DE CONDICIONES................................................................................................................ 61 6.1 OBJETIVOS DEL PLIEGO DE CONDICIONES .................................................................................. 61 6.2 CONDICIONES GENERALES ......................................................................................................... 61

6.2.1 Condiciones legales y administrativas .................................................................................... 61

Page 3: TITULACIÓN: Ingeniería Técnica Industrial en Electrónica ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1951pub.pdf · ... DOS EN ÓXIDOS METÁLICOS CON RESISTENCIA DE CARGA ... causa

Proyecto: Ohmnímetro de 8 canales para medir sensores de gases

3

6.2.2 Condiciones facultativas.......................................................................................................... 62 6.2.3 Condiciones económicas ......................................................................................................... 63

6.3 CONDICIONES DE MATERIALES Y EQUIPOS .................................................................................. 63 6.3.1 Descripción general del montaje............................................................................................. 63

6.3.1.1 Conductores eléctricos.................................................................................................................. 63 6.3.1.2 Conectores .................................................................................................................................... 64 6.3.1.3 Resistencias fijas ........................................................................................................................... 64 6.3.1.4 Diodos ........................................................................................................................................... 64 6.3.1.5 Diodos Led .................................................................................................................................... 64 6.3.1.6 Circuitos integrados...................................................................................................................... 64 6.3.1.7 Placas impresas ............................................................................................................................ 65

6.4 CONDICIONES DE EJECUCIÓN Y MONTAJE................................................................................... 65 6.4.1 Descripción general de montaje .............................................................................................. 65 6.4.2 Encargo y compra de los componentes necesarios ................................................................. 66 6.4.3 Fabricación de las placas de circuito impreso........................................................................ 66 6.4.4 Montar los componentes sobre el PCB.................................................................................... 66 6.4.5 Instalación en planta ............................................................................................................... 66 6.4.6 Ajuste y comprobación de los parámetros............................................................................... 67 6.4.7 Puesta en marcha del equipo................................................................................................... 67

7 REFERENCIAS BIBLIOGRÁFICAS...................................................................................................... 68

8 ANEXOS ................................................................................................................................................ 69 8.1 CÓDIGO SOFTWARE................................................................................................................... 69 8.2 DATASHEETS ............................................................................................................................. 77 8.3 MANUAL DE USO........................................................................................................................ 77

8.3.1 Extracción de información de la tarjeta SD ............................................................................ 79 8.3.2 Uso del programa WinHex ...................................................................................................... 79

Page 4: TITULACIÓN: Ingeniería Técnica Industrial en Electrónica ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1951pub.pdf · ... DOS EN ÓXIDOS METÁLICOS CON RESISTENCIA DE CARGA ... causa

Proyecto: Ohmnímetro de 8 canales para medir sensores de gases

4

1. Introducción

Durante estos últimos años la Universitat Rovira i Virgili ha dedicado muchos recursos a investigación sobre el mundo de la detección de gases, un campo que tiene multitud de aplicaciones y en el que todavía hay mucho por descubrir.

Existen multitud de materiales y técnicas que permiten detectar la presencia de un determinado gas, pero los sensores basados en los semiconductores de óxidos metálicos son unos de los más empleados, tanto a nivel comercial como en el mundo de la investigación, dada su sencillez tanto en su fabricación como en las técnicas de monitorización.

En esta memoria se explicarán los sensores de gases basados en semiconductores de óxidos metálicos y se planteara una propuesta de medición. Por igual, se plantearán los requisitos de uso y mejor disfrute por parte del personal de la Universidad a los cuales también se hará referencia y además se intentará dar el máximo de versatilidad sabiendo el vasto mundo de sensores en el que investiga la Universidad en relación a la nariz electrónica.

El mundo de la investigación evoluciona día a día, por lo que las necesidades cambian constantemente. Este proyecto pretende ayudar al grupo MINOS en el desarrollo de esta investigación mediante el desarrollo de un sistema de monitorización que sea más versátil, portable y cómodo.

Con el objeto de cumplir las especificaciones del grupo de investigación se ha creado una placa microcontrolada con capacidad de adquisición de datos para medir los sensores de gases. El diseño de este prototipo se describe a lo largo de este proyecto una vez están planteados los requisitos que debe cumplir para medir los sensores de gases y responder a las necesidades del grupo MINOS.

Dado el vasto mundo de sensores en que se basa la investigación de MINOS, la versatilidad de sensado que debe tener la placa microcontrolada debe ser amplia, a la vez que debe tener la capacidad de no solo medir un único sensor, sino varios en paralelo dependiendo el tipo de pruebas que a veces se realizan, ya que si se quiere emplear, por ejemplo como nariz electrónica, se debe medir una matriz de sensores y procesar la información de todos ellos conjuntamente. El sistema desarrollado debe ser capaz de almacenar la respuesta temporal de los sensores para su posterior tratamiento y análisis.

Por lo tanto los objetivos de este proyecto definidos por el personal de MINOS son los de realizar un prototipo microcontrolado con capacidad de medir un máximo de 8 sensores resistivos en paralelo mediante circuitería interna, con la mayor precisión posible, de diversos kohms y con la capacidad de conexión y comunicación con un equipo de medición, como es un multímetro externo modelo Agilent 34410A, mediante el puerto de comunicaciones RS232 con el objetivo de realizar medidas de resistencias que requieran una mayor precisión o en el caso de que sean de difícil medición ya sea por tener valores muy elevados como mega, giga o teraohmios o muy pequeños de pocos ohmios. Para el almacenamiento de los datos se utiliza una tarjeta SD que es donde quedarán registradas todas las mediciones que se realicen de los sensores, tanto en el caso de los 8 canales internos como de la medición que nos proporcione el equipo externo.

Page 5: TITULACIÓN: Ingeniería Técnica Industrial en Electrónica ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1951pub.pdf · ... DOS EN ÓXIDOS METÁLICOS CON RESISTENCIA DE CARGA ... causa

Proyecto: Ohmnímetro de 8 canales para medir sensores de gases

5

1.1 Sensores de gases basados en óxidos metálicos

Los sensores de gases basados en óxidos metálicos plantean unos requisitos especiales a la hora de ser usados en campo. Debido a su estructura y funcionamiento, requieren de un uso concreto para su correcta utilización.

1.1.1 Fundamentos teóricos

En este apartado se explican las bases de funcionamiento de los semiconductores de óxidos metálicos como sensores de gases.

Los metales se caracterizan por tener muchos electrones libres en su banda de conducción con lo que al aplicar una pequeña diferencia de potencial los electrones se desplazan y generan una corriente eléctrica presentando una determinada resistencia, siendo ésta muy baja, por lo que los metales son buenos conductores eléctricos.

Una característica de los metales es que al subir su temperatura el número de electrones de la capa de conducción aumenta enormemente, lo que causa que al aplicar un campo eléctrico éstos choquen los unos con los otros y su resistencia suba, por lo que los metales tienen un coeficiente de temperatura positivo.

Cuando un metal se oxida, de forma amorfa, suele dejar de ser conductor eléctrico, de hecho en muchas aplicaciones se emplea este tipo de materiales por su alta capacidad de aislamiento eléctrico. Pero si estos óxidos metálicos amorfos se suben a alta temperatura se inicia de forma espontánea un proceso de policristalización y deja de ser un aislante para convertirse en un material semiconductor.

Cada tipo de óxido metálico tiene una temperatura en la que empiezan a organizarse los átomos y se generan estas estructuras policristalinas, siendo conocida dicha temperatura como la temperatura de cristalización. Hay que tener en cuenta que en muchos materiales la fase cristalina obtenida depende de la temperatura, cosa que puede influenciar las propiedades del material obtenido.

Dicho proceso de cristalización se produce porque al aumentar tanto la temperatura los átomos vibran tanto que entre unos y otros se acaban alineando y formando estructuras organizadas, los cristales. Pero no se agrupan todos de la misma forma, sino que se forman diferentes conglomeraciones, como agrupaciones por pequeñas zonas cada una con su orientación cristalina, lo que acaba formando un policristal.

En realidad, para que el óxido de metal funcione como sensor de gas no se necesita una estructura cristalina concreta ya que suele funcionar con cualquier fase cristalina, aunque sí que puede afectar a la sensibilidad y selectividad final del sensor.

Una vez el óxido metálico es policristalino ya se puede emplear como sensor de gases ya que cuando éste está en contacto con el aire hay átomos de oxígeno envolviendo el sensor y cuando una molécula de oxígeno toca la superficie del óxido metálico ésta se disocia quedando un ión negativo atrapado en la superficie de la estructura cristalina, por ejemplo, capturando uno de los electrones de la banda de conducción. Cuando quedan atrapados muchos iones de oxígeno se acaba creando una superficie con carga negativa que rodea el grano cristalino.

Page 6: TITULACIÓN: Ingeniería Técnica Industrial en Electrónica ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1951pub.pdf · ... DOS EN ÓXIDOS METÁLICOS CON RESISTENCIA DE CARGA ... causa

Proyecto: Ohmnímetro de 8 canales para medir sensores de gases

6

Recordemos que los óxidos metálicos policristalinos son un material semiconductor, con lo que al subir la temperatura se genera una gran cantidad de electrones libres en su capa de conducción y la carga negativa de los iones de oxígeno en la superficie hace que éstos se agrupen en el centro de la estructura cristalina, con lo que se forman jaulas de electrones rodeadas por iones de oxígeno atrapados en la superficie del material semiconductor.

Cuando analizamos lo que sucede entre dos estructuras cristalinas con electrones confinados en su interior vemos que los electrones no pueden circular porque hay un campo que los mantiene confinados en el centro de la jaula formada de iones de oxígeno. Pero esta estructura no es por ello aislante, ya que si se aplica una diferencia de potencial lo bastante grande como para superar las barreras de potencial generadas por los iones se puede lograr que los electrones salten de un grano al siguiente con lo que conseguimos que el sistema conduzca. Cuanto más potencial eléctrico apliquemos más electrones saltarán y por lo tanto habrá más corriente eléctrica, con lo que vemos que aparece el comportamiento de una resistencia.

Si tenemos en cuenta que es un semiconductor se obtiene que al subir la temperatura más electrones saltarán para ponerse en la banda de conducción y más electrones quedarán confinados con lo que se necesita menos diferencia de potencial para hacerlos saltar. Por lo que aparece una relación directa entre la resistencia y la temperatura típica de los semiconductores, donde al aumentar la temperatura baja la resistencia. De hecho los sensores de gases basados en óxidos metálicos son muy sensibles a las variaciones de temperatura. Por pequeña que sea la variación de temperatura ellos pueden responder con una variación de resistencia muy elevada.

Cada gas tiene una facilidad diferente a la hora de coger o dar iones de oxígeno al reaccionar químicamente con la superficie del sensor, por lo que éste varia la concentración de dichos iones, lo que varía la intensidad del campo eléctrico ejercido sobre los electrones y, en consecuencia, varía la intensidad del confinamiento. Finalmente esto se traduce en que la cantidad de electrones que saltan para un determinado potencial aplicado depende del gas que rodea el material sensor, obteniendo así un material sensible a los gases.

Veamos ahora como funciona este semiconductor basado en óxido de metal trabajando como sensor. Cuando un gas circula suelto y toca la superficie del sensor, que está muy caliente, típicamente entre 150 y 500 ºC para que se facilite la reacción química del gas, sufrirá oxidación o reducción dependiendo de la reacción química que se produzca.

Veamos un ejemplo: Si observamos la reacción de un gas que circula sobre el sensor cuando la reacción al tocar el sensor nos cede un oxígeno (lo que sería un gas llamado oxidante), como por ejemplo gases NOX, el NO2 se iría tranquilamente y dejaría el O- en forma de ión. El NO2 es más estable que un NO3 ó NO4, que son gases muy peligrosos. Estos gases dejan más oxígenos en la superficie de la estructura cristalina que hace que suba el confinamiento de los electrones en sus jaulas de iones de oxígenos lo que significa que aumenta la resistencia del sensor.

Cuando vuelve a pasar “aire limpio”, el sensor vuelve al equilibrio. El sensor devuelve este exceso de iones de oxígeno para su estabilidad. Este proceso de recuperación suele ser más lento.

Otro ejemplo contrario sería el de los hidrocarburos: Los hidrocarburos funcionan completamente al revés. Consumen iones de oxígeno de la superficie del cristal. Por

Page 7: TITULACIÓN: Ingeniería Técnica Industrial en Electrónica ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1951pub.pdf · ... DOS EN ÓXIDOS METÁLICOS CON RESISTENCIA DE CARGA ... causa

Proyecto: Ohmnímetro de 8 canales para medir sensores de gases

7

ejemplo, tras la reacción del etileno o el metano se obtiene como residuo H2O y CO2, como podría darse en el tubo de escape de un coche. En nuestro caso, estos nuevos oxígenos habrían salido de la superficie del sensor. La estructura cristalina está perdiendo iones de oxígeno de la superficie. Con lo cual su resistencia baja porque el confinamiento de los electrones es ahora menor. Esas jaulas de electrones pierden fuerza.

Cuando vuelve a pasar “aire limpio”, el sensor vuelve al equilibrio. El sensor recupera nuevamente oxígenos para equilibrar su superficie.

Como conclusiones de estos fundamentos vemos que es necesaria la aplicación de tensión diferencial sobre el óxido de metal a alta temperatura para medir entonces su variación de conductividad al estar expuesto al gas que se quiere analizar. Las reacciones a un gas detectable son rápidas, pero la recuperación al estado de reposo suele ser más lenta.

1.1.2 Sensores de gases comerciales: Figaro sensors

Un modelo de sensores usado en la Universidad y que empieza a ser de uso general son los Fígaro sensors que cada vez amplía más su familia de componentes.

Figura 1. Família de sensores Fígaro.

En nuestro caso el sensor que se planteó en un principio desde la Universidad para hacer pruebas fue el modelo TGS821 el cual tiene gran reactividad al hidrógeno, y en menor medida al etanol y metano. Las pruebas de análisis se han realizado con el sensor Fígaro TGS821 sensando gas volatilizado de gotas de etanol.

Page 8: TITULACIÓN: Ingeniería Técnica Industrial en Electrónica ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1951pub.pdf · ... DOS EN ÓXIDOS METÁLICOS CON RESISTENCIA DE CARGA ... causa

Proyecto: Ohmnímetro de 8 canales para medir sensores de gases

8

Figura 2. Imagen del sensor Fígaro TGS821.

Los sensores Fígaro son sensores de gases basados en óxidos metálicos. En nuestro caso, el TGS821 está basado en el semiconductor dióxido de estaño (SnO2) el cual tiene baja conductividad (alta resistencia) cuando está expuesto al aire limpio. En presencia de un gas detectable, la conductividad del sensor aumenta (disminuye la resistencia) dependiendo de la concentración del gas en el aire (al igual que les pasa a todos los sensores de gases basados en óxidos metálicos depende del gas que lo rodea que suba o baje su resistencia). Mediante el circuito propuesto en este proyecto se puede transformar esta conductividad en una señal eléctrica monitorizable y almacenable mediante la placa microcontrolada.

Como curiosidad el dióxido de estaño se puede encontrar en la naturaleza en forma del mineral Casiterita que es el material que explotan las minas de estaño.

Figura 3. Imagen de Casiterita. Dióxido de estaño que se puede encontrar en la naturaleza.

En esta imagen se puede ver la formación de policristales que se ha explicado anteriormente, debido a las altas temperaturas y presiones a las que ha estado sometido el mineral de forma natural, en este caso.

Page 9: TITULACIÓN: Ingeniería Técnica Industrial en Electrónica ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1951pub.pdf · ... DOS EN ÓXIDOS METÁLICOS CON RESISTENCIA DE CARGA ... causa

Proyecto: Ohmnímetro de 8 canales para medir sensores de gases

9

1.2 Sistemas de análisis de gases portátil

La necesidad de utilizar sensores de gases en la industria se da tanto en lugares

puntuales como distribuidos en la planta industrial en las que se requiera de seguridad para el personal, debido a que puedan existir concentraciones de gases que sean nocivos para las personas o a que puedan generar deflagraciones. La presencia de dichos gases puede deberse al proceso normal o debido a incidentes.

Por ello es necesario valerse de equipos portátiles capaces de detectar la presencia de gases nocivos para las personas o que sobrepasen niveles de concentración inapropiados en lugares confinados o abiertos para la realización de procesos puntuales o por protección del medio ambiente.

1.2.1 Necesidad de sistemas de análisis de gases portátil

Existe un amplio espectro de aplicaciones para los detectores de gases en la industria. Las principales razones para utilizar detectores de gases son:

- Detectar y monitorizar la presencia de gases tóxicos o inflamables que puedan suponer un peligro para las personas.

- Detectar y monitorizar la presencia de gases inflamables o tóxicos que puedan dañar las instalaciones o el equipamiento de las mismas.

- Detectar y monitorizar una presencia de gases peligrosos en la atmósfera que pueda tener consecuencias negativas para el medio ambiente.

- Optimizar la operación del proceso, mejorando la conservación de la energía y el ahorro de combustibles.

1.2.2 Aplicaciones de sistemas de análisis de gases portátil

Los sistemas de gases portátiles son por tanto muy necesarios en el ámbito de seguridad. Ya sea por seguridad del personal, de las instalaciones o del medio ambiente. Los gases nocivos para las personas son críticos y la nariz humana no suele tener capacidad de detectarlos con lo que la criticidad aumenta en el aspecto de seguridad.

Así que en cualquier ambiente industrial con procesos que requieran o generen gases que puedan ser dañinos son muy importantes los sistemas de análisis de gases portátiles.

No solo en ámbito industrial sino, por ejemplo, también en un cuerpo de bomberos puede ser vital el reconocer la concentración de CO2 en un lugar incendiado. Como también serviría el ejemplo de unos científicos en el cráter de un volcán, para detectar el nivel de concentración de vapores dañinos. O como también serviría el ejemplo de un grupo de espeleólogos entrando por primera vez en una gruta sellada. O también se podría poner el ejemplo de una persona realizando soldaduras para cumplir un mantenimiento en

Page 10: TITULACIÓN: Ingeniería Técnica Industrial en Electrónica ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1951pub.pdf · ... DOS EN ÓXIDOS METÁLICOS CON RESISTENCIA DE CARGA ... causa

Proyecto: Ohmnímetro de 8 canales para medir sensores de gases

10

una refinería o en trabajos sobre un oleoducto. Los vapores de los hidrocarburos son altamente explosivos y una mínima concentración puede provocar grandes explosiones. Para empeorar la situación, a la nariz humana le es casi imposible detectar estos vapores.

2. Memoria descriptiva

Después del planteamiento teórico de la química de los sensores de gases basados en óxidos metálicos y explicado el ámbito en que se engloba el proyecto se pasa a detallar los aspectos que marcan los objetivos para proponer y definir las soluciones.

2.1 Sistema medidor de sensores de gases basados en óxidos metálicos con resistencia de carga adaptativa. Objetivos.

A la hora de implementar un prototipo que sea capaz de medir la conductividad de

los sensores basados en óxidos metálicos y que también ayude en las tareas del laboratorio es cuando aparecen las necesidades y adaptaciones que se requieren para que sea un equipo útil y customizado para el laboratorio a la vez.

Para la gente del laboratorio de MINOS lo ideal sería sensar 8 canales a la vez, en paralelo, dado que es el número de sensores que tiene algunos dispositivos con que trabaja la Universidad. Y además hay un formato casi estándar de uso en el laboratorio de cable plano de 20 pines. Por lo tanto, este conector se adopta y se integra en el prototipo para facilitar las conexiones. Y a la placa se le dota se sensado de 8 canales en paralelo de la conductividad de los sensores.

Los requisitos de velocidad de adquisición no son una premisa. Todo lo contrario. Se necesitaría tomar medidas de incluso diversas horas. Y el requisito de muestras por segundo es bajo o cerca de la unidad. Los sensores de óxidos metálicos tienen una respuesta rápida a la exposición del gas, pero su recuperación es lenta o muy lenta dependiendo del fluido de gas al que se está expuesto.

Por el hecho de ser una placa de adquisición y tener que almacenar todos los datos sensados se implementó un socket para tarjeta SD para ir guardando todos los datos a medida se iban adquiriendo. Hay que considerar que hay medidas que pueden tomarse durante diversas horas.

Y respecto la impedancia que se va a medir suele estar por el orden de decenas o pocas centenas de kohms, con lo que el diseño del circuito interno favorece este rango de medidas. Los sensores Fígaro se mueven en este rango, como muchos otros sensores de gases comerciales. Pero existe la posibilidad de que algunas pruebas del laboratorio requieran de más mucha más precisión o valores resistivos mucho más grandes. Por ello y para dar versatilidad se instala un puerto RS232 para comunicaciones con equipos

Page 11: TITULACIÓN: Ingeniería Técnica Industrial en Electrónica ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1951pub.pdf · ... DOS EN ÓXIDOS METÁLICOS CON RESISTENCIA DE CARGA ... causa

Proyecto: Ohmnímetro de 8 canales para medir sensores de gases

11

externos. El multímetro disponible en el laboratorio MINOS es un Agilent 34410A así que se diseña el prototipo para su interconexión y sus librerías de comando, aunque con la pertinente modificación de las librerías se puede conectar cualquier equipo de monitorización.

Por este motivo la placa adquiere 2 modos de funcionamiento

- Adquisición de datos a través de los 8 ohmnímetros internos

- Adquisición de datos a través de un multímetro externo.

Para poder elegir entre uno u otro modo de funcionamiento se instala un switch que será con el que se indique al prototipo en modo funcionar.

El funcionamiento del prototipo se podría dividir entonces en los 2 siguientes diagramas:

- Modo de funcionamiento mediante los 8 ohmímetros internos:

Placa microcontrolada

Adquisición de datos en tarjeta

SD

Array de 8 sensores de

gases

Figura 4. Funcionamiento del prototipo mediante los 8 ohmnímetros internos.

- Modo de funcionamiento mediante el multímetro externo:

Placa microcontrolada

Adquisición de datos en tarjeta

SD

Multímetro Agilent

Sensor de gas

Figura 5. Funcionamiento del prototipo mediante el multímetro externo.

Page 12: TITULACIÓN: Ingeniería Técnica Industrial en Electrónica ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1951pub.pdf · ... DOS EN ÓXIDOS METÁLICOS CON RESISTENCIA DE CARGA ... causa

Proyecto: Ohmnímetro de 8 canales para medir sensores de gases

12

2.2 Descripción general del sistema

El proyecto diseña y construye una placa electrónica microcontrolada cuya

funcionalidad es la de sensar y almacenar el valor resistivo de los sensores externos según hemos tratado en los puntos anteriores de esta memoria. Tiene capacidad de sensar el valor de 8 resistencias a la vez usando la circuitería interna o también es capaz de adquirir datos de resistencia para un solo canal mediante un multímetro externo.

Mediante un switch se puede elegir si realizar la medida con los 8 multímetros internos o mediante el puerto de comunicaciones RS232 y el multímetro exterior.

Los datos adquiridos se van volcando sobre una tarjeta SD que va integrada en el circuito.

El desarrollo del software se ha hecho de forma que este switch sirva para permanecer a la espera (posición central), ponerse a tomar medidas con los 8 canales internos (botón hacia el lado start) o tomar medidas mediante el multímetro conectado al puerto de comunicaciones RS232 (botón hacia el lado multímetro externo).

Seguidamente se explicará el prototipo mediante unos diagramas de bloques para hacer comprender su función.

2.2.1 Alimentación

El prototipo requiere de una alimentación externa de 12 V que conectaremos a través de una regleta PCB. La tensión se derivará hacia los 2 reguladores instalados: el de 5 voltios que alimentará la mayoría de integrados del circuito y el de 3,3 voltios que como se verá más adelante es que el alimenta la tarjeta SD.

Conector de 12V

Regulador de tensión de 3'3 voltios

Regulador de tensión de 5 voltios

Alimentacion externa de 12V

Figura 6. Diagrama de sistema de alimentación del prototipo.

Page 13: TITULACIÓN: Ingeniería Técnica Industrial en Electrónica ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1951pub.pdf · ... DOS EN ÓXIDOS METÁLICOS CON RESISTENCIA DE CARGA ... causa

Proyecto: Ohmnímetro de 8 canales para medir sensores de gases

13

Se ha recuadrado en color rosa los bloques que están alimentados a 3’3 V y recuadrado en color rojo los bloques que están alimentados a 5 V.

2.2.2 Switch de entrada

Hay un switch manual de 3 posiciones con el que se multiplexa 2 entradas hacia el micro. Este será el método de dar input al micro de lo que desea hacer el usuario.

Tanto el microcontrolador como el switch están alimentados a 5 voltios.

MicrocontroladorSwitch de entradax2

Figura 7. Diagrama de entradas del prototipo.

Para comenzar la adquisición de datos se tiene que conmutar el switch de elección hacia el lado que convenga. Si lo ponemos hacia el lado “Start” comenzará la adquisición haciendo uso de los ohmnímetros internos permitiendo capturar la resistencia de los 8 canales en paralelo. Y si lo ponemos el lado de “multímetro externo” comenzará la adquisición a través del multímetro externo.

2.2.3 Divisor de tensión

Una de los modos de funcionamiento de los que dispone el prototipo es de poder medir resistencia a través de 8 multímetros en paralelo. Toda la circuitería de este interface está integrada en la misma placa.

Seguidamente se muestra un gráfico esquemático que resume como funciona uno de estos 8 canales de adquisición:

Page 14: TITULACIÓN: Ingeniería Técnica Industrial en Electrónica ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1951pub.pdf · ... DOS EN ÓXIDOS METÁLICOS CON RESISTENCIA DE CARGA ... causa

Proyecto: Ohmnímetro de 8 canales para medir sensores de gases

14

Figura 8. Funcionamiento del divisor de tensión.

La estrategia seguida es la de crear un divisor de tensión entre potenciómetro digital (ajustable a través de bus SPI por el microprocesador) y la resistencia que queremos medir.

Esta división de voltaje es transferida a través de un amplificador operacional (en configuración de seguidor de tensión) hacia un multiplexor analógico.

El microprocesador elige el canal que quiere leer del multiplexor analógico. Y de esta forma es como se mide.

Así se logra medir la resistencia aplicando diferencia de potencial al sensor basado en óxido metálico.

En el siguiente diagrama se observa la lógica interna que se encarga del sensado mediante los 8 ohmnímetros internos:

Page 15: TITULACIÓN: Ingeniería Técnica Industrial en Electrónica ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1951pub.pdf · ... DOS EN ÓXIDOS METÁLICOS CON RESISTENCIA DE CARGA ... causa

Proyecto: Ohmnímetro de 8 canales para medir sensores de gases

15

Señal 5 voltios Potenciómetro electrónico (x8)

Resistencia externa a medir (x8)

Seguidor de tensión (x8)

Multiplexor

Microcontrolador

SPI

Divisorde tensión

Selector Canal

A/D Coversor

x8

x1

GND

Figura 9. Diagrama de funcionamiento del divisor de tensión.

Aquí se puede observar que entre la señal 5 voltios y Masa se crea un divisor de

tensión mediante la resistencia externa a medir (que es el sensor) y nuestro potenciómetro electrónico. Esta señal que se genera en el divisor de tensión es llevada con un seguidor de tensión hacia el multiplexor. Esta estructura está repetida 8 veces en el circuito para sensar los 8 diferentes canales.

El microcontrolador está conectado por bus SPI a los potenciómetros electrónicos. De esta forma puede controlarlos para ajustar su valor resistivo y ajustarse a la resistencia externa a medir del sensor.

Y el microcontrolador también selecciona el canal que quiere leer del multiplexor para ir leyendo paulatinamente el valor de cada uno de los 8 canales.

2.2.4 Conexión con multímetro externo

El siguiente diagrama muestra la interconexión del prototipo con el multímetro

externo:

Page 16: TITULACIÓN: Ingeniería Técnica Industrial en Electrónica ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1951pub.pdf · ... DOS EN ÓXIDOS METÁLICOS CON RESISTENCIA DE CARGA ... causa

Proyecto: Ohmnímetro de 8 canales para medir sensores de gases

16

Microcontrolador RS232 Interface RS232 External conector

Multímetro extermo Agilent

Figura 10. Diagrama de interface del RS232.

Se observa como el micro se conecta a un interface RS232 que consta de un

transceiver que nos adaptará la señal UART del micro a un protocolo RS232 estándar. Estas señales de comunicación salen del prototipo a través de un conector Sub-DB9 con el que podremos conectarnos al multímetro externo mediante un cable de RS232 standard.

El multímetro externo con el que comunicar es un Agilent 34410A o protocolo compatible. Este dispositivo se debe de configurar a modo de comunicación 8 bits, sin paridad, y 9600 bauds de velocidad de transmisión.

Con este multímetro externo el prototipo podrá hacer adquisiciones de sensores con mucha más precisión en caso necesario.

2.2.5 Tarjeta SD

En el siguiente esquema se muestra la interacción del micro con la tarjeta SD:

MicrocontroladorInterface Bus

Comunicaciones SPI(3'3V - 5V)

Socket Tarjeta SD

Tarjeta SD

Figura 11. Diagrama de la tarjeta SD.

A medida se van adquiriendo los datos, ya sea mediante el multímetro externo o mediante los 8 sensores internos, los datos son guardados en la tarjeta SD.

Se puede observar como el micro se conecta a un interface del bus SPI que se trata de una adaptación de señales de 5 V a 3’3 V ya que el microprocesador trabaja con señales de

Page 17: TITULACIÓN: Ingeniería Técnica Industrial en Electrónica ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1951pub.pdf · ... DOS EN ÓXIDOS METÁLICOS CON RESISTENCIA DE CARGA ... causa

Proyecto: Ohmnímetro de 8 canales para medir sensores de gases

17

5 V y la tarjeta SD lo hace con 3’3 V. En la memoria de cálculo se explica los divisores de tensión utilizados. Estas señales adaptadas llegan al socket de la tarjeta SD instalado en el prototipo. Este socket hace de soporte para la tarjeta SD que es la que se podrá insertar y quitar para transportar los datos almacenados de las sesiones de adquisición.

Los datos quedan guardados en formato RAW dentro de la tarjeta para poder ser transportados a cualquier PC.

2.2.6 Barra de Leds

Y por último, podemos ver el bloque de los leds:

Microcontrolador LEDs (x10)

Figura 12. Diagrama de los LEDs.

Simplemente indicar que el micro controla los 10 leds que van a ser los que nos muestren que todo funciona según lo esperado o los que nos van a comunicar los errores que puedan suceder.

En la memoria de cálculo y manual de uso se describen las indicaciones de cada uno de los leds para interacción con el usuario.

2.3 Hardware

Seguidamente se muestran unos bocetos 3D del proyecto:

Page 18: TITULACIÓN: Ingeniería Técnica Industrial en Electrónica ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1951pub.pdf · ... DOS EN ÓXIDOS METÁLICOS CON RESISTENCIA DE CARGA ... causa

Proyecto: Ohmnímetro de 8 canales para medir sensores de gases

18

Figura 13. Imagen 3D frontal del prototipo creada mediante la herramienta de diseño Proteus.

Figura 14. Imagen 3D frontal del prototipo.

Page 19: TITULACIÓN: Ingeniería Técnica Industrial en Electrónica ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1951pub.pdf · ... DOS EN ÓXIDOS METÁLICOS CON RESISTENCIA DE CARGA ... causa

Proyecto: Ohmnímetro de 8 canales para medir sensores de gases

19

Figura 15. Imagen 3D trasera del prototipo.

A continuación se observa un diagrama con cada uno de los componentes:

Figura 16. Distribución e identificación de los componentes en el prototipo.

Page 20: TITULACIÓN: Ingeniería Técnica Industrial en Electrónica ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1951pub.pdf · ... DOS EN ÓXIDOS METÁLICOS CON RESISTENCIA DE CARGA ... causa

Proyecto: Ohmnímetro de 8 canales para medir sensores de gases

20

La placa está controlada por un microprocesador PIC18F4520 funcionando a 20 MHz y además se ha instalado un conector RJ11 para conexión a equipo reprogramador MPLAB I2C con el que se puede reprogramar la flash del micro y debugar el programa.

El puerto RS232 está controlado por el microcontrolador a través de un transceiver MAX232. Se ha usado como soporte al desarrollo del proyecto como puerto de comunicaciones hacia PC a parte de su funcionalidad final que es la de comunicar con el multímetro externo.

Se ha diseñado el software teniendo en cuenta que el multímetro usado es un Agilent 34410 o un multímetro dotado con un protocolo de comunicación software y hardware compatible.

Los datos, ya sean obtenidos por la lógica interna para sensar 8 canales en paralelo como a través del multímetro externo, se irán guardando en la memoria SD en formato RAW.

El resultado final del prototipo construido se puede observar en la siguiente imagen:

Figura 17. Foto del prototipo.

2.4 Software

El software del prototipo está desarrollado en C, y se han usado las herramientas de

software PIC C Compiler al principio del proyecto (para rápidos chequeos de erratas) y posteriormente con MPLAB, con el cuál ya se puede usar la herramienta ICD2 programmer y debugar el micro real mediante el conector de reprogramación una vez elaborado el prototipo.

Page 21: TITULACIÓN: Ingeniería Técnica Industrial en Electrónica ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1951pub.pdf · ... DOS EN ÓXIDOS METÁLICOS CON RESISTENCIA DE CARGA ... causa

Proyecto: Ohmnímetro de 8 canales para medir sensores de gases

21

Figura 18. Imagen del reprogramador MPLAB ICD2.

Figura 19. Imagen del programa MPLAB.

El siguiente diagrama muestra esquemáticamente la estrategia seguida a la hora de

diseñar el software a groso modo.

Page 22: TITULACIÓN: Ingeniería Técnica Industrial en Electrónica ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1951pub.pdf · ... DOS EN ÓXIDOS METÁLICOS CON RESISTENCIA DE CARGA ... causa

Proyecto: Ohmnímetro de 8 canales para medir sensores de gases

22

Inicializar puertos del micro, A/D conversor, Potenciometros, ect..

Posición del swtich?

Posición del swtich?

Bloque de RAM lleno?

Posición del swtich?

Bloque de RAM lleno?

Vuelca el contenido del bloque en la SD

Vuelca el contenido del bloque en la SD

Para los 8 canales:- Ajusta los potenciometros- Toma medida- Transforma a valor ASCIII

Guarda los valores tomados en el bloque de

memoria

Tomar el valor de resistencia de la fuente

externa y ponerlo en ASCIII

Guarda el valor tomado en el bloque de memoria

Finaliza la tarjeta SD Muesta aviso con los leds

parpadeantesFIN del programa

INICIO Start

Start

Ohmnimetroexterior

Ohmnimetro exterior

No

Si

Si

No

Diferente Ohmnimetroexterior

Diferente de Start

Figura 20. Diagrama general de estrategia del software

Como podemos observar, los bloques de color marrón muestran el inicio y fin de nuestro programa.

Una vez comienza el programa se inicializan los puertos del micro, el conversor A/D y se ponen los potenciómetros electrónicos a valores seguros (la impedancia más alta posible) y otras inicializaciones varias…

Y entonces llega la evaluación del estado del switch. Este switch es clave en el diseño y en el funcionamiento del prototipo. Como se ha explicado anteriormente, cuando el switch está en posición “start” el programa inicializa el sistema interno para ajustar la lectura de los valores resistivos a un valor óptimo e ir guardando los datos en memoria RAM volátil, en concreto en una variable que llamaremos “bloque” y que tiene el mismo tamaño que un clúster de la tarjeta SD, concretamente 512 bytes.

El bloque se va llenando con un formato muy concreto. Seguidamente se muestra un ejemplo:

Figura 21. Ejemplo representativo de la estructura del contenido del bloque de memoria.

Page 23: TITULACIÓN: Ingeniería Técnica Industrial en Electrónica ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1951pub.pdf · ... DOS EN ÓXIDOS METÁLICOS CON RESISTENCIA DE CARGA ... causa

Proyecto: Ohmnímetro de 8 canales para medir sensores de gases

23

Este es un ejemplo de lo que se va guardando en la tarjeta SD. El dato de cada sensor se almacena en formato científico mostrando siempre los 3 dígitos primeros de peso y la “E” de exponencial seguida de su exponente. Para separar la medida de cada sensor se usa un espacio <tabulador>. Y cuando están tomadas las 8 medidas se inserta un <retorno>. Entonces se vuelven a medir los 8 canales de nuevo.

Cuando tenemos la variable “bloque” llena, volcamos el contenido en la SD y volvemos a evaluar el switch para ver si seguimos con la sesión de sensado o nos piden que paremos. Si nos piden seguir, pues volvemos a repetir la operación de adquirir datos hasta llenar el bloque. Pero si nos piden detenernos, entonces finalizaremos la tarjeta SD escribiendo 20 bloques consecutivos con espacios en blanco. De esta forma podremos extraer los datos de la tarjeta SD de una forma más fácil. Además daremos feedback a través de los leds para que el usuario sepa que ha concluido la sesión de adquisición.

No escribimos en la tarjeta SD en formato FAT sino de forma llana en la estructura física de la SD con lo que la tarjeta SD que se use para este prototipo no debe usarse para nada más, ya que no seguirá estructura FAT y sobrescribiría datos que hubieran en la tarjeta dañando los archivos.

Y por otro lado, si al comenzar la adquisición de datos escogiéramos hacerlo mediante el multímetro externo usaríamos otro formato distinto para rellenar la variable del “bloque” dado que este multímetro externo tendría mucha más precisión y solo un canal de adquisición. Seguidamente se muestra un ejemplo de una sesión de adquisición para ver el formato en que queda en la tarjeta SD:

Figura 22. Ejemplo de la estructura de la adquisición por multímetro externo.

Este es el formato en que contesta el multímetro externo. Nuestro programa introduce cada una de las muestras seguida de un <retorno> hasta llenar la variable “bloque”.

Y al evaluar mediante el switch externo que el usuario quiere finalizar la sesión de adquisición realizamos lo mismo que si estuviéramos adquiriendo por nuestra lógica interna: finalizamos la tarjeta SD y avisamos al usuario mediante los leds. Damos por concluida la sesión de adquisición.

Page 24: TITULACIÓN: Ingeniería Técnica Industrial en Electrónica ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1951pub.pdf · ... DOS EN ÓXIDOS METÁLICOS CON RESISTENCIA DE CARGA ... causa

Proyecto: Ohmnímetro de 8 canales para medir sensores de gases

24

2.5 Conclusiones y resultados

Una vez elaborado el prototipo y adaptado el software del microprocesador se somete la placa a test para comprobar el correcto funcionamiento y evaluar los resultados.

Seguidamente se muestra una serie de gráficos que son obtenidos de los datos de la misma tarjeta SD y expuestos de forma gráfica para mayor entendimiento planteando varias mediciones.

El siguiente gráfico es el resultado de la medición de un sensor Fígaro TGS821. El heater se ha calentado previamente a 5 V y 200 mA durante breves minutos. Estos son los resultados al hacerle “oler” una gota de metanol evaporada. Estos datos han sido obtenidos usando uno de los 8 canales de circuitería interna de medición.

Como característica, cuando el prototipo trabaja adquiriendo los datos mediante los 8 ohmnímetros internos tiene una velocidad de adquisición de 0,9 muestras por segundo. Es decir, cada uno de los 8 canales guarda una muestra cada 0’9 segundos.

0

20000

40000

60000

80000

100000

120000

140000

160000

180000

200000

1 14 27 40 53 66 79 92 105

118

131

144

157

170

183

196

209

222

235

248

261

274

287

300

313

326

339

352

365

378

Medida

Res

isten

cia

(ohm

s)

Figura 23. Gráfica de la medición de etanol mediante ohmnímetro interno.

Se puede observar como el sensor con el heater calentándose hace que vaya subiendo la resistencia de medida paulatinamente. Antes de la muestra 168 la resistencia se encuentra sobre los 140 kohms aprox.

A partir de la muestra 168 se le hace oler una gota de etanol inyectada dentro de una cámara estanca donde se encuentra el sensor. Se ve como la caída de resistencia es repentina hasta un valor cercano a los 50 kohms. Mientras el sensor permanece en el mismo ambiente que la gota de etanol la resistencia del sensor sigue disminuyendo hasta por debajo de 40 kohms.

A partir de la medida 325 se retira el sensor de la caja donde estaba la gota de etanol. Aquí se puede ver como empieza a aumentar la resistencia del sensor paulatinamente y de forma lenta. Aquí observamos que el retorno de sensor a su estado de reposo es muy lenta comparado con su velocidad de reacción ante un gas detectable.

Page 25: TITULACIÓN: Ingeniería Técnica Industrial en Electrónica ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1951pub.pdf · ... DOS EN ÓXIDOS METÁLICOS CON RESISTENCIA DE CARGA ... causa

Proyecto: Ohmnímetro de 8 canales para medir sensores de gases

25

Sobre la medida 383 se apaga el heater del sensor. De ahí esa subida tan repentina de resistencia ya que al ser un semiconductor su resistencia aumenta de tal manera al bajar la temperatura que se sale del rango de medición del equipo desarrollado.

En el siguiente gráfico podemos ver también la medición de un sensor Fígaro TGS821. El heater se ha calentado previamente a 5 V y 200 mA. Estos son los resultados al hacerle “oler” una gota de metanol. Estos datos han sido obtenidos adquiriendo los datos a través del multímetro externo Agilent. El número de muestras que se toman por segundo mediante el multímetro externo es de unas 2’7.

0

50000

100000

150000

200000

250000

300000

1 30 59 88 117

146

175

204

233

262

291

320

349

378

407

436

465

494

523

552

581

610

639

668

697

726

755

784

813

842

871

900

929

958

Muestra

Res

isten

cia

(ohm

s)

Figura 24. Gráfica de la medición de etanol mediante multímetro externo.

En esta ocasión se ha estado calentado el heater del sensor durante más rato que en la prueba anterior. En este caso durante más de 15 minutos.

Desde la muestra 0 a la 500 el sensor se ha puesto dentro de la cámara, fuera, abierto y cerrado la tapa, etc. para ver las variaciones que sufre la medición. Apenas se han apreciado variaciones. Y ya llevaba tiempo calentándose anteriormente.

Sobre la muestra 500 se a tirado una gota de etanol dentro de la cámara, se ha metido el sensor y se ha cerrado. Vemos como ha pasado de unos 275 kohms a los 100 kohms prácticamente al instante.

A partir de la muestra 670 el sensor se saca de la cámara. Vemos como comienza a recuperarse lentamente.

Y seguidamente se muestra una tabla para 250 mediciones mediante los 8 canales internos haciéndoles medir a cada uno de los canales unas resistencias fijas conectadas al cable plano de 1 metro de longitud.

Page 26: TITULACIÓN: Ingeniería Técnica Industrial en Electrónica ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1951pub.pdf · ... DOS EN ÓXIDOS METÁLICOS CON RESISTENCIA DE CARGA ... causa

Proyecto: Ohmnímetro de 8 canales para medir sensores de gases

26

Resistencia máxima medida (Rmax): 2.310 10.600 12.600 49.600 59.000 71.900 106.000 105.000Resistencia mínima medida (Rmin): 2.120 9.900 12.000 46.200 55.100 67.300 100.000 98.700Amplitud muestra: (Rmax-Rmin)/2 95 350 300 1.700 1.950 2.300 3.000 3.150Resistencia media del muestreo: 2.226 10.113 12.287 47.856 57.112 69.348 102.012 100.886Porcentaje variación (Rmed) (%): 4,27 3,46 2,44 3,55 3,41 3,32 2,94 3,12

Tabla 1. Cálculo de la variabilidad de las muestras.

Aquí se observa la variación de las muestras. Las 250 medidas tomadas no son todas las mismas sino que nuestro sistema y el ruido ambiental que se introduce por el cable crea pequeñas variaciones. En la última fila de la tabla se obtiene la variabilidad de las muestras. Esta variabilidad ha estado siempre por debajo del 5%.

Respecto a la capacidad de almacenamiento conseguida con la tarjeta se puede indicar que el direccionamiento en la tarjeta SD se realiza mediante una variable de 4 bytes, es decir 32 bits, que apuntan a directamente a un clúster de 512 bytes. Este direccionamiento equivale a apuntar sobre 4 mil millones de clústers (en bytes estaríamos hablando de 2 PetaBytes). Sabiendo que un cluster tarda unos 10 segundos aproximadamente en llenarse se obtiene que con una tarjeta SD de 64 MegaBytes se pueden adquirir datos durante aproximadamente 347 horas, o lo que es lo mismo, 14 días de datos.

Como conclusiones del proyecto obtenemos que:

- El uso de los 8 canales internos es adecuado para valores de resistencia superiores a 400 ohms y menor de 400 kohms. De 400 kohms a 500 kohms el error de la medida aumenta y se pierde precisión. Más allá de 500 kohms es desaconsejable el uso de los sistemas internos y se debería de tomar las medidas con el multímetro Agilent externo.

- El prototipo es capaz de realizar mediciones de los sensores Fígaro tal y como se había planteado en los objetivos. Es capaz de medir resistencias de entre 400 ohms y 400 kohms que es un rango aceptable para este tipo de sensores.

- El prototipo tiene una variabilidad menor al 5% en las medidas que se realizan mediante los 8 sensores internos. Esta variabilidad es mejorable, pero adecuada para medición de estos sensores ya que la variación de la resistencia de estos sensores antes los gases a que reaccionan es mucho mayor.

- Se ha conseguido una interconexión adecuada con los medios del laboratorio mediante los cables planos que suelen usar como estándar y el cable RS232 para conectarse al multímetro externo. Se pueden medir de esta forma un vasto rango de sensores. Se ha conseguido gran versatilidad.

- La portabilidad se ha conseguido con la tarjeta SD. Gracias a esto no hay dependencia de ningún PC para la adquisición de datos. Tan solo se requiere del PC para la evaluación de las muestras.

- Con una tarjeta SD de 64 Mb se pueden adquirir continuamente hasta 14 días de datos sin interrupción.

Page 27: TITULACIÓN: Ingeniería Técnica Industrial en Electrónica ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1951pub.pdf · ... DOS EN ÓXIDOS METÁLICOS CON RESISTENCIA DE CARGA ... causa

Proyecto: Ohmnímetro de 8 canales para medir sensores de gases

27

2.5.1 Mejoras del diseño original

A medida que el proyecto ha ido avanzando, se han visto posibilidades que aunque no se han podido instalar en este primer prototipo si podrían ser un avance para futuros diseños basados en éste. Algunos de ellos se citan a continuación:

• Con el puerto de comunicaciones RS232 solo controlamos un multímetro externo. Adaptando el software y instalando un hub se podría haber llegado a controlar más multímetros externos pudiendo medir 8 en paralelo.

• Los datos adquiridos no se guardan en la tarjeta SD con formato FAT por el gran volumen de espacio que ocupa la librería FAT y la gran cantidad de memoria que requiere. Si se hubiese utilizado un DsPIC más potente que el PIC utilizado se podría haber usado FAT.

• Los cables planos usados en el laboratorio no están trenzados con lo que se introduce mucho ruido ambiental, sobretodo cuando hay 1 metro de cable y está completamente estirado. Cable trenzado ayudaría a evitar ese ruido ambiental. Se podría adaptar al cable plano que se usa en el laboratorio.

• El prototipo requiere de alimentación externa de 12 V. Si además la tensión de 12 V nos llegara de unas baterías en lugar de un adaptador conseguiríamos una portabilidad total. Inclusive se le podría dotar de un socket donde ensamblar el sensor y proveerle del heating necesario. Además podría cambiarse los leds por un panel indiciador LCD o LED donde se podría ver la medida en directo.

3. Cálculos

En los siguientes apartados se desglosan y detallan los cálculos realizados para el diseño del circuito y / o elección de los componentes, estructura básica del software, etc.

3.1 Hardware

Seguidamente se detallan los componentes usados que han sido elegidos para conformar el prototipo.

3.1.1 Bloque microprocesador

A continuación se da un pequeño vistazo al bloque conjunto del microprocesador para después entrar en detalle con los componentes.

Page 28: TITULACIÓN: Ingeniería Técnica Industrial en Electrónica ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1951pub.pdf · ... DOS EN ÓXIDOS METÁLICOS CON RESISTENCIA DE CARGA ... causa

Proyecto: Ohmnímetro de 8 canales para medir sensores de gases

28

El microprocesador que se escogió al inicio del proyecto fue el PIC 16F877 pero por temas de falta de RAM al usar la tarjeta SD se cambió a PIC18F4520 que es compatible en pinout pero con más prestaciones de RAM y memoria flash.

El microprocesador se conecta a un oscilador de 20 MHz. Se alimenta de 5 V que vienen del regulador de tensión.

La señal de reset cuelga de 5 V y tiene un switch para poder dar manualmente un reset hardware al microcontrolador. Esta señal de reset es también compartida con las señales del conector de reprogramación.

Se ha instalado un switch de tres posiciones que crea dos entradas al micro y se usan mediante el software para elegir si se quiere adquirir datos desde el multímetro exterior o desde los 8 multímetros internos.

Figura 25. Esquemático de el switch de entrada.

Tal y como se ha explicado, la selección inicial del micro fue el PIC16F877, que a posteriori se cambió. Tiene control de bus SPI, puerto UART para control de comunicaciones RS232, espacio flash a priori suficiente para alojar el supuesto programa final.

El motivo que causó el cambio a PIC18F4520 fue el tamaño de memoria RAM. Para la escritura en la tarjeta SD es necesario hacerlo en bloques de 512 bytes, que es el tamaño del clúster.

El PIC18F4520 tiene una capacidad 1536 bytes de RAM y 32 kbytes de Flash.

El PIC16F877 tiene una capacidad 368 bytes de RAM y 8 kybtes de Flash.

Ambos micros comparten footprint y pinout, lo que hace que se pueda cambiar uno por otro sin problemas.

El microprocesador PIC18F4520 soporta mediante oscilador externo hasta 40 MHz. Se ha colocado uno de 20 MHz siguiendo la estructura recomendada por fabricante. La elección es de 20 MHz por que el micro inicial, el PIC16F877 tiene un máximo de 20 MHz de oscilador.

Los condensadores de soporte son también los recomendados por el fabricante Microchip para una oscilación de 20 MHz, con lo que se han puesto los 15 uF.

Page 29: TITULACIÓN: Ingeniería Técnica Industrial en Electrónica ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1951pub.pdf · ... DOS EN ÓXIDOS METÁLICOS CON RESISTENCIA DE CARGA ... causa

Proyecto: Ohmnímetro de 8 canales para medir sensores de gases

29

La alimentación del micro llega por 5 V continúa.

Y para acceder al software mediante conector de reprogramación se ha usado un conector externo RJ11 para conectarse mediante MPLAB ICD2 del que se disponía en el laboratorio.

En los siguientes apartados se desglosa toda esta información detalladamente:

3.1.1.1 Microprocesador y oscilador

El microprocesador con el que al final se ha realizado el prototipo es un PIC 18F4520. Seguidamente se muestra un resumen de sus principales características, según datasheet:

Tabla 2. Principales características del PIC18F420.

Aquí podemos ver que a priori, los requisitos mínimos que necesitamos son cumplidos:

• 1536 bytes de RAM: Tenemos una variable que se llama “bloque” que será de 512 bytes, más el resto de variables del programa por lo que se necesita bastante RAM.

• 32 k de memoria flash parece más que suficiente a priori para nuestro programa

• Dispone de conversor Analógico / Digital

• Dispone de bus SPI para comunicarnos con los potenciómetros digitales y la tarjeta SD.

• Dispone de bus UART (EUSART) para comunicación RS232 con multímetro externo.

Y éste es su pinout:

Page 30: TITULACIÓN: Ingeniería Técnica Industrial en Electrónica ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1951pub.pdf · ... DOS EN ÓXIDOS METÁLICOS CON RESISTENCIA DE CARGA ... causa

Proyecto: Ohmnímetro de 8 canales para medir sensores de gases

30

Figura 26. Pinout del microprocesador.

Ahora se va a analizar el circuito del oscilador:

En la siguiente lista podemos ver la lista de Osciladores externos compatibles y sus condensadores anexos necesarios:

Tabla 3. Relación de velocidad de oscilador con el valor del condensador a usarse.

Remarcado en rojo tenemos nuestra elección, que es de un cristal externo de 20 MHz. Por ello ya sabemos que el fabricante nos está requiriendo usar condensadores de 15 pF.

Para elegir el oscilador externo también tenemos que tener en cuenta que tiene que ser de frecuencia 20 MHz y que admita trabajar con 15 pF de capacidad. Seguidamente se muestra un extracto del datasheet del oscilador escogido:

Figura 27. Especificaciones generales del cristal de oscilación.

Page 31: TITULACIÓN: Ingeniería Técnica Industrial en Electrónica ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1951pub.pdf · ... DOS EN ÓXIDOS METÁLICOS CON RESISTENCIA DE CARGA ... causa

Proyecto: Ohmnímetro de 8 canales para medir sensores de gases

31

Este cristal resonador escogido es un modelo HC49/4H de uso general de 20 MHz.

Seguidamente se muestra el interconexionado del microprocesador, su cristal de oscilación en el diseño, y el resto de pines:

Figura 28. Esquemático del microprocesador.

Aquí se puede ver el pinout del micro. Vemos el oscilador y sus condensadores como

cuelgan de los pines 13 y 14. Esta estructura viene definida por el fabricante.

En el pin 1 tenemos la señal de reset (MCLR_REPROG). Aquí llega, recordémoslo, la señal de 5 V a través de un switch manual que tenemos instalado para causar reset al micro cuando interese. Unidos a las señales de los pines 39 y 40 (PDC_REPROG y PGD_REPROG) conforman el grupo de señales encargas de la reprogramación del micro.

El pin 2 está configurado como entrada analógica y es la señal que nos llega del multiplexor. El micro controlará el multiplexor a partir de las salidas de los 3 pines 19 a 21 (MULTIPLEX_CH_A, B y C).

El micro también controla la barra de leds, y lo hace a través de los grupos de pines de salida 7 a10 y 33 a 39. Cada uno tiene una función concreta y se define más adelante en esta memoria.

Los pines 25 y 26 (RS232_TX y RS232-RX) son los pines de la comunicación UART del micro encargados de comunicarse con el transceiver MAX232 para entablar comunicaciones con el multímetro exterior. Son los pines de entrada y salida de esta comunicación. Completando esta comunicación RS232 se encuentran los pines 15 y 16 (RS232_CTS y RS232_RTS) que aunque ahora son spare (no tienen uso actualmente) al inicio del proyecto se pensó que tal vez la comunicación con el multímetro externo pudiera

Page 32: TITULACIÓN: Ingeniería Técnica Industrial en Electrónica ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1951pub.pdf · ... DOS EN ÓXIDOS METÁLICOS CON RESISTENCIA DE CARGA ... causa

Proyecto: Ohmnímetro de 8 canales para medir sensores de gases

32

requerir de protocolo CTS/RTS o Xon/Xoff, etc… Al final, no hizo falta y estos 2 pines no tienen uso.

Los pines 18, 23 y 24 conforman el bus de SPI (SPI_SDK, SPI_SDI y SPI_SDO). Este bus es el encargado de hacer comunicar el micro con los dos potenciómetros electrónicos y la tarjeta SD. Por ello, cada uno de los que cuelgan del bus tiene que tener un chipselect. Estos pines son los 22, 27 y 28 (CS_POT_1T4, CS_POT_5T8, CS(*)_SD). Así, siempre que el micro necesita comunicar con alguno de esto dispositivos solo tiene que activar su destino.

El pin 17 es un cuarto chipselect (llamado CS_EXPANSION_SPARE) que se ha usado para reservar la posibilidad de expansión de nuestro prototipo. Las líneas de comunicación de clock, SDI y SDO junto con este chipselect spare se han derivado a un conector. Ahora está en desuso. Se instaló pensando en posibilidad poder interconectar diversos prototipos como éste y capturar datos de muchos canales en paralelo en una sola tarjeta SD. Pero esto se ha quedado solo en idea, y no se ha implementado el software para ello. Como ya se ha dicho, este conector está en desuso. Su esquema en el circuito es el siguiente:

Figura 29. Esquemático del conector de expansión SPI.

Y por último, los pines 29 y 30 (SW_PROGRAM y SW_START) son los encargados de recibir el status del switch con el que nos vamos a comunicar con el prototipo.

Con esto tenemos el resumen de la funcionalidad de todos los pines usados del micro.

3.1.1.2 Conector reprogramación

Para poder reprogramar el micro se ha instalado un conector de reprogramación compatible con la herramienta de reprogramación MPLAB ICD2 disponible en el laboratorio. Este es un conector RJ11 (típico conector de telefonía) y se ha seguido un diseño propuesto por el fabricante para el interface de señales entre el micro y el reprogramador. Seguidamente se muestra un extracto del datasheet donde se puede ver la conexión recomendada por el proveedor y su pinout:

Page 33: TITULACIÓN: Ingeniería Técnica Industrial en Electrónica ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1951pub.pdf · ... DOS EN ÓXIDOS METÁLICOS CON RESISTENCIA DE CARGA ... causa

Proyecto: Ohmnímetro de 8 canales para medir sensores de gases

33

Figura 30. Esquemático de conexión del conector de reprogramación.

El diseño de la circuitería anexa al conector es la recomendada por fabricante.

La circuitería del conector de reprogramación queda como se muestra en el siguiente gráfico:

Figura 31. Esquemático del conector de reprogramación instalado en el prototipo.

Como se ha indicado, el conector de reprogramación es un RJ11 (conector típico de

cable de teléfono) que se usa para conectar con el reprogramador MPLAB I2C y el programa de PC MPLAB. Así se consigue descargar el programa en el micro o debugar directamente sobre el micro.

3.1.1.3 Switch de reset

Además, se ha insertado en serie a la línea reset un switch manual con el que poder resetear el micro manualmente, facilitando el desarrollo del software, dado que el software en muchas ocasiones durante las primeras fases del proyecto se podía suponer inestable.

La circuitería de interface es la recomendada por el fabricante y queda como sigue:

Page 34: TITULACIÓN: Ingeniería Técnica Industrial en Electrónica ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1951pub.pdf · ... DOS EN ÓXIDOS METÁLICOS CON RESISTENCIA DE CARGA ... causa

Proyecto: Ohmnímetro de 8 canales para medir sensores de gases

34

Figura 32. Esquemático del switch de reset.

3.1.2 Bloque puerto RS232

Gracias al puerto UART del micro podemos entablar comunicaciones con el multímetro externo a través del transceiver MAX232. El esquema queda como sigue:

Figura 33. Esquemático de la circuitería de interconexión RS232.

El conector RS232 montado en la placa conecta con el transceiver MAX232 que se encarga de la adaptación de señales entre microprocesador y líneas externas.

El interface de los condensadores son los sugeridos por el fabricante. Se dispone de 2 canales de comunicación (2 Rx y 2 Tx) pero solo se ha usado uno, que correspondería a los pines 2 y 3 que son el Rx y Tx clásicos en comunicación RS232.

Además se han intercalado unos jumpers seriados para los 4 canales para poder desacoplar físicamente la salida del conector del MAX232 en caso de debug de problemas.

Page 35: TITULACIÓN: Ingeniería Técnica Industrial en Electrónica ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1951pub.pdf · ... DOS EN ÓXIDOS METÁLICOS CON RESISTENCIA DE CARGA ... causa

Proyecto: Ohmnímetro de 8 canales para medir sensores de gases

35

El diseño inicial no invierte los pines 2 y 3 con lo que la comunicación no es posible. Un trabajo posterior ya permite su funcionamiento, pero los jumpers para los pines 2 y 3 quedan deshabilitados en el prototipo.

Durante el desarrollo del proyecto el puerto RS232 se ha usado como monitor de la aplicación a través de PC mediante el hyper-terminal. Una vez el programa de software ya estaba avanzado y concretado, el uso pasó a ser dedicado al multímetro externo.

El multímetro externo con el que comunicar es un Agilent 34410A o un dispositivo de protocolo compatible. Este dispositivo se debe de configurar a modo de comunicación 8 bits, sin paridad, y 9600 bauds de velocidad de transmisión.

Figura 34. Imagen de multímetro Agilent 34401A.

El multímetro requiere de protocolo añadido de DSR y DST, con lo que se ha activado permanentemente la señal DSR a 12V. Esto obliga en el diseño de software a tener siempre cuidado de que al pedir una medición se debe esperar la respuesta de la fuente inmediatamente. Esta solución es una de las propuestas por el mismo fabricante y ha sido implementada en el prototipo.

Respecto a lo que comunicación con el multímetro concierne, se puede decir que se hace mediante envío y recepción de cadenas de texto, según formato de proveedor, y la comunicación a través de RS232 se realiza de forma dedicada y siguiendo protocolo de proveedor. Se configura inicialmente el multímetro manualmente (con la configuración mencionada anteriormente) y después el software se encarga de realizar las adquisiciones automáticamente tomando el control de la fuente.

Seguidamente se detalla la construcción del bloque de RS232. El bloque que se encarga del las comunicaciones RS232 tiene como eje central el MAX 232 (CPE+).

Los 4 condensadores que rodean al componente se han colocado siguiendo las instrucciones del fabricante.

Page 36: TITULACIÓN: Ingeniería Técnica Industrial en Electrónica ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1951pub.pdf · ... DOS EN ÓXIDOS METÁLICOS CON RESISTENCIA DE CARGA ... causa

Proyecto: Ohmnímetro de 8 canales para medir sensores de gases

36

Figura 35. Esquemático del MAX232 y elección de condensador.

Este dispositivo cuenta con 2 canales de comunicación con lo que son 4 líneas de transmisión de datos (Rx y Tx para cada canal).

Tabla 5. Características principales del MAX232.

Se ha elegido un componente de 2 canales por precaución, dado que al empezar el proyecto se pensaba que el protocolo de comunicación con la fuente podría necesitar un soporte Xon-Xoff o CTS-DRS.

El protocolo de la fuente podría haber usado el CTS-DRS, pero también tenia la opción mucho mas simple de colocar a nivel alto permanente la señal DRS. Por facilidad de diseño se optó por esta opción y el segundo canal del MAX232 quedó en desuso.

Se ha colocado una resistencia de 1 kohm en serie con las señales del puerto UART del micro para prevenir sobrecorrientes durante la fase de diseño y evitar dañar algún componente.

Las líneas de comunicación van al conector de salida pasando primero por un jumper. Se han colocado para el caso en que se tuviera algún problema en la fase de desarrollo y se tuviera que aislar alguna señal.

Page 37: TITULACIÓN: Ingeniería Técnica Industrial en Electrónica ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1951pub.pdf · ... DOS EN ÓXIDOS METÁLICOS CON RESISTENCIA DE CARGA ... causa

Proyecto: Ohmnímetro de 8 canales para medir sensores de gases

37

El conector de salida es uno de tipo Sub-DB9, que es el standard para la comunicación RS232. El conector colocado es macho, para su fácil conexión con los comunes alargadores de RS232 que son hembra-hembra. Se ha buscado un conector que tuviera buen soporte mecánico para no dañar las soldaduras al conectar y desconectar el cable alargador. Por ello, el conector dispone de 2 soportes laterales que van sujetos y soldados al PCB.

3.1.3 Bloque 8 ohmnímetros internos

El ohmnímetro diseñado cuenta con un divisor de tensión formado entre la resistencia a medir del sensor y el potenciómetro electrónico regulable.

3.1.3.1 Divisor de tensión

El divisor de tensión está compuesto por la resistencia a medir y nuestro potenciómetro regulable.

El conector usado es uno de 20 vías con el formato usado en el laboratorio. Se usan 8 canales, con lo que cada resistencia se mide con 2 puntos, uno conectado a masa y el otro al divisor de tensión. Esto hace que se usen 16 de los 20 pines. Hay 4 que quedan sin uso y sin conexión.

A través del cable napa de 20 pines se conecta el prototipo con el juego de sensores externos. Seguidamente se muestra su esquema:

Figura 36. Esquemático de la conexión del cable plano.

Por otro lado, el potenciómetro digital AD5203AD100 de 100 kohms está conectado al bus SPI controlado por el micro que es el que controla los valores de resistencia de cada canal del potenciómetro.

Page 38: TITULACIÓN: Ingeniería Técnica Industrial en Electrónica ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1951pub.pdf · ... DOS EN ÓXIDOS METÁLICOS CON RESISTENCIA DE CARGA ... causa

Proyecto: Ohmnímetro de 8 canales para medir sensores de gases

38

En el diseño del software, una de las primeras inicializaciones es la de poner todos los canales del potenciómetro a los valores resistivos mas elevados para evitar problemas, pero hasta que eso sucede ya se puede haber producido el daño, porque podríamos tener la placa en reset, con lo que el micro no estaría inicializando nada mientras todos los componentes estarían activos.

Por ello se coloca una resistencia de seguridad de 1 kohms en la parte más baja del divisor para evitar daños en caso de cortocircuito externo (entiéndase resistencia 0 ohms). Podría darse algún momento en que la resistencia del potenciómetro digital fuera 0 ohms (o muy baja) con lo que la corriente seria muy alta pudiendo causar daño al integrado. Con esta resistencia de 1 kohm aseguramos que nunca un cortocircuito externo pueda dañar los potenciómetros digitales.

Esta misma resistencia de 1 kohm es la que va a complicar las medidas de sensores con valor resistivos muy bajos (del orden de pocos ohmnios), y aunque la resistencia del potenciómetro se va a poder bajar mucho, la resistencia de 1 kohm va a ser fija y molestará para medir resistencia muy bajas. Pero no es una premisa medir resistencias tan bajas. Los sensores de gases no suelen trabajar en este orden de magnitud.

Ajustando la resistencia del potenciómetro digital se puede ajustar el rango de voltaje que llegue al micro para adaptarlo a tensiones no extremas (no cercanas a 0 ni a 5 voltios) mientras no se llegue a los niveles máximos de medición. De adaptar el valor del potenciómetro se encarga la lógica del software y se describe más adelante.

Cada integrado consta de 4 multiplexores, con lo que hay 2 integrados en el circuito para cubrir los 8 canales. Los esquemas de ambos integrados queda de la siguiente forma:

Figura 37. Esquemático del potenciómetro digital (U3).

Page 39: TITULACIÓN: Ingeniería Técnica Industrial en Electrónica ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1951pub.pdf · ... DOS EN ÓXIDOS METÁLICOS CON RESISTENCIA DE CARGA ... causa

Proyecto: Ohmnímetro de 8 canales para medir sensores de gases

39

Figura 38. Esquemático del potenciómetro digital (U4).

Se han puesto resistencias de 1 kohm en las líneas de comunicación de SPI separando el micro de los componentes. De esta forma se protege el circuito si durante la fase de desarrollo se cometen errores y en el bus se quisieran poner diversos mensajes a la vez o si hubiera un error de construcción. Nótese también que la señal SDO de los componentes (Salida de SPI del potenciómetro que va hacia el micro) se ha conectado directamente a tierra. Esto es debido a que se ha omitido por completo la respuesta del componente, ya que no es importante para nuestro desarrollo y es completamente omisible.

El potenciómetro digital escogido es de 100 kohms porque es el máximo tamaño que se ha encontrado. Se controla por SPI y dispone de 64 pasos en los que se dividen los 100 kohms. De esta forma se puede ajustar constantemente el valor del potenciómetro para una lectura apropiada y fuera de valores extremos de tensión para la entrada analógica del micro.

La siguiente tabla muestra el protocolo de comunicación SPI para indicar al potenciómetro el canal que queremos ajustar y el paso a que queremos que se ajuste:

Tabla 6. Estructura del byte de configuración del potenciómetro digital.

En esta otra tabla vemos como está codificado el potenciómetro a escoger mediante los valores de A0 y A1:

Page 40: TITULACIÓN: Ingeniería Técnica Industrial en Electrónica ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1951pub.pdf · ... DOS EN ÓXIDOS METÁLICOS CON RESISTENCIA DE CARGA ... causa

Proyecto: Ohmnímetro de 8 canales para medir sensores de gases

40

Tabla 7. Direccionamiento de los 4 canales del potenciómetro digital .

A continuación se muestra la fórmula que calcula la resistencia total del potenciómetro sabiendo el paso en que se encuentra:

WBAWA RRDxDxR +−

= ·64

)64()( (1)

En esta fórmula, Rwa es la resistencia que adquirirá el potenciómetro (resistencia entre Wipe y A) y Dx es el paso en que nos encontramos. Rba es la resistencia total del potenciómetro, en nuestro caso 100.000 y Rw es la resistencia fija del Wipe, que según fabricante son 45 ohms. Y por último, nuestros pasos (Dx) se comprenden entre 0 y 63.

Para nuestro caso, la fórmula queda como sigue:

45100000·64

)64()( +−

=DxDxRWA (2)

Este cálculo es tenido en cuenta en el software para ir ajustando el potenciómetro a valores adecuados según varía el valor de resistencia en cada uno de los 8 sensores.

En al siguiente tabla se contemplan otros pines de los que dispone el potenciómetro como son el RS y SHDN.

Page 41: TITULACIÓN: Ingeniería Técnica Industrial en Electrónica ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1951pub.pdf · ... DOS EN ÓXIDOS METÁLICOS CON RESISTENCIA DE CARGA ... causa

Proyecto: Ohmnímetro de 8 canales para medir sensores de gases

41

Tabla 8. Funcionamiento según los pines de configuración del potenciómetro digital.

Los valores recuadrados en rojo es donde nosotros vamos a estar siempre que estemos tomando medidas, así que las líneas RS y SHDN se colocaran directamente a 5 V.

La tensión a la que se alimenta el divisor de tensión es de 5 V. En un principio se quería poner 12 V para obtener mayor resolución y facilidad para lectura de resistencias grandes. Pero el inconveniente fue que el Potenciómetro digital solo acepta tensiones en sus pines igual que la de su alimentación, y ésta es de 5 V.

3.1.3.2 Seguidor de tensión

Respecto al seguidor de tensión, se ha elegido un amplificador operacional con una corriente de entrada muy pequeña, para alterar lo mínimo la tensión de entrada del operacional por divisor de corriente. La familia del componente es de unos poco picoamperios de entrada, y el nuestro en concreto (AD704JNZ) tiene 80 uA de entrada.

Figura 39. Características generales de la familia del amplificador operacional.

El pinout del seguidor de tensión es el siguiente:

Page 42: TITULACIÓN: Ingeniería Técnica Industrial en Electrónica ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1951pub.pdf · ... DOS EN ÓXIDOS METÁLICOS CON RESISTENCIA DE CARGA ... causa

Proyecto: Ohmnímetro de 8 canales para medir sensores de gases

42

Figura 40. Esquemático del integrado del amplificador operacional.

Para tomar el valor del divisor de tensión sin modificar su tensión se ha colocado un amplificador operacional AD704JNZ en configuración de seguidor de tensión. Hay un amplificador operacional para cada uno de los 8 ohmnímetros de los que dispone el prototipo.

Los 8 amplificadores operacionales conducen los valores de tensión a un mismo multiplexor analógico.

Cada integrado consta de 4 operacionales, con lo que hay 2 integrados en el circuito para cubrir los 8 canales. Esquemáticamente, los dos integrados quedan reflejados de la siguiente forma:

Figura 41. Esquemático del amplificador operacional (U12).

Page 43: TITULACIÓN: Ingeniería Técnica Industrial en Electrónica ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1951pub.pdf · ... DOS EN ÓXIDOS METÁLICOS CON RESISTENCIA DE CARGA ... causa

Proyecto: Ohmnímetro de 8 canales para medir sensores de gases

43

Figura 42. Esquemático del amplificador operacional (U13).

3.1.3.3 Multiplexor analógico

El multiplexor analógico es el que nos va a redirigir uno de los 8 canales de medición conectados hacia el conversor A/D del micro.

Y a continuación se muestra el pinout del multiplexor:

Figura 43. Esquemático del integrado del multiplexor analógico.

El pin 2 de Enable se deja conectado a 5 V para que el componente quede constantemente controlado por el micro.

Las 8 señales que llegan de los divisores de tensión y que son reproducidas a través de los seguidores de tensión llegan al multiplexor analógico DG408DJ.

La salida del multiplexor va directamente a una entrada analógica del micro que será la encargada de la conversión de analógica a digital para su tratamiento por el software.

Page 44: TITULACIÓN: Ingeniería Técnica Industrial en Electrónica ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1951pub.pdf · ... DOS EN ÓXIDOS METÁLICOS CON RESISTENCIA DE CARGA ... causa

Proyecto: Ohmnímetro de 8 canales para medir sensores de gases

44

Este integrado tiene 8 canales de entrada, con lo que solo hay uno en el circuito. Esquemáticamente se muestra como sigue:

Figura 44. Esquemático del multiplexor analógico en el prototipo.

El software del microprocesador es el que va ajustando los 3 pines que seleccionan en el canal del multiplexor. Cada vez que se está midiendo una de las 8 resistencias, el microprocesador ajusta el multiplexor para poder tomar el valor analógico del canal escogido.

Seguidamente se muestra la tabla de valores de los pines de control del multiplexor para redireccionar cada una de sus entradas analógicas:

Tabla 9. Elección de la salida del multiplexor analógico según los pines de canal Ax.

3.1.4 Bloque tarjeta SD.

Este bloque viene conformado por un regulador, el socket para la tarjeta SD y las resistencias de adaptación de tensiones.

Page 45: TITULACIÓN: Ingeniería Técnica Industrial en Electrónica ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1951pub.pdf · ... DOS EN ÓXIDOS METÁLICOS CON RESISTENCIA DE CARGA ... causa

Proyecto: Ohmnímetro de 8 canales para medir sensores de gases

45

A medida se van adquiriendo los datos, ya sea mediante el multímetro externo o mediante los 8 sensores internos, los datos son guardados en la tarjeta SD.

La tarjeta SD está conectada al microprocesador a través del bus SPI. Este bus SPI es el mismo que controla los multímetros digitales y tiene posibilidad de expansión mediante conector externo. A través de este bus por donde se comunica el micro con la tarjeta SD y puede así escribirle la información para guardar los datos.

La tarjeta SD y los 2 multímetros están además conectados al micro mediante sus respectivos pines de SELECT del SPI lo que hace que el micro pueda decidir a quien manda los mensajes que cuelga en el bus y/o a quien da permiso para que cuelgue mensajes en el bus.

Por supuesto, cada vez que el micro decide escribir o leer de la tarjeta SD tiene que controlar este pin de chipselect y el bus SPI.

El micro es el encargado de controlar el bus SPI, de inicializar la tarjeta y de ir volcando la información en bloques de 512 bytes (un clúster completo) y demás. En la sección de software se dan más detalles de cómo se realizan estas operaciones.

El formato en que se guarda la información no está en formato FAT, con lo que no es reconocible directamente en un PC. Las librerías de gobernación del FAT son demasiado extensas para la flash de este microprocesador. Y las librerías pequeñas están hechas a medida para un determinado modelo de tarjeta de almacenamiento, de un proveedor muy concreto, de un tamaño muy concreto y de un formato muy concreto.

El intento de implementar la escritura en FAT ha sido un hándicap en el que se ha invertido muchas horas. Tantas que al final se ha decido escribir en la tarjeta sin formato FAT. Se escribe en hexadecimal, clúster a clúster desde la posición 0xC800 para no machacar la cabecera inicial de la tarjeta. Al final de la adquisición se escriben 20 clusters en blanco. De este modo se distingue de otra información que pueda contener la tarjeta o de antiguas adquisiciones.

Mediante un software de PC de soporte como puede ser el programa WinHex se puede leer el contenido de la tarjeta y volcar sobre un archivo de texto .txt para permitir su uso en PC's. En los anexos de esta memoria esta descrito su uso específico.

3.1.4.1 Regulador de tensión 3’3V

La tarjeta SD requiere alimentación de 3’3 V y no 5 V. Es más, los 5 V dañarían la tarjeta SD. Por ello se coloca un regulador independiente del de 5 V de la placa y que provee 3’3 V dedicados para la tarjeta SD. El integrado escogido es un LP2950ACZ. Es pequeño porque lo único que cuelga de él es la tarjeta SD que no requiere más que pequeñas cantidades de corriente.

El regulador LP2950ACZ está conectado directamente a 12 V transformándolos a 3.3 V. Tiene un condensador de tántalo de 10 uF a su salida. A continuación se muestran los datos más relevantes de la familia del regulador:

Page 46: TITULACIÓN: Ingeniería Técnica Industrial en Electrónica ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1951pub.pdf · ... DOS EN ÓXIDOS METÁLICOS CON RESISTENCIA DE CARGA ... causa

Proyecto: Ohmnímetro de 8 canales para medir sensores de gases

46

Figura 45. Características principales de la familia del regulador de tensión de 3’3V.

Y este sería su pinout:

Figura 46. Esquemático del regulador de tensión 3’3V

Con lo que el esquema final el circuito seria el siguiente:

Figura 47. Esquemático del regulador de tensión de 3’3V dentro del prototipo

3.1.4.2 Adaptación de señales

Al cambiar la tensión de alimentación de 5 V a 3’3 V también provoca que los valores lógicos ‘0’ y ‘1’ cambien de los 5 V a 3’3 V (el ‘0’ se mantiene) con lo que tiene que haber una adaptación de tensiones entre micro y tarjeta. Por ello, las señales que envía

Page 47: TITULACIÓN: Ingeniería Técnica Industrial en Electrónica ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1951pub.pdf · ... DOS EN ÓXIDOS METÁLICOS CON RESISTENCIA DE CARGA ... causa

Proyecto: Ohmnímetro de 8 canales para medir sensores de gases

47

el micro a la tarjeta son adaptadas mediante divisores de tensión resistivos para no dañar la tarjeta con sobretensiones.

Sin embargo, a la inversa no es necesaria adaptación de tensión, dado que el ‘1’ lógico de salida de la tarjeta, que es la entrada al micro, es de 3’3 V y este ya es un valor de tensión que el micro lo interpreta también como ‘1’ lógico.

Por ello, los divisores de tensión de las señales de salida del micro de 5 V son adaptadas mediante divisores de tensión hacia 3’3 V. Las señales que se adaptan son las salidas del micro de ChipSelect_SD, SPI clock y SPI (SDO). Queda la señal de SPI de entrada al micro. Ésta entra con una resistencia baja para que casi no haya caída de tensión en la resistencia y supere el ‘1’ lógico del micro.

La tensión de 5 V es dañina para la tarjeta SD, con lo que las señales de SPI Chip Select, Serial Output (del micro) y Clock son adaptadas mediante divisor de tensión de 4,7 kohms y 10 kohms a tensión correcta par la SD. Este divisor transforma los 5 V del micro en 3’39 V.

A la inversa, la tarjeta envía datos a 3.3V hacia el micro. Este voltaje supera el umbral de detección de 1 lógico con lo que no requiere adaptación.

Tabla 10. Voltajes de detección de ‘1’ lógico del micro.

Se ha puesto sin embargo una resistencia de 110 ohms para evitar sobrecorrientes entre micro y tarjeta, dado que su nivel de tensión de trabajo es diferente.

El juego de resistencias de adaptación, por lo tanto, queda como sigue:

Page 48: TITULACIÓN: Ingeniería Técnica Industrial en Electrónica ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1951pub.pdf · ... DOS EN ÓXIDOS METÁLICOS CON RESISTENCIA DE CARGA ... causa

Proyecto: Ohmnímetro de 8 canales para medir sensores de gases

48

Figura 48. Esquemáticos de los divisores de tensión que adaptan las tensiones entre el micro y la tarjeta SD.

3.1.4.3 Tarjeta SD.

Para interconectar el micro con la tarjeta SD se ha soldado un socket donde se puede introducir la tarjeta y permitir su fácil extracción.

Page 49: TITULACIÓN: Ingeniería Técnica Industrial en Electrónica ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1951pub.pdf · ... DOS EN ÓXIDOS METÁLICOS CON RESISTENCIA DE CARGA ... causa

Proyecto: Ohmnímetro de 8 canales para medir sensores de gases

49

Figura 49. Imagen del socket de la tarjeta SD y su plano.

Tal y como se ha explicado anteriormente la tarjeta se alimenta a 3’3 V y esta tensión entra por el pin 4, siendo el pin 3 GND. El resto de pines son los que se encargan de la comunicación SPI, siendo el pin 1 el de ChipSelect (controlado por el micro), el pin 2 el de MOSI (Master output Slave input, significa que es de salida del micro y entrada a la SD), el pin 5 el pin de clock (controlado por el micro) y el pin 8 el MISO (Master input Slave output, controlado por la SD mientras tenga su chipselect activado).

Y el esquema en circuito es el siguiente:

Figura 50. Esquemático del socket de la tarjeta SD dentro del prototipo

3.1.5 Bloque indicadores LED

La barra de leds sirven como indicador para ver que está sucediendo en el prototipo, que está haciendo y reporte de problemas que pueda encontrarse.

Page 50: TITULACIÓN: Ingeniería Técnica Industrial en Electrónica ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1951pub.pdf · ... DOS EN ÓXIDOS METÁLICOS CON RESISTENCIA DE CARGA ... causa

Proyecto: Ohmnímetro de 8 canales para medir sensores de gases

50

La barra de leds esta alimentada directamente por el microprocesador. Cada uno de los 10 leds que conforma la barra esta conectado a un pin del micro.

Para controlar la corriente que pasa por cada diodo led se coloca una resistencia de 510 ohms, que provoca 9.8 mA.

Como se puede ver en la siguiente tabla los 10 mA no son problema para el micro dado que soporta corrientes de 25 mA.

Figura 51. Valores máximos del micro. Máxima corriente de salida por pin del micro.

Seguidamente se muestra el esquemático que refleja su distribución.

Figura 52. Esquemático de la circuitería de los LEDs

Page 51: TITULACIÓN: Ingeniería Técnica Industrial en Electrónica ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1951pub.pdf · ... DOS EN ÓXIDOS METÁLICOS CON RESISTENCIA DE CARGA ... causa

Proyecto: Ohmnímetro de 8 canales para medir sensores de gases

51

3.1.6 Bloque regulador de tensión 5V.

Recordemos que nuestro prototipo debe ser alimentado a 12 V. Estos 12 V entran por un conector externo de bornes de tornillo cuyo esquema podemos ver seguidamente:

Figura 53. Esquemático del conector de 12V

Y estos 12 V se dirigen a los 2 reguladores de tensión de que disponemos. Seguidamente explicaremos el regulador de 5 V. Aquí tenemos su esquema:

Figura 54. Esquemático del regulador de 5V.

Hay 2 condensadores de 47 uF de tántalo que se han puesto a la entrada de 12 V para estabilidad de la señal de entrada. Sumados son 94 uF totales a la entrada.

La señal de 12 V llega al regulador que nos estabiliza la señal a 5 V. Reparte la señal a todos los dispositivos que cuelgan de 5 V, que son todos los integrados a excepción de la tarjeta SD que funciona con un regulador de tensión independiente de 3’3 V.

A la salida del regulador se ha colocado un condensador de tántalo de 47 uF para soportar demandas rápidas de corriente en la salida de Vcc.

El consumo de corriente en funcionamiento normal no es cercano a su umbral, con lo que su temperatura de trabajo no es ni alta ni crítica y no se le ha puesto disipador de calor.

El regulador utilizado para generar los 5 V en la placa es un L78M05CV. Aporta 500 mA a su salida Vcc y dispone de protección de salida por cortocircuito y por sobretemperatura que son características ideales para el desarrollo de un prototipo.

Page 52: TITULACIÓN: Ingeniería Técnica Industrial en Electrónica ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1951pub.pdf · ... DOS EN ÓXIDOS METÁLICOS CON RESISTENCIA DE CARGA ... causa

Proyecto: Ohmnímetro de 8 canales para medir sensores de gases

52

Figura 55. Principales características del regulador de tensión y su pinout.

Las cargas que tiene que soportar respecto a corriente y que son el groso de consumo que habrá en la placa son los leds de aviso (todos encendidos), las resistencias externas a medir en cortocircuito (todas a la vez), el microprocesador y envío por RS232 todo a la vez. La escritura de la tarjeta SD se contaría al otro regulador, con lo que no computa para éste.

Por ello, el consumo de cada led es de unos 10 mA aprox. (5 V para 510 ohms = 0'0098A) que multiplicado por los 10 leds que hay implica unos 100 mA.

Por otro lado, las resistencias externas en cortocircuito implicaría un consumo de unos 5 mA aprox. (1 kohm aprox. para 5 V) por cada canal cortocircuitado. Caso peor son 8 canales, lo que implica 40 mA de consumo.

El MAX232 puede consumir entre 10 mA y 15 mA según datasheet. Supondremos 15 mA.

El consumo del microprocesador, según fabricante, a 20 MHz es de unos 8 mA, a parte claro está, de todo los pines que se puedan ir activando. Puede llegar a consumir 250 mA por el pin de alimentación, según demanda de sus pines. En nuestro caso, no llegaremos nunca a esta demanda en casos usuales, tan solo llegaríamos en caso de problemas.

Sumando todo esto nos queda:

mAmicromAMAXmAciasCCresistenmAledsmA 163)(8)232(15)(40)(100 =+++ (3)

Eso significaría que el regulador de 500 mA llegaría sin problemas a dar la corriente necesaria

De esta forma también sacamos la corriente mínima necesaria que debería de aportarnos la fuente de 12 V externa que nos debe de alimentar.

El regulador va a aportar 5 voltios y como máximo 500 mA. A continuación el cálculo de la potencia. Omitimos el regulador de 3’3 V por la poca corriente que va a consumir, ya que la tarjeta SD consume por el orden de unidades de miliamperios. Por lo tanto:

WAVIVP 5'25'0·5· === (4)

Page 53: TITULACIÓN: Ingeniería Técnica Industrial en Electrónica ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1951pub.pdf · ... DOS EN ÓXIDOS METÁLICOS CON RESISTENCIA DE CARGA ... causa

Proyecto: Ohmnímetro de 8 canales para medir sensores de gases

53

Por lo tanto también requeriremos un adaptador de 12 V que nos aporte 2’5 W. En corriente, significa que nos debe aportar:

AVW

VPI 208'0

125'2

=== (5)

Con esto sabemos entonces que nuestro adaptador de corriente externo debe ser de 12 V y como mínimo de 200 mA ó 2’5 W.

3.2 Software

A continuación se revisará las funciones usadas en la elaboración del software del prototipo. Árbol de llamadas a las subfunciones:

• Programa Principal o Inicializa pines micro

Selec mux canal o Inicializa ADC o Inicializa potenciometro o Adquire datos

Inicializa com RS232 fuente Inicializa tarjeta SD Ajusta poten

• Selec mux canal • potenciómetro

Resistencia Transascii Suma bloque archivo

• Inicializa tarjeta SD o Command

o Adquiere power supply Inicializa com RS232 fuente Inicializa tarjeta SD Coger resist fuente Suma bloque archivo

• Inicializa tarjeta SD o Command

Page 54: TITULACIÓN: Ingeniería Técnica Industrial en Electrónica ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1951pub.pdf · ... DOS EN ÓXIDOS METÁLICOS CON RESISTENCIA DE CARGA ... causa

Proyecto: Ohmnímetro de 8 canales para medir sensores de gases

54

A continuación se detallan en que consisten las subrutinas:

• void adquiere_datos (void) Función de adquisición de datos mediante los 8 ohmnímetros internos y almacenaje

en la tarjeta sd. Toma lecturas hasta llenar el tamaño de un bloque: 512 bytes. Formato en que se guardará la info:

XXXEX<TAB>XXXEX<TAB>....[x8]…RETURN.

6 chars por medida * 8 canales + 2 (\r\n) = 50 char por linea.

Por 10 lineas = 500 char + espacios hasta 512 (Siendo TAB=0x09, RETURN=0x0D 0x0A, ESPACIO= 0x20)

• void transascii(int canal, char* sample, float resist) Función a la que le pasamos un float que equivale a la resistencia medida en un

canal. Convertirá el valor y lo modifica a la cadena SAMPLE en formato especial de 6 char que será la que se guardará posteriormente en el bloque.

• int ajusta_poten(int canal,int escala_sensor) Función que ajusta el canal del potenciómetro electrónico especificado a valor

idóneo o máximo rango para realizar una lectura.

• void adquiere_powersupply (void) Función que adquiere los datos del multímetro para ir guardándolos en la sd. Función

principal de control del multímetro Agilent, la tarjeta SD y estrategia de programa.

• void coger_resist_fuente(char* result) Función que devuelve el float de la lectura de resistencia a través de la fuente externa

Agilent 34401A. Formato: SD.DDDDDDDDESDD<\r><\n> (S signo, D Digito, . Punto, E E,) 17 caracteres. Ejemplo: +3.35236500E+05\r\n .

• void inicializa_potenciometros (void) Función que deja los 8 canales de los potenciómetros a 100Kohms. Se usa para

inicializar los potenciómetros a un valor default y de seguridad.

• void inicializa_pinesmicro (void) Función que inicializa los pines del micro a un valor inicial conocido y seguro para

inicio.

• void inicializa_adc(void) Función que inicializa los puertos del micro para la lecturas de tensiones analógicas.

Page 55: TITULACIÓN: Ingeniería Técnica Industrial en Electrónica ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1951pub.pdf · ... DOS EN ÓXIDOS METÁLICOS CON RESISTENCIA DE CARGA ... causa

Proyecto: Ohmnímetro de 8 canales para medir sensores de gases

55

• void potenciometro(int canal, int valor) Función con la que cambiamos la resistencia de los potenciómetros. Le pasamos el

canal a cambiar y su valor. El canal va de 0 a 7 y el paso de 0 a 63.

• float resistencia(int paso, int16 volt) Función que devuelve los ohmnios de resistencia sabiendo cual es paso y la tensión

leída.

• void selecmuxcanal(int chn) Función que activa los pines del micro selectores del multiplexor analógico para dar

salida del canal que se le pide.

• int sumabloquearchivo(char* bloc,int32 Sector) Función para escribir un bloque en la SD. Escribimos un sector (512bytes) de la

Tarjeta SD. Inicializa el sector o bloque a 0 cuando ha acabado de escribir. Retorna 1 si existe algún error. Retorna 0 si ha leído correctamente

• void inicializa_com_rs232_fuente(void) Inicialización del multímetro Agilent 34401A. Le indicamos que va a pasar a control

remoto. Control por 8 bits sin paridad a 9600 bauds.

• int inicializa_tarjetasd(void) Inicialización de la tarjeta SD para que trabaje mediante bus SPI. Retorna 1 si se ha

inicializado correctamente. Retorna 0 si ha habido algún error.

• char Command(char befF, int32 SD_Adress, char befH) Envío de los Comandos a la Tarjeta SD. Devuelve la lectura de SPI para que puedas

comprobar si es OK la ejecución del comando.

4 Planos del proyecto

4.1 Esquemático

Page 56: TITULACIÓN: Ingeniería Técnica Industrial en Electrónica ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1951pub.pdf · ... DOS EN ÓXIDOS METÁLICOS CON RESISTENCIA DE CARGA ... causa

Proyecto: Ohmnímetro de 8 canales para medir sensores de gases

Figura 56. Esquemático del proyecto.

Page 57: TITULACIÓN: Ingeniería Técnica Industrial en Electrónica ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1951pub.pdf · ... DOS EN ÓXIDOS METÁLICOS CON RESISTENCIA DE CARGA ... causa

Proyecto: Ohmnímetro de 8 canales para medir sensores de gases

4.2 PCB

Figura 57. PCB del proyecto.

Page 58: TITULACIÓN: Ingeniería Técnica Industrial en Electrónica ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1951pub.pdf · ... DOS EN ÓXIDOS METÁLICOS CON RESISTENCIA DE CARGA ... causa

Proyecto: Ohmnímetro de 8 canales para medir sensores de gases

58

5 Presupuesto de materiales A continuación se detalla la lista de materiales usados en la fabricación del prototipo

y el precio de ejecución de materiales.

REF. Uds. Descripción del material Precio Unitario

Precio Subtotal

1.1 2 Soporte DIL 24 pines (W3124/3TRC) (RS:801-752) 0,22 € 0,44 €

1.2 1 Soporte DIL 40 pines (W3140TRC) (RS:402-838) 0,41 € 0,41 €

1.3 1 Microprocessador PIC 18F4520 (RS:623-0819) 5,55 € 5,55 €

1.4 2 Amplificador Operacional (AD704JNZ ) (RS:522-9284) 10,65 € 21,30 €

1.5 1 Multiplexor analógico (DG408DJ-E3) (RS:636-4827) 3,30 € 3,30 €

1.6 2 Potenciómetro digital (AD5203AN100) (RS:357-1123) 2,15 € 4,30 €

1.7 1 Regulador tensión 3.3V (LP2950ACZ-3.3/NOPB) (RS:536-0492) 0,94 € 0,94 €

1.8 1 Regulador tensión 5V (L78M05CV) (RS:298-8592) 0,68 € 0,68 €

1.9 1 Transceiver RS232 (MAX232CPE+) (RS:540-5359) 3,74 € 3,74 €

1.10 1 Xtal 20Mhz (XTAL003185) (RS:226-1869) 1,19 € 1,19 €

1.11 1 Leds barra 10 leds (DC-10EWA) (RS:247-3056) 1,13 € 1,13 €

1.12 2 Condensador 15uF 5mm Ceramic (RPE5C2A150J2S1Z03A) (RS:652-9793) 0,23 € 0,46 €

1.13 3 Condensador 100n 5mm Tántalo (TAP104M035CCS-LF) (RS:537-4025) 0,45 € 1,36 €

1.14 4 Condensador 1uF 2mm Electrolítico (ECA1HM010) (RS:228-6846) 0,13 € 0,53 €

1.15 1 Condensador 10uF 5mm Tántalo (TAP106M006CCS-LF) (RS:537-4047) 0,66 € 0,66 €

Page 59: TITULACIÓN: Ingeniería Técnica Industrial en Electrónica ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1951pub.pdf · ... DOS EN ÓXIDOS METÁLICOS CON RESISTENCIA DE CARGA ... causa

Proyecto: Ohmnímetro de 8 canales para medir sensores de gases

59

1.16 3 Condensador 47uF 5mm Tántalo (TAP476M016CCS-LF) (RS:537-4407) 3,35 € 10,06 €

1.17 1 Díodo (1N4148) (RS:544-3480) 0,13 € 0,13 €

1.18 22 Resistencia 1k 0,25W (LR1F1K0) (RS:148-506) 0,06 € 1,28 €

1.19 8 Resistencia 10k 0,25W (LR1F10K) (RS:148-736) 0,06 € 0,46 €

1.20 10 Resistencia 510 0,25W (LR1F510R) (RS:148-433A) 0,04 € 0,44 €

1.21 5 Resistencia 4k7 0,25W (LR1F4K7) (RS:148-663A) 0,04 € 0,22 €

1.22 1 Resistencia 110 0,25W (LR1F110R) (RS:148-275A) 0,04 € 0,04 €

1.23 2 Resistencia 8k2 0,25W (LR1F8K2) (RS:148-714A) 0,04 € 0,09 €

1.24 1 Conector 12V-GND Tornillo (2w) (L13420211000) (RS:446-7328) 1,04 € 1,04 €

1.25 1 Conector RS232 (DB9) (1-1634580-2) (RS:495-9710) 2,27 € 2,27 €

1.26 1 Conector RJ25 (6w) (216548-1) (RS:615-4305) 0,61 € 0,61 €

1.27 1 Conector expansion SPI (8w) (90130-1208 ) (RS:360-6752) 1,43 € 1,43 €

1.28 1 Conector sensores (20w) (2-1634688-0) (RS:473-8282) 0,91 € 0,91 €

1.29 1 Conector base jumpers (8w) (90131-0764) (RS:360-6487) 1,00 € 1,00 €

1.30 4 Jumpers (W8000T50RC) (RS:251-8682) 0,29 € 1,16 €

1.31 1 Socket Tarjeta SD (FPS009-2405-0) (RS:455-9102) 5,20 € 5,20 €

1.32 1 Switch triple (Start - Program) (1MS3T1B1M2QES-1) (RS:401-670) 1,68 € 1,68 €

1.33 1 Switch simple (Reset) (1MS1T1B1M2QES-1) (RS:401-703) 1,40 € 1,40 €

1.34 2 Soporte DIL 14 pines (W3114TRC) (RS:402-765) 0,16 € 0,31 €

Page 60: TITULACIÓN: Ingeniería Técnica Industrial en Electrónica ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1951pub.pdf · ... DOS EN ÓXIDOS METÁLICOS CON RESISTENCIA DE CARGA ... causa

Proyecto: Ohmnímetro de 8 canales para medir sensores de gases

60

1.35 2 Soporte DIL 16 pines (W3116TRC) (RS:402-771) 0,18 € 0,35 €

1.36 1 PCB 30,00 € 30,00 €

Precio total de los componentes (REF.1) 106,06 €

REF. Uds. Descripción del material Precio Unitario

Precio Subtotal

2.1 12 Horas Mano de Obra 25,00 € 300,00 €

Precio total de mano de obra (REF.2) 300,00 €

5.1 Resumen presupuesto

El resumen del presupuesto para reproducir un prototipo como el diseñado y explicado en esta memoria es el siguiente:

Precio ejecución material (REF.1 + REF.2) 406,06 €

Gastos Generales (13%) 52,79 €

Beneficio industrial (6%) 24,36 €

TOTAL EJECUCIÓN 483,21 €

Page 61: TITULACIÓN: Ingeniería Técnica Industrial en Electrónica ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1951pub.pdf · ... DOS EN ÓXIDOS METÁLICOS CON RESISTENCIA DE CARGA ... causa

Proyecto: Ohmnímetro de 8 canales para medir sensores de gases

61

6 Pliego de condiciones

6.1 Objetivos del pliego de condiciones

El pliego de condiciones define los siguientes aspectos:

• Los aspectos legales y administrativos del proyecto

• Las normas, reglamentos y leyes para las que se ha regido el proyecto

• Las responsabilidades de los agentes que intervienen en el proyecto

• Las características exigibles a los materiales y equipos

• Las técnicas a emplear en la ejecución y puesta en marcha

• Los controles de calidad que se han de realizar

6.2 Condiciones generales

Las condiciones generales contemplan los aspectos legales, administrativos y económicos aplicables al presente proyecto. Se describen seguidamente.

6.2.1 Condiciones legales y administrativas

Todos los objetivos a desarrollar en el proyecto se ejecutarán cumpliendo la normativa UNE, referente a todas las partes implicadas y específicas en el apartado “31 Electrónica” del catálogo de la Asociación Española de Normalización y Certificación (AENOR), tales como:

• 31.020.- Componentes electrónicos en general

• 31.040.- Resistencias eléctricas

• 31.040.10.- Resistencias fijas

• 31.080.- Dispositivos semiconductores

• 31.160.- Filtros eléctricos

• 31.180.- Tarjetas y circuitos impresos

Page 62: TITULACIÓN: Ingeniería Técnica Industrial en Electrónica ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1951pub.pdf · ... DOS EN ÓXIDOS METÁLICOS CON RESISTENCIA DE CARGA ... causa

Proyecto: Ohmnímetro de 8 canales para medir sensores de gases

62

• 31.200.- Circuitos integrados, microelectrónica, etc.

Al mismo tiempo se han de cumplir los aspectos técnicos de instalación que afectan, directa o indirectamente, a este trabajo inclusos en el Reglamento Electrotécnico de Baja Tensión. Citamos a continuación las instrucciones técnicas complementarias (ICT’s) más importantes de Reglamento Electrotécnico de Baja Tensión:

• 0.19.- Instalaciones interiores o receptores. Prescripciones generales

• 0.22.- Instalaciones interiores o receptores. Protección contra sobreintensidades

• 0.23.- Instalaciones interiores o receptores. Protección contra sobretensiones

• 0.36.- Instalaciones a muy baja tensión

• 0.37.- Instalaciones a tensiones especiales

• 0.43.- Instalaciones de receptores. Prescripciones generales

• 0.48.- Instalaciones de receptores Transformadores i autotransformadores. Reactancias y rectificadores. Condensadores.

• Todas las normas UNE de obligado cumplimiento

6.2.2 Condiciones facultativas

En este proyecto están implicadas dos empresas, la solicitante del proyecto, que se denominará contratista, y la diseñadora del mismo, la cual de ahora en adelante se nombrará como contratada.

Los permisos de carácter obligatorio se habrán de obtener por parte de la empresa contratada, quedando la empresa contratista al margen de todas las consecuencias derivadas de las mismas. Cualquier atraso en el proceso de fabricación por causas debidamente justificadas, siendo estas ajenas a la empresa contratada, serán debidamente aceptadas por el contratista, no teniendo este último derecho a ninguna reclamación.

Cualquier retraso no justificado supondrá el pago de una multa por valor del 6% del importe total de fabricación por fracción de atraso pactado en el contrato.

La empresa contratante se compromete a proporcionar las mejores facilidades al contratista para que la fabricación se realice rápida y perfectamente.

El aparato cumplirá los requisitos mínimos respecto al proyecto encargado. Cualquier variación o mejora en el contenido del mismo se habrá de consultar al técnico diseñador. Durante el tiempo estimado para la instalación, el técnico proyectista podrá renunciar a la suspensión momentánea si así lo cree oportuno. Las características de los elementos y componentes serán las especificadas en la memoria, teniendo en cuenta su perfecta colocación y posterior utilización.

La contratación de este proyecto se considera válida cuando las dos partes implicadas se comprometen a concluir las cláusulas del contrato, para lo cual deberán de estar firmados los documentos adecuados en una reunión conjunta después de haber llegado a un

Page 63: TITULACIÓN: Ingeniería Técnica Industrial en Electrónica ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1951pub.pdf · ... DOS EN ÓXIDOS METÁLICOS CON RESISTENCIA DE CARGA ... causa

Proyecto: Ohmnímetro de 8 canales para medir sensores de gases

63

acuerdo. Los servicios prestados por la empresa contratada se considerarán finalizados desde el momento en el que el aparato se ponga en funcionamiento después de la previa comprobación que todo funcione correctamente. La garantía se extiende durante dos años y la empresa contratista se hará cargo de la avería mientras se justifique que esta no tiene que ver con un mal uso del equipo. Una vez finalizada la garantía, la empresa contratante no tendrá derecho a reclamar ajustes y reparaciones gratuitas en el global del equipo.

El presupuesto no incluye gastos de tipo energético producidos por el proceso de instalación, ni las obras, en caso de ser necesarias, que irán a cargo de la empresa contratante.

El cumplimiento de las elementales comprobaciones por parte de la empresa instaladora no será competencia del proyectista, el cual queda fuera de toda responsabilidad derivada del mal funcionamiento del equipo como a consecuencia de estos hechos.

6.2.3 Condiciones económicas

La forma de efectuar el abono del equipo será al contado si este ya está construido. Si aún se ha de fabricar, se abonará en dos pagos, uno a cuenta para iniciar el proceso de fabricación y el resto en finalizarlo, siempre y cuando se cumplan los requisitos expuestos en las condiciones facultativas.

6.3 Condiciones de materiales y equipos

En este apartado se incluyen las especificaciones de todos los materiales que forman

parte del proyecto. Estas garantizan las normativas y reglamentos vigentes que les puedan afectar, ya expresados en las condiciones generales.

6.3.1 Descripción general del montaje

Los componentes electrónicos descritos en la memoria serán soldados con tecnología THT y SMD siguiendo las normativas de soldadura IPC sobre el PCB. A continuación se describen las especificaciones de los componentes que constituyen el circuito.

6.3.1.1 Conductores eléctricos

Todos los cables de alimentación serán circulares ya que estos ofrecen una mejor flexibilidad. Irán aislados superficialmente en toda su longitud con recubrimiento de

Page 64: TITULACIÓN: Ingeniería Técnica Industrial en Electrónica ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1951pub.pdf · ... DOS EN ÓXIDOS METÁLICOS CON RESISTENCIA DE CARGA ... causa

Proyecto: Ohmnímetro de 8 canales para medir sensores de gases

64

esmalte, barniz o plástico preferiblemente. La sección de los cables de alimentación no será inferior a 0.75 mm2.

La conexión al array de sensores se hará con cable plano de 20 líneas. Y el bus de expansión SPI irá con cable plano de 8 líneas. El puerto de comunicaciones RS232 irá debidamente estructurado dependiendo de la normativa vigente.

6.3.1.2 Conectores

La conexión de la alimentación se realiza mediante regleta de 2 contactos, mientras que el conector del bus de datos dispondrá de un conector adecuado al tipo de cable RS232. La empresa contratada tiene libertad en la elección del cable plano y sus conectores, cumpliendo con todas las normativas vigentes de la región.

6.3.1.3 Resistencias fijas

Todas las resistencias fijas a emplear serán de un 1 % de tolerancia y ¼ de vatio de potencia. El material de fabricación de dichas resistencias es responsabilidad de la empresa contratada, al igual que la verificación de la estabilidad térmica de las mismas.

6.3.1.4 Diodos

El diodo empleado en este proyecto será 1N4148, siendo responsabilidad de la empresa contratada la elección de otro modelo.

6.3.1.5 Diodos Led

La barra de Leds será de color rojo, con buena iluminación de trabajo a los 10mA.

6.3.1.6 Circuitos integrados

Los circuitos integrados empleados serán los indicados en la memoria, no pudiendo cambiarlos sin antes notificarlo a la empresa contratista. La empresa contratada está obligada a verificar la existencia de dispositivos que, cumpliendo con todos los parámetros comentados en la memoria, tengan un coste inferior y/o su disponibilidad sea más sencilla.

Page 65: TITULACIÓN: Ingeniería Técnica Industrial en Electrónica ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1951pub.pdf · ... DOS EN ÓXIDOS METÁLICOS CON RESISTENCIA DE CARGA ... causa

Proyecto: Ohmnímetro de 8 canales para medir sensores de gases

65

6.3.1.7 Placas impresas

Las placas impresas mostradas en la memoria son operativas, aunque si la empresa contratada lo cree oportuno puede desarrollar un nuevo modelo por cuestiones de coste o facilidad de producción. En caso de dicho rediseño de las placas, se deben seguir las siguientes características obligatorias:

• Todos los ángulos de las pistas serán inferiores a 90º

• El trazado de la masa dificultará la emisión y la recepción de interferencias electromagnéticas

• Todas las placas deben ser operativas en un rango de temperatura de -5 a 45 ºC

• El trazado de las pistas paralelas evitará la aparición de inducciones mutuas entre ellas.

• Las pistas de cobre deben ir cubiertas de una capa protectora de estaño

• Los componentes que puedan interferirse mutuamente se alejarán de tal manera que sus interferencias se minimicen.

• Las placas empleadas deben tener un grosor de 70 μm como mínimo.

El ancho mínimo de las pistas es de 0,8 mm, mientras que en el caso de las pistas de alimentación y masa será de 1 mm.

6.4 Condiciones de ejecución y montaje

A continuación se expresará la forma de ejecutar, fabricar y montar algunas partes del equipo. El seguimiento de dichas formas garantizará el buen funcionamiento del equipo y el cumplimiento de las normativas y reglamentos vigentes que les puedan afectar.

6.4.1 Descripción general de montaje

A continuación se presentan las diferentes fases que componen el montaje del presente proyecto y la orden con la que se han de ejecutar, con la obligación de acabar la fase anterior antes de comenzar la siguiente.

• Encargo y compra de los componentes necesarios

• Fabricación de las placa del circuito impreso

Page 66: TITULACIÓN: Ingeniería Técnica Industrial en Electrónica ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1951pub.pdf · ... DOS EN ÓXIDOS METÁLICOS CON RESISTENCIA DE CARGA ... causa

Proyecto: Ohmnímetro de 8 canales para medir sensores de gases

66

• Montar los componentes sobre el PCB

• Instalación en planta

• Ajuste y comprobación de los parámetros

• Puesta en marcha del equipo

Todas estas partes que en su conjunto forman el proyecto, tendrán que ser ejecutadas por montadores que cumplan las normas que la comunidad autónoma, país o bien comunidad internacional tengan previstas para este tipo de montajes, no haciéndose responsable el proyectista de los desperfectos ocasionados por su cumplimiento.

6.4.2 Encargo y compra de los componentes necesarios

Los componentes empleados deben ser los expresados en la memoria descriptiva. La modificación de uno de dichos componentes debe ser aprobada por la empresa contratada. Si dicha modificación no se informa, o se hace caso omiso a una objeción por parte de la misma, ésta no se responsabiliza de los daños o costes que esta modificación pueda ocasionar.

6.4.3 Fabricación de las placas de circuito impreso

Se puede elegir cualquier método de fabricación de placas impresas, siempre y cuando se garantice que las placas están libres de cortocircuito y de pistas cortadas. Estos fallos se han de evitar a toda costa ya que puede ocasionar conflictos graves en el equipo.

6.4.4 Montar los componentes sobre el PCB

El sistema de taladrado, inserción y soldado de los componentes es libre, aunque se recomienda que no debe tener una tasa de fallos superior al 0,05 %. Debe soportar el estrés térmico y mecánico necesario para un funcionamiento continuo durante 5 años. El control de calidad incluirá controles de resistencia mecánica y envejecimiento por estrés térmico. La primera placa de cada remesa de componentes debe superar un control de compatibilidad electromagnética.

6.4.5 Instalación en planta

El lugar de la instalación debe ser fresco y seco, no pudiendo superar los 55ºC. Si por causas de fuerza mayor no se puede evitar alcanzar dicha temperatura, se debe desconectar

Page 67: TITULACIÓN: Ingeniería Técnica Industrial en Electrónica ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1951pub.pdf · ... DOS EN ÓXIDOS METÁLICOS CON RESISTENCIA DE CARGA ... causa

Proyecto: Ohmnímetro de 8 canales para medir sensores de gases

67

el equipo lo antes posible. La empresa contratada no se hace responsable de los daños o costes que pueda ocasionar un emplazamiento incorrecto del equipo. Si alguno de los parámetros comentados no se cumple, o existe el riesgo que no se cumpla, se debe notificar a la empresa contratada, la que determinará la viabilidad de la instalación.

6.4.6 Ajuste y comprobación de los parámetros

El equipo debe ser iniciado y comprobado. Se debe comprobar que los 8 ohmnímetros internos no varían más de 5% su medida de una resistencia fija de 100Kohms y 1% de precisión. Se debe hacer para sus 8 canales.

6.4.7 Puesta en marcha del equipo

Se verificará que la alimentación del equipo es correcta y que las condiciones de uso ambientales están dentro de lo descrito en el apartado anterior. Se verificará que los 8 ohmímetros internos funcionan correctamente. Se verificará que el puerto de comunicaciones funciona correctamente con el protocolo establecido en la memoria. Se comprobará que todos los leds funcionan. Y se comprobará que la escritura sobre la tarjeta SD es correcta y se corresponde a lo establecido.

Page 68: TITULACIÓN: Ingeniería Técnica Industrial en Electrónica ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1951pub.pdf · ... DOS EN ÓXIDOS METÁLICOS CON RESISTENCIA DE CARGA ... causa

Proyecto: Ohmnímetro de 8 canales para medir sensores de gases

68

7 Referencias Bibliográficas

[1] http://es.rs-online.com/web/ (Rs amidata. Web donde se han comprado los componentes y se han obtenido los datasheedts)

[2] http://www.microchip.com (Proveedor del PIC y del software MPLAB para el reprogramador)

[3] http://www.analog.com (Proveedor de los potenciómetros electrónicos usados en el proyecto)

[4] http://www.labcenter.com/ (Proveedor del programa Proteus)

[5] http://www.figarosensor.com/ (Proveedor de los sensores Fígaro)

[6] http://www.home.agilent.com/ (Proveedor Agilent del multímetro externo)

[7] http://www.winhex.com/ (Proveedor del programa de software WinHex)

[8] www.ccsinfo.com (Proveedor del programa compilador CCS)

[9] www.allpinouts.org (Web de referencia para listado de pinouts)

[10] www.electro-tech-online.com/ (Foro global de electronica)

[11] http://www.wolframalpha.com/ (Herramienta Web matemática)

[12] https://www.circuitlab.com/ (Herramienta Web de dieño de circuitos)

Page 69: TITULACIÓN: Ingeniería Técnica Industrial en Electrónica ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1951pub.pdf · ... DOS EN ÓXIDOS METÁLICOS CON RESISTENCIA DE CARGA ... causa

Proyecto: Ohmnímetro de 8 canales para medir sensores de gases

69

8 Anexos

8.1 Código Software   /********************************************************************* Programa principal. RCAS ‐ Resistance circuit adquisition system Proyecto: Ohmnimetro de 8 canales para medicion de sensores de gases. Circuito microcontrolado atraves de PIC 18F4520. Adquisicion de valores resistivos con circuiteria independiente (para 8 canales) o de forma externa mediante RS232 y fuente Agilent 34401A (para 1 canal) seleccionable a traves de switch manual. Datos obtenidos son guardados en tarjeta SD (sin formato FAT) a  partir del cluster 100 (0xC800) dejando 20 cluster vacios al final de la adquisicion. Desarrollado por el alumno Carlos Ramos para la Universidat Rovira i Virgili (URV, Tarragona). Mayo 2012 ***********************************************************************/  #include <18F4520.h> #include <stdio.h> #include <string.h> #include <stdlibm.h>  #FUSES HS                       //Oscilador externo de alta velocidad #FUSES NOPUT                    //Sin timer power‐up  #use delay(clock=20000000)      // Indicamos la velocidad de nuestro oscilador a 20MHz #use RS232(BAUD=9600,XMIT=PIN_C6,RCV=PIN_C7,PARITY=N,BITS=8)   //Configuracion del RS232 #use SPI (MASTER,MODE=0, BITS=8, CLOCK_HIGH=10, CLOCK_LOW=10, SPI1)  //Configuracion del SPI  #define CS_SD PIN_D5         // Patilla del Chip_Select de la Tarjeta SD #define CS_POT1_4 PIN_D3     // Patilla del Chip_Select del primer potenciometro #define CS_POT5_8 PIN_D4     // Patilla del Chip_Select del segundo potenciometro #define CS_EXPANSION PIN_C2  // Patilla del Chip_Select de la expansion SPI  #define led1 PIN_B4     // Indicacion led: Microprocesador vivo y corriendo programa. #define led2 PIN_B5     // Indicacion led: Inicializacion de la tarjeta SD OK. #define led3 PIN_B0     // Indicacion led: Se esta adquiriendo datos del multimetro #define led4 PIN_B1     // Indicacion led: Se adquieren datos de los 8 canales internos. #define led5 PIN_B2     // Indicacion led: (Parpadeo) Acceso de escrituta a SD #define led6 PIN_B3     // Indicacion led: (Sin uso) #define led7 PIN_A5     // Indicacion led: (Sin uso) #define led8 PIN_E0     // Error led: Tarjeta SD ausente. #define led9 PIN_E1     // Error led: Problema al escribir en la tarjeta SD. #define led10 PIN_E2    // Error led: Inicializacion tarjeta SD NOK.  #define sw_start PIN_D6         //Switch indicacion uso 8 multimetros internos #define sw_powersupply PIN_D7   //Switch indicacion uso multimetros externo  #define muxa PIN_D0      // Pines selecion canal multiplexor analogico #define muxb PIN_D1 #define muxc PIN_D2  #define vsense PIN_A0    // Pin sensado tension 12V. (no usado ‐ SPARE).   #define STARTUP_TIME 500   //milsegundos que el micro espera para correr                              //el programa despues de un reset o power on    //*************************************************************** //                  DECLARACION DE FUNCIONES //***************************************************************   // Envio de los Comandos a la Tarjeta SD.  // Devuelve la lectura de SPI. char Command(char befF, int32 SD_Adress, char befH)    {       SPI_write(0xFF);    SPI_write(befF);    SPI_write(MAKE8(SD_Adress,3));      // Separamos los bytes de la direccion    SPI_write(MAKE8(SD_Adress,2));      // MSB    SPI_write(MAKE8(SD_Adress,1));    SPI_write(MAKE8(SD_Adress,0));      // LSB    SPI_write(befH);    SPI_write(0xFF);    return SPI_read(0xFF); 

Page 70: TITULACIÓN: Ingeniería Técnica Industrial en Electrónica ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1951pub.pdf · ... DOS EN ÓXIDOS METÁLICOS CON RESISTENCIA DE CARGA ... causa

Proyecto: Ohmnímetro de 8 canales para medir sensores de gases

70

   }      // Inicializacion de la tarjeta SD en formato SPI // Retorna 1 si se ha inicializado correctamente // Retorna 0 si ha habido algun error int inicializa_tarjetasd(void) {    int i;        output_high(CS_SD);                    // Deshabilitamos la SD    for (i=0; i<10; i++)              SPI_write(0xFF);  // Enviamos un minimo de 80 clocks para inicializar la SD a SPI    output_low(CS_SD);                    // Habilitamos la Tarjeta SD     if (Command(0x40, 0, 0x95) !=1)           {           output_high(led10);            //led de error en ini_tarjeta           return 0;                      //Error en la inicializacion           }    while (Command(0x41, 0, 0xFF) !=0);   //Esperamos la respuesta de la tarjeta.     output_high(CS_SD);                   // Deshabilitamos la SD     output_high(led2);                    //led de OK en initarjeta.    return 1; }     //Inicializacion del multimetro Agilent 34401A. //Le indicamos que va a pasar a control remoto. //Control por 8 bits sin paridad a 9600 bauds. void inicializa_com_rs232_fuente(void)         {         printf("SYST:REM\r\n");  //le dice a la fuente que la vamos          delay_ms(2000);          //a controlar por Rs232 y no por frontal.         }     // Escribimos un sector (512bytes) de la Tarjeta SD // Inicializa el sector o bloque a 0 cuando ha acabado de escribir // Retorna  1 si existe algun error. Retorna  0 si ha leido correctamente int sumabloquearchivo(char* bloc,int32 Sector)    {    int error;    int16 i;        output_low(CS_SD);      // habilitamos la SD                            // Enviamos el Comando de Escritura,                             // junto con la direccion del sector    if (Command(0x58, Sector*512, 0xFF) !=0)       error=1;              // ERROR    else  error=0;           // CORRECTO     SPI_write(0xFF);    SPI_write(0xFF);    SPI_write(0xFE);    for(i=0; i < 512; i++)   // Empezamos ha enviar los 512 bytes del sector        SPI_write(bloc[i]);    SPI_write(0xFF);         // Enviamos dos bytes nulos al final de la trasnmision    SPI_write(0xFF);      i=SPI_read(0xFF);        // Leemos el estado de la tarjeta y si todo ha ido bien    i &=0b00011111;    if (i != 0b00000101)                 {         output_high(led9);  // led de error en ini_tarjeta         error=1;            // ERROR DE ESCRITURA                 }    else         error=0;            // ESCRITURA CORRECTA        // Esperamos hasta que la tarjeta termine la grabacion.      i=0;    while((SPI_read(0xFF) !=0xFF)&&(i<4000)) i++;     if (i==4000)                  {                 output_high(led8);   //led de error en tarjeta ausente                 //Intentariamos incializar de nuevo la tarjeta                  inicializa_tarjetasd();                 }    output_high(CS_SD);      // Deshabilitamos la SD 

Page 71: TITULACIÓN: Ingeniería Técnica Industrial en Electrónica ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1951pub.pdf · ... DOS EN ÓXIDOS METÁLICOS CON RESISTENCIA DE CARGA ... causa

Proyecto: Ohmnímetro de 8 canales para medir sensores de gases

71

     if (bit_test(sector,0))         // parpadeo led 5 mientras va funcionando todo y OK...                 output_high(led5);         else                 output_low(led5);           return error;    }      //Funcion que activa los pines del micro selectores del multiplexor  //para dar salida del canal que le pedimos. void selecmuxcanal(int chn)    {    switch (chn)    {                    case 0:                       {                       output_bit(muxa,0);                          output_bit(muxb,0);                       output_bit(muxc,0);                       break;                                     }                    case 1:                       {                       output_bit(muxa,1);                          output_bit(muxb,0);                       output_bit(muxc,0);                       break;                       }                    case 2:                       {                       output_bit(muxa,0);                          output_bit(muxb,1);                       output_bit(muxc,0);                       break;                       }                    case 3:                       {                       output_bit(muxa,1);                          output_bit(muxb,1);                       output_bit(muxc,0);                       break;                       }                    case 4:                       {                       output_bit(muxa,0);                          output_bit(muxb,0);                       output_bit(muxc,1);                       break;                       }                    case 5:                       {                       output_bit(muxa,1);                          output_bit(muxb,0);                       output_bit(muxc,1);                       break;                       }                    case 6:                       {                       output_bit(muxa,0);                          output_bit(muxb,1);                       output_bit(muxc,1);                       break;                       }                    case 7:                       {                       output_bit(muxa,1);                          output_bit(muxb,1);                       output_bit(muxc,1);                       break;                       }                    default:                       {                       output_bit(muxa,0);                          output_bit(muxb,0);                       output_bit(muxc,0);                       break;                       }                                    }       delay_ms(10);  // En teoria solo tarda centenares de ns en conmutar                      // de canal. Pero lo ponemos por seguridad y estabilizacion general.                      // El tiempo de test no es algo critico en nuestro programa. 

Page 72: TITULACIÓN: Ingeniería Técnica Industrial en Electrónica ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1951pub.pdf · ... DOS EN ÓXIDOS METÁLICOS CON RESISTENCIA DE CARGA ... causa

Proyecto: Ohmnímetro de 8 canales para medir sensores de gases

72

     }     //Funcion que devuelve los ohmnios de resistencia  //sabiendo cual es paso y la tension leida float resistencia(int paso, int16 volt)    {    float resist;    float respaso;    float fvolt;    float vajust;     if ((paso==63)&&(volt<31)) resist=0;      //Resistencia muy baja      else {         if ((paso==0)&&(volt>217)) resist=99999999999;    //Resistencia muy alta         else{          vajust=volt;          fvolt=vajust*0.0193;          respaso=((64‐paso)*100000)/64;      //Calculo de la R del potenciometro ajustable interna                  respaso=respaso+45+1000;    //Suma a la R del pot con su R wipe y el 1K de proteccion          resist=((fvolt*respaso)/(4.92‐fvolt));          }       }    return(resist);    }     //Funcion con la que cambiamos la resistencia de los potenciometros.  //Le pasamos el canal a cambiar y su valor //El canal va de 0 a 7 y el paso de 0 a 63 void potenciometro(int canal, int valor)     {     int enviar=0;     int chipselect=0;         if (canal>7) canal=7;         //Evitamos valores incorrectos.     if (valor>63) valor=63;       //Usado en depuración del programa.      if (canal<4)                 //Hay 2 potenciometros y miramos que chipselect es el correcto           chipselect=CS_POT1_4;        else {            canal=canal‐4;            chipselect=CS_POT5_8;            }         enviar=valor;     if (bit_test(canal,0)) bit_set(enviar,6); else bit_clear(enviar,6);     if (bit_test(canal,1)) bit_set(enviar,7); else bit_clear(enviar,7);     output_bit(chipselect,0);      spi_xfer(enviar);     output_bit(chipselect,1);  //desactivamos los chips select     delay_ms(5);               //tiempo de estabilizacion de la senyal.     }      //Funcion que inicializa la lecturas de tensiones analogicas. void inicializa_adc(void)   {    setup_adc(ADC_CLOCK_INTERNAL);   //configuramos que se van a usar las analogicas    setup_adc_ports(AN0_TO_AN1);     //configuramos como entradas analogicas RA0, RA1, RA3    set_adc_channel(0);              //indicamos que queremos leer por RA0       delay_us(15);                    //Despues de un ajuste del canal analogico toca esperar 10us   }     //Funcion que incializa los pines del micro a un valor incial conocido y seguro para inicio void inicializa_pinesmicro (void) {    output_bit(CS_SD,1);       //chipselects desactivados     output_bit(CS_POT5_8,1);    output_bit(CS_POT1_4,1);    output_bit(CS_EXPANSION,1);    output_high(led1);         //Salidas de leds controladas a 0V.     output_low(led2);          //El led1 encendido como chivato de que el programa esta corriendo    output_low(led3);          //El resto de leds desactivados    output_low(led4);    output_low(led5); 

Page 73: TITULACIÓN: Ingeniería Técnica Industrial en Electrónica ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1951pub.pdf · ... DOS EN ÓXIDOS METÁLICOS CON RESISTENCIA DE CARGA ... causa

Proyecto: Ohmnímetro de 8 canales para medir sensores de gases

73

   output_low(led6);    output_low(led7);    output_low(led8);    output_low(led9);    output_low(led10);    selecmuxcanal(0);          //De esta forma incializamos los pines del multiplexor para canal 0. }     //Funcion que deja los 8 canales de los potenciometros a 100Kohms //Se usa para inicializar los potenciometros a un valor default y de seguidad. void inicializa_potenciometros (void) {    output_bit(CS_POT1_4,0); // Canal 1 a maximo valor    spi_xfer(0x00);    output_bit(CS_POT1_4,1);    delay_us(2);     output_bit(CS_POT1_4,0); // Canal 2 a maximo valor    spi_xfer(0X40);    output_bit(CS_POT1_4,1);    delay_us(2);     output_bit(CS_POT1_4,0); // Canal 3 a maximo valor    spi_xfer(0x80);    output_bit(CS_POT1_4,1);    delay_us(2);     output_bit(CS_POT1_4,0); // Canal 4 a maximo valor    spi_xfer(0xC0);    output_bit(CS_POT1_4,1);    delay_us(2);     output_bit(CS_POT5_8,0); // Canal 5 a maximo valor    spi_xfer(0x00);    output_bit(CS_POT5_8,1);    delay_us(2);     output_bit(CS_POT5_8,0); // Canal 6 a maximo valor    spi_xfer(0X40);    output_bit(CS_POT5_8,1);    delay_us(2);     output_bit(CS_POT5_8,0); // Canal 7 a maximo valor    spi_xfer(0x80);    output_bit(CS_POT5_8,1);    delay_us(2);     output_bit(CS_POT5_8,0); // Canal 8 a maximo valor    spi_xfer(0xC0);    output_bit(CS_POT5_8,1);    delay_us(2);  }     //Funcion que devuelve el float de la lectura de resistencia  //a traves de la fuente externa Agilent 34401A //Formato: SD.DDDDDDDDESDD<\r><\n>   (S signo, D Digito, . Punto, E E,) 17 caracteres //Ejemplo: +3.35236500E+05\r\n  //En Hardware, la fuente usa DSR y DTR. DSR por HW a nivel alto siempre. void coger_resist_fuente(char* result)    {    int i;     printf("MEAS:RES?\r\n");    //Instruccion para el multimetro que devolvera una medida    gets(result);               //de resistencia    delay_ms(100);    for (i=0;i<16;i++)              //Quitamos el primer espacio que es           result[i]=result[i+1];    //un caracter inutil y desplazamos todo.     result[15]='\r';            //Insertamos un return al final del valor    result[16]='\n';    }        //Funcion que adquiere los datos del multimetro para irlos guardandolos en la sd //Funcion principal de control de la fuente, la tarjeta SD y estrategia de programa. void adquiere_powersupply (void) {    char bloc[512];      //variable (de 512 bytes) que escribiremos de golpe en la sd.    char muestra[17];    //variable (de 17 chars) donde guardamos el valor medido del multimetro    int16 linea;         //para controlar las 30 lineas que llevara un bloque.     int16 puntbloc;      //puntero a la posicion dentro del bloque que se esta llenando    int16 i;             int32 sd_pointer_block;  //puntero apuntando al sector actual dentro de la SD                              //y que es donde meteremos el bloque     

Page 74: TITULACIÓN: Ingeniería Técnica Industrial en Electrónica ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1951pub.pdf · ... DOS EN ÓXIDOS METÁLICOS CON RESISTENCIA DE CARGA ... causa

Proyecto: Ohmnímetro de 8 canales para medir sensores de gases

74

   sd_pointer_block=100;   //Comenzamos a guardar las medidas a partir del sector 100 de la SD                             //para no tocar su encabezado FAT.    output_high(led3);      //led indica que adquirimos de multimetro    inicializa_com_rs232_fuente();    i=inicializa_tarjetasd();         while (input(sw_powersupply))       {       puntbloc=0;                           //Incializamos el indicador dentro del bloque a 0        for (i=0;i<512;i++) bloc[i]=0x20;     //y la muestra y el bloque a espacios en blanco.       for (i=0;i<17;i++) muestra[i]=0x20;              for (linea=0;linea<30;linea++)        //17 chars * 30 lineas=510,  512 pos. de un bloque =>                {                            //sobran 2 posiciones que llenaremos con 0x20 (espacio)                coger_resist_fuente(&muestra[0]);  //adquirimos la muestra del multimetro.                for (i=0;i<17;i++)           //Volcamos la muestra dentro del bloque                   {                    bloc[puntbloc]=muestra[i];                     puntbloc++;                    }                }       bloc[508]=0x20;           //Escribimos 2 espacios y el return al final de la        bloc[509]=0x20;           //ultima linea para completar el formato del bloque       bloc[510]=0x0D;             bloc[511]=0x0A;                                 //Anyade a la sd el bloque de 512 que hemos rellenado          i=(sumabloquearchivo(&bloc[0],sd_pointer_block));       sd_pointer_block++;       //Cuando ya hemos escrito en este bloque iremos por el siguiente.                                 }       //Cuando quitan el sw_start entonces borramos lo que quede de tarjeta    //Llenaremos a 0 100 clusters seguidamente del ultimo para referencia de fin de archivo    for (i=0;i<512;i++) bloc[i]=0;      i=0;    while (!sumabloquearchivo(&bloc[0],sd_pointer_block)&&(i<100))                           {                         i++;                         sd_pointer_block++;                         }                            }     //Funcion que ajustara el multiplexor analogico y el canal del  //potenciometro especificado a valor idoneo o maximo rango. int ajusta_poten(int canal,int escala_sensor)    {    int16 lectura=0;    int lectura2=0;    int max=0;        selecmuxcanal(canal);    //ajustamos el multiplexor al canal especificado. Se pasa un valor de 0 a 7,     lectura=read_adc();      //pero en realidad es de 1 a 8, y leemos que hay    lectura2=read_adc();     while (((lectura>180)||(lectura<80))&&(max==0))   //Si leemos un valor fuera del centro o tenemos        {                                   //un valor de ajuste que no es extremo, entramos en la funcion       if ((lectura>180)&&(escala_sensor>0)) escala_sensor‐‐;   //ajustamos para una mejor medida.         if ((lectura<80)&&(escala_sensor<63)) escala_sensor++;       if ((escala_sensor==0)||(escala_sensor==63)) max=1;    //miramos si ya estamos en ajuste marginal       potenciometro(canal, escala_sensor);                   //aplicamos los valores       lectura=read_adc();                                    //y volvemos a leer que tenemos       }                                                      //para reajustar de nuevo si fuera necesario    return(escala_sensor);    }    //Funcion a la que le pasamos un float que equivale a la resistencia medida en un canal //y nos modifica el SAMPLE en formato especial de 6 char para meter en la cadena. void transascii(int canal, char* sample, float resist)    {    char string[12];    int i=0;     for (i=0;i<12;i++) string[i]=0x20;    sprintf(string, "%10.0f",resist);  //metemos sin decimales todo el float en un string de 12 char    sprintf(sample, "%3.0f",resist);   //metemos los 3 primeros digitos en el char definitivo    i=0;    while ((string[i]<48)||(string[i]>57))  //Calculamos cuantos blancos hay hasta el primer        i++;                                 //digito y calculamos el exponente    i=56‐i;            //La formula es 9‐i da el numero de exp. 57 es 9 en ascii +1 de salida.    sample[3]='E';     //siempre fijo la E de exponencial    if (i<0x30) i=0x30;    sample[4]=i;       //este es el valor de exponencial en ascii 

Page 75: TITULACIÓN: Ingeniería Técnica Industrial en Electrónica ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1951pub.pdf · ... DOS EN ÓXIDOS METÁLICOS CON RESISTENCIA DE CARGA ... causa

Proyecto: Ohmnímetro de 8 canales para medir sensores de gases

75

   sample[5]=0x09;    //y por ultimo el tabulador    }    //Funcion a la que pasamos el bloque entero que escribiremos  //en la SD (bloq) el puntero (puntbloc) donde hay que //anyadir la cadena de char8 (muestra) void completacadena(char* bloc,int16 puntbloc,char* muestra)    {    int16 i=0;    for (i=0;i<6;i++)       bloc[puntbloc+i]=muestra[i];       }     //Funcion de adquisicion de datos y almacenaje en la tarjeta sd //Funcion que se encarga de tomar datos de los 8 canales hasta llenar el  //tamanyo de un bloque: 512 bytes.  //Le pasamos los valores de la escala de los potenciometros //Formato:  234E3‐TAB‐023E0‐TAB‐121E1....RETURN  //6 chars por medida * 8 canales + 2 (\r\n) = 50 char por linea //y 10 lineas = 500 char + espacios hasta 512 //(TAB=0x09, RETURN=0x0D 0x0A, ESPACIO= 0x20) void adquiere_datos (void)    {    int escala_sensores[8];   //valores que estaran ajustados los potenciometros en cada momento.    char bloc[512];           //variable de gran tamanyo que escribiremos de golpe en la sd.    char muestra[6];    float resist[8];          //valor calculado del valor de resitencia de cada canal.    int16 puntbloc;           //puntero a la posicion dentro del bloc que se esta llenando    int16 i;    int16 linea;              //En cada bloque meteremos 10 lineas    int16 canal;    int32 sd_pointer_block;   //puntero apuntando al bloque actual dentro de la SD.     output_high(led4);         //led de adquiriendo con los sensores internos.    canal=0;    linea=0;    puntbloc=0;    sd_pointer_block=100;       //Comenzamos a guardar las medidas en el bloque 100: 0xC800                                //5320 bytes despues del 0.    for (i=0;i<8;i++) escala_sensores[i]=0;    //Solo la inicializamos la primera vez.     inicializa_com_rs232_fuente();    inicializa_tarjetasd();     while (input(sw_start))                    {                    canal=0;                    linea=0;                    puntbloc=0;                    for (i=0;i<6;i++) muestra[i]=0x20;                    for (i=0;i<8;i++) resist[i]=0;                    for (i=0;i<512;i++) bloc[i]=0x20;                    for (linea=0;linea<10;linea++)     //son 10 lineas que se llenan y despues espacios hasta 512                       {                       for (canal=0;canal<8;canal++)   //Revisamos los 8 canales                          {                            //Ajustamos el potenciometro para la lectura. esta funcion ajusta tambien el multiplexor                          escala_sensores[canal]=ajusta_poten(canal,escala_sensores[canal]);                                 // Leemos el valor de tension y calculamos la resistencia                           resist[canal]=resistencia(escala_sensores[canal],read_adc());                              // Transformamos el valor de resistencia en el formato de 6 char                          transascii(canal,&muestra[0],resist[canal]);                                     for (i=0;i<6;i++)    //Anyadimos la muestra al bloque                                         {                                     bloc[puntbloc]=muestra[i];                                           puntbloc++;                                         }                          }                       bloc[puntbloc]=0x0D;    //Escribimos el return al final de una linea                           puntbloc++;                       bloc[puntbloc]=0x0A;                           puntbloc++;                           delay_ms(300);      //Tiempo de espera para una adquisicion mas pausada.                        }                    for (puntbloc=498;puntbloc<510;puntbloc++)                       {                       bloc[puntbloc]=0x20;     //Rellenamos de espacios las ultimas 10 posiciones del bloque                        }                                     bloc[510]=0x0D;             //Escribimos el return al final de una linea 

Page 76: TITULACIÓN: Ingeniería Técnica Industrial en Electrónica ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1951pub.pdf · ... DOS EN ÓXIDOS METÁLICOS CON RESISTENCIA DE CARGA ... causa

Proyecto: Ohmnímetro de 8 canales para medir sensores de gases

76

                   bloc[511]=0x0A;                    sumabloquearchivo(&bloc[0],sd_pointer_block);  //Anyade a la sd el bloque de 512 que hemos llenado                    sd_pointer_block++;                    }                //Cuando quitan el sw_start entonces borramos 100 clusters para diferenciar el final.          for (i=0;i<512;i++) bloc[i]=0;    //el resto tarjeta a 0's          i=0;          while (!sumabloquearchivo(&bloc[0],sd_pointer_block)&&(i<100))                           {                         i++;                         sd_pointer_block++;                         }                                  }     //*************************************************************** //                       PROGRAMA PRINCIPAL //***************************************************************  void main (void)    {    int i=1;            output_high(led1);            //Led 1. Indicamos micro alimentado y corre programa    inicializa_pinesmicro();    inicializa_adc();    inicializa_potenciometros();    delay_ms(STARTUP_TIME);       //Dejamos un tiempo despues del power up y inicializacion.     while (i==1)            //Comprobamos la posicion del SW y vemos si adquirimos mediante       {                    //multimetro externo o mediante nuestro sistema de medicion de 8 canales       if (input(SW_START))                          {                         adquiere_datos();                         i=0;                         }       if (input(SW_Powersupply))                          {                         adquiere_powersupply();                         i=0;                         }       }        //Saliendo de la funcion principal. Los datos han sido adquiridos y se ha conmuatdo de nuevo el switch.    //Dejamos parapadeando los leds de 1 a 7. De 8 a 10 son de error y no los tocaremos.    //Asi dejamos indicados los posibles fallos y el parpadeo general indica que ya     //podemos retirar la tarjeta.    while (true)       {          output_high(led1);          output_high(led2);          output_high(led3);          output_high(led4);          output_high(led5);          output_high(led6);          output_high(led7);          delay_ms(500);          output_low(led1);          output_low(led2);          output_low(led3);          output_low(led4);          output_low(led5);          output_low(led6);          output_low(led7);      delay_ms(400);          } }  //Fin  

Page 77: TITULACIÓN: Ingeniería Técnica Industrial en Electrónica ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1951pub.pdf · ... DOS EN ÓXIDOS METÁLICOS CON RESISTENCIA DE CARGA ... causa

Proyecto: Ohmnímetro de 8 canales para medir sensores de gases

77

8.2 Datasheets

Anexo a este documento en el CD puede encontrarse la carpeta “Datasheets” en la

que se encuentran los datasheets de los componentes usados en este proyecto.

8.3 Manual de uso

Seguidamente se muestra una imagen del prototipo con la posición de los switches, la numeración de los leds y la correcta alimentación de entrada:

El prototipo debe estar conectado a una alimentación de 12 V y un mínimo de 2’5 W (200 mA). El switch de selección debería de estar en posición central y el switch de reset desactivado. Si todo es correcto, el led1 estará activado. En esta situación podremos empezar una sesión de adquisición.

Para comenzar, cambiaremos del switch de elección hacia el lado que convenga. Si lo ponemos hacia el lado “Start” comenzará la adquisición haciendo uso de los ohmnímetros internos permitiendo capturar la resistencia de los 8 canales en paralelo. Y si lo ponemos el lado de “multímetro externo” comenzará la adquisición a través del multímetro externo.

Para realizar una sesión de captura mediante los 8 ohmnímetros tenemos que tener en cuenta que hay que tener conectado el cable plano con los sensores o resistencias a medir conectados. Y por otro lado, si deseamos hacer una sesión de captura mediante el multímetro externo tenemos que tenerlo previamente conectado, con la configuración adecuada para comunicarnos con él adecuadamente. Esta configuración es: modo de comunicación 8 bits, sin paridad, y 9600 bauds de velocidad de transmisión.

Page 78: TITULACIÓN: Ingeniería Técnica Industrial en Electrónica ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1951pub.pdf · ... DOS EN ÓXIDOS METÁLICOS CON RESISTENCIA DE CARGA ... causa

Proyecto: Ohmnímetro de 8 canales para medir sensores de gases

78

Y por supuesto, antes de comenzar una sesión de captura la tarjeta SD debe estar correctamente introducida y asegurarnos que tiene el pestillo de seguro de escritura quitado.

Cuando comience la adquisición de datos veremos como los leds comienzan a dar feedback de lo que está sucediendo.

Seguidamente se explica que indica cada uno de los leds durante el uso del prototipo:

• led1: Microprocesador corriendo programa.

• led2: Inicialización de la tarjeta SD satisfactoria.

• led3: Confirmación de elección de adquisición de datos a través del multímetro externo.

• led4: Confirmación de elección de adquisición de datos a través de los 8 canales internos.

• led5: Acceso de escritura a SD. En parpadeo continuo durante la adquisición de datos.

• led6: Sin uso

• led7: Sin uso

• led8: Error de tarjeta SD. Posible razón tarjeta SD ausente.

• led9: Error de tarjeta SD. Problema al escribir en la tarjeta SD. Podría estar bloqueada contra escritura.

• led10: Inicialización tarjeta SD NOK. Tal vez tarjeta dañada, mal conectada o no compatible con el software de inicialización.

Una vez el prototipo ha empezado a adquirir datos, ya sea a través de la lógica interna o el multímetro externo y deseamos que se detenga y podamos hacer una extracción segura de la tarjeta SD debemos poner el switch de nuevo en posición central.

Al poner el switch en la posición central el programa acabará de trabajar con la tarjeta SD. Esto puede tardar unos segundos. Mientras veremos como el led5 de escritura se acelera en su pulsación. Seguidamente y cuando finalice esta operación, los leds de 1 a 7 parpadearán continuamente al mismo ritmo. Esto indica que se ha concluido la adquisición y ya se puede retirar la tarjeta SD con seguridad.

Los leds 8, 9 y 10 no parpadearán y mantendrán su valor. En caso de estar apagados significará que la adquisición ha sido satisfactoria. En caso de haber alguno encendido significaría que ha habido algún error durante la adquisición.

Llegados a este punto, si se desea volver a realizar una adquisición se tiene que resetear el prototipo mediante el switch de reset. Entonces podemos volver a realizar otra adquisición.

Los datos guardados en la tarjeta SD pueden ser extraídos mediante un programa de análisis hexadecimal como el descrito en esta memoria, el programa WinHex. Así se

Page 79: TITULACIÓN: Ingeniería Técnica Industrial en Electrónica ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1951pub.pdf · ... DOS EN ÓXIDOS METÁLICOS CON RESISTENCIA DE CARGA ... causa

Proyecto: Ohmnímetro de 8 canales para medir sensores de gases

79

pueden exportar los datos a archivos .txt y posteriormente a Excel o cualquier otro programa de análisis de datos. El uso del programa WinHex está descrito a continuación.

8.3.1 Extracción de información de la tarjeta SD

Tal y como se ha comentado anteriormente, la información almacenada en la tarjeta

SD no tiene formato FAT, con lo que al introducir la tarjeta en un PC no será tan simple como copiar y pegar el archivo de la captura. Antes se tendrá que hacer un pequeño paso usando un programa de análisis de datos hexadecimal de contenido. En nuestro caso, las pruebas se han realizado con el programa WinHex el cual se describe su uso mas adelante. De aquí obtendremos un archivo .TXT con el podremos exportar los datos a cualquier base de datos con que se desee procesar los datos.

El hecho de no escribir en formato FAT sobre la tarjeta significa que vamos a dañar la estructura FAT que hubiera anteriormente, así que la tarjeta que se vaya a usar con el este prototipo debería ser dedicada para este uso y nada más.

Si una tarjeta SD se ha usado para tomar un muestreo con el prototipo y después se quiera reutilizar para un uso que no sea el de adquirir datos se deberá formatear sin formato rápido para recuperar la estructura FAT.

8.3.2 Uso del programa WinHex Seguidamente se muestran unos screenshots del uso del programa WinHex para

extraer la información de la tarjeta SD y obtener el archivo .TXT

Primero se debe abrir el programa y conectar la tarjeta SD al PC. Seguidamente se tiene que pulsar en “Herramientas” y “Abrir Disco…” (o pulsando la tecla F9)

Entonces aparecerá una nueva ventana donde se tienes que elegir donde esta ubicada

la unidad física de la tarjeta SD. En nuestro ejemplo es la unidad H:

Page 80: TITULACIÓN: Ingeniería Técnica Industrial en Electrónica ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1951pub.pdf · ... DOS EN ÓXIDOS METÁLICOS CON RESISTENCIA DE CARGA ... causa

Proyecto: Ohmnímetro de 8 canales para medir sensores de gases

80

Ahora ya se tendrá acceso a todo el contenido de la tarjeta SD.

Ahora seleccionemos el contenido que hemos escrito en la adquisición. Esto lo hacemos pulsando sobre “Edición” y “Definir Bloque…”

Page 81: TITULACIÓN: Ingeniería Técnica Industrial en Electrónica ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1951pub.pdf · ... DOS EN ÓXIDOS METÁLICOS CON RESISTENCIA DE CARGA ... causa

Proyecto: Ohmnímetro de 8 canales para medir sensores de gases

81

Nos aparecerá una nueva ventana donde se tiene que indicar el inicio de nuestra adquisición. Este será siempre C800 que es donde el software del prototipo tiene predefinido su comienzo. El fin podría ser por ejemplo 3D3FFF (o mayor) si ha habido muchas horas de adquisición. Posteriormente, cuando tengamos el archivo .TXT ya se podrá eliminar la información sobrante.

Una vez seleccionado el bloque lo guardaremos en el archivo .TXT. Esto se hace pulsando sobre “Edición”, “Copiar Bloque” y “En un Archivo Nuevo” (o pulsando Ctrl+Shft+N)

Page 82: TITULACIÓN: Ingeniería Técnica Industrial en Electrónica ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1951pub.pdf · ... DOS EN ÓXIDOS METÁLICOS CON RESISTENCIA DE CARGA ... causa

Proyecto: Ohmnímetro de 8 canales para medir sensores de gases

82

Ahora se nos desplegará una nueva ventana se tiene que indicar al programa donde queremos ubicar el archivo .TXT y el nombre que le queremos dar. Nótese que el programa no añade el .TXT de forma automática, así que tendrá que escribirlo el usuario.

Una vez pulsemos el botón de guardar ya se habrá creado el archivo. Seguidamente se muestra un ejemplo de cómo queda el archivo (en caso que la adquisición haya sido mediante los 8 circuitos internos del prototipo)