Está en la página 1de 10

Introduccin:

En la actualidad la automatizacin y el control es una de las cosas ms


fundamentales e importantes en la industria y en cualquier proceso, la tecnologa a
tenido gran avance que es una de las partes fundamentales que permite lograr esto
del control y la automatizacin. En esta ocasin elegimos el pequeo proyecto del
control automtico del llenado de un tanque el cual en la industria siempre est
presente, para lograr esto del control hicimos uso del microcontrolador Atmel AVR
y puertos de entrada/salida llamado Arduino, en nuestro caso hicimos uso del
Arduino 2560 Mega, que es una herramienta que facilita el uso de la electrnica
para proyectos. Esta tarjeta Arduino tiene diferentes puertos de comunicacin de
salida y entrada, entre estos puertos tenemos analgicos, digitales, PWM.

Desarrollo
En esta parte, analizamos los elementos y dispositivos que

utilizamos

principalmente, los cuales fueron:

Arduino MEGA 2560 R3

Sensor de Presin

Motor(Bomba Para Inyectar El Liquido Agua Al Tanque)

Mangueras, cables para conexin

Fuente de 12 V

Protoboard, Driver Para Controlar El Motor (Bomba)

Laptop

Estructura que soporta a los Tanques De Llenado y Alimentacion.

Primero lo que hicimos fue cargar un programa al Arduino el cual permite que el
Programa LabVIEW lo reconozca y podamos leer, capturar, manipular y escribir
datos a las salidas, el programa se llama LIFA_BASE. Como el sensor censara la
presin que se tenga en el tanque, tendremos una seal de CD la cual variara en
forma que vari la presin del tanque a consecuencia del nivel del lquido en este
caso agua, entonces con esto sabemos que leeremos una seal analgica, este es
un dato importante, ubicamos los puertos analgicos y ubicamos uno de ellos en
nuestro caso es el A0. Despus, como ya tenemos la variable que estaremos
monitoreando la seal la cual es la referencia para que pueda actuar el control sobre
el tanque.
Mostrando El Diagrama de Bloques Completo y El Diagrama Grafico, El Cual
Permite El Llenado Del Tanque:

La seal analgica que entra al Arduino por el puerto Analgico A0 y que es seal
del sensor de presin, tiene un rango de 0.9 a 1.5Vcd. Esta seal la lee el bloque
READ ARDUINO ANALOGIC es la encargada de leerla, entonces enseguida pasa
por una bloque Multiply que es el siguiente:

El cual le permite obtener una ganancia con la seal original, x es la seal que
entra y y es la ganancia que tendr esta.
Enseguida esta seal ya con la ganancia, en nuestro caso fue de 550, a esta misma
se le conecta unos medidores los cuales nos indican en nivel del liquido tanto en
forma numrica como grfica y son los siguientes:

Algo importante en estos, es que al decir que son medidores obtienen datos y viendo
los bloques los bordes son delgados en comparacin con los de control que son
ms gruesos, tambin el tipo de dato, los azules son enteros y los naranjas DBL
doubl de doble precisin.
Enseguida colocamos lo que son los indicadores, los cuales nos muestran si el
tanque esta en nivel: critico, llenando o lleno, el cual la estructura es la siguiente:

En donde vemos diferentes bloques los cuales, en una forma clara son condiciones,
explicando los bloques:

El cual Tiene un Tipo De dato Boleano 0 o FALSE cuando x es menor a y, siendo


estas las que entran al bloque, y es TRUE o 1, cuando y es menor a x.
Enseguida tenemos otro bloquecito que es el siguiente:

Este bloque Select consiste de una condicin ternaria s? t: f, ejecutando s, si es


verdadero toma el valor de t que en este proyecto es el Tipo Boleano TRUE, y
cuando s es Falso toma el valor de f siendo aqu el FALSE, s tiene los estados 0
FALSE y 1 TRUE dados por la ejecucin del bloque anterior. Enseguida este Valor
de 0 o 1 hace efecto en un indicador decirlo as un led Boleano, el cual enciende
cuando su entrada es 1 y est apagado cuando es 0 y es el siguiente:

Otro bloque importante es el siguiente:

El cual a diferente de los anteriores este trabaja en un rango determinado que son
upper limit y lower limit los extremos de este rango, y si x esta dentro de esta rango
en ? se tendr 1 o TRUE y si esta fuera el rango se tendr 0 o FALSE.
Si en un cierto rango o nivel de liquido se requiere hacer una accin la cual nosotros
necesitamos la accin de encender un motor utilizamos una estructura la cual es la
siguiente:

Este bloque es una estructura de casos, la cual es TRUE y FALSE uno cada caso,
si en la entrada tenemos TRUE se ejecuta lo que hay dentro de este caso, la cual
en este proyecto consiste en generar una seal PWM que podemos manipular
desde 0 a 255 de valor para manipular la velocidad del motor, cuando es FALSE en
la entrada de la estructura se ejecuta lo que hay dentro del FALSE que nosotros
colocamos 0 en PWM o sea esta que la salida ser de 0, en TRUE coloque un
control el cual puedo mover su valor en tiempo de la ejecucin, este valor controla
la velocidad del motor o bomba que llenar el tanque, cuando este en 255 estara a
toda velocidad y en 0 estara apagado, asi en niveles intermedios la velocidad ser
mediana. En si el control es el ciclo de trabajo del motor que cuando esta en 255
esta al 100% y 0 a 0%.
En si la funcin de este pequeo proyecto es el siguiente:
Tenemos un sensor que censa el nivel del Tanque , la salida del sensor es una seal
analgica que va de 0.9 a 1.5 Vcd, claro que el sensor es alimentado con 5 Volts,
enseguida el Arduino la lee como una seal analgica en el Puerto A0, y el programa
LabVIEW procesa la informacin, el cual el proceso consiste en el programa que
hicimos, esta seal entra y pasa por un bloque para tener una ganancia de 550,
enseguida hay unos medidores que leen esta seal y graduados los medidores de
0 -1750ml de su escala completa determina en qu nivel estemos, estos medidores
se clasifican por tres niveles, que son nivel crtico que va de 0 a 500 ml, enseguida
nivel llenando que tiene un rango de 520 a 1590 ml y el indicador lleno que se activa
cuando el nivel es mayor a 1600 y como limite el tanque lleno que se llena con 1750
ml aproximadamente. Los anteriores solo nos indican en el nivel que este el Tanque,
para llenarlo coloque un bloque el cual si el nivel est dentro del rango que tiene
este bloque condicional genera una Dato Boleano siendo un TRUE y cuando esta
fuera del rango es FALSE o 0, este bloque est conectado a una estructura
condicional de casos, para este proyecto son 2 casos los que inclu, que son TRUE
y FALSE, cuando el bloque condicional genera una TRUE se va al caso TRUE y
ejecuta lo que est dentro de l, el cual es un control que tiene como fin el controlar
la salida PWM este control tiene un rango graduado de 0 a 255, esto quiere decir

que cuando estemos en el caso TRUE en la salida PWM podemos controlar de 0 a


255 que se refiere al ciclo de trabajo del motor y esta salida es la que alimenta al
motor entonces controlaremos la velocidad siendo 255 la mxima y 0 la mnima
velocidad que sera apagado cuando este en 0 de la salida PWM, esta condicin
termina cuando el tanque se llena y pasara al FALSE. Cuando en el bloque
condicional se tiene un 0 o FALSE, ahora se ejecuta el case FALSE que en esta
parte tenemos que la salida del PWM es 0 que tenemos que el motor este apagado.
Lo anterior es la parte ms importante del programa ya que es el objetivo del mismo.
Tambin algo que no debe faltar es la estructura de las veces que se ejecutara este
programa, y las componentes y bloques del Arduino, utilizamos un ciclo While Loop
que se repite n veces las cuales dependen del recurso de la computadora, aunque
podemos poner un bloquecito que podemos controlar las veces que se repite el
programa, adems este ciclo While Loop tiene un control llamado STOP para
pararlo cuando querramos. En la siguiente Figura, estn las componentes que utiliza
el programa y hablare un poco de cada una de ellas:

Siempre debemos colocar el INIT y el CLOSE para cerrar la conexin en el Arduino,


el Arduino WRITE escribe una seal PWM y para utilizar este bloque necesitamos
el bloque I/O en donde coloque 2 controles que son el pin que utilizare para esta
seal y que es seal de salida Output ya que puede ser tambin de entrada, vemos
aqu el ciclo While Loop que lo controla el STOP que antes mencione, tambin en
el INIT coloque 2 controles que son el VISA que el cual utilizaremos para indicar el

puerto que utiliza el Arduino y en el Board Type, indicaremos el tipo de Arduino que
estemos utilizando.
En esta ltima parte se muestra el panel frontal del programa que es el siguiente:

En donde vemos que la parte izquierda tenemos la etapa de comunicacin con el


Arduino, tenemos el VISA que en nuestro caso utiliza el puerto COM12, el Board
Type, el cual indica el tipo de Arduino que estemos utilizando el cual es el MEGA,
enseguida tenemos Analogic Input Pin el cual es una entrada Analgica que lee del
Puerto 0 o fsicamente es el A0 que es el bloque de Read Analogic, la figura que
dice Digital I/O Pin nos dice que es una Seal Digital que puede ser de entrada o
salida nosotros la colocamos de salida y en el Pin 13, despus tenemos los
medidores analgicos, numricos los cuales son llamados Nivel De Tanque, Tanque
y Medidor Analogico, en la Parte superior del Medidor Analogico se coloc un
Control el cual su escala completa es de 0 a 255 y con esto controlamos el ciclo de
trabajo del motor o velocidad del motor el cual lo podemos estar haciendo en tiempo
real , ya por ultimo en la parte derecha tenemos los indicadores que nos indican el
nivel en el que se encuentra el Tanque.

Conclusin;
Al llevar acabo este proyecto aprendimos muchas cosas, lo cual es muy importante
porque al llegar a una industria esto nos puede ser muy til, entre las cosas que
aprendimos fue el conocer y trabajar un poco con LabVIEW que es una herramienta
muy poderosa es estos de instrumentos virtuales, asimismo el utilizar el Arduino
MEGA junto con LabVIEW lo cual despert la inquietud de empezar a hacer nuevos
proyectos con l, con este proyecto englobamos un poco de todo lo que hemos
aprendido a lo largo de nuestra formacin como lo es la programacin y la
electrnica, nos result muy interesante el proyecto.

También podría gustarte