sábado, 26 de noviembre de 2016

Multimetro digital utilizando arduino
Introduccion:
En este proyecto se demuestra como poder elaborar un multimetro digital con hla simple utilización de una placa Arduino Uno, un LCD, y algunos otros componentes necesarios.

Elementos  utilizados
Componentes  estrictamente necesarios:
-Placa Arduino UNO
-LCD de 16x2
-Potenciómetro de 10Kohm
-1 Resistor de 1 Mohm
-2 Resistores de 100 Kohm
-1 Resistor de 220 ohm

Elementos para ayudarnos a construir el multimetro:

-Placa virgen (para imprimir en el el circuito y poner ahí los otros componentes) o también una placa con matris de puntos
 -Protoboard
-Puentes o cables de contacto
-Pc con el programa Arduino instalado con los drivers necesarios, o un teléfono móvil con conectividad OTG y la aplicación ArduinoDroid instalado
-Cable OTG en caso de utilizar un móvil para introducir el código del programa al arduino
-Cautin
-Estaño

Funcionamiento
A continuación se detalla el funcionamiento del Voltimetro, Amperimetro y Ohmetro de el multimetro que construiremos:
1.-Voltimetro
Para poder medir tensiones con la placa arduino se deben utilizar los pines analógicos que miden en un rango de valores el voltaje que ingresa a través de el, dado que la placa arduino solo puede medir tensiones inferiores a los 5 voltios en cada pin analógico si queremos medir tensiones superiores a los 5 voltios admitidos por el arduino vamos a utilizar un divisor de tensión conformado por dos resistores en serie que se encargaran de acuerdo a los valores de los resistores de dividir la tensión de entrada a una tensión dentro del límite de el pin analógico que vayamos a utilizar en la placa arduino.


 Como se puede observar en el esquema el voltaje de entrada que sera dividido de acuerdo al valor de los resistores que utilicemos, en este caso vamos a establecer un limite maximo de 55 voltios de entrada para el divisor, que en la salida se reduciran a 5 voltios sin sobrecargar al pin analogico del arduino, para esto se utilizaran 1 resistor de 1Mohm que sera R1 y otro de 100Kohm que sera R2, la entrada de tension se hara por Vin y la salida sera Vout a la que conectaremos al pin analogico del arduino, y el extremo suelto del resistor R2 sera conectado a masa del arduino y de la fuente de alimentación que queramos medir el voltaje, en el funcionamiento en el arduino para hallar el voltaje mediante este divisor de tension utilizaremos la formula:



Donde:
Vout sera el voltaje desconocido
R2 sera el resistor de 100Kohm
R1 sera el resistor de 1Mohm
y Vin sera el valor máximo que puede leer arduino que serian los 5 voltios que tolera como máximo el arduino

2.-Amperimetro
El funcionamiento del amperimetro es bastante sencillo, usaremos el mismo divisor de tensión que utilizamos para el voltimetro, en especifico R2 de 100Kohm, dado que un amperimetro utiliza un resistor y un voltaje conocido para hallar la intensidad o en este caso el amperaje con la siguiente formula:

                                                               I={\frac  VR}



Siendo que utilizaremos el mismo divisor de tensión  ya tendríamos el voltaje, y la resistor R2, por lo tanto hallar la intensidad sera sencillo reemplazando datos en la ecuación.
3.-Ohmetro
Para la implementacion del ohmetro también utilizaremos un divisor de tensión que tendra una pequeña variación con respecto al anterior, mantendremos el resistor R2 de 100Kohm, pero la incógnita sera R1 que podría ser cualquier resistor que deseamos medir, también utilizaremos la salida de 5 voltios del propio arduino para tener un voltaje ya conocido y el esquema queda de la siguiente forma:

                                                     
Donde:
Vin sera ahora la salida de 5 voltios propia del arduino
Rx sera el resistor desconocido cuyo valor deseamos saber
R2 sera el resistor de 100Kohm
Y Vout sera otra entrada analogica del arduino que utilizaremos

Nota: Ahora el extremos suelto de R2 solo se conecta a masa del arduino

Pruebas e implementacion de los componentes
Antes de hacer cualquier montaje permanente deberiamos realizar las pruebas y configuraciones necesarias:

1.-Probar el funcionamiento del LCD.
En este caso se usa un LCD 1602A de 16x2, se hace el montaje de de la siguiente forma:

      Conexión: Arduino 5V --> fila +
      Conexión: Arduino GND --> fila -
      Conexión: fila GND (fila -) de la breadboard --> pin 1 de la LCD (VSS)
      Conexión: fila 5V (fila +) de la breadboard--> pin 2 de la LCD (VDD)
      Conexión: fila 5V (fila +) de la breadboard--> pin 15 de la LCD (A)
      Conexión: fila GND (fila -) de la breadboard --> pin 16 de la LCD (K)
      Conexión: primer pin del potenciómetro---> GND de la breadboard (fila -)
      Conexión: pin de en medio potenciómetro --> pin 3 de la pantalla LCD (VO)
      Conexión: tercer pin del potenciómetro---> 5V de la breadboard (fila -)
      Conexión: pin 4 de la LCD (RS)---> pin 7 del arduino (salida digital, PWM)
      Conexión: pin 5 de la LCD (RW) --> GND de la breadboard (fila -)
      Conexión: pin 6 de la LCD (E)--> pin 8 de la placa Arduino UNO (PWM)
      Conexión: pin 11 de la LCD (D4)--> pin 9 de la placa Arduino UNO (PWM)
      Conexión: pin 12 de la LCD (D5)--> pin 10 de la placa Arduino UNO (PWM)
      Conexión: pin 13 de la LCD (D6)--> pin 11 de la placa Arduino UNO (PWM)
      Conexión: pin 14 de la LCD (D7)--> pin 12 de la placa Arduino UNO (PWM)

NOTA: El pin 15 de la LCD que es A se conecta en seria a el Resistor de 220ohm a  para protegerlo, pero para las pruebas no es estrictamente necesario , peri si en el montaje final.

Nos ayudamos de un protoboard y hacemos uso de el potenciometro de 10K
                                     

Vemos que en este caso se usa un teléfono móvil conectado al puerto USB del arduino que lo alimenta a la vez y a través de el podemos codificar código del programa del multimetro, 

NOTA: Para montar la LCD se deben soldar los pines de la misma, en este caso la solde a una serie de conectores hembra.

2.- Montar el LCD 
Ahora ya avanzando un poco mas, haremos el montaje definitivo del LCD en una placa de matriz de puntos haciendo las conecciones con cables quedando asi de la siguiente forma:

                                                   
Aquí se utilizo una serie de conectores macho para conectarlos a los conectores hembra que se soldaron en la LCD para hacer un facil desmontaje en caso de ser necesario, ademas aqui tambien ya se hizo el montaje definitivo y se incluyo el resistor de 220ohm para protejer a la LCD
                                                   

Esto ya podemos conectarlo al arduino y empezar a realizar pruebas para el voltimetro, amperimetro y ohmetro.

3.-El código de programa para el multimetro.
Vamos a ir por partes, primero el codigo para el voltimetro:
                                                            
Aquí se hace lo siguiente, inicializamos instauramos las variables :

                                                           float  input,vout,vin,vin2=0

INPUT es la entrada analogica del arduino que sera el numero 3.
VOUT  es la tension que deseamos conocer.
VIN es el limite de tension que admite arduino, que son 5 voltios.
VIN2 es un sumador para hacer el promedio de 100 mediciones.
r1=R1, r2=R2.

Utilizamos un ciclo FOR de 100 vueltas para hacer y promediar 100 mediciones y obtener datos mas consistentes, luego el ciclo IF se utiliza simplemente para imprimir la tensión en voltios si la entrada analogica 3 envia un valor superior a 0, o imprimir 0 Voltios si no hay informacion de la entrada analogica.

Codigo del amperimetro
                                                           
En el amperimetro utilizaremos la misma entrada analogica que en el voltimetro, la numero 3, y aplicamos la formula propia para el amperimetro que sera : I=Voltaje/Resistensia  ,pero antes debemos convertir el valor de lectura del pin analogica a una tension en voltios, para eso la multiplicamos por el voltaje que nos da el voltimetro dividida entre 1023 y todo eso luego dividido entre el resistor que es R2, entonces para mostrar los datos en la LCD utilizamos un ciclo IF para imprimir el valor en miliamperios multiplicandola por 1000 si IN(intensidad) es mayor a 0.001, y si el de IN es menor a 0.001 lo mostraremos en nanoamperios multiplicandola por 1000000.

Codigo del ohmetro

                                                      
Aqui se utiliza otro pin analógico del arduino que sera el numero 5, entonces suponiendo que se tendria un resistor Rx ya puesto , mediríamos el valor de el pina analógico 5 y lo convertiríamos en voltios multiplicándola por la división de 5/1023, donde 5 es el voltaje de 5 voltios que sale del propio arduino y 1023 la resolución de la lectura, y ya tendríamos el valor de Rx almacenado en RES como se ve en el código, luego para la impresión de los datos en la LCD utilizaremos ciclos IF uno dentro de otro, en total 4, el primero consultara si RES (que es el valor del resistor)  es mayor a 0 para asi hacer una impersion de datos, y si no se cumple solo se mostrara 0, el segundo consultara si RES es menor a 1100 se mostrara el valor en ohms, y si no cumple la condicion, entrara a otro IF que consultara si RES es menor a 1100000 se mostrara el valor en kilo ohms dividiendo el valor entre 1000, y por ultimo el cuarto IF consultara si RES es mayor a 1100000000 para imprimir el valor en Mega ohms dividiendola entre 1000000, y si no se cumple ninguna condicion

NOTA: Los valores correctos para el salto de ohms a kohms y a Mohms deberían ser 1000,1000000 y 1000000000 respectivamente, pero yo las tomo como 1100, 1100000 y 1100000000 para acomodarse al margen de error de los resistores que no debería pasar de un décimo de su resistividad.

4.-Probar los divisores de tensión.
Usando los esquemas anteriores montamos los 2 divisores que necesitamos y hacemos las pruebas:
                                           


Vemos los dos divisores de tension:

                                          
Este es el primer divisor de tension conformado por R1 de 1Mohm a la izquierda y R2 de 10Kohm a la derecha. Estos están encargados de reducir el voltaje de entrada al pin analogico del arduino y también de ayudar a medir el amperaje.

                                          
Este es el segundo divisor de tensión y en el tenemos a la derecha R2 que es de 100Kohm, y a la izquierda tenemos Rx que puede ser cualquier resistor que deseamos saber su valor, 

5.-Hacer el montaje definitivo de los componentes y hacer pruebas nuevamente.

Aquí la cosa ya no es complicada pues solo se debe probar las distintas mediciones de el multimetro comparándola con un multimetro digital ya habiendo previamente montado los divisores de tensión en una placa y teniendo los conectores a disposición, luego se podria poner en una caja de carton o madera:
                                                      

Midiendo el voltaje y amperaje de una batería de 9 voltios:


Al medir el amperaje de la batería con el multimetro digital , no se obtienen valores , probablemente por estar en nanoamperios 
                                               


Midiendo un resistor de 6.8Kohm según su cogido de colores

                    
                    

Conclusiones
Se puede observar que el multimetro hecho con arduino presenta margen de error en comparación a un multimetro digital, pues en arduino es mas complicado ya que no esta diseñada específicamente para este uso teniendo que añadir componentes a los puertos analógicos para poder hacer estas mediciones , hay que tomar en cuenta también que los resistores usados a pesar de que en el código de colores dig ser de cierto valor siempre van a existir variaciones, por eso se medí cada resistor con un multimetro digital para saber un valor mas aproximado a la resistividad de cada uno para asi ponerlo en el programa y que haya un margen de error mucho mas estrecho , pero aun asi el margen de error esta presente y proboca una limitacion de este multimetro con arduino, ya que estara bien para un uso normal sin necesitar una prescicion extrema, pero cuando le exijamos un poco mas va a flaquear.

Programa de Multimetro :
http://www.mediafire.com/file/35wkb9534goekta/multimetro.ino

Estudiante: Jhonny Apaza Chambi