Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Ucontrol Revista 0001 PDF
Ucontrol Revista 0001 PDF
Construye tus
propios circuitos
Ideal para aficionados
que desean fabricar
sus propios PCB
el relojito
sistema de proteccin
0x04
.editorial
de altavoces 0x08
Por fin, y luego de varios meses de trabajo, el pri-
fundamentos de la
mer nmero de la Revista uControl est en tus manos.
transmisin sincrnica 0x0B
Todo proyecto nuevo necesita de un tiempo de madura-
construye tus propios PCB 0x0F cin, y este no ha sido la excepcin.
uso prctico del PIC12F675 0x13 Si bien desde el principio el concepto de la revista
estaba claro, faltaba pulir decenas de detalles. Sabamos
usando LCDs primera parte 0x19 que bamos a escribir una revista que le fuese de utili-
los herederos del LM386 0x1E dad al estudiante, al hobbista y tambin al que ya sabe
bastante de electrnica. Tenamos como premisa utilizar
PIC BASIC 0x20
un lenguaje claro, ameno, que permitiese establecer una
control de volumen digital 0x26 comunicacin efectiva entre quien escribe y quien lee.
.indice
registros de desplazamiento 0x28 bamos a publicar mucha informacin, que si bien a veces
est disponible en la web, no se encuentra en espaol o
CD4094 primera parte 0x2A
bien no est completa.
sensor de humo Sin embargo, una cosa es saber que se quiere ha-
con LED y LDR 0x2D cer, y otra muy diferente es transformar esa idea en algo
temporizadores programables 0x2F concreto. Aunque suene extrao, lo ms fcil fue escribir
todo el contenido que llena las pginas de este ejemplar.
control de velocidad La tarea de diseo grafico (gracias Vernica!) fue todo un
de motores con CC desafo. De nada serva tener buenos artculos si resulta-
por PWM con NE555 0x32 ban difciles de leer, culpa de una tipografa desafortuna-
da o por una maquetacin equivocada.
Todos los que formamos parte del staff de esta re-
vista nos dedicamos a la electrnica. Algunos programan
Direccin y Redaccin: microcontroladores, otros desarrollan proyectos para em-
Ariel Palazzesi presas, y los ms afortunados incluso obtienen sus ingre-
Argentina
arielpalazzesi@gmail.com sos de esta fascinante ciencia que es la electrnica. Pero
www.ucontro.com.ar es la primera vez que trabajamos juntos. Y para muchos,
tambin es la primera vez que publican un trabajo en una
Redactores:
Reiner Torres Labrada revista.
Cuba Estamos orgullosos del resultado de nuestro tra-
reinertl@gmail.com bajo, y sabemos que a medida que transitemos este cami-
Mario Sacco no que hoy inauguramos, el resultado ser an mejor.
Argentina Este es el primer ejemplar de una publicacin que espe-
hicimos este nmero...
Argentina
marcos.lazcano@gmail.com
contestar todos los mails.
El contenido de las notas publicadas, salvo indi-
Pedro Palitroquez cacin contraria, es de libre distribucin. Eso significa que
Venezuela
palitroquez@gmail.com puedes usarlo para lo que quieras, aunque eso s, citando
a su autor y a la revista. A lo largo del 2008 cada 64 das
Diseo: exactos habr un nuevo ejemplar de la Revista uControl.
Vernica C. Lavore
Argentina Ese es nuestro compromiso.
azimut.estudio@gmail.com Hasta el prximo nmero!
//pgina 0x02
.proyectos //Ariel Palazzesi
//pgina 0x04
.proyectos
Para mantener la exactitud del reloj empleamos un (bit 0 del PORTA) se encarga de proporcionar los datos al
pequeo circuito integrado, tambin de Dallas, que se en- registro de desplazamiento, mientras que el pin 18 (bit 1 del
carga de contar el tiempo por nosotros. Se trata del DS1307, PORTA) entrega los pulsos de reloj necesarios.
de 8 pines, que dispone de su propio cristal (de 32.768 KHz) El mismo truco del registro de desplazamiento se
y de una pila CR-2032 de 3V de respaldo. Esta pila propor- utiliz para controlar los 60 LEDs que conforman el segun-
ciona la energa necesaria para que el DS1307 siga funcio- dero. Esta vez fueron necesarios 8 circuitos integrados
nando en caso de falta de energa proveniente de la fuente 74HC164N. Este registro dispone de 64 salidas, de las que
de alimentacin principal. Esto evitar tener que volver a po- se aprovechan solo las primeras 60. Cada una de estas
ner en hora el reloj cada vez que lo desenchufemos de la red salidas controla uno de los LEDs a travs de un resistor que
elctrica. limita la corriente que los atraviesa.
Para mostrar tanto la informacin correspondiente Dado que el consumo mximo posible de este
a las horas y minutos como los datos de la temperatura, se proyecto es bastante elevado para lo que estamos acos-
emplearon 4 display LED de 7 segmentos de unos 3.5 cent- tumbrados, hemos dividido la etapa de alimentacin en tres
metros de altura. El modelo elegido fue el C-1021H de Para- partes, cada una de ellas encargada de proporcionar ener-
light. Se trata de display de ctodo comn, donde cada seg- ga a una de las secciones del reloj.
mento est constituido por dos LEDs rojos en serie. Los : De esta manera, una de las etapas construidas
centrales estn formados por dos LEDs de 3mm conectados alrededor de un regulador de voltaje LM7805 proporciona
en serie, del mismo color que los displays, y son manejados la corriente que necesita el microcontrolador, el sensor de
desde el pin 7 del microcontrolador (PORTB.1) temperatura y el reloj de tiempo real. Otra de las etapas
Dado que el multiplexar estos displays mediante las alimenta los displays y el registro de desplazamiento que
tcnicas tradicionales hubiese exigido un elevado nmero de lo controla, y la tercera hace lo propio con los LEDs del
pines de E/S del microcontrolador PIC16F628A, se utiliz un segundero y sus circuitos integrados de control.
registro de desplazamiento construido a partir de cuatro cir- Si bien no figuran en el esquema elctrico, hemos colo-
cuitos integrados 74HC164N conectados en cascada. Cada cado condensadores cermicos de 0.1uF entre los pines de ali-
una de las salidas de estos integrados controla uno de los mentacin de cada uno de los 74HC164N. Se pueden ver en las
segmentos de los displays. El pin 17 del microcontrolador fotos, estn soldados directamente sobre las pistas del PCB.
//pgina 0x05
.proyectos
Como es de suponer, para albergar todo esto Diseo del PCB. Puedes descargarlo de
hace falta un circuito impreso bastante grande. Dado que www.ucontrol.com.ar, listo para imprimir.
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
ayud a que el PCB sea grande.
Quizs el rasgo ms representativo de este circui- Para construir el PCB basta con utilizar el di-
to impreso sea su forma, ya que nos hemos apartado del seo que puede descargarse en formato PDF desde
clsico diseo rectangular o cuadrado y lo hemos dibujado uControl, e imprimirlo siguiendo los pasos de nues-
como una circunferencia, de forma que los LEDs del segun- tro tutorial Como construir tus propios PCB.
dero adopten la misma disposicin que tendran las marcas
en la esfera de un reloj de aguja. .Componentes
El dimetro de la placa de circuito impreso es de
18 centmetros. Cortarla con forma de circunferencia es La lista de componentes que vamos a emplear es
bastante trabajoso, pero no imposible. De todos modos, bastante extensa, pero afortunadamente se trata de com-
aquellos que no se animen a cortar el PCB con esta forma, ponentes de bajo costo, por lo que se trata de un proyecto
pueden simplemente utilizar un PCB cuadrado de 18 cent- al alcance de todos los bolsillos.
metros de lado con el dibujo que proponemos en el centro.
//pgina 0x06
.proyectos
.Conclusin
La lista de materiales necesarios:
Hemos terminado con el montaje del hardware de
12 circuitos integrados 74HC164N.
nuestro relojito. En el prximo nmero de la revista apren-
92 resistores de 220 ohm, 1/8 de Watt.
deremos a programarlo.
7 resistores de 10K, 1/8 de Watt.
Mientras tanto, puedes leer los artculos so-
1 circuito integrado DS1307.
bre registros de desplazamiento que publicamos
1 microcontrolador PIC16F628A.
en este ejemplar: seguramente te sern de utilidad
1 sensor de temperatura DS1820
para comprender el funcionamiento del programa
1 cristal de 4 MHz.
de este proyecto.
1 cristal de 32.768 KHz.
14 condensadores cermicos de 100 nF (0.1uF).
2 condensadores cermicos de 22pF.
1 condensador electroltico de 220uF/16V.
1 zcalo para pila CR-2032
4 displays de ctodo comn C-1021H de Par-
alight.
2 LEDs rojos de 3mm.
60 LEDs rojos de 5mm.
1 diodo 1N4001.
1 bornera para circuito impreso de dos tornil-
los.
4 pulsadores de 8mm para circuito impreso.
3 reguladores de voltaje LM7805.
.Montaje
//pgina 0x07
.circuitos //Mario Sacco
sistema de proteccin
de altavoces
Nunca estamos libres de que ocurra algn imprevisto en la salida de audio de
nuestra cadena de sonido, deteriorando o destruyendo los parlantes. En ste
artculo, proponemos un sistema de proteccin similar al que traen solo los equi-
pos HI-FI reloj.
Cuando un circuito amplificador de audio, de con- El circuito propuesto, es una adaptacin de los
cepcin moderna presenta problemas, es comn que al- sistemas que en la actualidad utilizan los equipos de audio
guno de los transistores de la etapa final de salida haya Hi-Fi, los cuales tienen como misin, detectar la presencia
entrado en cortocircuito. Los amplificadores construidos de corriente continua en alguna de las salidas de audio. Si
en base a un circuito integrado, tambin por alguna razn, en la salida de audio del
estn comprendidos dentro de esta gene- Los sistemas que uti- sistema apareciese una tensin de direc-
ralidad. lizan los equipos Hi-Fi ta, por un tiempo prolongado, el circuito
Como resultado del problema
detectan la presencia protector se activar y pasar al equipo al
planteado, aparecer a la salida del am- modo Stand-By, cortando abruptamente
plificador una tensin de corriente conti- de corriente continua en la alimentacin del mismo.
nua elevada. Si esta tensin no es inte- algunas de las salidas El esquema de este diseo puede verse
rrumpida a tiempo, terminar destruyendo de audio. en la Figura 1, pero para una mejor com-
las bobinas de los parlantes por exceso prensin durante la explicacin del mismo,
de temperatura. utilizaremos el esquema de la Figura 2.
FIGURA 1: Un puado de transistores bastar para proteger nuestro sistema de altavoces. (Descargalo de www.ucontrol.com.ar)
//pgina 0x08
.circuitos
A travs de los fusibles FU1 y FU2, la tensin de Cuando un amplificador de audio funciona nor-
corriente alterna (CA) obtenida del transformador, toma malmente, existe en su salida, una tensin variable en el
dos caminos muy diferentes. Por un lado, atraviesa los tiempo y en funcin de los sonidos que se estn escu-
contactos Normalmente Cerrados (NC) de RL1 hacia la chando. Por lo general la misma debe mantenerse dentro
fuente de alimentacin del amplificador de potencia; y por de los parmetros normales de funcionamiento para que
otro, se conecta a la fuente de alimentacin del sistema de trabajen todos los eslabones de la cadena de audio, de
proteccin. forma armoniosa, estable y en los mrgenes de seguridad
Una vez atravesados los contactos NC de RL1, deseados.
nos encontramos con el puente rectificador BR1, los ca- Si la tensin de salida del amplificador, se hace
pacitores electrolticos C5 y C6, y los indi- cada vez ms alta producto del aumen-
cadores LED, que son opcionales. Com- La tensin de salida to de volumen de audio, nos estaremos
pletan este subsistema, los capacitores acercando peligrosamente a que la mis-
de desacoplo de 100nF C9 y C10, que se
debe mantenerse ma est muy prxima o iguale a Vcc, tan-
utilizan para suprimir el ruido de alta fre- dentro de los parametros to en su polaridad positiva como negativa.
cuencia. Hasta aqu tenemos una fuente normales para que traba- En estos casos, el sistema de proteccin
de alimentacin simtrica, que se utilizar
jen todos los eslabones debe entrar en accin y desconectar la
para alimentar el amplificador de poten- alimentacin del amplificador de poten-
cia. de la cadena de audio. cia.
A travs de R3, D3, C7 y C8, Para saber si a la salida del am-
obtendremos una tensin cuyo valor debe ser 12 V, la cual plificador existe una tensin de CD peligrosa, R6 y R7 to-
podremos fijar mediante el potencimetro R3. Esta ten- man una muestra de ambos canales de salida de audio.
sin alimenta al subsistema de desconexin automtica. Q1 y Q2 trabajan normalmente en sus regiones activa y
Como habamos visto antes, la tensin de CA ob- de corte. Si la tensin en R6 o R7 crece demasiado, pue-
tenida de TR1 atraviesa tambin R4 y R5, hacia BR2 quin den llevar a Q1 o Q2 al estado de saturacin, desencade-
se encargar de rectificarla y entregarnos una tensin de nando el proceso de desconexin del amplificador.
aproximadamente 2V. Esta tensin alimenta el subsiste- El capacitor C11 se encarga de retardar el mo-
ma de deteccin de corriente directa (CD). mento de conduccin de Q1 o Q2, ya que pueden pre-
//pgina 0x09
.circuitos
sentarse picos de tensin provocados por alto volumen y biar de estado en su pin 3 de salida, provocando el corte
no por problemas o fallas en la etapa de salida. Pero una de Q6 y como consecuencia la saturacin de Q7. De esta
vez que acta cualquiera de los dos transistores, segn la forma se activar RL1, quien interrumpir el suministro de
polaridad de la tensin incidente sobre ellos, el potencial energa a la fuente de alimentacin de nuestro amplifica-
presente en su colector, se drenar a tierra, y el transistor dor. Este conjunto de componentes conforman el subsiste-
entrar en su regin de saturacin. Este hecho ser de- ma de desconexin automtica.
tectado por el circuito formado por R8, Q4 y Q3 quienes Una vez que el sistema de proteccin se ha acti-
entrarn en saturacin obtenindose un estado lgico bajo vado, permanecer en este estado, interrumpiendo la re-
en el colector de Q4 que est alimentado por R9. Hasta conexin del amplificador. Esto se logra gracias a que la
aqu tenemos todo el subsistema de deteccin de tensin alimentacin del subsistema de desconexin automtica,
de CD a la salida del amplificador. se toma a travs de R3, antes de los contactos del rel.
Al saturarse Q3 y Q4, provocan que Q5 entre en Bsicamente este es el funcionamiento del sistema
corte y se eleve el estado lgico de los pines 2 y 6 del CI de proteccin, el que podremos acondicionar fcilmente a
555, segn la constante de tiempo del conjunto R10-C15. nuestros sistemas de sonido, con un poco de imaginacin
Una vez que en los extremos de C15 se hayan superado e ingenio, dotndolo de las prestaciones de los equipos de
los 2/3 de la tensin de alimentacin del CI 555, este cam- primera lnea.
//pgina 0x0A
.teora //Diego Mrquez Garca-Cuervo
fundamentos de
la transmisin sincrnica
Una visin general de qu es, para qu sirve y cmo se utilizan las Transmisiones
Sncronas. Para acercarnos de forma clara a qu es una transmisin Sncrona
vamos a utilizar una forma indirecta de atacar las cosas, comenzando por su
antagonista por naturaleza: la transmisin Asncrona
Primero dmosle un vistazo a su propio nombre de microsegundos transcurridos tendr disponible el pri-
y veamos qu significa esa palabreja de Asncrona. Eti- mer bit transmitido por el emisor, y tras otro igual nmero
molgicamente significa exactamente sin reloj o sea que de microsegundos tendr el segundo bit y ... as hasta el
no hay ninguna seal que marque los tiempos en que los ltimo bit que debe recibir.
datos deben leerse o estn disponibles. Se detecta el primer flanco de bajada y a partir de
Esto significa que en una transmisin asncrona ah solo debe mirar, cada plazo de tiempo acordado, en
tanto la informacin transmitida como los tiempos en que qu estado est la lnea de transmisin, si alto o bajo, para
sta debe leerse son solo uno y todo va junto. El mejor asignar ese valor a cada uno de los bits a recibir.
ejemplo de este tipo de transmisin es la transmisin serie De esta forma cuando decimos que una comuni-
RS-232. En esta forma asncrona de transmitir informa- cacin RS232 es a 8 bits y a 9600 baudios lo que estamos
cin binaria cada bit es representado por un estado Alto o diciendo es que vamos a recibir 8 estados consecutivos
Bajo de la lnea de transmisin durante un tiempo prede- de la lnea de transmisin, separados cada uno de ellos
terminado. Este tiempo debe ser siempre 1/9600 segundos, o sea un estado cada
el mismo, dentro de los mrgenes de to-
Asncrono no significa 104 microsegundos, siendo el primero el
lerancia normales y que son de aproxima- estado que tenga tras los primeros 104
damente de un 2% del valor nominal. sin tiempo sino bien al microsegundos transcurridos desde el
Fijaos por tanto que esto de Asn- contrario: significa con primer flanco de bajada.
crono no significa sin tiempo sino bien al tiempos perfectamente A 19.200 baudios el tiempo de
contrario: significa con tiempos perfecta- cada bit ser la mitad, 52 microsegundos,
mente definidos y acordados de antema-
definidos y a 4.800 baudios ser el doble o sea 208
no ya que de otra forma no habra manera microsegundos. A esta unidad de tiempo
de poner de acuerdo al emisor y al receptor en cuanto a la conocemos como el ETU de una transmisin, iniciales
cuando est disponible cada bit para su lectura. de Elementary Time Unit (Unidad de Tiempo Elemental).
El sistema asncrono funcionara entonces as: Abajo podemos ver una representacin grfica de esto
En cuanto el receptor detecta el primer cambio de esta- que estamos tratando, la transmisin Asncrona de un
do, una lnea que pasa de alto a bajo por ejemplo en el byte compuesto por 8 bits (un tpico 8N1 a 9.600 baudios).
RS232, sabe con total seguridad que tras cierto nmero
//pgina 0x0B
.teora
Una conclusin a la que podemos llegar despus de ex- Esta forma de transmisin tiene una clara ventaja,
puesto todo esto sobre la transmisin Asncrona es que y es que no es necesario poner de acuerdo en velocidad
es imprescindible saber a priori a qu velocidad vamos alguna a emisor y receptor de la transmisin. El emisor
a recibir los distintos bits para ajustar nuestra rutina de coloca su bit y genera el pulso en el reloj, el receptor de-
recepcin a dicha velocidad y mirar as la lnea de trans- tecta el reloj y mira el estado del bit, y as uno tras otro, a
misin en su momento justo, ni antes ni despus, para re- cualquier velocidad, a distinta velocidad cada bit, a toda
cibir cada uno de los bits en el momento en que realmente la velocidad posible. Hay pulso significa hay dato, leo y a
les corresponde. Cualquier error en el clculo dichos tiem- esperar otro pulso, ms lento o ms rpido es irrelevante
pos puede hacernos leer bits fantasmas, debido a que solo es importante aquello de pulso-dato y a empezar de
leemos dos veces un mismo bit o porque nos salteamos nuevo.
alguno de ellos. La nica limitacin es que al receptor le debe dar
Y por fin llegamos a nuestra Transmisin Sncro- tiempo a leer el estado de cada bit tras detectar el pulso
na de datos. de reloj antes de que aparezca un nuevo pulso.
Sncrono significa con reloj y exactamente Notad que en estos ejemplos estamos utilizando
eso es lo que necesitamos, un reloj (o dicho en ingls un la lgica negativa es decir que detectamos los pulsos es-
Clock). La transmisin sncrona necesita de dos lneas, tando la lnea en alto cuando cae a bajo, o sea recibiendo
una de datos sobre la que se van a representar los dis- primero un flanco de bajada y despus uno de subida para
tintos estados de los bits a transmitir y una de reloj donde conformar un pulso.
vamos indicando cuando est disponible cada bit en la Todo lo que estamos tratando sera exactamente
lnea de datos. Esta lnea de reloj es la de sincroniza- igual con los pulsos al revs, en lgica positiva con el
cin entre ambos dispositivos, el emisor y el receptor de flanco de subida primero y el de bajada despus. Esta
la transmisin. configuracin con las lneas en alto y dando pulsos ne-
De esta forma, una transmisin sncrona consiste gativos es la ms utilizada debido a la estabilidad y resis-
exactamente en poner el estado de un bit en la lnea de tencia al ruido que tienen. Se consigue conectando una
datos, generar un pulso de subida y uno de bajada en la resistencia a VCC para que mantenga la lnea a estado
lnea del reloj, poner otro estado de bit en los datos, vol- alto y nuestro emisor genera los pulsos poniendo la lnea
vemos a dar un pulso de subida y bajada en la del reloj... a GND. El receptor est constantemente recibiendo el es-
y as hasta completar el nmero de bits que deseemos tado alto y detecta cada pulso cuando pasa a bajo. Este
transmitir. es el concepto de Pull-Up.
pgina 0x0C
.teora
Cdigo: Cdigo:
#define OUT_CLOCK PIN_B0 #define IN_CLOCK PIN_B0
#define OUT_DATA PIN_B1 #define IN_DATA PIN_B1
pgina 0x0D
.nota de tapa //Ariel Palazzesi
.Elementos Necesarios
Para encarar la realizaron de un PCB, deberemos
tener a mano una serie de elementos que resultan indis-
pensables para dicha tarea.
El diseo o dibujo de nuestro circuito impreso. Que
podremos realizar utilizando algn programa especializa-
La impresin
do, como Eagle, Orcad, o hasta con el mismsimo Micro- debe ser lser..
soft Paint incluido en todas las versiones de Windows. El tner de la im-
El papel. Los mejores para el procedimiento descrito presin es el que
formar las pistas
son aquellos utilizados para imprimir revistas o catlogos,
de nuestro PCB.
consiga alguno que sea delgado, pero no demasiado, por-
que el calor de la impresora puede deformarlo y con ello
atentar contra el resultado final. No tiene por que ser papel
virgen, puede estar impreso. La prctica y el uso de distin-
tos papeles le llevar a encontrar el mejor para usted. La placa donde haremos el PCB.
Se consiguen fabricadas en pertinax
Impresora LASER. Luego necesitamos una impresora o sobre fibra de vidrio.
LASER o una fotocopiadora. Como veremos ms adelan-
te, el tner de la impresin es el que formar las pistas de
nuestro PCB. Si no disponemos de una, podemos usar
cualquier impresora, y llevar el impreso a una fotocopiado-
ra y hacer una copia. Las fotocopias tambin son hechas
mediante tner, por lo que gracias a este procedimiento
nos haremos de un original para nuestro PCB.
La placa virgen o PCB. Tambin debemos comprar
en una tienda especializada en componentes electrnicos
(donde compramos los dems componentes para nues-
tros circuitos) una placa de PCB virgen, del tamao ade-
cuado para nuestro proyecto. Estas placas generalmente
se consiguen fabricadas en pertinax o sobre fibra de vi-
drio. Cualquiera de las dos sirve.
pgina 0x0F
.nota de tapa
//pgina 0x10
.nota de tapa
remos para ello el polvo limpiador y la lana de acero, que .Eliminado el cobre no deseado
debe ser lo ms fina posible para que no queden rayas
profundas. Algn agente qumico puede resultar til, como por El proceso que llevaremos a cabo a continuacin
ejemplo un limpia metales y un trapo en lugar de la lana de tiene como fin eliminar todas las zonas de cobre que so-
acero. Podemos probar distintos mtodos, de acuerdo a los bran de nuestra placa virgen, es decir, las que no estn
elementos que tengamos a mano. Mientras llevamos a cabo cubiertas por el tner.
esta tarea, podemos aprovechar y enchufar la plancha para Para ello, pondremos algo de agua en el recipien-
que vaya tomando temperatura. te metlico que mencionamos al principio de la nota, y
Es importante aclarar que algunas marcas de limpia- dentro de l ponemos el recipiente plstico con el perclo-
metales depositan sobre el cobre una pelcula protectora, para ruro. Ponemos todo el conjunto en una hornilla, a fuego
evitar que el oxigeno presente en el aire oxide el metal, mante- mnimo, como para que el agua caliente a unos 40 50
nindolo brillante durante mucho tiempo. Pero esa mis- grados el percloruro que se encuentra en el recipiente
ma capa protectora puede hacer que el percloruro plstico. El calor har las veces de un catalizador positivo,
sea incapaz de atacar el cobre, as que tam- provocando que el percloruro ataque con mayor velocidad
bin aqu debemos probar entre distin- las zonas de cobre desnudo.
tas marcas. De todos modos, el uso Ponemos la placa dentro del percloruro, y espe-
de la lana de acero da excelentes ramos unos 5 10 minutos hasta que el cobre que esta
resultados con poco trabajo. sin cubrir desaparezca. A veces, da buen resultado mover
Una vez que el cobre suavemente la placa durante este tiempo, para evitar que
est limpio, alinearemos sobre el percloruro que ya se combin con el cobre se deposite
el PCB el papel con la impre- sobre la placa y acte como un aislante que evita el con-
sin que hemos hecho, con el tacto del PCB con el percloruro sin combinar.
dibujo de las pistas hacia el
Lana de acero fina, cobre (debemos ver la parte
o Virulana. sin imprimir), de manera que
cuando apliquemos calor, el Ponemos la placa
toner se funda y se transfiera al cobre. dentro del percloruro.
Una vez colocado el papel sobre la placa, lo po-
demos fijar con cinta adhesiva por el otro lado de la placa,
evitando con ello que el papel se corra durante el proceso
de planchado y se estropee el circuito.
Con la plancha bien caliente planchamos la hoja
durante uno o dos minutos, aunque este tiempo puede va-
riar de acuerdo al tipo de tner y la temperatura exacta de
la plancha, con lo que casi todo el toner se habr pegado
a la cara de cobre del PCB.
Usamos algo no me-
Para remover el papel del PCB sumergimos la tlico para moverla
placa en agua del grifo durante unos 5 o 10 minutos (de-
pende del tipo de papel), y luego con los dedos o un tra-
po mojado iremos desmenuzando el papel con cuidado
hasta eliminarlo por completo del PCB. En este momento
deberamos tener la placa con el dibujo listo. Solo resta
asegurarnos que todas las pistas y nodos se hayan calca-
do correctamente, y que no hayan quedado pedacitos de
papel que puedan evitar la accin del percloruro, dando
lugar a cortocircuitos en nuestro PCB terminado.
El papel comienza
Listo! Ya no
a desmenuzarse.
queda cobre por
eliminar.
//pgina 0x11
.nota de tapa
.Consejos Finales
Para terminar, vamos a mencionar algunos con- PCB agujereado. Solo resta montar
los componentes.
sejos para que nuestro trabajo resulte ms prolijo y satis-
factorio.
Para dibujar el PCB en el ordenador, se puede utilizar
programas comerciales de uso general, como Corel Draw, Cuando hagamos nuestros dibujos, podemos pintar
Autocad, o incluso el sencillo Paint, siempre cuidando de los espacios que quedan entre componentes o entre pis-
que las dimensiones de los objetos que dibujemos sean tas, para que sea menor la superficie que debe atacar el
las correctas. percloruro. Esto har que el tiempo necesario para llevar
No es mala idea imprimir en un papel comn una copia a cabo la tarea sea menor, y que el percloruro nos sirva
y sobre ella medir los componentes para ver si las dis- para un mayor nmero de placas.
tancias entre pines son las adecuadas. Existen programas El liquido sobrante debemos guardarlo bien tapado, en
especficos para la realizacin de PCB, como PCBWizard, un lugar fresco y si es posible que no est expuesto a la
Pad2Pad, FreePCB o Spicycle, algunos de ellos disponi- luz del sol directa, para evitar que se degrade prematura-
bles en forma gratuita. De todos modos, si nuestro proyec- mente.
to no es muy complejo, se puede realizar el diseo del PCB Por favor, sea responsable al eliminar los restos de los
tranquilamente sin necesidad de software especializado. productos qumicos empleados.
//pgina 0x12
.tutorial //Carlos Ortega Sabio
El PIC12F675 es un microcontrolador, que como dido de dos testigos indicadores (diodos LED) y adems
todos sus hermanos incorpora una serie de perifricos en activar un rele.
su interior. Estos mdulos son circuitos especializados. Los pines del modulo I/O se pueden configurar
En sucesivos artculos iremos viendo con que mdulos como entrada o salida digital, exceptuando el pin 4 (lla-
cuenta y como hacer uso de ellos, lo que nos dar una mado GP3), que solo funciona como entrada. Como no
idea de sus posibles aplicaciones. lo usamos, lo conectaremos al plano de masa (GND). El
Al igual que el resto de los PICs, estn diseados resto de los pines que queden sin usar sern configurados
siguiendo la arquitectura Harvard, donde la memoria de como salidas y los dejaremos sin conexin o al aire. Y
datos est separada de la de programa. Y tambin son como seguramente habrn visto en la hoja de datos, las
RISC (Reduced Instruction Set Computer), por lo que tie- patitas del micro adems del numero de orden del pinout
nen un juego reducido de instrucciones, compuesto por tambin tiene nombre especifico (GP seguido de un nu-
solo 35 de ellas. Este valor puede variar, mero). En este caso hay que tener espe-
dependiendo de la familia a la que perte- El 12F675 pertenece a la cial cuidado ya que en esta familia se les
nezca un PIC en particular
familia de micros ena- da un nombre distinto al resto de familias
El 12F675 pertenece a la familia de microprocesadores PIC.
de micros enanos de Microchip. Tiene nos de Microchip. Tiene Utilizando el modulo WDT nos
solo 8 pines, 1024 Word de memoria solo 8 pines, 1024 Word aseguramos que se generar un RESET
Flash (tambin llamada memoria de pro- de memoria Flash (tam- interno del PIC en caso de que se produz-
grama), 64 Bytes de memoria RAM, 128 ca algn bloqueo del programa causado
Bytes de memoria EEPROM y se puede
bin llamada memoria de por efectos desconocidos (normalmente
conseguir en distintos encapsulados. Es programa), 64 Bytes de ruido elctrico). El modulo WDT necesi-
econmico, y aunque solo tiene 6 pines memoria RAM, 128 Bytes ta contar tiempo y lo hace reservndose
aprovechables, se le puede sacar buen
de memoria EEPROM y para l el Timer0. Cuando el Timer0 se
partido para usarlo como descarga de desborda, el WDT nos genera un RE-
procesos de un microcontrolador ms se puede conseguir en SET, as que para que esto no ocurra du-
grande o como cerebro de distintos au- distintos encapsulados. rante el funcionamiento normal del pro-
tomatismos simples. grama tenemos que borrar el WDT. Esto
En este proyecto utilizaremos los siguientes m- a su vez reiniciar el Timer0. sta operacin tenemos que
dulos internos del PIC: procurar hacerla antes que termine de contar el tiempo
-El reloj interno trabajando a 4Mhz. que se le program.
-El modulo de entradas y salidas (I/O). Para refrescar el WDT se siguen tres sencillas re-
-El modulo Watchdog (Perro Guardin), este mo glas, y son las siguientes:
dulo lo nombraremos como WDT. 1) Se comenzar a refrescarlo en la rutina principal del
-El Timer1. programa.
Al utilizar su generador de reloj interno nos ahorra- 2) A lo largo del programa se refrescar el menor nmero
mos el cristal de cuarzo y sus dos condensadores asociados. de veces posible.
Con su modulo I/O programado especialmente 3) Siempre se evitar refrescarlo en la rutina de interrup-
podremos setear la entrada de 220AC, controlar el encen- ciones (si las hay).
//pgina 0x13
.tutorial
El Timer1 lo utilizaremos para generar unas bases ese tiempo el circuito depender del interruptor de encen-
de tiempos que nos servirn para controlar el parpadeo dido de la lmpara del WC.
de los led, refrescar las salidas y controlar cada cuanto Pasados estos primeros 30 segundos queda en
tiempo se ejecutan las rutinas del programa en general. modo de lectura de la alimentacin por la entrada GP2.
Cuando el programa detecta que la alimentacin cae, ac-
.Objetivos: tiva el rele aprovechando la carga de C6. De este modo
todo el circuito pasa a estar alimentado directamente de
El propsito general de este automatismo es el la lnea de 220VAC a travs de los contactos del rele, co-
de controlar un ventilador, usado como extractor para el menzando un periodo de temporizacin de 2 minutos de
cuarto de bao. El circuito tiene que cumplir tres requisitos duracin.
bsicos: Cuando este tiempo a transcurrido, el PIC corta
1 Cuando est en reposo, el automatismo no la alimentacin del rele, y este pasa al estado de reposo.
puede tener consumo alguno. Si el interruptor de la pared que controla la lmpara est
2 El circuito ser controlado por un PIC enano, abierto, el circuito pierde la alimentacin y todo queda sin
el PIC12F675 energa. En caso de que el interruptor siga cerrado, el cir-
3 Deber ser capaz de controlar un ventilador de cuito espera 1 segundo y luego pasa de nuevo al modo de
220AC o 12V/<180mA. seteado de la alimentacin, quedando en este estado de
La funcin que realizar el circuito se llevara a monitorizacin de la red elctrica esperando a que esta
cabo de la siguiente forma: desaparezca para comenzar una nueva temporizacion.
En el estado inicial, con el interruptor que controla
la lmpara principal del bao en la posicin de abierto, .El funcionamiento del circuito:
el rele se encuentra en estado de reposo, tal como se ve
en el esquema. Los conectores CN1 y CN2 se utilizan para ali-
Al energizar la lmpara mediante el interruptor de mentar el circuito desde la toma de la lmpara y para ali-
la pared, queda tambin alimentado el circuito. El rele no mentar la lmpara respectivamente, para no tener que ha-
se activa hasta pasados 30 segundos, por lo que durante cer modificaciones en la instalacin elctrica de la casa.
//pgina 0x14
.tutorial
El conector CN3 es una toma de corriente de 220 AC C2 es el condensador de desacople del PIC. Este
directa de red. condensador es tan valioso como el mismo PIC as que no
Cuando se activa el rele, sus contactos suminis- se puede suprimir y ha de estar lo mas cerca posible de
tran la energa tanto al circuito como al ventilador 220VAC los pines de alimentacin del integrado.
conectado al CN5, quedando todo alimentado desde la Los LEDs solo se utilizan para saber en que es-
red de forma directa. R9 es un varistor de 275V, y es un tado se encuentra el circuito (a la hora de programar esto
estupendo filtro de red. nos ayuda mucho para encontrar errores en el cdigo del
Despus del puente rectificador pueden verse los programa), se pueden suprimir ya que el circuito estar
condensadores C4 y C1, que son el filtro de la fuente. Si- oculto.
guiendo con el circuito del ventilador de CC, es muy im- El calculo de las resistencias (R8, R7) limitadoras
portante colocar el condensador C3/10nF para disminuir de los diodos LED se har de la siguiente forma:
el ruido que genera el motor elctrico y que es inyectado R = (5V-1.2V) /0.015A,
en la fuente. Este condensador tiene que estar lo mas cer- Este es un clculo genrico, siendo 5V la tensin
ca posible de los contactos del CN4. de alimentacin, 1.2V el voltaje de la unin
Para que el PIC pueda comprobar Para que el PIC pueda del diodo LED (que vara segn su color),
la perdida de alimentacin se usa un divi- comprobar la perdida y por ultimo 0.015A es el la corriente que
sor de tensin compuesto por R4 y R5, deseamos atraviese el LED.
de alimentacin se usa Para calcular la resistencia (R1)
mas la capacidad C7 para dar algo de
estabilidad a la seal. Tambin nos apro- un divisor de tensin de polarizacin del transistor se utiliza
vechamos del diodo interno limitador que compuesto por R4 y una formula tambin genrica:
tiene este pin y que nos limita la tensin R5, mas la capacidad C7 R1 = (5V-0.6V) / 0.001A,
(5.5v) que le llega desde el exterior. D1 y Debemos recordar que el valor
C6 nos permiten prolongar la alimentacin
para dar algo de esta- de 0.001A solo es aproximado. Para es-
del PIC frente a cadas de la alimentacin. bilidad a la seal. tar seguros que el transistor estar tra-
C4 tiene que ser de menor capacidad que bajando en saturacin, el proceso es tan
C6, y se aade R2 que ayuda a la descarga de C4, para simple como multiplicar el valor de la co-
hacer que en el caso de ausencia de tensin el PIC pue- rriente de polarizacin (en este caso 1mA) por la ganancia
da detectar esta cada antes de quedarse sin alimenta- en corriente del transistor (presente en su hoja de datos).
cin, sobre todo en el caso de no utilizar un ventilador de 5V es la alimentacin, y los 0.6V corresponden a la cada
12VDC. de tensin entre los extremos de la unin base/emisor de
IC2 es un conocido estabilizador de tensin de un transistor de silicio.
5V/1A (7805CV), que es complementado por C5. La resistencia limitadora R3 de 1/2W en serie con
Q1 se encargan de suministrar la corriente nece- el motor limita los picos de tensin durante el arranque.
saria para alimentar el rele, ya que el microcontrolador no Es recomendable colocarla cuando se trabaja con moto-
tiene suficiente potencia para hacerlo directamente. res y las fuentes de alimentacin estn demasiado justas
D2 absorbe los picos inversos de corriente que de corriente. Se encarga de limitar la corriente del motor
se producen al alimentar la bobina del rele, no se puede durante el arranque ya que esta es muy elevada con res-
suprimir del esquema, ya que el transistor seria destruido pecto a la corriente de trabajo indicada en el ventilador por
con el tiempo. el fabricante.
Este es el PCB que albergar los componentes. Posicin de cada componente sobre el PCB.
//pgina 0x15
.tutorial
*********************************************************************************************
NOMBRE: Temporizador_WC_13
MICRO: PIC12F675
DESCRIPCION: Automatismo para el control de un ventilador de WC, deteccin por entrada digital
FECHA/AUTOR: By COS, 09/06, 10/06
Version 1.0
oscilador interno
versin 1.1 soft, versin 1.1 hard, compatible versin 1.0 de soft con versin 1.1 de hard
Cambio del soft para emplear una entrada que detecta perdida de alimentacin en la lmpara
simplificacin del disparo del rele
modificacin del sistema de control de las salidas
Versin 1.3
se activa el WDT
se cambia la rutina del control de flash de los led para hacerlos independientes uno del otro
**********************************************************************************************
************************ Declaracin de variables ******************
Dim timer_base As Word base patrn para los timer
Dim timer_base_aux As Word establece el tiempo en mSeg, en el que se basaran los timer
Dim contador As Byte variable que controla la fase en la que se encuentran las tempori-
zaciones
Dim timer1_sg As Word primera base de tiempos, para el control de rutinas
Dim timer1 As Word indica el tiempo para la base timer_sg
Dim led_flash_verde As Byte permite que se ejecute la rutina que se
encarga del parpadeo del led verde
Dim led_flash_rojo As Byte permite que se ejecute la rutina que se
encarga del parpadeo del led rojo
Dim flash_verde As Byte indica dentro de la rutina si el prximo
estado del led apagado o encendido, verde
Dim flash_rojo As Byte indica dentro de la rutina si el prximo
estado del led apagado o encendido, rojo
Dim rele As Bit controla el estado del rele
Dim ledverde As Bit controla el estado del led verde
Dim ledrojo As Bit controla el estado del led rojo
************************* Asignacin de valores de las variables *******
timer_base = 0 inicializa el timer_base
timer_base_aux = 1000 establece el desbordamiento de timer_base, 1Seg
contador = 0 establece la fase cero del programa main
timer1_sg = 0 inicializa el timer1_sg
timer1 = 30 establece el desbordamiento de timer1_sg, 30Seg
led_flash_verde = 1 flash del led verde habilitado
led_flash_rojo = 0 flash del led rojo deshabilitado
flash_verde = 0 estado inicial del flash del led verde
flash_rojo = 0 estado inicial del flash del led rojo
rele = 0 estado inicial del rele, off
ledverde = 1 estado inicial del led verde, on
ledrojo = 0 estado inicial del led rojo, off
************************ Inicializacin de registros generales y de E/S *********
VRCON = 0x00 vref off (power off the comparator voltage)
ANSEL = 0x00 off ADC
TRISIO = 0x00 tri-state pins, are outputs
GPIO = 0x00 clear port
GPIO.5 = 1 pin a 1, maniobra invertida, activa a cero
GPIO.4 = 1 pin a 1, maniobra invertida, activa a cero
GPIO.1 = 1 para mantener la compatibilidad con la ver. 1.0 de hard
TRISIO.2 = 1 GP2 pin, is input
CMCON = 0x07 comparator off
WaitMs 10 pausa de 10mSeg.
*********** habilitacin de interrupciones y programacin del timer1 ****
INTCON.PEIE = 1 bit de habilitacin de interrupciones de perifricos
T1CON.TMR1ON = 1 bit de habilitacin del temporizador timer1
T1CON.TMR1CS = 0 bit de seleccin de reloj para el timer1, interno Fosc/4
INTCON.T1IE = 1 bit de habilitacin de interrupcin de TMR1 por rebose
T1CON.T1CKPS0 = 0 bit de seleccin del prescaler para el reloj del timer1
T1CON.T1CKPS1 = 0 bit de seleccin del prescaler para el reloj del timer1
//pgina 0x16
.tutorial
TMR1H = 0xfc carga el byte alto del registro del tiemr1 (1mSeg)
TMR1L = 0x18 carga el byte bajo del registro del timer1 (1mSeg)
PIE1.TMR1IE = 1 activa la interrupcin del timer1
OPTION_REG.T0CS = 0 selecciona reloj interno para el WDT
OPTION_REG.PSA = 1 asigna el prescales al WDT
OPTION_REG.PS0 = 1 bit de la seleccin del factor de divisin para el WDT
OPTION_REG.PS1 = 1 bit de la seleccin del factor de divisin para el WDT
OPTION_REG.PS2 = 1 bit de la seleccin del factor de divisin para el WDT
INTCON.T0IE = 0 deshabilito interrupcin por el trm0
Enable INTCON.GIE=1, habilita las interrupciones generales
//pgina 0x17
.tutorial
Endif
timer_base = 0 se reinicialaza el valor de la base de tiempos patrn
Endif
Endif
TMR1H = 0xfc carga el registro del timer1, para que desborde cada 1mSeg.
TMR1L = 0x18
PIR1.TMR1IF = 0 borra el flag de salto del tmr1
Resume activa las interrupciones y retorna al programa
Nota: El programa ha sido escrito para el Basic del Pic Simulator IDE, se puede obtener
una versin gratuita funcional por tiempo limitado desde http://www.oshonsoft.com/
//pgina 0x18
.informacin tcnica //Marcos Lazcano
Los displays LCD permiten que nuestros proyectos tengan una presentacin pti-
ma, a la vez que le proporcionan mayores funcionalidades al operador.
En esta nota veremos cuales son sus caractersticas principales y aprenderemos
como utilizarlos.
//pgina 0x19
.informacin tcnica
ramente nos encontraremos en problemas al querer
representar un carcter que no existe en su tabla.
De todos modos para estos casos se puede utili
zar la memoria de generacin de caracteres, llama
da CGRAM en la jerga de los displays LCD. Esta
memoria nos permite generar solo 8 caracteres
definidos por el usuario, as que no se puede
abusar de la misma.
Adems la generacin de estos caracte
res se debe realizar cada vez que se inicia el
display LCD, cargndolos uno por uno en las
posiciones de memoria CGRAM, para luego
al utilizarlos el display los tomara de all y los
colocara en la memoria de display, llamada DDRAM,
que es la misma que se escribe cuando enviamos un
carcter para su visualizacin.
La nica diferenciacin que existe entre el uso de
la tabla de caracteres de ROM y los caracteres ge
nerados en CGRAM es que estos ltimos no quedan
grabados en el display, ya que es memoria voltil,
por lo tanto debern ser cargados cada vez que se
inicializa el display.
En cuanto a su uso, para el display es lo mismo
Tipos de display LCD
del mercado tomar el carcter desde ROM que desde CGRAM.
//pgina 0x1A
.informacin tcnica
//pgina 0x1B
.informacin tcnica
.Conjunto de instrucciones
El controlador HD44780 responde a un conjunto -Hacer parpadear el carcter donde esta posicionado el
especial de instrucciones que le permite configurarlo y uti cursor
lizarlo. -Mostrar o esconder el cursor
Entre las funciones permitidas estn las siguientes: -Desplazar el texto por la pantalla
-Utilizarlo en modo a 4 u 8 bits -Encender y apagar el display
-Borrar la pantalla En la siguiente tabla veremos como sern los valores
-Mover el cursor o mover el texto dejando el cursor fijo a enviar y los estados de los pines de control para hacerlo.
//pgina 0x1C
.informacin tcnica
Secuencia inicializacin para interfase a 4 bits Secuencia inicializacin para interfase a 8 bits
//pgina 0x1D
.circuitos //Mario Mrquez Garca-Cuervo
El LM386 siempre fu una excelente eleccin potencia de audio diseado sobre todo, para usos exigen
para los diseadores al momento de utilizar un peque- tes en telfonos mviles y otros usos portables tales cmo
o amplificador de audio (1W). Notebooks y Palms.
Uno de los aspectos que poda llegar a compli Los amplificadores de audio de Tecnologa Boo
car dicha seleccin era el tamao y costo que significaban mer, fueron diseados especficamente para proveer sali
los pocos, pero necesarios, capacitores electrolticos que da de alta calidad y potencia, con una cantidad mnima de
ste CI requera para su funcionamiento. componentes externos. Gracias a la configuracin puente
National Semiconductor, est comenzando a in (BTL), el LM4890 no requiere en la conexin de salida, los
troducir pequeos CI en encapsulado SMD los que, son clsicos capacitores electrolticos de gran tamao. Esta
capaces de entregar una potencia media continua de un propiedad convierte al LM4890 en el componente ideal
1W sobre una carga de 8 , con una distorsin inferior para el uso en telefona mvil y en aplicaciones de baja
al 1% a partir de una tensin de alimentacin de 5 V. Un tensin, donde un requisito esencial es el consumo mni
claro ejemplo de esto, es el CI LM4890, un amplificador de mo de energa.
//pgina 0x1E
.circuitos
//pgina 0x1F
.tutorial //Ariel Palazzesi
PIC BASIC
La revista uControl contar con varios tutoriales que se irn entregando en captulos,
uno por nmero. En este caso, te ensearemos a programar microcontroladores en
BASIC, usando para ello el compilador PIC BASIC incluido en el PIC SIMULATOR
IDE (PSI). En esta primera entrega, veremos los aspectos ms importantes del
lenguaje.
//pgina 0x20
.tutorial
//pgina 0x21
.tutorial
que es mucho ms claro y fcil de leer. El cdigo que apa ...
rece a la derecha del igual no puede contener instruccio GOTO calculos
nes o comandos. ...
Las constantes (valores que usamos en nuestro ...
programa, y que, por ejemplo, asignamos a las variables)
pueden ser escritas en decimal (directamente el valor), en En el ejemplo anterior, el programa se ejecutar
hexadecimal (anteponiendo 0x o posponiendo H al va hasta encontrar la instruccin GOTO calculos, que har
lor) o en binario (anteponiendo % al valor). Por ejemplo: que se ejecuten nuevamente las instrucciones siguientes
a la etiqueta calculos:. Cabe aclarar que las etiquetas no
DIM A AS BIT son un cdigo ejecutable, es decir, no realizan ninguna
DIM B AS BYTE accin, solo son un marcador del lugar al que se puede
A = TRUE saltar con GOTO.
B = 0x55
B = %01010101 .Operaciones Lgicas y Matemticas
Por supuesto, se pueden asignar nombres a las PIC SIMULATOR IDE dispone de cinco operacio
constantes, usando la instruccin CONST: nes matemticas bsicas, disponibles para las variables
tipo Byte y Word. Estas son la suma (operador +), la sus
DIM A AS WORD traccin (operador -), el producto (operador *), el cociente
CONST PI = 314 (operador /) y el mdulo (operador MOD) .Por supuesto,
A = PI el compilador es capaz de combinarlas para obtener ope
raciones matemticas ms complejas.
Hay tres instrucciones para el manejo individual
de bits, que si bien no hacen nada que no se puede resol DIM A AS WORD
ver con otras instrucciones o smbolos, ayudan mucho en DIM B AS WORD
la lectura del cdigo. Se tratan de HIGH, LOW y TOGGLE, DIM X AS WORD
que ponen el bit en alto, bajo o lo invierten, respectivamen A = 123
te. Importante: Si el bit implicado como argumento de una B = A * 234
de estas instrucciones es un bit de un puerto, el mismo bit X = 2
en el TRIS correspondiente es puesto en cero, y dicho pin X = (12345 - B * X) / (A + B)
queda configurado como salida. Algunos ejemplos:
Es posible calcular races cuadradas (aunque el
HIGH PORTB.0 resultado debe ser entero) con la funcin SQR:
LOW ADCON0.ADON
TOGGLE OPTION_REG.INTEDG DIM A AS WORD
A = 3600
A = SQR(A)
.GOTO
Para las variables de tipo Bit existen siete opera
Esta es una de las instrucciones ms polmicas ciones lgicas disponibles. Solo es posible efectuar una
que se encuentra en todos los dialectos BASIC. GOTO operacin lgica por instruccin; aunque es muy posible
significa literalmente IR A, y sirve justamente para eso: que prximas versiones permitan ms flexibilidad. Est al
desviar el flujo del programa a otro punto. tanto de las novedades! Estas operaciones tambin estn
Para usar GOTO, es necesario poner una etique disponibles para variables tipo Word o Byte. Veamos algu
ta en el lugar al que queremos saltar. Las etiquetas son nos ejemplos:
simplemente nombres terminados en :, tal como se ve a
continuacin: DIM A AS BIT
... DIM B AS BIT
... DIM X AS BIT
calculos: X = NOT A
... X = A AND B
... X = A OR B
... X = A XOR B
... X = A NAND B
//pgina 0x22
.tutorial
X = A NOR B
X = A NXOR B
DIM A AS WORD
DIM B AS WORD
A = A OR B
PORTB = PORTC AND %11110000 controladores (si no, puede leer el resto de uControl),
igualmente vamos a hacer una muy breve descripcin del
circuito.
.Mi primer programa: Un LED parpadeando En primer lugar, vamos a aprovechar el oscilador
interno del PIC16F628A y nos evitaremos
Luego de toda esta introduccin A diferencia de un pro- el cristal y sus condensadores asocia
puramente terica, estamos en condicio dos. El puerto B del micro (pines 6 al 13)
grama de ordenador, est conectado a 8 LEDs mediante 8 re
nes de encarar nuestro primer programa.
A diferencia de un programa de ordenador, donde uno escribe el sistencias de 220ohms, que tienen como
donde uno escribe el programa, lo compila, programa, lo compila, funcin limitar la corriente que circula por
lo ejecuta y ya, en el mundo de los micro los LEDS. Estas sern nuestras salidas.
lo ejecuta y ya, en el Los pines 17 y 18, correspondientes al
controladores hay que, previamente, definir
el tipo de microcontrolador que se va a uti
mundo de los micro- PORTA.0 y PORTA.1 estn conectados a
lizar, cual va a ser su frecuencia de reloj, controladores hay que, pulsadores, que al ser presionados con
cmo va a ser el circuito en que se va a previamente, definir el ducen 5V (un 1) al pin respectivo. Cuan
utilizar el mismo, etc. do estn en reposo, las resistencias R1 y
tipo de microcontrola- R2 se encargan de mantener el pin en 0.
Para estas prcticas, utilizaremos
un PIC16F628A, uno de los ms difundidos dor que se va a utilizar Por ltimo, el pin 1 (PORTA.2) comanda
y que ms o menos viene a reemplazar al un parlante mediante un transistor, para
viejo y popular PIC16F84A, ya obsoleto. hacer alguna prueba con sonidos.
El diagrama circuital que emplearemos para las El circuito debe alimentarse con 5V bien filtrados
primeras prcticas es el siguiente: y regulados.
Si bien se supone que quien est leyendo este Volviendo a nuestro programa, vamos a escribir el
tutorial tiene una buena idea sobre electrnica y micro hola mundo de los microcontroladores: encender un LED.
//pgina 0x23
.tutorial
El primer paso es, desde el men Opciones -> controlador. No es la nica manera de hacer esto, pero si
Select Microcontroller, elegir el PIC16F628A. la ms sencilla desde el punto de vista del programador
BASIC.
Las lneas 003 y 004 convierten todos los pines
del puerto A en entradas ( TRISA = %11111111 ) y los del
puerto B en salidas ( TRISB = %00000000 ). El % indica
que el numero que viene a continuacin esta en binario.
Se podra haber escrito, por ejemplo TRISB = 0 y hubiera
sido lo mismo. Personalmente prefiero el primer modo, ya
que veo el estado de cada pin. Por supuesto, es valido
activar como entrada algunos pines, y como salidas otros,
Lo primero es seleccionar el microcontrolador a utilizar.
haciendo algo parecido a TRISB = %11000111.
Luego, debemos configurar los bits correspondientes: En la lnea 006 encontramos una etiqueta (loop: ).
Esta no hace nada, solo sirve como referencia para enviar
el flujo del programa a esa lnea desde otro lugar, median-
te la sentencia Goto.
La lnea 007 pone en 1 el pin correspondiente a
PORTB.0, de manera que en el pin 6 del microcontrolador
habr 5V. Esta tensin har que circule una corriente a
travs de la resistencia limitadora y el LED1, haciendo que
este se encienda, ya que el ctodo se encuentra conecta-
do a 0V.
En 008 tenemos la sentencia WaitMs 500. WaitMs
se encarga de hacer una pausa en milisegundos. La du-
racin de la pausa est dada por el nmero que sigue a
la instruccin, en este caso 500 milisegundos, o medio
segundo.
Luego, en 009, otra vez se vuelve a poner en 0
el pin 6, mediante PORTB.0 = 0 , lo que provoca que ese
Desde aqu configuramos los fuses del micro. pin se ponga a 0V, y no haya ms circulacin de corriente
Lo destacable por ahora de esta configuracin es a travs de la resistencia y del LED, con lo que este se
que estamos dejando la memoria (FLASH y EEPROM) sin apaga.
proteccin, que el pin RESET se va a comportar como I/O y En 010 se hace nuevamente una pausa de me-
que usaremos como oscilador el oscilador interno INTRC. dio segundo, y por ltimo, la lnea Goto Loop hace que el
Una vez hecho esto, arrancamos el editor de BA programa contine en la lnea 006 (que es donde est la
SIC (presionando CTRL-C, por ejemplo), y escribimos el etiqueta Loop).
siguiente cdigo: El programa se repite indefinidamente, encen
diendo el LED medio segundo, apagndolo otro medio
AllDigital segundo.
TRISA = %11111111 Si presionamos F9 o vamos al men Compile &
TRISB = %00000000 Assemble & Load.
loop:
PORTB.0 = 1
WaitMs 500
PORTB.0 = 0
WaitMs 500
Goto loop
//pgina 0x24
.tutorial
Este es el
resultado de la
compilacin.
PIC SIMULATOR IDE compilara el programa, y nuestro ojo lo percibira como encendido a medias, inca
cargara el archivo .HEX resultante en el simulador. Apa paz de discriminar su verdadero estado.
recer el cuadro de dialogo donde se nos informa, entre Se podra haber utilizado la instruccin SYMBOL
otras cosas, si han ocurrido errores o no, el tamao del para hacer ms claro el programa. En el siguiente ejem
programa (69 words), y la ruta a donde se ubicaron los plo, hemos hecho algunos cambios y obtenido un progra
archivos generados. ma que hace exactamente lo mismo que el anterior, pero
Si volvemos a la ventana principal del PIC SIMU que resulta ms claro de entender, ya que se aproxima
LATOR IDE, y desde Tools -> Microcontroller View, algo ms al lenguaje natural:
abrimos la vista del microcontrolador. Al darle Start a la
simulacin tendremos algo parecido a lo que sigue:
El mismo programa, pero utilizando SYMBOL.
I
//pgina 0x25
.circuitos //Mario Mrquez Garca-Cuervo
Todos los potencimetros mecnicos conocidos Para calcular la frecuencia de oscilacin, debe
tienen, por lgica elemental, un desgaste que depende mos seguir el procedimiento segn la siguiente frmula:
del uso o abuso que se haga de l. Sean rotativos o desli-
zantes, todos sufren este proceso, que trae aparejados ru- Fosc = 1 / 0.7 * (CX) * (RX)
idos molestos, cortes de sonido, subidas o bajadas abrup-
tas de uno o ambos canales y tantos desagradables malos Esta frmula nos dar un resultado expresado en
momentos, que podemos solucionar con este proyecto. Hz, considerando que Rs debe ser mayor o igual a 3 vec
El corazn de nuestra realizacin es el CI PT2253A es RX ( 3 * RX). Los valores de las resistencias se toman
de Princeton Technology Corp., el cual nos ofrece medi en Ohm y los valores de los capacitares en expresados en
ante la utilizacin de dos pulsadores, bajar o subir el nivel Faradios, para obtener el valor correcto.
de una seal de audio, tal como lo haramos con el eje de La conexin bsica del oscilador, en conjunto con
un potencimetro. Es un circuito integrado que posee muy los pulsadores, se realiza tal como lo muestra el circuito.
baja distorsin de salida, puede ser alimentado con ten
siones entre 6V y 12 V, en forma simple o simtrica y es
capaz de controlar por pasos de 2dB desde -68dB hasta
0dB. Viene en un encapsulado DIL de 16 pines, incorpo
rando en el mismo chip, el sistema completo para ambos
canales de audio, adems de ser el CI que actualmente se
utiliza en la mayora de los mini-componentes, para con
trolar el volumen.
La atenuacin puede ser aumentada o decremen
tada, dependiendo del estado del pin 10, U/D (Up/Down),
por la actuacin del oscilador incorporado que posee el CI.
La frecuencia de este oscilador determinar la ve
locidad con que actuar nuestro potencimetro digital.
El siguiente grfico, extrado de la hoja de datos
del IC, nos permite entender la importancia de una fre
cuencia de oscilacin acorde a nuestras necesidades.
//pgina 0x26
.circuitos
pio pulsador. De esta forma queda activado el oscilador, VSS estar a GND y los pines denominados Analog-GND,
sin influir en absoluto en el pin U/D. Gracias a los dio se alimentarn a travs de un divisor resistivo como se ve
dos D1 y D2 y a la polarizacin interna de la resistencia en el circuito de la figura 2, formado por dos resistencias
de pull-up integrada en el chip, se mantendr U/D en un de 22K y un capacitor electroltico de 100uF.
estado lgico alto. Esto provocar que el IC interprete la Como comentario final podemos agregar que no
instruccin de decrementar la atenuacin, permitindonos debemos olvidarnos de apantallar muy bien las conex
subir el volumen. iones de entrada y salida, as como tambin las partes in
Si por el contrario, pulsamos para bajar el volumen ternas de la placa donde realicemos nuestro circuito, para
(DOWN), el circuito del pin oscilador se cierra a travs de evitar ruidos captados por malas conexiones.
RX, D2 y el propio pulsador. Mientras que simultnea Una fuente bien filtrada y listo! , nuestro po
mente, el pin U/D pasa a un estado lgico bajo, a travs tencimetro digital, sustituyendo el ruidoso y viejo poten
de D1 y el propio pulsador DOWN. Esto ser interpretado cimetro mecnico.
como que se debe aumentar la atenuacin, provocando
Diagrama completo del Potencimetro Digital
una disminucin del volumen.
Vemos adems en el grfico,
los valores elegidos para RS, RX y CX.
Cada vez que se inicialice la al
imentacin en el CI, ste adoptar una
atenuacin de -40dB, por defecto.
Cabe agregar, que por cada
canal, el CI posee dos atenuadores,
los cuales uniremos entre s para lograr
nuestro control y lo haremos a travs
de cualquier operacional doble, com
patible con la serie de bajo ruido de los
TL082, que en el circuito de la figura 1
aparece como U1. Esta unin de am
bos atenuadores nos permite lograr los
valores de -68dB a 0dB.
Ahora slo nos resta elegir el
tipo de alimentacin que implementar
emos.
Una alimentacin simple de 9V 12V la
encontraremos prcticamente en cual
quier equipo al que queramos dotar con
nuestro proyecto. Con esta eleccin,
//pgina 0x27
.teora //Ariel Palazzesi
registros de desplazamiento
A menudo debemos resolver situaciones en las que el nmero de salidas di-
sponibles en el microcontrolador que estamos usando es insuficiente. Una man-
era sencilla de controlar varias salidas a partir de unos pocos pines consiste en
la utilizacin de los llamados registros de desplazamiento. Pero sabes qu son
y cmo emplearlos?
//pgina 0x28
.teora
.El 74HC164N
Existen varios circuitos integrados que implementan
un registro de desplazamiento en su interior, por ejemplo, el
muy conocido 74HC164N. Este interesante circuito integrado
Figura 6: Este es el estado final de nuestra fila, con
el nuevo integrante en el ltimo lugar.
de la familia TTL viene en diferentes sabores, de acuerdo a
parmetros como: velocidad, temperatura de operacin, vol
Si continuaran ingresando personas en la fila, el tajes y corrientes soportadas, entre otros. Dichas caracters
proceso se repetira con cada nuevo integrante que lle ticas dependen de las letras entre el 74 y el 164.
gue. Como el que entra primero es el primero en salir, a Desde el punto de vista tcnico, dentro de este
este tipo de colas se las llama FIFO, por First Input, First integrado se encuentra un registro de desplazamiento
Output (Primero que entra, primero que sale). completo, de 8 bits de largo. Esto significa que se com
Con todas estas cuestiones en mente podemos porta como un conversor serie-paralelo, en el que se intro
seguir avanzando en la comprensin del funcionamiento de ducen pulsos de reloj por el pin CP y los datos en serie por
los registros de desplazamiento. Supongamos que quere los pines DSA y DSB, que son las entradas a una puerta
mos que en la cola haya dos personajes flacos en los prim AND. Las 8 salidas van tomando los estados indicados
eros lugares, luego un gordo, otra vez dos flacos, luego otro por el tren de datos de la entrada. Dispone de un pin (el
gordo por ultimo dos flacos ms (como siempre, 8 personas 9) que realiza la funcin de poner en cero todas las salidas
en total). Sabiendo que cada personaje que ingresa en la (RESET, MR en el esquema de la Figura 9).
cola desplaza a todos una posicin a la derecha, si quer
emos que el que termine ocupando el extremo derecho de
la cola sea un flaco, ese ser el que primero debe entrar. Si
guiendo el razonamiento anterior, los personajes deberan
entrar en la fila en el orden siguiente:
//pgina 0x29
.informacin tcnica //Pedro Palitroquez
//pgina 0x2A
.informacin tcnica
#include <16F84A.h>
#fuses XT,NOPROTECT,NOWDT,PUT
#use delay(clock=4000000)
// programa principal
void main(){
output_a(0x0);
output_b(0x0);
set_tris_a(0x0);
set_tris_b(0x0);
while(true){
for(t=0;t<16;t++){
escribir_4094(t); // enva el nmeros en hexadecimal al display 7-seg
delay_ms(1000);
}
}
}
//**************************************************************
// Funcin escribir_4094
//
// Descripcin: enva serialmente el datode 8 bits de acuerdo al
// argumento caracter y activa las seales de control establecidas
// en el mapa de tiempos del CD4094
//
// datos de entrada: caracter un nmero entero
// datos de salida: ninguno
//**************************************************************
void escribir_4094(int caracter){
int contador_8;
output_low(PIN_A0);
output_low(STROBE);
output_low(CLOCK);
for(contador_8=0;contador_8<8;contador_8++){
output_bit(DATA,bit_test(segmentos[caracter],contador_8));
output_high(CLOCK);
delay_cycles(1);
output_low(CLOCK);
}
output_low(CLOCK);
output_high(STROBE);
delay_cycles(1);
output_low(STROBE);
}
//pgina 0x2B
.informacin tcnica
.El esquema elctrico:
2 C3,C4 100nF Tri-Estado : tres estados lgicos permitidos por una compuerta
digital estado alto, estado bajo y alta impedancia
1 R1 100r dash point: punto decimal que traen los displays 7 segmentos.
//pgina 0x2C
.circuitos //Ariel Palazzesi
Este proyecto puede resultar interesante para del disparo se ajusta mediante ese resistor (SENSIB en
estudiantes y hobbystas, pero considero que para su el esquema) de manera de hacer ms o menos sensible
uso en un sistema de seguridad es insuficiente, ya el sistema.
que no se tiene en cuenta la posibilidad de que, por El circuito integrado NE555, configurado como
ejemplo, se hayan pegado los contactos del rel o la monoestable, permanece en reposo mientras la LDR est
LDR haya dejado de funcionar. Es por esto que uCon- iluminada. Cuando esta situacin cambia, su valor dis
trol no se responsabiliza por posibles fallas o prdi- minuye y el circuito se dispara. Su salida permanece en
das debidas al empleo de este circuito. estado alto un tiempo, que est determinado por valor el
condensador electroltico de 100uF/16V y la resistencia
.El circuito ajustable de 100K (TIEMPO en el esquema).
La salida del NE555, a travs de una resistencia
El circuito es sumamente simple: un LED, cuya de 1K5 excita el transistor 2N3904, que a su vez permite
corriente hemos limitado con una resistencia de 1K en se que la bobina del rel se energice. Cuando el NE555 vuel
rie, ilumina permanentemente a una LDR que se ubica ve al estado de reposo, el transistor vuelve a bloquearse
enfrente. Esta LDR junto con el resistor ajustable de 50K y el rel se desactiva. El diodo en paralelo con la bobina
configura un divisor de tensin que dispara el circuito in del rel est para evitar que la corriente generada en la
tegrado NE555 cuando la LDR est a oscuras. El nivel desconexin dae el transistor.
//pgina 0x2D
.circuitos
El rel es del tipo inversor, as que podemos ele pueden conectar este circuito a una fuente de alimenta
gir conectar el tipo de alerta deseado en el borne normal cin que entregue entre 9V y 12V de corriente continua
abierto (una sirena, por ejemplo) o normal cerrado (una bien estabilizados.
luz que se apagara en caso de incendio).
Hemos agregado un segundo LED, (PILOTO en Montaje y PCB
el esquema) para que sierva como indicador de que el
circuito est alimentado, por si la disposicin del otro LED Para que el armado del circuito sea lo ms fcil
y la LDR son tales que no pueden verse con facilidad. posible, hemos dibujado un circuito impreso y tambin un
En el esquema se ve una batera de 12V alimen esquema con la posicin de los componentes sobre la pla
tando el circuito, lo que lo hace apto para su uso aun en ca. Puedes ver el PCB en la figura 2 y el la posicin de los
cortes de energa. Los que no quieran gastar en bateras, componentes en la figura 3.
Figura 2: Este es el PCB a utilizar. Descargalo de www.ucontrol.com.ar Figura 3: Puedes usar esta imagen para facilitar el montaje.
//pgina 0x2E
.teora //Reiner Torres Labrada
temporizadores programables
El tiempo, la cuarta dimensin, est presente en todo momento, y medir su paso
es un aspecto importante en casi cualquier aplicacin electrnica. Una de las
primeras aplicaciones desarrolladas en el mundo de la electrnica digital fueron
los circuitos para medir el tiempo, y estos adquirieron tal importancia, que estn
presentes en casi cualquier dispositivo electrnico moderno. En nuestro caso,
hablaremos de un grupo especial de estos dispositivos, los circuitos temporiza-
dores de los microcontroladores.
//pgina 0x2F
.teora
Configuracin del reloj: En la mayora de los casos la
fuente de reloj es configurable. Incluso existen microcon
troladores con abundante variedad de formas de configu
rar el reloj, de modo que se puedan obtener distintos tipos
de bases de tiempo.
Interrupciones: En la mayora de casos, los tempo
rizadores tienen interrupciones asociadas, con el objeti
vo de notificar al procesador que ha ocurrido el cruce por
cero o algn valor especfico en el registro de conteo.
Configuracin de activacin
por frente: Permite establecer
cuando se produce el conteo, si en
el frente de subida del reloj o en el
frente de cada del mismo.
//pgina 0x30
.teora
Analizando el esquema de este temporizador po gramador y el perifrico utilizan para lograr un trabajo ade
demos observar que el mismo puede utilizar como fuentes cuado:
bsicas de reloj una fuente externa conectada al pin T0CKI
(el pin especfico en el encapsulado del microcontrolador TMR0: es el registro donde se lleva la cuenta de pulsos
depende del dispositivo) o puede utilizarse la seal de re de reloj que llegan al contador principal del temporizador,
loj interna, generada por el microcontrolador, equivalente es de lectura/escritura.
a un ciclo de mquina (FOSC/4).
La seleccin de una u otra fuente bsica depende INTCON: Es el registro de control de interrupciones,
del estado de un multiplexor digital cuya seal de con se utiliza para habilitar el servicio de interrupciones del
trol es T0CS, a la salida de este multiplexor encontramos microcontrolador y del temporizador, contiene adems
un pre-escalador, que sirve tambin como post-escalador la bandera T0IF, que determina si el temporizador se ha
para el Watch Dog (WD). desbordado.
Un pre-escalador o post-escalador, es un conta
dor cuya base de conteo es configurable, que se coloca OPTION_REG: Se utiliza para establecer la fuente de
antes o despus del contador principal del temporizador y reloj a utilizar, el frente que activa el conteo y para confi
su funcin es dividir la seal del reloj a la entrada o salida gurar el pre-escalador.
del contador principal. Generalmente no se permite leer o
escribir su registro de conteo. .Concluyendo
Existe otro multiplexor digital que nos permite se
leccionar o no el uso del pre-escalador y cuya seal de Hasta ahora hemos visto una breve introduccin
control es PSA. A su salida existe un componente que a la teora de los temporizadores y analizado el esquema
tiene como misin sincronizar el reloj externo con el del funcional y los registros de trabajo del TIMER0 de los mi
dispositivo, en caso que se utilice esta fuente, y al final crocontroladores PIC, es importante que el lector dedique
tenemos la fuente de reloj que ser la que har funcionar tiempo a revisar las hojas de datos y tome nota de las
al contador principal del temporizador. caractersticas de este y otros temporizadores, especfi
El registro del contador principal del temporizador camente para el modelo de dispositivo que pueda tener.
puede leerse y escribirse por software en cualquier mo As podr conocer con mayor nivel de detalle a
mento, sin embargo, existen ciertos detalles a tener en este perifrico.
cuenta en caso de las escrituras. A la salida del contador
principal tenemos la activacin de la seal T0IF, que es Nota del editor:
utilizada para notificar al procesador que se ha desborda En la prxima entrega tendremos un ejemplo concreto
do el temporizador, y en caso de estar habilitadas las in en el que pondremos a trabajar el TIMER0 para implementar un
terrupciones del dispositivo, esta seal activar el proceso reloj, y utilizarlo en una de las aplicaciones tpicas: un reloj digital.
de interrupcin del procesador. Le sugerimos al amigo lector que tenga a mano las he-
Para poder configurar este perifrico y obtener rramientas de su eleccin para poner a punto su reloj con tem-
informacin til sobre l, existen tres registros que el pro porizador versin 0.1.
//pgina 0x31
.circuitos //Ariel Palazzesi
//pgina 0x32
.circuitos
Para motores ms grandes, se debe sustituir el cia variable R2 tiene el valor ms alto. En este caso Tm es
transistor Q1 por uno de tecnologa MOSFET, capaz de tan pequeo que el motor permanece detenido.
manejar picos de hasta 50A. Lo hemos probado con mo En el otro extremo, al llevar al potencimetro a
tores de 12V/3A y funciona sin calentarse, an sin el uso su valor mnimo, Tm adquiere su valor mximo.
de disipador de calor. El circuito para este tipo de motores La forma de onda para este caso, se muestra en
puede observarse en la Figura 2. la Figura 4.
Con un ancho de pulso del 100%, Tm T, el motor
.Funcionamiento del sistema recibir alimentacin de CC casi todo el tiempo, y girar
de control con PWM a su mxima velocidad. Cualquier punto intermedio en
tre estos dos estados es vlido. Logrando, de este modo,
La Figura 3 muestra el aspecto que tiene la seal controlar la velocidad de giro del motor.
de salida del circuito integrado (pin 3) cuando la resisten
Figura 3: Forma de onda de la seal de salida del CI NE555, cuando R2 tiene el valor mximo.
Figura 4: Forma de onda de la seal de salida del CI NE555, cuando R2 tiene el valor mnimo.
//pgina 0x33
.circuitos
1 J1 Bateria 6-12Vdc
1 MG1 MOTOR DC
1 Q1 2N2222
1 R1 1K
1 R2 100K
Figura 6: Puedes
usar esta imagen 1 R3 22K
para facilitar el
montaje. 1 U1 LM555
1 C3 10uF
2 D1,D5 1N4004
3 D2,D3,D4 1N4148
1 J1 Batera 6-12Vdc
1 MG1 MOTOR DC
2 Q1,Q4 2N3906
1 Q2 IRFZ44
1 Q3 2N222
1 R6 22K
1 U1 LM555
//pgina 0x34
Diseo y Diagramacin
azimut.estudio@gmail.com / la plata / bs as / argentina