Reporte

March 25, 2018 | Author: Andrea Salazar Velazquez | Category: Electrical Engineering, Electromagnetism, Telecommunications Engineering, Electronics, Technology


Comments



Description

INSTITUTO POLITECNICO NACIONAL Escuela Superior de CómputoMateria: Instrumentación Proyecto final Fecha: Viernes, 8 de junio de 2011 Alumnos: Flores Domínguez Adrián García Martínez Luis Alberto Ortiz González Jorge Erik Nombre de la profesora: Rosario Rocha Bernabé Grupo: 3CM4 INSTITUTO POLITECNICO NACIONAL Escuela Superior de Cómputo Proyecto final Objetivo Implementar un sistema con interfaz gráfica en el cual se muestren los datos recopilados de 3 sensores, utilizando un sistema de adquisición de datos, con todos sus componentes: Transductor, Acondicionamiento de señal, Convertidor Analógico – Digital, Etapa de Salida (Interfaz con la lógica). Introducción Características de un sensor de temperatura Componentes:  Sensor LM35 LM35 El LM35 es un sensor de temperatura con una precisión calibrada de 1 °C y un rango que abarca desde -55°C a 150°C. El sensor se presenta en diferentes encapsulados, pero el más común es el to-92 de igual forma que un típico transistor de 3 patas. La salida es lineal y equivale a 10 mV/°C por lo tanto: 1500mV = 150°C 250mV = 25°C Sus características más relevantes son:  Precisión de aprox. 1.5°C (peor caso), 0.5°C garantizados a 25°C.  No linealidad de aprox. 0.5°C (´peor caso).  Baja corriente de alimentación (60uA).  Amplio rango de funcionamiento (desde -55°C a 150°C).  Bajo costo.  Baja impedancia de salida. Su tensión de salida es proporcional a la temperatura, en la escala Celsius. No necesita calibración externa y es de bajo conto. Funciona en el rango de alimentación comprendido entre 4 y 30 voltios. Además, el LM35 no requiere de circuitos adicionales para su calibración externa cuando se desea obtener una precisión de orden de (+ -) 0.25°C a temperatura ambiente. Debido a su baja corriente de alimentación (60uA), se produce un efecto de auto calentamiento reducido, menos de 0.1 ºC en situación de aire estacionario. Características de un sensor de velocidad Componentes:  Sensor Infrarrojo (opto interruptor).  Convertidor frecuencia/voltaje (LM2907).  Modulador por ancho de pulsos (PWM). Opto interruptor Este es uno de tantos tipos de opto acopladores para uso especial. Existen varios tipos pero los más importantes son los switch de ranura ópticos y los sensores reflejantes ópticos. El opto interruptor de ranura tienen el emisor y el sensor insertados en el paquete, este paquete sirve para mantener el alineamiento óptico. El espacio entre ellos forma el área sensible, estos dispositivos tienen la misma función que los optos pero tienen un mecanismo de interrupción mecánico. Este dispositivo puede detectar la presencia de un objeto o su velocidad. Se fabrica en diferentes tipos de empaque para poderlo acomodar en un rango de tamaños y restricciones de montaje. El principio de funcionamiento de un encoder es el hacer girar un disco con partes transparentes y opacas, lo cual interrumpe un haz de luz captado por foto receptores, luego éstos transforman los impulsos luminosos en impulsos eléctricos. Convertidor de frecuencia a voltaje Los convertidores de frecuencia a voltaje son circuitos integrados que convierten un voltaje de entrada análogo en un tren de pulsos cuya frecuencia de salida es proporcional al nivel de entrada. Se utilizan en aplicaciones de conversión A/D donde la velocidad no es un factor crítico, también operan como convertidores de frecuencia a voltaje y pueden ser utilizados como convertidores de señales digitales a análogas de baja frecuencia. Dentro de los Algunos parámetros importantes de un PWM son:  La relación de amplitudes entre la señal portadora y la moduladora. de una señal o fuente de energía es una técnica en la que se modifica el ciclo de trabajo de una señal periódica. al controlar: un momento alto (encendido o alimentado) y un . La modulación por ancho de pulsos es una técnica utilizada para regular la velocidad de giro de los motores eléctricos de inducción o asíncronos.  La relación de frecuencias. El ciclo de trabajo de una señal periódica es el ancho relativo de su parte positiva en relación con el período. Mantiene el par motor constante y no supone un desaprovechamiento de la energía eléctrica. Expresado matemáticamente: Dónde: D es el ciclo de trabajo.convertidores de señales de voltaje a frecuencia o de frecuencia a voltaje se encuentran: LM2907 de National semiconductor AD650 de Analog Devices VFC32 de Burn Brown XR4151 de Exar Características del PWM El PWM por sus siglas en inglés PULSE-WIDTH MODULATION. T es el período de la función. como su nombre lo indica. cuando se utilizan servomotores hay que tener cuidado en las marcas comerciales ya que hay ocasiones en que los valores varían entre 1ms y 2ms y estos valores propician errores. Sin embargo. Es el tiempo en que la función es positiva (ancho del pulso). siendo recomendable que la última no supere el valor pico de la portadora y esté centrada en el valor medio de ésta. donde en general se recomienda que la relación entre la frecuencia de la portadora y la de señal sea de 10 a 1. Se utiliza tanto en corriente continua como en alterna. ya sea para transmitir información a través de un canal de comunicaciones o para controlar la cantidad de energía que se envía a una carga. o interponen una resistencia eléctrica. lo que se llama modulación por frecuencia de pulsos. Otra forma de regular el giro del motor es variando el tiempo entre pulsos de duración constante.momento bajo (apagado o desconectado). detector de impulsos. con lo que disminuye el par motor. los cuales modifican su posición de acuerdo al ancho del pulso enviado cada un cierto período que depende de cada servo motor. Otros sistemas para regular la velocidad modifican la tensión eléctrica. controlado normalmente por relevadores (baja frecuencia) o MOSFET o tiristores (alta frecuencia). En la actualidad es construido por muchos otros fabricantes. Esta información puede ser enviada utilizando un microprocesador como el Z80. Características de un sensor de humedad Componentes:  Oscilador 555 LM555 El circuito integrado 555 es un circuito integrado de bajo costo y de grandes prestaciones. La modulación por ancho de pulsos también se usa para controlar servomotores. En los motores de corriente alterna también se puede utilizar la variación de frecuencia. Inicialmente fue desarrollado por la firma Signetics. con lo que se pierde energía en forma de calor en esta resistencia. un PIC 16F877A de la empresa Microchip). . etcétera. o un micro controlador (por ejemplo. Entre sus aplicaciones principales cabe destacar las de multivibrador astable (dos estados metaestables) y monoestable (un estado estable y otro metaestable). C  1 LM2907 (CFV)  1 encoder de 8 ranuras  1 optointerruptor de ranura PWM              2 resistencias de 5.9kΩ 1 resistencia de 39kΩ 1 resistencia de 100kΩ 1 resistencia de 56kΩ 3 capacitores de 0.6kΩ 2 resistencias de 10kΩ 2 resistencias de 3.1µF 1 capacitor de 1µF 2 LM741 1 OP07 1 transistor IRF510 1 diodo 1N4001 1 potenciómetro de 10kΩ Sensor de humedad  1 LM555  1 LED  1 potenciómetro de 1MΩ (resistencia de 430kΩ)  1 resistencia de 3.3kΩ  3 resistencia de 10kΩ  1 resistencia de 92kΩ  2 capacitores de 1µF  1 capacitor de 1nF  1 Motor de D.Lista de material Sensor de temperatura  1 LM35  1 resistencia de 10kΩ Sensor de velocidad Convertidor de frecuencia a voltaje  1 resistencia de 3.3kΩ . 1µF 1 LM2907 (CFV) .     3 resistencia de 10kΩ 1 resistencia de 92kΩ 2 capacitores de 1µF 3 capacitores de 0. es decir cuánto más húmedo. proporciona un voltaje equivalente a su salida de la entrada. la resistencia entre las puntas baja. Una vez hecho esto. La parte final es un PWM que controla la velocidad del motor anteriormente ocupado acoplándolo al circuito del encoder que ya se realizo y que en su salida genera una frecuencia y que la salida del encoder le proporciona la entrada al CFV ya también realizado y que finalmente nos entrega un voltaje correspondiente a la frecuencia de entrada. más rápido será la oscilación. Al introducir las puntas de prueba en un ambiente con humedad. . se logra poner a oscilar el LM555. al ocurrir esta disminución en la resistencia. La velocidad de oscilación será proporciona al grado de humedad del material a medir.Desarrollo Explicación básica de los circuitos realizados Temperatura Es un circuito armado con su configuración normal. Humedad Al quedar en el aire las puntas de prueba. se calculan voltajes con el circuito convertidor de frecuencia a voltaje (en su salida correspondiente). que no requiere de otras etapas de acondicionamiento ya que su salida es lineal. esto se hace una vez armado el circuito para el opto interruptor de ranura. el cual convertirá rangos de frecuencia que se ingresaran con el generador de señales (el rango de frecuencias a ingresar dependió de lo calculado de la frecuencia otorgada por el primer circuito). Velocidad Al empezar el circuito se debe de calcular la frecuencia con la que el motor gira (con el máximo voltaje) esto para conocer posteriormente las revoluciones por minuto máximo del motor. se ve una alta resistencia (resistencia del aire). por lo que no logra que el LM555 oscile. 3K D1 LED Fototransistor Q1 2N3390 Encoder A R2 10k B C D +12V Entrada C3 1 1u 11 TACHO- 9 TACHO+ V+ C E OPINOPIN+ GND 12 FLT U1 8 5 10 4 3 Salida 2 CC R3 10k LM2907 C1 1n 150K R1 R2 C2 1u 10k Vo=Vcc*Fin*C1*R1*k .Diagramas eléctricos de los sensores Temperatura Velocidad Convertidor de frecuencia a voltaje +12V R1 3. 1u U3 7 1 4 5 U1 R4 10k 7 1 U2 C2 3 6 2 3 6 2 4 5 2 6 3 Q2 IRF510 1u LM741 7 1 RV1 4 8 LM741 +12 0% OP07 -12 10k R2 5.1u IC=3 -12 R5 3.9k A B C D Humedad .6k C3 0.PWM +12 +12 R3 10k C1 R6 39K +12 R1 0.9k +12 Motor 12 Vdc D1 1N4001 5.6k R7 3. Placas eléctricas de los sensores (traseras) Temperatura Velocidad Convertidor de frecuencia a voltaje PWM . Humedad . Placas eléctricas de los sensores (frontales) Temperatura Velocidad Convertidor de frecuencia a voltaje PWM . Humedad . Pruebas de funcionamiento . siendo solamente necesario configurar este puerto para enviar y recibir información desde y hacia el µC (micro controlador). se aprovechó la característica del sistema de desarrollo que ofrece un puerto serie emulado por USB. así mismo 10 terminales de entrada salida. Así mismo.Especificaciones técnicas de la tarjeta El sistema de adquisición de datos está construido con una tarjeta de desarrollo para la familia de microcontroladores MSP430. pero que pueden ser desconectados y se pueden utilizar como terminales de propósito general. Esta aplicación específica se diseñó con un microcontrolador MSP430G2231. de la que se muestra la disposición de sus componentes en la figura 1. de los cuales están disponibles 2. la tarjeta es la MSP-EXP430G2. éste se diseñó de manera que pueda conectarse a la computadora a través de un puerto serie. de los cuales tiene disponibles 3 (pines libres) en la tarjeta de desarrollo. que permite la compilación. un convertidor A/D de 8 canales. depuración y prueba física de programas para esta familia de micro controladores. el cual es un µC (micro controlador) de 14 pines y ofrece entre otras características. Para lograr esto. . los cuales están conectados en la tarjeta de desarrollo a 2 LED’s. como parte del diseño del sistema. por lo que los voltajes de entrada a la tarjeta.6 (pin 14 del conector J2). Para utilizar esta tarjeta no es necesario tener acceso a las terminales TxD y RxD. los cuales desconectan los LED’s incluidos en la tarjeta y dejan disponibles los pines correspondientes a P1.0 (pin 2 del conector J1) y P1. . analógicos y digitales no pueden exceder de este valor.La salida digital estará disponible si se retiran los “JUMPERS” del peine J5.6 V. La alimentación del sistema de desarrollo se toma del puerto USB (5 V) y al utilizar reguladores (internos) el µC se alimenta con 3. debido a que estas están conectadas internamente en el sistema de desarrollo. .NET Framework. que corre a través de la suite de Visual Studio 2010 de la plataforma de .NET 2010.Interfaz La interfaz fue desarrollada en el lenguaje de programación Visual Basic . Interfaz inicial que permite la espera del dispositivo hasta que el usuario coloque en el puerto USB la tarjeta de adquisición. Cuando el usuario coloca la tarjeta. Le muestra al usuario una confirmación de que el dispositivo está listo para usarse y le indica el puerto en donde el sistema lo coloco. . el programa en su interfaz inicial detecta el puerto serial de manera automática para ser usada la tarjeta en el programa. 1 2 3 La interfaz principal para un solo sensor está conformada por tres partes principales: 1. 2. Barra de progreso (donde se observa el cambio de voltaje que se obtiene de la tarjeta). Etiqueta donde se muestra el dato de variación. Barra de herramientas (parte superior). 3. . La interfaz principal para un sensor de temperatura. . La interfaz principal para un sensor de velocidad. . Permite cambiar el sensor de donde recibimos datos de la tarjeta de adquisición. Selector de sensor. decimal o hexadecimal (los dos últimos. Prenden o apagan los LED’s de la tarjeta. Permite cambiar el formato del dato que se muestra. 2. 3. 1 2 3 4 5 La barra de herramientas está conformada por cinco herramientas: 1. 4. Selector de tipo de datos. . los que se reciben de forma automática de la tarjeta). Cambia entre la forma normal y la compacta del programa.La interfaz principal para un sensor de humedad. puede ser el voltaje. .5. Muestra la ventana típica “Acerca de…” o cierra el programa. EventArgs) Handles MyBase. 9) If num = 1 Then tema = "Azul" End If If num = 2 Then tema = "Amarillo" End If If num = 3 Then tema = "Rosa" End If If num = 4 Then .Código de la interfaz Código para el formulario 1 “Form 1” Public Class Form1 Public tema As String = "Nada" Dim cadena() As String Dim cadenaaux() As String Dim puerto As String = "" Dim idPuerto As String = 0 Dim intervalo As Integer Dim proceso As Integer Private Sub Form1_Load(ByVal sender As System.Next(1.Object.Load Dim tema As String = "Hola" Dim numero As New Random Dim num As New Integer num = numero. ByVal e As System. Computer.Text = "Esperando respuesta del dispositivo" Timer1.Computer.Ports.Start() End Sub Public Sub barraestado(ByVal intervalo As Integer.proceso = proceso ProgressBar1.intervalo = intervalo Me.tema = tema cadena = My.gif" PictureBox2.Visible = True Label2.Tick cadenaaux = Nothing cadenaaux = My.Minimum = 0 ProgressBar1.Interval = 1000 Timer1.Enabled = True Timer1.Ports.Object.ImageLocation = Application.ToArray .SerialPortNames.Start() End Sub Public Sub puertodetectado(ByVal x As Integer) puerto = cadenaaux(x) idPuerto = x PictureBox1.EventArgs) Handles Timer1.tema = "Morado" End If If num = 5 Then tema = "Rojo" End If If num = 6 Then tema = "Verde" End If If num = 7 Then tema = "Cafe" End If If num = 8 Then tema = "Negro" End If Me.ToArray() PictureBox1.Visible = False Label2.Enabled = True Timer2.Visible = True ProgressBar1.Visible = False Label1.StartupPath + "\principal" + tema + ".jpg" PictureBox1.Visible = True Label2.Interval = 1000 Timer2. ByVal e As System.StartupPath + "\cargando. 1) End Sub Private Sub Timer1_Tick(ByVal sender As System.Visible = True ProgressBar1. ByVal proceso As Integer) Me.ImageLocation = Application.SerialPortNames.Maximum = intervalo Timer2.Text = "Configurando dispositivo y abriendo el puerto" barraestado(3. Value = 0 ProgressBar1.Stop() ProgressBar1.Show() Form2. configurado y listo para usarse".Stop() puertodetectado(x) Exit While End Try End While End If End Sub Private Sub Timer2_Tick(ByVal sender As System. MessageBoxButtons. ByVal e As System.Length > cadena.1 Try If cadena(x) <> cadenaaux(x) Then Timer1.Length Then x = 0 While x <= cadenaaux. "Puerto detectado.Enabled = False If proceso = 1 Then Me.Information) Form2.ponerdatos(puerto.Maximum = 0 Timer2.Object.Dim x As Integer = 0 If cadenaaux.Hide() MessageBox.Value += 1 Catch exc As Exception End Try End Sub End Class Código para el formulario 2 “Form 2” . MessageBoxIcon.Show("Dispositivo configurado en el puerto " + puerto.Tick If ProgressBar1.EventArgs) Handles Timer2.Stop() puertodetectado(x) Exit While End If x = x + 1 Catch ex As Exception Timer1.Minimum = 0 ProgressBar1.Length .OK. tema) End If End If Try ProgressBar1.Value = intervalo Then Timer2. idPuerto. SelectedIndex = Convert.0 Dim voltaje2 As Double = 0.ImageIndex = 3 Me.ToInt32(canalEntrada) Me.ToolStripButton3.ToolStrip1.ToolStripComboBox2.EventArgs) Handles MyBase.Object.Load Me.ModoToolStripMenuItem.ToolStripButton2.Permissions Public Class Form2 Public puerto As String Public id As Integer Public abierto As Integer Public ledred As Integer = 0 Public ledverde As Integer = 0 Public datosPuerto As String Public datosDecimal As String Public datoVoltaje As Double Public canalEntrada As String = "0" Public tema As String = "Nada" Dim voltaje1 As Double = 0.ImageIndex = 5 Me.ImageIndex = 0 Me.ToolStripButton1.Checked = False .ImageIndex = 4 Me.ToolStripButton4.ToolStripButton2.Security.ToolStripComboBox1.Imports System.ImageList = Me.ToolStripButton1.ImageList1 Me.ToolTipText = "Prender el LED Verde" Me.Text = "Modo compacto" Me. ByVal e As System.ToolTipText = "Prender el LED Rojo" Me.ModoToolStripMenuItem.ImageIndex = 0 Me.ToolStripSplitButton1.SelectedIndex = 2 formato = 2 Me.0 Dim etiquetaVoltaje As String Dim formato As Integer Dim botoncerrar As Boolean = False Private Sub Form2_Load(ByVal sender As System. Parent = PictureBox1 PictureBox4.Text = "" Label2.CancelEventArgs) Handles MyBase.Parent = PictureBox1 Label1.Message) Const WM_SYSCOMMAND As Integer = &H112 Const SC_CLOSE As Integer = &HF060 Select Case m.Maximum = 3600 ProgressBar2.jpg" Detectar_Estado() .Maximum = 3000 ProgressBar3.Demand.ToInt32 = SC_CLOSE Then botoncerrar = True End If End Select MyBase. ByVal id As Integer.StartupPath + "\principal" + tema + ". Name:="FullTrust")> _ Protected Overrides Sub WndProc(ByRef m As System.ico" StatusStrip1.Visible = False Label1.puerto = puerto Me.Text = "" Label3.ImageLocation = Application.Parent = PictureBox1 Label3.Cancel = True End End If End Sub <PermissionSetAttribute(SecurityAction.StartupPath + "\sensor1.tema = tema Me.Minimum = 0 ProgressBar2.id = id PictureBox1.Maximum = 3000 ProgressBar1. ByVal tema As String) Me.ImageLocation = Application.8" ToolStripProgressBar1.Closing If botoncerrar Then e.ComponentModel.Text = "" etiquetaVoltaje = "0.WParam.Parent = PictureBox1 PictureBox2.Minimum = 0 ToolStripProgressBar1.Msg Case WM_SYSCOMMAND If m.Windows.Minimum = 0 ProgressBar1. ByVal e As System.Minimum = 0 ProgressBar3.WndProc(m) End Sub Public Sub ponerdatos(ByVal puerto As String.Maximum = 3000 End Sub Private Sub Principal_Closing(ByVal sender As Object.PictureBox2.Forms.Parent = PictureBox1 Label2.Parent = PictureBox1 PictureBox3. BaudRate = 9600 SerialPort1.Click If ledred = 0 Then SerialPort1.ReadByte() conversion = Hex(Val(aux)).Close() End End Sub Private Sub ToolStripButton1_Click(ByVal sender As System. Necesita cerrar el programa en uso y volver a ejecutar el programa.ImageIndex = 0 Me.Parity. MessageBoxButtons. MessageBoxIcon.".Ports.ToolStripButton1.EventArgs) Handles ToolStripButton4.Information) End End Try Configurar_Puerto() End Sub Public Sub Configurar_Puerto() SerialPort1.Show("Esta siendo usado el dispositivo por otro programa.Click SerialPort1.ToolTipText = "Apagar el LED Rojo" Else SerialPort1.End Sub Public Sub Detectar_Estado() Try SerialPort1 = My. ByVal e As System.ImageIndex = 1 Me.DataReceived Dim aux As String Dim conversion As String aux = SerialPort1.ToolTipText = "Prender el LED Rojo" End If End Sub .EventArgs) Handles ToolStripButton1.ToolStripButton1.OpenSerialPort(My.Enabled = True Timer1.Ports.WriteLine("4") ledred = 0 Me.Ports.SerialPortNames(id)) Timer1.OK.Computer.Parity = IO.Ports.WriteLine("3") ledred = 1 Me.None SerialPort1.ToString datosPuerto = datosPuerto + conversion End Sub Private Sub ToolStripButton4_Click(ByVal sender As System. ByVal e As System.One End Sub Private Sub SerialPort1_DataReceived(ByVal sender As Object.StopBits.DataBits = 8 SerialPort1.StopBits = IO.Interval = 100 Timer1.ToolStripButton1.ToolStripButton1.IO.Start() Catch ex As Exception MessageBox. ByVal e As System.Computer.Object.Ports.Object. "Estado del puerto".SerialDataReceivedEventArgs) Handles SerialPort1. SelectedIndexChanged If ToolStripComboBox2.Click If ledverde = 0 Then SerialPort1.SelectedIndexChanged If ToolStripComboBox1.SelectedIndex = 2 Then canalEntrada = "2" activar_uno(canalEntrada) End If If ToolStripComboBox1.Private Sub ToolStripButton2_Click(ByVal sender As System. ByVal e As System.Click Form3. ByVal e As System.EventArgs) Handles ToolStripComboBox1.ToolTipText = "Prender el LED Verde" End If End Sub Private Sub ToolStripComboBox1_SelectedIndexChanged(ByVal sender As Object.EventArgs) Handles ToolStripButton3.Text = "Voltaje" Then formato = "2" End If End Sub Private Sub ToolStripButton3_Click(ByVal sender As System. ByVal e As System.Text = "Hexadecimal" Then formato = "0" End If If ToolStripComboBox2.ToolStripButton2.ImageIndex = 0 Me.SelectedIndex = 0 Then canalEntrada = "0" activar_uno(canalEntrada) End If If ToolStripComboBox1.ToolStripButton2.ponerdatos(tema) End Sub . ByVal e As System.Show() Form3.ToolTipText = "Apagar el LED Verde" Else SerialPort1.EventArgs) Handles ToolStripComboBox2.Object.WriteLine("5") ledverde = 1 Me.Text = "Decimal" Then formato = "1" End If If ToolStripComboBox2.SelectedIndex = 1 Then canalEntrada = "1" activar_uno(canalEntrada) End If If ToolStripComboBox1.WriteLine("6") ledverde = 0 Me.ToolStripButton2.EventArgs) Handles ToolStripButton2.ImageIndex = 2 Me.ToolStripButton2.Object.SelectedIndex = 3 Then activar_todos() End If End Sub Private Sub ToolStripComboBox2_SelectedIndexChanged(ByVal sender As Object. Enabled = False Timer4.Object.Visible = True ToolStripSplitButton1.Enabled = True 'Timer3.Checked = False Me.Height = 600 End If End Sub Private Sub activar_uno(sensor As String) Timer1. ByVal e As System.Enabled = True Timer4.Enabled = False .Visible = True Me.Visible = True ProgressBar3.Checked = True StatusStrip1.Visible = True Label1.Visible = False PictureBox3.Enabled = False Timer3.Enabled = True PictureBox2.Visible = False Label1.Enabled = True Timer3.Visible = False ProgressBar2.Visible = True Label3.Enabled = False Timer2.Private Sub ModoToolStripMenuItem_Click(ByVal sender As System.Visible = False ProgressBar1.Visible = True PictureBox4.Enabled = True StatusStrip1.Checked = False Then ModoToolStripMenuItem.EventArgs) Handles ModoToolStripMenuItem.Visible = True Label3.Visible = True PictureBox4.Visible = True PictureBox3.Height = 85 Else ModoToolStripMenuItem.Height = 600 PictureBox3.Visible = True Label2.Enabled = False PictureBox2.ImageLocation = Application.Click If ModoToolStripMenuItem.Visible = False ToolStripSplitButton1.StartupPath + "\sensor" + sensor + ".Enabled = True Timer2.Checked = False StatusStrip1.Visible = True ProgressBar3.Visible = True ProgressBar1.ico" End Sub Private Sub activar_todos() Timer1.Visible = False ModoToolStripMenuItem.Visible = False Me.Visible = True ProgressBar2.Visible = False Label2.Enabled = True 'Timer4. 16) datoVoltaje = (Convert.Items.Text = hi.Value = barra End If End If End If .Text = datosPuerto End If If formato = 1 Then Label2.Items.ToDouble(datoVoltaje) If formato = 2 Then Dim hi As Double = Convert.ico" PictureBox4.Height = 600 PictureBox2.ToDouble(datosDecimal) * 3.Visible = False ModoToolStripMenuItem.##0.ToDouble(voltajeAuxiliar.6 .EventArgs) Handles Timer1.Text = datosDecimal End If If datoVoltaje > 3 And datoVoltaje < 0 Then datoVoltaje = 0 Else Dim voltajeAuxiliar As String = etiquetaVoltaje voltaje2 = Convert.ToString) voltaje1 = datoVoltaje Dim x As Double x = datoVoltaje 'x = 3.Text = datosPuerto StatusStrip1.6) / 1024 If datoVoltaje > 0 Then If formato = 0 Then Label2. "##.Tick If canalEntrada <> 4 Then canalEntrada = Hex(Val(canalEntrada)).ToInt32(Convert.ToDouble(x.ToDouble(x.ico" End Sub Private Sub Timer1_Tick(ByVal sender As System.Item(0).Item(0).StatusStrip1.Write(canalEntrada) datosDecimal = Convert.Object.ToString SerialPort1.ToInt32(datosPuerto.ToString) * 1000) If barra < 3000 And barra > 0 Then ProgressBar2.ico" PictureBox3.ImageLocation = Application.Value = barra ToolStripProgressBar1.StartupPath + "\sensor2.ToString("##.Text = datosDecimal StatusStrip1.00") + " V" End If Dim barra As Double barra = Convert.ImageLocation = Application.00") Label2.##0.ToString) Format(hi. ByVal e As System.Items.Text = hi.Checked = False Me.Item(0).00") + " V" StatusStrip1.##0.StartupPath + "\sensor0.StartupPath + "\sensor1.ImageLocation = Application.ToString("##.Convert. ToString SerialPort1.Text = datosDecimal End If If datoVoltaje > 3.ToDouble(datoVoltaje) If formato = 2 Then Dim hi As Double = Convert.ToString("##.00") + " V" StatusStrip1.EventArgs) Handles Timer2.Convert.ToString("##.ToString) voltaje1 = datoVoltaje Dim x As Double x = datoVoltaje 'x = 3.Value = barra End If End If End If datosPuerto = Nothing End Sub .Tick canalEntrada = Hex(Val("0")).ToString) Format(hi.##0.00") + " V" End If Dim barra As Double Try barra = Convert.##0.ToDouble(datosDecimal) * 3.Items.Items.Item(0).Item(0).Item(0).ToInt32(datosPuerto.6 .8 Then datoVoltaje = 0 Else Dim voltajeAuxiliar As String = etiquetaVoltaje voltaje2 = Convert.Text = hi. e As System.ToDouble(x.ToDouble(x. 16) datoVoltaje = (Convert.ToString) * 1000) Catch ex As Exception barra = 0 End Try If barra < 3000 And barra > 0 Then ProgressBar1.00") Label1.Text = datosPuerto End If If formato = 1 Then Label1.Text = datosDecimal StatusStrip1.ToDouble(voltajeAuxiliar.##0.Write(canalEntrada) datosDecimal = Convert.ToInt32(Convert.6) / 1024 If datoVoltaje > 0 Then If formato = 0 Then Label1.Text = hi.Object.6 And datoVoltaje < 0.Text = datosPuerto StatusStrip1. "##.datosPuerto = Nothing End If End Sub Private Sub Timer2_Tick(sender As System.Items. ToDouble(voltajeAuxiliar.ToString("##.Text = hi.ToString) voltaje1 = datoVoltaje Dim x As Double x = 3 .Value = barra End If End If End If datosPuerto = Nothing End Sub Private Sub Timer4_Tick(sender As System.ToDouble(datosDecimal) * 3. "##.Text = hi. 16) .ToString SerialPort1.Items.Tick canalEntrada = Hex(Val("1")).Convert.Object.##0.Object.ToDouble(datoVoltaje) If formato = 2 Then Dim hi As Double = Convert.Write(canalEntrada) datosDecimal = Convert.ToInt32(datosPuerto.8 Then datoVoltaje = 0 Else Dim voltajeAuxiliar As String = etiquetaVoltaje voltaje2 = Convert.00") + " V" End If Dim barra As Double Try barra = Convert.Tick canalEntrada = Hex(Val("2")).ToString("##.Text = datosDecimal StatusStrip1.ToInt32(datosPuerto.ToString) Format(hi.Text = datosDecimal End If If datoVoltaje > 3 And datoVoltaje < 0.Item(0).00") + " V" StatusStrip1.Item(0).Private Sub Timer3_Tick(sender As System.Items.EventArgs) Handles Timer3.6) / 1024 If datoVoltaje > 0 Then If formato = 0 Then Label2.Text = datosPuerto StatusStrip1. e As System.##0.Text = datosPuerto End If If formato = 1 Then Label2.ToInt32(Convert.Items.00") Label2.##0.ToDouble(x. 16) datoVoltaje = (Convert.ToString SerialPort1.ToDouble(x.ToString) * 1000) Catch ex As Exception barra = 0 End Try If barra < 3000 And barra > 0 Then ProgressBar2.EventArgs) Handles Timer4.Item(0). e As System.Write(canalEntrada) datosDecimal = Convert. ToDouble(datosDecimal) * 3.Value = barra End If End If End If datosPuerto = Nothing End Sub End Class .ToString) * 1000) Catch ex As Exception barra = 0 End Try If barra < 3000 And barra > 0 Then ProgressBar3.ToString("##.Text = datosDecimal End If If datoVoltaje > 3 And datoVoltaje < 0 Then datoVoltaje = 0 Else Dim voltajeAuxiliar As String = etiquetaVoltaje voltaje2 = Convert.Text = datosDecimal StatusStrip1.6) / 1024 If datoVoltaje > 0 Then If formato = 0 Then Label3.##0.Text = datosPuerto End If If formato = 1 Then Label3.ToString("##.Item(0).Items.Text = hi.ToString) voltaje1 = datoVoltaje Dim x As Double x = datoVoltaje If formato = 2 Then Dim hi As Double = Convert. "##.ToInt32(Convert.datoVoltaje = (Convert.ToDouble(voltajeAuxiliar.00") Label3.Items.Text = hi.##0.ToDouble(x.Items.ToDouble(x.00") + " V" StatusStrip1.00") + " V" End If Dim barra As Double Try barra = Convert.Item(0).Text = datosPuerto StatusStrip1.Item(0).##0.ToString) Format(hi. StartupPath + "\unidad.Parent = PictureBox2 End Sub Public Sub ponerdatos(tema As String) PictureBox2.Código para el formulario 3 “Form 3” Public Class Form3 Private Sub Form3_Load(ByVal sender As System.ImageLocation = Application.Parent = PictureBox2 PictureBox1.jpg" End Sub End Class .gif" PictureBox3.Parent = PictureBox2 Label5.Parent = PictureBox2 PictureBox3.EventArgs) Handles MyBase.StartupPath + "\principal" + tema + ".Parent = PictureBox2 Label7.Load PictureBox1.Parent = PictureBox2 Label3.png" Label1.StartupPath + "\ipn.Parent = PictureBox2 Label6.Object.Parent = PictureBox2 Label2.ImageLocation = Application.ImageLocation = Application.Parent = PictureBox2 Label4. ByVal e As System. mostrar.  Al conectar todos los sensores. ya que pueden ser usados en muchos campos aplicados. Arquitectura. esto podría ayudar para mantener una temperatura en un invernadero. para poder controlar el grado de humedad óptimo. pero a la hora de mostrar los datos de los 3 sensores. Algunos ejemplos son:  La temperatura en un cuarto..  Detectar la velocidad de un motor. en una casa.  El grado de humedad que tienen una muestra de tierra o cualquier otra materia. por ejemplo. como en Biología. que me permitió el aprendizaje del acondicionamiento de sensores además del desarrollo del tema de adquisición de datos. etc. pueden alterar a los demás puertos que meten ruido adicional.Conclusiones Flores Domínguez Adrián Los sistemas de adquisición de datos son fundamentales a la hora de querer procesar. etc. Cuando se mostraba solo los datos de un sensor estos eran mostrados correctamente. datos en computadoras o en sistemas digitales. analizar. etc. no se lograba mostrar los datos correctamente. La dificultad para procesar esto datos depende mucho del lenguaje de programación. Las complicaciones que se pudieron observar. son:  El programa del micro puede alterar la adquisición de datos.  Errores al adquirir los datos en conjunto. activando un ventilador y controlando la velocidad de este. Medicina. que permitía desplegar el valor de voltaje a la salida de tres sensores por medio de una interfaz grafica que se conectaba a un emulador de puerto serial a la tarjeta de . García Martínez Luis Alberto Este proyecto me pareció demasiado interesante desde el aspecto del manejo de sensores. este sistema junto con el de temperatura podría controlar la temperatura de una habitación. en el caso de la tierra esto podría ayudar en cultivos hidropónicos. así como de las herramientas que nos brindan el lenguaje y la sencillez de estas. puesto que es muy diferente como es el proceso de cómo obtener los datos de un puesto USB. le quiero agradecer por compartirnos sus conocimientos y enseñarnos todo lo que hemos aprendido a lo largo de este semestre. por lo que los diagramas eléctricos no significo ningún problema. Ortiz González Jorge Erik Este proyecto fue muy interesante y un tanto estresante.adquisición. El reto en el software fue que obtuviera los tres valores de voltaje en la tarjeta lo cual significaba tiempo de ejecución costoso y errores por sobrecarga de valores. se procedió a probarlas y confirmar que su salida no daba más de 3 V. Para concluir. el cual procesaba la frecuencia de entrada de los circuitos generadores de señales periódicas. Antes que nada. realizamos las placas con los circuitos ya realizados en las prácticas anteriores. como fuese el ruido en el sensor de velocidad y en el de humedad. para poder llevar a cabo este proyecto. ya que convertíamos un voltaje de entrada en una señal digital y luego esa señal digital se procesaba para poder mostrar en el programa el valor que se adquirió por medio de la tarjeta de adquisición de datos. . Finalmente se colocaron en la tarjeta y se observo el dato. Una vez terminadas las placas. solamente por el sensor de humedad que se tuvo que investigar el diagrama y su funcionamiento. esto debido a posiblemente algunos factores que se producen en el laboratorio con la temperatura y la h humedad del lugar. ya que estos utilizaban un convertidor de frecuencia a voltaje. Fue muy ilustrativo el desarrollo de las interfaces. y que no podíamos controlar del todo. sin embargo se pudo resolver al final. ya que en algunas ocasiones no se obtenían los valores deseado en los sensores que acondicionamos. en la cual se acoplaba un señal de ruido que modificaba la frecuencia de estos circuitos y no se podía obtener el valor deseado.
Copyright © 2024 DOKUMEN.SITE Inc.