Buscar este blog

miércoles, 14 de octubre de 2015

Manejo de una memoria RAM 6116

3 comentarios
La memorias su principal función es la de mantener la informacion guardada ya sea por un momento o por un largo periodo de tiempo. En las ocaciones que solo se necesita guardar informacion por un corto periodo por ejemplo para guardar la informacion de variables que cambian durante la ejecucion de un programa es necesario tener donde guardar esa informacion por ese corto periodo.

Para esta aplicacion emplearemos una memoria RAM 6116 que mantendra nuestra informacion por un periodo y despues al  necesitar renovar de nuevo esa informacion la podremos "refrescar".

LA MEMORIA RAM 6116 El dispositivo 6116 es una memoria de acceso aleatorio, Random Acces Memory (RAM), cuenta con una capacidad de 2048 palabras de 8 bits cada una, es una memoria estática de alta velocidad, esta fabricada con la tecnología CMOS, opera con una fuente de alimentación de +5.0 Volts y esta dispuesta en una pastilla de 24 terminales.


CARACTERÍSTICAS DE LA MEMORIA RAM 6116
• Organización de la memoria: 2048 X 8
• Alta velocidad: tiempo de acceso 150 nseg.
• Baja potencia en estado inactivo: 10 uW
• Baja potencia en estado activo: 160 mW
• RAM completamente estática: No requiere reloj para su funcionamiento
• Temperatura de operación: 0.75 grados centígrados
• Temperatura de almacenamiento: De -55 a +125 grados centígrados.
• Potencia de disipación: 1 Watts
• Todas sus entradas y salidas son compatibles directamente con la tecnología TTL

DESCRIPCIÓN DE LAS TERMINALES
• A0-A10: Lineas de direcciones
• E/S0-E/S7: Entrada y Salida de datos
• CS Habilitador de la pastilla
• OE Habilitador de salidas
• WE Habilitador para la escritura
• Vcc Voltaje de alimentación +5.0 Volts
• GND Terminal de tierra 0.0 Volts

OPERACIÓN DE LECTURA

Un dato será leído del dispositivo de almacenamiento RAM 6116, mediante la aplicación de un nivel alto en la terminal (WE)', un nivel bajo en (CS)', y estando en nivel bajo la terminal (OE)', con estas conexiones se dispone que se pueda leer la memoria RAM 6116, si se coloca un nivel alto en la terminales (OE)'. y/o (CS)' las lineas de E/S y/o la pastilla 6116 se ponen en estado de alta impedancia, respectivamente.
(CS)' posee la función de controlar la activación de la pastilla, la cual puede ser usada por un sistema con microprocesadores para la selección del dispositivo.
La terminal (OE)' habilita las salidas, o las pone en estado de alta impedancia, la cual puede ser habilitada cada vez que el microprocesador requiera leer la memoria.

OPERACIÓN DE ESCRITURA

Un dato es escrito en el dispositivo RAM 6116 mediante la aplicación de un nivel bajo en la terminal (WE)', un nivel bajo en (CS)', y un nivel alto o bajo en la terminal (OE)'.
La terminal (WE)' al ser activa provoca que las terminales E/S de la memoria RAM 6116 se habiliten para aceptar la información, en estas condiciones la terminal (OE)' posee la opción de ser colocada en estado de alto bajo, para realizar así la operación de escritura.



                                                             

martes, 6 de octubre de 2015

Amplificador de audio con TDA2003 10 watts

1 comentarios
Al principio cuando arme este proyecto pensé no tener tan buenos resultados porque al ver el circuito integrado TDA2003 de encapsulado TO-220, sus dimensiones no me parecieron que se le sacara tanta potencia, no creí que tuviera buen volumen.


 Este amplificador no requiere muchos conocimientos de electronica para armarlo, por lo que cualquier persona con ganas de aprender electronica debe manejarlo alguna vez. En el siguiente imagen se muestra como debe ir conectado.


                           



En mi experiencia al armarlo obtuve buenos resultados haciendo unos pequeños cambios. Por ejemplo el capacitor C3 no es necesario incluirlo con solo el de 100 microFaradios bastara. La resistencia Rx la reemplace por una de 56 Ohms el capacitor 39nf lo reemplace por uno de  100nF, la R2 por una resistencia de 10 ohms y R3 igual por uno de 10 ohms, Con estos cambios obtuve un buen resultado ademas que son valores mas comerciales, es decir, mas faciles de encontrar.

Para alimentar este amplificador bastara con una fuente entre 9 a 12 volts minimo 1 ampers para tener buenos resultados y evitar que se caliente mucho el TDA2003.

Para tener una mayor claridad de como armarlo la siguente imagen muestra como estan dispuestos los pines en el TDA2003 real.

                           



Donde los pines mas cortos en la figura son los pines localizados en la parte delantera y los pines mas largos en la figura son los que se encuentra en la parte trasera del TDA2003.




domingo, 4 de octubre de 2015

Manejo de una memoria EEPROM 28C16 Parte 2

7 comentarios
En la parte 1 de este tutorial del manejo de una EEPROM 28C16 vimos algunas especificaciones de este dispositivo que en un principio se ve dificil de manejar pero en la realidad no lo es.

Para esto lo primero que debemos hacer es saber como vamos a emplear nuestro dispositivo, es decir, que circuito le vamos a agregar para hacer alguna aplicacion practica. Lo primero que vamos a hacer es emplearla en modo lectura.

Veamos de nuevo como estan dispuestos los pines de la EEPROM para despues saber que circuitos le vamos a agregar, si tienes dudas de cada pin te sugiero que veas primero Manejo de una memoria EEPROM 28C16 Parte 1 de este tutorial.


Direccionar la memoria EEPROM


                                                        

Como vimos en la parte 1 los pines de A0 a A10 sirven para direccionar las 2048 localidades de memoria. Hay varias formas como se podrian direccionar estas localidades podria ser por medio de un contador de 10 bits o un microcontrolador. Pero lo mas recomendable para un "principiante" es hacerlo por medio de un contador, podria ser uno de 8 bits aunque se tendria el inconveniente de solo poder direccionar 256 localidades de las 2048 disponibles, pero si aun asi tienes dificultades para armar un contador ya que se requiere de un temporizador y los contadores y quieres ver la manera de manejar la memoria lo mas simple  podrias emplear un dip switch y es lo que se hara en este post.




Resultado de imagen para dip switch
                                                            Dip switch de diferentes bits.


Si no conocias los dip switch son como los que se muestran en la figura anterior, entonces lo primero que vamos a hacer es conectar un dip switch en las terminales de A0 a A10 no importa si no tienes o consigues uno de 10 pines con uno de 4 u 8 pines bastaria.

En este ejemplo vamos a emplear un dip switch de 4 pines por lo que solo direccionaremos 16 de las 2048 direcciones mas que sificiente para nuestro ejemplo.

Los primeros 4 pines se  conectaran al dip switch y el resto se dejara conectado a GND pues no se emplearan en este ejemplo.

La conexion quedara como se ve en la siguiente imagen.


Polarizar la memoria EEPROM


Para polarizar este dispositivo solo bastara conectarlo a una fuente de 5 volts. La siguiente figura muestra como va ir polarizado.




Habilitar la memoria EEPROM

Como habimos explicado el pin para habilitar se dispone del CE negado pin numero 18. Este pin le ponemos conectar diferentes salidas  ya sea una compuerta logica o la salida de un microcontrolador para habilitarlo, pero como en este tutorial debe ser lo mas didactico para comprender bien el funcionamiento para habilitarlo lo conectaremos a gnd directamente por medio de un cable. En la siguiente imagen se muestra como se hace la conexion se muestra en color rojo.




Ponerlo en modo lectura

Para poner en modo lectura conectaremos por facilidad y para aprender a manejarlo. El pin numero 20 ( OE negado )  y el pin numero 21 (WE negado) los conectaremos a 5 volts. En la siguiente imagen se muestra las conexiones en color azul.




Visualizar los datos

Hay varias formas de visualizar los datos que contega la memoria eeprom 28C16 ya sea por medio de un display de 7 segmentos, activando transistores para el manejo de cargas, conectando las salidas al multimetro para medir el voltaje de salida o una punta logica o simplemente conectando leds que es la forma mas simple de hacerlo y es la que vamos a emplear. Los leds los conectas de la siguiente manera.



Como pueden apreciar en la imagen anterior cada diodo led esta conectado a los pines  I/O con su respectiva resistencia limitadora, el valor de la resistencia debe de ser de 330 ohms para evitar quemar los leds y de igual forma no quemar el integrado.


Una aplicacion mas real.

Una aplicacion  que le podemos dar a la memoria eeprom es la visualizacion de los datos por medio de display de 7 segmentos. Esta se hace de la siguiente manera : con un display de 7 segmentos de catodo comun como se muestra en la siguiente imagen.


                                                     

Conectados en pin numero 9 en el pin del display con la letra a, el 10 con el b, el 11 con el c, el 13 con el d, el 14 con el e, el 15 con el f, el 16 con el f y por ultimo el pin 17 con la g. y los pines que estan entre f y a le conectamos una resistencia de 330 ohms a tierra y el pin que esta entre d y c de igual forma le conectamos una resistencia de 330 ohms.


Una aplicacion mas compleja.


En la siguiente parte explicaremos como grabarle datos a la memoria EEPROM.

Como programar un microcontrolador parte 3 (Programando el pic 18F4550)

0 comentarios

En el post anterior empezamos a ver algunas funciones basicas para emplear el pic 18f4550, estas funciones son como configurar los puertos de E/S.

En este capitulo vamos a seguir programando el puerto como entradas para realizar algunas aplicaciones basicas en el manejo del microcontrolador Pic18F4550.


Para programar el puerto como entradas del  pic18f4550 se comentó que el registro encargado era el TRISx y que tenia que cargarse con un uno lógico para ser entrada.

Por ejemplo si queremos configurar el puerto B como entrada tenemos que escribir lo siguiente:

TRISB = 0XFF;

Y si solo queremos emplear algunas terminales se debe escribir el uno donde se requiera, por ejemplo para configurar la terminal (3, 4 y la 7 por decir algo) como entradas tendriamos que el numero en binario seria:

1001 1000 donde el bit de mas peso es el de la izquierda y el de menor peso es el de la derecha.

Pero eso seria en binario para hexadecimal seria :   0x98
Por lo que quedaria asi:

TRISB = 0X98 // para las terminales 3,4 y 7

Y si solo empleamos la primer terminal  en binario seria: 0000 0001
y en hexadecimal : 0X01

Por lo que quedaria asi:

TRISB = 0X01;


Ya con eso y lo visto en el post anterior se puede generar el siguiente enunciado.

Con el microcontrolador pic18f4550 configure la terminal 1 del puerto B como entrada y la terminal 7 del puerto A como salida  que tendra un led conectado y que por medio de un botón el cual este conectado a la terminal 1 del puerto B, cuando se oprima el boton se encienda el led y cuando este sin oprimir el boton el led se encuentre apagado.



#include <p18f4550.h> // Incluye procesador

void main (void)
{

TRISB = 0X01;// Configurar la terminal 1 del puerto B como entrada
PORTB=0X00;// Puerto B en ceros
TRISA = 0x00;// Puerto A como salida
PORTA=0x00;// Puerto A en ceros

// configura pines como digitales
ADCON1 |= 0X0F;

while(1)
{
  if (PORTB==0x01) // Si la terminal 1 tiene un 1
  PORTA = 0x80;// La terminal 7 del puerto A se pone un uno
  else // Si no
  PORTA = 0x00; // Puerto A apagado.
}
}

Electronica facilita