Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Probador de continuidad
Probador de continuidad
Este valioso instrumento permite saber si un circuito conduce o no corriente y si lo hace apropiadamente.
Errneamente se detecta la continuidad de un circuito con un simple Led o zumbador en serie con lo que se
desea probar y el resultado es incierto debido a que una resistencia de hasta 50 no afecta en absoluto ni el
brillo del Led ni el sonido del zumbador. Aparte, al ser una serie directa se est cargando con corriente y
tensin el circuito en verificacin.
Este circuito funciona alrededor de dos amplificadores operacionales. El primero est configurado como
comparador de voltaje, que abre o cierra segn la resistencia conectada entre las puntas de prueba. El
segundo hace las veces de amplificador de corriente permitiendo mover el zumbador y el diodo Led.
Las resistencias y el preset conectados a las entradas del primer amplificador operacional forman un divisor
de voltaje calibrado. El preset debe ser del tipo multivueltas de alrededor de 10 k, pero este valor no es
crtico.
CALIBRACIN:
La nica pieza ajustable es el preset, el cual se toca una sola vez. Para ponerlo a punto hay que disponer de
dos resistencias. Una de 1 y otra de 1.5 , ambas del 1% de tolerancia o menos.
1.
2.
el Led y el zumbador se encienden girar el preset hasta que se apaguen. Si no se encienden omitir
este paso y seguir con el siguiente.
3.
4.
5.
Repetir los pasos de arriba cuantas veces sea necesario hasta que el Led y el zumbador se
enciendan slo al conectar la resistencia de 1 . Con las puntas en vaco o con la resistencia de 1.5
el Led y zumbador deben permanecer apagados.
Alimentacin:
V max: simple 9V DC
I max: 0.1A
Dado electrnico
Un dado electrnico es un proyecto de primer clsico para los que recibieron interesado en la electrnica. A
timer, counter and a few LEDs makes a circuit that can also add a new twist to some old boring board
games. Un temporizador, contador y unos pocos LEDs hace un circuito que tambin puede agregar un nuevo
giro a algunos juegos de mesa vieja y aburrida. When the switch is pressed, a 555 timer in astable mode
pulses a BCD counter which lights up a series of LEDs wired to mimic a dice. Cuando se pulsa el interruptor,
un temporizador 555 en modo astable pulsos de un contador BCD que se ilumina una serie de LEDs con
cable para imitar un dado. Two AND gates are used to reset the count back to one whenever the BCD output
is seven. Dos puertas se utilizan para restablecer la cuenta hasta el uno cada vez que la salida BCD es de
siete. Thus, the circuit is not truly random but the natural bounce present in a pushbutton and the normal
human ability to operate much slower then the oscillator make the output of the circuit seem random. As, el
circuito no es verdaderamente aleatoria, pero el presente rebote natural en el teclado y la capacidad humana
normal para funcionar mucho ms lento que el oscilador de hacer la salida del circuito parecen aleatorios.
1.
2.
3.
Pushing and holding S1 causes the LEDs to rapidly cycle. Si se mantiene pulsada
causas S1 los LEDs a la rpida ciclo. Releasing the button locks the pattern and
shows a number from 1 to 6. Al soltar el botn bloquea el patrn y muestra un
nmero del 1 al 6.
When building the circuit, make sure to position the LEDs as shown on the
schematic. Al construir el circuito, asegrese de que la posicin de los LED como se
muestra en el esquema. Otherwise the pattern of the dice will look weird. De lo
contrario el patrn de los dados se ver raro.
Two circuits can of course be both powered by one switch to make a dual dice. Dos
circuitos pueden, por supuesto, ambos impulsados por un interruptor para hacer un
dado doble.
Este circuito debe encender gradualmente un led desde cero hasta su brillo mximo para luego irlo
atenuando tambien gradualmente hasta apagarlo y repetir el ciclo , en realidad es parte de la solucin a
un problema planteado por uno de los lectores del blog , la idea bsica es simple , lo ideal seria generar
ondas triangulares lineales , esto se conseguira cargando y descargando un condensador por una fuente
constante de corriente , esto dara una carga lineal .
En el circuito mostrado usamos un sencillo astable o generador de onda cuadrada cargando y descargando
un condensador , los diodos definen dos caminos : uno para la carga mediante la resistencia
correspondiente , y el otro direcciona la descarga a travez de su resistencia , de no haber esto la carga
seria gradual pero la descarga se bloqueara por el diodo de carga quedandose cargado el condensador , el
resultado es una onda cuasi triangular , ( en realidad es exponencial en los circuitos RC ), para alimentar
el led ponemos un seguidor con opam que tiene una muy alta impedancia de entrada que no carga al
condensador , con esto el led oscila segn la velocidad del tren de ondas cuadradas ; los valores estn an
para correguir , con los mostrados en el diagrama tendriamos una velocidad muy alta para apreciar los
cambios , reemplazando el condensador de 2.2 uF por uno de 100 uF se tendria un tiempo de ON de ms
o menos 7.3 seg y un tiempo de OFF o descarga de casi 7 segundos , claro que se puede obtener duty
cicle de 50% usando diodos en las resistencias R1 y R2 pero esto es solo un circuito aproximado , lo arm
6.
7.
Aunque es un circuito an en experimentacin los pines corresponden a un astable con el timer 555 y
un seguidor de voltaje o buffer con el 741 u opam equivalente la conexin de los pines de cada
integrado sera la siguiente
8.
Colocando un condensador de gran capacidad en paralelo con un led a la salida de un astable con el timer 555 el
condensador en su proceso de carga y descarga casi triangular ir restando voltaje al diodo led de manera que este
oscilara en forma de rampas triangulares atenuando e incrementando su brillo.
Se presenta un circuito simple de interruptor por tacto usando el CD4011 que tiene en su interior 4 compuertas
NAND. El las puertas del IC CD4011 estn conectadas como Flip Flop tipo R-S o interruptor.
Los pines 9, 13 del IC trabajan como contactos de SET y RESET .
El circuito es CMOS y requiere muy poca intensidad de corriente para controlar sus entradas. Puesto que los pines 9
y 13 estn conectados con el terminal positivo va los resistores R1 y R2, las puertas de entrada lgica del flip flop (
entradas S y R ) estarn en su estado alto.
Cuando tocamos con un dedo a travs de los puntos A, B (haciendo puente) la entrada respectica del IC ser
cerrada hacia tierra y la salida es puesta a baja. Esto activa el transistor Q1 y el relay consigue ser activado.
Cuando tocamos a travs de los puntos C, D el flip flop cambia otra vez y hace que el transistor sea APAGADO. Esto
hace el relay sea APAGADO.
As tocando con los puntos de contacto A, B y C, D la aplicacin conectada a travs del relay se puede cambiar de
ON a Off como se desee.
En realidad en el circuito solo se muestran los contactos de salida y entrada para saber lo que ocurre dentro
observemos un circuito semejante donde se han intercambiado algunas puertas
diferencia de un puntero laser de luz paralela y estrecha , el infrarrojo se abre con determinado ngulo ,
siendo un led infrarrojo tpico el que tiene una abertura de haz de 15 grados , esto limita el rango , en este
circuito es dificil llegar al metro de alcance.
El receptor es un fotodiodo , en los mouses modernos se usan fototransistores apareados , traen 3 patas , la
de en medio es el emisor comun , las otras dos son los colectores , la base por supuesto es la que recibe la
luz infrarroja , es importante observar que el fotodiodo se polariza en inversa , su salida va a un opam
conexionado como seguidor de tensin , si los ponemos alineados y cercanos al encender el led transmisor se
enciende el led en el receptor , si interrumpimos el haz con un objeto opaco o con la mano se apaga.
Describiendo los componentes:
LED infrarrojo :Este componente puede tener la apariencia de un LED normal, la diferencia radica en que la
luz emitida por el no es visible para el ojo humano, nicamente puede ser percibida por otros dispositivos
electrnicos como una cmara digital.La mxima corriente permita por el LED infrarrojo es 150mA (0.15A)esto
hay que considerar para poner la resistencia limitadora
Importante : La luz del led infrarrojo no es visible para el ojo humano , para saber si
est encendido o no lo est se debe observar con una camara web , camara digital o la camara de un telefono
celular , se observar un punto luminoso de un color medio violeta , electricamente se puede encontrar anodo
y catodo usando un multimetro normal. El seguidor opam se agrega con el fin de evitar que caiga el voltaje en
la salida de los sensores cuando se agrega algn otro circuito esto debido a su altisima resistencia de entrada.
Sus aplicaciones son : Barrera infrarroja con un alcance de 13 cm en sistemas de seguridad , en ascensores
Tipo Rflex 8 cm de alcance : Registradoras de Transmilenio
Procesos de embotellado
Auto rflex 4 cm de alcance : Secadores de manos , lavamanos .carros seguidores de lnea.
Si bien podemos transmitir a cualquier frecuencia , nuestro detector deber tener un un filtro digital
que acepte solo a esa seal y rechaze a las otras , esto se hacia antes con el PLL 567 complicando los
circuitos detectores , en vista de eso se dise un standart de frecuencia de transmisin a 37 khz
diseando un chip que tenga integrado el filtro de 37 khz , sin embargo el duty cicle de la portadora
debe ser de 50% , dificil de imlementar con un 555 en su configuracin clsica , de hecho un circuito
clsico en internet probado muchas veces es el siguiente:
pines , uno para la alimentacin (4.5 V) uno para tierra y otro para la salida de la modulacin , es decir los
pulsos de control que van encima de la portadora de 38 Khz.
El siguiente circuito usa uno de estos sensores rescatados de un televisor usado y puede disparar un timer
555 para activar una alarma a distancia ( boton de pnico desde la cama) o en un negocio , tambien si a la
salida de estos pulsos del 555 ponemos un flip flop tipo T hecho con un 4013 tendremos un interuptor on /off ,
es decir : un pulso prende y el siguiente apaga, todo desde un control remoto de tv generico.
Un sensor infrarrojo IC TSOP 1738 se utiliza para recibir la seal. Cuando no hay infrarrojo sobre este sensor
su salida est en alta.Esto hace que el transistor Q1 est en OFF.Cuando una seal infrarroja de 38 KHz
desde el control remoto de tv llega al sensor su salida se va a bajo ,esto hace que el Q1 se vaya a tierra
generando un pulso de bajada que dispara el 555.
Con los valores mostrados el timer produce una salida alta de 4 Sec ,multiplicando la resistencia o
condensador de tiempo por 10 se tendrn 40 segundos , con el pulso corto podemos usarlo para cambiar de
estado un FF tipo T para apagar o prender alguna luz mediante un relay o triac aislado por un
optoacoplador,el uso mas sencillo es alimentar una luz o alarma el tiempo programado.
Los datos del sensor infrarrojo estan aqu:
Introduccin
Nuevamente estamos al borde del fin de ao, y debemos comenzar a pensar en las fiestas que se avecinan.
En la mayora de los hogares, al menos en occidente, se tiene la costumbre de adornar un rbol
(generalmente un pino) con luces y elementos de colores vivos al pie del que un gordo Pap Noel dejar sus
regalos.
Dado que uControl es un sitio dedicado a la electrnica no tenemos una habilidad especial para la decoracin,
pero si podemos armar algo para poner el toque electrnico en estas fiestas.
Tabla de contenidos
[esconder]
1 Introduccin
3 El circuito
4 El PCB
5 El software
6 Montaje
7 Videos
8 Articulos relacionados
9 Autor
[editar]
En este caso, hemos diseado un sencillo pero efectivo rbol de navidad que, gracias a un PIC12F629 y unos
cuantos LEDs, servir para adornar nuestra casa. En mi caso, pienso alimentarlo con una pila y colocarlo en
la puerta de casa.
[editar]
El circuito
Dado que nos interesa que la mayor cantidad posible de lectores puedan montar este interesante proyecto,
hemos mantenido el circuito lo ms simple posible. El corazn del proyecto es un PIC12F629, de ocho pines y
costo sumamente mdico, que se encarga de controlar cuatro transistores BC548B, los cuales a su vez
gestionan la alimentacin de cada uno de los grupos de LEDs.
Tambin hemos previsto un pulsador que el lector podr programar para que el rbol modifique de alguna
manera la secuencia de encendido de los LEDs cuando es pulsado.
El PCB
Dibujar este PCB demando unas cuantas horas de trabajo. Queriamos que fuese sencillo de construir, por eso
descartamos desde el vamos el empleo de una placa de dos caras, y eso hizo que tuviesemos que utilizar un
numero de puentes bastante elevado. Pero es un costo que debemos pagar para mantener simple el proceso
de fabricacin.
El software
Este pequeo programa, escrito en el BASIC del PIC SIMULATOR IDE, servir para probar que el montaje
nos ha quedado bien. Al final del articulo hay un video que muestra este programa funcionando.
Symbol
Symbol
Symbol
Symbol
Symbol
canal0 =
canal1 =
canal2 =
canal3 =
pulsador
GPIO.0
GPIO.1
GPIO.2
GPIO.4
= GPIO.5
AllDigital
TRISIO = %100000
Dim tiempo As Word
tiempo = 130
'GPIO: 0 = salidas
loop:
'Bucle
canal0
canal1
canal2
canal3
WaitMs
principal
= 1
= 0
= 0
= 1
tiempo
canal0
canal1
canal2
canal3
WaitMs
= 1
= 1
= 0
= 0
tiempo
canal0
canal1
canal2
canal3
WaitMs
= 0
= 1
= 1
= 0
tiempo
canal0
canal1
canal2
canal3
WaitMs
= 0
= 0
= 1
= 1
tiempo
Goto loop
Seria muy interesante que, tomando como base el programa de ejemplo propuesto, los lectores utilicen el foro
para proponer programas ms complejos e interesantes. Una buena idea seria implementar, por software, el
control del brillo de los LEDs mediante PWM, para que el encendido y apagado sea ms suave (alguien
aceptar el desafo?)
[editar]
Montaje
El montaje no requiere de ninguna tcnica en especial. Una vez que tengamos el PCB listo y agujereado,
procedemos a soldar los componentes. Podemos comenzar por los resistores y los LEDs. Al hacerlo, hay que
tener en cuenta que los LEDs deben tener la muesca que indica el ctodo hacia el lado correcto. Si no lo
hacemos asi, el proyecto no funcionar.
Ms tarde soldaremos el zcalo, el pulsador, los condensadores y el LM7805. En mi caso, decidi ponerlo del
lado de "atras" del PCB por que no me gustaba como quedaba del lado componentes.
Videos
Introduccin
Este documento se basa en un hilo del foro TodoPIC, en el que se propuso armar una especie de biblioteca
virtual de circuitos que generalmente usamos para resolver los problemas de entrada-salida de
nuestros proyectos.
Recomendamos SIEMPRE visitar el hilo original dentro del foro, ya que esta siendo permanentemente
actualizado, cosa que no sucede con este resumen.
Se ha consignado en cada caso el autor del circuito, usando como identificacin su nombre dentro del foro.
Tabla de contenidos
[esconder]
1 Introduccin
2 Activar un Rele
15 CD4511
17 Protector de Alimentacin
29 Autor
Activar un Rele
AUTOR: Aitopes
Circuito bsico que generalmente utilizo para activar un rele desde un pin del PIC.
Algunas aclaraciones: el diodo protege al transistor de la corriente devuelta por la bobina del rele. El transistor
puede ser reemplazado sin demasiados problemas por algn TUN.
Espacio de publicidad
Se deben de tomar las precauciones que se corresponden con el manejo de una tensin de 220v.
poder seleccionarlo independientemente de los otros, y los ctodos del ultimo led de cada segmento (por
ejemplo el del medio de cada digito) unido a otro transistor que se encarga de seleccionar el segmento
adecuado. Es un lo la explicacin, pero el esquema se entiende mejor.
CD4511
AUTOR: Aitopes
Este integrado nos permite controlar un display de 7 segmentos mediante cuatro pines del PIC. No es muy
complicado multiplexarlo para usar ms de un digito con solo un circuito integrado (y un pin adicional por
digito, para el multiplexado).
Protector de Alimentacin
AUTOR: MarioGuillote
Muchos de los que nos dedicamos a esto de la electrnica, hacemos nuestros ensayos de los proyectos con
fuentes variables, generalmente entre 2 o 3 Volts y unos 18 Volts, construidas con un transformador de
algunos amperes, unos diodos que andaban por ah, un electrolticosper-gigante que no se usaba en
absolutamente nada y nos vino brbaro para nuestra fuente. El LM317, el/los 2N3055 o TIP35 , un par
decapacitores ms, (los ms puristas, el 723) y listo! Nuestra fuente de laboratorio!
Y lgicamente como todo proceso de existencia, alguna vez trabajando con un circuito de 5 Volts .......
PIFFFF ! , los transistores se ponen en corto por algn error de manipulacin nuestro y adis circuito.
Aqu les propongo un circuito que encontr hace muchos aos y es tan sencillo como eficiente.
Protector de Alimentacin.
El fusible de entrada se va a colocar de acuerdo al consumo del circuito a alimentar, como se calculan
siempre los fusibles, tema ya tratado en el foro. El zener debe ser de 1V ms que el circuito a alimentar y de
potencia 1W. El tiristor puede ser cualquiera, con un TIC226 anda perfecto, pero tambin depende de la
aplicacin a usar.
El funcionamiento habla por s solo, viendo el esquema:
1. Ante una inversin de polaridad se ceba el triac, funde el fusible y circuito salvado.
2. Ante una suba de tensin de alimentacin, por el zener circula una corriente inversa que ceba el triac
y funde el fusible.
3. No provoca cada de tensin en el circuito que se intercale.
Sencillo, barato, muy eficaz y lo mejor de todo ..... Es a prueba de genios como nosotros. Espero sea til.
La seal entregada por el LM35 es filtrada y amplificada por un OA del tipo LM358 para luego introducirla al
conversor del PIC
El circuito integrado LM336-2.5 es usado como tensin de referencia de 2.5V para los conversores, ya que si
usramos de referencia la tensin de alimentacin del propio PIC, las lecturas de temperatura podran tener
grandes errores.
Por ultimo queda aclarar que la compensacin de la unin en fro se realiza mediante software, como la
termocupla a temperatura ambiente entrega a su salida una tensin igual a 0V lo nico que hay que realizar
es la suma de la temperatura medida por la termocupla y la temperatura entregada por el sensor, de tal
manera que:
TC = Tcupla + Tsensor
Por lo tanto este circuito solo medir temperaturas iguales o mayores a la temperatura ambiente, siendo
imposible medir temperaturas inferiores a la ambiente.
Para calibrar el circuito se debe hacer lo siguiente:
1. Retirar la termocupla y en su lugar realizar un puente con un cable lo ms corto posible.
2. Ajustar el preset del LM358 hasta que la temperatura leda sea igual a la ambiente.
3. Retirar el puente y conectar la termocupla (prestar atencin que posee polaridad)
4. Usando un termmetro como referencia y ambos (termocupla y termmetro) sumergidos en agua
hirviendo ajustar el preset del OP07 hasta que el circuito indique la misma temperatura que el
termmetro.
Es muy importante el uso de resistores de 1% en las posiciones indicadas caso contrario se perder exactitud
en las lecturas.
Personalmente e usado dicho circuito con una celda de 50 Kg que posea un coeficiente de 2mV por cada volt
de alimentacin a la misma, y con el PIC indicado y dicha celda e conseguido mediciones muy buenas de
hasta 50 Kg con exactitudes de 50 gr.
Cmo funciona la parte que genera la referencia con el lm336,el amplificador operacional y el transistor?
El LM336-Z2.5 regulado adecuadamente entrega una referencia de 2.5V, que se introduce al pin12 del OA, a
la salida del mismo (pin14) tenemos un transistor conectado como seguidor de emisor el cual oficia de driver
para proporcionar una buena corriente a la regulacin ya que por medio de esta tambin alimentamos la celda
(pueden tener resistencias de 350 ohms) y usamos esta misma tensin como referencia para el A/D del PIC,
al usar la misma tensin para la celda y la referencia conseguimos que no haya errores en las lecturas por las
pequeas derivas trmicas de los componentes usados.
Desde el emisor del transistor y por medio de 2 resistencias de 10K se consigue un divisor de tensin que
divide a la mitad la tensin de dicho emisor y esta es la tensin que se introduce al pin 13 del OA para que el
mismo quede configurado como buffer o seguidor de tensin, en realidad a la ves de buffer el OA acta
tambin de multiplicador con una ganancia de 2.
Con esa tensin de 5V muy estable y regulada se consigue en el pin 7 del OA una tensin de referencia de 5V haciendo que el mismo actu como amplificador inversor de ganancia unitaria.
Y con esas dos tensiones (5V y -5V) se atacan las resistencias en los extremos del preset OFFSET, por lo
tanto esas resistencias estn alimentadas de 5V y -5V respectivamente, como las mismas poseen un valor de
100K y el preset 10K nos queda que:
Ej ramal positivo:
Resistencia de 100K + preset de 5K, el preset se divide su valor a la mitad ya que la otra mitad corresponde al
ramal negativo, por lo tanto
Por lo tanto tenemos una variacin de +/- 0.24V, lo que es lo mismo un variacin de pico a pico de 0.48V
aproximadamente.
El resto del circuito esta conformado de un clsico amplificador diferencial con ganancia unidad (al cual se le
regula el offset por medio del pin 8 del TL084) con sus respectivos amplificadores de entrada con ganancia de
200 a 1000 regulable por medio del preset y por un sencillo seguidor de tensin o buffer que es el encargado
de otorgar la baja impedancia que necesita el convertidor A/D del PIC. Los diodos 1N4148 conectados al pin 7
del PIC le ofrecen una proteccin por sub o sobre tensiones a la entrada del mismo.
El condensador de 0.1uF y la resistencia de 470 ohms ofician de filtro pasa bajos, para la seal que proviene
del pin 1 del OA, la misma funcin realizan el condensador y la resistencia conectados al pin 3 del TL084,
pero al ser la frecuencia de corte de este ultimo filtro muy baja tambin estamos conseguimos que la lectura
sea ms estable.
Los condensadores de 0.1uF y las resistencias de 1K presentes en cada entrada hacen la funcin del filtros
contra cualquier interferencia proveniente desde la celda, otorgando junto a la bobina y el amplificador
diferencial muy buena inmunidad bajo cualquier condicin de trabajo.
que nos entregar un alto cada ves que el led este encendido, la seal obtenida se la puede introducir al PIC
para que este actu de la manera programada.
donde:
Si AN0 > AN1 la temperatura es por sobre cero grado centgrado o sea
+XXC
Si AN0 < AN1 la temperatura es por debajo de cero grados centgrados o
sea -XXC
Este circuito que obtener la seal de un LED. Cuando un led de un equipo cualquiera esta conectado a
positivo y esta tensin es superior a los 5Vcc de la alimentacin del PIC podemos usar este sencillo circuito
que nos entregar un alto cada ves que el led este encendido, la seal obtenida se la puede introducir al PIC
para que este acte de la manera programada.
comunes se obtiene una configuracin sencilla y funcional. La tensin +VCC debe estar comprendida entre
+5V y +15V.
Introduccin
Este proyecto es un buen ejemplo de una aplicacin practica del circuito integradoNE555. Si quieres ver en
detalle en que consiste la modulacin por ancho de pulsos (PWM) puedes consultar este documento.
NOTA: Este proyecto forma parte de la Revista uControl Numero 1.
Tabla de contenidos
[esconder]
1 Introduccin
2 Introduccin
3 El circuito
4 Montaje y PCB
6 Autor
[editar]
Introduccin
El proyecto se basa en la posibilidad de utilizar este integrado como un multivibrador astable. En esta
configuracin, el circuito produce en su pin de salida OUTPUT (3) una onda cuadrada, con una amplitud igual
a la tensin de alimentacin.
La duracin de los periodos alto y bajo de la seal de salida pueden ser diferentes. El nombre de astable
proviene de la caracterstica de esta configuracin, en la que la salida no permanece fija en ninguno de los
dos estados lgicos, si no que flucta entre ambos en un tiempo que llamaremos T.
El periodo de tiempo T de la seal de salida es igual al la suma de los tiempos en estado alto Tm (por Mark
time en ingles) y bajo Ts (por Space time). En general, en lugar de utilizar el tiempo T como parmetro,
utilizaremos la frecuencia F de la seal de salida, igual a 1/T. Para conocer mas aspectos de estas
cuestiones, puedes hacer click aqu y leer nuestro articulo sobre este integrado.
[editar]
El circuito
Como de costumbre, el circuito es muy sencillo. Actuando sobre VR1 se modifica la tensin presente en el pin
2, cambiando el tiempo de disparo. El diodo D3 sirve para evitar que la corriente generada por el motor
cuando esta girando pero no alimentado destruya el transistor. Este montaje sirve perfectamente para
pequeos motores de corriente continua, de entre 6V y 12V, con un consumo no mayor a los 300mA o 350
mA. Para motores mas grandes, ver el circuito que esta ms abajo.
Este es el aspecto que tiene en el osciloscopio la salida del circuito integrado (pin 3) cuando la resistencia
variable VR1 tiene el valor mas alto. Los pulsos son tan cortos que el motor permanece detenido:
En el otro extremo, al llevar al potencimetro a su valor mnimo, los pulsos adquieren su ancho mximo
(100%), con lo que el motor gira a su mxima velocidad. Cualquier punto intermedio entre estos dos estados
es valido.
[editar]
Montaje y PCB
Para que el amado del circuito sea lo mas fcil posible, hemos dibujado un circuito impreso y tambin un par
de imgenes tiles para el montaje:
[editar]
He recibido algunos mails pidindome una etapa de potencia para este circuito, ya que no es til para motores
con un consumo mayor a los 200 o 300mA. El circuito de mas abajo es idntico al mostrado, pero se
reemplazo al transistor que se encarga de manejar el motor por uno de tecnologia Mosfet, capaz de manejar
picos de hasta 50A. Lo he probado con motores de 12Vcc/3A y funciona sin siquiera calentarse, a pesar de no
haberle puesto disipador de calor.
Para que el amado del circuito sea lo mas fcil posible, hemos dibujado un circuito impreso y tambin un par
de imgenes tiles para el montaje:
Introduccin
[esconder]
1 Introduccin
2 El proyecto
2.3 Construccin
3 Articulos relacionados
4 Autor
[editar]
El proyecto
Se trata de un proyecto ideal para los que estn descubriendo el hobby de la electrnica, ya que su principio
de funcionamiento es muy sencillo, y la dificultad de construccin baja.
[editar]Descripcin
del circuito
El circuito se basa en un par de circuitos integrados de bajo costo (menos de un euro cada uno). El primero de
ellos es el CD4017B, un contador/divisor por 10, que tambin puede ser configurado para contar hasta
cualquier nmero menor que ese.
El segundo es otro circuito integrado de tecnologa CMOS, el CD4093B, que contiene cuatro compuertas
NAND (Schmitt Trigger). Con una de estas compuertas se configura un oscilador que generara los pulsos que
se encargara de contar el CD4017B.
El objetivo del circuito es generar un nmero al azar entre 1 y 6, y mostrar el resultado en un display
conformado por 7 diodos LED, uno por cada punto de los que encontramos en las caras de los dados
convencionales.
La forma ms simple de obtener un nmero aleatorio es generar un tren de pulsos de alta frecuencia, y
enviarlos a un circuitocontador/divisor por seis. Este tren de pulsos tiene una duracin que depende del
tiempo que el usuario presione el pulsador de disparo. Debido a que se generan varios miles de pulsos por
segundo, es humanamente imposible anticipar el resultado de la cuenta o buscar un valor determinado
modificando el tiempo que se presiona SW1.
Los pulsos se generan con el bloque funcional construido alrededor de la compuerta IC2a, el resistor R1 y
el condensador cermico C1, cuando el usuario presiona SW1. Estos pulsos se aplican a la entrada
de CLOCK del CD4017B, que por cada pulso recibido incrementa en uno el valor de la cuenta, poniendo en
alto la salida correspondiente. Cuando la cuenta llega a 6, el CD4017B se resetea a si mismo (la salida 7 esta
conectada al pin RESET) y comienza de nuevo a contar desde uno. Esto se repite miles de veces por
segundo, todo el tiempo que el jugador mantenga presionado SW1.
Las salidas del CD4017B son las encargadas de encender los LED que hacen las veces de display. Los
dems diodos, todos 1N4148, cumplen la funcin de permitir que en cada caso se iluminen
los LED apropiados.
[editar]Modo
de funcionamiento
Si analizamos detenidamente las caras de un dado, podemos ver que en realidad los seis valores posibles se
pueden conformar con cuatro grupos de LED, tal como se ve en una de las figuras siguientes.
El LED D18 ser el que ubicaremos en el centro del display (posicin A), losLED D16 y D17 forman el grupo
B, D14 y D15 el grupo C y D12 y D13 el grupo D. Los resistores R2 a R5 son las encargadas de limitar
lacorriente que circula por los LED, de forma que se iluminen todos con la misma intensidad.
[editar]Construccin
Respecto de la construccin, comenzaremos fabricando la placa de circuito impreso de la manera que ya
hemos explicado (ver "Como construir tus propios PCB"), para luego montar los componentes. La placa es de
doble faz, as que debemos ser cuidadosos al planchar cada una de ellas, de forma que los pads de uno y
otro lado coincidan. Los LED deben quedar ms altos que el resto de los componentes, para que se vean
fcilmente.
Si el lector lo prefiere, puede dotar al de una caja adecuada, dejando siete agujeros de 5mm para los LED. En
este caso, tambin se debera utilizar un pulsador diferente, ya que se montara en la caja en lugar ir soldado
directamente sobre el PCB.
Introduccin
El presente proyecto nos proporcionar un display de cuatro dgitos de un tamao bastante mayor a los que
podemos comprar listos para usar.
Este diseo puede servir como base para algun proyecto ne necesite mostrar la hora o temperatura, o,
modificndolo, armar un display de mayor cantidad de digitos.
Tabla de contenidos
[esconder]
1 Introduccin
2 Introduccin
3 Un segmento
4 Dgitos
5 Multiplexado
6 El circuito
6.1 PCB
7 Fotos
8 Autor
[editar]
Introduccin
Seguramente ya sabrs a que nos referimos cuando mencionamos un display de 7 segmentos. Estos tiles
dispositivos de salida, constan de 7 LED cuasi-rectangulares, uno por tramo, dispuestos en forma de 8 y uno
redondo que es el punto decimal. Mediante el encendido de algunos de los tramos que forman el 8 se puede
representar cualquier digito del 0 al 9, e incluso algunos caracteres, como la A o la U, aunque no
siempre resultan muy legibles.
Uno de los problemas que presentan estos displays es su reducido tamao. En efecto, aunque tericamente
es posible encontrarlos tan grandes como 12 pulgadas de alto (unos 30 centmetros), su precio resulta
prohibitivo, sobre todo para el aficionado. Y los mas comunes, de 1 o 2 centmetros, muchas veces son
demasiado pequeos para leerlos desde un par de metros de distancia.
Display terminado.
La solucin a este problema es utilizar varios LED comunes, redondos o rectangulares, para armar los
segmentos, y construirnos nosotros mismos el display del tamao que queramos. A pesar de que
emplearemos una cantidad importante de LEDS, su costo individual es tan bajo que el importe total que
desembolsaremos ser mucho menor que si compramos un display grande.
A lo largo de este artculo explicaremos paso a paso como construir un display gigante de 4 dgitos, que
podremos conectar a un ordenador o microcontrolador para mostrar informacin en l.
Algunos de sus usos posibles son el empleo como un reloj digital, cronometro, termmetro, dispensador de
turnos, etc.
Como ya es costumbre, los alentaremos a que modifiquen este proyecto para construir un display que se
adapte exactamente a sus necesidades. Para que eso sea posible, les brindaremos toda la informacin
necesaria sobre su funcionamiento.
[editar]
Un segmento
La clula bsica de nuestro proyecto ser el segmento. Efectivamente, deberemos disear un segmento en
base a algunos LEDs(y otros componentes), y luego repetirlo 7 veces para formar un digito.
Como se puede ver en la figura de mas abajo , para encender un LED hace falta que lo atraviese una
corriente determinada en el sentido correcto. La intensidad de la corriente depende un poco de cada tipo de
led en particular, pero se suele tomar como correcto un valor de entre 10 y 20 mA. Nosotros tomaremos un
valor de 15mA, pero el lector podr rehacer sus clculos para otros valores.
El sentido de circulacin de esta corriente por dentro del LED debe ser desde el nodo hacia el ctodo para
que este se ilumine, por lo que el nodo se conectara al positivo de la fuente, y el ctodo al negativo.
Ahora bien, todo lo explicado esta muy bien para encender un LED, pero nuestro segmento, para ser visible
debe constar de al menos 3 o 4 leds (o mas!). El nmero elegido de LEDs se conectaran en serie, el ctodo
de uno unido elctricamente al ctodo del siguiente, y as.
Esto significa que la corriente que los atravesara a todos ser la misma, y el voltaje aplicado deber ser mayor
que la tensin necesaria en cada uno (2V) por el nmero de LEDs.
En el segundo diagrama vemos tres leds conectados en serie, y la formula para calcular la resistencia
limitadora. En el caso de usar la misma fuente de alimentacin de 12V, la resistencia necesaria ser de 400
ohms. Nuevamente, al buscar en un catalogo vemos que el valor mas cercano disponible es de 390 ohms, y
es el que en la practica emplearemos.
[editar]
Dgitos
Una vez que tenemos la teora necesaria sobre como construir un segmento, debemos dar el siguiente paso
lgico: la construccin de undigito.
En realidad, un digito no es mas que repetir el esquema de un segmento 7 veces. Pero (lamentablemente
siempre hay un pero) si tenemos intenciones de controlar nuestro digito gigante desde la PC o desde un
microcontrolador, necesitaremos alguna etapa adicional, capaz de manejar el consumo de un numero elevado
de LEDs, y si fuera posible, sin requerir un pin de E/S de los pocos disponibles, para manejar cada segmento.
Supongamos que el port paralelo de la PC, o el pin de salida de un microcontrolador solo puede entregar una
corriente de 5mA.
Esta corriente es a todas luces insuficiente para encender los LEDs, pero si para excitar un transistor que a su
vez le entregue a los LEDs los 15mA que necesita para brillar. Si no pusiramos el transistor, el puerto se
daara debido a que circulara por el una corriente 3 veces mayor a la que puede manejar.
El esquema de la izquierda muestra un segmento, controlado por dos transistores. T1 es un transistor PNP, y
T2 es un transistor NPN. Cuando la base de T1 esta puesta a masa (un un 0 lgico lgico) y la base de T2 a
un 1 los LEDs se encendern. Las resistencias conectadas a las bases de los transistores limitan la corriente
que deber entregar el puerto de nuestra PC, y R se calcula tal como lo explicamos antes.
Esto soluciona el primero de los problemas. Los lectores mas avispados se habrn dado cuenta que esto se
podra haber resuelto con solo un transistor. Pero para abordar el segundo problema, el no requerir un gran
numero de pines de control, necesitamos multiplexar los segmentos de los 4 dgitos, y ah necesitamos el
transistor extra.
[editar]
Multiplexado
Multiplexar significa bsicamente reutilizar unos pocos recursos disponibles para que a lo largo del tiempo
realicen diferentes funciones.
Una de las formas seria encender brevemente cada segmento, apagarlo, pasar al siguiente digito, encenderlo
brevemente, pasar al otro y as sucesivamente. Este es un sistema muy utilizado (y recomendado) pero que
para nosotros tiene un problema importante: requiere que estas tareas se lleven a cabo continuamente, y
cada unos pocos milisegundos, para que no se noten parpadeos o apagados indeseables de algunos
segmentos. Esto obligara a que nuestra PC este pendiente completamente del manejo del display, lo que es
poco practico.
Dado que los datos del display seguramente no van a cambiar con una frecuencia muy elevada, podemos
utilizar un registro de desplazamiento como el visto en otros artculos. La ventaja del registro de
desplazamiento es que una vez que introducimos un dato en el, este se mantiene hasta que necesitemos
cambiarlo, sin requerir la atencin de la computadora. Por ejemplo, en el caso de un reloj, si no tenemos
segundero, solo deberemos escribir la hora una vez por minuto.
No nos explayaremos demasiado sobre el funcionamiento del registro de desplazamiento aqu, que ya como
se trata de un circuito til y utilizado a menudo, le dedicaremos un articulo especial en este sitio. Solo
mencionaremos que gracias a su empleo, con cuatro lneas del puerto paralelo podremos controlar los 28
segmentos de los cuatro dgitos, y el par de LEDs que hay entre el segundo y tercer digito.
Las salidas tendrn las funciones siguientes: proveer pulsos de CLOCK, los datos en forma serial
(DATA), RESET para borrar todos los dgitos, y la ultima controla el encendido y apagado de todos los
segmentos para proceder a la escritura de los datos sin que aparezcan parpadeos.
[editar]
El circuito
En los diagramas podemos ver el esquema elctrico del display en si mismo, y del registro de
desplazamiento que ser nuestra placa de control, el vnculo entre el display y la PC o el microcontrolador.
Cada uno de ellos va montado en su propio circuito impreso, de manera que se puedan montar en un espacio
mas reducido, colocando una plaqueta detrs de la otra, unidas entre si por cables flexibles, y unidas
mediante los mismos separadores plsticos que se emplean para montar los motherboards en las
computadoras.
Como siempre, para construir los impresos utilizaremos la tcnica explicada aqu.
Al momento de soldar los leds, debemos tener cuidado con la orientacin de los semiconductores, ya que si
los colocamos al revs, el proyecto no funcionara. Si observan atentamente, los conectores de la placa
controladora se corresponden con los del display, y una vez que tengamos listas ambas, deberemos unir cada
punto con un cable, y luego doblar el mazo de conductores para poner una placa a espaldas de la otra. Se
deben practicar agujeros para unir ambas plaquetas, teniendo cuidado de que al agujerear no perforemos un
componente o cortemos una pista del circuito impreso. Las imgenes que ilustran la nota nos muestran como
debe quedar el modelo terminado.
[editar]
Fotos
Los transistores se deben montar cortando sus pines para que queden a menor altura que los LEDs.
Autor
Introduccin
Tabla de contenidos
[esconder]
1 Introduccin
6 Probando el controlador
8 Lista de componentes
15 Control automtico
17 Informacin adicional
18 Revista uControl
19 Autor
En este artculo veremos como construir un sencillo y razonablemente economico driver para motores paso a
paso del tipo unipolar. Dicho driver podr utilizarse con motores de baja potencia y no necesita de
un microcontrolador para funcionar. Puede ser un buen punto de partida para disear tu propio driver.
El circuito se basa en circuito integrado 74LS194 (un registro de desplazamiento bidireccional). Est diseado
para ofrecer las funciones bsicas de control, como Avance (Forward), Retroceso (Reverse), Parada (Stop) y
ajuste de la velocidad de giro en hasta 100 pasos por minuto.
No se trata de un proyecto complejo, y todas las partes empleadas pueden conseguirse con facilidad. El
mtodo elegido para alterar el sentido de giro es una llave, pero como vers, es muy facil cambiar esto para
que pueda ser controlado desde el puerto paralelo de un ordenador o desde un microcontrolador.
El control de la velocidad se realiza mediante un potencimetro, aunque tambin podra emplearse para ello
un dispositivo como los mencionados anteriormente.
NOTA: Debido a la falta de deteccin o correccin de errores y la potencia de salida limitada, este circuito no
debe ser utilizado para aplicaciones que requieren una gran precisin en el control o posicionamiento. El
driver est pensado para el aprendizaje y la utilizacin en pequeos robots de aficionados.
[editar]
La figura siguiente nos muestra el circuito bsico empleado. En color azul puede verse la lnea de CLOCK.
[editar]
Un circuito integrado NE555 funcionando como oscilador estable proporciona los pulsos
de CLOCK necesarios y se envan al pin 11 del circuito integrado 74LS194.
Cada vez que CLOCK esta en alto (positivo) el estado de las salidas del 74LS194 (pines 12, 13, 14 y 15) son
rotadas. Puedes consultar el diagrama que aparece ms abajo para ver los detalles.
La direccin de esta rotacin se determina mediante la llave S2. Cuando S2 est en la posicin central (OFF),
el motor se detiene.
Cuando la base del transistor Q6 esta a nivel bajo, las salidas del 74LS194 cambian en el orden 12 - 15 - 14 13 - 12 , etc.
Cuando la base del transistor Q6 esta a nivel alto, las salidas del 74LS194 cambian en el orden 12 - 13 - 14 15 - 12 , etc.
Los pulsos existentes en las salidas del 74HC194 se envian al motor a travez de un circuito
integrado ULN2003. Este se encarga de manejar la corriente necesaria para exitar las bobinas.
[editar]
Nota: los circuitos integrados de la serie 7400 son considerados obsoletos, no obstante son fciles de
conseguir y su costo es muy bajo. Esta es la razn por la que se los ha elegido para este proyecto.
El diagrama siguiente muestra la forma en que deben energizarse las salidas del ULN2003 para hacer girar el
motor hacia delante y hacia atrs. Los nmeros de los pines no se han incluido ya que el conexionado final
depender del diseo del PCB.
Cada pulso positivo en las salidas del 74LS194 provocar el encendido de una de las bobinas del motor.
Con los valores indicados en el esquema y C1 = 1 uF, el valor de R1 = 0 ohm har que la frecuencia
de CLOCK sea aproximadamente de 100KHz. Esto hace que el motor avance unos 100 pasos por
segundo, velocidad limite para la mayora de los motores paso a paso.
Si se incrementase la velocidad, no solo disminuira el torque disponible sino que tambin se correra el
riesgo de que el motor pierda pasos. Se pueden probar diferentes valores para C1 y R1 para producir la
frecuencia mxima mas adecuada para cada motor en particular. Este valor depender exclusivamente
de las caractersticas constructivas del mismo.
Si R1 adopta un valor cercano a 1 Megohm, la frecuencia del CLOCK disminuir a cerca de un Hz,
haciendo que el motor avance un paso por segundo.
No hay, al menos en teora, un valor mnimo de velocidad a la que pueda girar un motor paso a paso.
Esto permite utilizar valores de C1y R1 tan grandes como se desee, siempre dentro de los valores
aconsejados en la hoja de datos del NE555.
El circuito impreso propuesto permite la conexin de la resistencia variable R1 en una bornera, que
tambin puede emplearse como punto de entrada para pulsos de control externos.
La llave S1, que aparece en el diagrama de ms abajo, permite la detencin del motor al interrumpir la
generacin de pulsos de CLOCK del NE555. S1 puede ser reemplazado por un transistor NPN para
controlar electrnicamente la generacin de pulsos de CLOCK.
Los pulsos de CLOCK pueden ser provistos por un circuito externo, pero cualquier ruido en estos podra
colocar al registro de desplazamiento en un valor errneo. En caso de emplearse, deben ser pulsos
limpios. Estos pulsos deberan pasar a travs del NE555, situacin que esta prevista en el circuito
impreso.
El 74LS74 no cumple otra funcin ms que proporcionar el control del 74LS194, fijando la direccin de
giro con la ayuda de los transistores Q6 y Q7 y la llave S2. Estrictamente hablando, el mtodo de control
que ofrece te sistema no es el mejor, pero a las relativamente bajas frecuencias a las que opera el circuito
(menores a 100KHz) funciona perfectamente.
El resistor de 3.3K y el condensador de 4.7 uF conectados en el terminal SET (pines 4 y 10 del 74LS74)
aseguran que las salidas (pines 6 y 8) permanezcan en estado bajo durante el encendido del circuito.
Al alimentar el circuito, es posible que no todas las salidas del 74LS194 esten en estado bajo. Por este
motivo, la fuente de poder que alimente el circuito debe ser capaz de soportar la carga de las cuatro
bobinas energizadas al mismo tiempo, ya que durante un instante mas o menos largo (dependiendo de la
posicin de R1).
Este circuito puede ser comandado desde otro, o desde el puerto paralelo de un ordenador. Para que
este sistema de control externo funcione, se debe garantizar que la base de los transistores Q6 y Q7 sea
de al menos 0.7V. Puede que sea necesario utilizar untransistor adicional para lograr este objetivo.
El circuito necesita de una fuente de 5V de corriente contnua perfectamente estabilizada para funcionar,
que no se ha incluido en el esquema.
Existen una gran variedad de motores paso a paso. Debe asegurarse que el elegido para ser empleado
con este sistema se alimente con tensiones inferiores a los 24V y no consuma mas de 500mA.
[editar]
Probando el controlador
Simplemente colocando un LED en cada salida podemos comprobar visualmente el funcionamiento del
circuito.
En el esquema pueden verse los dos Flip Flop "D" incluidos en el 74LS74. La seccin FF1 se utiliza como un
divisor binario, mientras queFF2 funciona como un Flip Flop "RS". Despues de cada pulso de CLOCK, el Flip
Flop es puesto en SET, con Q en alto. Esto permite comandar al 74LS194 secuenciar sus salidas en uno u
otro sentido de acuerdo a la posicin de S2.
La llave S1 permite detener la generacin de pulsos de CLOCK.
Los terminales POWER (14), COMMON (7) y CLEAR (1 y 13) del 74LS74 no se muestran, pero los
correspondientes a CLEAR deben conectarse a +5V.
El siguiente grafico muestra las formas de onda que se pueden encontrar a la salida del driver:
El esquema de la figura es una version simplificada del interior del circuito integrado 74LS194
Este es el aspecto del driver ya montado. La funcion de cada borne puede consultarse en el esquema
correspondiente, mas abajo.
Para reducir la altura del circuito final, puede cortarse la aleta disipadora del LM7805, tal como se ve en la
fotografa:
En la pgina del autor de la nota pueden adquirirse las placas de circuito impreso listas para usar. Tambin
puedes consultarlo en sudireccin de correo].
[editar]
El siguiente esquema muestra la posicin de cada componente sobre la placa de circuito impreso y la funcin
de cada borne de conexin.
Lista de componentes
1 x 74LS194
1 x 74LS74
1 x ULN2003AN
1 x NE555N
1 x L7805ACV
2 x 2N3904
1 x 512-1N4001
1 x 470uF/35V
1 x 10uF/25V
1 x 4.7uF/25V
1 x 1uF/25V
1 x GREEN 3mm LED
3 x 10K 1/4W
2 x 3.3K 1/4W
[editar]
Si el motor va a emplearse a una distancia importante del controlador, deben separarse los bornes de
alimentacin, tal como se ve en el esquema:
Esto evita que los pulsos generados por el motor introduzcan ruidos en la fuente de alimentacin.
[editar]
Algunos motores paso a paso disponen de 6 terminales. La siguiente imagen muestra la forma en que
deberian conectarse al controlador:
[editar]
Las conexiones que se muestran en el siguiente diagrama permiten al motor operar paso a paso. Una llave
permite utilizar el controlador en este modo o en modo de giro continuo (para ello tambien debe incluirse el
potenciometro de 1 Megohm).
NOTA: Utilizando el esquema anterior, el motor no se mover correctamente los dos primeros pasos. Esto se
debe a que el 74LS74mantiene desabilitado el control de direccin hasta que el 74LS194 complete su
inicializacin.
[editar]
Otra forma sencilla de controla el motor para que avance paso a paso puede verse en el diagrama de abajo:
Como puede apreciarse, se ha reemplazado la llave S2 por dos pulsadores, que pueden decidir la direccion
de giro mientras el potenciometro se ajusta para obtener una frecuencia de reloj relativamente baja.
[editar]
Como se mencion antes, es posible comandar el driver mediante la utilizacin de transistores. Este ssitema
permite operar la placa controladora desde otro circuito o desde un ordenador:
[editar]
Otra forma de control, utilizando optoacopladores para aislar el driver del circuito que lo controla:
[editar]
Control automtico
Este circuito reemplaza la llave S2 por un control automatico basado en dos amplificadores operacionales.
Esto brinda una "ventana" dentro de la cual el motor girar en uno u otro sentido.
El potenciometro R IN puede ser reemplazado por un sensor de temperatura o de luz. LS1 y LS2 funcionan
como sensores de fin de carrera, que evitan que el motor continue girando ms all del punto fijado.
[editar]
[editar]
Informacin adicional
www.cs.uiowa.edu/~jones/step/circuits.html
www.doc.ic.ac.uk/~ih/doc/stepper/control2/connect.html
Revista uControl
Este articulo forma parte de la Revista uControl #4
Introduccin
El relojito de uControl
El relojito es un reloj de pared bastante especial. Adems de dar la hora (como todo reloj que se precie de
tal), tambin nos muestra la temperatura ambiente. Pero lo que lo hace diferente a la mayora de los relojes
electrnicos cuyos esquemas puedes encontrar navegando por la web es la forma en que est construido su
particular segundero. En efecto, en lugar de indicar el transcurso de los segundos mediante un par de
display LED de 7 segmentos como es habitual, lo hace mediante 60 diodos LED dispuestos en forma de
circulo a lo largo del borde exterior del circuito impreso que aloja todos los componentes del reloj.
NOTA: Este proyecto forma parte de las Revistas uControl Numero 1 y Numero 2.
Tabla de contenidos
[esconder]
1 Introduccin
3 El circuito
4 El circuito impreso
5 Componentes
6 Montaje
7 El software
8 Horas y minutos
8.2 A programar!
10 Videos
11 Conclusin
12 Temas relacionados
12.1 Tutoriales
12.2 Proyectos
13 Revista uControl
14 Autor
El reloj que vamos a construir puede indicar la hora y los minutos mediante 4 display LED de 7 segmentos, en
el formato HH:MM, donde los : centrales estn constituidos por dos pequeos LEDs de 3mm. Estos
displays tambin se utilizan para mostrar la temperatura, que se obtiene mediante un sensor de temperatura
Dallas DS1820. Para mantener funcionando el reloj con una exactitud razonable se ha utilizado un reloj de
tiempo real DS1307.
El segundero, como decamos, es una circunferencia formada por 60 LEDs de 5mm, controlados mediante
solamente dos pines delPIC16F628A. Esto es posible gracias a la utilizacin de un registro de
desplazamiento construido a partir de 8 circuitos integrados74HC164N. En este mismo nmero de la Revista
uControl encontraras la explicacin de su funcionamiento.
Adems hemos dotado al reloj de 4 pequeos pulsadores, que servirn para llevar a cabo las tareas de
puesta en hora, seleccin del modo de funcionamiento, etc.
El circuito
Si bien el circuito del Relojito puede resultar intimidante por su tamao (emplea 18 circuitos integrados y ms
de 100 resistores) en realidad no es tan complejo como parece. El esquema se basa en un PIC16F628A, que
se encarga de llevar a cabo todas las tareas necesarias.
LEDs rojos en serie. Los : centrales estn formados por dos LEDs de 3mm conectados en serie, del mismo
color que los displays, y son manejados desde el pin 7 del microcontrolador (PORTB.1)
Dado que el multiplexar estos displays mediante las tcnicas tradicionales hubiese exigido un elevado nmero
de pines de E/S del microcontrolador PIC16F628A, se utiliz un registro de desplazamiento construido a partir
de cuatro circuitos integrados 74HC164Nconectados en cascada. Cada una de las salidas de estos integrados
controla uno de los segmentos de los displays. El pin 17 del microcontrolador (bit 0 del PORTA) se encarga de
proporcionar los datos al registro de desplazamiento, mientras que el pin 18 (bit 1 delPORTA) entrega los
pulsos de CLOCK necesarios.
El mismo truco del registro de desplazamiento se utiliz para controlar los 60 LEDs que conforman el
segundero. Esta vez fueron necesarios 8 circuitos integrados 74HC164N. Este registro dispone de 64 salidas,
de las que se aprovechan solo las primeras 60. Cada una de estas salidas controla uno de los LEDs a travs
de un resistor que limita la corriente que los atraviesa.
Dado que el consumo mximo posible de este proyecto es bastante elevado para lo que estamos
acostumbrados, hemos dividido la etapa de alimentacin en tres partes, cada una de ellas encargada de
proporcionar energa a una de las secciones del reloj.
De esta manera, una de las etapas construidas alrededor de un regulador de voltaje LM7805 proporciona la
corriente que necesita el microcontrolador, el sensor de temperatura y el reloj de tiempo real. Otra de las
etapas alimenta los displays y el registro de desplazamiento que lo controla, y la tercera hace lo propio con los
LEDs del segundero y sus circuitos integrados de control.
Si bien no figuran en el esquema elctrico, hemos colocado condensadores cermicos de 0.1uF entre los
pines de alimentacin de cada uno de los 74HC164N. Se pueden ver en las fotos, estn soldados
directamente sobre las pistas del PCB.
El circuito impreso
Como es de suponer, para albergar todo esto hace falta un circuito impreso bastante grande. Dado que
en uControl intentamos mantener las cosas simples, por lo general no utilizamos circuitos integrados ni
componentes de montaje superficial ni PCB de doble faz. Esto tambin ayudo a que el PCB sea grande.
Componentes
La lista de componentes que vamos a emplear es bastante extensa, pero afortunadamente se trata de
componentes de bajo costo, por lo se trata de un proyecto al alcance de todos los bolsillos.
Tambin necesitars un trozo de PCB virgen de una sola cara, con un tamao de 18x18 centmetros, y
zcalos para los circuitos integrados
Montaje
No hay mucho para decir sobre el montaje de los componentes de este proyecto. Puede ser una buena idea
comenzar el trabajo de soldadura por los puentes y zcalos, para luego seguir con los resistores y
condensadores. Los displays, reguladores de voltaje y LEDs deberan montarse en ltimo lugar, cuidando de
que estn en la posicin correcta. Ser un trabajo que tomara al menos una o dos horas, as que hay que
encararlo con paciencia.
Una vez que todo est en su lugar, y antes de colocar los circuitos integrados en sus zcalos, podemos
alimentar el relojito y comprobar que a la salida de cada regulador de voltaje tenemos 5V. Tambin podemos
medir la tensin en los pines de los zcalos encargados de alimentar a cada integrado, para no tener alguna
sorpresa desagradable. Entre los pines 7 y 14 de cada 74HC164N debera haber 5V, lo mismo que entre los
pines 5 y 14 del zcalo correspondiente al microcontrolador.
Si todo est bien, podemos poner cada integrado en su sitio, cuidando de no ponerlos en la direccin opuesta.
El software
Ya vimos como desarrollar el hardware, y ahora comenzaremos a ver como sacar provecho de este diseo,
explicando cada una de las rutinas necesarias para transformar ese montn de componentes en algo til.
Escribiremos el software desde cero, explicando cada uno de los pasos a seguir, de forma que todos puedan
comprender a fondo cada una de las rutinas, y as ser capaces de modificarlas a gusto. Hemos decidido
presentar versiones en PIC BASIC y CCS de cada trozo de cdigo, como una manera de llegar a un mayor
numero de lectores.
Veamos primero como hacerlo en PIC BASIC (recordemos que utilizamos la versin correspondiente al PIC
SIMULATOR IDE):
//Device/Fuses/Etc.--------------------------------#INCLUDE <16F628A.H>
//Usamos un 16F628A
#FUSES NOWDT
//No Watch Dog Timer
#FUSES XT
//Con oscilador a cristal...
#use delay(clock=4000000)
//..de 4MHz.
#FUSES NOPUT
//No Power Up Timer
#FUSES NOPROTECT
//No protegemos el cdigo.
#FUSES NOBROWNOUT
//No Brownout Reset
#FUSES NOLVP
//No low voltage prgming
#FUSES NOCPD
//No EE protection
//Declaramos la posicin de los puertos----------------------#BYTE PORTA = 0x05
#BYTE PORTB = 0x06
#BYTE PORTA_TRIS = 0x85
#BYTE PORTB_TRIS = 0x86
//Y asignamos cada pin como E/S segn corresponda:
PORTA_TRIS = 0b00000000; //1=ENTRADA, 0=SALIDA
PORTB_TRIS = 0b11110001; //1=ENTRADA, 0=SALIDA
Una vez listo este tramite, pasemos a las rutinas propiamente dichas.
escribo_segundo:
data1 = bit_aux 'Pongo el valor en DATA
clock1 = 0 'Pongo el CLOCK en bajo...
clock1 = 1 '...y de nuevo en alto. Listo!
Return
Esta rutina enva el valor de la variable bit_aux al registro de desplazamiento.
La subrutina supone que antes de llamarla hemos declarado las variables (usando DIM) y las macros
(mediante SYMBOL) necesarias:
//Declaramos la Variable:
int1 bit_aux;
//Declaro la variable auxiliar
//-------------------------------------------------//---Envia un DATO al registro de desplazamiento:
//-------------------------------------------------void escribo_segundo(int1){
if (bit_aux) {output_high(DATA2);} //Si es "1", lo escribo en DATA2.
if (!bit_aux) {output_low(DATA2);} //Si es "0", lo escribo en DATA2.
output_low(CLOCK2);
//Pongo el CLOCK en bajo...
output_high(CLOCK2); //...y de nuevo en alto. Listo!
}
main(){
//Asignamos cada pin como E/S segn corresponda:
PORTA_TRIS = 0b00000000; //1=ENTRADA, 0=SALIDA
PORTB_TRIS = 0b11110001; //1=ENTRADA, 0=SALIDA
}
En CCS, para hacer uso de la funcin escribo_segundo, basta con invocarla desde el programa principal, de
la siguiente manera:
escribo_segundo (valor);
Donde valor ser 0 o 1 dependiendo si queremos apagar o encender el LED correspondiente a la primera
posicin del registro de desplazamiento.
Haciendo limpieza
Antes de comenzar a enviar datos tiles al registro de desplazamiento, conviene limpiar el contenido de sus
60 bits, dado que al alimentarEl Relojito pueden contener informacin aleatoria, que en la practica se veran
como una serie de LEDs encendidos. Si no lo hiciramos, cada dato que enviemos al registro empujara a
los bit-basura una posicin hacia delante, algo que no quedara demasiado bien.
La forma de evitar esto es bien simple: ni bien comienza nuestro programa, debemos escribir 60 ceros en el
registro de desplazamiento, asegurndonos que todos los LEDs se encuentran apagados.
Dado que puede se trata de una accin que puede requerirse mas de una vez en nuestro programa, tambin
la vamos a implementar como una subrutina (en PIC BASIC) o como una funcin (en CCS). Dado que ya
tenemos el codito necesario para escribir un valor en el registro de desplazamiento, la nueva rutina/funcin
solo deber encargarse de llamar 60 veces seguidas a la que vimos antes, con el valor 0.
Veamos como hacerlo en PIC BASIC:
borro_segundero:
bit_aux = 0 'Asigno el valor a enviar a la variable auxiliar...
For i = 0 To 59 '"i" ir de 0 a 59, de 1 en 1.
Gosub escribo_segundo
Next i
Return
void borro_segundero(void){
int i;
for (i=0;i<60;i++) {
// "i" ir de 0 a 60, de 1 en 1.
escribo_segundo(0); //Envio un "0" al registro de desplazamiento
}
}
Esto es todo lo que necesitamos saber para manejar correctamente los 60 LEDs del relojito.
Horas y minutos
Ahora le toca el turno al display que debe mostrar las horas y los minutos. Montado a partir de 4 displays de 7
segmentos y un registro de desplazamiento, la construccin de rutinas o funciones que lo controlen representa
un desafo muy interesante, que ya mismo abordaremos.
Como vimos ms arriba, en la descripcin del hardware de este proyecto, la visualizacin de las horas y los
minutos se realiza mediante cuatro displays de 7 segmentos de ctodo comn. Esto significa que para
encender alguno de sus segmentos debemos proporcionar tensin al pin correspondiente de cada mdulo.
Para evitar utilizar varios pines del microcontrolador PIC16F628A elegido como cerebro del proyecto al
control de este display, se utiliz un registro de desplazamiento compuesto por 4 circuitos
integrados 74HC164N. Cada uno de ellos se encarga del control de los 7 segmentos y del punto decimal de
un display.
El nombre de los segmentos de cada display, segn la mayora de las hojas de datos, es el de la figura:
Displays utilizados.
All podemos ver que se nombran con letras de la a (el segmento superior del 8) hasta la g (el segmento
central), avanzando en sentido horario. El punto decimal suele llamarse dp (supongo que por dot point ),
pero nosotros lo llamaremos h.
Cada uno de los segmentos (y el punto decimal) de cada display se encuentran conectados, mediante un
resistor que limita la corriente que los atraviesa, a una de las salidas de los 74HC164N. Estos estn
conectados en cascada, por lo que cuando un dato sale de unos de los integrados se aplica a la entrada
del siguiente. Esto significa que con solo dos pines (CLOCK y DATA) podemos escribir los 4 displays.
Los primeros 8 bits enviados al registro de desplazamiento sern los encargados de determinar el encendido
de los segmentos del display de la izquierda (las decenas de las horas). Los siguientes 8 bits controlarn las
unidades de las horas, los 8 que vienen a continuacin manejarn el display que muestra las decenas de los
minutos, y los ltimos 8 bits determinaran el contenido del display que muestra las unidades de los minutos.
Esto quiere decir que si quisisemos mostrar 23:15 en el display, primero deberamos enviar los datos del
2, luego los del 3, los del 1 y finalmente los correspondientes al 5.
Para saber cual es el contenido que debemos enviar para representar cada digito es necesario que tengamos
bien presente la forma en que los circuitos integrados 74HC164N estn conectados a los displays.
A programar!
Una vez que tenemos claro como debemos proceder, veamos como escribir un programa que muestre
informacin en el display. Comencemos por un ejemplo que muestra como enviar un 2 al registro
desplazamiento. El cdigo en PIC BASIC es el siguiente:
'-----CONFIGURO PUERTOS---------AllDigital
'Configuro el portA:
TRISA.2 = 0 'DATA HH:MM
TRISA.3 = 0 'CLOCK HH:MM
'Configuro el portB:
TRISB.1 = 0 'Salida, LEDs : en HH:MM
'------VARIABLES-----------------Dim i As Byte
Dim col As Byte
Dim aux As Byte
'----- Symbol ----------------Symbol clock7 = PORTA.3
Symbol data7 = PORTA.2
'Limpio el contenido del registro de desplazamiento
'escribiendo 32 "0" seguidos:
For i = 1 To 32
data7 = 0
clock7 = 0
clock7 = 1
Next i
'Escribo un "2" en el primer display
aux = 157 'Valor decimal de "2" (ver tabla)
'Este bucle recorre el byte enviando sus bits
'al registro de desplazamiento:
For col = 1 To 8
'Si el bit es "0", escribo un "0".
If aux.0 = 0 Then
data7 = 0
clock7 = 0
clock7 = 1
Else
'Si el bit es "1", escribo un "1".
data7 = 1
clock7 = 0
clock7 = 1
Endif
'Paso al bit siguiente
aux = ShiftRight(aux, 1)
Next col
Casi al final de este artculo encontrars videos que muestra como se van corriendo los datos por el registro
de desplazamiento. Por supuesto, hemos agregado un retardo de un segundo despus de enviar cada bit,
para que pueda verse como funciona.
Ahora, modifiquemos el programa anterior para que podamos mostrar la hora 23:15 en el display. Como
puede verse, hemos transformado las instrucciones que se encargan de enviar los 8 bits en una rutina, a la
que llamamos 4 veces, pasndole como dato (en aux) el byte a escribir:
'-----CONFIGURO PUERTOS---------AllDigital
'Configuro el portA:
TRISA.2 = 0 'DATA HH:MM
TRISA.3 = 0 'CLOCK HH:MM
'Configuro el portB:
TRISB.1 = 0 'Salida, LEDs : en HH:MM
'------VARIABLES-----------------Dim i As Byte 'Variable auxiliar
Dim col As Byte
Dim aux As Byte 'Variable auxiliar uso gral (WORD)
'----- Symbol ----------------Symbol clock7 = PORTA.3
Symbol data7 = PORTA.2
'Limpio el contenido del registro de desplazamiento
'escribiendo 32 "0" seguidos:
For i = 1 To 32
data7 = 0
clock7 = 0
clock7 = 1
Next i
'Escribo un "2" en el primer display
aux = 157 'Valor decimal de "2" (ver tabla)
Gosub escribo
'Escribo un "3" en el segundo display
aux = 188 'Valor decimal de "3" (ver tabla)
Gosub escribo
'Escribo un "1" en el tercer display
aux = 40 'Valor decimal de "1" (ver tabla).
Gosub escribo
'Escribo un "5" en el cuarto display
aux = 182 'Valor decimal de "5" (ver tabla)
Gosub escribo
End
'Este bucle recorre el byte enviando sus bits
'al registro de desplazamiento:
escribo:
For col = 1 To 8
'Si el bit es "0", escribo un "0".
If aux.0 = 0 Then
data7 = 0
clock7 = 0
clock7 = 1
Else
'Si el bit es "1", escribo un "1".
data7 = 1
clock7 = 0
clock7 = 1
Endif
'Paso al bit siguiente
aux = ShiftRight(aux, 1)
Next col
Return
//Device/Fuses/Etc.--------------------------------#INCLUDE <16F628A.H>
//Usamos un 16F628A
#FUSES NOWDT
//No Watch Dog Timer
#FUSES XT
//Con oscilador a cristal...
#use delay(clock=4000000)
//..de 4MHz.
#FUSES
#FUSES
#FUSES
#FUSES
#FUSES
NOPUT
NOPROTECT
NOBROWNOUT
NOLVP
NOCPD
//No
//No
//No
//No
//No
Power Up Timer
protegemos el codigo.
Brownout Reset
low voltage prgming
EE protection
Suponiendo que tenemos resuelto el mecanismo que cada un segundo pone un flan en alto (algo que
veremos en el prximo numero, usando interrupciones), deberamos escribir una rutina (o una funcin, si
usamos CCS) que actualice el display y el segundero cuanto corresponda. Cada un tiempo determinado una
bandera se pondra en 1, y el cuerpo principal del programa debera actualizar la hora y mostrarla en el
display. Eso, justamente, es lo que hace el siguiente ejemplo en PIC BASIC:
muestro_hhmm:
'Muestro las decenas de las horas
aux1 = hora / 10
aux = LookUp(175, 40, 157, 188, 58, 182, 183, 46, 191, 190), aux1
Gosub escribo
'Muestro las unidades de las horas
aux1 = hora - (hora / 10) * 10
aux = LookUp(175, 40, 157, 188, 58, 182, 183, 46, 191, 190), aux1
Gosub escribo
'Muestro las decenas de los minutos
aux1 = minu / 10
aux = LookUp(175, 40, 157, 188, 58, 182, 183, 46, 191, 190), aux1
Gosub escribo
'Muestro las unidades de los minutos
aux1 = minu - (minu / 10) * 10
aux = LookUp(175, 40, 157, 188, 58, 182, 183, 46, 191, 190), aux1
Gosub escribo
Return
Se asume que aux1 y aux estn declaradas como BYTE, y que la rutina escribo vista antes esta presente
en el programa.
Videos
Uno de los ruidos o cantos generados por los animales, mas particularmente por los insectos, es el del grillo.
Como todos saben, no es raro que este insecto pase toda la noche emitiendo su molesto chirrido, y cuando
encendemos alguna luz para ver el origen del sonido, deja ce cantar. Esto hace la tarea de ubicarlo
particularmente dificultosa. Eso si, ni bien volvemos a la cama y apagamos la luz, el grillo recomienza su
"canto".
El mismo efecto puede lograrse electrnicamente, lo que explicaremos a continuacin:
[editar]
El circuito
El esquema elctrico del montaje propuesto es por dems sencillo. Utilizamos una LDR para detectar la
presencia o ausencia de la luz, para que nuestro "insecto electrnico" sepa si debe o no cantar. Ni bien se
apaga la luz, un temporizado construido sobre dos compuertas del CD4093B espera un tiempo (unos minutos)
Para que el amado del circuito sea lo mas fcil posible, hemos dibujado un circuito impreso y tambin un par
de imgenes tiles para el montaje:
[editar]
Autor
ntroduccin
Esquema elctrico.
Es posible reemplazar nuestros viejos pulsadores utilizando solo un puado de componentes fciles de
conseguir. Utilizaremos botones metlicos, eternos, que darn una nueva dimensin a nuestras posibilidades
de desarrollo. El circuito que presentamos aqu puede utilizarse en casi todos los proyectos que requieran el
accionar de interruptores.
Tabla de contenidos
[esconder]
1 Introduccin
2 El problema a resolver
3 La solucin
4 Autor
[editar]
El problema a resolver
Al levantarnos, por la maana, apagamos el despertador (pulsamos un botn), encendemos la luz (pulsamos
un botn), vamos al bao y encendemos la luz (pulsamos un botn), nos aseamos y al salir apagamos la luz
(pulsamos un botn). An no sabemos si ha salido el sol o est nublado y ya hemos pulsado botones una
innumerable cantidad de veces.
Cuando uno de estos botones que acompaan cada da de nuestras vidas comienza a fallar, comenzamos a
maltratarlo hasta que logramos que el artefacto en cuestin nos haga el honor de ejecutar la funcin que
deseamos. Este es un hecho estadstica comprobable a quin no le ha pasado alguna vez?
Cuando dicho aparato ya no puede soportar ms golpes, terminamos dndonos cuenta de la importancia que
tiene un sistema como el que describiremos en este artculo. Se trata de un sistema totalmente estanco, sin
partes mecnicas o mviles, que ser eterno.
[editar]
La solucin
Nuestro circuito necesita de un elemento metlico, conductor, que haga las veces de sensor de toque.
Hemos utilizado para ello la cabeza de un tornillo, aunque es posible utilizar alguna otra cosa en su lugar. Al
tocar este elemento estamos induciendo en el mismo una seal de 50 Hz. que ser rectificada por
los diodos identificados como D1 y D2 en el esquema. Esto provocara que un voltaje negativo se haga
presenten en condensador C3, el resistor R3 y la compuerta ( gate) del transistor Q1. Esto hace que el
transistor pase a un estado de corte.
A travs del resistor R2 proporcionamos un estado lgico alto a la entrada de la primer puerta del CD4069.
Este 1 es invertido por la segunda compuerta y aplicado a la entrada de control de una de las cuatro llaves
analgicas que posee el circuito integrado CD4066. Estas entradas requieren de un estado alto para activar la
llave analgica interna.
Dado que un CD4069 dispone de seis compuertas en su interior, y que un CD4066 tiene cuatro llaves,
podemos construir tres pulsadores de este tipo con solo dos circuitos integrados. Es importante recordar que
con estas llaves podremos conmutar seales de baja tensin y corriente. Esto incluye seales de audio, video,
circuitos de continua, seales TTL o CMOS y toda aquella aplicacin que no requiera consumos de ms de 60
mA. Si el aparato a conmutar consuma una corriente mayor, daaremos la llave del CD4066.
La versatilidad de este circuito nos permitir disear mdulos selectores de funciones, controles de volumen,
pulsadores de reset, teclados, etc. Todo aquel proyecto que requiera el uso de un botn pulsador, dejar de
tener un elemento que algn da pueda fallar.
En una prxima entrega veremos cmo, con un pequeo agregado, podemos transformar este pulsador
momentneo, en un pulsador con retencin, pudiendo sustituir tambin a esta clase de frgiles dispositivos.
Introduccin
Una placa practicamente indispensable para nuestro PIC TRAINER. Con su ayuda, podremos controlar hasta
4 cargas de 220V/7A mximo.
Tabla de contenidos
[esconder]
1 Introduccin
2 El circuito
3 PCB
4 Lista de componentes
5 Autor
[editar]
El circuito
Esta pequea placa contiene 4 reles. Como no podemos conectar directamente la bobina de un rele a una de
las salidas de un PIC, hemos utilizado un circuito integrado ULN2803 que se encarga de manejar la corriente
necesaria a partir de la sear recibida desde el PIC TRAINER. Dicho integrado tiene la posibilidad de manejar
hasta 8 dispositivos, por lo que queda "medio" circuito sin utilizar.
La construccin es muy sencilla, puede realizarse en una hora o poco mas de trabajo, y su costo es muy bajo.
Vemosla en detalle.
[editar]
PCB
Para que el amado del circuito sea lo mas fcil posible, hemos dibujado un circuito impreso y tambin un par
de imgenes tiles para el montaje:
[editar]
Lista de componentes
[editar]
Autor
Introduccin
Epgrafe
Una placa practicamente indispensable para nuestro PIC TRAINER. Con su ayuda, podremos controlar hasta
8 cargas de 220V/7A mximo.
Tabla de contenidos
[esconder]
1 Introduccin
2 El circuito
3 PCB
4 Lista de componentes
5 Autor
[editar]
El circuito
Esta pequea placa contiene 8 reles. Como no podemos conectar directamente la bobina de un rele a una de
las salidas de un PIC, hemos utilizado un circuito integrado ULN2803 que se encarga de manejar la corriente
necesaria a partir de la sear recibida desde el PIC TRAINER
La construccin es muy sencilla, puede realizarse en una hora o poco mas de trabajo, y su costo es muy bajo.
Vemosla en detalle.
dos cables de conexin para utilizar los 8 canales de salida. Por supuesto, nada impide usar solo un cable si
solo necesitamos cuatro lneas de salida.
La imagen siguiente nos muestra la funcin de cada uno de los pines de los conectores IDC utilizados. La fila
de pines etiquetados "NC" quedan hacia el lado de afuera del PCB.
[editar]
PCB
Para que el amado del circuito sea lo mas fcil posible, hemos dibujado un circuito impreso y tambin un par
de imgenes tiles para el montaje:
[editar]
Lista de componentes
Introduccin
Epgrafe
Con este verdadero clsico de la electrnica construiremos un circuito prctico. El proyecto cumple la funcin
de retardar la entrada de la red despus de que la compaa elctrica nos restablezca el servicio, impidiendo
que nos afecten los tan molestos y peligrosos cortes de electricidad que se producen antes de que quede
totalmente restablecido el fluido elctrico.
Tabla de contenidos
[esconder]
1 Introduccin
2 Principio de funcionamiento
3 Otros usos
4 Montaje
5 Tareas finales
6 Lista de materiales
7 Descargas
8 Autor
El circuito integrado conocido por todos como 555 lleva con nosotros ms de 30 aos. De hecho, ya estaba
en el mercado antes de que casi todos nosotros entrsemos en el mundo de la electrnica.
Integra una parte analgica con otra digital que lo ha hecho durante muchos aos indispensable en multitud
de montajes, ya sea como protagonista o como circuito asociado. No es la misin de este articulo explicar el
funcionamiento de este chip, ya se podra (y se ha hecho) escribir un libro sobre l.
[editar]
Principio de funcionamiento
El proyecto que nos ocupa en esta ocasin es una verdadera configuracin de oscilador astable, pero
trabajando como monoestable gracias al control del pin de Reset del NE555. Es un temporizador de la
conexin a la red elctrica. No detecta los cortes elctricos muy rpidos, aunque en general estos no
producen perjuicio en nuestros equipos. Detecta los cortes con duraciones entre unos 100 y 200
milisegundos, aunque esto puede variarse modificando el valor de los componentes asociados y debido a la
tolerancia de los mismos.
[editar]
Otros usos
Seguidamente paso a explicar su segunda utilidad, en la que los profesionales vern realmente una aplicacin
interesante. Mediante CN3podemos conectar una carga de una potencia a elegir, en este caso 200 Watios
(dos lmparas de filamento de 100 Watios en paralelo), que permitirn limitar la corriente de entrada mientras
dure el periodo de temporizacin. Esto permite que en los lugares donde hay fuentes de alimentacin
compuestas por filtros con condensadores de elevada capacidad estos obtengan una limitacin a su demanda
instantnea de corriente de carga, evitando tener que colocar costosos automatismos elctricos de proteccin
y rearme de la red elctrica precisamente por estas elevadas corrientes instantneas.
[editar]
Montaje
Una vez que tengamos la placa de circuito impreso taladrada y verificada se proceder a soldar los
componentes, desde los ms pequeos a los de mayor tamao. Terminado este proceso procederemos con el
estaado de las pistas de potencia (220AC), siendo generosos con el estao.
Terminado todo esto comprobaremos que la distribucin de las tensiones en la placa sean correctas,
prestando especialmente atencin la salida del estabilizador 7812 (aprox. 12VDC) y la presente entre los
pines 1 y 8 (alimentacin) del NE555, que debe ser la misma tensin presente a la salida del estabilizador.
componentes con polarizacin en la placa, como los diodos,diodos LED, condensadores electrolticos y el
propio circuito integrado.
Puedes descargar el archivo PDF con el diseo del PCB, listo para imprimir y a escala desde aqui.
Tareas finales
[editar]
Una vez comprobado el buen funcionamiento del circuito, procederemos a la limpieza de las pistas y
soldaduras usando una brocha plana no muy grande con las cerdas cortadas a unos 3 o 4cm de su base e
impregnada sta en disolvente universal. Una vez secas las pistas, se proceder al barnizado de las mismas
con una ligera (pero consistente) capa de barniz en spray para uso en circuitos impresos.
[editar]
Lista de materiales
VARIOS: PLACA DE CIRCUITO IMPRESO SIMPLE CARA, BROCA 0.7mm Y 1mm, BASE PARA MONTAR
EN CARRIL
[editar]
Descargas
Puedes descargar el archivo PDF con el diseo del PCB, listo para imprimir y a escala desde aqui.
Introduccin
NE555 Monoestable
Se trata de una pequea aplicacin desarrollada en Visual Basic 6.0 que se encarga de calcular el valor de los componentes
necesarios para que el circuito integrado NE555 genere a su salida un pulso del tiempo deseado.
Tabla de contenidos
[esconder]
1 Introduccin
2 El programa
3 Descarga
4 Artculos relacionados
5 Autor
[editar]
El programa
En la ventana del programa podemos ver un esquema del circuito que debemos construir para utilizar este integrado como
"monoestable". Los componentes que lo rodean tomarn el valor adecuado para el tiempo que querramos estipular.
Para indicar el tiempo que deseamos, simplemente debemos seleccionar la unidad de medida de la lista desplegable e introducir el
valor del tiempo en el cuadro de texto. La imagen siguiente muestra como deberiamos hacer para conseguir un tiempo de 8
segundos:
La pantalla del programa cambiar, mostrando el valor de los componentes. En realidad, se muestran dos juegos de valores: uno en
azul y el segundo en rojo.
Los valores en azul son los ideales. Si pudiesemos conseguir resistores y condensadores de esos valores, el tiempo del pulso de
salida seria exactamente el buscado. Pero como no se fabrican componentes de cualquier valor, hemos indicado en color rojo cual
sera el resultado obtenido si utilizamos componentes del valor comercial ms cercano al ideal calculado.
Debajo del valor del pulso ideal se puede ver el valor obtenido utilizando componentes reales, y el porcentaje de error que represent
Si deseamos hacer otro clculo, simplemente volvemos a introducir el tiempo deseado y lo recalculamos.
[editar]
Descarga
Artculos relacionados
1 El autor
2 El circuito
3 Autor
[editar]
El autor
El amigo Carlos (dogflu), de Granada (Espaa), integrante del Foro Todopic y autor de la PIC EBASIC ha
desarrollado este circuito acondicionador, que permite leer con facilidad la salida del LM35x mediante un pin
ADC del microcontrolador.
[editar]
El circuito
El circuito acondicionador esta pensado para poder elegir el rango de trabajo del LM35, siempre teniendo en
cuenta como temperatura mnima 0, ya que se podra fcilmente, con las modificaciones adecuadas segn el
datasheet del LM35, trabajar con todo el rango de temperaturas del sensor, pero el actual acondicionador no
nos indicara si la temperatura es positiva o negativa. Este es el circuito propuesto por Carlos:
Actualmente el circuito queda ajustado mediante RA2 a ganancia 10, pero para poder llegar a un valor mas
prximo al rango dinmico de trabajo del ADC, se podra sustituir este (RA2) por uno de 20K con lo que la
ganancia mxima llegara a 21 = (R5 + RA2) / R5, este cambio permitira llegar a los 3 voltios.
No conviene llevar la tensin de salida (pin 7) del IC2B muy prxima a la de alimentacin ya que este dejara
de trabajar linealmente.
El valor de R5 parece redundante en la formulita, pero en realidad no lo es, no hay mas que cambiar el valor
de R5 por 2K y veris que todo cambia... Hay que tener en cuenta que "el que reparte se lleva la mejor parte",
en este caso el que disea se reserva colocar los valores de los componentes, y en este caso ganancia de
IC2B es igual a 1 + 10 = 11.
La ganancia del circuito restador, se calcula de la siguiente manera: teniendo en cuenta que siempre se
cumpla lo siguiente R1 = R2 y R3 = R4, ganancia = R4/R2. De esta forma podramos simplificar el circuito
realizando todo con un nico amplificador operacional, por ejemplo con el CA3140, en este caso para que el
circuito funcionara igual que el otro, tendramos que darle ganancia 10, y esto se hara cambiando el valor de
R3 y R4 por 100K (100K = R3 = R4).
R7, como trabajamos sobre una placa para desarrollos, es fcil que el pin RA4, que es nuestra entrada
analgica, por un despiste u olvido lo dejemos como salida creando una lucha de niveles entre la salida del
IC2B y el pin del PIC, as que R7 evita este problema.
R8, cierra el entorno de voltaje de ajuste del RA1, solo necesitamos unos pocos cientos de milivoltios,
conseguimos hacernos la vida mas fcil ya que el RA1 de esta forma, nos dar un grado de precisin muy
elevado.
Teniendo esto en cuenta procedemos a ajustar el circuito para trabajar con un rango de temperatura de 15 a
30 centgrados.
[editar]
Autor
Datos del Autor
Nombre: Carlos Ortega Sabio
email: carlos.ortegasabio@ucontrol.com.ar
Ver los artculos de este autor.
Introduccin
La gran mayora de los aficionados a la electrnica, tarde o temprano, se propone la construccin de un cartel
basado en una matriz de diodos LEDs. El propsito de este artculo es explicar, de forma clara y sencilla, la
forma de hacerlo.
A lo largo de estos parrafos veremos la forma de abordar el problema, y el principio de funcionamiento de una
matriz de LEDs de un tamao cualquiera. No construiremos ni programaremos una, pero si veremos como se
debe hacer. Si el lector necesita un proyecto de este tipo listo para usar, puede consultar los que se listan al
final de este artculo.
Tabla de contenidos
[esconder]
1 Introduccin
3 El Hardware
3.2 Multiplexado
3.6.2 El display
4 El software
5 Conclusin
6 Temas relacionados
7 Autor
El Hardware
Desde el punto de vista del hardware, bsicamente consiste en una matriz de pxeles similar a los de la
pantalla de un ordenador, generalmente de un solo color (la mayora de las veces rojos), aunque con el
descenso de los precios de los LEDs individuales o en paneles, es cada vez ms frecuentes ver carteles
bicolores o incluso multicolores, aprovechando la ventaja del los LEDs RGB, que pueden mostrar cualquier
color.
Como es de suponer, el desarrollo, construccin y programacin de un cartel e este tipo es una tarea bastante
compleja, pero perfectamente posible para cualquiera que tenga conocimientos bsicos de electrnica y
programacin. Este artculo puede ser utilizado como una gua paso a paso del proceso de creacin de un
cartel de este tipo. Y aunque no construyas uno, leyndolo aprenders algn truco til que podrs emplear en
otro proyecto.
Para mantener el nivel de la explicacin dentro de lo razonable, y para no gastar una fortuna en nuestro cartel,
lo disearemos monocromtico, utilizando LEDs de color rojo nicamente. Las dimensiones de la matriz
utilizada para mostrar los textos la decidir cada uno de los lectores, pudiendo ser tan pequea (7 filas y 5
columnas) o tan grande como se desee. Un tamao razonable y muy empleado es el de 7 filas por 80
columnas, que permite escribir unas 14 o 16 letras de 7 pixeles de altura. A pesar de no ser demasiado
grande, ya habrs sacado la cuenta de que se necesitan 560 LEDs individuales para armar el cartel.
Encendiendo un LED
En el nmero 2 de la Revista uControl, en el artculo llamado PICs y LEDs: una pareja perfecta vimos como
encender un LED desde unmicrocontrolador. Y de hecho es algo muy simple: conectamos el nodo
del LED al PIC, el ctodo a un resistor y el extremo de este a +V. Cuando el pin del microcontrolador est en
1, el LED enciende. Pero lamentablemente este esquema no sirve para la construccin de un cartel matricial
como este, ya que al utilizar cientos de LEDs necesitaramos tener un microcontrolador que tenga como
mnimo ese nmero de pines de salida (y por supuesto, no existe).
Multiplexado
El secreto, por supuesto, est en el multiplexado. Esta tcnica permite utilizar unos pocos pines de E/S del
microcontrolador para manejar una serie de circuitos integrados que se encarguen de excitar los LEDs. Hay
varias maneras, y muchos modelos diferentes de circuitos para hacer esto.
Pueden usarse un tipo de integrado digital llamado LATCH, que bsicamente es una memoria en la que
escribimos un valor, y lo mantiene en sus salidas hasta que nosotros lo indiquemos. De esta manera, usando
varios latches podramos encender los LEDs por turnos, rpidamente para que no se note el parpadeo, y de
esa manera formar una palabra en el cartel.
Otra forma es utilizar un registro de desplazamiento como los analizados en el nmero 1 de la Revista
uControl. Y de hecho, es de esta forma cmo vamos a disear nuestro cartel. Como vimos en esa
oportunidad, un registro de desplazamiento funciona de la misma manera en que funciona una cola de gente
que espera para entrar en un cine. Por un extremo de la cola van ingresando las personas que llegan, y por el
otro van saliendo de la fila. En un registro de desplazamiento, en lugar de personas tenemos 0 y 1. Lo
bueno de esto es que para meter datos (0s y 1s) en el registro de desplazamiento solo hacen falta tres
pines del microcontrolador, independientemente de lo largo que sea.
Estos pines se encargan de tres tareas: Uno de ellos, al que denominaremos DATA es el encargado de
decirle al registro de desplazamiento que lo que introduciremos es un 0 o un 1. El segundo se encarga de
avisar al registro que el dato ya est listo para ser ingresado, y lo llamaremos CLOCK. Y el ultimo, que no es
indispensable, es el RESET, que se encarga de vaciar la fila escribiendo 0s en todas las salidas del
registro.
Para desarrollar nuestro ejemplo utilizaremos el circuito integrado 74HC164N, que es un registro de
desplazamiento de 8 bits. Es decir, con el se puede armar una fila de 8 personas. Para construir un cartel
de 80 columnas, necesitaramos utilizar 10 de estos integrados, uno a continuacin del otro. Afortunadamente,
este integrado cuesta solo centavos.
En la figura 1 podemos ver la funcin de cada uno de los pines del 74HC164N y en la figura 2 de que forma
podemos conectar uno a continuacin del otro para obtener un registro de desplazamiento de cualquier
longitud.
Figura 1.
Figura 2.
Filas y columnas
Bien, con el esquema explicado podemos encender los LEDs que queramos de una fila de 80 bits de largo. Si
en el registro de desplazamiento introducimos 11111111, los 80 LEDs estarn encendidos. Si queremos
encender uno por medio, escribiremos 1010101. Por supuesto, cuando lleguemos a la parte de la
programacin veremos cmo se ingresan uno a uno los 0 y 1 en el registro.
En este punto puede ser necesario analizar el tema de las filas. Si tenemos, por ejemplo, un cartel con 7 filas,
y lo explicado recin sirve para manejar solo una de ellas debemos utilizar un registro de desplazamiento
para cada una de las filas restantes? Afortunadamente, la respuesta es no.
Si bien podramos utilizar 7 registros de este tipo, la cantidad de circuitos integrados necesarios (56 de ellos),
la complejidad del circuito impreso y el costo implicado lo hacen poco aconsejable. Nosotros aprovecharemos
un defecto del ojo humano, que mantiene la imagen vista durante unos 20 o 30 milisegundos, para dibujar
una fila a la vez, pero muy rpidamente, de forma que todo el cartel parezca estar encendido a la vez. Si, se
trata de un sistema similar al empleado en el cine o en la televisin.
Si seguimos pensando en un cartel de 7 filas y 80 columnas, sin utilizar registros de desplazamiento
necesitaramos 560 pines de entrada/salida. Con el esquema propuesto solo necesitamos 7 de ellos para
seleccionar la fila a escribir, y tres para manejar el registro de desplazamiento. Es decir, un PIC de 3 euros y
18 pines servira perfectamente para realizar el proyecto.
El tiempo de la demora debe ser tal que permita una visualizacin correcta, sin molestos parpadeos y con los
LEDS brillantes. Hay que tener en cuenta que si utilizamos tiempos mayores para el encendido de cada fila, el
brillo de los LEDS ser mayor, pero tambin aumentar el parpadeo. La forma de transformar este algoritmo
en un programa funcional depende de cada programador, y puede ser ms o menos complejo segn se
permitan diferentes tipos de caracteres, animaciones, etc.
El circuito de ejemplo
Dado que nuestro hipottico cartel tiene fines meramente educativos, y la intencin mantener su costo lo ms
bajo posible para que cada lector pueda construirlo, por lo que intentaremos realizarlo en base a un
microcontrolador pequeo, como el PIC16F628A. Si el lector necesita un cartel de mayor tamao o con
capacidad para almacenar textos o imgenes ms extensos, deber utilizar algn micro con mayor capacidad
y velocidad.
La utilizacin de una memoria EEPROM externa de un tamao bastante grande, como la 24C256, nos brinda
la posibilidad de almacenar mucho texto en ella. Por supuesto, esto tambin puede ser ampliado con mucha
facilidad.
Dividiremos el esquema electrnico del cartel en dos partes: en primer lugar veremos toda la lgica de control,
y en segundo, la pantalla con el registro de desplazamiento. A la hora de llevarlo a la prctica se puede
incluso hacer dos circuitos impresos por separado. Esto le permitira al lector experimentar con otros
controladores sin necesidad de volver a montar la placa de los displays, o viceversa.
El circuito controlador
Este es el cerebro de nuestro cartel. Ser el encargado de gestionar el encendido de cada LED mediante
rdenes enviadas a las columnas mediante el registro de desplazamiento y a las filas.
Como una fila tendr muchos LEDs (80, por ejemplo)y existe la posibilidad que en algn momento puedan
estar todos encendidos, no podemos conectarlas directamente a pines de E/S del PIC, porque la corriente que
demandaran hara que el puerto del microcontrolador pase a mejor vida. Para evitar esto, utilizaremos en
medio un transistor capaz de manejar la corriente requerida.
Analicemos el circuito de la figura anterior. El centro de todo es el microcontrolador PIC16F628A, que tiene su
pin de RESET conectado a un pulsador y un resistor de 10K. Este pulsador permite reiniciar el cartel cuando
lo necesitemos. Tambin se ha implementado un circuito de reloj externo, basado en un cristal de 4 MHz y
dos condensadores de 22 nF. Esto le permite al PIC ejecutar un milln de instrucciones por segundo, ms que
suficientes para este proyecto.
Los pines 1 y 2, correspondientes a los terminales A2 y A3 del microcontrolador, se han utilizado para acceder
a una memoria EEPROM del tipo 24C256. Esta memoria es de acceso serial (por eso necesitamos solo dos
pines del PIC para usarla) mediante el protocolo I2C, y tiene capacidad para almacenar 32.768 Bytes. Si
nuestro programa hace uso de ella, podemos guardar all 32.768 caracteres (con el display en modo texto) o
ms de 450 pantallas de 7x80 pxeles en modo grfico. Si resultara insuficiente, puede ponerse una memoria
de mayor capacidad, siempre consultando la hoja de datos de la misma para asegurarnos su compatibilidad
con la del ejemplo.
Todo el puerto B del PIC est dedicado a controlar las filas del cartel. Como ya habrn notado, tenemos 8
salidas para filas, y nuestro cartel tiene solo 7 filas. Efectivamente, la fila 8 no se utilizar si nuestra pantalla
est construida con mdulos LED de 7x5, pero el circuito de control est preparado para el uso (en caso de
que alguien los prefiera) de mdulos de 8x8 o bien para crear un cartel de 8 filas mediante el uso de LEDs
sueltos. Quienes utilicen mdulos de 7x5 pueden ahorrarse el transistor de la fila 8.
Por ltimo, los pines 17 y 18, correspondientes a los terminales A0 y A1 del microcontrolador se encargan de
la gestin del registro de desplazamiento. El programa deber generar los pulsos de reloj necesarios por el pin
18, y meter los datos en el registro por el pin 17.
No hemos incluido una fuente de alimentacin. Cualquier fuente comercial (o construida en casa) que sea
capaz de entregar 5V y 2A ser suficiente. Esos 5V deben estar bien regulados, y por supuesto, el software
deber estar escrito correctamente, es decir, no encender varias filas al mismo tiempo, ya que el consumo de
todo el cartel encendido sera de unos 80 x 70 x 20mA = 11.2 A, lo que podra destruir la fuente en caso de
que no cuente con protecciones adecuadas.
El display
Esta es la parte del proyecto que todo el mundo va a mirar, as que debemos ser prolijos al montarlo. Como
puede verse en el esquema elctrico de la figura 4, hemos utilizado un total de 10 circuitos
integrados 74HC164N para construir el registro de desplazamiento de 80 bitsde largo, uno para cada
columna. Como explicamos, si alguien quiere hacer un cartel ms largo o ms corto, deber poner ms o
menos integrados.
Si miramos el esquema del display, veremos que en la parte superior se muestra como est conectado
cada LED dentro de la matriz de 5x7. Esto es importante tenerlo en cuenta a la hora de comprar los mdulos,
ya que hay una gran cantidad de modelos, y algunos de ellos tienen los LEDs conectados en el sentido
inverso.
Cada display tambin difiere en la funcin de cada terminal, por lo que se debe estar a atentos a la hoja de
datos para disear el circuito impreso apropiado, y conectarlos como corresponda.
En el dibujo del circuito no hemos representado los 16 mdulos ni los 10 circuitos integrados, por una cuestin
de espacio, pero es fcil darse cuenta de qu forma se conectan las filas y columnas de los dems displays a
cada 74HC164N.
No utilizaremos el pin de RESET de los 74HC164N. En lugar de ser controlados desde el microcontrolador,
cada RESET est puesto a +5V, de forma que el integrado funcione continuamente. Si por algn motivo se
desea borrar la pantalla, basta con enviar 80 0s al registro de desplazamiento y listo. El tiempo empleado
para esa tarea es despreciable, ya que el microcontrolador estar ejecutando 1 milln de instrucciones por
segundo. El utilizar una lnea de control menos nos permitir tener una placa de circuito impreso ligeramente
ms sencilla.
Cada salida de los 74HC164N, como dijimos, se conecta a una columna de la serie de displays. Esta conexin
se efecta mediante unresistor de 1/8 de Watt, que en el esquema se ha dibujado con un valor de 330 ohm.
Ese fue el valor adecuado para el tipo de mdulos que conseguimos para hacer el prototipo, pero su valor
variar de un modulo a otro. Se puede montar solo un display con resistores de 330 ohms, y ver como es el
brillo de los LEDs. Si es escaso, se puede bajar el valor a 220 o 100 ohms. Con eso debera ser suficiente
El software
Ahora nos toca abordar la programacin del hardware propuesto. El cartel del LEDs que estamos
construyendo puede adoptar diferentes tamaos de acuerdo a las necesidades o componentes que cada uno
consiga. Esto hace que sea imposible proporcionar un programa especfico que funcione en cualquier versin
de cartel que se haya construido, pero sin embargo podemos hacer algo mucho mejor: ver de qu manera se
escribe un programa de este tipo en BASIC (del PIC SIMULATOR IDE) para que cada uno lo adecue a
su proyecto.
Debemos pensar en un programa que nos permita mostrar pxeles individuales representados sobre la
pantalla de nuestro cartel. Sigamos con el ejemplo del cartel de 80 columnas y 7 filas de altura, recordando
que todo lo que expliquemos puede ser adecuado para carteles de otro tamao.
Lo primero que necesitamos saber es que el barrido del cartel debe hacerse por filas. Es decir, mostraremos
el contenido de la primera fila, esperamos un tiempo determinado (unos pocos milisegundos), mostramos el
de la segunda fila, esperamos nuevamente, y as hasta llegar a la ltima fila, tal como se expresa en el
algoritmo visto mas arriba.
El motivo de no emplear las columnas para realizar el barrido es que como son ms numerosas, el tiempo
total que se necesita para escribir por filas es mucho menor que el necesario para escribir por columnas, y
en la prctica eso significa que el brillo de nuestro cartel ser mucho mayor si lo hacemos por filas, ya que
cada LED permanecer encendido 1/7 del tiempo. Si lo hicisemos por columnas, cada LED estara (en este
ejemplo) encendido solo 1/80 del tiempo, por lo que su brillo seria unas 10 veces menor.
Ahora bien, el primer problema a resolver es Cmo escribo los datos de una fila del cartel? Esto tiene una
solucin ms que simple: solo debemos introducir en el registro de desplazamiento los 0 y 1 necesarios
para que los LEDs que queremos estn encendidos en esa fila tengan +V en sus nodos. Por supuesto,
mientras hacemos esto todos los pines del microcontrolador que controlan las filas debern estar apagadas,
para que no se perciba una dbil luminosidad en todos los LEDs de la fila que estamos escribiendo a medida
que pasan los datos a travs del registro.
El primer valor que se debe meter en el registro de desplazamiento es el que corresponder a la ltima
columna. A medida que vamos ingresando los siguientes, se van desplazando hacia el final del cartel. Cuando
hayamos introducido el valor nmero 80 (que corresponder a la primera columna) el primer valor que
metimos habr llegado a su posicin. En ese momento tenemos todo el registro escrito, y ya podemos activar
la salida del PIC que corresponde a esa fila en particular.
El tiempo que debe estar encendida la fila se puede determinar empricamente, pero por lo generan unos 10
milisegundos es suficiente. Si tenemos 7 filas, 10 milisegundos de demora permitiran escribir todo el cartel en
unos 70 milisegundos, por lo que obtendramos un mximo de 1000/70 = 14 frames por segundo. Este es un
muy buen valor para una pantalla de este tipo, ya que solo estamos mostrando un texto y no un video.
En los clculos anteriores no tuvimos en cuenta el tiempo que se demora en escribir los 80 valores en el
registro de desplazamiento. Veamos porque: cada valor ingresado en el registro de desplazamiento demora
unos 2 microsegundos. Es decir, demoramos 2 x 80 = 160 millonsimas de segundo en escribir toda la fila. Si
multiplicamos este valor por 7 tendremos en tiempo que necesitamos para escribir las 7 filas del cartel, lo que
nos da 1136 millonsimas de segundo, es decir, poco ms de 1 milsima. Este es un tiempo despreciable
frente a las 70 milsimas que nos tomamos para mostrar la imagen completa, y podemos despreciarla.
Ahora vamos a ver, en BASIC, como hacer para escribir un valor en el registro de desplazamiento.
Recordemos que el dato ingresa al registro en el momento que se produce la transicin de 0 a 1 del pulso
de CLOCK, por lo que se debern seguir los siguientes pasos para ingresar cada uno de los 80 valores
correspondientes a cada fila:
1) Fijar el valor del dato a escribir (si DATA es 1, hacer PORTA.0 = 1, si no PORTA.0 = 0)
2) Poner la lnea de CLOCK en estado bajo (PORTA.1 = 0).
3) Esperar un 1 microsegundo (WaitUs 1)
4) Poner la lnea de CLOCK en estado alto (PORTA.1 = 1). En este punto el dato entra efectivamente en el
registro de desplazamiento.
5) Esperar un 1 microsegundo (WaitUs 1)
6) Fin
data = 0
clock = 0
WaitUs 1
clock = 1
WaitUs 1
Y un 1 de la siguiente manera:
data = 1
clock = 0
WaitUs 1
clock = 1
WaitUs 1
Para escribir los 80 valores de la fila necesitamos hacer una subrutina que, tomando 10 bytes de la
memoria EEPROM (10 bytes x 8 bits = 80 bits, es decir, una fila completa) los vuelque al registro de
desplazamiento.
Si repetimos 7 veces este procedimiento, tendramos una pantalla de 7x80 completa. Eso significa que en la
EEPROM cada pantalla va a necesitar de 70 bytes (10 bytes por fila, 7 filas) para almacenar el mapa de bits
correspondiente.
Veamos un ejemplo de cmo podra ser la subrutina encargada de escribir un byte tomado de la EEPROM en
el registro de desplazamiento, a la que hemos llamado escriboByte:
escriboByte:
For columna = 1 To 8
If dato.7 = 0 Then
data = 0
clock = 0
WaitUs 1
clock = 1
WaitUs 1
Else
data = 1
clock = 0
WaitUs 1
clock = 1
WaitUs 1
Endif
aux = ShiftLeft(dato, 1)
Next columna
Return
Esta funcin debe ser llamada 10 veces para escribir la fila completa, con el valor a escribir guardado en la
variable dato. El motivo por el cual el bucle FOR-NEXT toma los bits del byte desde el 7 hasta el 0 se debe a
que justamente el ltimo bit es el que debe ingresar primero al registro de desplazamiento, tal como
explicamos antes.
Debemos partir de la base de que la informacin de la EEPROM la vamos a grabar desde un ordenador, y
que seguramente crearemos un programa que permita, a partir de un texto determinado, generar los bits
individuales que componen el bitmap de cada pantalla del cartel. Esto simplifica muchsimo la programacin
del microcontrolador, ya que solo debe dedicarse a leer la EEPROM y volcar su contenido alregistro de
desplazamiento, sin tener que dibujar las letras a partir de una tabla ni nada por el estilo.
Textos animados
Para animar el texto mostrado en el display hay dos opciones. La primera de ella es que, una vez que el
bitmap de la EEPROM ha sido mostrado en la pantalla, comencemos a redibujarlo continuamente (si no lo
hacemos, el texto desaparecer de la pantalla) pero cada un tiempo determinado (1 segundo por ejemplo)
escribimos un bit 0 ms en cada fila. Es decir, escribimos 81 bits en el primer segundo, 82 en el segundo,
etc. Esto har que el texto se desplace de izquierda a derecha, y es la animacin ms fcil de implementar.
Sin embargo, lo normal es que los textos de desplacen en sentido contrario, por lo que nuestro programa
debera hacer lo siguiente: comenzar escribiendo 80 0s en el registro antes de enviar la informacin de la
fila, luego escribir 79 0s, y as sucesivamente. De esa manera, el texto al principio no ser visible (estar
dibujado a la derecha, fuera del registro de desplazamiento), y luego a medida que el numero de 0s
escritos va disminuyendo, comenzara a ser visible, entrando desde la derecha.
La segunda manera es que el software que escribe los datos en la EEPROM guarde cada cuadro de la
animacin, uno a continuacin del otro, y que el PIC se limite a escribir cada cuadro ledo durante (por
ejemplo) un segundo. Esto vuelve a facilitar mucho la programacin del PIC, a la vez que permite animaciones
mucho ms complicadas. Por supuesto, el precio a pagar es el espacio de memoria EEPROM requerido para
implementar esta tcnica.
Conclusin
Si bien no se trata de un proyecto completo y concreto, es muy posible que este artculo haya servido para
que te animes a encarar el diseo y construccin de tu propio cartel de LEDs. Solo hemos intentado exponer
la forma (o al menos una de ellas) en que se puede atacar este problema, de modo que cualquier hobbysta o
estudiante se anime y pueda hacer realidad su propio cartel animado. No se trata de un proyecto sencillo,
pero una vez terminado seguramente los llenara de orgullo. Desde aqu los animamos a que encaren este
proyecto, y que por supuesto, nos comenten los resultados obtenidos.
Temas relacionados
Estos proyectos y tutoriales pueden servirte de ayuda a la hora de disear tu propio cartel de leds:
El cargador est diseado para cargar dos pilas AA NiMH o NiCd de cualquier capacidad (siempre son
los mismos) a unos 470mA. Se cargar:
-NiCd 700mAh en alrededor de 1,5 hora.
-NiCd 1100mAh 2,5 horas.
-NiMH 1600mAh en alrededor de 3,5 horas.
-NiMH 2000mAh 4,5 horas.
-NiMH 2500mAh en aproximadamente 5,5 horas.
Tiene un corte automtico de carga de circuito basado en la temperatura de las clulas y las clulas se
pueden dejar en el cargador por tiempo indefinido despus de corte.
Carctersticas:
-Tamao: 10cm x 3cm x 1.5cm.
-Clulas: Dos pilas AA, NiMH o NiCd.
-Corriente de carga: 470mA.
-Mtodo de terminacin de carga: Temperatura de las bateras (33 C).
-Corriente: 10mA.
-Fuente de alimentacin: Desktop, Laptop, o Hub USB.
-Condiciones de funcionamiento: 15 C a 25 C.
Circuito:
Circuito impreso:
Disposicin componentes: (tener en cuenta que esta imagen es vista desde arriba y la anterior desde
abajo)
Deben poner los elementos como se indica en la imagen del circuito impreso.
Luego de ponerlos, soldarlos con estao.
Con la plaqueta lista, deben poner las celdas para las pilas, conectando como indica la foto: Un cable
que salga del "B+" al positivo (resorte) y otro cable que salga del "B-" al negativo (el que no es un
resorte)
Para terminar, conectar el cable USB de la siguiente forma: El cable rojo (5v) en el agujero USB+ y el
cable negro (tierra) en el agujero USB-.
INFRARROJOS
Reflexivo IS471F
Descripcin: Sensor basado en el dispositivo SHARP
IS471F inmune a interferencias de luz normal. Este sensor
incorpora un modulador/demodulador integrado en su
carcasa y a travs de su patilla 4 controla un diodo LED de
infrarrojos externo, modulando la seal que este emitir,
para ser captada por el IS471F que contiene el receptor.
cuando un objeto se sita enfrente del conjunto
emisor/receptor parte de la luz emitida es reflejada y
demodulada para activar la salida en la patilla 2 que pasar
a nivel bajo si la seal captada es suficientemente fuerte.
El uso de luz IR modulada tiene por objeto hacer al sensor relativamente
inmune a las interferencias causadas por la luz normal de una bombilla o la
luz del sol.
Funcionamiento: Como puede verse en el esquema, el sensor se
alimenta por sus patitas 1 y 3 y estas corresponden a Vcc y Gnd
respectivamente, la patita 2 es la salida del detector y la patita 4 es la
salida que modula al led emisor externo. Mediante el potencimetro P1 se
varia la distancia a la que es detectado el objeto. Contra mas baja sea la
resistencia de este potencimetro, mas intensa ser la luz emitida por el
diodo de IR y por lo tanto mayor la distancia a la que puede detectar el
objeto.
El el siguiente esquema vemos el simple circuito necesario para hacer
funcionar al sensor.
ReflexivoCNY70
Descripcin: El CNY70 es un pequeo dispositivo con forma
de cubo y cuatro patitas que aloja en su interior un diodo emisor
de infrarrojos que trabaja a una longitud de onda de 950 nm. y un
fototransistor (recetor) estando ambos dispuestos en paralelo y
apuntando ambos en la misma direccin, la distancia entre emisor y
receptor es de 2.8 mm. y estn separados del frontal del encapsulado por 1
mm.
El la siguiente figura vemos la disposicin interna del CNY70 mirando el
encapsulado desde arriba, as pues tenemos el diodo emisor de infrarrojos
a la izquierda y el fototransistor a la derecha.
Ideas y mejoras: Mas que una idea esto es un descuido que tuve al
montar el circuito en una protoboard y asi comprob que quitando la
resistencia de polarizacin de 10k que tiene conectada el fototransistor a su
emisor hacemos que el circuito se vuelva mucho mas sensible (e inestable
tambin jeje). Con un buen ajuste de la resistencia variable e conseguido
detectar superficies reflectantes a una distancia de unos 5 cm. tambin al
pasar la mano por enfrente del sensor se activaba la salida. Supongo que
habr una manera menos inestable de hacer esto as que ya sabis... a
cacharrear y haber que sale jejeje
ReflexivoGP2Dxx
Descripcin: El sensor
GP2DXX de sharp es un
dispositivo de reflexin por
infrarrojos con medidor de
distancia proporcional al
ngulo de recepcin del haz
de luz que incide en un
sensor lineal integrado,
dependiendo del modelo
utilizado, la salida puede ser
analgica, digital o booleana.
Datasheets
Rango de medida
Tipo de salida
GP2D-02
10 a 80 cm.
Digital 8 bits
GP2D-05
Lgica 1 bit
GP2D-12
10 a 80 cm
Analgica (0-3V)
GP2D-15
Lgica 1 bit
GP2D-120
4 a 30 cm.
Analgica (0-3V)
En la fotografa siguiente
vemos la disposicin de
pines en el conector de
salida del GP2D02:
1.-GND
2.-Vin
3.-Vcc
4.-Vout
Una vez tenemos conectado el sensor nos queda mandarle hacer una
captura y leer el resultado, para conseguir esto hay que seguir unos
sencillos pasos:
GP2D02.asm
Descargar
El programa usa una tabla de conversin calibrada para usar con una
cartulina blanca como objeto distante para la medicin y muestra en el LCD
la distancia en centmetros continuamente, para otros objetos de diferente
color se puede modificar la tabla fcilmente.
MECANICOS
Bumper
Descripcin: El bumper es un conmutador de
2 posiciones con muelle de retorno a la posicin de
reposo y con una palanca de accionamiento mas o
menos larga segn el modelo elegido.
Funcionamiento: En estado de reposo la patita
comn (C) y la de reposo (R) estn en contacto
permanente hasta que la presin aplicada a la
palanca del bumper hace saltar la pequea pletina acerada interior y
entonces el contacto pasa de la posicin de reposo a la de activo (A), se
puede escuchar cuando el bumper cambia de estado, porque se oye un
pequeo clic, esto sucede casi al final del recorrido de la palanca.
Usos: Se usan para deteccin de obstculos por contacto directo. No
son adecuados para robots de alta velocidad ya que cuando detectan el
obstculo ya estn encima y no da tiempo a frenar el robot.
Ideas y mejoras: Pocas mejoras puede tener un dispositivo tan simple
pero una buena idea seria utilizar un multiplexor para poner mas bumpers
de control en nuestro robot y usar el mnimo de lneas de control.
MAGNETICOS
ULTRASONIDOS
Bsico
Descripcin: Los ultrasonidos son vibraciones del aire de la misma
naturaleza que el sonido audible pero de una frecuencia mas elevada que
8
parte de 20 000 Hz hasta 5.10 Hz. no audibles estos por el odo humano.
Se alcanzan longitudes de onda que se aproximan a la luz visible.
Funcionamiento: Para producirlos se utilizan las propiedades
piezoelctricas del cuarzo.
Usos: Se utilizan en la obtencin de emulsiones fotogrficas de grano
muy fino, en sondeos acsticos (deteccin de fisuras, mediciones, etc.. ),
como bactericidas y como limpiadores de superficies entre otros.
mas informacin en cuanto pruebe a fondo...
Luz
LDR
Descripcin: La LDR (Light Dependent Resistor) o resistencia
dependiente de la luz, como su propio nombre indica es una
resistencia que varia su valor en funcin de la luz que incide sobre su
superficie. Contra mas sea la intensidad de luz que incida en la
superficie de la LDR menor ser su resistencia y contra menos luz
incida mayor ser la resistencia. La forma externa puede variar de la
mostrada en esta foto ya que este modelo en concreto no es muy
comn pero la funcin es la misma.
Funcionamiento: Para hacernos un medidor de luz ambiental o una
fotoclula que encienda un determinado proceso en ausencia o presencia
de luz podremos hacerlo de dos maneras, usando un amplificador
operacional para detectar y ajustar la sensibilidad y punto en que se dispara
la salida como en el caso del CNY70 mostrado mas arriba o bien hacerlo
como se muestra en el siguiente circuito, que es en base a un disparador
trigger schmitt TTL que conformara una seal totalmente compatible
TTL para ser aplicada a un microcontrolador o puerta lgica compatible.
Temperatura
LM35
Descripcin: El LM35 es un sensor de temperatura con una
precisin calibrada de 1C y un rango que abarca desde -55 a
+150C.
El sensor se presenta en diferentes encapsulados pero el mas comn es el
to-92 de igual forma que un tpico transistor con 3 patas, dos de ellas para
alimentarlo y la tercera nos entrega un valor de tensin proporcional a la
temperatura medida por el dispositivo. Con el LM35 sobre la mesa las
patillas hacia nosotros y las letras del encapsulado hacia arriba tenemos que
de izquierda a derecha los pines son: VCC - Vout - GND.
La salida es lineal y equivale a 10mV/C por lo tanto:
+1500mV = 150C
+250mV = 25C
-550mV = -55C
X-Temp_LM35.asm
Descargar
HUMEDAD
SHT11
Descripcin: El SHT11 de la
casa www.sensirion.comes un sensor integrado de
humedad calibrado en fbrica con salida digital mediante
un bus serie sincrono y protocolo especifico. El dispositivo
tambin dispone de un sensor de Temperatura integrado
para compensar la medida de humedad dependiendo de
la temperatura, en casos extremos. Cuenta tambin en su interior con un
calefactor para evitar condensacin en el interior de la cpsula de medida
para condiciones de niebla o similar donde existe condensacin.
Funcionamiento: El SHT11 se puede alimentar con un rango de
tensincontinua comprendido entre 2,4 a 5V y es necesario proveer lo mas
cerca posible del chip un condensador de desacoplo de 100nF entre GND y
VCC. En la imagen puede observarse una pequea PCB
(Printed Circuit Board) realizada al efecto para albergar al
SHT11 y su condensador de desacoplo, ya que el sensor
se presenta en encapsulado para montaje superficial
LCC (Lead Chip Carrier) y es difcil de quitar una vez
soldado, as que mejor trabajar con pines mas standard
Transmission Start: Para comunicarse con el SHT11 lo primero que hay que
hacer es mandar una secuencia de Inicio de Transmisin "Transmission
Start". Esta consiste en poner a cero lgico la lnea de datos mientras SCK
esta a uno, seguidamente se genera un pulso bajo en SCK mientras la lnea
DATA sigue a cero y para finalizar se pone a 1 DATA mientras SCK esta a
1, seguidamente se baja a cero tambin SCK y finaliza la secuencia dejando
la lnea de datos y Clock en los estados lgicos por defecto, DATA en
estado alto y SCK en estado bajo.
El sensor admite unas dos adquisiciones o medidas por segundo por lo que
no se debe forzar la lectura con refrescos superiores a este, y ni que decir
que una medida de este tipo no necesita un refresco tan elevado.. lo normal
seria una medida cada 5 o 10 segundos o mas incluso.
Nota: No se ha realizado el circuito impreso debido a la sencillez del montaje, que puede hacerse en
protoboard sin problemas.
DESCARGAS
Programa de prueba:
Rutina para sensor:
Codigo programa:
X-Higrometer.asm
SHT11.inc
X-Higrometer.hex
Aceleracin / Inclinacin
X-Higrometer.zip
MXD7202GL
Descripcin: El sensor de
aceleracin lineal de dos ejes
modeloMXD7202GL de memsic esta
fabricado para medir aceleracin
lineal en sus dos ejes hasta un fondo
de escala de 2g (2 veces la fuerza de
la gravedad). Debido a la capacidad
de poder medir la fuerza de la
gravedad terrestre lo usaremos
tambin como inclinmetro de estado slido. Este sensor se presenta en
encapsulado LCC8, esta compensado internamente en temperatura y no le
afectan las fluctuaciones en la alimentacin. La salida del sensor es un
pulso digital de ancho variable a una frecuencia fija de 100Hz.
Descripcin
2 TP
Conectar a GND
3 COM
Comun
4 Yout
5 Xout
6 NC
7 NC
8 Vdd
2.75 a 5.25 V
del seno del ngulo al que se ponga el sensor con respecto a la superficie
de la tierra.
En el siguiente grfico puede verse la seal obtenida con respecto a la
inclinacin de 0 a 180.
Los valores de PWM que da el sensor para el mximo y mnimo son los
siguientes:
+1g = 6,25mS
-1g = 3,75mS
Por lo tanto tenemos un rango total de 6,25 - 3,75 = 2,5mS
esto quiere decir que el ancho de impulso de la seal que nos dar el
sensor variara un mximo de 2,5mS aprox. si lo tumbamos de un lado a
otro, debido a la aceleracin de 1g provocada por la fuerza de la gravedad
terrestre.
Cuando la aceleracin es nula 0g podemos leer un duty cycle del 50% que
corresponde a 5mS.
Con esto ya tenemos definidos los valores para -90, 0 y +90 que sern
los siguientes:
-90 = 3,75ms
0 = 5ms
+90 = 6,25ms
Ahora nos faltan todos los dems... para medir aceleracin seria dividir el
rango total en la precisin que queramos obtener ya que es una medida
Un ejemplo practico:
Imaginemos que leemos un ancho de impulso de 4,12mS. Como es menor
de 5mS usaremos la primera formula,
4,12 - 3,75 = 370S / 1,25mS = 0,296 mS
1 - 0,296 = 0,704
Ahora ya tenemos el coseno del ngulo y tan solo tenemos que hacer la
operacin inversa, el arco coseno y obtendremos el ngulo para dicho
coseno.
ArCos( 0,704 ) = 45,25 = 45
Nota: En el esquema anterior falta la alimentacin del pic y del max232, el oscilador del pic y el
circuito de reset, as como tambin los condensadores de desacoplo de 100nF para cada
integrado.
X-TILT.rar
Instalable Windows
X-InclinoLab.rar