Está en la página 1de 11

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/331454245

conductimetro

Article · May 2018

CITATIONS READS
0 3,771

7 authors, including:

miguel angel bulla rivas Carlos Gerardo Chacon


National University of Colombia National University of Colombia
2 PUBLICATIONS   0 CITATIONS    2 PUBLICATIONS   0 CITATIONS   

SEE PROFILE SEE PROFILE

Some of the authors of this publication are also working on these related projects:

UNESCO ALOP Workshop View project

SM in Random Language Model View project

All content following this page was uploaded by Carlos Gerardo Chacon on 01 March 2019.

The user has requested enhancement of the downloaded file.


Medida de la conductividad eléctrica en disoluciones acuosas como función de la
temperatura usando Arduino
Miguel Ángel Bulla Rivas, Carlos Gerardo Chacón Ramı́rez, Luis Alejandro Dueñas , Sergio Rengifo Pineda.*
Universidad Nacional de Colombia - Bogotá, Facultad de Ciencias, Departamento de Fı́sica, Bogotá, Colombia
(Dated: 30 de mayo de 2018)
RESUMEN
Se presenta el estudio de la medida de la conductividad eléctrica del agua con varias concentraciones de NaCl, dextroxa y
sacarosa usando el software Arduino, con el fin de optimizar el procedimiento de medida y hacerlo mas eficiente y optimo en
la recolección de datos. Se usarón electrodos de grafito para medir la resistencia eléctrica a partir de un divisor de voltaje, que
permitió calcular la resistencia con mayor confiabilidad. Con medidas patrón de la conductividad eléctrica del agua se pudo
determinar una constante de calibración que da cuenta de los factores geométricos y de la distancia de los electrodos, cuyo
valor fue K=2.05±0.21cm−1 .

I. INTRODUCCIÓN especı́ficamente para agua destilada, agua con cloruro


de sodio y agua del grifo.
Cuando una corriente en un material es proporcional al
voltaje que lo atraviesa, el material se dice ”Ohmico” y La conductividad eléctrica es la capacidad que tienen los
obedece la ley de Ohm. Una vista macroscópica sugie- cuerpos para permitir el paso de la corriente a través de
re que la proporcionalidad viene dada del hecho que un si mismos. Las unidades de la conductividad se expresan
campo eléctrico aplicado, impone una velocidad de deriva generalmente en Siemens/Centimetro, con 1 S= Ω1 , a una
en los electrones ”Libres” en un metal. Para corrientes temperatura especifica, normalmente 25◦ C.
ordinarias, esta velocidad es del orden de milı́metros por La conductancia 1/R, el inverso de la resistencia eléctri-
segundo, en contraste a las velocidades de los electrones ca, es directamente proporcional al área transversal A
por si solos que están del orden de lo millones de me- e inversamente proporcional a la distancia entre los dos
tros por segundo. La ley de Ohm puede expresarse como, puntos L, es decir:
la corriente es directamente proporcional al voltaje e in-
versamente proporcional a la resistencia. Escrita como 1 σA
= (3)
expresión matemática la ley de Ohm es: R L
V con σ la conductividad eléctrica.
I= (1)
R
Para lograr obtener un valor de conductividad eléctrica
La resistencia eléctrica,de la ecuación (1); de un cable o
en las disoluciones acuosas usadas, se procedió a construir
de un material, es de esperarse que dependa de su longi-
un instrumento que logrará medir la corriente que circula
tud, es decir, en un cable la resistencia debe ser menor
por el liquido en un pequeño recorrido entre dos electro-
para una mayor área transversal, y mas grande para una
dos de grafito; simultáneamente conociendo la caı́da de
mayor longitud; también debe depender del material del
voltaje, utilizando una configuración de división de ten-
cual este hecho. Experimentalmente la dependencia es en
sión. Esta ultima configuración también conocida como
su mayorı́a debida a estas tres condiciones; y puede ser
divisor de voltaje, permite que la medición de resisten-
expresada como:
cia eléctrica, la cual es la medida directa que se pue-
L de obtener, sea comparada con un valor de resistencia
R=ρ (2) bien conocido y ası́ poder obtener un valor confiable en
A
la conductividad. A continuación, se muestra un divisor
Donde el factor; entre la resistencia y las dimensiones del de voltaje es un circuito sencillo de resistencias en serie
conductor, se conoce como resisitividad. Es importante donde el voltaje de salida es una fracción del voltaje de
aclarar que esta propiedad varia pronunciadamente entrada(ver figura 1).
con la temperatura, y su inverso se conoce como
la conductividad σ = ( ρ1 ), una cantidad en muchas
ocasiones mas conveniente. En el presente trabajo se
analizó esta propiedad en diferentes soluciones acuosas;

* mabullar@unal.edu.co
cgchaconr@unal.edu.co
laduenasb@unal.edu.co
srengifop@unal.edu.co Figura 1: Divisor de voltaje.
2

El voltaje de salida, del divisor de voltaje, viene dado


por:

R2
Vout = Vin (4)
R1 + R2

La conductividad eléctrica es una medida indirecta la


cual es obtenida del valor experimental de la resisten-
cia eléctrica, usando la ley de ohm. La formula que nos
permite calcular el valor teórico es :

L
σ= (5)
RA

Dado esto, es conveniente tomar K, como una constante


que da cuenta de los factores geométricos para explicar
el paso de corriente entre los electrodos, a través del li-
quido. Siendo K una constante difı́cil de calcular teóri-
camente para el caso tratado, se realizaran mediciones
experimentales mediante las cuales se estima la constan- Figura 2: Montaje experimental.
te que relaciona de manera directa la conductividad con
el inverso de la resistencia eléctrica, ası́:
La celda como tal se muestra en la figura 3, de abajo
hacia arriba aparecen: a)el calefactor con recubrimiento
K de silicona b)los electrodos de grafito c)el termómetro
σ= (6) digital con encapsulamiento metálico d) el recipiente de
R
vidrio con la base de apoyo Como se puede apreciar los
electrodos están agarrados con caimanes con el fin de
poder cambiarlos rápidamente en caso de ruptura

II. MONTAJE EXPERIMENTAL.

El montaje mostrado en la Figura 2 consiste en una celda


electroquimica formada por dos electrodos de grafito que
se sumergen en el liquido almacenado en un frasco de vi-
drio con una capacidad nominal de 20 mL que se calienta
mediante una resistencia encapsulada de 40 vatios de po-
tencia la cual se regula mediante PWM con un modulo
MOSFET adicional al ARDUINO el cual recibe infor-
mación de la temperatura del liquido de un termómetro
digital DS18B20 y controla el puente H para invertir la
polaridad del voltaje aplicado sobre el divisor de tensión
formado por la resistencia de referencia y la resistencia Figura 3: Detalle de la celda electroquimica.
del liquido censada a través de los electrodos de grafi-
to. La información del proceso se muestra activamente
en una LCD auxiliar y cuando la temperatura alcanza el El calefactor es una resistencia encapsulada cuya alimen-
objetivo la información de temperatura vs resistencia es tación de 12 voltios se encuentra regulada por el modulo
enviada al computador para su posterior procesamiento IRF520 que se en la parte superior de la Figura 4, En esa
y graficado. misma figura se puede apreciar al lado derecho el shield
3

desarollado sobre el cual se implemento el circuito del 1MOhmn, en la posición 1 la resistencia vale 10kOhmn y
puente H con el dipswitch selector de escala del cual se en la posición 2 la resistencia vale 1kOhmn. Estos valores
hablara mas adelante y al lado izquierdo la LCD Auxiliar son introducidos dentro del código para hacer los cálculos
donde se muestra como va el proceso de medida. posteriores.
Para facilitar la construcción del prototipo se uso un
shield genérico para Arduino como se muestra en la Fi-
gura 7

Figura 6: Esquema tı́pico de uso del integrado L293d

Básicamente el circuito principal consiste en remplazar


uno de los motores de la figura 6 por el divisor de tensión
conformado por la resistencia de referencia y los electro-
dos de la celda

Figura 4: Foto del prototipo ensamblado

A. Descripción del Circuito.

Teniendo en cuenta que para tomar las medidas de con-


ductividad eléctrica en lı́quidos es necesario evitar que
se produzca la electrolisis del agua puesto que esto al-
tera fuertemente la medida de conductividad (debido a
la aparición de burbujas y compuestos quı́micos adhe-
ridos sobre la superficie de los electrodos) Se opta por
implementar un circuito eléctrico capaz de invertir la po-
laridad de la corriente eléctrica que circula por el liquido,
Figura 7: Detalle del shield sobre el cual se ensamblo
este circuito se basa en el integrado L293b mostrado en el circuito de la Figura 5
la Figura 6 contiene cuatro amplificadores operacionales
destinados al manejo de motores eléctricos, este integra-
do se divide en dos bloques simétricos donde cada uno
cuenta con un pin de habilitación para las dos salidas y B. Procedimiento Experimental.
cada salida tiene su control independiente; de esta forma
es posible habilitar/deshabilitar el puente y cambiar la Para medir la resistencia de una disolucion determinada
polaridad que cae sobre el divisor de voltaje mostrado en se siguen los siguientes pasos:
la Figura 1 Con esto en mente se diseño el circuito que se lavar los electrodos de grafito, los sensores y el re-
muestra en la figura 5 usando el software Eagle Layout cipiente de vidrio con agua destilada
Editor, en este plano se puede apreciar que se añadió un llenar el recipiente con 20 mL de agua destilada,
dipswitch con el fin de poder cambiar la resistencia de re- cargar el código con la función de medida de con-
ferencia y ası́ cambiar la escala, la resistencia por defecto ductividad y verificar que la medida de resistencia
cuando el interruptor se encuentra en 0 tiene un valor de eléctrica mostrada en la LCD sea mayor a los 100
4

Figura 5: Diagrama del circuito electrónico.

mil ohmnios, si esto no es ası́ repetir el proceso de na medida anterior, en caso tal deberá repetirse el
lavado hasta que el valor obtenido sea el correcto proceso de lavado
desocupar y secar la celda e introducir la sustancia cargar el código completo en el arduino e inmedia-
que se desea medir y observar su valor de resis- tamente después abrir la terminar serial para poder
tencia eléctrica, este valor debe ser estable en el recibir los datos del Arduino
tiempo y no cambiar a pesar de agitar el liquido, esperar a que la medición sea finalizada y guardar
si cambia significativamente probablemente la cel- los datos para su posterior analizáis
da se encuentre contaminada con residuos de algu- A continuación se explicara cada sección del código

III. CÓDIGO FUENTE.

El código que se carga en el Arduino básicamente consiste en un ciclo for donde se establece una temperatura
objetivo y se llama la función de calentamiento heat() la cual administra la potencia suministrada al calefactor
mediante un transistor MOSFET, una vez alcanzada dicha temperatura se llama a la función medirconductividad()
la cual obtiene el valor de resistencia eléctrica del liquido en base a tres medidas voltaje en los nodos del divisor de
voltaje para posteriormente enviar los datos via serial al computador.

Inclusion de librerı́as necesarias


1 #i n c l u d e <L i q u i d C r y s t a l I 2C . h>
2 #i n c l u d e <Wire . h>
3 #i n c l u d e <OneWire . h>
4 #i n c l u d e <D a l l a s T e m p e r a t u r e . h>

Para usar la LCD y el termómetro digital se cargan las librerı́as correspondientes


5

Definicion de puertos de conexión

1 #d e f i n e ONE WIRE BUS 2


2 #d e f i n e Heater 3
3 #d e f i n e I 1 4 // c o n e c t a r a l d r i v e 1 d e l L293d
4 #d e f i n e I 2 5 // c o n e c t a r a l d r i v e 2 d e l L293d
5 #d e f i n e Led 6
6 #d e f i n e E0 7

Se definen los puertos con nombres representativos acorde al esquema electrónico


Configuración de librerias

1 OneWire oneWire (ONE WIRE BUS) ;


2 D a l l a s T e m p e r a t u r e s e n s o r s (&oneWire ) ;
3 L i q u i d C r y s t a l I 2C l c d ( 0x2 7 , 2 , 1 , 0 , 4 , 5 , 6 , 7 , 3 , POSITIVE ) ;

Se configuran las librerı́as para poder usar los sensores y los periféricos
Definicion de variables
1 f l o a t Rk0=9 0 0 0 0 .0 ; f l o a t Rk1 = 9 9 0 .0 ; f l o a t Rk2=9 0 6 0 .0 ; f l o a t Rk3=9 0 2 .0 ;
2 // medir l a s r e s i s t e n c i a s de r e f e r e n c i a e i n t r o d u c i r l o s v a l o r e s
3 f l o a t Rk=Rk2 ;
4 f l o a t VT=0 ; f l o a t Vx=0 ; f l o a t Rx=0 ;
5 f l o a t v0=0 ; f l o a t v2=0 ; f l o a t v3=0 ;
6 f l o a t k=5 .0 / 1 0 2 3 .0 ; // f a c t o r de c o n v e r s i o n ADC
7 f l o a t umbral = 3 0 .0 0 ; f l o a t e s c a l o n = 2 .5 ; c o n s t f l o a t T l i m i t e=7 0 .0 0 ;
8 f l o a t roomt=0 .0 ; f l o a t temp = 0 ; i n t holdt = 25 ;
9 s t a t i c c h a r o u t s t r [ 5 ] ; S t r i n g d a t a S t r i n g =” ” ;

Se crean las variables globales que se van a usar a lo largo del código.
Funcion de impresión de datos en la LCD

1 void l c d p r i n t ( String a , f l o a t b , i n t c , String d , f l o a t e , i n t f , i n t t ) {


2 lcd . clear () ;
3 lcd . setCursor (0 , 0) ;
4 lcd . print (a) ; lcd . print (b , c ) ;
5 lcd . setCursor (0 ,1) ;
6 lcd . print (d) ; lcd . print (e , f ) ;
7 delay ( t ) ; }

Teniendo en cuenta que la forma correcta de imprimir datos en la LCD es un protocolo copioso se decide crear una
funcion que se encargue de esto
La función que controla el dispositivo calefactor

1 v o i d h e a t ( f l o a t umbral , i n t s e g u r o t ) {
2 s e n s o r s . r e q u e s t T e m p e r a t u r e s ( ) ; temp = s e n s o r s . getTempCByIndex ( 0 ) ;
3 i f ( temp >=0 ) {
4 f l o a t d i f e r e n c i a =(umbral−temp ) ; i n t pwm=0 ;
5 w h i l e ( d i f e r e n c i a >0 ) {
6 l c d p r i n t ( ” H e a t i n g T ” , temp , 2 , ” d e l t a ” , d i f e r e n c i a , 2 , 250 ) ;
7 i f ( d i f e r e n c i a >5 .0 ) { a n a l o g W r i t e ( Heater , 2 2 5 ) ; }
8 e l s e { pwm=i n t ( d i f e r e n c i a ∗ 4 5 ) ;
9 a n a l o g W r i t e ( Heater , pwm+s e g u r o t ) ; }
10 s e n s o r s . r e q u e s t T e m p e r a t u r e s ( ) ; temp = s e n s o r s . getTempCByIndex ( 0 ) ;
11 d i f e r e n c i a =(umbral−temp ) ;
12 }
13 i f ( d i f e r e n c i a <=0 ) { a n a l o g W r i t e ( Heater , s e g u r o t ) ;
14 l c d p r i n t ( ” Hold T ” , temp , 2 , ” d e l t a ” , d i f e r e n c i a , 2 , 1000 ) ; }
15 } e l s e { a n a l o g W r i t e ( Heater , s e g u r o t ) ; }
16 }
6

Esta función se encarga de pedir el dato de temperatura al termómetro digital DS18B20 y verificar que la
información recibida corresponda a una temperatura mayor que cero(usualmente los errores en el protocolo de
comunicación Onewire suelen aparecer como -127.0 grados C ), una vez confirma que la temperatura es valida
obtiene la diferencia entre la temperara objetivo y la temperatura medida en el liquido y escribe el valor del PWM
entre 0-255 en el puerto de salida del calefactor a través del MOSFET de manera proporcional a dicha diferencia,
cuando la diferencia se hace cero escribe como valor PWM la cantidad Holdt que se asegura de mantener la
temperatura compensando la perdidas de calor en el sistema mientras se toman las medidas de resistencia eléctrica.
Manejo del puente H y medición de la resistencia eléctrica

1 void medirconductividad ( ) {
2 d i g i t a l W r i t e ( Led , HIGH) ; d i g i t a l W r i t e ( I 1 , HIGH) ;
3 d i g i t a l W r i t e ( I 2 , LOW) ; d i g i t a l W r i t e (E0 , HIGH) ;
4 Vx=0 ; VT=0 ; // v0 =0; v2 =0; v3 =0;
5 f o r ( i n t i=0 ; i <1 2 8 ; i ++) {
6 delayMicroseconds ( 10 ) ;
7 v3 = analogRead (A3 ) ; v0 = analogRead (A0 ) ; v2 = analogRead (A2 ) ;
8 VT+=v3−v2 ; Vx+=v0−v2 ; }
9 d i g i t a l W r i t e ( I 1 , LOW) ; d i g i t a l W r i t e ( I 2 , HIGH) ;
10 d i g i t a l W r i t e ( Led , LOW) ; d e l a y ( 4 9 ) ; // d e l a y M i c r o s e c o n d s ( 5 0 0 0 ) ;
11 d i g i t a l W r i t e (E0 , LOW) ;
12 VT/=1 2 8 ; Vx/=1 2 8 ; VT∗=k ; Vx∗=k ; Rx=Vx∗Rk/ (VT−Vx) ;
13 }

La medida de conductividad se hace activando el puente H y acumulando 128 mediciones sobre cada uno de los tres
puntos del divisor de tensión para después promediar estas medidas y multiplicarlas por el factor de escala k y ası́
calcular el valor de la resistencia de la celda
Configuracion e inicializacion de los puertos y sensores
conectados al arduino
1 void setup ( ) {
2 Serial . begin ( 9600 ) ;
3 pinMode ( Heater ,OUTPUT) ;
4 pinMode (E0 , OUTPUT) ; pinMode ( Led , OUTPUT) ;
5 pinMode ( I 1 , OUTPUT) ; pinMode ( I 2 , OUTPUT) ;
6 d i g i t a l W r i t e (E0 , LOW) ; a n a l o g W r i t e ( Heater , 0 ) ;
7 l c d . begin ( 16 , 2 ) ; lcd . backlight () ;
8 sensors . begin () ; delay ( 750 ) ;
9 }

Secuencia principal de medición

1 void loop ( ) {
2 S e r i a l . p r i n t l n ( ” Temperatura , R e s i s t e n c i a ” ) ;
3 m e d i r c o n d u c t i v i d a d ( ) ; // d e l a y ( 5 0 0 0 ) ;
4 S e r i a l . p r i n t ( roomt ) ; S e r i a l . p r i n t ( ” ” ) ; S e r i a l . p r i n t l n (Rx) ;
5 w h i l e ( umbral<=T l i m i t e ) {
6 h e a t ( umbral , h o l d t ) ;
7 medirconductividad () ;
8 // w h i l e ( temp<0) ;
9 S e r i a l . p r i n t ( temp ) ; S e r i a l . p r i n t ( ” ” ) ; S e r i a l . p r i n t l n (Rx) ;
10 umbral+=e s c a l o n ;
11 }
12 S e r i a l . p r i n t l n ( ” Medida f i n a l i z a d a ” ) ;
13 }

El Loop principal consiste en tomar la medida de temperatura y conductividad en temperatura ambiente, calentar el
liquido hasta el primer umbral, medir, enviar datos y cambiar el umbral de temperatura objetivo para repetir el
ciclo hasta alcanzar la temperatura Limite
IV. DIFICULTADES ENCONTRADAS Y Los electrodos de grafito usados, diámetro de 2mm
SUGERENCIAS. aproximadamente, son muy quebradizos ante pe-
queños esfuerzos tangenciales, por lo que se reco-
Al realizar este proyecto encontramos las siguientes mienda usar electrodos de un diámetro mayor.
dificultades:
7

El sensor de temperatura que se utilizo tiene un 0.9 g/L de NaCl


rango de temperatura muy pequeño, de 0 85◦ C, 3500

3000

Conductividad [μS/cm]
2500
El rango de temperatura de estudio esta acotado
por la temperatura ambiente y la máxima tempe- 2000

ratura del sensor usado, 85◦ C, ası́ que se recomien- 1500


da enfriar el agua, metiéndola al congelador de una 1000
nevera, y luego empezar a tomar medidas mientras
500
la temperatura aumenta. 5 10 15 20 25 30 35 40 45 50
Temperatura [°C]

Datos experimentales sin calibrar


Si los electrodos se encontraban engrasados o con- Datos calibrados
Datos estandar
taminados por una sustancia en la que se sumer-
gieron anteriormente, las medidas de conductivi-
dad eléctrica se veı́an alteradas en varios ordenes Figura 8: Conductividad eléctrica del agua para una
de magnitud, ası́ que se recomienda lavarlos con concentración de 0.9 g/L de NaCl en función de la tem-
agua destilada varias veces y medir conductividad peratura, la constante de calibración encontrada fue
K=2.05±0.21.
de alguna sustancia conocida para corroborar que
están limpios quı́micamente.

Con la constante de calibración determinada se procede


La impedancia interna del Arduino, alrededor de a medir conductividad eléctrica de varias sustancias, las
5 MΩ impone un limite superior a la resistencia cuales se muestran en la gráfica 9.
eléctrica que se puede medir usando el método de
divisor de voltaje que nos impide medir con certe-
za la resistencia del agua ultrapura, para futuras 450

mejoras se recomienda usar un amplificador instru- 400


Conductividad [μS/cm]

mental cuya impedancia sea mayor al del agua ul- 350


300
trapura.
250
200
150
Los tiempos de inversión de polaridad, el tiempo
100
en polaridad positiva y el tiempo en polaridad ne- 50
gativa, deben estar muy equilibrados con el fin de 0
evitar la aparición de burbujas sobre la superficie 20 25 30 35 40 45 50 55 60 65 70
de los electrodos por efecto de la electrolisis. Temperatura [°C]

Agua de grifo
Agua destilada
Agua de grifo hervida
Agua inyectable 5g/L de sacarosa
Dextroxa 50g/L

Figura 9: Conductividad eléctrica de varias sustancias


en función de la temperatura.

V. ANÁLISIS Y RESULTADOS

En la figura (9), es posible observar las variaciones de


las conductividades de diferentes muestras, y su
Para determinar la constante de calibración se toman variación en un intervalo de temperatura de 20 a 70
como medidas patrón las medidas estándar de grados centigrados. La tendencia muestra que el agua
conductividad eléctrica del agua con una concentración del grifo, tiene concentraciones de minerales que ionizan
de NaCl de 0.9g/L, tomadas de [1], y se comparan con el agua, como la sal de cocina usual; y esta lejos de
las medidas tomadas por el conductimetro, luego se tener la pureza del agua destilada o siquiera el agua con
realiza el cociente entre la pendiente de los datos patrón sacarosa o dextroxa.
y la pendiente de los datos experimentales, en este rango En la gráfica 10 se muestran las conductividades
de temperatura los datos tienen un carácter lineal, lo eléctricas del agua para varias concentraciones de NaCl,
cual se puede apreciar en la gráfica 8. Al hacer esto se note que a medida que aumenta la concentración de
encontró que la constante de calibración K=2.05±0.21. NaCl la conductividad eléctrica del agua aumenta.
8

5000 mı́nimo cambio en la concentración del soluto presente


4500 en el liquido.
4000
Conductividad [μS/cm]

3500

3000

2500
VI. CONCLUSIONES
2000

1500
La conductividad eléctrica es muy sensible a cam-
1000
bios pequeños en las concentraciones de solutos; lo
500
cual hace que sea una medida muy confiable de la
0
20 25 30 35 40 45 50 55 60 65 70 pureza del agua, o cualquier liquido.
Temperatura [°C] Los mejores electrodos para realizar las medidas de
0.09g/L Nacl 0.9g/L Nacl 9g/L Nacl conductividad son los que están hechos por mate-
riales no ionizantes y conductores como es el caso
del grafito.
Figura 10: Conductividad eléctrica del agua para va- A mayor concentración de NaCl en el agua la con-
rias concentraciones de sal en función de la temperatura. ductividad eléctrica de esta aumenta drasticamen-
te, en valores del doble o 3/2 del anterior.
En la figura 10 es posible observar el comportamiento Se pudo encontrar una constante de calibración pa-
del agua con N aCl, para diferentes concentraciones, ra el agua que da cuenta de los factores geométricos
clasificando claramente como varia drasticamente la de los electrodos y que permite hallar la conducti-
conductividad en función de la temperatura, o vidad eléctrica de manera fiable, para rangos de
simplemente a una temperatura fija; los cambian como temperatura entre 0 y 100 grados.
el doble del anterior para cambios en gramos de la El software Arduino usado, reduce el coste, permite
concentración por un litro, es decir, la conductividad automatizar el sistema de medida, es compacto y
eléctrica es una medida muy sensible a cualquier portátil.

VII. BIBLIOGRAFIA [9] Uribelarrea, M. A. L., Amez, R. Z., Álvarez, F. B.,


González, L. F. V., & Martı́nez, J. P. S. (1991). Met-
[1] Barron, J.J. and Ashton, C. The Effect of hods for measuring thermal conductivy. RDM: Revista
Temperature on Conductivity Measurement. de Minas, (6), 89-98.
http://www.jenway.com/adminimages/A02_001A_ [10] Seitz, F., & Turnbull, D. (1958). Solid state physics (Vol.
Effect_of_temperature_on_conductivity.pdf. 7). Academic Press.
[2] Truman S. Light, Stuart Licht, Anthony C. Bevilacqua,
and Kenneth R. Morash(2005). The Fundamen-
tal Conductivity and Resistivity of Water.https:
//www.mt.com/mt_ext_files/Editorial/Generic/
5/Paper-THOR-Fundamentals-Cond-Res-08-2004_
Editorial-Generic_1161370044608_files/ECS_04.
pdf.
[3] International Standard ISO 7888. Water quality – Deter-
mination of electricla conductivity(First edition – 1985-
05-15).
[4] The Physics FactBook. Resistivity of Water. https:
//hypertextbook.com/facts/2006/SamTetruashvili.
shtml.
[5] Rossum, J.R. Checking the accuracy of water analyses
through the use of conductivity. J. Am. Water Works
Assoc. 67 1975: 204-205. .
[6] Correctness of Analyses. Standard Methods for the Exa-
mination of Water and Waste Water. APHA-AWWA-
WPCF. 15 1980 : 31..
[7] Barthel, Feuerlein, Neueder and Wachter. Calibration of
conductance cells at various temperatures. J. Solution
Chem. 9 1980: 209..
[8] Otten, G. Measuring water purity by specific resistance.
Int. Lab. 1972: 31-35..
9

VIII. ANEXOS

A. Codigo del sistema: Arduino.

1 #i n c l u d e <L i q u i d C r y s t a l I 2 C . h>
2 #i n c l u d e <Wire . h>
3 #i n c l u d e <OneWire . h>
4 #i n c l u d e <D a l l a s T e m p e r a t u r e . h>
5 #d e f i n e ONE WIRE BUS 2
6 #d e f i n e H e a t e r 3
7 #d e f i n e I 1 4 // c o n e c t a r a l d r i v e 1 d e l L293d
8 #d e f i n e I 2 5 // c o n e c t a r a l d r i v e 2 d e l L293d
9 #d e f i n e Led 6
10 #d e f i n e E0 7
11 OneWire oneWire (ONE WIRE BUS) ;
12 D a l l a s T e m p e r a t u r e s e n s o r s (&oneWire ) ;
13 L i q u i d C r y s t a l I 2 C l c d ( 0 x27 , 2 , 1 , 0 , 4 , 5 , 6 , 7 , 3 , POSITIVE ) ;
14
15 f l o a t Rk0 = 9 0 0 0 0 . 0 ; f l o a t Rk1 = 9 9 0 . 0 ; f l o a t Rk2 = 9 0 6 0 . 0 ; f l o a t Rk3 = 9 0 2 . 0 ; // medir l a s r e s i t e n c i a s
de r e f e r e n c i a e i n t r o d u c i r l o s v a l o r e s a q u i
16 f l o a t Rk=Rk2 ; // v e r i f i c a r l a p o s i c i o n d e l d i p s w i t c h
17 f l o a t VT=0; f l o a t Vx=0; f l o a t Rx=0; f l o a t v0 =0; f l o a t v2 =0; f l o a t v3 =0; // v a r i a b l e s g l o b a l e s
18 f l o a t k = 5 . 0 / 1 0 2 3 . 0 ; \\ f a c t o r de c o n v e r s i o n adc
19 f l o a t umbral = 3 0 . 0 0 ; f l o a t e s c a l o n = 2 . 5 ; c o n s t f l o a t T l i m i t e = 7 0 . 0 0 ;
20 f l o a t roomt = 0 . 0 ; f l o a t temp = 0 ; i n t holdt = 15;
21 s t a t i c c h a r o u t s t r [ 5 ] ; S t r i n g d a t a S t r i n g =” ” ;
22
23 void l c d p r i n t ( String a , f l o a t b , i n t c , String d , f l o a t e , i n t f , i n t t ) {
24 lcd . clear () ;
25 l c d . s e t C u r s o r ( 0 , 0 ) ; // e s c r i b e en l a f i l a 1 columna 1
26 lcd . print (a) ; lcd . print (b , c ) ;
27 l c d . s e t C u r s o r ( 0 , 1 ) ; // pasa a l a f i l a 2
28 lcd . print (d) ; lcd . print (e , f ) ;
29 delay ( t ) ; }
30
31 v o i d h e a t ( f l o a t umbral , i n t s e g u r o t ) {
32 s e n s o r s . r e q u e s t T e m p e r a t u r e s ( ) ; temp = s e n s o r s . getTempCByIndex ( 0 ) ;
33 i f ( temp >=0){
34 f l o a t d i f e r e n c i a =(umbral−temp ) ; i n t pwm=0;
35 w h i l e ( d i f e r e n c i a >0){
36 l c d p r i n t ( ” H e a t i n g T ” , temp , 2 , ” d e l t a ” , diferencia ,2 ,250) ;
37 i f ( d i f e r e n c i a >5.0) { a n a l o g W r i t e ( Heater , 2 2 5 ) ; }
38 e l s e { pwm=i n t ( d i f e r e n c i a ∗ 4 5 ) ;
39 a n a l o g W r i t e ( Heater , pwm+s e g u r o t ) ; }
40 s e n s o r s . r e q u e s t T e m p e r a t u r e s ( ) ; temp = s e n s o r s . getTempCByIndex ( 0 ) ;
41 d i f e r e n c i a =(umbral−temp ) ;
42 }
43 i f ( d i f e r e n c i a <=0){ a n a l o g W r i t e ( Heater , s e g u r o t ) ;
44 l c d p r i n t ( ” Hold T ” , temp , 2 , ” d e l t a ” , diferencia ,2 ,1000) ; }
45 } e l s e { a n a l o g W r i t e ( Heater , s e g u r o t ) ; }
46 }
47
48 void medirconductividad ( ) {
49 d i g i t a l W r i t e ( Led , HIGH) ; d i g i t a l W r i t e ( I1 , HIGH) ; d i g i t a l W r i t e ( I2 , LOW) ; d i g i t a l W r i t e ( E0 ,
HIGH) ;
50 Vx=0; VT=0; // v0 =0; v2 =0; v3 =0;
51 f o r ( i n t i =0; i <128; i ++) {
52 delayMicroseconds (10) ;
53 v3 = analogRead (A3) ; v0 = analogRead (A0) ; v2 = analogRead (A2) ;
54 VT+=v3−v2 ; Vx+=v0−v2 ;
55 }
56 d i g i t a l W r i t e ( I1 , LOW) ; d i g i t a l W r i t e ( I2 , HIGH) ; d i g i t a l W r i t e ( Led , LOW) ; d e l a y ( 4 9 ) ; //
delayMicroseconds (5000) ;
57 d i g i t a l W r i t e ( E0 , LOW) ;
58 VT/=128;Vx/=128; VT∗=k ; Vx∗=k ; Rx=Vx∗Rk/ (VT−Vx) ;
59 }
60 void calibrartemp ( ) {
61 sensors . requestTemperatures () ; roomt = s e n s o r s . getTempCByIndex ( 0 ) ;
10

62 l c d p r i n t ( ”Room Temp ” , roomt , 2 , ” d e l t a room” , umbral−roomt , 2 , 2 5 0 ) ;


63 S e r i a l . p r i n t ( ”Room Temp ” ) ; S e r i a l . p r i n t l n ( roomt ) ;
64 }
65
66
67 void setup ( ) {
68 S e r i a l . begin (9600) ;
69 pinMode ( Heater ,OUTPUT) ;
70 pinMode ( E0 , OUTPUT) ; pinMode ( Led , OUTPUT) ;
71 pinMode ( I1 , OUTPUT) ; pinMode ( I2 , OUTPUT) ;
72 d i g i t a l W r i t e ( E0 , LOW) ; a n a l o g W r i t e ( Heater , 0 ) ;
73 lcd . begin (16 ,2) ; lcd . backlight () ;
74 sensors . begin () ; delay (750) ;
75 calibrartemp () ;
76 }
77
78 void loop ( ) {
79 S e r i a l . p r i n t l n ( ” Temperatura , R e s i s t e n c i a ” ) ;
80 m e d i r c o n d u c t i v i d a d ( ) ; // d e l a y ( 5 0 0 0 ) ;
81 S e r i a l . p r i n t ( roomt ) ; S e r i a l . p r i n t ( ” ” ) ; S e r i a l . p r i n t l n (Rx) ;
82 w h i l e ( umbral<=T l i m i t e ) {
83 h e a t ( umbral , h o l d t ) ;
84 medirconductividad () ;
85 // w h i l e ( temp<0) ;
86 S e r i a l . p r i n t ( temp ) ; S e r i a l . p r i n t ( ” ” ) ; S e r i a l . p r i n t l n (Rx) ;
87 umbral+=e s c a l o n ;
88 }
89 S e r i a l . p r i n t l n ( ” Medida f i n a l i z a d a ” ) ; d e l a y ( 1 0 0 0 0 0 ) ;
90 }

View publication stats

También podría gustarte