UNIVERSIDAD POLITÉCNICA SALESIANA FACULTAD DE CIENCIAS TÉCNICAS ESCUELA DE INGENIERIA ELECTRICA ____________________________________________________________________ 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 64 UNIVERSIDAD POLITÉCNICA SALESIANA FACULTAD DE CIENCIAS TÉCNICAS ESCUELA DE INGENIERIA ELECTRICA ____________________________________________________________________ 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. 65 UNIVERSIDAD POLITÉCNICA SALESIANA FACULTAD DE CIENCIAS TÉCNICAS ESCUELA DE INGENIERIA ELECTRICA ____________________________________________________________________ 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 66 UNIVERSIDAD POLITÉCNICA SALESIANA FACULTAD DE CIENCIAS TÉCNICAS ESCUELA DE INGENIERIA ELECTRICA ____________________________________________________________________ FIGURA 28. CIRCUITO DETALLADO DEL MODULO DE CONTROL 67 UNIVERSIDAD POLITÉCNICA SALESIANA FACULTAD DE CIENCIAS TÉCNICAS ESCUELA DE INGENIERIA ELECTRICA ____________________________________________________________________ FIGURA 29. CIRCUITO IMPRESO DEL MODULO DE CONTROL 68 UNIVERSIDAD POLITÉCNICA SALESIANA FACULTAD DE CIENCIAS TÉCNICAS ESCUELA DE INGENIERIA ELECTRICA ____________________________________________________________________ FIGURA 30. CIRCUITO IMPRESO DEL MODULO DE CONTROL CON SUS RESPECTIVOS ELEMENTOS 69 UNIVERSIDAD POLITÉCNICA SALESIANA FACULTAD DE CIENCIAS TÉCNICAS ESCUELA DE INGENIERIA ELECTRICA ____________________________________________________________________ 4.4.2. FLUJO GRAMA DE LA PROGRAMACIÓN DEL ATMEGA88 70 UNIVERSIDAD POLITÉCNICA SALESIANA FACULTAD DE CIENCIAS TÉCNICAS ESCUELA DE INGENIERIA ELECTRICA ____________________________________________________________________ 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 71 UNIVERSIDAD POLITÉCNICA SALESIANA FACULTAD DE CIENCIAS TÉCNICAS ESCUELA DE INGENIERIA ELECTRICA ____________________________________________________________________ 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 72 UNIVERSIDAD POLITÉCNICA SALESIANA FACULTAD DE CIENCIAS TÉCNICAS ESCUELA DE INGENIERIA ELECTRICA ____________________________________________________________________ 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 73 UNIVERSIDAD POLITÉCNICA SALESIANA FACULTAD DE CIENCIAS TÉCNICAS ESCUELA DE INGENIERIA ELECTRICA ____________________________________________________________________ ----------------------------------------------------------------------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 74 UNIVERSIDAD POLITÉCNICA SALESIANA FACULTAD DE CIENCIAS TÉCNICAS ESCUELA DE INGENIERIA ELECTRICA ____________________________________________________________________ ----------------------------------------------------------------------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 75 UNIVERSIDAD POLITÉCNICA SALESIANA FACULTAD DE CIENCIAS TÉCNICAS ESCUELA DE INGENIERIA ELECTRICA ____________________________________________________________________ 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 " 76 UNIVERSIDAD POLITÉCNICA SALESIANA FACULTAD DE CIENCIAS TÉCNICAS ESCUELA DE INGENIERIA ELECTRICA ____________________________________________________________________ ----------------------------------------------------------------------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 77 UNIVERSIDAD POLITÉCNICA SALESIANA FACULTAD DE CIENCIAS TÉCNICAS ESCUELA DE INGENIERIA ELECTRICA ____________________________________________________________________ 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 78 UNIVERSIDAD POLITÉCNICA SALESIANA FACULTAD DE CIENCIAS TÉCNICAS ESCUELA DE INGENIERIA ELECTRICA ____________________________________________________________________ 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) 79 UNIVERSIDAD POLITÉCNICA SALESIANA FACULTAD DE CIENCIAS TÉCNICAS ESCUELA DE INGENIERIA ELECTRICA ____________________________________________________________________ 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 80 UNIVERSIDAD POLITÉCNICA SALESIANA FACULTAD DE CIENCIAS TÉCNICAS ESCUELA DE INGENIERIA ELECTRICA ____________________________________________________________________ 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 81 UNIVERSIDAD POLITÉCNICA SALESIANA FACULTAD DE CIENCIAS TÉCNICAS ESCUELA DE INGENIERIA ELECTRICA ____________________________________________________________________ ----------------------------------------------------------------------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 82 UNIVERSIDAD POLITÉCNICA SALESIANA FACULTAD DE CIENCIAS TÉCNICAS ESCUELA DE INGENIERIA ELECTRICA ____________________________________________________________________ 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 83 UNIVERSIDAD POLITÉCNICA SALESIANA FACULTAD DE CIENCIAS TÉCNICAS ESCUELA DE INGENIERIA ELECTRICA ____________________________________________________________________ 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 84 UNIVERSIDAD POLITÉCNICA SALESIANA FACULTAD DE CIENCIAS TÉCNICAS ESCUELA DE INGENIERIA ELECTRICA ____________________________________________________________________ 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 85 UNIVERSIDAD POLITÉCNICA SALESIANA FACULTAD DE CIENCIAS TÉCNICAS ESCUELA DE INGENIERIA ELECTRICA ____________________________________________________________________ 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 86 UNIVERSIDAD POLITÉCNICA SALESIANA FACULTAD DE CIENCIAS TÉCNICAS ESCUELA DE INGENIERIA ELECTRICA ____________________________________________________________________ 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 87 UNIVERSIDAD POLITÉCNICA SALESIANA FACULTAD DE CIENCIAS TÉCNICAS ESCUELA DE INGENIERIA ELECTRICA ____________________________________________________________________ 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 88 UNIVERSIDAD POLITÉCNICA SALESIANA FACULTAD DE CIENCIAS TÉCNICAS ESCUELA DE INGENIERIA ELECTRICA ____________________________________________________________________ I2cwbyte Ds1307w I2cwbyte 0 I2cwbyte _sec I2cwbyte _min I2cwbyte _hour I2cstop Return 89 UNIVERSIDAD POLITÉCNICA SALESIANA FACULTAD DE CIENCIAS TÉCNICAS ESCUELA DE INGENIERIA ELECTRICA ____________________________________________________________________ 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. 90 UNIVERSIDAD POLITÉCNICA SALESIANA FACULTAD DE CIENCIAS TÉCNICAS ESCUELA DE INGENIERIA ELECTRICA ____________________________________________________________________ 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. 91 UNIVERSIDAD POLITÉCNICA SALESIANA FACULTAD DE CIENCIAS TÉCNICAS ESCUELA DE INGENIERIA ELECTRICA ____________________________________________________________________ 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. 92 UNIVERSIDAD POLITÉCNICA SALESIANA FACULTAD DE CIENCIAS TÉCNICAS ESCUELA DE INGENIERIA ELECTRICA ____________________________________________________________________ 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 93 UNIVERSIDAD POLITÉCNICA SALESIANA FACULTAD DE CIENCIAS TÉCNICAS ESCUELA DE INGENIERIA ELECTRICA ____________________________________________________________________ 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 94 UNIVERSIDAD POLITÉCNICA SALESIANA FACULTAD DE CIENCIAS TÉCNICAS ESCUELA DE INGENIERIA ELECTRICA ____________________________________________________________________ ---------------------------------------------------------------------------------------------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() 95 UNIVERSIDAD POLITÉCNICA SALESIANA FACULTAD DE CIENCIAS TÉCNICAS ESCUELA DE INGENIERIA ELECTRICA ____________________________________________________________________ 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 96 UNIVERSIDAD POLITÉCNICA SALESIANA FACULTAD DE CIENCIAS TÉCNICAS ESCUELA DE INGENIERIA ELECTRICA ____________________________________________________________________ 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 97 UNIVERSIDAD POLITÉCNICA SALESIANA FACULTAD DE CIENCIAS TÉCNICAS ESCUELA DE INGENIERIA ELECTRICA ____________________________________________________________________ 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 98 UNIVERSIDAD POLITÉCNICA SALESIANA FACULTAD DE CIENCIAS TÉCNICAS ESCUELA DE INGENIERIA ELECTRICA ____________________________________________________________________ ------------------------------------------------------------------------------------------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() 99 UNIVERSIDAD POLITÉCNICA SALESIANA FACULTAD DE CIENCIAS TÉCNICAS ESCUELA DE INGENIERIA ELECTRICA ____________________________________________________________________ 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 100 UNIVERSIDAD POLITÉCNICA SALESIANA FACULTAD DE CIENCIAS TÉCNICAS ESCUELA DE INGENIERIA ELECTRICA ____________________________________________________________________ ------------------------------------------------------------------------------------------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 101 UNIVERSIDAD POLITÉCNICA SALESIANA FACULTAD DE CIENCIAS TÉCNICAS ESCUELA DE INGENIERIA ELECTRICA ____________________________________________________________________ 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" 102 UNIVERSIDAD POLITÉCNICA SALESIANA FACULTAD DE CIENCIAS TÉCNICAS ESCUELA DE INGENIERIA ELECTRICA ____________________________________________________________________ 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 103 UNIVERSIDAD POLITÉCNICA SALESIANA FACULTAD DE CIENCIAS TÉCNICAS ESCUELA DE INGENIERIA ELECTRICA ____________________________________________________________________ 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 104 UNIVERSIDAD POLITÉCNICA SALESIANA FACULTAD DE CIENCIAS TÉCNICAS ESCUELA DE INGENIERIA ELECTRICA ____________________________________________________________________ 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 ------------------------------------------------------------------------------------------- 105 UNIVERSIDAD POLITÉCNICA SALESIANA FACULTAD DE CIENCIAS TÉCNICAS ESCUELA DE INGENIERIA ELECTRICA ____________________________________________________________________ 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. 106