Se denomina microcontrolador a un dispositivo
programable capaz de realizar diferentes actividades que
requieran del procesamiento de
datos digitales y del control y
comunicación digital de diferentes
dispositivos.
Los microcontroladores poseen una memoria interna
que almacena dos tipos de datos; las
instrucciones, que corresponden al programa que se
ejecuta, y los registros, es
decir, los datos que el usuario maneja, así como registros
especiales para el control de las diferentes funciones del
microcontrolador.
Los microcontroladores se programan en Assembler y cada
microcontrolador varía su conjunto de instrucciones de
acuerdo a su fabricante y modelo. De
acuerdo al número de instrucciones que el microcontrolador
maneja se le denomina de arquitectura RISC
(reducido) o CISC (complejo).
Los microcontroladores poseen principalmente una ALU
(Unidad Lógico Aritmética), memoria del programa,
memoria de registros, y pines I/O (entrada y/0 salida). La ALU es
la encargada de procesar los datos dependiendo de las
instrucciones que se ejecuten (ADD, OR, AND), mientras que los
pines son los que se encargan de comunicar al microcontrolador
con el medio externo; la función de
los pines puede ser de transmisión de datos, alimentación de
corriente para l funcionamiento de este o pines de control
especifico.
En este proyecto se
utilizo el PIC 16F877. Este microcontrolador es fabricado por
MicroChip familia a la cual
se le denomina PIC. El modelo 16F877 posee varias
características que hacen a este microcontrolador un
dispositivo muy versátil, eficiente y practico para ser
empleado en la aplicación que posteorimente será
detallada.
Algunas de estas características se muestran a
continuación:
- Soporta modo de comunicación serial, posee dos
pines para ello. - Amplia memoria para datos y programa.
- Memoria reprogramable: La memoria
en este PIC es la que se denomina FLASH; este
tipo de memoria se puede borrar electrónicamente (esto
corresponde a la "F" en el modelo). - Set de instrucciones reducido (tipo RISC), pero con
las instrucciones necesarias para facilitar su
manejo.
En siguiente tabla de pueden observar las
características más relevantes del
dispositivo:
CARACTERÍSTICAS | 16F877 |
Frecuencia máxima | DX-20MHz |
Memoria de programa flash palabra de 14 | 8KB |
Posiciones RAM de | 368 |
Posiciones EEPROM de datos | 256 |
Puertos E/S | A,B,C,D,E |
Número de pines | 40 |
Interrupciones | 14 |
Timers | 3 |
Módulos CCP | 2 |
Comunicaciones Serie | MSSP, USART |
Comunicaciones paralelo | PSP |
Líneas de entrada de CAD de 10 | 8 |
Juego de instrucciones | 35 Instrucciones |
Longitud de la instrucción | 14 bits |
Arquitectura | Harvard |
CPU | Risc |
Canales Pwm | 2 |
Pila Harware | – |
Ejecución En 1 Ciclo | – |
Descripción de los puertos:
Puerto A:
- Puerto de e/s de 6 pines
- RA0 è RA0 y AN0
- RA1 è RA1 y AN1
- RA2 è RA2, AN2 y Vref-
- RA3 è RA3, AN3 y Vref+
- RA4 è RA4 (Salida en colector abierto) y
T0CKI(Entrada de reloj del modulo Timer0) - RA5 è RA5, AN4 y SS (Selección esclavo para el puerto serie
síncrono)
Puerto B:
- Puerto e/s 8 pines
- Resistencias pull-up programables
- RB0 è Interrupción externa
- RB4-7 èInterrupcion por cambio de
flanco - RB5-RB7 y RB3 è programacion y debugger in
circuit
Puerto C:
- Puerto e/s de 8 pines
- RC0 è RC0, T1OSO (Timer1 salida oscilador) y
T1CKI (Entrada de reloj del modulo Timer1). - RC1-RC2 è PWM/COMP/CAPT
- RC1 è T1OSI (entrada osc timer1)
- RC3-4 è IIC
- RC3-5 è SPI
- RC6-7 è USART
Puerto D:
- Puerto e/s de 8 pines
- Bus de datos en PPS (Puerto
paralelo esclavo) - Puerto E:
- Puerto de e/s de 3 pines
- RE0 è RE0 y AN5 y Read de PPS
- RE1 è RE1 y AN6 y Write de PPS
- RE2 è RE2 y AN7 y CS de PPS
Dispositivos periféricos:
- Timer0: Temporizador-contador de 8 bits con
preescaler de 8 bits - Timer1: Temporizador-contador de 16 bits con
preescaler que puede incrementarse en modo sleep de forma
externa por un cristal/clock. - Timer2: Temporizador-contador de 8 bits con
preescaler y postescaler. - Dos módulos de Captura, Comparación,
PWM (Modulación de Anchura de
Impulsos). - Conversor A/D de 1 0 bits.
- Puerto Serie Síncrono Master (MSSP) con SPI e
I2C (Master/Slave). - USART/SCI (Universal Syncheronus Asynchronous
Receiver Transmitter) con 9 bit. - Puerta Paralela Esclava (PSP) solo en encapsulados
con 40 pines
Para ver el gráfico seleccione la
opción "Descargar" del menú superior
Para ver el gráfico seleccione la
opción "Descargar" del menú superior
NOMBRE DEL PIN | PIN | TIPO | TIPO DE BUFFER | DESCRIPCIÓN |
OSC1/CLKIN | 13 | I | ST/MOS | Entrada del oscilador de cristal / Entrada de |
OSC2/CLKOUT | 14 | O | – | Salida del oscilador de cristal |
MCLR/Vpp/THV | 1 | I/P | ST | Entrada del Master clear (Reset) o entrada de |
RA0/AN0 RA1/AN1 RA2/AN2/ Vref- RA3/AN3/Vref+ RA4/T0CKI RA5/SS/AN4
|
2 3 4 5 6 7
|
I/O I/O I/O I/O I/O I/O |
TTL TTL TTL TTL ST TTL | PORTA es un puerto I/O bidireccional RAO: puede ser salida analógica RA1: puede ser salida analógica RA2: puede ser salida analógica 2 o RA3: puede ser salida analógica 3 o RA4: puede ser entrada de reloj el RA5: puede ser salida analógica 4 o el |
RBO/INT RB1 RB2 RB3/PGM RB4 RB5 RB6/PGC RB7/PGD |
33 34 35 36 37 38 39 40 |
I/O I/O I/O I/O I/O I/O I/O I/O |
TTL/ST TTL TTL TTL TTL TTL TTL/ST TTL/ST | PORTB es un puerto I/O bidireccional. Puede ser RB0 pude ser pin de interrupción RB3: puede ser la entada de programación Pin de interrupción Pin de interrupción Pin de interrupción. Reloj de |
RCO/T1OSO/T1CKI RC1/T1OS1/CCP2 RC2/CCP1 RC3/SCK/SCL RC4/SD1/SDA RC5/SD0 RC6/Tx/CK RC7/RX/DT | 15 16 17
18
23 24 25 26 | I/O I/O I/O
I/O
I/O I/O I/O I/O | ST ST ST
ST
ST ST ST ST | PORTC es un puerto I/O bidireccional RCO puede ser la salida del oscilador timer1 o RC1 puede ser la entrada del oscilador timer1 o RC2 puede ser una entrada de captura y RC3 puede ser la entrada o salida serial de RC4 puede ser la entrada de datos SPI y modo RC5 puede ser la salida de datos SPI RC6 puede ser el transmisor asíncrono RC7 puede ser el receptor asíncrono USART |
RD0/PSP0 RD1/PSP1 RD2/PSP2 RD3/PSP3 RD4/PSP4 RD5/PSP5 RD6/PSP6 RD7/PSP7 |
19 20 21 22 27 28 29 30 |
I/O I/O I/O I/O I/O I/O I/O |
ST/TTL ST/TTL ST/TTL ST/TTL ST/TTL ST/TTL ST/TTL ST/TTL | PORTD es un puerto bidireccional |
REO/RD/AN5 RE1/WR/AN RE2/CS/AN7 | 8
9
10 | I/O
I/O
I/O | ST/TTL
ST/TTL
ST/TTL | PORTE es un puerto I/O bidireccional REO: puede ser control de lectura para el puerto esclavo paralelo o RE1: puede ser escritura de control para el puerto RE2: puede ser el selector de control para el |
Vss | 12.31 | P | – | Referencia de tierra |
Vdd | 11.32 | P | – | Fuente positiva para los pines lógicos y |
NC | – | – | – | No está conectado internamente |
El proyecto presentado tendrá como objetivo
principal, diseñar un controlador de temperatura
usando un microcontrolador.
Se parte del hecho de que para realizar el control, hay
que sensar la variable de proceso en
primer lugar, posteriormente se debe enviar las señales
e instrucciones respectivas al elemento de control
(microcontrolador) para que este actue en consecuencias
realizando la acción
de control.
Se tiene como elemento principal un microcontrolador
PIC16F877, el cual recibirá a través de pulsadores,
el valor de
Setpoint que desee el usuario.
Se utilizará una pantalla de LCD, donde se
visualizarán los valores de
Setpoint. El manejo de dicha pantalla se realizará a
través de los puertos de salida del
microcontrolador.
PLANTEAMIENTO DEL PROBLEMA
En los procesos
industriales es necesario tener un registro y
control eficiente sobre todas las variables que
intervienen en el proceso, con el fin de conocer el comportamiento
de la misma durante cada una de las fases del proceso, de manera
tal que esta información realizar las acciones
necesarias para un control seguro y
eficiente. Basándonos en esto se desea diseñar un
controlador de temperatura.
FACTIBILIDAD
Puede decirse que el presente proyecto es factible
puesto que todos los dispositivos que intervienen el,
están disponibles en el mercado al igual
que la información referente a su funcionamiento y los
costos de los
mismos son accesibles. También podemos mencionar entre
otras razones que se cuenta con los equipos y accesoria
técnica para la programación del PIC (dispositivo
principal) así como también para la
manipulación de los de más dispositivos que
intervienen en el proyecto. Se ha realizados proyectos
similares anteriormente obteniéndose buenos
resultados.
DIAGRAMA DE BLOQUES
Para ver el
gráfico seleccione la opción "Descargar" del
menú superior
Br. Aníbal Hernández
Br. Danny Herrera
IX Electrónica
REPUBLICA BOLIVARIANA DE VENEZUELA –
MINISTERIO DE LA DEFENSA
UNIVERSIDAD NACIONAL EXPERIMENTAL DE LA FUERZA
ARMADA
NUCLEO MARACAY – DEPARTAMENTO DE ELECTRONICA
MARACAY, 2004