UNIVERSIDAD POLITÉCNICA SALESIANA FACULTAD DE CIENCIAS TÉCNICAS
ESCUELA DE INGENIERIA ELECTRICA ____________________________________________________________________
64
CAPITULO IV:
4.1 DIAGRAMA DEL CIRCUITO DEL MODULO DE CONTROL:
El diagrama detallado del circuito del modulo de control se lo realizo en el programa
PROTEUS 6 PROFESIONAL ISIS.
Ver figura 28.
4.2 DESARROLLO DEL CIRCUITO IMPRESO:
Para la realización del circuito impreso del modulo de control lo realizamos en el
programa PROTEUS 6 PROFESIONAL ARES.
Según recomendaciones de fabricantes es útil realizar pistas de mayor calibre y
pequeños planos en los pines de conexión de polarización, si es el caso para cada
integrado.
Ver figura 29.
4.3 ELEMENTOS UTILIZADOS PARA EL MODULO DE CONTROL:
Cantidad: Referencias Valor
5 R1, R3, R4, R7, R8 10k
4 R2, R6, R9, R10 330R
1 R5 4k7
1 R11 470K
3 R14-R16 1K
1 R19 10R
Cantidad: Referencias Valor
9 C1-C4, C7, C8, C12, C13, C19 10u
5 C5, C6, C15, C16, C18 100n
Cantidad: Referencias Valor
UNIVERSIDAD POLITÉCNICA SALESIANA FACULTAD DE CIENCIAS TÉCNICAS
ESCUELA DE INGENIERIA ELECTRICA ____________________________________________________________________
65
1 U1 ATMEGA88
1 U2 MAX232
1 U4 7805
1 U10 DS1307
Cantidad: Referencias Valor
2 Q1, Q2 TIP122
Cantidad: Referencias Valor
2 D1, D2 1N4007
6 D3, D4, D6-D8, D13 LED-RED
Cantidad: Referencias Valor
1 BATT1 BATT
1 J1 CONN-D9F
1 J3 VENT HUMEDAD
1 J4 VENT TEMPE
1 J5 SENSOR SHT15
1 J6 TRANSFORMADOR
1 J7 HUMEDAD
1 J9 TEMPERATURA
1 LCD1 LCD 16x2
1 X1 CRYSTAL
Tabla 20. Elementos utilizados para el modulo de control
4.4 DESCRIPCIÓN DE LA PROGRAMACIÓN DEL
MICROCONTROLADOR ATMEGA88
La programación del microcontrolador ATMEGA88 se lo realizo en el programa
BASCOM-AVR.
UNIVERSIDAD POLITÉCNICA SALESIANA FACULTAD DE CIENCIAS TÉCNICAS
ESCUELA DE INGENIERIA ELECTRICA ____________________________________________________________________
66
4.4.1. BASCOM AVR
El BASCOM-AVR© es un compilador de BASIC para la familia AVR de ATMEL,
desarrollado por la empresa Holandesa MCS Electronic para programar los
microcontroladores AVR de la empresa ATMEL. Los cuales son de tecnología
RISC. El programa BASCOM AVR tiene el objetivo de realizar sus proyectos de
microcontroladores en un menor tiempo posible con lo cual utiliza la herramienta
Basic por su fácil entendimiento y aplicación.
PROGRAMADOR DEL BASCOM AVR
Figura 31. Programador del Bascom AVR
Fuente: BASCOM-AVR DEMO
UNIVERSIDAD POLITÉCNICA SALESIANA FACULTAD DE CIENCIAS TÉCNICAS
ESCUELA DE INGENIERIA ELECTRICA ____________________________________________________________________
67
FIGURA 28. CIRCUITO DETALLADO DEL MODULO DE CONTROL
UNIVERSIDAD POLITÉCNICA SALESIANA FACULTAD DE CIENCIAS TÉCNICAS
ESCUELA DE INGENIERIA ELECTRICA ____________________________________________________________________
68
FIGURA 29. CIRCUITO IMPRESO DEL MODULO DE CONTROL
UNIVERSIDAD POLITÉCNICA SALESIANA FACULTAD DE CIENCIAS TÉCNICAS
ESCUELA DE INGENIERIA ELECTRICA ____________________________________________________________________
69
FIGURA 30. CIRCUITO IMPRESO DEL MODULO DE CONTROL CON
SUS RESPECTIVOS ELEMENTOS
UNIVERSIDAD POLITÉCNICA SALESIANA FACULTAD DE CIENCIAS TÉCNICAS
ESCUELA DE INGENIERIA ELECTRICA ____________________________________________________________________
70
4.4.2. FLUJO GRAMA DE LA PROGRAMACIÓN DEL ATMEGA88
UNIVERSIDAD POLITÉCNICA SALESIANA FACULTAD DE CIENCIAS TÉCNICAS
ESCUELA DE INGENIERIA ELECTRICA ____________________________________________________________________
71
4.4.3. PROGRAMACIÓN
-----------------------------------------------------------------------
CONFIGURACION DE COMUNICACION
-----------------------------------------------------------------------
$baud = 38400
$crystal = 8000000
$lib "ds1307clock.lib"
Config Clock = User
Config Serialin = Buffered , Size = 20
$timeout = 10000
-----------------------------------------------------------------------
VARIABLES
-----------------------------------------------------------------------
Dim Lili1 As Single
Dim Lili2 As Single
Dim Lili3 As Single
Dim Lili4 As Single
Dim Lili5 As Single
Dim Lili6 As Single
Dim Serial_in As String * 24
Dim Calendario As Byte
Dim Weekday As Byte
Dim Ctr As Byte
UNIVERSIDAD POLITÉCNICA SALESIANA FACULTAD DE CIENCIAS TÉCNICAS
ESCUELA DE INGENIERIA ELECTRICA ____________________________________________________________________
72
Dim Dataword As Word
Dim Command As Byte
Dim Dis As String * 20
Dim Actualizar As Byte
Dim L As String * 4
Dim Dato As String * 20
Dim Dato1 As String * 20
Dim R As String * 4
Dim Calefactor_humedad As Byte
Dim Ventilador_humedad As Byte
Dim Calefactor_temperatura As Byte
Dim Ventilador_temperatura As Byte
Dim Calc As Single
Dim Tempc As Single
Dim Tempf As Single
Dim Calc2 As Single
Dim Rhlinear As Single
Dim Rhlintemp As Single
Dim Segundos As Byte
Dim Minutos As Byte
Dim Horas As Byte
Dim Dias As Byte
Dim B As Byte
Dim Humedad As Byte
UNIVERSIDAD POLITÉCNICA SALESIANA FACULTAD DE CIENCIAS TÉCNICAS
ESCUELA DE INGENIERIA ELECTRICA ____________________________________________________________________
73
Dim Temp As Byte
Dim Encendido As Byte
Dim Automatico_humedad As Byte
Dim Automatico_temperatura As Byte
Dim Humedad_serial As Single
Dim Humedad_serial1 As Single
Dim Temperatura_serial As Single
-----------------------------------------------------------------------
VALORES CONSTANTES DEL SENSOR
-----------------------------------------------------------------------
Const C1 = -4
Const C2 = 0.0405
Const C3 = -0.0000028
Const D2 = .01
Const D1 = -40.00
Const T1f = .018
Const T1c = 0.01
Const T2 = 0.00008
-----------------------------------------------------------------------
DIRECCIONAMIENTO DEL RELOJ EN TIEMPO REAL
-----------------------------------------------------------------------
Const Ds1307w = &HD0
Const Ds1307r = &HD1
UNIVERSIDAD POLITÉCNICA SALESIANA FACULTAD DE CIENCIAS TÉCNICAS
ESCUELA DE INGENIERIA ELECTRICA ____________________________________________________________________
74
-----------------------------------------------------------------------
PUERTOS DE SALIDAS
------------------------------------------------------------------------
Ddrb.1 = 1
Portb.1 = 0
Ddrb.2 = 1
Portb.2 = 0
Ddrb.6 = 1
Portb.6 = 0
Ddrb.7 = 1
Portb.7 = 0
--------------------------------------------------------------------------------------------
NOMBRES DE LOS PUERTOS TANTO ENTRADAS COMO SALIDAS
--------------------------------------------------------------------------------------------
Sck Alias Portb.5
Dataout Alias Portb.4
Datain Alias Pinb.4
Foco Alias Portb.6
Ventem Alias Pwm1a
Venhume Alias Pwm1b
Calefactor Alias Portb.7
UNIVERSIDAD POLITÉCNICA SALESIANA FACULTAD DE CIENCIAS TÉCNICAS
ESCUELA DE INGENIERIA ELECTRICA ____________________________________________________________________
75
-----------------------------------------------------------------------
CONFIGURACION DEL PWM
------------------------------------------------------------------------
Config Timer1 = Pwm , Pwm = 10 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down , Prescale = 64
Enable Interrupts
------------------------------------------------------------------------------------------------
CONFIGURACION DE LOS VALORES DE HUMEDAD Y TEMPERATURA
-------------------------------------------------------------------------------------------------
Humedad_serial = 70
Temperatura_serial = 35
Reset Foco
Reset Calefactor
-----------------------------------------------------------------------
CONFIGURACION DEL LCD
------------------------------------------------------------------------
Cls
Cursor Off
Locate 1 , 1
Lcd " PLANTA AVICOLA "
Locate 2 , 1
Lcd " BIENVENIDOS "
For B = 1 To 16
UNIVERSIDAD POLITÉCNICA SALESIANA FACULTAD DE CIENCIAS TÉCNICAS
ESCUELA DE INGENIERIA ELECTRICA ____________________________________________________________________
76
Shiftlcd Right
Next
For B = 1 To 16
Shiftlcd Left
Waitms 250
Next
Wait 2
Locate 1 , 1
Lcd " REALIZADO POR "
Locate 2 , 1
Lcd "DIEGO PAHUANQUIZA"
For B = 1 To 16
Shiftlcd Right
Next
For B = 1 To 17
Shiftlcd Left
Waitms 250
Next
Wait 2
Home U
Lcd "CONTROL INACTIVO"
Home L
Lcd "PRESIONE ON "
UNIVERSIDAD POLITÉCNICA SALESIANA FACULTAD DE CIENCIAS TÉCNICAS
ESCUELA DE INGENIERIA ELECTRICA ____________________________________________________________________
77
-----------------------------------------------------------------------
INICIALIZACION DEL SENSOR
------------------------------------------------------------------------
Declare Sub Getit()
Ddrb = &B11111111
Config Pinb.4 = Output
Config Pinb.5 = Output
Config Portc = Output
Set Dataout
For Ctr = 1 To 12
Set Sck
Waitus 2
Reset Sck
Waitus 2
Next Ctr
-----------------------------------------------------------------------
CONDICIONES DEL PROCESO
------------------------------------------------------------------------
Do
Inicio:
'CONTROL SERIAL
Input Serial_in Noecho
L = Mid(serial_in , 1 , 3)
If L = "TPO" Then
Actualizar = 1
UNIVERSIDAD POLITÉCNICA SALESIANA FACULTAD DE CIENCIAS TÉCNICAS
ESCUELA DE INGENIERIA ELECTRICA ____________________________________________________________________
78
End If
If L = "ONN" Then
Encendido = 1
End If
If L = "OFF" Then
Encendido = 0
End If
If L = "HAU" Then
Automatico_humedad = 1
End If
If L = "HMA" Then
Automatico_humedad = 2
Reset Foco
Pwm1b = 0
End If
If L = "TAU" Then
Automatico_temperatura = 1
End If
If L = "TMA" Then
Automatico_temperatura = 2
Reset Calefactor
Pwm1b = 0
End If
If L = "CH0" Then
UNIVERSIDAD POLITÉCNICA SALESIANA FACULTAD DE CIENCIAS TÉCNICAS
ESCUELA DE INGENIERIA ELECTRICA ____________________________________________________________________
79
Calefactor_humedad = 0
End If
If L = "CH1" Then
Calefactor_humedad = 1
End If
If L = "VH0" Then
Ventilador_humedad = 0
End If
If L = "VH1" Then
Ventilador_humedad = 1
End If
If L = "CT0" Then
Calefactor_temperatura = 0
End If
If L = "CT1" Then
Calefactor_temperatura = 1
End If
If L = "VT0" Then
Ventilador_temperatura = 0
End If
If L = "VT1" Then
Ventilador_temperatura = 1
End If
L = Mid(serial_in , 1 , 1)
UNIVERSIDAD POLITÉCNICA SALESIANA FACULTAD DE CIENCIAS TÉCNICAS
ESCUELA DE INGENIERIA ELECTRICA ____________________________________________________________________
80
If L = "X" Then
R = Mid(serial_in , 2 , 3)
Temperatura_serial = Val(r)
End If
If L = "Y" Then
R = Mid(serial_in , 2 , 3)
Humedad_serial = Val(r)
End If
If Encendido = 0 Then
Automatico_temperatura = 0
Automatico_humedad = 0
Reset Calefactor
Reset Foco
Pwm1a = 0
Pwm1b = 0
Home U
Lcd "CONTROL INACTIVO"
Home L
Lcd "PRESIONE ON "
Goto Inicio
Else
End If
If Actualizar = 1 Then
Cls
UNIVERSIDAD POLITÉCNICA SALESIANA FACULTAD DE CIENCIAS TÉCNICAS
ESCUELA DE INGENIERIA ELECTRICA ____________________________________________________________________
81
Dato = Mid(serial_in , 4 , 6)
Dato1 = Mid(serial_in , 12 , 2)
Dato = Dato + Dato1
Date$ = Dato
Dato = Mid(serial_in , 14 , 9)
Time$ = Dato
Cls
Actualizar = 0
End If
-----------------------------------------------------------------------
RELOJ EN TIEMPO REAL PARA VER EN LCD
------------------------------------------------------------------------
Incr Calendario
If Calendario < 7 Then
Home L
Lcd "TIME " ; Time$ ; " "
End If
If Calendario => 7 Then
Home L
Lcd "DATE " ; Date$ ; " "
End If
If Calendario = 12 Then Calendario = 0
UNIVERSIDAD POLITÉCNICA SALESIANA FACULTAD DE CIENCIAS TÉCNICAS
ESCUELA DE INGENIERIA ELECTRICA ____________________________________________________________________
82
-----------------------------------------------------------------------
COMANDO DE LECTURA DE TEMPERATURA
------------------------------------------------------------------------
Command = &B00000011
Call Getit
Tempf = D2 * Dataword
Tempf = Tempf - 40
Dis = Fusing(tempf , "###.##")
Print "T" ; Dis
Home U
Lcd "T=" ; Dis ; " "
-----------------------------------------------------------------------
COMANDO DE LECTURA DE LA HUMEDAD
-----------------------------------------------------------------------
Command = &B00000101
Call Getit
Calc = C2 * Dataword
Calc2 = Dataword * Dataword
Calc2 = C3 * Calc2
Calc = Calc + C1
Rhlinear = Calc + Calc2
Calc = T2 * Dataword
Calc = Calc + T1c
Calc2 = Tempc - 25
UNIVERSIDAD POLITÉCNICA SALESIANA FACULTAD DE CIENCIAS TÉCNICAS
ESCUELA DE INGENIERIA ELECTRICA ____________________________________________________________________
83
Calc = Calc2 * Calc
Rhlintemp = Calc + Rhlinear
Dis = Fusing(rhlintemp , "##.##")
Print "H" ; Dis
Lcd "H= " ; Dis ; " "
---------------------------------------------------------------------------------------
GRADO DE DIFERENCIACION DE VALORES DE TEMPERATURA
---------------------------------------------------------------------------------------
Lili1 = Temperatura_serial - 2
Lili2 = Temperatura_serial - 1.5
Lili3 = Temperatura_serial - 0.1
Print "R" ; Lili3
Waitms 12
If Automatico_temperatura = 1 Then
If Tempf < Lili1 Then
Ventem = 100
Set Calefactor
Elseif Tempf >= Lili1 And Tempf < Lili2 Then
Ventem = 350
Reset Calefactor
Waitms 10
Set Calefactor
Waitms 90
Elseif Tempf >= Lili2 And Tempf < Lili3 Then
UNIVERSIDAD POLITÉCNICA SALESIANA FACULTAD DE CIENCIAS TÉCNICAS
ESCUELA DE INGENIERIA ELECTRICA ____________________________________________________________________
84
Ventem = 650
Reset Calefactor
Waitms 50
Set Calefactor
Waitms 50
Elseif Tempf >= Temperatura_serial Then
Ventem = 1022
Reset Calefactor
End If
Elseif Automatico_temperatura = 2 Then
If Calefactor_temperatura = 0 Then Reset Calefactor
If Calefactor_temperatura = 1 Then Set Calefactor
If Ventilador_temperatura = 0 Then Pwm1a = 0
If Ventilador_temperatura = 1 Then Pwm1a = 1023
End If
---------------------------------------------------------------------------------------
GRADO DE DIFERENCIACION DE VALORES DE HUMEDAD
---------------------------------------------------------------------------------------
Humedad_serial1 = Humedad_serial + 2
Lili4 = Humedad_serial - 3
Lili5 = Humedad_serial - 2
Lili6 = Humedad_serial - 1
Print "L" ; Lili4
If Automatico_humedad = 1 Then
UNIVERSIDAD POLITÉCNICA SALESIANA FACULTAD DE CIENCIAS TÉCNICAS
ESCUELA DE INGENIERIA ELECTRICA ____________________________________________________________________
85
If Rhlintemp < Lili4 Then
Set Foco
Venhume = 0
End If
If Rhlintemp >= Humedad_serial1 Then
Venhume = 500
Reset Foco
End If
Else
If Automatico_humedad = 2 Then
If Calefactor_humedad = 0 Then Reset Foco
If Calefactor_humedad = 1 Then Set Foco
If Ventilador_humedad = 0 Then Pwm1b = 0
If Ventilador_humedad = 1 Then Pwm1b = 1023
End If
Loop
Sub Getit()
Local Datavalue As Word
Local Databyte As Byte
Set Sck
Reset Dataout
Reset Sck
Set Sck
Set Dataout
UNIVERSIDAD POLITÉCNICA SALESIANA FACULTAD DE CIENCIAS TÉCNICAS
ESCUELA DE INGENIERIA ELECTRICA ____________________________________________________________________
86
Reset Sck
Shiftout Dataout , Sck , Command , 1
Ddrb = &B11101111
Config Pinb.4 = Input
Set Sck
Reset Sck
Waitus 10
Bitwait Pinb.4 , Reset
Shiftin Datain , Sck , Databyte , 1
Datavalue = Databyte
Ddrb = &B11111111
Config Pinb.4 = Output
Reset Dataout
Set Sck
Reset Sck
Ddrb = &B11101111
Config Pinb.4 = Input
Shiftin Datain , Sck , Databyte , 1
Shift Datavalue , Left , 8
Datavalue = Datavalue Or Databyte
Dataword = Datavalue
Ddrb = &B11111111
Config Pinb.4 = Output
UNIVERSIDAD POLITÉCNICA SALESIANA FACULTAD DE CIENCIAS TÉCNICAS
ESCUELA DE INGENIERIA ELECTRICA ____________________________________________________________________
87
Reset Dataout
Set Sck
Reset Sck
Ddrb = &B11101111
Config Pinb.4 = Input
Shiftin Datain , Sck , Databyte , 1
Ddrb = &B11111111
Config Pinb.4 = Output
Set Dataout
Set Sck
Reset Sck
End Sub
End
---------------------------------------------------------------------------------------
PARA TRAER DATOS DE FECHA Y HORA EN TIEMPO REAL
---------------------------------------------------------------------------------------
Getdatetime:
I2cstart
I2cwbyte Ds1307w
I2cwbyte 0
I2cstart
I2cwbyte Ds1307r
UNIVERSIDAD POLITÉCNICA SALESIANA FACULTAD DE CIENCIAS TÉCNICAS
ESCUELA DE INGENIERIA ELECTRICA ____________________________________________________________________
88
I2crbyte _sec , Ack
I2crbyte _min , Ack
I2crbyte _hour , Ack
I2crbyte Weekday , Ack
I2crbyte _day , Ack
I2crbyte _month , Ack
I2crbyte _year , Nack
I2cstop
_sec = Makedec(_sec) : _min = Makedec(_min) : _hour = Makedec(_hour)
_day = Makedec(_day) : _month = Makedec(_month) : _year = Makedec(_year)
Return
Setdate:
_day = Makebcd(_day) : _month = Makebcd(_month) : _year = Makebcd(_year)
I2cstart
I2cwbyte Ds1307w
I2cwbyte 4
I2cwbyte _day
I2cwbyte _month
I2cwbyte _year
I2cstop
Return
Settime:
_sec = Makebcd(_sec) : _min = Makebcd(_min) : _hour = Makebcd(_hour)
I2cstart
UNIVERSIDAD POLITÉCNICA SALESIANA FACULTAD DE CIENCIAS TÉCNICAS
ESCUELA DE INGENIERIA ELECTRICA ____________________________________________________________________
89
I2cwbyte Ds1307w
I2cwbyte 0
I2cwbyte _sec
I2cwbyte _min
I2cwbyte _hour
I2cstop
Return
UNIVERSIDAD POLITÉCNICA SALESIANA FACULTAD DE CIENCIAS TÉCNICAS
ESCUELA DE INGENIERIA ELECTRICA ____________________________________________________________________
90
4.5 DESCRIPCIÓN DE LA PARTE DE MONITOREO MEDIANTE EL
PROGRAMA VISUAL BASIC 6.0
4.5.1.MODULO ESTACIÓN REMOTA:
Figura 32. Software del modulo estación remota.
En el modulo estación remota se encuentra el software con el cual aplicamos el
monitoreo de la planta avícola el cual lo realice en el Programa Visual Basic 6.0.
El diseño corresponde a cada una de las actividades que debía realizar el programa,
determinando la relación con el hardware en todo momento y buscando la forma mas
sencilla de uso para que el operador no tenga ningún inconveniente.
Tenemos un encendido y un apagado general para el sistema, el control automático o
manual de la temperatura, humedad y los ventiladores.
La programación de horarios con el cual el operador pone los valores de humedad y
temperatura que necesite cada semana hasta llegar al fin del proceso.
UNIVERSIDAD POLITÉCNICA SALESIANA FACULTAD DE CIENCIAS TÉCNICAS
ESCUELA DE INGENIERIA ELECTRICA ____________________________________________________________________
91
4.5.2. COMUNICACIÓN CON EL PUERTO SERIAL:
Debido a que toda la información que se transmite y recibe entre el modulo de
control, es interactuado con el computador a través del puerto serial.
4.5.3. SEGURIDAD DE ACCESO:
Luego de la presentación, la aplicación abre una ventana para ingresar el nombre del
usuario y la clave correspondiente, donde intervienen entonces todos los aspectos
relacionados con la seguridad del sistema.
4.5.4. PROGRAMADOR:
El Programador fue diseñado para que el operario defina la programación semanal de
la temperatura que quiere cumplir con las niquelinas conectadas al sistema
automatizado.
Mediante el control semanal de la temperatura el operario pone los valores de
temperatura la fecha y la hora desde donde debe empezar hasta el fin del proceso en
el cual se apaga el sistema.
UNIVERSIDAD POLITÉCNICA SALESIANA FACULTAD DE CIENCIAS TÉCNICAS
ESCUELA DE INGENIERIA ELECTRICA ____________________________________________________________________
92
Figura 33. Control semanal de la temperatura.
La humedad en cambio se la deja definida en un solo valor ya que la humedad esta
entre un rango del 50 al 70%.
Figura 34. Control de la humedad.
UNIVERSIDAD POLITÉCNICA SALESIANA FACULTAD DE CIENCIAS TÉCNICAS
ESCUELA DE INGENIERIA ELECTRICA ____________________________________________________________________
93
4.5.6 PROGRAMACIÓN EN VISUAL BASIC 6.0:
----------------------------------------------------------------------------------------------
VARIABLES
---------------------------------------------------------------------------------------------
Dim J As By
Dim L As Double
Dim CONTROL_HUMEDAD As String
Dim CONTROL_TEMPERATURA As String
Dim ENCENDIDO As String
Dim st As String
---------------------------------------------------------------------------------------------
Private Sub Check1_Click()
Text18.Text = Text4.Text
End Sub
----------------------------------------------------------------------------------------------
CONTROL DE HUMEDAD EN FORMA MANUAL
----------------------------------------------------------------------------------------------
Private Sub Command1_Click()
If ENCENDIDO = "ON" Then
Text5.BackColor = &HFF00&
If CONTROL_HUMEDAD = "MANUAL" Then
For J = 1 To 1
enviar "VH1"
For L = 1 To 100000
Next
Next
End If
End If
End Sub
-------------------------------------------------------------------------------------------
Private Sub Command10_Click()
Text24.Text = Text4.Text
UNIVERSIDAD POLITÉCNICA SALESIANA FACULTAD DE CIENCIAS TÉCNICAS
ESCUELA DE INGENIERIA ELECTRICA ____________________________________________________________________
94
End Sub
---------------------------------------------------------------------------------------------
Private Sub Command11_Click()
If ENCENDIDO = "ON" Then
Text6.BackColor = &HFF00&
If CONTROL_HUMEDAD = "MANUAL" Then
For J = 1 To 1
enviar "CH1"
For L = 1 To 100000
Next
Next
End If
End If
End Sub
---------------------------------------------------------------------------------------------
Private Sub Command12_Click()
If ENCENDIDO = "ON" Then
Text6.BackColor = &HFF&
If CONTROL_HUMEDAD = "MANUAL" Then
For J = 1 To 1
enviar "CH0"
For L = 1 To 100000
Next
Next
End If
End If
End Sub
UNIVERSIDAD POLITÉCNICA SALESIANA FACULTAD DE CIENCIAS TÉCNICAS
ESCUELA DE INGENIERIA ELECTRICA ____________________________________________________________________
95
----------------------------------------------------------------------------------------------
CONTROL DE HUMEDAD EN FORMA AUTOMATICA
---------------------------------------------------------------------------------------------
Private Sub Command13_Click()
If ENCENDIDO = "ON" Then
Text31.BackColor = &HFF00&
Text41.BackColor = &HC0C0FF
For J = 1 To 1
enviar "HAU"
For L = 1 To 100000
Next
Next
CONTROL_HUMEDAD = "AUTO"
End If
End Sub
-------------------------------------------------------------------------------------------
Private Sub Command14_Click()
If ENCENDIDO = "ON" Then
Text41.BackColor = &HFF00&
Text31.BackColor = &HC0C0FF
For J = 1 To 1
enviar "HMA"
For L = 1 To 100000
Next
Next
CONTROL_HUMEDAD = "MANUAL"
End If
End Sub
----------------------------------------------------------------------------------------------
CONTROL DE TEMPERATURA EN FORMA MANUAL
---------------------------------------------------------------------------------------------
Private Sub Command15_Click()
UNIVERSIDAD POLITÉCNICA SALESIANA FACULTAD DE CIENCIAS TÉCNICAS
ESCUELA DE INGENIERIA ELECTRICA ____________________________________________________________________
96
If ENCENDIDO = "ON" Then
Text12.BackColor = &HFF00&
If CONTROL_TEMPERATURA = "MANUAL" Then
For J = 1 To 1
enviar "CT1"
For L = 1 To 100000
Next
Next
End If
End If
End Sub
-------------------------------------------------------------------------------------------
Private Sub Command16_Click()
If ENCENDIDO = "ON" Then
Text12.BackColor = &HFF&
If CONTROL_TEMPERATURA = "MANUAL" Then
For J = 1 To 1
enviar "CT0"
For L = 1 To 100000
Next
Next
End If
End If
End Sub
----------------------------------------------------------------------------------------------
CONTROL DE TEMPERATURA EN FORMA AUTOMATICA
---------------------------------------------------------------------------------------------
Private Sub Command17_Click()
If ENCENDIDO = "ON" Then
Text42.BackColor = &HFF00&
Text43.BackColor = &H8000000F
UNIVERSIDAD POLITÉCNICA SALESIANA FACULTAD DE CIENCIAS TÉCNICAS
ESCUELA DE INGENIERIA ELECTRICA ____________________________________________________________________
97
For J = 1 To 1
enviar "TAU"
For L = 1 To 100000
Next
Next
CONTROL_TEMPERATURA = "AUTO"
End If
End Sub
-------------------------------------------------------------------------------------------
Private Sub Command18_Click()
If ENCENDIDO = "ON" Then
Text43.BackColor = &HFF00&
Text42.BackColor = &H8000000F
For J = 1 To 1
enviar "TMA"
For L = 1 To 100000
Next
Next
CONTROL_TEMPERATURA = "MANUAL"
End If
End Sub
-------------------------------------------------------------------------------------------
Private Sub Command19_Click()
ENCENDIDO = "ON"
For J = 1 To 1
enviar "ONN"
For L = 1 To 100000
Next
Next
UNIVERSIDAD POLITÉCNICA SALESIANA FACULTAD DE CIENCIAS TÉCNICAS
ESCUELA DE INGENIERIA ELECTRICA ____________________________________________________________________
98
End Sub
-------------------------------------------------------------------------------------------
Private Sub Command2_Click()
If ENCENDIDO = "ON" Then
Text5.BackColor = &HFF&
If CONTROL_HUMEDAD = "MANUAL" Then
For J = 1 To 1
enviar "VH0"
For L = 1 To 100000
Next
Next
End If
End If
End Sub
Private Sub Command20_Click()
Text32.BackColor = &HFF&
Text5.BackColor = &HFF&
Text6.BackColor = &HFF&
Text9.BackColor = &HFF&
Text12.BackColor = &HFF&
Text31.BackColor = &HC0C0FF
Text41.BackColor = &HC0C0FF
Text42.BackColor = &H8000000F
Text43.BackColor = &H8000000F
ENCENDIDO = "OFF"
For J = 1 To 1
enviar "OFF"
For L = 1 To 100000
Next
Next
End Sub
UNIVERSIDAD POLITÉCNICA SALESIANA FACULTAD DE CIENCIAS TÉCNICAS
ESCUELA DE INGENIERIA ELECTRICA ____________________________________________________________________
99
-------------------------------------------------------------------------------------------
Private Sub Command21_Click()
For J = 1 To 1
enviar "Y" + Text3.Text
For L = 1 To 100000
Next
Next
End Sub
-------------------------------------------------------------------------------------------
Private Sub Command22_Click()
For J = 1 To 1
enviar "X" + Text4.Text
For L = 1 To 100000
Next
Next
End Sub
-------------------------------------------------------------------------------------------
Private Sub Command3_Click()
If ENCENDIDO = "ON" Then
Text9.BackColor = &HFF00&
If CONTROL_TEMPERATURA = "MANUAL" Then
For J = 1 To 1
enviar "VT1"
For L = 1 To 100000
Next
Next
End If
End If
End Sub
-------------------------------------------------------------------------------------------
Private Sub Command4_Click()
UNIVERSIDAD POLITÉCNICA SALESIANA FACULTAD DE CIENCIAS TÉCNICAS
ESCUELA DE INGENIERIA ELECTRICA ____________________________________________________________________
100
If ENCENDIDO = "ON" Then
Text9.BackColor = &HFF&
If CONTROL_TEMPERATURA = "MANUAL" Then
For J = 1 To 1
enviar "VT0"
For L = 1 To 100000
Next
Next
End If
End If
End Sub
-------------------------------------------------------------------------------------------
Private Sub Command5_Click()
Text18.Text = Text4.Text
End Sub
-------------------------------------------------------------------------------------------
Private Sub Command6_Click()
Text19.Text = Text4.Text
End Sub
-------------------------------------------------------------------------------------------
Private Sub Command7_Click()
Text20.Text = Text4.Text
End Sub
-------------------------------------------------------------------------------------------
Private Sub Command8_Click()
Text21.Text = Text4.Text
End Sub
-------------------------------------------------------------------------------------------
Private Sub Command9_Click()
Text22.Text = Text4.Text
End Sub
UNIVERSIDAD POLITÉCNICA SALESIANA FACULTAD DE CIENCIAS TÉCNICAS
ESCUELA DE INGENIERIA ELECTRICA ____________________________________________________________________
101
-------------------------------------------------------------------------------------------
Private Sub Form_Load()
abrirPuerto
End Sub
----------------------------------------------------------------------------------------------
PARA ABRIR PUERTO DE COMUNICACION
---------------------------------------------------------------------------------------------
Public Sub abrirPuerto()
On Error GoTo mierror
If Not MSComm1.PortOpen Then
MSComm1.CommPort = 1
MSComm1.Settings = "38400,n,8,1"
MSComm1.InputLen = 0
MSComm1.PortOpen = True
Else
MsgBox ("Puerto COM 1 está abierto"), , "Puerto de Comunicaciones Serial"
End If
Exit Sub
mierror:
MsgBox "Número de Puerto NO VALIDO", vbInformation
numeroPuerto = CInt(InputBox("Escriba el número de Puerto de Comunicación",
"Puerto de Comunicación", "1"))
abrirPuerto
End Sub
-------------------------------------------------------------------------------------------
Public Function leer() As String
If MSComm1.InBufferCount <> 0 Then
st = MSComm1.Input
Else
UNIVERSIDAD POLITÉCNICA SALESIANA FACULTAD DE CIENCIAS TÉCNICAS
ESCUELA DE INGENIERIA ELECTRICA ____________________________________________________________________
102
End If
End Function
-------------------------------------------------------------------------------------------
Private Sub Timer1_Timer()
Dim dato As String
leer 'lee el contenido del puerto serial
If st <> "" Then
dato = Mid(st, 1, 1)
If dato = "T" Then Text2.Text = Mid(st, 2, 5)
If dato = "H" Then Text1.Text = Mid(st, 2, 5)
End If
Text3.Text = HScroll1.Value
Text4.Text = HScroll2.Value
Label1 = Date$ + " " + Time$
End Sub
-------------------------------------------------------------------------------------------
Public Function enviar(cadenaSalida As String)
On Error GoTo mierror
Dim i As String
If MSComm1.PortOpen = False Then
MsgBox "El Puerto está cerrado, ábralo "
Else
MSComm1.Output = cadenaSalida & Chr(&HD)
If MSComm1.InBufferCount <> 0 Then
i = MSComm1.Input
End If
End If
Exit Function
mierror:
MsgBox "Error Inesperado con el Puerto"
UNIVERSIDAD POLITÉCNICA SALESIANA FACULTAD DE CIENCIAS TÉCNICAS
ESCUELA DE INGENIERIA ELECTRICA ____________________________________________________________________
103
End Function
----------------------------------------------------------------------------------------------
PARA EL CONTROL SEMANAL DE TEMPERATURA
---------------------------------------------------------------------------------------------
Private Sub Timer2_Timer()
If ENCENDIDO = "ON" Then
Text32.BackColor = &HFF00&
If Date$ = Text13.Text And Time$ = Text33.Text Then
For J = 1 To 1
enviar "X" + Text18.Text
For L = 1 To 90000000
Next
Next
End If
If Date$ = Text14.Text And Time$ = Text34.Text Then
For J = 1 To 1
enviar "X" + Text19.Text
For L = 1 To 90000000
Next
Next
End If
If Date$ = Text15.Text And Time$ = Text35.Text Then
For J = 1 To 1
enviar "X" + Text20.Text
For L = 1 To 90000000
Next
Next
End If
UNIVERSIDAD POLITÉCNICA SALESIANA FACULTAD DE CIENCIAS TÉCNICAS
ESCUELA DE INGENIERIA ELECTRICA ____________________________________________________________________
104
If Date$ = Text16.Text And Time$ = Text36.Text Then
For J = 1 To 1
enviar "X" + Text21.Text
For L = 1 To 90000000
Next
Next
End If
If Date$ = Text17.Text And Time$ = Text37.Text Then
For J = 1 To 1
enviar "X" + Text22.Text
For L = 1 To 90000000
Next
Next
End If
If Date$ = Text23.Text And Time$ = Text38.Text Then
For J = 1 To 1
enviar "X" + Text24.Text
For L = 1 To 90000000
Next
Next
End If
If Date$ = Text39.Text And Time$ = Text40.Text Then
ENCENDIDO = "OFF"
Text32.BackColor = &HFF&
For J = 1 To 1
enviar "OFF"
'For L = 1 To 900000000
UNIVERSIDAD POLITÉCNICA SALESIANA FACULTAD DE CIENCIAS TÉCNICAS
ESCUELA DE INGENIERIA ELECTRICA ____________________________________________________________________
105
Next
End If
----------------------------------------------------------------------------------------------
PARA EL FIN DEL PROCESO
---------------------------------------------------------------------------------------------
If ENCENDIDO = "OFF" Then
Text32.BackColor = &HFF&
For J = 1 To 1
enviar "OFF"
For L = 1 To 900000000
Next
Next
End If
End If
End Sub
-------------------------------------------------------------------------------------------
Private Sub Timer3_Timer()
enviar "LILI"
End Sub
-------------------------------------------------------------------------------------------
UNIVERSIDAD POLITÉCNICA SALESIANA FACULTAD DE CIENCIAS TÉCNICAS
ESCUELA DE INGENIERIA ELECTRICA ____________________________________________________________________
106
4.6 ENSAYOS Y PRUEBAS:
1.- Primeramente se realizaron ensayos y pruebas del sensor SHT15 para saber si los
valores de temperatura y humedad que teníamos en el ambiente eran los correctos,
los valores del sensor lo veíamos en el LCD.
2.- Armamos el modulo de control en el proto-board para ver su funcionamiento, el
control de la temperatura lo iba a ser con 4 focos dicroicos de 100W pero al
momento de tratar de subir la temperatura esta no variaba mucho ya que máximo
subía unos 6 grados centígrados en un tiempo de 10 minutos ya que la maqueta es de
1.05 x 0.60 m, con un alto de 0.60m, lo cual era muy poco para lo que necesitábamos
en el galpón, por lo que se opto poner una niquelina de 600W para controlar la
temperatura y dos niquelinas en paralelo de 500W para poder simular la humedad
relativa y por el amperaje que esto representa colocamos dos reles de estado sólido
ya que el control que estamos haciendo es un control ON/OFF con lo cual vamos a
tener gran numero de conmutaciones, utilizamos uno para el control de la
temperatura y el otro para la humedad.
3.- Luego diseñe el circuito impreso en el programa ARES 6 Professional, con lo
cual tuvimos que soldar bien los elementos ya que a veces no funcionaba debido a
algunas sueldas frías que hubieron.
4.- Cuando el modulo de control estuvo funcionando correctamente realizamos las
pruebas desde la PC con el cual me di cuenta que la humedad relativa simulada por
el calefactor variaba mucho, por cuanto opte por colocar otro calefactor en paralelo,
luego de estos cambios se mejoro el control de la humedad y no tuvimos mas
inconvenientes.