UNIVERSIDAD TECNOLÓGICA DE SAN JUAN DEL RÍO INNOVACIÓN PARA EL DESARROLLO
REPORTE
PROCESO DE MEZCLADO INDUSTRIAL CON INTERFAZ GRAFICA POR PROTOCOLO SERIAL
QUE PARA OBTENER EL TÍTULO DE:
TÉCNICO SUPERIOR UNIVERSITARIO EN MECATRÓNICA, ÁREA AUTOMATIZACIÓN
PRESENTA:
ADAN BERNARDO CAMACHO CRUZ
SAN JUAN DEL RÍO, QRO.
ABRIL DE 2013
CAPITULO 1. ANTECEDENTES DE LA UNIVERSIDAD TECNOLÓGICA DE SAN JUAN DEL RÍO 1.1 HISTORIA DE LA UNIVERSIDAD TECNOLÓGICA DE SAN JUAN DEL RÍO La Universidad Tecnológica de San Juan del Río, es una Institución de Educación Superior creada en Agosto de 1998, que ofrece a los jóvenes egresados del bachillerato, carreras universitarias estrechamente vinculadas vinculadas con el sector productivo para que en un corto plazo se incorporen al trabajo t rabajo profesional de la región. Nuestro principal objetivo es lograr una educación integral de calidad, de acuerdo a nuestro Sistema de Gestión de la Calidad, de tal modo que nuestros alumnos cuenten con conocimientos sólidos, experiencia práctica, actitudes y valores.
1.2 MISIÓN DE LA UNIVERSIDAD TECNOLÓGICA DE SAN JUAN DEL RÍO Somos una institución socialmente responsable que imparte educación superior de calidad con estándares internacionales, que forma personas con valores, competitivas y con una visión global, en estrecha vinculación con la sociedad respondiendo a sus necesidades y expectativas.
1.3 VISIÓN DE LA UNIVERSIDAD TECNOLÓGICA DE SAN JUAN DEL RÍO Ser una institución posicionada internacionalmente, por su excelencia académica, por la calidad, competitividad, visión global y responsabilidad social de sus egresados, de su personal y de los servicios que ofrece.
1.4 OBJETIVOS DE LA UNIVERSIDAD TECNOLÓGICA DE SAN JUAN DEL RÍO 1. Brindar servicios educativos de calidad 2. formar egresados de calidad y competitivos en su campo profesional 3.-ofrecer al sector productivo y a la comunidad servicios tecnológicos de excelencia 4. Generar una cultura en el personal y en el alumnado para cuidar y salvaguardar el medio ambiente y proteger la integridad de las personas
1.5 ORGANIGRAMA DE LA UNIVERSIDAD TECNOLÓGICA DE SAN JUAN DEL RÍO
Figura 1.Error! No text of specified style in document. .1 Organigrama de la Universidad de la Institución
1.6 ASIGNATURA DEL DESARROLLO DEL PROYECTO En el presente proyecto se desarrollara como parte siguiente de la asignatura Programación Visual
1.7 TÍTULO DEL PROYECTO Proceso de mezclado industrial con interfaz grafica por protocolo USB.
1.8 OBJETIVO DEL PROYECTO Realizar un proceso industrial monitoreado gráficamente mediante el software Visual Studio mediante una comunicación serial (USB).
1.9 JUSTIFICACIÓN DEL PROYECTO
En los diferentes procesos industriales se deben de tomar en cuenta los factores que pueden afectar el proceso; a estas se les llama variables las cuales se deben controlar para que nuestro proceso sea optimo y tengamos los mejores resultados posibles, es por ello que se implementaran diversos sensores para monitorear dichas variables y de la misma manera saber el estado de nuestro proceso y de tener el control de este, es por ello que debemos de tener un monitoreo y aun más sencillo si es de forma grafica cosa que podemos conseguir mediante una aplicación creada en el software Visual Studio ya que los recursos de este programa nos permiten realizarlo sin ningún problema, pero para ello debemos de realizar una comunicación con el exterior que va a estar encargada de enviarle todos los datos del mundo exterior a nuestra aplicación esto será llevado a cabo por un microcontrolador arduino utilizando una comunicación USB y así poder realizar el monitoreo y el control de nuestro proceso de mezclado industrial.
1.10 ALCANCE DEL PROYECTO Realización de una maqueta simulando el proceso.
CAPÍTULO 2.MARCO TEÓRICO
2.1 SOFTWARE VISUAL STUDIO Microsoft Visual Studio es un entorno de desarrollo integrado (IDE, por sus siglas en inglés) para sistemas operativos Windows. Soporta varios lenguajes de programación tales como Visual, Visual C#, Visual J#, y Visual Basic .NET, al igual que entornos de desarrollo web como ASP.NET. Aunque actualmente se han desarrollado las extensiones necesarias para muchos otros. Visual Studio permite a los desarrolladores crear aplicaciones, sitios y aplicaciones web, así como servicios web en cualquier entorno que soporte la plataforma .NET (a partir de la versión .NET 2002). Así se pueden crear aplicaciones que se intercomuniquen entre estaciones de trabajo, páginas web y dispositivos móviles.
Figura Error! No text of specified style in document. 1 Logotipo Visual Studio
2.2 PLATAFORMA ARDUINO Arduino es una plataforma de hardware libre, basada en una placa con un microcontrolador y un entorno de desarrollo, diseñada para facilitar el uso de la electrónica en proyectos multidisciplinares. El hardware consiste en una placa con un microcontrolador Atmel AVR y puertos de entrada/salida.4 Los microcontroladores más usados son el Atmega168, Atmega328, Atmega1280, ATmega8 por su sencillez y bajo coste que permiten el desarrollo de múltiples diseños. Por otro lado el software consiste en un entorno de desarrollo que implementa el lenguaje de programación Processing/Wiring y el cargador de arranque (boot loader) que corre en la placa.
Arduino se puede utilizar para desarrollar objetos interactivos autónomos o puede ser conectado
a
software
del
ordenador
(por
ejemplo:
Macromedia, Processing, Max/MSP, Pure Data). Las placas se pueden montar a mano o adquirirse. El entorno de desarrollo integrado libre se puede descargar gratuitamente. Al ser open-hardware, tanto su diseño como su distribución es libre. Es decir, puede utilizarse libremente para el desarrollo de cualquier tipo de proyecto sin haber adquirido ninguna licencia.
Figura 2.2 Logotipo de la Plataforma Arduino
2.2.1 ARDUINO UNO Arduino Uno es una placa electrónica basada en el ATmega328 .Tiene 14 pines digitales de entrada / salida (de las cuales 6 se puede utilizar como salidas PWM), 6 entradas analógicas, un 16 MHz resonador cerámico, una conexión USB, un conector de alimentación, una cabecera ICSP, y un botón de reinicio. Contiene todo lo necesario para apoyar el microcontrolador, basta con conectarlo a un ordenador con un cable USB o el poder con un adaptador AC-DC o batería para empezar. El Uno se diferencia de todas las juntas anteriores en que no utiliza el chip controlador FTDI USB-to-serial. En su lugar, ofrece la Atmega16U2 ( Atmega8U2 hasta R2 versión) programado como un convertidor
de
USB
Figura2.3 Tarjeta Arduino Uno
2.2.2 DATOS GENERALES ARDUINO UNO Microcontroladores
ATmega328
a
serie.
Tensión de funcionamiento
5V
Voltaje de entrada (recomendado)
7-12V
Voltaje de entrada (limites)
6-20V
Digital I / O Pines
14 (de los cuales 6 proporcionan salida PWM)
Pines de entrada analógica
6
Corriente por I DC / O Pin
40 mA
Corriente DC por Pin 3.3V
50 mA
Memoria Flash
32 KB ( ATmega328 ) de los cuales 0,5 KB utilizado por gestor de arranque
SRAM
2 KB ( ATmega328 )
EEPROM
1 KB ( ATmega328 )
Velocidad del reloj
16 MHz
Figura 2.4 Tabla de Especificaciones Generales de Arduino Uno
2.2.3 MEMORIA ARDUINO UNO El ATmega328 tiene 32 KB (con 0,5 KB utilizado para el gestor de arranque). También tiene 2 KB de SRAM y 1 KB de memoria EEPROM (que puede ser leído y escrito por la biblioteca EEPROM).
2.2.4 ENTRADAS Y SALIDAS ARDUINO UNO I/O Cada uno de los 14 pines digitales en el Uno se puede usar como una entrada o salida, utilizando pinMode (), digitalWrite (), y digitalRead () . Funcionan a 5 volts. Cada pin puede proporcionar o recibir un máximo de 40 mA y tiene una resistencia interna pullup (desconectada por defecto) de 20-50 kOhmios. Además, algunos pines tienen funciones especializadas:
Serie: 0 (RX) y 1 (TX) Se utiliza para recibir (RX) y transmitir (TX) datos serie TTL. Estos pines están conectados a los pines correspondientes del ATmega8U2 USBto-Serial TTL chips.
Las interrupciones externas: 2 y 3 Estos pines pueden ser configurados para activar una interrupción en un valor bajo, un flanco ascendente o descendente, o un cambio en el valor. Ver el attachInterrupt () función para más detalles.
PWM: 3, 5, 6, 9, 10, y 11 Proporcionar 8-bit de salida PWM con la analogWrite () función.
SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Estos apoyo pines comunicación SPI utilizando la biblioteca de SPI .
LED: 13. Hay un built-in LED conectado al pin digital 13. Cuando el pin es de alto valor, el LED está encendido, cuando el pasador es bajo, es apagado. El Uno tiene 6 entradas analógicas, con la etiqueta A0 a A5, cada uno de los cuales proporcionan 10 bits de resolución (es decir, 1024 valores diferentes). Por defecto se mide desde el suelo a 5 voltios, aunque es posible cambiar el extremo superior de su rango usando el pin AREF y la analogReference () la función. Además, algunos pines tienen funciones especializadas:
TWI: A4 o A5 y SDA pin o pines SCL. Apoyo TWI comunicación con la biblioteca de alambre. Hay un par de patas de la placa:
AREF. Tensión
de
referencia
para
las
entradas
analógicas. Se
utiliza
con analogReference ().
Restablecer. Traiga esta línea LOW para reiniciar el microcontrolador. Normalmente se utiliza para agregar un botón de reinicio a los escudos que bloquean el uno en el tablero.
2.2.5 COMUNICACIÓN ARDUINO UNO Arduino Uno tiene un número de instalaciones para la comunicación con un ordenador, Arduino otro, u otros microcontroladores. El ATmega328 ofrece UART TTL comunicación (5V) de serie, que está disponible en los pines digitales 0 (RX) y 1 (TX). Un ATmega16U2 en los canales de mesa esta comunicación serie a través de USB y aparece como un puerto COM virtual con el software en el ordenador. El firmware '16U2 utiliza los controladores estándar USB COM, y no hay ningún controlador externo es necesario. Sin embargo, en Windows, un archivo. inf se requiere . El software de Arduino incluye un monitor de puerto serie que permite a los datos de texto simples para ser enviados hacia y desde la placa Arduino. El RX y TX LED en el tablero parpadea cuando los datos se transmiten a través del chip USB a serie y la conexión USB al ordenador (pero no para la comunicación en serie en los pines 0 y 1). Una biblioteca SoftwareSerial permite la comunicación serial en cualquiera de los pines digitales de la ONU.
El ATmega328 también es compatible con I2C comunicación (TWI) y SPI. El software de Arduino incluye una librería Wire para simplificar el uso del I2C bus, ver la documentación para más detalles. Para la comunicación SPI, utilice la biblioteca de SPI
Figura 2.5 Partes de Tarjeta Arduino
2.3 SENSOR ULTRASÓNICO Los sensores de ultrasonidos son detectores de proximidad que trabajan libres de roces mecánicos y que detectan objetos a distancias de hasta 8m. El sensor emite un sonido y mide el tiempo que la señal tarda en regresar. Estos reflejan en un objeto, el sensor recibe el eco producido y lo convierte en señales eléctricas, las cuales son elaboradas en el aparato de valoración. Estos sensores trabajan solamente en el aire, y pueden detectar objetos con diferentes formas, colores, superficies y de diferentes materiales. Los materiales pueden ser sólidos, líquidos o polvorientos, sin embargo han de ser deflectores de sonido. Los sensores trabajan según el tiempo de transcurso del eco, es decir, se valora la distancia temporal entre el impulso de emisión y el impulso del eco.
Figura2.6 Sensor Ultrasónico
2.4 RESISTENCIA
Se denomina resistor o bien resistencia al componente electrónico diseñado para introducir una resistencia eléctrica determinada entre dos puntos de un circuito.
Figura 2.7 Resistencia
2.5 DIODO EMISOR DE LUZ (LED) Led (de
las siglas en inglés Light-Emitting Diode)
es
un componente
optoelectrónico pasivo, más concretamente un diodo que emite luz.
Figura 2.8 LED
2.6 DIODO Un diodo es un componente electrónico de dos terminales que permite la circulación de la corriente eléctrica a través de él en un solo sentido
Figura 2.9 Diodo
2.7 RELEVADOR
El relé o relevador es un dispositivo electromecánico. Funciona como un interruptor controlado por un circuito eléctrico en el que, por medio de una bobina y un electroimán, se acciona un juego de uno o varios contactos que permiten abrir o cerrar otros circuitos eléctricos independientes.
Figura 2.10 Relevador y Diagrama Interno
CAPITITULO 3 DESARROLLO DE PROYECTO .
3.1PROCESO A CONTROLAR Se monitorea y se controla un proceso de un llenado de tanques y una mescladora la cual hará la mescla entre las dos sustancias, mediante la computadora y el programa visual studio.
3.2 VARIABLES A CONTROLAR La variable a controlar es nivel este hace referencia a una "altura" relativa a otra altura; generalmente se toma como punto de referencia una base, estos sensores los tendrán los tanques 1 y 2 los cuales nos indicaran hasta donde están llenos los tanques.
3.3 SENSORES IMPLEMENTADOS Utilizamos un sensor ultrasónico y construimos unos sensores el cual nos indica el nivel al que se encuentran los tanques.
3.4 COMUNICACIÓN SERIAL VISUAL STUDIO-PLATAFORMA ARDUINO Para la interfaz utilizamos Arduino y este a la vez con visual studio.
3.5 PROGRAMACIÓN EN LA PLATAFORMA ARDUINO Lo que hace el programa que teniendo los dos tanques (tanque1 y tanque2) llenos de acuerdo a lo que nos indica el sensor, empezara con el llenado de del tercer tanque que es la mescladora, una vez que el sensor haya detectado de que ya se lleno la mezcladora, se activara el motor el cual girara por un cierto tiempo haciendo la mescla entre las dos substancias.
3.6 PROGRAMACIÓN Y CREACIÓN DE LA APLICACIÓN EN VISUAL STUDIO
En la creación de nuestra interfaz en visual podemos obtener el siguiente Diseño que nos ayudara poder simular un proceso industrial donde mesclaremos dos sustancias en un tanque principal.
using using using using using using using using using
System; System.Collections.Generic; System.ComponentModel; System.Data; System.Drawing; System.Linq; System.Text; System.Windows.Forms; System.IO.Ports;
namespace Tanque { public partial class Form1 : Form { SerialPort Puerto = new SerialPort("COM8",9600); string a; public Form1() { InitializeComponent(); Graphics papel = CreateGraphics();//se crea una clasepara graficos Color colores = Color.Blue;//se declara un color para el relleno Pen lapiz = new Pen(colores);//se llama una clase para dibujar SolidBrush relleno = new SolidBrush(Color.GreenYellow);//se da un relleno solido Rectangle coordenadas = new Rectangle(0, 0, 0, 0);//se dibuja un rectangulo
papel.FillRectangle(relleno, coordenadas);//se crea un rectangulo } private void btnDibujar_Click(object sender, EventArgs e) {
} private void timer1_Tick(object sender, EventArgs e) { txtsensor.Text = Convert.ToString(a); if ((Convert.ToInt16(a) > 7)&&(Convert.ToInt16(a) < 10)) { pictureBox1.Image = Properties.Resources.tuberia11; //pictureBox2.Image = Properties.Resources.tuberia4; checkBox1.BackColor = checkBox1.Checked ? Color.Black: Color.Green; checkBox3.BackColor = checkBox3.Checked ? Color.Black : Color.Green; checkBox5.BackColor = checkBox5.Checked ? Color.Green : Color.Black; } else { pictureBox1.Image = Properties.Resources.tuberia21; // pictureBox2.Image = Properties.Resources.tuberia3; checkBox1.BackColor = checkBox1.Checked ? Color.Green : Color.Black; checkBox3.BackColor = checkBox3.Checked ? Color.Green : Color.Black; checkBox5.BackColor = checkBox5.Checked ? Color.Black : Color.Green; } if (Convert.ToInt16(a) >= 10) { pictureBox2.Image = Properties.Resources.tuberia4; //checkBox1.BackColor = checkBox1.Checked ? Color.Black : Color.Green; checkBox3.BackColor = checkBox3.Checked ? Color.Black : Color.Green; checkBox5.BackColor = checkBox5.Checked ? Color.Green : Color.Black; } else { //pictureBox1.Image = Properties.Resources.tuberia21; pictureBox2.Image = Properties.Resources.tuberia3; checkBox1.BackColor = checkBox1.Checked ? Color.Green : Color.Black; checkBox3.BackColor = checkBox3.Checked ? Color.Green : Color.Black; checkBox5.BackColor = checkBox5.Checked ? Color.Black : Color.Green; } if (Convert.ToInt16(a) <7) { pictureBox1.Image = Properties.Resources.tuberia21; pictureBox2.Image = Properties.Resources.tuberia3; }
tanque1.valor(Convert.ToInt16(a)); //envia el valor del scrollBar para la simulacion del llenado tanque_21.valor(Convert.ToInt16(a)); tanque_22.valor(Convert.ToInt16(a)); tanque_23.valor(Convert.ToInt16(a)); } private void pictureBox1_Click(object sender, EventArgs e) { } private void chkpuerto_CheckedChanged(object sender, EventArgs e) { if (chkpuerto.Checked) { try { if (!Puerto.IsOpen) { Puerto.Open(); } chkpuerto.Text = "Puerto Abierto"; chkpuerto.BackColor = Color.Green; } catch { MessageBox.Show("Algo anda mal, no se puede abrir el puerto COM"); chkpuerto.Checked = false; chkpuerto.Text = "Puerto cerrado"; } } else { try { if (Puerto.IsOpen) { Puerto.Close(); chkpuerto.BackColor = Color.Red; chkpuerto.Text = "Puerto Cerrado"; } } catch { MessageBox.Show("Algo anda mal, no se puede cerrar el puerto COM"); } } } private void button1_Click(object sender, EventArgs e) { timer2.Interval = 1000; string DatoRecibido = Puerto.ReadLine(); txtsensor.Text = DatoRecibido;
if (Convert.ToByte( DatoRecibido) ==1) { timer2.Enabled = true; timer1.Enabled = true; timer2.Interval=1000; string comando = "2"; Puerto.Write(comando); string sen = Puerto.ReadLine(); textBox1.Text = a; }
//string sen = Puerto.ReadLine(); //txtrecibir.Text = sen; } private void timer2_Tick(object sender, EventArgs e) { a= Puerto.ReadLine(); textBox1.Text = a; } private void textBox1_TextChanged(object sender, EventArgs e) { } private void Form1_Load(object sender, EventArgs e) { } } }
3.7 ETAPA DE POTENCIA
Etapa de potencia, amplificador de potencia o etapa de ganancia son los nombres que se usan para denominar a un amplificador de audio. La función del amplificador es aumentar el nivel de una señal, incrementando, para ello, la amplitud de la señal de entrada mediante corrientes de polarización (voltaje negativo, voltaje positivo) en el transistor de salida. El amplificador trabaja, internamente, con corriente continua; en caso de ser alimentado con
la
tensión
entregada
por
la
red
domiciliaria
se
necesita
un transformador y rectificador para adaptar el nivel de voltaje y tipo de corriente a los valores necesarios para el buen funcionamiento del equipo. Cuando se diseña un amplificador, es fundamental la refrigeración del mismo. Por ello, siempre encontraremos rejilla de ventilación y los fabricantes habrán instalado en su interior ventiladores (como en el ordenador). Esto es porque durante el procesado de amplificación, en su interior, se disipa gran cantidad calor. Físicamente, cuando vemos un amplificador, nos encontramos con un equipo en el que, habitualmente, sólo hay un botón: el de encendido/apagado.
3.7.1 SIMULACIÓN DE ETAPA DE POTENCIA Para la elaboración de este proyecto hay una parte fundamental que nos ayudara a interactuar con el medio exterior y sin duda es la protección de la interfaz hacia lo exterior. Cuando hablamos de etapa de potencia es la unión de una o varias señales de control que mediante algún circuito en este caso mediante un transistor es mandada la señal de control a la base del transistor para poder energizar la bobina podemos ver el diagrama en proteus a continuación.
Figura 3.11 Diagrama de potencia
Después de la realización de un diagrama en proteus se llevara a cabo en la realización de una tarjeta PCB uno de los programa para la ayuda de la impresión de dicha tarjeta será mediante el programa ISIS.
Figura 3.12 Placa impresa
3.7.2 ARMADO DE ETAPA DE POTENCIA El diagrama es sencillo podemos decir que mediante una señal de control pudimos desarrollar un control para el motor que representaría la revolvedora y por supuesto las bombas que sacarían el agua del embace principal. Parapoder el circuito tenemos el siguiente material. Material:
2 Transistores NPN 2N2222
2 Resistencias 330 Ohms
2 Relevadores de 5V
2 Placa PCB de 10x10
Soldadura
1 Cautín con base
2 diodos
2 Clemas
Mediante el material anterior podemos empezar a explicar el funcionamiento del diagrama de potencia, es mediante una señal de la tarjeta Arduino mandara la señal de encendido de las bombas o de los motores y mediante la resistencia que está en la base del transistor esto hará que el transistor se pase a la etapa de saturación y pueda energizar al relevador una vez que se energice cambiara internamente el relevador y así podrá prender las bombas o el motor.
Figura 3.12 Diagrama en PCB
3.8 UNIÓN DE TODAS LAS PARTES DEL PROYECTO En la preparación del proyecto utilizamos diversos elementos que nos ayudaran a simular el llenado de un tanque principal que en este caso es el tanque rojo, en unión de los diversos materiales a utilizar
no hubo ninguna dificultad ya que utilizamos
materiales muy adaptables que nos ayudaran a asegurar el funcionamiento.
Figura 3.5 Proyecto terminado
Podemos mencionar en la instalación de tuvimos que checar lo de las longitudes de las mangueras como también las curvas una de las cosas que nos puso a pensar fue lo de los sensores de nivel una de las razones fue porque no queríamos comprar ningún sensor ya que los sensores de nivel estaban bien carros con la decisión de hacer sensores de nivel pensamos en poner un sencillo circuito que nos ayudara a hacer los sensores. El sensor es médiate un transistor unas resistencia de 10k Ohms y una de 330 Ohms Cabe mencionar que le tuvimos que poner sal al agua par realmente funcionara como un conductor, no podíamos poder el agua simple ya que no iba a funcionar nuestro sensor.
CONCLUSIÓN Pudimos observar que con la programación, se pudo hacer la comunicación serial mediante un PIC para hacer el control que deseamos que en este caso fue el de la mezcladora, un proceso muy utilizado en la industria, y con la programación orientada a objetos, los procesos se hacen aún más fáciles ya que teniendo los objetos virtuales es como nos damos una idea de cómo funcionará el proyecto que tengamos para hacerlo de una manera adecuada al momento de la integración de todos los sistemas que tengamos, teniendo así nuestra maqueta para desarrollar dicho proyecto, aprendiendo a detectar fallas en el programa o proceso y saber cómo dar soluciones frente a una problemática y trabajando bajo presión y al mismo tiempo ayudándonos mutuamente, poniendo así en práctica el trabajo en equipo para que esto nos ayude en la formación como personas responsables, para cuando llegue la oportunidad de un trabajo de índole profesional, tengamos tan solo las bases para poder estar en armonía con los compañeros.