CONTROL INDUSTRIAL II
PRACTICA #1
CONTROL POR EVENTOS DE UN ACENSOR EN VISUAL BASIC
OBJETIVOS
• Realizar el control por eventos de un sistema
(en este caso un ascensor) mediante la utilización de un motor D.C.
• Aplicar los conocimientos adquiridos durante
las exposiciones, para que por medio del P.C. podamos implementar de una forma
simple el control por eventos de un motor D.C.
• Realizar el control por eventos de un motor
D.C. para que pueda funcionar en un ascensor lo mas real posible, implementando
un sistema electromecanico para controlar el movimiento del ascensor así como
también el proceso de abrir y cerrar las puertas del mismo.
• Comprender e implementar las conexiones necesarias para el control de
giro de un motor D.C.
PLANTEAMIENTO DEL PROBLEMA
Se desea realizar la implementación de un
ascensor de 4 pisos, para que pueda funcionar lo mas cercano posible a un
ascensor real. Se pretende controlar el giro de 3 motores D.C., uno de los
cuales realizara el proceso de subir y bajar el ascensor y los otros dos
se encargaran de abrir y cerrar las puertas del mismo.
Así como
el giro se pretende controlar el proceso de arranque y parada de dichos
motores, según sea programado por los usuarios.
MARCO TEORICO
PUENTE H
• Para realizar el control de giro de los motores D.C. utilizados fue
necesaria la implementación de dos C.I. LB1649 los cuales constan de dos
puente H cada uno, del cual se muestran a continuación sus
características físicas, diagrama circuital, conexiones y tabla
lógica respectivamente:Características Físicas:
Diagrama Circuital:
Conexiones:
Tabla lógica:
OPTOACOPLADORES
También se denominan optoaisladores o dispositivos de acoplamiento
óptico. Basan su funcionamiento en el empleo de un
haz de radiación luminosa para pasar señales de un circuito a
otro sin conexión eléctrica.
Fundamentalmente este dispositivo esta formado
por una fuente emisora de luz, y un fotosensor de silicio, que se adapta a la
sensibilidad espectral del
emisor luminoso.
TIPOS
Existen varios tipos de optoacopladores cuya diferencia entre sí depende
de los dispositivos de salida que se inserten en el componente.
Según esto tenemos los siguientes tipos:
p|Fototransistor: o lineal, conmuta una
variación de corriente de entrada en una variación de
tensión de salida. Se utiliza en |
|ic|acoplamientos de líneas telefónicas, periféricos,
audio |
|]
p|Optotiristor: Diseñado para aplicaciones
donde sea preciso un aislamiento entre una señal lógica y la red.
|
|ic
|]
p|Optotriac: Al igual que el optotiristor, se
utiliza para aislar una circuiteria de baja tensión a la red. ||ic
|]
En general pueden sustituir a relés ya que tienen una velocidad de
conmutación mayor, así como, la ausencia de rebotes.
[pic]
Símbolo de un optotransistor de encapsulado ranurado
MATERIALES Y HERRAMIENTAS
• Computador (Con VisualBasic instalado)
• 4 Optoacopladores
• 3 Motores D.C.
• 1 Fuente D.C. Dual
• 1 Multimetro Digital
• 1 C.I. 7414
• 2 C.I. LB1649
• 1 Cable para el puerto paralelo
• 1 Conector DB 25 Hembra
• Maqueta del ascensor
• Pinzas
• Corta frío
DESARROLLO DE LA PRACTICA
• Lo primero que realizamos en el desarrollo del laboratorio fue la
implementación de la maqueta y su posterior perfección, esto con
el fin de disminuir en un maximo los errores mecanicos se
pudieran presentar durante la implementación del ascensor, la maqueta
implementada fue mas o menos como se observa en la siguiente figura:
• Una vez se tenia la maqueta funcionando de forma adecuada procedimos a
realizar la implementación del hardware de nuestro sistema el cual
constaba de:
o 4 optoacopladores (uno en cada piso) los cuales nos servían para
indicarnos el piso en el que se encontraba el ascensor, los cuales eran la
entrada a un C.I 7414 (smith) que se encargaba de entregar al P.C. las
señales procedentes de los optoacopladores libres de errores.
o 2 C.I. LB1649 de los cuales solousabamos 3
puente H, uno para la movimiento vertical del ascensor y los otros dos para el control
de abrir y cerrar las puertas.
o Por ultimo las salidas de los Smith así como las entradas de los puente H iban al conector DB 25
hembra que a su vez se comunicaba con el puerto paralelo del computador.
• Al verificar que el ascensor funcionaba correctamente utilizando un
control manual para el mismo, procedimos a realizar la programación en
Visual Basic del control del ascensor, para tal efecto utilizamos la
librería IO.dll (la cual fue programada en C) para la utilización
del puerto paralelo del cual utilizamos el registro de datos para el control de
los puente H y el registro de status para saber el piso en el que nos
encontrabamos, el código del programa fue el siguiente:
Const reg_datos = 888
Const subida = 1
Const bajada = 2
Const parada = 0
Const abrir = 4
Const cerrar = 8
Dim uno As Byte
Dim dos As Byte
Dim tres As Byte
Dim cuatro As Byte
Dim PisoElegido As Byte
Private Sub Command5_Click()
Call PortOut(reg_datos, parada)
End
End Sub
Private Sub Form_Load()
PisoElegido = 120
ubicacion
End Sub
Private Sub ubicacion()
PisoActual = PortIn(reg_datos + 1)
PisoActual = PisoActual And 120
If PisoActual = PisoElegido Then
Timer3.Interval = 10
Else
Call Indicacion_piso
apertura
End If
End Sub
Private Sub Indicacion_piso()
Select Case PisoActual
Case 112
Option1.Value = True
Option1.BackColor = &H80FF&
Option1.FontSize = 14
Option2.BackColor = &H8000000F
Option2.FontSize = 8
Option3.BackColor = &H8000000F
Option3.FontSize = 8
Option4.BackColor = &H8000000FOption4.FontSize = 8
Case 104
Option2.Value = True
Option2.BackColor = &H80FF&
Option2.FontSize = 14
Option1.BackColor = &H8000000F
Option1.FontSize = 8
Option3.BackColor = &H8000000F
Option3.FontSize = 8
Option4.BackColor = &H8000000F
Option4.FontSize = 8
Case 88
Option3.Value = True
Option3.BackColor = &H80FF&
Option3.FontSize = 14
Option2.BackColor = &H8000000F
Option2.FontSize = 8
Option1.BackColor = &H8000000F
Option1.FontSize = 8
Option4.BackColor = &H8000000F
Option4.FontSize = 8
Case 56
Option4.Value = True
Option4.BackColor = &H80FF&
Option4.FontSize = 14
Option2.BackColor = &H8000000F
Option2.FontSize = 8
Option3.BackColor = &H8000000F
Option3.FontSize = 8
Option1.BackColor = &H8000000F
Option1.FontSize = 8
End Select
End Sub
Private Sub Timer3_Timer()
PisoActual = PortIn(reg_datos + 1)
PisoActual = PisoActual And 120
Indicacion_piso
If PisoActual PisoElegido Then
Timer3.Interval = 0
Call PortOut(reg_datos, parada)
apertura
Else
Call PortOut(reg_datos, subida)
End If
End Sub
Private Sub apertura()
Call PortOut(reg_datos, abrir)
Timer1.Interval = 300
Timer2.Interval = 5000
End Sub
Private Sub Timer1_Timer()
Call PortOut(reg_datos, parar)
Timer1.Interval = 0
If Timer2.Interval = 0 Then
Timer4.Interval = 100
End If
End Sub
Private Sub Timer2_Timer()
Call PortOut(reg_datos, cerrar)
Timer2.Interval = 0
Timer1.Interval = 300
End Sub
Private Sub Timer4_Timer()
If dos = 104 Then
If PisoActual > dos Then
Call PortOut(reg_datos, subida)
Else
Call PortOut(reg_datos, bajada)
End If
Timer4.Interval = 0
PisoElegido =dos
ubicacion2
End If
If tres = 88 Then
If PisoActual > tres Then
Call PortOut(reg_datos, subida)
Else
Call PortOut(reg_datos, bajada)
End If
Timer4.Interval = 0
PisoElegido = tres
ubicacion2
End If
If uno = 112 Then
If PisoActual > uno Then
Call PortOut(reg_datos, subida)
Else
Call PortOut(reg_datos, bajada)
End If
Timer4.Interval = 0
PisoElegido = uno
ubicacion2
End If
If cuatro = 56 Then
If PisoActual > cuatro Then
Call PortOut(reg_datos, subida)
Else
Call PortOut(reg_datos, bajada)
End If
Timer4.Interval = 0
PisoElegido = cuatro
ubicacion2
End If
End Sub
Private Sub ubicacion2()
PisoActual = PortIn(reg_datos + 1)
PisoActual = PisoActual And 120
If PisoActual PisoElegido Then
Timer5.Interval = 10
Else
Call Indicacion_piso
End If
End Sub
Private Sub Timer5_Timer()
PisoActual = PortIn(reg_datos + 1)
PisoActual = PisoActual And 120
Indicacion_piso
If PisoActual = PisoElegido Then
Timer5.Interval = 0
desactivacion
Call PortOut(reg_datos, parada)
apertura
End If
End Sub
Private Sub desactivacion()
Select Case PisoActual
Case 112
Command1.BackColor = &HC0FFC0
uno = 0
Case 104
Command2.BackColor = &HC0FFC0
dos = 0
Case 88
Command3.BackColor = &HC0FFC0
tres = 0
Case 56
Command4.BackColor = &HC0FFC0
cuatro = 0
End Select
End Sub
Private Sub Command1_Click()
If PisoActual 112 Then
Command1.BackColor = &HFF&
uno = 112
End If
End Sub
Private Sub Command2_Click()If PisoActual 104 Then
Command2.BackColor = &HFF&
dos = 104
End If
End Sub
Private Sub Command3_Click()
If PisoActual 88 Then
Command3.BackColor = &HFF&
tres = 88
End If
End Sub
Private Sub Command4_Click()
If PisoActual 56 Then
Command4.BackColor = &HFF&
cuatro = 56
End If
End Sub
La interfase grafica implementada para el control del ascensor fue la
siguiente:
En la cual se presentaba el piso en el que se encontraba el ascensor en
determinado momento (piso actual), se tenia la posibilidad de seleccionar el
piso al que se deseaba ir (selección de piso) y por último y
botón utilizado para cerrar la aplicación.
CONCLUSIONES
• Realizamos el control por eventos de los tres motores D.C., uno para
controlar el movimiento vertical del
ascensor y los otros dos para controlar el abrir y cerrar las puertas del mismo.
• Visual Basic es un software muy potente para realizar diferente tipos
de aplicaciones en el control de sistemas, una de sus propiedades mas
importantes para tales efectos son los timer que me permites ejecutar una
determinada función transcurrido un tiempo, gracias a ellos pudimos
controlar sin ningún problema el proceso de abrir y cerrar las puertas.
• El manejo del puerto paralelo con Visual Basic es muy sencillo y a las
vez de gran utilidad ya que es una herramienta que me permite tener el control
de diferentes sistemas y ademas el puerto paralelo casi todos los pc`s
lo tienen.
• Realizar el control de giro de un motor D.C.
utilizando un puente H es una labor muy sencilla y de gran utilidad en sistemas
en los que se requiera la inversión de giro de un motor.