Paso 3 _

Unidad 2 Paso 3: Diseñar la automatización mediante Microcontroladores. Presentado a: NESTOR JAVIER RODRIGUEZ Tutor En

Views 210 Downloads 2 File size 749KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Unidad 2 Paso 3: Diseñar la automatización mediante Microcontroladores.

Presentado a: NESTOR JAVIER RODRIGUEZ Tutor

Entregado por: WESTHLY JOSE SARABIA CARRILLO (1065837909) JASON PALÁCIO RUIZ IOHAM MORILLO (77029746) GABRIEL ENRIQUE MANGONES (1104866293) HUMBERTO ANTONIO ROJAS (1065658268)

Grupo: 309696_23

Universidad Nacional Abierta Y A Distancia - UNAD Escuela De Ciencias Básicas, Ingenierías Y Tecnologías Microprocesadores y Microcontroladores 12 de abril de 2019 Valledupar-Cesar

INTRODUCCIÓN Estudiar y emplear dispositivos microcontroladores, permitiéndonos conocer e identificar su arquitectura, funcionabilidad, aplicación y simulación del mismo, a través del desarrollo del proyecto suministrado por la guía de actividades.

RESUMEN Se le dará solución al proyecto planteado, a través de los microcontroladores, conociendo en el transcurso del mismo, su arquitectura, funciones y aplicaciones en las demás áreas. El programa desarrollado cumplirá con los parámetros del proyecto, en donde se evidenciara con capturas de imágenes, su circuito y su simulación, y cabe resaltar, que dicho programa, será explicado a través de un video, montado en la web. Se nos pidió seleccionar un solo ejercicio, para darle una solución como grupo de trabajo. Se diálogo y llegamos a la conclusión de seleccionar el punto 1, del proyecto, no obstante se desarrollaron los 4 puntos planteados por la guía de actividades.

OBJETIVOS

-

Leer y analizar el contenido de la unidad 2. Llevar a cabo los conocimientos del lenguaje Assembler, para elaborar un programa, que cumpla con las expectativas ofrecidas por la guía. Desarrollar los puntos planteados en la guía de actividades. Exponer la solución planteada a través de videos explicativos.

IDENTIFICACIÓN DE REQUISITOS Y VARIABLES QUE INTERVIENEN PROTON Los compiladores Protonbasic han existido desde hace mucho tiempo, y han sido utilizados por los entusiastas y profesionales. Ambos compiladores producen un código ensamblador extremadamente eficiente, lo que significa que los proyectos complejos se pueden realizar en dispositivos pequeños y económicos, así como en los dispositivos más grandes. Los compiladores son muy estables y ofrecen una manera simple y eficiente de escribir código que nunca creíste que podrías escribir antes.

PROTEUS Proteus es una aplicación para la ejecución de proyectos de construcción de equipos electrónicos en todas sus etapas: diseño del esquema electrónico, programación del software, construcción de la placa de circuito impreso, simulación de todo el conjunto, depuración de errores, documentación y construcción.

Descripción de las actividades que se debe desarrollar Se plantea como proyecto desarrollar el diseño de un sistema de control de un laboratorio biológico: en el cual se desea controlar la apertura y cierre de las puertas de laboratorio utilizando motores DC, como también el control de la luminiscencia de las bacterias que se encuentran en el laboratorio, por lo que el grupo de trabajo colaborativo diseña el sistema de control utilizando Microcontroladores, donde utilizan el lenguaje de programación de bajo nivel, uso de software de desarrollo de software y entornos de simulación.

EJERCICIO A DESARROLLAR 1. Para el laboratorio se debe diseñar un reloj utilizando 3 displays de 7 segmentos (El grupo escoge si es de ánodo o cátodo común), para presentar la hora desde 0:00 hasta 9:59 cada número del reloj es un display de 7 segmentos, cada LED será la salida del Microcontrolador PIC16F84A. 2. Utilizando el PIC16F877 se realiza el control de apertura de las puertas de laboratorio, este elemento envía el comando para que se muevan 3 motores que hacen parte de las 3 puertas del laboratorio en sentido hacia la izquierda y derecha que cumplen el funcionamiento de apertura y cierre, la apertura esta sincronizada con el reloj diseñado anteriormente utilizando el PIC16F84A que ya está diseñado, este Microcontrolador envía el comando para que el PIC16F877 haga el control de la siguiente forma: - Iniciando el reloj en 0:00 no se realiza la apertura de ninguna puerta - En 0:59 se hace la apertura de la primera puerta por lo que gira el primer motor hacia la izquierda - En 1:59 se cierra la primera puerta, se mueve primer motor hacia la izquierda y el segundo motor se mueve hacia la derecha haciendo la apertura de la segunda puerta - En 2:59 se cierra la segunda puerta, movimiento del segundo motor hacia la izquierda y el tercer motor se mueve hacia la derecha, apertura de la tercera puerta - En 3:59 se cierran todas las puertas - Tenga en cuenta que el tiempo de ejecución del movimiento de cada motor para la apertura es de 22 segundos y para el cierre es de 26 segundos, dando tiempo para que los empleados puedan salir fácilmente y se haga la descontaminación - Se debe hacer un paro de emergencia por si ocurre alguna catástrofe, para ello con un pulsador se efectúa el cierre de las puertas para evitar posibles exposiciones - Se debe repetir el ciclo hasta las 7:59, repitiendo todo el proceso nuevamente

3. Utilizando el PIC16F877 se va a monitorear la cantidad de luz que se presenta en el laboratorio, por lo que se debe hacer lo siguiente: - Utilizando una fotorresistencia o elemento parecido sensar la cantidad de lumenz que existe en el laboratorio - Realizar un promedio de cantidad de luz mínima y máxima (pueden utilizar una escala de porcentaje de 0% a 100%) que puede existir en el laboratorio, si la cantidad de luz baja del 40% se debe encender un bombillo que nivele la cantidad de luz y pase el 80% de lumen.

RELOJ '**************************************************************** '* Name : UNTITLED.BAS * '* Author : [select VIEW...EDITOR OPTIONS] * '* Notice : Copyright (c) 2019 [select VIEW...EDITOR OPTIONS] * '* : All Rights Reserved * '* Date : 9/04/2019 * '* Version : 1.0 * '* Notes : * '* : * '**************************************************************** Device 16F84A Dim a As Byte Dim b As Byte b=0 Dim c As Byte c=0 TRISB = 0 TRISA = 0 PORTA = 0 prog: If b=6 Then b=0 c=c+1 If c=10 Then c=0 EndIf EndIf For a=0 To 9 PORTA=c PORTB=a+16*b DelayMS 200 If a==9 Then b=b+1 EndIf Next a

GoTo prog End

MOTORES '**************************************************************** '* Name : UNTITLED.BAS * '* Author : [select VIEW...EDITOR OPTIONS] * '* Notice : Copyright (c) 2019 [select VIEW...EDITOR OPTIONS] * '* : All Rights Reserved * '* Date : 9/04/2019 * '* Version : 1.0 * '* Notes : * '* : * '**************************************************************** Device = 16F877 XTAL 4 TRISB.0=1 TRISB.7=0 PORTB.7=1 TRISB.1=0 TRISB.2=0 PORTB.1=0 PORTB.2=0 TRISB.3=0 TRISB.4=0 PORTB.3=0 PORTB.4=0 TRISB.5=0 TRISB.6=0 PORTB.5=0 PORTB.6=0 Dim t As Byte t=0 INTCON = %10110000 On Interrupt GoTo x inicio: If t=30 Then PORTB.1 =%0 PORTB.2 =%1 EndIf If t=41 Then PORTB.1 =%0 PORTB.2 =%0 EndIf If t=60 Then PORTB.1 =%0 PORTB.2 =%1

PORTB.3 =%1 PORTB.4 =%0 EndIf If t=71 Then PORTB.3 =%0 PORTB.4 =%0 EndIf If t=73 Then PORTB.1 =%0 PORTB.2 =%0 EndIf If t=90 Then PORTB.3 =%0 PORTB.4 =%1 PORTB.5 =%1 PORTB.6 =%0 EndIf If t=101 Then PORTB.5 =%0 PORTB.6 =%0 EndIf If t=103 Then PORTB.3 =%0 PORTB.4 =%0 EndIf If t=107 Then PORTB.5 =%0 PORTB.6 =%1 EndIf If t=120 Then PORTB.5 =%0 PORTB.6 =%0 EndIf GoTo inicio Disable x: t=t+1 INTCON = %10110000 If t>120 Then t=0 EndIf Resume Enable End

SENSOR DE LUZ Y INDICADORES DE ESTADOS DE LAS PUERTAS '**************************************************************** '* Name : UNTITLED.BAS * '* Author : [select VIEW...EDITOR OPTIONS] * '* Notice : Copyright (c) 2019 [select VIEW...EDITOR OPTIONS] * '* : All Rights Reserved * '* Date : 11/04/2019 * '* Version : 1.0 * '* Notes : * '* : * '**************************************************************** Device = 16F877 XTAL 4 TRISD=0 TRISA.0=1 TRISA.1=0 PORTA.1=0 TRISB=%11111111 ADCON1=%100000 Dim L As Float Dim P As Float Dim S As Byte S=1 Dim r As Byte r=1 Declare LCD_TYPE 0 Declare LCD_DTPIN PORTD.4 Declare LCD_RSPIN PORTD.2 Declare LCD_ENPIN PORTD.3 LCD_LINES 2 inicio: Print At 1,1, "Lm:" L = (ADIn 0)/32704 P=100*(2-L) Print At 1,4,DEC1,P,0 DelayMS 100 ;LCDOUT $FE, 1 If PORTB.1=0 And PORTB.2=0 And PORTB.3=0 And PORTB.4=0 And PORTB.5=0 And PORTB.6=0 And S=1 Then Print At 1,10, "Sig: P1" Print At 2,1, "P1:C /P2:C /P3:C" EndIf If PORTB.2=1 And r=1 Then

Print At 1,10, "P1:Abri..." Print At 2,1, "P1:C /P2:C /P3:C" S=2 EndIf If PORTB.1=0 And PORTB.2=0 And PORTB.3=0 And PORTB.4=0 And PORTB.5=0 And PORTB.6=0 And S=2 Then Print At 1,10, "Sig: P2" Print At 2,1, "P1:A /P2:C /P3:C" r=2 EndIf If PORTB.2=1 And PORTB.3=1 And r=2 Then Print At 1,10, "P2:Abri..." Print At 2,1, "P1:A /P2:C /P:3C" DelayMS 400 Print At 1,10, "P1:Cerr..." DelayMS 400 EndIf If PORTB.2=1 And PORTB.3=0 And r=2 Then Print At 1,10, "P1:Cerr..." Print At 2,1, "P1:A /P2:A /P3:C" S=4 EndIf If PORTB.1=0 And PORTB.2=0 And PORTB.3=0 And PORTB.4=0 And PORTB.5=0 And PORTB.6=0 And S=4 Then Print At 1,10, "Sig: P3" Print At 2,1, "P1:C /P2:A /P3:C" r=3 EndIf If PORTB.4=1 And PORTB.5=1 And r=3 Then Print At 1,10, "P2:Cerr..." Print At 2,1, "P1:C /P2:A /P3:C" DelayMS 400 Print At 1,10, "P3:Abri..." DelayMS 400 EndIf If PORTB.4=1 And PORTB.5=0 And r=3 Then Print At 1,10, "P2:Cerr..." Print At 2,1, "P1:C /P2:A /P3:A" S=5 EndIf If PORTB.1=0 And PORTB.2=0 And PORTB.3=0 And PORTB.4=0 And PORTB.5=0 And PORTB.6=0 And S=5 Then Print At 1,10, "Sig: P3" Print At 2,1, "P1:C /P2:C /P3:A" r=4 EndIf If PORTB.6=1 And r=4 Then Print At 1,10, "P3:Cerr..." Print At 2,1, "P1:C /P2:C /P3:A"

S=1 EndIf

;Print At 1,1,d,p1 ;DelayMS 100 ;Print At 1,1,DEC1,p2 If P