Transcript
Page 1: Microcontroladores PIC  USS

MICROCONTROLADORESEXPOSITOR :EXPOSITOR :

ING. JUAN GARCIA ANGELESING. JUAN GARCIA ANGELES

Telef.: 979560804

Email: [email protected]

Page 2: Microcontroladores PIC  USS

¿Qué es un microcontrolador?

Hubo un tiempo en que los sistemas de control se hacían exclusivamente con componentes discretos lógicos, eran cajas grandes, pesadas (antes incluso eran diseños analógicos más grandes aún y más complejos).

Después se utilizaron microprocesadores y el sistema de control entero podía encajar dentro de una tarjeta de circuito impreso. Esto es común todavía, Vd. puede encontrar muchos sistemas impulsados por uno de los muchos microprocesadores comunes (incluso Zilog Z80, Intel 8088, Motorola 6809, y otros).

Page 3: Microcontroladores PIC  USS

Como el proceso de miniaturización siguió continuando, todos los componentes que se requieren para un sistema de control se construyó dentro de un chip, nació el microcontrolador.

“Un microcontrolador es un circuito integrado que incluye todos (o casi) los componentes necesarios para tener un sistema de control completo.”

Page 4: Microcontroladores PIC  USS

• CPU•RAM •EPROM/PROM/ROM •I/O (input/output) - serie y paralelo •Temporizadores/Contadores •Sistema de interrupciones.•Los modelos más potentes incluyen además :Sistemas auxiliares (A/D, D/A, dsp ..)

Los microcontroladores son "la solución en un chip", incluyen típicamente:

Page 5: Microcontroladores PIC  USS

Mando medioambiental Invernadero, Fábrica, Casa

LAS APLICACIONES :

Los microcontroladores frecuentemente se encuentran en:

Aparatos electrodomésticos: Microondas, Hornos, FrigoríficosTelevisión ,Vídeos, Equipos sonido

Equipos informáticosImpresoras, Copiadoras láser, Módems, Unidades de disco..

Automóviles Mando de sistemas del automóvil (ABS,Inyeccion,Encendido..), Diagnósticos,Climatizador

Instrumentación, Sistemas aerospaciales ..

Page 6: Microcontroladores PIC  USS

Una aplicación especial de los microcontroladores es la captura de datos: Temperatura, humedad, velocidad, etc.El tamaño de los microcontroladores es pequeño y consumen muy poco, esto los hace ideales para sistemas portátiles y autónomos.

Los microcontroladores se usan típicamente donde la potencia de procesamiento no es importante.

Los sistemas basados en microprocesador y los microcontroladores se usan extensivamente en robótica

Page 7: Microcontroladores PIC  USS

Los hay de 4, 8, 16, y 32 bits de ancho de palabra.

Existen Microcontroladores/Procesadores especializados para:

ComunicacionesManejo del tecladoProcesamiento de la señalProceso vídeoOtras tareas.

Tipos de microcontroladores

Page 8: Microcontroladores PIC  USS

Para decidir el tipo de dispositivo a utilizar para llevar a cabo un proyecto, hemos de considerar lo siguiente:

¿Puedo obtener ayuda cuando tenga problemas?¿Qué herramientas de desarrollo están disponibles y cuanto cuestan?.¿Que clase de documentación tengo disponible (manuales de referencia, notas de aplicación, libros)¿Tiene el fabricante disponibles para ese microcontrolador dispositivos periféricos (conversores A/D, memoria, reguladores de tensión)?¿Disponen de microcontroladores OTP, grabables por máscara, EPROM, de esa misma familia?

¿Qué microcontrolador usar?

Page 9: Microcontroladores PIC  USS

Los Fabricantes de uP y uC

Intel MicrochipAMD Motorola IBM TI Cyrix Hitachi NECLSIIDT

MitsibishiPhilips MatsushitaAT&T Toshiba

Page 10: Microcontroladores PIC  USS

CARACTERISTICAS DE LOS MICROCONTROLADORES

Técnicas de fabricación CMOS - Semiconductor de Oxido de Metal Complementario

Este es el nombre de la técnica con que se fabrican la mayoría (sino todos) los microcontroladores.

Los dispositivos CMOS tienen las siguientes características:

Consumen muy poca corriente y pueden ser alimentados por baterías durante mucho tiempo.El reloj del sistema puede detenerse y ponerse el dispositivo "en modo sueño" para bajar más aún su consumo.CMOS tiene una alta inmunidad al ruido eléctrico

Page 11: Microcontroladores PIC  USS

Las CPU´s atendiendo al tipo de instrucciones que utilizan pueden clasificarse en:

CISC: (Complex Instruction Set Computer) Computadores de juego de instrucciones complejo, que disponen de un repertorio de instrucciones elevado (unas 80), algunas de ellas muy sofisticadas y potentes, pero que como contrapartida requieren muchos ciclos de máquina para ejecutar las instrucciones complejas.

RISC: (Reduced Instruction Set Computer) Computadores de juego de instrucciones reducido, en los que el repertorio de instrucciones es muy reducido (en nuestro caso 35), las instrucciones son muy simples y suelen ejecutarse en un ciclo máquina. Además los RISC deben tener una estructura pipeline y ejecutar todas las instrucciones a la misma velocidad.

SISC.(Specific Instriction Set Computer) Computadores de juego de instrucciones específico.

Page 12: Microcontroladores PIC  USS

Arquitectura Von-Neuman Los uC. Von-Neuman tienen un solo bus de datos por el cual circulan instrucciones y datos.Las instrucciones del programa y los datos se guardan conjuntamente en una memoria común.Cuando la CPU se dirige a la memoria principal, primero saca la instrucción y después saca los datos necesarios para ejecutarla, esto retarda el funcionamiento de la CPU.

Arquitectura según el modelo de Von Neumann

Tipos de arquitectura

Page 13: Microcontroladores PIC  USS

Dispone de dos memorias:Memoria de datos

Memoria de Programa

Además cada memoria dispone de su respectivo bus, lo que permite, que la CPU pueda acceder de forma independiente y simultánea a la memoria de datos y a la de instrucciones. Como los buses son independientes éstos pueden tener distintos contenidos en la misma dirección .

Arquitectura Harvard

Page 14: Microcontroladores PIC  USS

Opciones avanzadas de Memoria

FLASH (EPROM) Las memorias FLASH son mejores que las EEPROM cuando tenemos que almacenar el programa de control en una memoria no volátil.Estas memorias son más rápidas que las memoria EEPROM y permiten más ciclos de borrado/grabación.

EEPROM - Memoria (solo de lectura) Programable y Borrable Eléctricamente.

Muchos microcontroladores tienen incorporada una cantidad limitada de memoria EEPROM dentro del chip, el objetivo es tener una pequeña cantidad de memoria donde poner una serie de parámetros que puedan ser cambiados si la aplicación lo necesita.Este tipo de memoria es relativamente lenta, y el número de veces que se puede borrar/grabar está limitado.

Page 15: Microcontroladores PIC  USS

Memoria "Field programming/reprogramming"Este tipo de memoria no volátil permite ser reprogramada en el sitio sin quitar el microcontrolador del sistema que controla.Una aplicación típica de esta memoria es el sector del automóvil, pues podemos reprogramar el microcontrolador "in situ". Por ejemplo cambiando los parámetros de la inyección electrónica para adaptar el motor a normas de emisión de humos, o ponerlo a punto después de un periodo de desgaste.Se podría remotamente actualizar su módem de Vfast a V.34.

Memoria RAM con pila Son útiles cuando tenemos un programa de gran tamaño, es mucho más rápida que la memoria no volátil, no hay límite en el número de veces que puede ser grabada, así, es perfecta en aplicaciones donde se cambien cantidades grandes de datos frecuentemente.

Page 16: Microcontroladores PIC  USS

Memoria OTP - One Time Programmable Un OTP es una memoria PROM (memoria programable de solo lectura). Una vez la grabamos con un grabador de EPROM normal, esta no puede modificarse ni borrarse.Este tipo de memorias se utiliza para hacer series pequeñas de producción (para probar el código de programa) antes de fabricar grandes tiradas de microcontroladores con memorias ROM de máscara.Como los ciclos de desarrollo de productos son cada vez más cortos, es interesante para los fabricantes de microcontroladores ofrecer OTPs como una opción.Las memorias de ROM de máscara son interesantes cuando se necesitan un gran número de unidades y estemos seguros de que el programa va a ser el definitivo, pero el tiempo de entrega es de 8 a 44 semanas (una eternidad en algunos sectores).

Page 17: Microcontroladores PIC  USS

Protección del software O por encriptacion o protección del fusible, el software programado es protegido contra personal desautorizado (ingeniería inversa, modificaciones, piratería, etc.). Ésta es sólo una opción en OTPs y dispositivos de ventana (EPROM).En Dispositivos ROM de máscara, la seguridad no se necesita - la única manera de leer su código sería rasgar el microcontrolador, y examinar con un microscopio electrónico. Cuando le encargamos a un fabricante de microcontroladores nuestro microcontrolador de ROM de máscara ellos tienen que probarlo para asegurarse que se programa correctamente.Para ello deben poder leer desde fuera de la ROM y compararlo al código que Vd. les envió. Este modo de funcionamiento es conocido como modo de prueba.En modo de prueba se puede leer cualquier dispositivo.

Page 18: Microcontroladores PIC  USS

Temporizadores.Cronómetros "perro guardián".Circuitos para "dormir/despertar" al microcontrolador.Modos potentes de direccionamiento de entrada/salida.Circuitos conversores analógico/digital etc.

Estas nuevas características específicas para control son cada vez más numerosas y vienen incorporadas sin aumento de precio en los nuevos dispositivos.

Los microcontroladores vienen ahora con una series de características que son de una gran ayuda al ingeniero de control:

Page 19: Microcontroladores PIC  USS

RECURSOS DE LOS MICROCONTROLADORES

SLEEPEl dispositivo puede ponerse en el modo de Ocioso/Parada (IDLE /HALT) por medio del software.En estos modos de funcionamiento, en la memoria RAM no se pierde ni ningún otro dato.En modo sleep (ocioso), todas las actividades se detienen excepto:

La circuitería de oscilador de asociada La lógica del perro guardián El amonestador del reloj El cronómetro ocioso (un cronómetro corriente libre)

• Protección de Brownout Protección de Brownout normalmente es un circuito que protege contra sobretensiones de alimentación

Page 20: Microcontroladores PIC  USS

Temporizador Watchdog ("Perro guardian")Un temporizador perro guardián soluciona de una manera elegante la recuperación del sistema ante un problema.Por ejemplo si un programa entra en un bucle infinito, o si un fallo de hardware le impide funcionar, entonces el temporizador de perro guardián reseteará el sistema en un intervalo predeterminado.El problema puede continuar existiendo, pero al menos tenemos una vía de solución (podriamos reiniciar el sistema en un modo de funcionamiento mínimo o auxiliar).Esta característica es muy útil para sistemas desatendidos.

Page 21: Microcontroladores PIC  USS

ENTRADAS y SALIDAS UART

Un UART (Unidad Universal de Transmisión Recepción Asíncrona) es un dispositivo adaptador del puerto serie para comunicaciones asíncronas.

USART Un USART (Unidad Universal de Transmisión Recepción Síncrona y Asíncrona) es un adaptador del puerto de serie para comunicaciones asíncronas o síncronas.Los dispositivos que usan un USART son típicamente más rápidos (tanto como 16 veces) que con un UART.

SPI (Motorola) Un SPI (interface periférica de serie) es un puerto de serie síncrono.

SCI (serial communications interface)Un SCI es un UART reforzado (puerto de serie asíncrono).

Page 22: Microcontroladores PIC  USS

Conversión Analógica Digital (A/D) Ha sido un componente típicamente externo, convierten tensión analógica a su valor digital, se utiliza para adquisición de datos del mundo analógico, (temperatura, humedad, etc.) dependiendo del tipo de sensor conectado.

Conversores D/A (Digitales/Analógicos)Sirven para sacar una tensión analógica a partir de un valor digital, un ejemploEn un sistema de 8 bits alimentado con una tensión de 5 voltios, el número 50 sería convertido a una tensión analógica de 0.9765 voltios

(50/256 * 5 voltios)= 0.9765 voltios

Page 23: Microcontroladores PIC  USS

Interrupciones.Al contrario de la técnica (Polling) en la que el procesador está continuamente preguntando a los periféricos (temporizadores /UARTS / Conversores A/D / Componentes externos) cuando tienen un dato disponible para hacer la transferencia de entrada salida (y perdiendo la mayoría del tiempo en preguntar), una técnica más eficiente es dejar a los periféricos comunicar cuando deben ser atendidos:El procesador puede estar ejecutando su programa principal, y solo responderá a los periféricos cuando ellos lo necesiten. Cuando el procesador recibe una interrupción, abandona el programa principal, identifica al periférico que ha producido la interrupción y ejecuta la subrutina de atención a la interrupción adecuada, para después volver al programa principal.

Page 24: Microcontroladores PIC  USS

LENGUAJES DE PROGRAMACIÓN PARA MICROCONTROLADORES

LENGUAJE ENSAMBLADOR El lenguaje máquina es la representación del programa tal como la entiende el microcontrolador.El lenguaje ensamblador es una representación alfanumérica del lenguaje máquina, lo que facilita su lectura.Cada instrucción en lenguaje ensamblador corresponde a una instrucción en código máquina (sin tener en cuenta macros ni directivas).Un programa en lenguaje ensamblador es rápido y corto. Esto es porque el programador genera el código más óptimo posible, el programador se adapta al microcontrolador. Programando en ensamblador Vd. aprenderá la arquitectura y estructura del chip

Page 25: Microcontroladores PIC  USS

Intérpretes Un Intérprete es un lenguaje traductor de alto nivel (próximo al lenguaje natural) a código máquina.El Intérprete está residente en el microcontrolador. Ejecuta el programa leyendo cada sentencia en alto nivel una a una y traduciéndolas y ejecutándolas (traduce y ejecuta al mismo tiempo).Los dos intérpretes más populares que hay para microcontroladores son el BASIC y el FORTH.

El BASIC es conocido por su sencillez, legibilidad y por supuesto porque todo el mundo ha programado en BASIC alguna vez que otra.. Una idea común es que el BASIC (interpretado) es lento, esto puede ser mejorado usando diferentes técnicas.

Page 26: Microcontroladores PIC  USS

El FORTH tiene muchos fans debido a su velocidad (se aproxima al lenguaje ensamblador) y su afinidad para construir un sistema con partes reemplazables de software.

Muchos sistemas FORTH vienen con un programa monitor que transforma su PC en un sistema de desarrollo.Puede ser difícil escribir en FORTH (sino se tiene experiencia con él) e incluso es duro de leer. Sin embargo, es muy útil y productivo como lenguaje para control de sistemas y para robótica.

Una cosa interesante de los Intérpretes es que se puede construir y desarrollar un programa interactívamente. Vd. escribe primero un trozo pequeño de programa y a continuación puede probarlo para ver inmediatamente cómo funciona. Cuando los resultados son satisfactorios, vd. puede agregar entonces las partes adicionales que necesite y así consecutivamente.

Page 27: Microcontroladores PIC  USS

Los Compiladores Un compilador es un lenguaje de alto nivel que combina la programación fácil de un intérprete con una grán velocidad de proceso. Esto se hace traduciendo todo el programa de alto nivel directamente a código máquina. El código máquina se pasa a una memoria EPROM o se carga en la memoria RAM del microcontrolador. El microcontrolador entonces ejecuta el programa traducido directamente, sin haberlo interpretado primero.

Los compiladores más conocidos para microcontroladores son "C", BASIC compilado y el "PL/M" de Intel, Módula-2 tiene también un seguimiento relativo debido a su eficiente código y alta productividad. Para grandes chips algunos programadores siguen programando en ADA (16 bits o más).

Page 28: Microcontroladores PIC  USS

HERRAMIENTAS DE DESARROLLO Simuladores

Un simulador ejecuta su programa de microcontrolador en un ordenador (como su PC). Se puede ejecutar el programa paso a paso y ver exactamente qué pasa según el programa se ejecutaVd. puede ver y modificar el contenido de los registros, memoria, variables y ver como responde el programa. Elimina (o al menos retarda) el ciclo borrado/programado de la EPROM en el desarrollo de programas de microcontrolador.Se puede aprender experimentando con pequeños trozos de código y observar en pantalla los resultados.

Page 29: Microcontroladores PIC  USS

Debuggers residentes Un debbuger residente corre su programa dentro del propio microcontrolador, al mismo tiempo muestra el progreso de depuración en una máquina host (como por ejemplo un PC).Tiene las mismas características que un simulador normal, con la ventaja adicional de que el programa corre en un microcontrolador real.Un debbuger residente, roba los siguientes recursos al microcontrolador:

Un puerto de comunicaciones, para comunicarse con el host.Una interrupción, para generar programas paso a paso.Una cierta cantidad de memoria para almacenar el programa residente.

Page 30: Microcontroladores PIC  USS

Emuladores Si se dispone de dinero, este es el equipo para desarrollar su sistema.Un emulador es un sofisticado dispositivo que sustituye al microcontrolador al mismo tiempo que está captando información.Hemos de retirar el microcontrolador de la placa y poner en su lugar el emulador.Hemos de retirar el microcontrolador de la placa y poner en su lugar el emulador.Nos dá total información sobre lo que está pasando en la realidad, y no roba ningún recurso a la tarjeta que está analizando.El emulador puede venir con su propio display o conectado a un PC.

Page 31: Microcontroladores PIC  USS

PRG16PRO

ADAPTADOR

SOFTWARE

PICBASIC PROCOMPILER

HERRAMIENTAS DE DESARROLLO

PIC START MLAB-C, MPLAB

Page 32: Microcontroladores PIC  USS

PIC (MicroChip) La mayoría de la gente cree que la línea de microcontroladores PIC es de reciente introducción en el mercado. Sin embargo eran populares hace 20 años. Los microcontroladores PIC fueron los primeros microcontroladores RISC, RISC generalmente implica que la simplicidad de diseño permite añadir más características a bajo precio y la línea PIC nó es una excepción.Aunque tiene pocas instrucciones (33 instrucciones el 16C5X mientras que el Intel 8048 tiene más de 90), la línea PIC tiene las características siguientes:Buses de instrucciones y datos separados (arquitectura Harvard) lo que permite el acceso simultáneo a las instrucciones y a los datos, y el solapamiento de algunas operaciones para incrementar las prestaciones de proceso

Page 33: Microcontroladores PIC  USS

PIC (MicroChip) continuación I El beneficio de su diseño tan sencillo es que :

El chip es pequeñoPocas patillas.Muy bajo consumo.

Los microcontroladores PIC están ganando popularidad debido a su bajo costo, pequeño tamaño y a su bajo consumo pueden ser usados en áreas en las que antes se pensaba que eran inapropiados.Existen 4 líneas

PIC16C5XPIC16CXXPIC17CXXPIC18CXX

La linea 16C5X es la línea descendiente del diseño original PIC, está limitada y se ha quedado obsoleta con la línea 16CXX.

Page 34: Microcontroladores PIC  USS

APLICACIONESAPLICACIONESAPLICACIONESAPLICACIONES

Page 35: Microcontroladores PIC  USS
Page 36: Microcontroladores PIC  USS
Page 37: Microcontroladores PIC  USS
Page 38: Microcontroladores PIC  USS
Page 39: Microcontroladores PIC  USS
Page 40: Microcontroladores PIC  USS
Page 41: Microcontroladores PIC  USS

DETECTOR DE PROXIMIDAD POR ULTRASONIDO

Page 42: Microcontroladores PIC  USS
Page 43: Microcontroladores PIC  USS

VOLTIMETRO SERIAL

Page 44: Microcontroladores PIC  USS

• Usado en jóvenes amputados entre 5 a 9 años

• Los amputado controlan estas manosmediante la contracción de los músculos desus brazos

• El sistema posee unos electrodos y amplificaseñales en microvoltios de estascontracciones

• El Stamp fue elegido por su pequeño tamaño,y controla los servos y solenoides para laarticulación de la mano.

Page 45: Microcontroladores PIC  USS

• Usados en un episodio de los X-File

• Se crearon complejos movimientos laterales y adelante-atrás via servos y solenoides

• Se eligieron por ser fáciles de construir, unir y programar• Se utlizaron Stamp I y básicamente el comando pulsout

Page 46: Microcontroladores PIC  USS

•El gato padece Lipodósis hepática(Requiere de dieta líquida a través decánula).

•El Stamp controla un diminuto motorbomba, a través de de switchs sensores.

•El switch envía un pulso por cadavuelta del motor hacia el Stamp.

•El Stamp está programado para nuevediferentes volúmenes de alimentación,además posee un sistema de alarma porcualquier interrupción del flujo

Page 47: Microcontroladores PIC  USS
Page 48: Microcontroladores PIC  USS

•Medición de 4 temperaturas al mismo tiempo a intervalos de un segundo •Gráficas en tiempo real de 4 temperaturas de diferentes procesos•Base de datos (archivos ordenados por fecha del proceso).•Reportes tipo Termo Registrador de hasta 4 procesos diferentes•Registros históricos de diferentes procesos ordenados por fechas•Sistema de alarmas para la supervisión del proceso •Comunicación serial con la PC mediante interfaz RS232 o RS485.

CARACTERISTICAS DEL SISTEMA

Page 49: Microcontroladores PIC  USS

PANTALLA PRINCIPAL DEL SISTEMA DE MONITOREO Y SUPERVISION

GRAFICA DE LA BASE DE DATOS DEL SISTEMA DE MONITOREO Y SUPERVISION

Page 50: Microcontroladores PIC  USS

CURVAS DE LA TEMPERTURA EN EL TIEMPO

Page 51: Microcontroladores PIC  USS

FOTOS DEL SISTEMA DE MONITOREO DE TEMPERATURAS

Page 52: Microcontroladores PIC  USS

CONTROL DE TEMPERATURACONTROL DE TEMPERATURA

Page 53: Microcontroladores PIC  USS

VENTILADOR VAR PORTD.7 DEFINE OSC 4' Definir los registros y bits del LCDDEFINE LCD_DREG PORTB 'D0,D1,D2,D3-4,5,6,7DEFINE LCD_DBIT 4DEFINE LCD_RSREG PORTE 'E0-RSDEFINE LCD_RSBIT 0DEFINE LCD_EREG PORTE 'E1-EDEFINE LCD_EBIT 1 ' Definir los parametros del ADCINDEFINE ADC_BITS 8 ' Setear el numero de bits del resultado' Definir variables de los resultados de la conversiónadc1 VAR BYTE TRISA = %11111111 ' Setear el puerto A como entradaADCON1 = %00000100 ' Setear el puerto A como analógicoPause 500 ' Espera de .5 segundosLCDOut $fe,1,"SENATI CHICLAYO"LCDOut $fe,$c0, "Z.L.C.N"Pause 1500LCDOut $fe,1, " ELECTROTECNIA"LCDOut $fe,$c0," INDUSTRIAL"Pause 1500LCDOut $fe,1, " VI "LCDOut $fe,$c0," SEMESTRE"Pause 1500LCDOut $fe,1, " CONTROL DE"LCDOut $fe,$c0," TEMPERATURA"Pause 1000

Page 54: Microcontroladores PIC  USS

INICIO: LCD:

IF adc1>=28 ThenHigh VENTILADOR

Else

Low VENTILADOR

EndIF

LCDOut $fe, 1 ' Limpiar el LCDADCIN 0, adc1 ' Leer el primer canal del ADCadc1=adc1*2LCDOut $fe,1, " sensores"LCDOut $fe,$c0, " T1=",#adc1PAUSE 100

GOTO INICIO  

Page 55: Microcontroladores PIC  USS

SOTFWARE PARA GRABAR EL PICSOTFWARE PARA GRABAR EL PICPICALLPICALL

Page 56: Microcontroladores PIC  USS
Page 57: Microcontroladores PIC  USS

CONTROL DE TEMPERATURA APLICADO AL CONTROL DE TEMPERATURA APLICADO AL SECADO DE ARROZSECADO DE ARROZ

Page 58: Microcontroladores PIC  USS

VISTA DE FRENTE

Page 59: Microcontroladores PIC  USS

VISTA SUPERIOR

Page 60: Microcontroladores PIC  USS

CARACTERISTICAS DEL SISTEMA

•Medición de 2 temperaturas al mismo tiempo a intervalos de un segundo •Gráficas en tiempo real de 2 temperaturas de diferentes procesos•Comunicación serial con la PC mediante interfaz RS232 .

Page 61: Microcontroladores PIC  USS

PANTALLA DE SUPERVISION Y CONTROLPANTALLA DE SUPERVISION Y CONTROL

Page 62: Microcontroladores PIC  USS

Diagrama Esquemático del Circuito “Control de Temperatura”


Top Related