jueves, 2 de septiembre de 2010
Trabajo Practico Nº13 Microcontroladores y Nº14
utilizamos los siguientes sitios:
"http://usuarios.multimania.es/sfriswolker/pic/siete.htm" (agradecemos al grupo 5 por este dato)
"http://perso.wanadoo.es/luis_ju/pic3/pic3_01.html"(fue una pagina que despejo muchas dudas sobre como generar interrupciones)
si bien estos sitios no son una fuente de informacion completamente fiable probamos muchos comandos descriptos en ambos y no tuvimos problemas excepto una excepción que explicaremos en detalles mas adelante.
Sin mas preambulos, aqui estan los dos programas creados en MPLAB:
http://www.mediafire.com/download.php?tmkgcoe25d4vxmv
Nota: Estos programas fueron hechos con otra version del MPLAB que la utilizada en la escuela, sin embargo, encontramos que creando en nuevo proyecto en el MPLAB (hecho para el pic16F84A) y añadiendo el archivo ASM (archivo de texto) al proyecto, se pueden abrir sin ninguna dificultad.
De esta manera nos quedaron los codigos de los programas:
TP13
TP14
Para simular estos proyectos utilizamos el ISIS (programa que integra el Proteus 7). Debajo tenemos 2 videos del cada programa funcionando, debajo haremos una explicacion de cada 1.
En el primer video creamos un delay para generar el efecto de una señal cuadrada en el led y atraves de una interrupcion, logramos controlarlo con un boton.
En el segundo video, utilizando el mismo delay, comandamos 4 patrones diferentes, haciendo que tras cada ves que se presione el switch prenda 1 led, se apage, prendan 2, se apaguen, prendan 3, se apaguen, prendan 4, se apaguen y volviendo a apretar se vuelve al primer estado. Una de las cosas que diferencian los delay de ambos es que en lugar de usar el comando comf, utilizamos el comando bsf y bcf ya que el anterior mencionado funcionaba mal. Este Programa, luego de re leer la consigna fue descartado por no cumplir con la pauta de utilizar 8 bits, y lo re hicimos con mucho mas contenido y optimizandolo mas, haciendo patrones diferentes diferenciados por una espera de 2 segundos entre secuencia y secuencia controlado por un boton.
aqui el codigo:
Este codigo tiene ventajas del anterior como la no definicion de bit por bit de cada variable sino la definicion de la variable completa. Aparte posee secuencias mas complicadas repetidas una cantidad definida de veces claramente especificadas en decimal para una sencilla lectura (se utiliza un . [punto] antes de el valor decimal)
Trabajo Practico Nº12 Microcontroladores
Nosotros preferimos comprarlo por varias razones, la principal es que el valor de los componentes(alrededor de 150$ con zocalo) en relacion al costo total ya armado (120$+50$ por el socalo) es minima dando una mayor seguridad el comprarlo hecho con garantia y hecho por alguien con experiencia, que hacerlo nosotros mismos y estar expuestos a errores de diseño, Problemas de soldaduras, etc.
Compramos un clon del Programador "Pickit2" que posee:
* Alta velocidad de trabajo.
* Alimentación y datos por puerto USB.
* 100% compatible con el original de microchip.
* Conector ICSP RJ11 y Easy Jack.
* Adaptable zócalo ZIF.
* Soporta PICs: 10F, 12F, 16F, 18F, 24HJ, 30F, 33F.
* Soporta EEPROM: 93LC, 24LC, 11LC, 25LC.
Imagen del Programador comprado:
Con este programador empezamos a utilizar Software de programacion, para eso se nos propuso 2 lenguajes: C y Asemmbler. Para el Asemmbler utilizamos el programa MPLAB aunque en realidad se podria utilizar cualquier editor de texto, sin embargo debido a la cantidad de ayudas como la prueba de errores y la linealizacion con [TAB] que posee el anterior mencionado programa, es el que utilizaremos. Para la Programacion en C utilizaremos el CCs por su facilidad de uso y sus amplias librerias, aparte de poder asamblarse al MPLAB.
Trabajo Práctico N° 6 Restador
En este trabajo práctico se busca implementar mediante un restador un adaptador de escala en corriente continua.
Vemos que en esta configuración las entradas se conectan independientemente a cada nodo diferencial.
Aplicando superposición resulta que:
Un transductor de temperatura resistivo (termisor) produce una respuesta en tensión como la indicada en la gráfica:
Se desea ajustar dicha variación de manera que se cumpla:
El circuito que ultilizaremos nosotros es el siguite:
En este caso la tension de salida será:
Calculamos R1 para para que Vo(30°) sea 0V, y para que Vo(40°) sea 5V y llegamos a que:
En este caso la gráfica nos quedaria de la siguiente forma:
Fotos de nuestro circuito:
miércoles, 7 de julio de 2010
Trabajo Practico Nº 5 Amplificadores Operacionales
Hicimos el siguiente circuito sobre un protoboard para comprobar el funcionamiento del amplificador inversor:
Luego en lugar de ajustar el generador de señales para tener una continua y manejar el tamaño de esa continua con el offset, simplemente alimentamos el circuito con una fuente de alimentacion continua y hicimos las siguientes mediciones:
Utilizando los valores de Vs y Vo hicimos un grafico utilizando excel.
Luego agregamos un potenciomentro entre las patas 1 y 5 (offset null) para reducir el offset (ya que el 0 no era exactamente 0) lo mas posible. Moviendo el potenciometro logramos llegar a reducirlo a 3,9mV. Esto se produce porque al poner una resistencia entre esas dos patas reducimos la corriente de base del Amplificador (sin influir la ganancia de tension ya que esta depende de 1/β
Luego "Intentamos" trabajar con una señal de 5omV pico a pico 1kHz pero el osciloscopio distorcionaab demasiado la señal con esa tension tan pequeña que utilizamos una tension de 200mV y comprobamos que fase de la señal de entrada es opuesta a la de salida y la ganancia de tension se mantiene constante a 1kHz.
Al modificar el LM741 por el TL081 no notamos diferencia salvo que la tension de saturacion era menor en el segundo caso.
Al aumentar la frecuencia encontramos un punto en el cual la tension deja de responder al cociente de R1/R2 reduciendose la tension pico a pico.
Para medir la impedancia de entrada del amplificador inversor simplemente utilizamos un potenciometro en la entrada generando un divisor de tension, luego variamos su valor hasta que la mitad de la tension de entrada caiga en el. entonces sacamos el potenciometros y medimos su valor con un ohmimetro/multimetro, el cual (por ley de maxima transferencia de potencia) deberia ser igual al valor de la resistencia del circuito, cayendo la mitad de la tension en el circuito y la mitad en el potenciometro.
martes, 1 de junio de 2010
Trabajo Practico numero 4: Monoestables
En este modo de operacion el timer no es re disparable, el capacitor de threshold esta inicialmente descargado, pero al llegar la tension del trigger a o, el flip flop cambia de estado y permite la carga del capacitor atraves de la resistecia Ra.
El tiempo de carga esta basado por Ra y C en la siguiente forma:
T(en segundos)=1,1xRa(en ohms)xC(en faradios).
De esta forma la carga (sea un led como ejemplo) se mantendra prendido el tiempo que se carge el capacitor.
Basandonos en la utilizacion de un capacitor comercial (1000uF), calculamos Ra dandonos un valor de: 4,454x1000Ω.
Luego diseñamos en Proteus el circuito del punto 3, a continuacion un video del diseño en funcionamiento:
jueves, 13 de mayo de 2010
Trabajo Practico Numero 3: Astables
En el grafico anterior se ve claramente el esquematico del circuito que hicimos en el laboratorio (DIS es la pata de descarga del transistor, THR es la pata del threshold o umbral, TRIG es la pata de trigger o disparo y CTRL es la pata de control).
F=1,44/(R1+2xR2xC)
En realidad la formula original es:
T=Log(2)x(R1+2xR2xC)
Pasando a frecuencia:
F=1/Log(2)x(R1+2xR2xC)
1/log(2)=1,44
esto nos lleva a la ecuacion mostrada al principio.
El tiempo de carga esta basado en la suma de R1 y R2 y el de descarga en R2
Tcarga=Log(2)x(R1+R2)xC
Tdescarga=Log(2)xR2xC
El ciclo de trabajo esta determinado por R1 y R2
D=R2/(R1+2xR2)
Nuestro grupo busco un programa que nos permitia hacerlas sin demasiado calculos y esto fue lo que encontramos:
http://www.mediafire.com/?ynrd2timmm3
para todas las frecuencias utilizamos un capacitor de 1uF. Para ese capacitor, el calculo nos dio por resultado una Rb de 570Ohms y una Ra de 300Ohms para 1kHz , para las distintas frecuencias se obtuvieron los mismos valores de resistencias pero con distinta notación científica.
para 1Hz obtuvimos el siguiente grafico en la salida medida por el osciloscopio:
Para 10Hz:
Para 100Hz:
Para 1kHz:
Para 10kHz:
Aqui hay unas fotos del circuito armado.
miércoles, 28 de abril de 2010
Trabajo Práctico Nº2 Intrumentos
Registramos los distintos procedimientos en varios videos, cada uno serán explicados a continuación:
En la primera parte del video se observa que conectamos ambas fuentes en serie simétrica o fuente partida:
Tercer Video
En este video programamos el Generador de señales a 1kHz (senoidal) sin offset y con una tension pico a pico de 1v.
Cuarto Video
En este video, cambiamos la señal a triangular y pusimos la frecuencia a 545 Hz, luego medimos la anchura o tiempo en alto (previamente habiamos modificado el menu para mostrarlo). la siguiente imagen fue una imagen que sacamos del osciloscopio mostrando la anchura y la señal.
Despues, pasamos el osciloscopio a modo flanco descendente y comprobamos que al estar en flanco descendente la señal empezaba por el semiciclo negativo. Luego, variamos la sensibilidad del osciloscopio y probamos el desenganche de la señal.
jueves, 22 de abril de 2010
Trabajo Práctico 1: Herramientas de Diseño
Luego cargamos las librerías creadas por el profesor especialmente para este trabajo, y comenzamos el esquemático.
Una vez terminado el esquemático (así quedo el nuestro):
Previamente fijándonos si hay errores de conexión: como por ejemplos nodos sin conectar (también utilizaremos una prueba llamada ERC o Electric Rule Check), cargamos la netlist, que utilizaremos en el PCB.
Bueno ahora si empezamos con el PCB, para ello también debemos cargar su respectiva librería y también nuestra netlist.
Luego acomodamos los componentes de manera que ocupen poco espacio y sean necesarios la menor cantidad de puentes.
Después, empezamos a unir los componentes y comprobamos que las conexiones sean las correctas. Ahora agregamos las dimensiones de la placa (esto se hace en la solapa keepout layer), los agujeros en donde estará agarrada y unas cotas (mechanical 1) para saber el tamaño de la plaqueta
En el momento de routear se lo puede hacer de dos maneras diferentes, manualmente y automáticamente. Ambas maneras tienen sus ventajas y desventajas, nosotros lo ruteamos automáticamente a través de “rules” (ver imagen)
y luego lo modificamos manualmente para darle una terminación mas definida
Asi esta nuestra plaqueta terminada.
Se puede ver que en la segunda imagen, los valores de los componentes fueron borrados, y los nombres se pasaron a la “Top Layer” y fueron espejados.