PROYECTO
MICROCONTROLADORES
INVERNADERO
JUSTIFICACION
LIMITACION DEL PROYECTO 3
CAPITULO 2.-Controlador 6
CONCLUSIONES 22
1
1.-Introducción
2.-Objetivo
2
3.-Justificación
Existen microcontroladores más avanzados que tienen por objeto facilitar aún más
la programación que en el caso de los PIC es aquí donde el estudiante al haber
llevado una preparación en electrónica digital es capaz de elegir el microcontrolador
que mejor le satisfaga y necesite, es decir, el conocimiento de cualquier
microcontrolador da hincapié a que se pueda estudiar cualquier otro dado que es la
misma metodología de análisis.
Esta asignatura se vio contenidos básicos como la entrada y salida de datos hasta
los diferentes protocolos de comunicación entre microcontroladores. Para el caso
de nuestro proyecto vimos la necesidad solo de aplicar los siguientes conocimientos
en un lenguaje de programación en C:
3
5.-Diagrama de control del proyecto Invernadero
4
Puerto B.- Al ser de 8 pines es destinado al teclado matricial hexadecimal 4x4 por
la librería manejada.
Puerto D.- Definido por la librería LCD.C para la pantalla LCD 16x2
Puerto E.- Al ser de 4 pines incluido el reset se utilizara para elegir la opción del
menú de opciones.
CAPITULO 2.-CONTROLADOR
5
La parte fundamental y de estudio se centra en este capítulo a continuación se
mostrara en otro diagrama la función física del proyecto.
6
A continuación se presenta el diseño en proteus para el PIC18F4550.
ABANICO
BUZZER
2
A 7 8 9 1
1 U2
RESPACK-7
B 4 5 6
VDD
VSS
VEE
LCD 16X2
RW
RS
D0
D1
D2
D3
D4
D5
D6
D7
36.0
E
0
1 2 3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
C 2
VOUT
ON
D
C 0 = + 3 LM35
2
U1
15
1
RA0/AN0 RC0/T1OSO/T1CKI
3 16
RA1/AN1 RC1/T1OSI/CCP2/UOE
4 17
RA2/AN2/VREF-/CVREF RC2/CCP1/P1A
5 23
RA3/AN3/VREF+ RC4/D-/VM
6 24
RA4/T0CKI/C1OUT/RCV RC5/D+/VP
7 25
RA5/AN4/SS/LVDIN/C2OUT RC6/TX/CK
X1 14
RA6/OSC2/CLKO RC7/RX/DT/SDO
26
CRYSTAL 13
OSC1/CLKI
33 19
RB0/AN12/INT0/FLT0/SDI/SDA RD0/SPP0
34 20
RB1/AN10/INT1/SCK/SCL RD1/SPP1
35 21
RB2/AN8/INT2/VMO RD2/SPP2
36 22
RB3/AN9/CCP2/VPO RD3/SPP3
37 27
RB4/AN11/KBI0/CSSPP RD4/SPP4
38 28
RB5/KBI1/PGM RD5/SPP5/P1B
39 29
RB6/KBI2/PGC RD6/SPP6/P1C
40 30
RB7/KBI3/PGD RD7/SPP7/P1D
R4
8
RE0/AN5/CK1SPP
10k 9
RE1/AN6/CK2SPP
3
4
10
R5 18
RE2/AN7/OESPP
1
DSW2 VUSB RE3/MCLR/VPP R2 R1
OFF
10k
DIPSW_2 10k 10k
R3
PIC18F4550 10k
ON
2
1
DSW1
AJUSTE RELOJ 6
5
OFF ON
1
2
4 3
DIPSW_3
MENU DE OPCIONES
7
DECLARACION VARIABLES Y
FUNCIONES
8
PROGRAMA PRINCIPAL MAIN ()
CLAVE 4 DIGITOS
9
MENU DE OPCIONES
10
3.1.-Directivas
Cualquier programa en
11
Convertidor Análogo Digital
Se configura el prescaler con un factor de división de 1/256. Esto quiere decir que
debido al cristal de 4Mhz cada 256 microsegundos se genera una cuenta en el
registro contador TMR0, por tal razón se inicializa el TMR0 con un 12 al inicio para
que cada 244 cuentas se desborde el TMR0 y provoque una interrupción. Dentro de
la rutina de servicio de interrupción se tiene un contador que detectara cuando el
microcontrolador se haya interrumpido 16 veces obteniendo una cuenta de
aproximadamente de 1 segundo de la siguiente forma: 256*244*16= 999,424
Microsegundos.
Debido a que el TMR0 del microcontrolador 18F4455 es de 16 bits (65536 cuentas
para el sobreflujo) entonces la cuenta de inicio seria de 65292 para que cada 244
cuentas se desborde el TMR0 y provoque una interrupción. La fórmula quedaría de
la siguiente manera: 256*244*16= 999,424 Microsegundos.
12
3.-2 Declaración de Variables y Funciones
Después tenemos que definir una constante tipo carácter que es la clave de acceso
al sistema, esta constante definida como “contra” se comparara con los datos que
se ingresaran al teclado matricial, en este caso de manera arbitraria se asignó la
contraseña 1,2,3,4. Al ser un dato constante e inmodificable es posible guardarlo en
la memoria ROM del PIC.
Interrupción #INT_RTCC
13
10 segundos. Esto en la práctica representa que la bomba de agua se activara cada
minuto haciendo el suministro de agua por aproximadamente 10 segundos.
Declaración de Funciones
14
Una vez configurado la forma en
que operara físicamente el PIC
además de las variables globales
y funciones a lo largo del
sistema, se ejecuta el programa
principal void main() aquí se
agregaron variables locales es
decir que no son de utilidad en
todo el sistema solamente para
una parte especifica del
programa.
Kbd_init ()/lcd_init ().- Función del compilador para inicializar el teclado y LCD 16x2.
15
3...4 Clave de Acceso
Se entra a un ciclo infinito que es lo que realizara una y otra vez el PIC iniciando
con un mensaje de bienvenida “PROYECTO MICROS”. Después entramos a otro
ciclo while que es donde los datos que provienen del teclado se captaran, al definir
una contraseña de cuatro dígitos solo se repetirá este ciclo cuatro veces, donde a
la primera vez que entre al ciclo guardara la primera tecla presionada en el arreglo
dato[i] después se incrementa i para guardar el segundo dato en la variable dato[i]
que en este caso será dato [1] y así consecutivamente hasta completar los cuatro
dígitos.
16
ULTRABRILLANTE lo que simulara en la maqueta que esta prendida la luz del
sistema.
3.5.-Menú de Opciones
17
sensor ON-OFF revisa si nuestro contenedor está lleno o vacío, de ahí la
característica ON-OFF.
La última opción 0x04 hace que al terminar de utilizar nuestro sistema se proceda
ahora a cerrarlo, esto con la instrucción reset_cpu () que nos lleva al inicio del
programa que es ingresar la clave de ingreso nuevamente.
3.6.-Funciones de control
Reloj
Temperatura
18
para el pic 5 volts se tiene el valor 1023 por su resolución. El actuador que es un
abanico se activara cuando la temperatura establecida este por encima de 33
grados Celsius
Llenado de Agua
Una vez habiendo programado los pulsos o sea tener la etapa de control
definida se procede a acoplar esos pulsos a una carga especifica se tiene que tomar
en cuenta que el microcontrolador NO PROPORCIONA voltaje a la carga por lo que
es necesario separar la etapa de potencia a la etapa de control. El siguiente
19
esquema como debe adaptarse una señal proveniente de un microcontrolador PIC,
ARDUINO, GAL o semejante.
1.-Optoacoplador
4.-Diodos
5.-Resistencias
1.-Abanico
20
CARACTERISTICAS: 12volts 120 mA
2.-Sensor ON-OFF
3.-Bomba de Agua
EVIDENCIAS
21
CONCLUSIONES
22
Para realizar un proceso de control se tienen que tomar en cuenta tres
etapas: la entrada de datos, el control y el acondicionamiento de la
señal
Se aplicaron temas de Timer,Convertior análogo digital, entrada-salida
de datos, Teclado matricial, Pantalla LCD 16x2, estructuras de
repetición, Menú de opciones para la realización de este proyecto
Es necesario aislar la etapa de potencia a la etapa de control para
evitar daños a todo el sistema de control.
Conocer las características de la carga a controlar así como la de los
sensores constituye un paso importante a considerar en el
acondicionamiento de señal
Para facilitar el proceso de codificaciones un programa en lenguaje en
C se tiene que empezar por realizar cada etapa del programa para
posteriormente integrar todas las partes en una sola.
Para el uso del timer se requiere establecer una variable cuenta que
permita interrumpir un numero x de veces por desborde todo eso en
función de si el timer es de 8 o 16 bits
El pic 18f4550 permite además de las funciones básicas de control
establecer protocolos de comunicación como la USB, I2C entre otras
en caso de que nuestro proyecto requiere ser controlado a distancia o
por la computadora.
El proyecto invernadero constituye una de las
tendencias que actualmente se hacen en el área de la domótica.
23