En esta oportunidad se intentará explicar de forma intuitiva el proceso de grabación de un programa cualquiera realizado dentro del entorno del MPLAB, partiendo para ello de un archivo de extensión .hex ya configurado.
El programa a grabar que utilizaremos es uno que el profesor nos proporcionó (Descargarlo aquí) para la realización de esta actividad. Su función es la de controlar el dado electrónico realizado anteriormente
(aquí el enlace).
Antes que nada comprobamos que tenemos todo lo necesario para realizar el proceso:
Programador de Pic (nosotros hicimos uno propio, link aquí)
Cable USB a USB "tipo B" (esto depende de la entrada de su programador)
Cable plano de 10 pines (también depende del programador)
PIC12F683
Archivo .hex a cargar
PickIt 2 (o cualquier software programador que reconosca la plaqueta programadora y el PIC)
Plaqueta finalizada donde se colocará el PIC (esto sirve solo para comprobar su funcionamiento)
Lo primero a hacer es conectar el Programador a la PC por medio del cble USB/USB "B", comprobar que éste funciona checkeando la luz correspondiente; luego conectamos la salida del Programador mediante el cable plano hacia el PIC teniendo en cuenta los pines asignados para cada función (Vpp, GND, DATA, etc.)
En el caso del PIC12F683 la ubicación de los pines que necesitaremos (esto también se encuentra en la hoja de datos) es la siguiente:
Pin 1 - Vdd
Pin 4 - Vpp
Pin 6 - CLK
Pin 7- DATA
Pin 8 - GND
En nuestro Programador de pic la salida (el caple plano) tiene la siguiente configuración:
Pin 1 - Vpp
Pin 3 - Vdd
Pin 5 - GND
Pin 7 - DATA
Pin 9 - CLK
Una vez conectados el PIC12F683 al Programador y ésta a la PC, procederemos a la grabación del programa.
Primero abrimos el PickIt 2 y comprobamos en la sección remarcada que reconoció tanto el Programador como el PIC. De no haberlo hecho, le ordenamos al programador (software) que lo revice, haciendo click en Programmer/Enable.
Luego seleccionamos el archivo .hex a cargar en el microcontrolador, clickeando en File/Input.
Por último, le ordenamos que programe el micro clickeando en el recuadro WRITE
De haberse grabado correctamente el programa, debe salir un cartel en verde como éste:
Para comprobar el correcto funcionamiento del programa grabado situamos a éste en el circuito para el cual fue hecho, y lo probamos.
Función del circuito:
Este circuito fue diseñado para transformar la señal proveniente del puerto serie (que puede variar sus niveles de tensión, corriendo el riesgo de quemar PIC's delicados) en una señal TTL (+/-5 V.) que es la ideal para la mayoría de PIC's. Pra ello construimos el circuito eléctrico a partir del CI MAX-232.
Objetivo:
En este trabajo práctico lo que buscamos es aprender a manejar el programa Proteus y aplicar nuestros conocimientos para el armado de una placa ,en este caso armaremos un circuito astable y monoestable.
LM555:
Pin-Out:
PIN 1 : Tierra o masa (GND) : Es la conexión a tierra del circuito en general.
PIN 2 : Disparo (TRIGGER) : En este pin, donde se establece el inicio de tiempo de retardo, si el 555 es configurado como monoestable. Este proceso de disparo ocurre cuando este pin va por debajo del nivel de 1/3 del voltaje de alimentación. Este pulso debe ser de corta duración, pues si se mantiene bajo por mucho tiempo la salida se quedará en alto hasta que la entrada de disparo pase a alto otra vez.
PIN 3 : Salida (OUTPUT) : Aquí veremos el resultado de la operación del temporizador, ya sea que esté conectado como monoestable, astable u otro. Cuando la salida es alta, el voltaje será el voltaje de aplicación (Vcc) menos 1.7 Voltios. Esta salida se puede obligar a estar en casi 0 Voltios con la ayuda de la patilla #4 (reset).
PIN 4 : Reset : Si se pone a un nivel por debajo de 0.7 Voltios, pone la patilla de salida #3 a nivel bajo. Si por algún motivo esta patilla no se utiliza hay que conectarla a Vcc para evitar que el 555 se resetee.
PIN 5 : Control de voltaje (Control): Cuando el temporazidor se utiliza en el modo de controlador de voltaje, el voltaje en esta patilla puede variar casi desde Vcc(en la práctica como Vcc-1 voltio) hasta casi 0V (aprox. 2 voltios). Así es posible modificar los tiempos en que la patilla # 3 esta en alto o en bajo independiente del diseño (establecido por las resistencias y condensadores conectados externamente al 555). El voltaje aplicado a la patilla # 5 puede variar entre un 45 y un 90 % de Vcc en la configuración monoestable. Cuando se utiliza la configuración astable, el voltaje puede variar desde 1.7 voltios hasta Vcc. Modificando el voltaje en esta patilla en la configuración astable causará la frecuencia original del astable sea modulada en frecuencia (FM). Si esta patilla no se utiliza, se recomienda ponerle un capacitor de 0.01uF para evitar las interferencias.
PIN 6: Umbral (Threshold) : Es una entrada a un comparador interno que tiene el 555 y se utiliza para poner la salida (Pin #3) a nivel bajo.
PIN 7 : Descarga (Discharge) : Utilizado para descargar con efectividad el condensador externo utilizado por el temporizador para su funcionamiento.
PIN 8 : 8V+ : También llamado Vcc, es el pin donde se conecta el voltaje de alimentación que va de 4.5 voltios hasta 16 voltios (máximo). Hay versiones militares de este integrado que llegan hasta 18 voltios.
Circuito Astable
Complemento Teórico:
En electrónica, un astable es un multivibrador que no tiene ningun estado estable, lo que significa que posee dos estados "quasi-estables" entre los que conmuta, permaneciendo en cada uno de ellos un tiempo determinado. La frecuencia de conmutación depende, en general, de la carga y descarga de condensadores.
Desarrollo:
Primero, simulamos en el Proteus el circuito del astable con un VCC de 5V.
Nos fijamos que este funcionando perfectamente y medimos con el osciloscopio virtual regulando las escalas de tiempo y tensión para visualizarlas adecuadamente:
Caculamos el estado de tiempo de estado en alto y el tiempo de estado en bajo, en este caso nos da que el tiempo de estado alto es de 730ms y el bajo es de 270ms.
Calculamos el período de la señal :
Calculamos la frecuencia que nos da por resultado 992 HZ.
Calculamos el ciclo del trabajo expresandolo porcentualmente:
D = (RB/RA+2RB).100 = (38K/28K+2.28K).100 = 26.38%
Calculamos la tensión de salida máxima y mínima
A continuación se muestran las formas de onda de carga y descarga del capacitor responsable de la temporización, relacionadas con el cambio de estado de la salida:
Al cargarse el capacitor el estado de la salida cambia a 0, y al descargarse éste vuelve a cambiar a 1.
Observamos que al conectar el pin de RESET a masa (GND) la señal de salida es nula.
Medimos y registramos los valores de resistores y capacitores usados para la temporización del circuito con el puente RLC digital de banco.
El siguiente es el instrumento que usamos para dichas mediciones :
Acá les dejamos un video con un ejemplo de como medir con el puente RLC digital de banco:
Lo que hicimos en este video y para que les sea mas fácil entender como medir con un puente RLC digital de banco las resistencias y capacitores debemos seguir los siguientes pasos :
1.- Prendemos el instrumento
2.- Conectamos los terminales de pinzas.
3.- Cambiamos los modos en la pantalla como figura en el video, donde dice SPEED cambiamos a SLOW, en DISPLAY ponemos VALUE, en el MODE si queremos medir resistencias ponemos R/Q, en CIRCUIT ponemos PARALL o SERIES cualquiera de los dos porque son equivalentes, y en el MODE si queremos medir capacitores ponemos C/R lo demás modos son iguales a cuando se mide las resistencias.
4.- Ponemos la frecuencia a 40 KHz.
5.- Colocamos las patas de los resistores o capacitores que se quieran medir a los bornes del terminal de pinzas, presionamos START y listo, vemos nuestras medidas en la pantalla del instrumento
Así deben cambiar los modos según lo que desean medir :
Para medir resitores
Para medir capacitores
Circuito Monoestable
Complemento teórico:
El monoestable es un circuito multivibrador que realiza una función secuencial consistente en que al recibir una excitación exterior, cambia de estado y se mantiene en él durante un período que viene determinado por una constante de tiempo. Transcurrido dicho período, la salida del monoestable vuelve a su estado original. Por tanto, tiene un estado estable (de aquí su nombre) y un estado casi estable.
Desarrollo:
Armamos el siguiente circuito monoestable en el Proteus:
Lo simulamos :
Calculamos la carga y descarga del capacitor responsable de la temporización, relacionándolas con el cambio de estado a la salida:
Calculamos el estado en alto :
Tabla de valores medidos del Astable y Monoestable:
Valor de R dado
Valor de R medida (R)
Valor de R medida (Q)
2K7Ω
2.6902KΩ
0.006
1K2Ω
1185.1Ω
0.0006
33KΩ
33.192KΩ
0.0036
39KΩ
38.475Ω
0.0043
330Ω
323.44Ω
0.0006
1KΩ
987.71Ω
0.0006
1K2Ω
1189.1Ω
0.0006
3K3Ω
3.2713KΩ
0.0005
68KΩ
68.730KΩ
-0.0070
10KΩ
10.028KΩ
-0.0004
Valor de C dado
Valor de C medida
(C)
Valor de C medida (R)
10nF
9.9320nF
27.20KΩ
100nF
0.08532µF
690.0Ω
100nF
0.07625µF
792.4Ω
100nF
1.0268µF
3.261Ω
3.3µF
2.4486µF
1.779Ω
Astable y Monoestable con Microcontrolador
Astable:
Primero diseñamos el circuito en Protell para ser usado con el microcontrolador 12F683, de tal forma que pueda funcionar tanto como astable y monoestable.
A continuación, grabamos en el microcontrolador el programa del astable a 40KHz de frecuencia, otorgado por el profesor. Descargar aquí.
Para grabar el archivo en el microcontrolador usamos el programa PickIt2, de la empresa Microchip.
Al abrir el archivo .hex nos encontramos con las instrucciones que se graban en el microcontrolador, de las que a continuación remarcamos las siguientes:
#DEFINE AST_OUT GPIO,1 ; GP1 Salida
Esta instrucción le indica al microcontrolador que use la pata 6 como salida del modo astable
Estas instrucciones definen el estado del pin de salida (bsf = 1 y bcf = 0) y el tiempo que se mantienen en dicha salida ("goto $+1" mantiene durante 1µs, y es acumulativo). La última instrucción hace que el microcontrolador vuelva a ejecutar la secuencia "main"(todo lo anterior) de nuevo, haciendo que actúe de forma cíclica.
Conectamos nuevamente el microcontrolador al circuito, lo alimentamos y medimos con el osciloscopio la salida en la pata 6, la correspondiente al astable.
Astable a 40KHz:
Para enriquecer la experiencia modificamos el archivo .hex que nos dió el profesor para que trabaje a una frecuencia de 250KHz. A continuación dejamos la sección "main" del nuevo archivo:
La tensión es la misma en ámbas configuraciones, pero los tiempos activos y pasivos son obviamente distintos con respecto a los de 40KHz, siendoque ahora tiene un duty del 37,5%.
Monoestable:
Para que el PIC12F683 trabaje como monoestable lo retiramos del circuito y lo regrabamos con este archivo, también otorgado por el profesor, que configura al micro como monoestable de 200mHz.
Este archivo está compilado en C, un lenguaje que todavía desconocemos, por lo que no podemos explicar claramente cómo está compuesto, pero sabemos que al ser activado (presionando el botón) permanece en estado activo por un tiempo de 5ms, tal como se muesta a continuación:
Overshoot:
El overshoot es el nombre dado al fenómeno que produce valores tansitorios de cualquier parámetro (tensión en este caso) que exeden su valor final durante su transición de un valor a otro (0 a 5V). Es recurrente que este fenómeno se manifieste al medir operacionales.
En esta medición podemos observar claramente un caso de overshoot:
Ventajas y desventajas del uso de un microcontrolador
frente a un circuito RC:
Ventajas:
Tanto el espacio requerido como la cantidad de componentes necesarios son menores al usar un microcontralor.
La versatilidad para alcanzar los valores deseados es mucho mayor, ya que que puede alcanzar niveles de frecuencia máximos y mínimos más altos y de forma mucho más precisa.
Es posible adaptar el circuito a cualquier valor deseado sin rehacer la plaqueta, e incluso es posible que un mismo circuito funcione en forma astable así como monoestable; sólo precisa ser regrabado.
Desventajas:
Para la configuración adecuada del microcontrolador se requieren conocimientos avanzados de electrónica y lenguaje en Assembler.
Diseños en el Protel:
Los circuitos astable, monoestable y astable/monoestable con microcontrolador fueron tambiéndiseñados en Protel. Descargar aquí el archivo que contiene los 3 circuitos.
Objetivo:
En esta actividad lo que buscamos es, sobre todo, adquirir un manejo eficaz de la que es una de las herramientas mas usadas en los laboratorios de electrónica hoy en día: el osciloscopio digital.
Lo que destaca a este aparato sobre su versión analógica es la capacidad que tiene para capturar y medir eventos que se producen de forma asincrónica, es decir, eventos espontáneos que pueden llegar a tener una muy corta duración. Estos elementos pueden ser capturados y mostrados en el display como si de una fotografía se tratase; e incluso puede almacenar esta imagen en su memoria interna o en un dispositivo USB conectado al oscilador digital.
Todo esto deja claro cuan imprescindible es para el técnico de hoy en día el manejo de esta herramienta. Pero no solo en el manejo del oscilador se basa esta actividad, sino que incluye, para la realización del mismo, de otros conocimientos también importantes, como los detallados a continuación: Conector RS-232 (Recommended Standard-232): Es un tipo particular de conector que es usado para el intercambio serie de datos binarios en muchos casos, como la conección entre un DTE (Equipo Terminal de Datos) y un DCE (Equipo de comunicación de Datos), o también, como la conección entre 2 computadoras, entre 2 DTE (la llamada Null Módem, o Módem nulo).
A éste conector se lo puede usar en distintas versiones, como la DB-25 para el que posee 25 pines ó DE-9 si posee 9 pines, como el que usamos en esta actividad y mostramos abajo: En esta actividad vamos a requerir tan solo de 3 conectores, los cuales son: Rx, Tx y GND, los pines 2, 3 y 5 respectivamente, que se ubican de esta manera: El cable que contenga en a estos 3 va a ser adaptado para que en su salida puedan ser ubicados en el Protoboard, para poder medirlos con facilidad. Cadena de bits: Se llama así al conjunto de bits que se deseen transmitir de forma compacta. Esta cadena puede ser configura con programas como el Hiperterminal (explicación más abajo).
Una configuración típica puede ser la denominada N-8-1 (la que usamos en esta actividad) que indica que la cadena no va a revisar paridad en los bits, va a poseer 8 bits para la transmisión de datos y uno adicional en función de stop, para indicar que ahí termina la cadena y como separación para la que le siga.
Esta imagen sirve como referencia: Reposo: Indica el estado lógico en que se encuentra por defecto la señal. El estado se ubica en 1 para que sea más fácil la comprobación de la señal.
Aviso: En esta actividad usaremos intensamente una optimización de un aparato que nos es familiar, el Osciloscopio Digital. Este aparato posee muchas variantes en cuanto a su forma de uso, como por ejemplo la capacidad para almacenar mediciones en un medio extraíble (pendrive). Estas opciones están muy bien desarrolladas en la guía de uso (en inglés) del aparato, en nuestro caso un RIGOLDS1052E.
Desarrollo:
Lo primero es conectar el RS-232 a la PC y su salida a un poste de pines en un protoboard.
Luego abrimos el programa Hiperterminal, que se encuentra por defecto en: Inicio/Programas/Accesorios/Comunicaciones/Hiperterminal.
Lo configuramos de la siguiente manera: Medimos con el osciloscopio digital la señal generada al pulsar la tecla A (en mayúsculas) y la guardamos en un pendrive:
Medimos la tensión en la línea en estado de reposo, que resultó ser de 11,5V, la cual es invertida para poder comprobar el funcionamiento del circuito a medir.
Analizando el bit de start comprobamos que dura aproximadamente 100uS y posee un valor de tensión de 11,5V, donde 11,5V es un 0 lógico y -11,5V es un 1 lógico.
Analizando el tren de datos (los 8 bits que siguen al de start) deducimos que es en este donde se envía la información de las teclas; información coficada en ASCII..
Comprobamos que el bit de stop es representado por un 1 lógico y en este caso puede identificarse el monento en que inicia, pero su final se confunde con el estado de reposo, ya que ámbos tienen el mismo valor lógico.
El tiempo total que tarda en transmitirse un bite (incluido el bit de start y el de stop) es de 1ms.
Para comprobar los datos medidos y comprobados medimos distintas letras del control:
Letra "B":
Letra "I":
Letra "J":
Letra "j":
Letra "k":
Datos transferidos a travez de infrarrojo
El control que usamos es uno de Reproductor de CD de marca Pioneer, que usa un protocolo de señal infrarroja NEC.
Armamos el siguiente circuito y acercamos el control remoto al fototransistor, presionamos la tecla POWER y observamos la señal medida
Al analizar los datos obtenidos podemos establecer que:
La señal portadora emite en una frecuencia de 40Khz.
El "1" es reconocido por tener un espacio con señal nula de 600 us seguido de un pulso de doble valor (1.2ms); el "0", en cambio se muestra con un estado bajo de 600 us seguido de un estado alto de equivalente valor.
Se transmiten 35 bites.
La trama está compuesta de 3 secciones principales:
1º- El Líder: es el gran bloque que aparece al principio de la trama, sumado a al bit de stop y un espacio de separación.2º- Datos: está conformado por 32 pulsos de datos y un bit de stop al final d la secuencia.
3º- Es un espacio de separación con la siguiente trama.
La trama se repite con una periodicidad de 64,4mS.
Aquí les mostramos las señales tomadas al presionar otros botones en el control remoto, a fin de tener una mayor exactitud al responder las preguntas de arriba:
Con la tecla 1:
Con la tecla 6:
Conclusiones: Esta actividad resulta multieducacional, ya que nos permite experienciar por nosotros mismos conceptos que no habíamos visto antes -como el de las señales infrarrojas enviadas por los controles remoto y, de paso, su código y características- mediante el uso de un instrumento de medida que no habíamos usado anteriormente (el oscilador digital), midiendo y trabajando de una manera que nos era desconocida hasta entonces y que nos brinda muchas posibilidades de las que no disponíamos (como lo es el poder guardar una medición en una memoria externa).
Creemos que la forma en la que los conceptos teóricos se involucran con las mediciones hechas para lograr una mayor comprensión y razonamiento sobre lo que medimos es la principal cualidad de esta actividad.