jueves, 19 de mayo de 2011

Microcontroladores (Parte 1)

Los microcontroladores surgieron hace aproximadamente 20 años, lo hicieron basicamente para resolver problemas que traian otros dispositivos mas antiguos.

Las empresas mas conocidas que los fabriquen son:
Microchip - AVR - Atmel y freescale
Microchip es la que mas informacion tiene online. Ademas se encuentra en stock la mayoria de las casas electronica. Y es econimico.
Atmel comenzo con su micro 8051, en la actualidad es el ATMega8
FreeScale (Motorola) comenzo con el 6M28HC705 pero ahora ya fue remplazado por el 628MC908

Microcontroladores PIC
Los microcontroladores pic tienen un buen rendimiento y ahorro de energia. Aqui hay algunos de los mas utilizados.
  • PIC12F683: gama media, sofisticado 8 pines.
  • PIC16F84: Ya es obsoleto pero ha servido mas de 15 años, ha ayudado mucho a entender la metodologia de trabajo de Microchip. Este tiene mucha y muy buena bibliografia para consultar.
  • PIC16F877: Ya esta en vias de extincion porque fue reemplazado por el PIC16F887.
  • PIC18F452: ya es antiguo y obsoleto. Pero ya ha sideo reemplazado por otro mas nuevo y tambien de gama alta: PIC18F4620.
  • PIC18F4550: Superpotente
  • PIC16F88: Complejo, es la versión mejorada del 16F84


2 Estructuras


VON NEUMAN (FREESCALE)









Funciona y funcionó por mucho tiempo
Mas que nada por su sencillez para el
usuario (pero es mas compleja para
el fabricante)
BUS = 8 bits

HARVARD(PIC)





En esta estructura no se congestiona el BUS,
ya que la memoria de datos y la de programa estan
separadas, esto trae una mayor rapidez pero
con una mayor complejidad
BUS(datos)=8bits BUS(prog)=14bits
Los microcontroladores trabajan entre los 150 y 200 Mhz




Funcionamiento Microcontrolador
Alimentación:
Todos los Microcontroladores funcionan con 5V, algunos pueden soportar hasta 7.5V. Pero como hacemos para tener una tension de 5 V, para evitar tener una tension alta y quemarlo?
Lo podremos hacer con un 7805, un componente electronico que regula la tension de salida en 5V.
Estos 5V iran en la pata VDD del microcontrolador.

Reset:
A los microcontroladores les podremos agregar un boton de RESET, esto hara que que al presionar un boton el microcontrolador se reinicie. Este circuito se conectara a la pata MCLR. Es un circuito muy sencillo compuesto desde el pin de reset un pulsador que va a masa y una resistencia que va a VDD.
Hay 2 tipos de reset
En frio: cuando llega por primera vez a 5V (Power Up)
En caliente: Cuando ya estaba funcionando


Clock:
El clock es en pocas palabras lo que posibilita al Micro a realizar el programa, la velocidad del programa depende del blog

Existen 4 modos distintos de clock: RC, LP, XT y HS
El clock es lo que define la velocidad del programa del microcontrolador, marca el ritmo del mismo.
Los circuitos para los modos LP, HT y HS son iguales y es el siguiente:
Donde C1 y C2 son 22pF y Xtal es un cristal de cuarzo cuyo costo es aprox. $3.
Los cristales su exactitud se mide en partes por millon (ppm)
ej: una estabilidad de 100 ppm
significa que por cada millon de Hertz existen 100 hz de error.
Pero tambien lo afecta la temperatura.

Frecuencias de Htal segun modo:
En modo LP: Frecuencias menores a 10KHz
En modo XT: Frecuencias entre 10KHz y 4Mhz
En modo HS: Frecuencias entre 4MHz y 20Mhz

Diferencias modos:
El modo RC no es muy usable, cuesta muy poco , no tiene precision porque sabemos su frecuencia.
Los modos XT, y HS son muy usados.
El modo HS tiene una alta velocidad.

Hay que tratar que la recuencia del micro sea lo mas alta posible.
¿Como sabemos cuanto es la frecuencia del mico? Ej: PIC-------A-20:: ese 20 equivale a 20MHz

Puertos de entrada y salida (Rax y Rbx)
Todos los pines de los puertos "A" como los del "B", pueden ser utilizados como entradas o como salidas (IN/OUT)
Pero hay que tener cietas precauciones con las corrientes:
  • La corriente entrante en modo SINK no puede superar los 25mA
  • Y las corrientes de salidas en modo source no puden excender los 20mA
  • En el port B la corriente en modo Sink no puede ser mayor a 150mA
  • En el port B la corriente en modo Source no puede ser mayor a 100mA
  • En el port A la corriente en modo Sink no puede ser mayor a 80mA
  • En el port A la corriente en modo Source no puede ser mayor a 50mA
Si alguna de las corrientes superan estos valores el micro se resetea.

Programación Microcontrolador
Para programar el microcontrolador se necesitan 5 pines:
  • RB6 (Clock)
  • RB7 (DATA)
  • MCLR (12V Vpp: tensión de programación)
  • VDD (5V)
  • VSS (TIERRA)
Para programar el microcontrolador vamos a necesitar un Software para la PC, El programa utilizado va a ser el MPLAB 8, donde se lo puede descargar desde la web de Microchip: http://www.microchip.com/
El MPLAB IDE (Integrated Depelovement Enviroment) tiene cuatro programas:
  • Ensamblador
  • Editor
  • Simlador
  • Programador: Es el que se encarga de hacer el vinculo entre el programa fuente y los "0" y "1" de la DATA.

Actividad 3 Parte A

Circuito Astable con 555.


Armado el siguiente circuito en el PROTEUS se procedió a medir, mediante el osciloscopio virtual, la señal de salida del mismo:


La señal de salida que se obtuvo de este circuito, al ser un circuito Astable, fue la siguiente señal cuadrada:


Los valores medidos de esta señal fueron:

Tiempo de estado en alto: 730uS
Tiempo de estado en bajo: 270uS
Período: 1mS
Frecuencia: 1KHz
V máxima: 5V
V mínima: 7.88mV
Ciclo De Trabajo (D) : 73%

Después de realizar todas las mediciones cambiamos el pin de RESET y lo mandamos a masa, lo que ocurrió fue que el 555 se reseteo constantemente, por lo que en el osciloscopio no se pudo observar la señal.

Luego cambiamos los valores de las resistencias y los capacitores para llevar la frecuencia a 40KHz, para ello usamos la siguiente formula:

T = 0.7 (R1 + 2R2) C

donde:
T: período (1/frecuencia ; 25.2uS).
R1 y R2: resistencias del circuito.
C1: capacitor del circuito.

Las resistencias que se usaron fueron de 1.2K, y el capacitor de 10nF.

0.7 (1.2k + 2*1.2k) 10nF = 25.2uS

Una vez elegidos los valores se realizaron nuevamente las mediciones, pero esta vez tanto con el osciloscopio virtual tanto como con el real:



Luego diseñamos una plaqueta en Protel 99:
El esquematico:
 Y luego el PCB: