En este Trabajo Practico, se nos propuso nuestro primer trabajo de programacion, tanto en C (pendiente) como en Assembler. Antes de empezar queremos dejar en claro que la razon por la cual pusimos ambos tps. 13 y 14 juntos fue que ambos comparten muchas cosas en comun y explicar todo de ambos seria algo pesado y no es el objetivo que lo sea.
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)
jueves, 2 de septiembre de 2010
Trabajo Practico Nº12 Microcontroladores
En este trabajo practico se requiere la obtencion (mediante el armado o la compra) de un programador de integrados PIC para utilizarlo en los siguientes TPs del año.
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.
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
Los objetivos principales de este TP son conocer la utilizacion del Amplificador Operacional realimentado y sus tres configuraciones basicas.
Se utilizaron:
Un circuito integrado LM741.
Un circuito integrado TL081.
Varios Resistencias.
2 Capacitores de 100uF x 25V Electroliticos.
2 Capacitores de 100nF.
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.
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 trabajo practico se implementa el mismo integrado que en el anterior en funcion de conseguir los mismos resultados.
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:
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
El siguiente trabajo practico es para enteder el funcionamiento de un generador de señales digitales (cuadradas). En este caso utilizaremos el circuito integrado 555 (conocido principalmente como LM555 o NE555 dependiendo del fabricante). Este integrado posee una alta estabilidad y es utilizado para generar rertardos de tiempo y osciladores. Tambien tiene la ventaja de que el tiempo de retardo y la frecuencia de oscilacion puede ser controlado con componentes fuera del integrado. Dentro del integrado hay un flip-flop y dos diferenciales, un transistor de descarga, una salida de corriente entre el flip-flop y el transistor de descarga y un divisor de tension en resitencias. Utilizando esto se pueden conseguir muchas utilidades como el multivibrador astable o el circuito monoestable. Se puede observar que el divisor de tension entre las resistencias fija la tension de los dos diferenciales en 1/3Vcc y 2/3Vcc. En el modo astable la pata del threshold(pata que va al comparador y cambia de estado el flip-flop, activando el transistor de descarga) y el trigger(la otra pata que va al otro comparador que cambia nuevamente al flip-flop de estado, poniendo en corte el transistor de descarga) estan puenteadas, por lo tanto se autodispara la señal del integrado.
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).
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
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).
El capacitor C y las dos Resistencias R1 y R2 Determinan la frecuencia de operacion:
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.
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
Utilizamos mediafire por su facil utilizacion(no requiere siquiera registrarse)
Luego de varios experimentos descubrimos que este programa no funcionaba en ciclos de trabajo menores a 50%, por lo tanto nos dedicamos a hacer cada calculo manualmente
Actividades
Calculamos un astable para cada frecuencia con un ciclo de trabajo del 40% y fotografiamos todo el proceso.
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.
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
En este segundo trabajo práctico conocimos los principios y usos de los distintos instrumentos del laboratorio. Los instrumentos que utilizamos son la fuente de alimentación, un osciloscopio digital y un generador de señales. También utilizamos otros materiales de trabajo como cables BNC, cables banana-cocodrilo, etc.
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:
Una fuente partida es una fuente de tres puntos en cuyos extremos se obtiene una diferencia de potencial determinada y el punto medio en general se encuentra a la mitad de potencial, de este modo se utiliza el punto medio como referencia y se cuenta con valores tanto positivos como negativos de tensión al mismo tiempo.
Vemos que ambas fuentes miden 6V, y que entre el cable rojo y verde se miden 6V, lo mismo sucede entre cable negro y verde, y entre los cables rojo y negro hay 12V de diferencia.
En la segunda parte del video notamos que la fuente esta conectada en serie, una fuente simple es una fuente de dos puntos que posee una diferencia de potencial de un valor determinado entre sus bornes. Entre cable rojo y cable negro hay una tensión fija.
Encendimos el osciloscopio y lo programamos en su configuracion original para ello utilizamos el boton de AUTOSET (este botòn sirve para calibrar automáticamente la imagen de la señal), luego apretamos SAVE/RECALL, al costado derecho de la pantalla aparece un menu que te permite volver a la configuracion original. Seleccionamos la opcion deseada en este caso "Configuración Original" esta asociada al F1.
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.
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.
Suscribirse a:
Entradas (Atom)