Vistas de página en total

martes, 14 de junio de 2011

Cómo grabar Microcontroladores PIC

Para poder programar microcontroladores PIC necesitamos contar con un grabador, como éste, el Programador Picstart Plus de Microchip:


CÓMO CONECTAR EL PICSTART PLUS A LA PC

Antes que nada tenemos que colocar a nuestro microcontrolador en el programador (con la marca que nos muestra dónde está la pata 1 hacia arriba). Luego debemos conectar el programador en el puerto COM 1 de nuestra PC con un cable del tipo DB9, y además debemos conectarlo a una fuente de 9V 1A (el LED de "Power" debería encenderse).


CÓMO PROGRAMAR CON EL PICSTART PLUS
Iniciamos el MPLAB, y en menú "Programmer" vamos a "Select Programmer" y elegimos "PICSTART Plus":


En cualquier momento podemos comprobar qué programador está seleccionado chequeando la barra inferior a la izquierda:


Luego, vamos al menú "Programmer" y después a "Settings...":


Entonces, en la ventana que nos abre, vamos a la pestaña "Communications" y comprobamos que esté marcado el puerto que vamos a usar:


A continuación, volvemos al menú "Programmer" y elegimos "Enable Programmer" (Activar Programador):


Ahora vamos al menú "File" y elegimos "Import...":


Buscamos el archivo con extensión HEX (es el archivo que el MPLAB nos generó previamente cuando finalizamos nuestro programa), y presionamos en "Abrir":


Finalmente
vamos, por última vez, al menú "Programmer", y elegimos "Program", para programar al microcontrolador:


Ahora esperamos a que termine de grabar nuestro microcontolador y lo retiramos, listo para usarlo.

NOTA IMPORTANTE:

Tanto el programa como el programador que usamos están hechos específicamente para programar microcontroladores PIC (de la empresa Microchip).

jueves, 9 de junio de 2011

Actividad 3 - Astables - Monoestables (2° Parte)

2° Parte - Monoestable:

Primero debemos hacer el circuito en el Proteus (Descargar de acá):


Despues tuvimos que cambiar los valores de las resistencias y capacitores para llevar el tiempo de activación a la salida a 5s. Nosotros estuvimos cambiando resistencias en el simulador hasta que encontramos que obteníamos 5s cambiando la resistencia R1 de 10KOhm por una de 47KOhm, y dejábamos los demás componentes iguales.

Entonces ahora comprobamos los valores de los capacitores y las resistencias con el Puente RLC Digital de banco. Obtuvimos los siguientes valores:

R1 = 48,57 KOhm
R2 = 9,8 KOhm
R3 = 327,3 Ohm
C1 = 109,05 uF

Luego procedimos al armado del circuito en el protoboard:


A continuación, se ordenan los valores que obtuvimos con el simulador y en el protoboard:


Simulador (R1=10K) Simulador (R1=47K) Protoboard
T de estado en alto 1,10 s 5,15 s 5,72
Vsal máx 5 V 5 V 5 V
Vsal mín 0 V 0 V 0 V


Finalmente, diseñamos una plaqueta del astable el Protel (Descargar de acá):

Actividad 3 - Astables - Monoestables (1° Parte)

Esta actividad está compuesta por 3 partes:

1° Parte - Astable:

Primero debemos hacer el circuito en el Proteus (Descargar de acá):


Advertencias:
* Ir a propiedades del Contador en modo Frequency (Frecuencia), para que muestre la frecuencia generada por el astable.
* Establecer la condición inicial del capacitor, editando la etiqueta del conductor "Wire Label" (IC=0), haciendo click derecho sobre el cable que llega al capacitor.

Despues tuvimos que cambiar los valores de las resistencias y capacitores hasta obtener una frecuencia de 40KHz. Nosotros estuvimos cambiando resistencias en el simulador hasta que encontramos que obteníamos los 40KHz cambiando las resistencias de 68KOhm y 39KOhm por 2 de 1,2KOhm, y dejábamos los capacitores de 10nF.

Nota:
Cuando conectamos el pin de Reset a masa, en el osciloscopio se obtiene una lectura de 0V.

Entonces ahora comprobamos los valores de los capacitores y las resistencias con el Puente RLC Digital de banco. Obtuvimos los siguientes valores a 40KHz:

C1 = 10,212 nF
C2 = 10,881 nF
R1 = 1,184 KOhm
R2 = 1,185 KOhm

Luego procedimos al armado del circuito en el protoboard:


A continuación, se ordenan los valores que obtuvimos con el simulador y en el protoboard:


Simulador (1KHz) Simulador (40KHz) Protoboard
T de estado en alto 750 us 17,5 us 15,6 us
T de estado en bajo 250 us 7,5 us 8,4 us
Período 1000 us 25 us 24 us
Frecuencia 1 KHz 40 KHz 41,7 KHz
Vsal máx 5 V 5 V 4,64 V
Vsal mín 0 V 0 V 0 V
Ciclo de trabajo 75% 70% 65%

Finalmente, diseñamos una plaqueta del astable el Protel (Descargar de acá):

Funcionamiento de Dado Electrónico

Aquí se muestra el funcionamiento del Dado Electrónico.

miércoles, 8 de junio de 2011

Cómo crear un proyecto en MPLAB

Para crear un proyecto en MPLAB, primero abrimos el programa, y en la pestaña "Project" elegimos "Project Wizard..." :


Esto nos abrirá un asistente que nos ayudará a crear un proyecto, que usaremos para grabar un microcontrolador. Cuando nos abre el asistente, presionamos "Siguiente":


A continuación nos pedirá que elijamos qué microcontrolador vamos a usar. En nuestro ejemplo vamos a elegir el PIC16F84A:


Ahora tenemos que elegir qué herramienta vamos a usar. Nosotros vamos a usar "mpasmwin.exe" o Ensamblador:


A continuación tenemos que elegir dónde queremos que guarde el proyecto. Preferiblemente hay que guardarlo en una carpeta en el directorio raíz, en nuestro ejemplo "C:\Test\Test" :


En el último paso, el asistente nos pedirá si queremos agregar algún archivo existente a nuestro proyecto. Nosotros vamos a copiar una plantilla. Para ello, en el explorador de la izquierda vamos a donde instalamos el programa, por defecto en "C:\Archivos de programa\Microchip", y ahi dentro vamos a "MPASM Suite\Template\Object" y alli buscamos la plantilla de nuestro microcontrolador, en este caso "16F84ATMPO.ASM", y presionamos "Add>>". El archivo que elegimos nos aparecerá en el cuadro de la izquierda, pero tendrá una letra adelante, que podemos cambiar apretándole click. Esta letra puede ser "A" de "Add", "U" de "User", "S" de "System", y "C" de "Copy". Éste último es el que vamos a usar, para que nos copie la plantilla en el directorio que elegimos:


Finalmente nos aparece un resumen para comprobar si lo que pusimos está bien y si queremos cambiar algo:


Ahora en el MPLAB ns aparecerá una ventana que nos muestra el proyecto que acabamos de crear, y podemos comprobar que en "Source Files" ("Archivos Fuente") está la plantilla que elegimos previamente:


En la parte inferior izquierda de la pantalla nos aparece el nombre del microcontrolador que estamos usando:


martes, 31 de mayo de 2011

Clases de Osciladores (Clock)

Todo microcontrolador requiere de un circuito que le indique la velocidad de trabajo, es el llamado oscilador o clock (reloj). Éste genera una onda cuadrada de alta frecuencia que se utiliza como señal para sincronizar todas las operaciones del sistema.
Este circuito es muy simple pero de vital importancia para el buen funcionamiento del sistema. Generalmente todos los componentes del oscilador se encuentran integrados en el propio microcontrolador y tan solo se requieren unos pocos componentes externos, como un cristal de cuarzo o una red RC, para definir la frecuencia de trabajo.

Nosotros aprendimos sobre 4 tipos de osciladores:

LP: Cristal para baja frecuencia y bajo consumo de potencia (Low Power)
XT: Cristal de cuarzo, es el más usado
HS: Cristal de alta velocidad (High Speed)
RC: Oscilador con resistencia y capacitor


Oscilador LP:

El oscilador de cristal de cuarzo o resonador cerámico de baja potencia LP (Low Power Crystal) es un oscilador de bajo cunsumo.

Oscilador XT:

Es el más utilizado y está basado en el oscilador a cristal de cuarzo o en un resonador cerámico. Es un oscilador estándar que permite una frecuencia de reloj muy estable comprendida entre 100KHz y 4MHz.

Oscilador HS:

El oscilador de cristal o resonador de alta velocida HS (High Speed Crystal/Resonator) trabaja a una frecuencia comprendida entre 4MHz y 20MHz.



Oscilador RC:

Es un oscilador de bajo coste formado por una red RC. Su principal inconveniente es la baja precisión, pero como contrapartida está su bajo precio, que lo hace interesante para muchas aplicaciones en las que no importa la exactitud de tiempos.

miércoles, 27 de abril de 2011

Actividad 2 - Mediciones con captura de datos usando el osciloscopio (2º Caso)

2º Caso:

Primero tenemos que armar el siguiente circuito en el protoboard:


Debemos cubrir de la luz al fototransistor para que no interfiera con nuestras mediciones. Tambien tenemos que configurar el canal 1 del osciloscopio: seleccionamos AC (Corriente Alterna), y ajustamos la sensibilidad en 200mV y 5ms aproximadamente. En la sección "Trigger" del osciloscopio presionamos el botón "Menu" y en "Flanco" seleccionamos "Ascendente" (una flecha que SUBE), y en "Barrido" elegimos "Único". También nos aseguramos de que el botón "Run/Stop" esté verde, pero si está rojo, lo presionamos y ya está.

Ahora apuntamos con el control remoto al fototransistor y presionamos una tecla (en este caso el botón "POWER"). En la pantalla del osciloscopio debería aparecer algo como esto:




Preguntas del 2º Caso:

a) ¿En qué frecuencia emite la señal infrarroja portadora de los datos?

b) ¿Cómo se diferencia el uno y el cero?

c) ¿Cuántos bits en total se transmiten?

d) ¿Cómo está compuesta la trama?

e) ¿Con qué perioricidad se repite la trama en el tiempo?


a) En el control SONY que utilizamos, la frecuencia de la señal portadora es 40KHz:



b) Se diferencian porque el "1" y el "0" tienen distintas duraciones: El "1" dura 1,2ms y el "0" dura 0,6ms:


El "0" lógico:


El "1" lógico:


c) Se transmiten en total 13 bits:


d) Está compuesta por: 1 bit de Start (dura 2,4ms), 7 bits de Comando y 5 bits de Direccion:


Cada bit tiene una separación de 0,6ms:


e) Se repite cada 45ms:


Otras teclas del control remoto:


Volumen +:


Volumen -:



Nuestro control remoto (marca SONY) utiliza el protocolo SIRC, que usa 13 bits. Para saber qué botón presionamos, miramos los Bits de Comando , y los leemos de atrás para adelante (por ejemplo, en "Volumen-" tenemos entonces 0010011). Ahora convertimos este número de binario a decimal y nos encontramos con que es igual a 19:


Entonces miramos la Tabla de Comandos y encontramos que el Comando 19 es "Volumen -" (esto también se puede comprobar con los botones "Volumen +" y "POWER", cuyas imágenes se encuentran más arriba):


Los últimos 5 bits son para saber a qué aparato está destinada la señal, el Destino. Se sigue el mismo procedimiento anterior. Como el control remoto que usamos es de un equipo de audio, todas las teclas que apretamos terminan en 00001, que al revés se escribe 10000, que en decimal es 16:


Conclusión:

Para empezar este trabajo primero tuvimos que investigar qué protocolo usaba nuestro control remoto (los más utilizados son el SIRC y el RC5) y de qué forma transmitian información éstos protocolos (cómo era un "1" o "0" lógico, cuántos bits de START hay, etc.). Después, cuando capturábamos la señal y la analizábamos con el osciloscopio, nos teníamos que asegurar de que no llegara muy distorsinada (tapábamos el fototransistor para que la luz del aula no interfiriera). Y finalmente comprobábamos si la señal que recibíamos encuadraba con la teoría.