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 bits | 8KB |
Posiciones RAM de datos | 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 bits | 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 Máquina | – |
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 señal de reloj externa |
OSC2/CLKOUT | 14 | O | – | Salida del oscilador de cristal |
MCLR/Vpp/THV | 1 | I/P | ST | Entrada del Master clear (Reset) o entrada de voltaje de programación o modo de control high voltaje test |
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 0 RA1: puede ser salida analógica 1 RA2: puede ser salida analógica 2 o referencia negativa de voltaje RA3: puede ser salida analógica 3 o referencia positiva de voltaje RA4: puede ser entrada de reloj el timer0. RA5: puede ser salida analógica 4 o el esclavo seleccionado por el puerto serial síncrono. |
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 programado todo como entradas RB0 pude ser pin de interrupción externo. RB3: puede ser la entada de programación de bajo voltaje Pin de interrupción Pin de interrupción Pin de interrupción. Reloj de programación serial |
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 la entrada de reloj del timer1 RC1 puede ser la entrada del oscilador timer1 o salida PMW 2 RC2 puede ser una entrada de captura y comparación o salida PWN RC3 puede ser la entrada o salida serial de reloj síncrono para modos SPI e I2C RC4 puede ser la entrada de datos SPI y modo I2C RC5 puede ser la salida de datos SPI RC6 puede ser el transmisor asíncrono USART o el reloj síncrono. RC7 puede ser el receptor asíncrono USART o datos síncronos |
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 I/O |
ST/TTL ST/TTL ST/TTL ST/TTL ST/TTL ST/TTL ST/TTL ST/TTL | PORTD es un puerto bidireccional paralelo |
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 entrada analógica 5 RE1: puede ser escritura de control para el puerto paralelo esclavo o entrada analógica 6 RE2: puede ser el selector de control para el puerto paralelo esclavo o la entrada analógica 7. |
Vss | 12.31 | P | – | Referencia de tierra para los pines lógicos y de I/O |
Vdd | 11.32 | P | – | Fuente positiva para los pines lógicos y de I/O |
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