sábado, 20 de noviembre de 2010

t.p. Nº14:Microcontroladacores

Primero realizamos la descripcion del programa, hardware, despues pasamos a configurar los fusibles y despues colocamos las variables. 
Luego configuramos los puertos y ahora si comenzamos con "pulsador" donde utilizamos la instruccion de salto "btfsc" controlando al PORTA 4 que es donde tenemos el pulsador. Con esta intruccion al tener un "1" en RA4 sigue con la intruccion que sigue que en este caso es volver a "pulsador". En cuanto se pone en "0" RA4 salta la instruccion y va a loop. 
En loop llamamos a "Binario_a_7segmentos" ( que es una tabla para el display que empieza con el 9 y termina con 0 y la cargamos en las subrrutinas) y lo movemos al PORTB. Luego de 200ms incrementamos la variable contador y realizamos la operacion xor con 0x0A , si da 0, Z = 1 por lo tanto decimos "btfss STATUS,Z " . Cuando Z este en "1" significa que el contador llego a 0 por lo tanto salta a loop2 de lo contrario seguiria en loop. 
En loop2 ponemos en "1" todos los bits del PORTB y luego de 500ms los ponemos en "0" y se queda asi , osea parpadeando a 2Hz.

martes, 31 de agosto de 2010

t.p. Nº12: microcontrolador-programador

Efectivamente los microcontroladores, en general, necesitan de un circuito electrònico auxiliar que nos permita transferirles desde el ordenador el programa que hemos escrito para ellos.
Hay muchas maneras de encarar este problema, y en general se suele utilizar alguno de los puertos disponibles en cualquier ordenador para este fin. Asì es que en el mercado es posible conseguir "quemadores" de pics con conexiòn para puerto USB, paralelo o serie.
Los micontroladores de microchip( pics) se programa mediante un protocolo tipo serie, se necesitan dos tensiones de alimentaciòn para llevar a cabo la programaciòn: una de 4.5v a 5.5v (VDD) y otra comprendida entre 12v y 14v(VPP), que es la que le indica al microcontrolador que va a ser programado, para que el mismo cambien la funcion que realizan los pines I/O implicados en la programaciòn. Los pines implicados en la programaciòn varìan de un m,icrocontradlador a otro, pero en general, los de un mismo numero de pines(8,18,etc.) tiene las mismas patitas asignadas a la programaciòn, los que nos permite construir programadores que sirvan para màs de un pic.
en el caso del 16F84A,16F628A y casi todos los pics conocidos de 18 pines, se utilizan los siguientes pines para la programaciòn:


El microprocesador posee una memoria FLASH, esta es una memoria no volàtil, de bajo consumo, que se puede escribir y borrar en el circuito integrado(igual que las EEPROM). Se comercializa dos microcontroladores pràcticamnete iguales que sòlo se diferencian que el programa de memoria de uno de ellos es de EEPROM y la otra es de FLASH.
Ademàs de esta memoria, casi todos los pics tambièn disponen de una memoria de datos de lectura y escritura no volàtil, (esta del tipo EEPROM), de esta forma un corte un corte en el suministro de alimentaciòn no ocaciona la pèrdida de informaciòn , que està disponible a reiniciarse el programa. Por ejemplo, el 16F84 dispone de 64 bytes de memoria EEPROM para contener datos, y los programas que creemos pueden leer y escribir en ella.
Lo siguiente que mostrare es el circuito de un programador "JDM" es un circuito muy simple pero posee varias ventajas:
-Se conecta al puerto serie, que generalmente en cualquier PC esta disponible.
-Existe software gratis para utilizarlo, incluso bajo DOS, LINUX y por supuesto Windows (incluido WinXP)
-Dispone del conector ICSP (In-Circuit Serial Programming) para la programación de microcontroladores sin necesidad de desmontarlos de su placa de circuito impreso.
-No necesitamos de una fuente de alimentación externa, ya que se alimenta directamente del puerto de la PC.
-Su costo es muy bajo, los componentes necesarios difícilmente nos cuesten mas de 3 o 4 u$s y son muy fáciles de conseguir.



En dicha pantalla de opciones figura un control deslizable con el nombre “Retardo I/O”. Este valor es la demora entre cada dato enviado al PIC. Cuando mas pequeño, menos tardaremos en grabar el programa, pero de acuerdo a la PC que tengamos no podremos hacerlo demasiado pequeño. 10 es un buen valor, y se pueden ir haciendo pruebas con valores mas pequeños. Cuando veamos que la grabación falla, volvemos al valor que funciono y lo dejamos así.
No hay mucho mas para decir de este sencillo programa, y después de haber grabado un par de microcontroladores lo usaremos con confianza y seguridad. Por supuesto, también puede ser utilizado para el proceso inverso, es decir, leer el contenido de un microcontrolador. Esto solo será posible si al momento de grabarlo no se utilizo la opción de proteger su contenido, en cuyo caso sòlo podra ser borrado y grabado pero no leìdo.


El programa, desde el punto de vista del PIC es una serie más o menos larga de “0” y “1”. Como seria sumamente complicado programar de esa manera, se utiliza un ASM provisto por Microchip (u otros lenguajes de alto nivel, principalmente C y Basic) que al compilarse genera un archivo con extensión .HEX que es el que se carga con la ayuda del IC-PROG y el programador en el microcontrolador.
A lo largo de esta serie de notas iremos explicando como construir nuestros propios programas de alto nivel, y como convertirlos en ASM.
Utilizaremos una versión de BASIC, lo que significa que será muy fácil de aprender a sacar el jugo a estos chip, ya que es un lenguaje muy sencillo de aprender y probablemente muchos lectores en algún momento hayan hecho algún programa en su ordenador utilizando uno de los tantos dialectos de BASIC disponibles.





En nuestro caso decidimos utilizar el programador pickit 2 ya que es màs eficiente en todo los sentido,es compatible con cualquier pc, es una herramienta que perdura en el tiempo a diferencia de un programador echo por nosotros. La diferencia de precio es considerable pero la diferencia y los beneficios que hay entre estos dos tambien.










T.P Nº 13



Este programa consiste en:
-Activar una salida con una frecuencia de 500Hz
-Controlarla mediante un pulsador
Para lograr esto tuvimos que hacer esta cuenta 1/la frecuencia que queremos
en este caso nos da 2ms (este es el tiempo que la salida estara en "1" y en "0").




Este es programacion de este ejercicio:
;*****************************************************
; T.P Nº13.asm
; Descripción:
; Cuando apreto el pusador a la salida va a aver 500Hz
; Hardware:
; Es la placa Starter
;*****************************************************
; Fecha: 18/09/10 Autor/es:Rojas Leandro-Galeano Nelson
;*****************************************************
LIST p=16F84A
#INCLUDE
__CONFIG _CP_OFF & _PWRTE_ON & _WDT_OFF & _XT_OSC
;*****************************************************
; Variables
;*****************************************************
cblock
d1
d2
endc

;*****************************************************
ORG 0x000
goto main ;Vector de reset

ORG 0x004
retfie ;Vector de interrupción
;*****************************************************
main
; Configuración de los puertos
bsf STATUS,RP0 ;Banco 1
clrf TRISB ;Todo el PORTB como salida
movlw b'00011111'
movwf TRISA
bcf STATUS,RP0
clrf PORTB
movlw 0xC7
movwf d1
movlw 0x01
movwf d2


loop
btfss PORTA,0 ;Testeo el nivel lógico de la entrada 0 del puerto A
;hasta que se ponga en 1 y salta la instrucción de abajo
goto loop ;Vuelvo a repitir
bsf PORTB,6 ;Enciendo el led
call Delay_1ms ;Espero 1 ms
bcf PORTB,6 ;Apago el led
call Delay_1ms ;Espero 1 ms
goto loop ;Vuelvo a repetir

;*****************************************************
; Subrutinas
;*****************************************************


Delay_1ms
;993 cycles
movlw 0xC6
movwf d1
movlw 0x01
movwf d2
Delay_0
decfsz d1, f
goto $+2
decfsz d2, f
goto Delay_0

;3 cycles
goto $+1
nop

;4 cycles (including call)
return

;*****************************************************
END

lunes, 5 de julio de 2010

T.P. Nº7: COMPARADORES ANALÒGICOS

En este trabajo practico se estudiara los comparadores analògicos, se pide aramar el siguiente circuito:



cuando se acerca la làmpara al sensor(LDR) empieza a realizar un oscilacion descontralada. El circuito se comporta como un sensor de luz que al captar un variaciòn de la luz se prende la làmpara.

El sistema es inestable y se lo podria estabilizar mediante la regulacion del potenciometro. La inestabilidad es periòdica.

No se podria utilizar este circuito como control de luz crepuscular porque es muy sensible a la variaciòn de luz

Los siguientes video muestra el funcionamiento de este comparador lògico.

El siguiente video muestra al circuito muy sensible a una pequeña variaciòn de luz:



El siguiente video muestra al circuito ajustado mediante el potenciometro del mismo. Pudiendo llegar a servir como control de luz crepuscular:






Histeresis:


En física se encuentra, por ejemplo, magnética si al magnetizar un ferromagneto éste mantiene la señal magnética tras retirar el campo magnético que la ha inducido. También se puede encontrar el fenómeno en otros comportamientos electromagnéticos, o los elásticos.

La histéresis magnética es el fenómeno que permite el almacenamiento de información en los imanes de los discos duros o flexibles de los ordenadores: el campo induce una magnetización en el pequeño imán, que se codifica como un 0 o un 1. Esta codificación permanece en ausencia de campo, y puede ser leída posteriormente, pero también puede ser invertida aplicando un campo en sentido contrario.

Para poder conocer el ciclo de histéresis de un material, se puede utilizar el magnetómetro de Köpsel, que se encarga de proporcionarle al material ferro magnético los cambios senoidales de la corriente eléctrica para modificar el sentido de los imanes.


martes, 29 de junio de 2010

T.P Nº6: RESTADOR

Desarrollo de la practica:
Un trasductor de tempratura resistivo (termistor) produce una respuesta en tension como la indicada en la grafica


Vc (30ºC) = 1V
Vc (40ºC) = 3V

Se desea ajustar dicha variacion para que se cumpla:

Vo (30ºC) = 0V
Vo (40ºC) = 5V



En este trabajo se pide implementar a travès de un restador un adaptador de escala en corriente continua.
En esta configuraciòn las entradas se conectan independientemente a cada nodo diferencial, este es el esquemàtico:



y posteriormente el circuito:





introduccion:
El amplificador operacional restador básico puede considerarse que está formado por un amplificador operacional inversor y por otro amplificador operacional no inverso

Anàlisis matematico:

En el caso del amplificador operacional cumple lo siguiente:

Vo1= -Vi(R2/R1)

Aplicado concretamente al circuito


Vo2= -Vi2(R2/R1)


Para el amplificador operacional no inversor la tensión de salida es una función de la entrada no inversora. En este caso, la tensión en dicha entrada es:

+V=(R4/R3+R4)Vi1


La tensión de salida queda:



Vo1= (R1+R2/R1)(R4/R3+R4)Vi1


La tensión total de salida se escribe:


Vo= Vo1+Vo2=(R2+R1/R1)(R4/R3+R4)Vi1-(R2/R1)Vi2



Se puede reducir la expresión considerablemente:


Vo=R2/R1(Vi1-Vi2)


calculos:
Si sabemos que Vo= Rf / R1 x (Vc-Vref), y deseamos que para Vc=3V sea Vo=5V, ajustamos Vref para tener (Vc-Vref)=2V. Teniendo eso , lo que necesitamos ahora es tener una ganancia de 2,5 veces, determinada por Rf y R1, en nuetro caso utilizamos una Rf=10K y R1=3k9 y realizamos los siguientes calculos:


Rf=10Kohm
R1=3,9Kohm

Vc=3V

Vref=1V

Vo=RF/R1(Vc-Vref)
Vo=5,1V


para Vc=1:

Rf=10Kohm


R1=3.9Kohm


Vc=1V
Vref=1V

Vo=Rf/R1(Vc-Vref)

Vo=0V



En la practica medimos (Vc-Vref) con el multimetro y observamos que para Vc=1V la diferencia entre Vc y Vref es precisamente o, sino 25mV( tiende a 0),realizando los calculos con los siguientes valores queda lo siguiente:


Vt=(Vc-Vref)


Vt= 25mV

Rf= 10Kohm
R1=3.9Kohm


Vo=(Rf/R1)Vt
Vo=0,065V


circuitos con los valores calculados:





Grafica Vo(Vc):

Vc Vo
1 0
2 2,6
3 5,2
4 7,7
5 10,4


T.P Nº5: AMPLIFICADORES OPERACIONALES

En este trabajo practico se estudiara el funcionamiento de los amplificadores operacionales inversor y el no-inversor.
Amplificador no inversor:
En este caso la señal a amplificar se aplica al pin no inversor(+) del amplificador operacional, como el nombre lo indica la señal de la salida no esta invertida respecto a la entrada. Se puede decir que R1 es igual a VR1= (R1/(R1+R2)). En operacion normal la tension entre las entradas(inversora y no inversora) es practicamente cero lo que significa que la entrada Ven es igual a VR1, con esto se puede deducir que Ven= (R1/(R1+R2))x Vsal. La impedancia de entrada del este amplificador es mucho mayor a la del amplificador inversor.

Amplificador inversor:




El amplificador inversor amplifica e invierte una señal de corriente alterna, en este caso la señal alterna de entrada sale amplificada en la salida y desfasadA 180º.
La ganacia de tension se obtiene con la siguienrte formula:
AV= -Vsal/Vent y AV=-R2/R1
El amplificador operacional no amplifica de la misma manera para todo el rango de frecuencias, conforme la frecuencia de la señal a amplificar aumenta, la capacidad del amplificador operacional para amplificar disminuye. Hay una frecuencia en particular para la cual la ganancia de tension a disminuido al 70.7% de la ganacia a frecuencias medias.(la ganancia a disminuido en 3db).


En nuestro caso utilizaremos el siguiente amplificador operacional obteniendo lo siguiente:















Este es el circuito esquematizado:



Realizando la siguiente accion , conectar un resistor en terminal no inversor ayuda a disminuir esta tension ya que no se realimenta la Vo circula por esta resistencia y se contraresta.




Se pide medir la impedancia del amplificador y para eso tomamos al amplificador como si fuera una caja t le conectams un potenciometro a la entrada y una carga a la salida, quedaria lo siguiente:



Posteriormente empezamos a variar el potenciometro hasta que el circuito no atenue, conectando un osciloscopio presentaria la siguinte señal:







Luego de estos pasos lo que debemos hacer es desconectar el potenciometro tomar el tester y tomar el valor marcado en el tester, esa es la impedancia en mi caso es de 2.4Kohms.

martes, 1 de junio de 2010

trabajo practico numero 4: MONOESTABLE

Para realizar la siguiente experiencia q es un temporizador de 5seg. con el LM555, debemos realizar el siguinete calculo con el siguiente cuadro:

para un tiempo de 5seg.utiizando un capacitor de 100ufla resistencia de 100k posteriormente lo calculamos para 94k y como nos dice el trabajo Ra+Rb=94k eso dice q Ra es igual a 47k. Sabemos q t=1,1 Ra c y los valores q obtivimos fue t= 5,2. teniendo estas calculos realizados se realiza la practica en el protoboarda armando dicho circuito


Se prueba su correcto funcionamiento

El siguiente problema pide fucionar el circuito astable y monoestable realizando una alarma sonora y visual, q produsca las 2 cosa intermitentemente durante 5seg. a partir del disparo:

realizando este problema obtuve lo siguiente:







La siguiente imagen muestra el esquematico del monoestable-astable:

La siguiente imagen es el circuito:





EL problema que planteamos fue hacer que el alarma del ejercicio anterior pero a diferencia de que funcione despues del disparo, que funcione los 5 segundos posteriores del disparo. Para eso utilizamos el mismo circuito de la entrada pero le colocamos a la entrada 2 compuertas NAND.