El condensador gordo y peludo

Descripción:

La pantalla de cristal liquido o LCD (Liquid Crystal Display) es un dispositivo µControlado de visualización grafico para la presentación de caracteres, símbolos o incluso dibujos (en algunos modelos), es este caso dispone de 2 filas de 16 caracteres cada una y cada carácter dispone de una matriz de 5x7 puntos (pixels), aunque los hay de otro número de filas y caracteres. Este dispositivo esta gobernado internamente por un microcontrolador Hitachi 44780 y regula todos los parámetros de presentación, este modelo es el mas comúnmente usado y esta información se basará en el manejo de este u otro LCD compatible.


Caracteristicas principales:

-Pantalla de caracteres ASCII, además de los caracteres Kanji y Griegos.
-Desplazamiento de los caracteres hacia la izquierda o la derecha.
-Proporciona la dirección de la posición absoluta o relativa del caracter.
-Memoria de 40 caracteres por línea de pantalla.
-Movimiento del cursor y cambio de su aspecto.
-Permite que el usuario pueda programar 8 caracteres.
-Conexión a un procesador usando un interfaz de 4 u 8 bits


Funcionamiento:

Para comunicarse con la pantalla LCD podemos hacerlo por medio de sus patitas de entrada de dos maneras posibles, con bus de 4 bits o con bus de 8 bits, este ultimo es el que explicare y la rutina también será para este. En la siguiente figura vemos las dos maneras posibles de conexionar el LCD con un pic16F84.

Conexionado con bus de 4 bits

Conexionado con bus de 8 bits

Como puede apreciarse el control de contraste se realiza al dividir la alimentación de 5V con una resistencia variable de 10K.
Las líneas de datos son triestado, esto indica que cuando el LCD no esta habilitado sus entradas y salidas pasan a alta impedancia.


Descripción de pines:

1

Vss

Tierra de alimentación GND

2

Vdd

Alimentación de +5V CC

3

Vo

Contraste del cristal liquido. ( 0 a +5V )

4

RS

Selección del registro de control/registro de datos:

RS=0 Selección registro de control

RS=1 Selección registro de datos

5

R/W

Señal de lectura/escritura:

R/W=0 Escritura (Write)

R/W=1 Lectura (Read)

6

E

Habilitación del modulo:

E=0 Módulo desconectado

E=1 Módulo conectado

7-14

D0-D7

Bus de datos bidireccional.



Jeego de instrucciones:

Estas son las instrucciones para el control del modulo LCD
Hitachi 44780 o compatible.

CLEAR DISPLAY

Borra el módulo LCD y coloca el cursor en la primera posición (dirección 0). Pone el bit I/D a 1 por defecto.

RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
0 0 0 0 0 0 0 0 0 1

Tiempo de ejecución: 1.64mS



HOME

Coloca el cursor en la posición de inicio (dirección 0) y hace que el display comience a desplazarse desde la posición original. El contenido de la memoria RAM de datos de visualización (DD RAM) permanece invariable. La dirección de la memoria RAM de datos para la visualización (DD RAM) es puesta a 0.

RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
0 0 0 0 0 0 0 0 1 X

Tiempo de ejecución: 1.64mS



ENTRY MODE SET

Establece la dirección de movimiento del cursor y especifica si la visualización se va desplazando a la siguiente posición de la pantalla o no. Estas operaciones se ejecutan durante la lectura o escritura de la DD RAM o CG RAM. Para visualizar normalmente poner el bit S=0.

RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
0 0 0 0 0 0 0 1 I/D S

Tiempo de ejecución: 40µS



DISPLAY ON/OFF CONTROL

Activa o desactiva poniendo en ON/OFF tanto al display (D) como al cursor (C) y se establece si este último debe o no parpadear (B).

RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
0 0 0 0 0 0 1 D C B

Tiempo de ejecución: 40µS



CURSOR OR DISPLAY SHIFT

Mueve el cursor y desplaza el display sin cambiar el contenido de la memoria de datos de visualización DD RAM.

RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
0 0 0 0 0 1 S/C R/L X X

Tiempo de ejecución: 40µS



FUNCTION SET

Establece el tamaño de interfase con el bus de datos (DL), número de líneas del display (N) y tipo de carácter (F)

RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
0 0 0 0 1 DL N F X X

Tiempo de ejecución: 40µS



SET THE CG RAM ADDRESS

El módulo LCD además de tener definidos todo el conjunto de caracteres ASCII, permite al usuario definir 4 u 8 caracteres gráficos. La composición de estos caracteres se va guardando en una memoria llamada CG RAM con capacidad para 64 bytes. Cada carácter gráfico definido por el usuario se compone de 16 u 8 bytes que se almacenan en sucesivas posiciones de la CG RAM.

Mediante esta instrucción se establece la dirección de memoria CG RAM a partir de la cual se irán almacenando los bytes que definen un carácter gráfico. Ejecutando este comando todos los datos que se lean o escriban posteriormente, lo hacen desde esta memoria CG RAM.

RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
0 0 0 1

Dirección de la CG RAM

Tiempo de ejecución: 40µS



SET THE DD RAM ADDRESS

Los caracteres o datos que se van visualizando, se van almacenando en una memoria llamada DD RAM para de aquí pasar a la pantalla.

Mediante esta instrucción se establece la dirección de la memoria

DD RAM a partir de la cual se irán almacenando los datos a visualizar. Ejecutando este comando, todos los datos que se escriban o lean posteriormente lo harán desde esta memoria DD RAM. Las direcciones de la 80h a la 8Fh corresponden con los 16 caracteres del primer renglón y de la C0h a la CFh con los 16 caracteres del segundo renglón, para este modelo de LCD.

RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
0 0 1 Dirección de la DD RAM

Tiempo de ejecución: 40µS



READ BUSY FLAG & ADDRESS

Cuando el modulo LCD esta ejecutando cualquiera de estas instrucciones, tarda un cierto tiempo de ejecución en el que no se debe mandar ninguna instrucción. Para ello dispone de un flag llamado BUSY (ocupado) que indica que se está ejecutando una instrucción previa.

Esta instrucción de lectura informa del estado de dicho flag además de proporcionar el valor del contador de direcciones de la CG RAM o de la DD RAM según la última que se haya empleado.

RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
0 1 BF Dirección de la CG RAM o DD RAM

Tiempo de ejecución: 40µS


WRITE DATA TO GG OR DD RAM

Mediante este comando se escribe en la memoria DD RAM los datos que se quieren presentar en pantalla y que serán los diferentes códigos ASCII de los caracteres a visualizar.

Igualmente se escribe en la memoria CG RAM los diferentes bytes que permiten confeccionar caracteres gráficos a gusto del usuario.

El escribir en uno u otro tipo de memoria depende de si se ha empleado previamente la instrucción de direccionamiento DD RAM o la de direccionamiento CG RAM.

RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
1 0 Código ASCII o byte del carácter gráfico

Tiempo de ejecución: 40µS



READ DATA FROM CG RAM OR DD RAM

Mediante este comando se lee de la memoria DD RAM los datos que haya almacenados y que serán los códigos ASCII de los caracteres almacenados.

Igualmente se lee de la memoria CG RAM los diferentes bytes con los que se ha confeccionado un determinado carácter gráfico.

El leer de uno u otro tipo de memoria depende de si se ha empleado previamente la instrucción de direccionamiento de la DD RAM o la de direccionamiento CG RAM.

RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
1 1 Código ASCII o byte del carácter gráfico

Tiempo de ejecución: 40µS



ABREVIATURAS

Abreviaturas empleadas en los códigos anteriores:

S

1 - Desplaza la visualización cada vez que se escribe un dato

0 - Modo normal

I/D

1 - Incremento del cursor

0 - Decremento del cursor

S/C

1 - Desplaza el display

0 - Mueve el cursor

R/L

1 - Desplazamiento a la derecha

0 - Desplazamiento a la izquierda

BF

1 - Módulo ocupado

0 - Módulo disponible

DL

1 - Bus de datos de 8 bits

0 - Bus de datos de 4 bits

N

1 - LCD de dos líneas

0 - LCD de una línea

F

1 - Carácter de 5 x 10 puntos

0 - Carácter de 5 x 7 puntos

B

1 - Parpadeo del cursor ON

0 - Parpadeo del cursor OFF

C

1 - Cursor ON

0 - Cursor OFF

D

1 - Display ON

0 - Display OFF

X

Don´t Care



Juego de caracteres:



Forma de utilización:

Por supuesto, todo lo anteriormente citado es la teoría de funcionamiento. Lo más recomendable es tener una librería de código que nos facilite su uso posteriormente simplemente llamando a distintas funciones, así como cumplir las temporizaciones de las señales.

Yo personalmete utilizo CCS con los microcontroladores PIC y posee una librería integrada bastante fácil de usar y muy completa para uso con direccionamiento de 4 bits.

Cualquier duda dejad un comentario.

 

Manejo de Pics

Posted In: . By Litos


En este post quiero familirizaros un poco con el mundo del los microcontroladores PIC de microchip. Simplemente quiero describiros un poco las herramientas mas recomendables para empezar y sus ventajas frente a otras.

Lo primero que necesitamos es un editor de código fuente amigable, es decir, que te ayude en la tarea de programar y de estructurar el código. Yo utilizo CCS. CCS es un editor/compilador de código en lenguaje C que facilita muchisimo el desarrollo del programa. Cuenta con un gran número de librerias útiles y una ayuda muy intuitiva. Además posee, como otros grandes editores, un wizard para crear tu proyecto a tu medida con el PIC que vas a utilizar y configurandote los parámetros más importantes de éste. Una vez que tenemos el programa ya escrito, sólo nos queda cruzar los dedos, compilarlo y obtener un fichero hexadecimal (.hex) que será nuestro archivo a programar.

El fichero generado por CCS lo usamos en el programa Winpic800 que junto al hardware GtpUsblite son las herramientas necesarias para introducir nuestro programa en el microcontrolador. GtpUsblite es un programador USB que es muy recomendable tener en el cajón de montajes electrónicos para sacarnos de más de un apuro.

Simplemente he enumerado las herramientas, y ahora sólo queda perder un poquito de tiempo en aprender a manejarlas y en coger soltura. Suerte!

 

Pilas y Baterías.

Posted In: . By rigea

Cuando alimentamos sistemas electrónicos autónomos una posible fuente de energía son las pilas y las baterías. La diferencia está en que las pilas no son recargables y las baterías si.

¿Cómo elegir la mejor para nuestro equipo? Habrá que decidir si debe ser recargable o no y valorar los siguientes puntos.
  • Capacidad, cantidad de energía almacenada (mmAh-V)
  • Vida de la batería: Si es recargable, el número de ciclos de carga que admite.
  • Curva de descarga: (Variación de V) La tensión que proporcionan no es constante a lo largo de su vida, en función del tipo la variación es mayor o menor. La diferencia de tensión a lo largo del periodo de uso puede hacer que el sistema deje de funcionar aun cuando la energía de la batería o la pila no se haya agotado.
  • Rango de temperatura: El comportamiento no es el mismo a diferentes temperatura. Habrá que tener encuenta la temperatura de funcionamiento del sistema para elegir la pila o la batería adecuada.
  • Precio y disponibilidad: Lo primero es obvio y lo segundo también.

1.- Pilas.
Las hay de dos tipos: Estándares y de alta densidad de energía.

1.1.- Pilas estandar. AAA AA C D
Su tensión es de 1,5V/Celda siendo sus curvas de descarga muy pronunciadas.
Fundamentalmente tenemos tres tipos:
  1. Zinc - carbono(dry cell) o Leclanche: Son las pilas más baratas y comunes, pero de muy baja capacidad. Además se comportan mal a baja temperatura no siendo capaces de suministrar corrientes altas.
  2. Cloruro de Zinc - carbono: Su precio es intermedio, se comportan bien a baja temperatura y suministran altas corrientes, aunque siguen teniendo una capacidad baja.
  3. Alcalinas:(O pilas de Alcalá) Son las pilas más caras de todas pero a cambio son de mayor capacidad que las anteriores, con un buen comportamiento a baja temperatura e intensidades altas de descarga.

1.2.- Pilas de alta densidad de energía.
Como características principales tenemos su alta capacidad, curvas de descarga muy planas (poca varicación de tensión a lo largo del tiempo de descarga) y la disponibilidad de encapsulados muy variados (pilas botón)
Podemos encontrar tres tipos también en este caso:
  1. Litio: En general se encuentran en 3V/celda, su vida es muy larga (de 10 a 20 años) y se comportan muy bien en temperaturas extremas. Por el contrario su corriente de descarga es baja y su precio muy elevado.
  2. Mercurio: En desuso por problemas ambientales. Sustituidas por:
  3. Óxido de Plata: Son las típicas pílas de botón actuales de 1,5 V.

2.- Baterías.
Son recargables, pero tienen menos capacidad que las pilas.
Existen cuatro tipos básicos.
  1. Plomo-Acido: Son las típicas baterias de los atomóviles. Son las más baratas, poseen una larga vida (8 a 10 años), un rango de temperaturas de buen funcionamiento amplio (de -40ºC a +65ºC) y una reducida autodescarga. Sin embargo poseen una baja densidad de energía, (tienen un péso y volumen muy elevado en comparación con otras con igual misma energía) y su carga es lenta. Dentro de este tipo de baterías podemos encontrar dos tipos de "encapsulados": Normales y SLA (Sealed Load Acid) o Baterias de Plomo-Ácido selladas. Estas últimas a diferencia de las primeras están selladas, por lo que no tenemos que rellenarlas con agua destilada, cuando se evapore parte de disolución de ácido sulfúrico (H2SO4)
  2. Niquel-Cadmio (Ni-Cd): Son las más comunes, aunque cada vez menos. Son baratas y su carga es rápida. El principal problema es que tiene "memoria" (Si, te la guardan, y cuando menos te lo esperas se vengan dejandote a medio camino de casa con el mp3 inutilizado). Además si esto no fuera suficiente, se autodescargan en pocos meses.
  3. Niquel-Hidruro metálico (Ni-MH): Son las llamadas a sustituir a las baterías de Niquel-Cadmio. Al no poseer cadmio son menos perjudiciales para el medio ambiente. Además su densidad de energía es mayor que las de Ni-Cd. Por el contrario la uto-descarga es mayor, los ciclos de vida son menores y los pícos de corriente son más bajos que en el caso de las de Ni-Cd.
  4. Ión Litio: Son las baterías con mayor densidad de energía (por algo las usaran en los télefonos móviles), no se autodescargan, y su carga es rápida. Por otra parte, son cáras siendo los cargadores y el control de carga complicados.
Por hoy es suficiente, en próximos post hablaré de cómo recargar baterías correctamente.

 

Programador ATMEL

Posted In: . By Litos

Acabo de terminar de montar mi programador de ATMEL isp. No es el típico programador paralelo o serie, es un programador USB para poder utilizarlo en el portatil. Es muy compacto y utiliza un Atmega48 como interfaz USB.

En la página del proyecto (usbasp) se actualiza el firmware constantemente implementandole nuevas funciones, el objetivo inmediato es añadirle posibilidad de utilizarlo como ICD, para depurar nuestros programas en el propio micro y no mediante simulación o mediante prueba y error.

Es compatible totalmente con Linux, Windows y creo que con Mac. Utiliza como software de programación Avrdude, que aunque es un programa en línea de comandos, existe una version Avrdude-gui con interfaz gráfica, bastante sencilla, pero menos es nada. Esta tarde probaré a utilizarlo y a ver hasta donde es capaz de llegar.

 

Funciona el LCD

Posted In: . By Litos

La 1:30 de la mañana no es hora para contar esto, pero con lo mucho que me ha costado hacer funcionar a este LCD....Aquí os dejo mi primer "hola mundo" en el susodicho.

En días posteriores os explicare en detalle como hacer funcionar un LCD.

 

Sistema de PICS

Posted In: . By Litos


Os voy a enseñar mi pequeño kit de pruebas para microcontroladores PIC. Consiste en una placa entrenadora (idea original de micropic), la cual facilita todas las entradas y salidas del microcontrolador en la periferia de la misma. A estas entradas y salidas podemos conectar placas desarrolladas para una aplicación en concreto o tarjetas de entrada/salida genéricas como las que vemos en las fotografía.


Para programar los micros utilizo el programador por USB gtp usb lite, que funciona muy bien y tiene la ventaja de tener un reducido tamaño. Este programador se basa en un 18f2550, uno de mis micros favoritos y que mejor conozco.


Ya sólo nos queda "picar" unas cuantas lineas de código y hacer algun programilla para usar todo el sistema. Pero eso lo veremos en algun post futuro.

 

Nuevos componentes

Posted In: . By Litos

Acabo de recibir mi paquetito de componentes electrónicos directamente desde Tailandia, ya os iré contando lo que realizo con ellos. Para ir abriendo boca nada mejor que una foto.

 

Filtro con Rfsim99

Posted In: , . By Litos

Vamos a estrenar la seccion de tutoriales. En este tutorial vereis de forma muy rápida como se diseña un filtro pasivo con el programa freeware Rfsim99.

El filtro tiene las siguientes caracteristicas:

  • Paso bajo
  • Frecuencia de corte: 100 Mhz
  • Butterworth
  • Orden: 5
Espero que sea de vuestro agrado.

 

Como leer condensadores

Posted In: . By Litos

Más de uno se habra visto en la tesitura de adivinar el valor de un condensador en algun momento de su vida. Es algo que no recuerdo haber aprendido durante la carrera, o al menos en algun momento de los que estuviera atendiendo. Aquí se explica brevemente como leer el valor de un condensador, qué significa por ejemplo 103 ó .15M50 ?
  • Condensadores cerámicos

Los condensadores cerámicos de 10 picofaradios a 82 picofaradios vienen representados con dos cifras, por tanto no tienen problema para diferenciar su capacidad.

Para los valores comprendidos entre 1 y 82, los fabricantes suelen utilizar el punto, es decir, suelen escribir 1.2 - 1.5 - 1.8 o bien situar entre los dos números la letra "p" de picofaradios, es decir, 1p2 - 1p5 - 1p8 que se interpreta como 1 picofaradio y 2 decimas, 1 picofaradio y 5 decimas, etc...

Las dificultades comienzan a partir de los 100 picofaradios, ya que los fabricantes utilizas dispares identificaciones.
    • El primer sistema es el japones:

Las dos primeras cifras indican los dos primeros números de capacidad. El tercer número, al igual que las resistencias, indican el número de ceros que hay que agregar a los dos primeros.

Por ejemplo:

100 - 120 - 150 pifofaradios se muestran como 101 - 121 - 151.

1000 - 1200 - 1500 picofaradios se muestran como 102 - 122 - 152, etc...

    • Otro sistema es utilizar los nanofaradios:

En el caso se 1000 - 1200 - 1800 - 2200 pf se marcan 0.001 - 0.0015 - 0.0018 - 0.0022. Como no siempre hay sitio en las carcasas de los condensadores para tanto número, se elimina el primer cero y se deja el punto, .001 - .0015 - .0018 - .0022.

  • Los condensadores de poliéster

Ademas de ir identificado con los sistema que ya hemos visto, pueden marcarse con otro sistema que utiliza la letra griega "µ". Así pues, un condensador de 100.000 picofaradios, lo podemos encontrar marcado indistintamente como 10nf - .01 - µ10.

En la practica la letra µ sustituye al "0", por tanto µ01 equivale a 0.01 microfaradios. Entonces, si encontramos condensadores marcados con µ1 - µ47 -µ82, tendremos que leerlo como 0.1µ - 0.47µ -0.82 microfaradios.

También en los condensadores de poliéster, al valor de la capacidad, le siguen otras siglas o números que pudieran despistar. Por ejemplo 1k, se puede interpretar como 1 kilo, es decir, 1000pf, ya que la letra "K" se considera el equivalente a 1000, mientras que su capacidad es en realidad 1 microfaradio.

La sigla .1M50 se puede interpretar erróneamente como 1.5 microfaradios porque la letra "M" se considera equivalente a microfaradios, o bien en presencia del punto, 150.000 picofaradios, mientras que en realidad su capacidad es de 100.000 picofaradios.

Las letras M, K o J presentes tras el valor de la capacidad, indican la tolerancia:

M = tolerancia del 20%

K = tolerancia del 10%

J = tolerancia del 5 %

Tras estas letras, aparecen las cifras que indican la tensión de trabajo.

Por ejemplo:

.15M50 significa que el condensador tiene una capacidad de 150.000 picofaradios, que su tolerancia es M = 20% y su tensión máxima de trabajo son 50 voltios.

Visto en electrónicafacil

 

El Transistor

Posted In: . By Litos

Todo comenzo en 1947, el "boom" de la electrónica comenzaba gracias al nacimiento del transistor. El hermano pequeño de las valvulas de vacío hacía su aparición en los Laboratorios Bell en EEUU. Con el tiempo su facilidad de utilización acabo relegando a la valvula de vacío a usos muy especificos dentro del mundo de la electrónica, muy alejados de la electrónica de consumo.

El transistor a grandes rasgos puede utilizarse de dos formas distintas, como resistencia variable (de ahí su nombre proveniente de transfer resistor) o como interruptor. Los principales usos de estas formas de trabajo son la electronica analógica y la digital respectivamente.

Existen diversos tipos de transistores:

Los transistores bipolares se usan generalmente en electrónica analógica. También e algunas aplicaciones de electrónica digital como la tecnología TTL o BICMOS. Son los transistores que primero se aprenden y por tanto los más sencillos de utilizar.

Funcionan con voltajes frente al funcionamiento por corrientes de los bipolares. La superficie necesaria de semiconductor es mucho menor. Su consumo en modo estático es casi despreciable, esto quiere decir que solo consume en los cambios de on a off o de off a on. Es el gran utilizado en sistemas digitales.

Como desventaja podemos citar que soportan menos potencia.


  • IGBT o Transistores Bipolares de compuerta aislada.
Podemos decir que es la mezcla de un FET y un bipolar. Son dispositivos utilizados en equipos que manejan niveles de pontencia elevados.



Todavía recuerdo cuando los primeros receptores de radio AM y FM compactos se denominaban transistores (sobre todo de oirlo a gente mayor), debido a los componentes que habían hecho posible esa reducción de tamaño frente a las radios de madera que todo el mundo poseía en el salón.