Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Todo Sobre Microcontroladores Picaxe - Ing. Horacio D. Vallejo
Todo Sobre Microcontroladores Picaxe - Ing. Horacio D. Vallejo
Nº 113
PICAXE:LaNuevaForma
deProgramarunPIC
Desdequeelprimermicroprocesadorviolaluzdelmundo(el4004),ycuyaúnicayprinci-
paloperacióneraunasumade1bit,secomenzóconunacarreratecnológicaquelejosdever
elfin,díacondíasevanlograndocosasinimaginables,taleselcasodelosmicrocontrolado-
resquevendríanaserelejemploresumidoyenpequeñodeunacomputadorapersonal(PC).
Un microcontrolador que puede ser de 8, 18, 28, 40 terminales o más, internamente dentro de
su encapsulado posee como equipamiento mínimo un microprocesador, memoria RAM, y distin-
tas versiones de memoria ROM. Los microcontroladores más avanzados aparte de lo menciona-
do anteriormente también llegan a poseer temporizadores, ADC, DAC, Comunicación en parale-
lo, USAR, etc. En la figura 1 vemos todo lo necesario para programar un PICAXE.
Un microcontrolador, desde el punto de vista de operación, puede considerarse como si fuera
una PC, ya que cuenta con el conjunto básico de implementos que necesita realizar sus funcio-
nes, esto es, microprocesador, disco duro, memoria RAM, etc. Clásicamente, cuando programa-
mos un microcontrolador, de forma implícita se tiene que desarrollar un programa que trabaja a
manera del BIOS de una PC, ya que lo primero que debemos tomar en cuenta es la configuración
de sus puertos ya sea como de entrada o de salida, configurar sus demás herramientas como pue-
den ser los temporizadores, los ACD, etc.
Han aparecido en el mercado sistemas de desarrollo que permiten la programación del micro-
controlador de una manera relativamente fácil, en la cual se puede emular el proceso que nos in-
teresa desarrollar. Para la mayoría de estos sistemas de desarrollo, una vez que se tiene termina-
da la aplicación, el paso siguiente es armar el prototipo e insertar el microcontrolador debidamen-
te programado.
Recientemente ha sido lan-
zado al mercado un sistema
de desarrollo para progra-
mar microcontroladores
PIC llamado PICAXE, que
de por sí quien ha utilizado
estos microcontroladores
pueden constatar lo sencillo
que resulta su programa-
ción, el sistema de desarro-
llo PICAXE hace las cosas
todavía más sencillas para
el programador, ya que se
cuenta con dos opciones de
diseñar una aplicación, una
por medio de diagramas de
Figura 1 flujo y otra es por medio de
“BASIC”, y aunque esto no
Figura 3
Figura 4
ConociendolosMicrocontroladores
deesteSistema
Figura 5
las terminales de un PICAXE de 18 terminales, de las cuales las que se encuentran identificadas
como En 0, En 1, En 2, En 6 y En 7 son dedicadas exclusivamente para adquirir datos del exte-
rior hacia el microcontrolador. Las terminales que se encuentran identificadas de la Sal 0 a Sal 7
son exclusivamente para enviar datos hacia afuera del microcontrolador, mientras que las termi-
nales identificadas como Serial Sal y Serial En se utilizan para programar al microcontrolador.
En el circuito de la figura 7 se muestra la forma de conectar a un PICAXE de 28 terminales,
en donde aparte de las terminales de entrada que se encuentran definidas como En 0 a En 7, tam-
bién se cuenta con las terminales de salida identificadas como Sal 0 a Sal 7, además de 4 termi-
nales para entrada de datos analógicos, y por último las terminales de programación del micro-
controlador.
Ya se ha mencionado que el sistema PICAXE no requiere de programador o borrador, ya que
utiliza únicamente tres alambres
conectados al puerto serie de una
computadora, tal como se describe
Figura 7 en la figura 8.
Una vez que han sido identificadas
las terminales a utilizar en el co-
nector del puerto serie de la PC,
ahora lo que sigue es preparar la
conexión hacia el PIC, tomando en
cuenta las terminales tal como se
observa en la figura 9.
Como se puede apreciar de la figu-
ra 9, se puede emplear (es reco-
mendable) un plug de los utiliza-
dos para conectar los audífonos a
la salida de audio de un walkman o
Figura 8 discman, y tener un cable con un conector DB9
en un extremo y un plug de audio en el otro, tal
como se ilustra en la figura 10.
Por último diremos que para armar el cable de
programación, tal como se muestra en la figura
10, en las figuras 8 y 9 se muestra la configura-
ción de las terminales tanto del conector DB9
como el plug de audio.
Figura 9
Figura 10
UtilitarioGratuito
paraHacerProgramas
al cual, para
comenzar a
programar
los micro-
con tro la do -
res, debemos
hacer un do-
ble click con
Figura 20 Icono de acceso rápido en el el mouse pa-
escritorio de la PC.
ra que se eje-
cute el pro-
Figura 19 Ventana final. grama, tal
como se
muestra en la
figura 20. En
la figura 21 y
22 se obser-
Figura 21 Lenguaje BASIC para progra- va un ejem-
mar los PICAXE. plo del am-
biente gráfi-
co, tanto en
lenguaje BA-
SIC como en
Figura 22 Diagrama de flujo para programar los PICAXE. diagrama de
flujo.
ga disponible el microcontrolador. Para realizar el primer ejercicio vamos a elegir uno de los tres
tipos de microcontroladores PICAXE que se tienen disponibles, que en este primer ejercicio se
trata del PICAXE-18; pero posteriormente se realizarán ejercicios con todos los tipos de micro-
controladores PICAXE.
El circuito propuesto para esta primera experiencia se muestra en la figura 25, en la cual se
tiene 1 entrada y 1 salida.
Para programar el microcontrolador PICAXE la primer acción que tenemos que realizar es
abrir el software de programación llamado “PICAXE Programming Editor” y que previamente
tuvo que ser instalado.
Una vez que hacemos doble click sobre el ícono del software de programación y accedemos
al ambiente de programación, aparece una ventana en donde se configuran las opciones con las
cuales trabajaremos.
Como primer paso, ya que es la primera vez que utilizamos este software, es conveniente se-
leccionar el menú identificado como “Language” ya que aquí es donde se configura el lenguaje
con el cual estaremos interactuando, si desea más detalles sobre esta parte del programa, puede
bajarlo de Internet o adquirir la revista Saber Electrónica Nº 215. De internet, puede bajarlo des-
de nuestra web con la clave “progpicaxe”.
Para empezar a trabajar debemos configuar el programa (es muy sencillo, si lo desea, baje el
tema completo desde nuestra web), seleccionando la opción “Modo” del menú para elegir el PI-
CAXE que vamos a emplear en
nuestro proyecto, qué frecuencia
de operación tendremos (general-
mente 4MHz), etc. Luego, debe-
mos elegir la opción “modo” del
menú para indicar en qué puerto
tendremos el circuito para descar-
gar el programa.
De la figura 26 observamos el am-
biente de trabajo que presenta el
software de programación de los
microcontroladores PICAXE, en el
Figura 23 Figura 24
cual se aprecia un espacio en blan-
co que es donde se in-
gresan las instrucciones
en forma de “BASIC”.
Figura 34
Figura 33
mienta de conexión, en la figura 31 podemos apreciar la conexión completa de todos los bloques.
Si ya terminamos de diseñar nuestro diagrama de flujo y antes de programar el microcontrolador,
es importante saber si el programa va a funcionar, porque recuerden que no es lo mismo “desear”
que el microcontrolador haga lo que según nosotros programamos, a lo que realmente hace en
función del programa que ingresamos.
Existe en el software de los PICAXE la posibilidad de simular el programa, y eso es lo que
vamos a hacer, por lo que seleccionamos el recuadro que tiene el símbolo de una punta de flecha
tal como se ilustra en la figura 31, lo seleccionamos y enseguida aparecerán 2 ventanas, una de
ellas indica el estado lógico que guardan las salidas y entradas del microcontrolador, esta venta-
na aparece en la parte inferior de la imagen de la figura 32.
Los recuadros verdes que se iluminan indican qué salidas están siendo activas con un 1 lógi-
co, mientras que los que aparecen debajo de los cuadros verdes, indican la posición de las seña-
les de entrada al microcontrolador, los cuales cuando se encuentran en la posición inferior signi-
fica que la entrada se encuentra en 0 lógico, y si están en la posición superior la entrada se en-
cuentra en 1 lógico. Por otra parte también se observa que, dependiendo dónde se encuentre la
posición del switch, se iluminará en color rojo la línea que une los diferentes bloques que son
afectados por la respuesta del estado lógico de entrada, y de esta manera podemos visualizar qué
es lo que está sucediendo con nuestro programa.
Una vez que simulamos nuestro programa y observamos que las condiciones del algoritmo se
cumplen (encender un led cuando se tiene un 1 lógico en la entrada y apagar el led cuando se tie-
ne un 0 lógico en la misma entrada), ya estamos listos para dar el siguiente paso, que es conver-
tir el diagrama de flujo a instrucciones de BASIC, para lo cual en la barra de herramientas selec-
cionamos el menú identificado como “Organigrama” y después la opción “Convertir el Organi-
grama a Basic” (de manera rápida pudimos presionar la tecla F5), tema que Ud. puede bajar sin
cargo de nuestra web (www.webelectronica.com.ar).
Ahora lo que tenemos que hacer es conectar el cable, tanto al puerto serie de la PC como a las
terminales del microcontrolador que se indican en el diagrama de la figura 25 para programar al
PICAXE, anteriormente propusimos la manera en cómo se debe construir el cable de programa-
ción, tomando en cuenta las terminales que se deben ocupar.
Para grabarle el programa al microcontrolador debemos dirigir la flecha del ratón a la barra de
herramientas y seleccionar el menú “PICAXE”, después la instrucción “Ejecutar” (o de manera
rápida F5), tal como se muestra en la figura 33. En ese mismo instante aparecerá una ventana in-
dicando que se está llevando a cabo la programación del microcontrolador PICAXE. Cuando se
encuentra en la fase de programación, una barra que irá creciendo nos dirá la cantidad de código
que está siendo descargado hacia el microcontrolador.
Cuando se termina de grabar el microcontrolador aparecerá una ventana que nos indica la fi-
nalización del proceso de programación, figura 34.
Ahora podemos verificar en el microcontrolador, que el programa que diseñamos se encuen-
tra perfectamente bien, por lo que tenemos que oprimir el push - boton y esta acción debe encen-
der el led, y cuando soltemos el push - boton el led se debe apagar. Cualquier otro funcionamien-
to nos quiere decir que debemos revisar nuestro programa y tenemos que regresarnos hasta la eta-
pa en donde diseñamos al diagrama de flujo, ya que algo se encuentra mal.
En esta oportunidad diseñaremos nuestra primera tarjeta de entrenamiento universal para progra-
mar microcontroladores PICAXE, y como en todo comienzo daremos inicio por lo más sencillo
y más pequeño, esto es, los microcontroladores de 8 terminales denominados PICAXE – 08.
En primera instancia recordemos cuál es la configuración de un PICAXE–08, para en función
de ello, tomar en cuenta de cuántas entradas y cuántas salidas podemos echar mano y aprovechar-
las al máximo (figura 35).
Tenemos la oportunidad de disponer de un total de 4 E/S (4 entradas y 4 salidas), pero no nos
confundamos, si sumamos el número de salidas con el número de entradas tendremos un total de
8 y el PICAXE–08 que manejaremos tiene solamente 8 terminales.
¿Esto quiere decir que las terminales de salida y de entrada ocupan todas las que posee?
La respuesta es “no”, ya que en esas 8 terminales deben estar las 4 entradas, las 4 salidas ade-
más de las 2 terminales de ali-
Figura 35 mentación y 2 para progra-
marlo. Específicamente para
los PICAXE–08 las termina-
les 3, 5, 6 y 7 cumplen con una
doble función, por lo que de-
bemos tener cuidado cuando
los programemos, porque por
ejemplo la terminal 3 puede
comportarse como una termi-
nal de entrada o una terminal
Figura 36
de salida, todo depende cómo la contemplemos cuando realicemos el programa del PICAXE–08.
La tarjeta entrenadora que proponemos tiene la posibilidad de explotar al máximo las propie-
dades del PICAXE–08, y será por medio de jumpers como se podrá configurar la circuitería tan-
to para programar como para fijar entradas o salidas de datos, en la figura 36 se muestra el cir-
cuito esquemático de la tarjeta entrenadora completa.
A continuación describiremos cada parte de esta tarjeta entrenadora para que podamos sacar-
le el máximo provecho.
En primer término identificaremos la ubicación de dónde instalar el microcontrolador PICA-
XE–08, éste debe encontrarse en la base identificada como IC1 respetando la identificación de
las terminales (figura 37). Los conectores identificados como ES1, ES2 y ES4 tienen 3 termina-
les, de las cuales, la de en medio de cada uno de ellos se hace llegar hacia la correspondiente ter-
minal del microcontrolador PICAXE, las 2 terminales restantes de cada conector (ES1, ES2 y
ES4), una va hacia el bloque destinado para conectar las entradas de datos, y la segunda se diri-
ge hacia el bloque de terminales de salida de datos. Pues bien, para seleccionar si la terminal del
microcontrolador será configurada como salida o entrada, será a través de un jumper que depen-
diendo de cómo se conecte unirá la terminal del medio del conector ya sea ES1 ó ES2 ó ES4,
con el bloque de terminales de entradas o al bloque de terminales de salida, y de esta forma que-
dará configurada la circuitería del microcontrolador PICAXE para que esté listo a recibir el pro-
grama con el cual trabajará el microcontrolador.
El conector identificado como PROG/SAL0 posee 3 terminales, de las cuales la del medio se
hace llegar a la terminal 7 del microcontrolador PICAXE, esta terminal cumple con la doble fun-
ción tanto de programar al microcontrolador, como de fungir como terminal de salida de datos si
así se requiere, esta selección se lleva a cabo mediante la
Figura 37
conexión de un jumper hacia la ubicación que se requiera.
Cuando se va a programar un microcontrolador PICA-
XE–08, es necesario que el jumper esté ubicado hacia la po-
sición “Prog” en el conector PROG/SAL0, porque de otra
manera la programación será imposible, ya que no se ten-
drá comunicación entre la PC y el microcontrolador.
Cuando el jumper se encuentra ubicado hacia la posición
“Sal0” en el mismo conector PROG/SAL0, se tendrá confi-
gurada la terminal del microcontrolador como salida. La
disposición de componentes sobre la placa se muestra en la
figura 38.
Por lo descrito líneas atrás se deduce que el procedimiento
para ubicar el jumper del conector PROG/SAL0 será de
acuerdo a lo siguiente:
1º paso.- Ubicar el jumper hacia la posición “Prog” en el
conector PROG/SAL0 para programar al microcontrolador
PICAXE–08.
2º paso.- Cambiar el jumper hacia la posición Sal0 en el co-
nector PROG/SAL0 si se va a utilizar esa terminal del mi-
crocontrolador PICAXE–08 como salida.
En el conector identificado como “Entradas” se tiene la po-
sibilidad de hacerle llegar al microcontrolador PICA-
XE–08, el estado lógico de 4 diferentes entradas digitales,
Figura 38 las cuales pueden ser insertadas mediante circuitos externos
o bien utilizar cualquiera de los 2 circuitos con push-boton que se tienen en el área de experimen-
tos, estos circuitos se muestran en la figura 39 y lo único que se tiene que hacer es conectar el
borne correspondiente ya sea E1 ó E2 a cualquiera de las terminales de entrada que son Ent1 ó
Ent2 ó Ent3 ó Ent4 del conector “Entradas”.
En el conector identificado como “Salidas” se encuentra el re-
flejo de las 4 salidas digitales que posee el microcontrolador
PICAXE–08, las cuales pueden hacerse llegar a circuitos exter-
nos en donde se refleje la actividad del microcontrolador, o pue-
den ser utilizadas los 2 circuitos con leds que se encuentran en
el área de experimentos, estos circuitos se muestran en la figu-
ra 40. Para utilizar estos circuitos lo que tiene que hacerse es
conectar el borne correspondiente, ya sea S1 o S2, a cualquiera
de las terminales de salida que son Sal0 ó Sal1 ó Sal2 ó Sal3 del
conector “Salidas”.
El espacio identificado como PROGRA se encuentra ocupado
por un conector de audio estéreo tipo mini Jack, el cual puede
tener formas diferentes. El conector de audio estéreo tan sólo
tiene 3 terminales, mismas que serán utilizadas para comunicar
Figura 39 al microcontrolador con una PC a través del puerto serie, en la
figura 41, como ya lo vimos en las figuras 8 y 9, se muestra el
diagrama de cómo se deben identificar las terminales tanto en
la tarjeta de entrenamiento como en el conector DB9 que se co-
necta al puerto serie de una PC.
Las terminales del conector de audio realizarán las siguientes
actividades:
La línea identificada con el número 1 sirve para verificar que el
microcontrolador PICAXE se encuentra conectado al puerto se-
rie de la PC.
La línea identificada con el número 2 sirve para programar al
microcontrolador PICAXE.
La línea identificada con el número 3 es la referencia GND o
también conocida como tierra eléctrica.
Por último, la tarjeta entrenadora tiene incorporado un regula-
dor de voltaje identificado como IC2 que posee la matrícula
LM7805, y cuya misión es la de mantener un voltaje de 5 VCD
Figura 40 para energizar al microcontrolador PICAXE y toda su circuite-
Figura 41
ría, por lo tanto podemos energizar nuestra tarjeta de entrenamiento con una pila de 9 VCD.
La lista de componentes se muestra a continuación.
Listadecomponentesparaarmarla
tarjetacontroladora.
IC1......Base de 8 terminales
IC2 .........................LM7805
D1, D................Leds Verdes
D3 .........................Led Rojo
S1, S2Interruptores Push boton
R1, R3, R4 ...10kΩ 1/4 Watt
R2.................22kΩ 1/4 Watt
R5, R6, R7 ..390Ω 1/4 Watt
Varios:
Conector mini jack de audio, conector mini plug de audio, alambres de conexión, broche pa-
ra pila de 9 VCD y circuito impreso.
AprendiendoaProgramarlaTarjetaEntrenadora08
En esta oportunidad emplearemos la tarjeta entrenadora para implementar en ella la función ló-
gica “Y” (AND). El motivo de programar al PICAXE con esta función lógica, es un pretexto pa-
ra que se tenga en cuenta que si podemos utilizar las funciones lógicas, entonces podemos darle
cualquier aplicación a nuestra tarjeta, esto es, en otras palabras podemos desarrollar, por ejemplo,
lo que se le conoce con el nombre de unidad central de proceso de un PLC.
Para cada una de las funciones lógicas necesitamos la utilización de 2 entradas, por lo que en
total requeriríamos de 4, pero recordemos que el microcontrolador PICAXE – 08 es tan sólo de
8 terminales, por lo tanto se tiene la limitante de que la mayoría de las entradas y salidas están
compartidas, en consecuencia
tan sólo utilizaremos 2 entradas
para implementar las 2 funcio-
nes lógicas.
En el diagrama de la figura
42, se observa la manera en que
están asignadas tanto las termi-
nales de entrada como las de
salida, por otra parte también
tomemos en cuenta que la tar-
jeta entrenadora posee 2 push
boton para generar los estados
lógicos con los cuales trabajará
el PICAXE, y también cuenta
con 2 leds para mostrar el esta-
do de las salidas.
El ejercicio que desarrolla-
remos será el siguiente. Los Figura42-Diagramaesquemáticodelatarjetaentrenadora.
S1 S2 Función“y”
0 0 0
0 1 0
1 0 0
1 1 1
Ahora hacemos referencia al
Figura43-Identificacióndecomponentesycolocacióndejumper. diagrama de identificación de
los componentes de la figura
43, para observar que las terminales que están asignadas a la entrada son las denominadas como
E3 y E4. Estas entradas se configuran empleando el jumper ES4 hacia la posición E4, mientras
que la entrada E3 no tiene que configurarse ya que está di-
rectamente conectado al borne de entradas.
En cuanto a las salidas, emplearemos la que está identi-
ficada como S1. La salida S0 se configuran empleando el
jumper PROG/SAL0 en la posición de Sal0, esto es porque
la terminal 7 del microcontrolador PICAXE – 08 se com-
parte tanto con la salida 0 como con una terminal de pro- Figura44
gramación del PICAXE. La salida S1 requiere que el jum-
per ES1 se coloque en la posición Sal1. La forma en cómo Figura45
se deben de colocar los jumpers también se ilustra en la fi-
gura 43, que es una imagen de la tarjeta entrenadora.
Una vez que hemos configurado la parte electrónica de
la tarjeta entrenadora, pasamos a elaborar el programa pa-
ra controlar la tarjeta.
Como lo hemos mencionado antes, es necesario abrir
el ícono cuyo nombre es “PICAXE Programming Editor”,
el cual obviamente tuvieron que instalar con antelación,
pero si ustedes aún no poseen el programa lo pueden des-
cargar de nuestra página de internet: www.webelectroni-
ca.com.ar.
Después de la ventana de bienvenida nos aparecerá la
ventana que se muestra en la figura 44, que es en donde
Figura46
se configuran las opciones y por lo tanto el tipo de micro-
controlador que emplearemos, en esta oportunidad estare-
mos utilizando un microcontrolador PICAXE – 08, por lo
que seleccionamos esa opción. Si la ventana de opciones
no aparece al abrir el programa nosotros podemos abrirla
desde el menú Ver y después en el comando Opciones.
Hasta este momento no hemos realizado programa al-
guno con el Basic, que es una forma de programar a los Figura47
PICAXE, porque en el desarrollo de esta serie vamos a comenzar aprendiendo a programar a los
microcontroladores del sistema PICAXE. Por esta situación, nuevamente recurriremos a progra-
mar al microcontrolador a través de diagramas de flujo, por lo que oprimimos el botón de acce-
so rápido para abrir el ambiente de trabajo en diagramas de flujo, tal como se muestra en la figu-
ra 45.
Dentro del entorno gráfico para generar el diagrama de flujo seleccionaremos, del menú de co-
mandos, el correspondiente con el que pregunta por el estado de las entradas, tal como se ilustra
en la figura 46.
Posteriormente, tal como se muestra en la figura 47, se pueden seleccionar los bloques que
preguntan por el estado de las entradas. Todo depende de nuestro diagrama, serán los bloques que
dentro del rombo tienen la palabra “pin”. Por defecto siempre pregunta por el pin 1, por lo que
debemos editar los bloques que sean necesarios para preguntar por la terminal que corresponde a
la entrada E3 y E4, para ello nos basamos tal como muestra en la figura 48 en seleccionar el blo-
que que nos interese y después seleccionar la entrada correspondiente.
Una vez que el primer bloque tenga asignada la entrada E3
y los dos inferiores la entrada E4, ahora procedemos a selec-
cionar el menú de los bloques que manipulan las salidas, por
lo tanto oprimimos sobre el cuadro que tiene una flecha en for-
ma de U para regresar al menú principal. Estando en el menú Figura48
principal, seleccionamos el que hace referencia al control de
las salidas, de acuerdo a como se aprecia en la figura 49.
Dependiendo de cuál sea la función lógica que implemen-
temos será la activación de las salidas que usaremos, ya sea un
“0” lógico o un “1” lógico, por lo tanto seleccionaremos de en-
tre el cuadro con la palabra low o high respectivamente, tal co-
mo se aprecia en la figura 50.
Como en el caso de las entradas, cuando elegimos una sali-
da, por defecto se coloca la salida 0, por lo tanto tenemos que
evaluar qué salida es la que emplearemos para colocar la que Figura49
nos interesa, y tal como se ilustra en la figura 51, selecciona-
mos la salida 1 porque la función lógica que implementaremos
es la denominada “Y” (AND), como ya habíamos designado
que sería a través del led D1 de la tarjeta entrenadora donde se
visualizaría su respuesta, es el motivo de la selección ya que el
led D1 está conectado a la salida 1 del microcontrolador.
Ya que tenemos todos los bloques correspondientes a la im-
plementación de la función lógica, ahora pasaremos a conec- Figura50
tarlos para que se obtenga el resultado de la tabla de verdad de
la función lógica “Y”.
Tenemos que regresar una vez más al menú principal para Figura51
realizar la unión de los diferentes bloques, en función de la ló-
gica de operación que hemos desarrollado. Para esta acción
elegimos la herramienta de conexión tantas veces como blo-
ques se tengan que unir, tal como se muestra en la figura 52.
Cuando se realiza la actividad de unir los diferentes blo-
ques, se ilumina en color rojo un círculo que se hace presente
en el punto de conexión del bloque cuando acercamos el pun-
tero del ratón, y ahí hacemos click con el botón izquierdo para fijar la línea de conexión, y la
arrastramos hasta el siguiente punto de conexión del bloque con el que uniremos el anterior, y así
continuamos hasta unir todos los bloques que tengamos, tal como se aprecia en la figura 53.
Como paso siguiente, para verificar que realmente funciona nuestro programa lo siguiente es
simularlo, por lo que seleccionamos la herramienta de simulación tal como nos lo indica la figu-
ra 53, y cuando la oprimimos, aparecerán dos ventanas, en una observaremos las variables, y en
la otra que es la que nos interesa en este momento, se observará cómo se comportan las salidas
en función de las entradas.
En la figura 54 se muestra que cuando ésta activa la función de simulación, las líneas que unen
los distintos bloques se iluminan en color rojo indicando el camino por donde se cumplen las con-
diciones lógicas, facilitando de esta manera la observación de cómo se va generando la respues-
ta que finalmente será visualizada a través de una salida. Y para comprobar que en la salida se
tiene como resultante la función lógica “Y”, se tienen que realizar las distintas combinaciones de
“0” lógico y “1” lógico en las terminales de entrada, a través de
los interruptores que se visualizan en la ventana inferior de la
figura 54.
Una vez que hemos superado la etapa de la simulación, nuestro
siguiente paso es la programación del PICAXE a través de la
tarjeta entrenadora, por lo que conectamos el cable al puerto se-
rie de la PC y el otro extremo al conector minijack de la tarjeta
Figura52
entrenadora (en entregas anteriores se explicó cómo se debe ar-
mar el cable de programación), colocar también el jumper del
conector PROG/SAL0 en la posición de Prog, para que sea des-
cargado el código al PICAXE.
El paso siguiente es detener la simulación e ir al menú de herra-
mientas organigrama y seleccionar el mando convertir organi-
grama a Basic, como resultado el diagrama de flujo será con-
vertido a Basic, el resumen de estas acciones se observa en las
Figura53 figuras 55 y 56.
De la figura 56 se observa que para descargar el programa en el
microcontrolador PICAXE a través de la tarjeta entrenadora, se
oprime el botón que se refiere a la herramienta de programa-
Figura54 ción, y como consecuencia se despliega una ventana que nos va
indicando el avance de la programación, tal como se ilustra en
la figura 57.
Una vez programado el PICAXE, lo que sigue es probar el pro-
grama sobre la tarjeta entrenadora, por lo que presionaremos los
push boton de acuerdo a la tabla de verdad correspondiente, por
Figura56
Figura55
ListaDeComPonentesParareaLizareLejerCiCio.
Tarjeta entrenadora del PICAXE – 08 y su cable de programación.
juegodeLucesTipo“AutoFantástico”
(EmpleandolaTarjetaEntrenadora)
Vamos a implementar, a través de una tarjeta entrenadora, un juego de luces que funcione de
la misma manera que lo hacían las luces del auto fantástico. Está claro que para el microcontro-
lador PICAXE – 08 que posee la tarjeta entrenadora, sólo se tiene posibilidad de contar con 4 sa-
lidas a las cuales les podemos colocar leds para visualizar el efecto de las luces. Cabe señalar que
si usted desea bajar los archivos para ejecutar el programa, puede obtenerlos gratuitamente de
nuestra web en www.webelectronica.com.ar, digitando la clave “kit”.
En la figura 58 se muestra el diagrama esquemático de la tarjeta entrenadora, de la cual emplea-
remos únicamente el bor-
ne de salidas, por lo que
en los bornes identifica-
dos como ES1, ES2 y ES4
se colocará el jumper co-
rrespondiente, de tal for-
ma que se seleccionen las
salidas.
Nota:La tarjeta entre-
nadora, su implementa-
ción, armado y programa-
ción se publicó en el tomo
Nº 7 de la colección “Club
Saber Electrónica”. Ud.
puede bajar el artículo
completo de la web con la
clave dada más arriba.
Siguiendo con nuestro
montaje, el borne identifi-
cado como PROG/SAL0 Figura 58
una vez que se descargue
Figura60
Figura61
Figura 59
ción de las salidas las realizamos por medio del comando “low” tal como se ilustra en la figura
61, una para cada una de las salidas, si no colocáramos estos comandos simplemente las salidas
no se activarán. Posteriormente colocamos líneas de conexión para unir los comandos de activa-
ción en estado bajo de las 4 salidas seleccionadas. Ahora se colocan los comandos para generar
el efecto de luces del auto increíble, para lo cual nos basamos en un algoritmo muy simple y que
a continuación explicamos:
Encendemos el led colocado en la salida 0 y mantenemos este estado durante 1 segundo para
que sea perfectamente visible, posteriormente encendemos el led colocado en la salida 1 e inme-
diatamente apagamos el led de la salida 0, una vez realizado esto fijamos esta condición durante
1 segundo. Y en general, vamos encendiendo el led siguiente y al mismo tiempo apagando el an-
terior y manteniendo el estado durante algún tiempo, y así sucesivamente hasta llegar al último
led. Posteriormente hacemos que se invierta el encendido y apagado de los leds, causando con es-
to, el efecto luminoso de las luces del auto increíble.
De la figura 62 se puede observar el diagrama de flujo que se emplea para controlar el juego
de luces, y a través de los bloques “low” apagamos las salidas (las colocamos en “0” lógico), y
con los bloques “high” encendemos las salidas (las colocamos en “1” lógico). Pues bien, hasta
aquí hemos manejado bloques que con anterioridad habíamos utilizado y que no causan proble-
mas al momento de seguir la ejecución del programa, pero ahora aparecen 2 nuevos bloques que
están identificados como “wait” y como “pause”, los cuales describiremos a continuación.
El bloque wait se emplea para generar una base de tiempo, durante la cual el microcontrola-
dor PICAXE estará ocupado sin realizar ninguna otra actividad, tan sólo se dedica a contabilizar
el tiempo que va transcurriendo hasta que llegue al conteo máximo que le hemos fijado. Esta ac-
tividad es muy útil, sobre todo cuando se requiere el empleo de un temporizador, o de un delay.
La característica que tiene el bloque wait es que el conteo lo realiza de una forma ya establecida
y está en segundos, los cuales pueden tener valor desde 1 hasta 255 segundos.
En este caso estamos empleando el bloque wait para generar una temporización, para que los
datos que son enviados a las salidas del PICAXE se mantengan durante 1 segundo. Si omitimos
la colocación del bloque wait, provocaríamos que con la simple operación del microcontrolador,
que es muy rápida, tan
sólo observemos un
destello en los leds pe-
ro no veríamos cuál se
enciende y cuál se apa-
ga con detalle. El nú-
mero que tiene por de-
lante el comando wait,
es el número de segun-
dos que dura la tempo-
rización.
El segundo bloque
que observamos en el
diagrama de flujo de la
figura 62, y que no co-
nocíamos, está identifi-
cado como “pause”.
El bloque “pause”
trabaja de la misma
Figura63-Simulación.
manera que lo hace el bloque wait, y substantivamente se emplean para lo mismo, pero la prin-
cipal diferencia radica en los tiempos destinados a la temporización de cada uno de los bloques,
ya para el bloque wait la temporización se encuentra en segundos, mientras que para el bloque
pause la temporización se contabiliza en milisegundos. Por lo tanto, como se muestra en la figu-
ra 62 si colocamos el bloque “wait 1” equivale a un tiempo de 1 segundo, y si empleamos el blo-
que “pause 1000” equivale a un tiempo de 1000 milisegundos o sea también 1 segundo.
Después de que hemos colocado tanto los bloques como las uniones entre éstos, procedemos
a simular nuestro diagrama de flujo como se ilustra en la figura 63.
Como paso siguiente a la simulación, procedemos a convertir nuestro diagrama de flujo en có-
digo BASIC, por lo que recurrimos al menú Organigrama y dentro de éste al comando “Conver-
tir Organigrama en BASIC”, por lo que vamos a generar un código como el ilustrado en la figu-
ra 64.
Por último, tenemos que programar al microcontrolador PICAXE, por lo que estando en el
ambiente de código BASIC nos dirigimos al menú PICAXE y después al comando “Ejecutar” y
en ese mismo instante se abre una ventana que nos indica el progreso de la programación del PI-
CAXE, y una vez que éste termina de programarse nos muestra una ventana pequeña en donde
nos comunica que se programó perfectamente, y en caso contrario también nos reporta las posi-
bles causantes del fallo. Como lo hemos mencionado en anteriores entregas, es necesario abrir el
ícono cuyo nombre es “PICAXE Programming Editor”, el cual obviamente tuvieron que instalar
con antelación, pero si ustedes aún no poseen el programa lo pueden descargar de nuestra pági-
na de internet: www.webelectronica.com.ar. A lo largo de esta obra iremos desarrollando ejem-
plos de programación, en los cuales aplicaremos los bloques de los diagramas de flujo vistos has-
ta ahora, y la meta es llegar a realizar programas con mayor grado de complejidad, para lo cual
se tiene contemplado mostrar proyectos con aplicaciones reales.
Lista de Materiales
TarjetaentrenadoradelPICAXE–08(eldiagramaydescripciónde
éstasevióanteriormente),sucabledeprogramación,
4Leds
4Resistoresde390Ω
Figura65-Ventanaquemuestraelavance
delaprogramación.
Figura64-CódigoenBASIC.
AlarmaparaPuertasyVentanas
EmpleandolaTarjetaEntrenadoraPICAXE 08
Para continuar con la utilización de nuestra tarjeta entrenadora tal como un módulo de uso ge-
neral, nuevamente hacemos referencia a ella y por lo tanto volvemos a colocar su diagrama es-
quemático mismo que se ilustra en la figura 66. De la tarjeta entrenadora sabemos que se cuenta
con un total de 4 Entradas/Salidas, las cuales las tenemos que distribuir adecuadamente entre el
sensor, el habilitador de la alarma, la salida a un buzzer (zumbador) y a un contacto que nos re-
presentará una señal remota.
De acuerdo a lo anterior necesitamos de, por lo menos, 2 entradas y 2 salidas, pero recuerden
que en el PICAXE–08 algunas terminales son compartidas y cumplen con una doble función, di-
cho en otras palabras tanto se pueden configurar como terminales de salida o como de entrada de
datos, pero una vez configuradas así trabajará el PICAXE todo el tiempo.
En la figura 67 se ilustra la propuesta de cómo se asignarán las terminales de entrada y sali-
da de datos, en las cuales se sugiere que para proteger a las puertas y ventanas de un hogar se uti-
licen sensores magnéticos llamados reed switch, a los cuales cuando se les acerca un imán su con-
tacto se cierra provocando la generación de los estados lógicos que vemos en la tabla 1.
La disposición de los sensores magnéticos tal como se ilustra en el diagrama esquemático de
la figura 68, están conectados de tal forma que se cumplan las condiciones de la tabla 1, y estos
estados lógicos se hacen llegar
TAbLA1CoMPorTAMIENTodELSENSorMAGNéTICo a la terminal de entrada del PI-
Presenciadelimán ContactodelreedSwitch Estadológico
Si Cerrado 1 CAXE (Ent3) destinada a de-
No Abierto 0 tectar si una puerta o ventana
fue abierta sin autori-
zación, por lo que te-
Figura66
nemos que seleccio-
nar qué puerta o ven-
tana de nuestra casa
tendremos que prote-
ger, colocando el sen-
sor magnético en el
marco de la puerta o
ventana mientras que
el imán lo fijaremos
sobre la puerta o ven-
tana.
De acuerdo a lo que
se observa de la figura
68, las terminales des-
tinadas a las entradas
de datos serán las de-
nominadas Ent3 y
Ent4, mientras que las
terminales designadas
para las salidas serán
las marcadas como
Sal0 y Sal1.
Figura67
Una vez que se han destinado las entradas y salidas que serán empleadas, ahora procederemos
a explicar el diseño del programa con el cual se gobernará el microcontrolador PICAXE, para lo
cual partiremos del hecho de que ya tenemos instalado el programa llamado “PICAXE Program-
ming Editor”, y si aún no lo tienen pueden descargarlo de nuestra página www.webelectronica-
.com.ar con la clave “picaxe”, o directamente de la página www.picaxe.co.uk
En la figura 68 observamos la ventana de bienvenida al “PICAXE Programming Editor”.
Consideramos que aún no tenemos la experiencia necesaria para comenzar a programar un PI-
CAXE por medio del lenguaje BASIC, por lo que una vez más seleccionamos la opción de tra-
bajar con diagramas de flujo, por lo menos hasta que contemos con la experiencia necesaria pa-
ra desarrollar nuestros programas directamente bajo ambiente BASIC.
Debido a que ya hemos explicado paso a paso, cómo trabajar con diagramas de flujo, ya no
expondremos lo que significan los íconos que aparecen cuando trabajamos con estos diagramas,
por lo que sólo nos avocaremos a desarrollar el programa con el cual operará nuestro programa.
Para comenzar con el programa, primero serán definidas las terminales de entrada a través de
las cuales se estará habilitando la alarma Ent4 (pin4) y lectura del sensor Ent3 (pin3). De acuer-
do a la manera de cómo pre-
Figura68 tendemos que sea la operación
de nuestra alarma, ésta comen-
zará a funcionar a partir de
que la habilitemos por medio
del pin4, esto es, que en esta
terminal esté presente un “1”
lógico, y mientras esta condi-
ción no esté presente, la alar-
ma nunca indicará si una puer-
ta o ventana fue abierta sin au-
torización, por lo que pode-
mos considerar de que la alar-
Figura70 Figura71
esta acción se provoca que se abra una ventana que nos va indicando el progreso de la programa-
ción del PICAXE, y una vez que éste termine de programarse nos muestra una ventana pequeña
en donde nos comunica que se programó perfectamente, y en caso contrario también nos reporta
las posibles causantes del fallo.
La tarjeta entrenadora cuya imagen se observa en la figura 73, es el cerebro de las actividades
de nuestra alarma, por lo que en este caso se le tienen que agregar los componentes ilustrados en
la figura 68, pero claro está que por el tamaño en cuestión del número de terminales que posee
un PICAXE-08, a nuestra alarma le está destinado el proteger sólo una puerta o ventana, pero si
queremos una alarma con mayor número de sensores tendremos que utilizar un PICAXE con ma-
yor cantidad de terminales, y agregar en el programa la lectura del estado que tengan dichos sen-
sores.
Continuaremos desarrollando ejemplos prácticos de programación, ya que nuestra meta es lle-
gar a realizar diseños de aplicaciones no importando el nivel de complejidad.
ListaDemateriaLes
Tarjeta entrenadora del PICAXE – 08
El cable de programación
3 Resistores de 390Ω 1/8Watt
1 Transistor 2N2222
1 Diodo 1N4001
1 Relevador para 5 VCD
1 Reed switch
1 Botón con seguro
1 Zumbador (buzzer)
TarjetaEntrenadoraPICAXE18
A lo largo de estas líneas iremos describiendo todo lo que corresponde a una nueva tarjeta en-
trenadora, que en esta oportu-
nidad alojará al microcontro-
lador PICAXE–18, por lo que
como primer paso recordare-
mos cuál es el diagrama del
circuito básico de conexión
de este PICAXE, para de ahí
llegar al diagrama esquemáti-
co de la nueva tarjeta entrena-
dora. En la figura 74, se
muestra el circuito básico del
cual se tiene que tomar en
cuenta el número total de en-
tradas y salidas que podemos
manipular para aprovecharlas
Figura74CircuitobásicodeunPICAXE-18. al máximo.
conectar un determinado sensor, que en combinación con el resistor R8 se genera el voltaje cuyo
valor responderá de acuerdo a la variable física que lea el sensor.
Cabe aclarar que el tipo de sensor que se tiene que utilizar en esta parte de la tarjeta entrena-
dora, debe presentar un cambio en su valor de resistencia para que en función de esto, se modi-
fique el valor de voltaje que es al final de cuentas lo que lee el PICAXE sobre todo en las entra-
das analógicas. Las terminales donde se refleja el estado del módulo que genera las señales ana-
lógicas se identifican como AN1 y AN2.
El espacio identificado como PROGRA se encuentra ocupado por un conector de audio esté-
reo tipo mini Jack, el cual puede tener cualquiera forma tal como se ilustra en la figura 78.
El conector de audio estéreo tan sólo tiene 3 terminales, mismas que serán utilizadas para co-
municar al microcontrolador con una PC a través del puerto serie, en la figura 79 se muestra el
diagrama de cómo se deben identificar las ter-
minales, tanto en la tarjeta entrenadora como
en el conector DB9 que se conecta al puerto se-
rie de una PC.
Las terminales del conector de audio y DB9
realizarán las siguientes actividades:
• La línea identificada con el número 1 en el co-
nector de audio sirve para verificar que el mi-
crocontrolador PICAXE se encuentra conecta-
do al puerto serie de la PC.
• La línea identificada con el número 2 en el co-
nector de audio sirve para programar al micro-
Figura79-Identificacióndeterminalesenlos controlador PICAXE.
conectoresminijackyDB9.
• La línea identificada con el número 3 en el co-
nector de audio es la referencia GND ó también
conocida como tierra eléctrica.
En la figura 80 se muestra la imagen de un ca-
ble de programación, o a cambio puede em-
plearse un adaptador figura 81 que realiza la
misma función y con éste puede emplearse
cualquier cable serie de que se disponga.
Por último, sobre la tarjeta entrenadora se tie-
ne incorporado un regulador de voltaje identifi-
cado como IC2 que posee la matrícula
LM7805, y cuyo cometido es la de proporcio-
nar un voltaje constante de 5 VCD para alimen-
Figura80-Cabledeprogramación.
tar al microcontrolador PICAXE y los módulos
auxiliares que tiene incorporados la tarjeta pro-
gramadora. Por medio de la utilización del re-
gulador de voltaje, es posible que podamos em-
plear para energizar a nuestra tarjeta de entrena-
miento una pila de 9 VCD.
Como ya se ha venido haciendo, en la siguien-
te entrega aportaremos más proyectos que se
pueden realizar con un PICAXE–18, procurado
Figura81-Adaptadorparaprogramación. en todo momento que éstos sean de utilidad pa-
ra todos ustedes, por lo que los invitamos a que continúen revisando esta serie, porque les asegu-
ramos que encontrarán cosas interesantes para desarrollar sus propias ideas y proyectos, hasta la
próxima.
ListaDeComPonentesParaLatarjeta
ControLaDoraPiCaXe–18
Aprendiendo a Utilizar el AdC en la Tarjeta Entrenadora del Picaxe-18
Figura 85 - Imagen
Figura 84 - Conexiones sobre la tarjeta
de un LDR.
entrenadora PICAXE-18.
La información contenida en los bornes AN1 y AN2, que es el reflejo de un sensor (para el ca-
so de AN1) y la variación de un potenciómetro (para el caso de AN2) se tiene que conectar a la
entrada analógica del PICAXE, para ello dependiendo del tipo de microcontrolador PICAXE
(PICAXE–18 ó 18A ó 18X) se puede disponer de hasta tres entradas del tipo analógicas. Los bor-
nes de las entradas analógicas al PICAXE están identificados como E0, E1 y E2, por lo que pa-
ra hacer llegar la información de los bornes AN1 ó AN2 a ya sea E0 ó E1 ó E2, será mediante pe-
queños cablecillos de conexión, tal como se muestra en la figura 84. Para ilustrar de mejor ma-
nera la utilización del ADC del PICAXE vamos a recurrir al empleo de un ejemplo práctico, es-
te ejemplo consistirá en encender o apagar una lámpara de VCA del mismo tipo que utilizamos
para iluminar nuestra casa, pues bien, el circuito al que estamos haciendo referencia es al de un
control automático de luces. Este control automático detectará a través del LDR cuando se ocul-
te nuestro astro rey (Sol) y se comiencen a obscurecer las calles, y viceversa, cuando empiece a
amanecer de igual manera la luminosidad producida será detectada a través del LDR. La entrada
que será utilizada con el valor analógico de la intensidad luminosa está en el borne de entradas
de la tarjeta entrenadora, y se trata de la entrada E0. El LDR, prácticamente es una resistencia va-
riable que está constituida por un material fotosensible, por lo tanto la intensidad luminosa pro-
vocará que disminuya su valor de resistencia, mientras que la oscuridad o ausencia de luz ocasio-
nará que tenga su máxima resistencia, y dependiendo del tipo de LDR pude tener valores de re-
sistencia que son de 2 MΩ, ó 10 MΩ en la oscuridad. Para controlar el apagado o encendido de
la lámpara de VCA se requiere de un circuito que maneje la potencia, o dicho con otras palabras
se necesita que la cantidad de corriente que consuma la lámpara no la suministre directamente el
PICAXE, por lo que se emplea una interface implementada a base de un transistor identificado
como Q1, además de utilizar también un relevador que se encuentra identificado como RL1, to-
do esto se ubica en el diagrama de la figura 84. La salida que se utilizará se encuentra en el bor-
ne de salidas de la tarjeta entrenadora, y se trata de la salida S0.
“readadc” lo podemos hacer directamente uniendo el extremo superior del bloque del comando
“readadc” (Fig. 90) con el del bloque “start”, esta acción la llevamos a cabo para optimizar espa-
cio en el diagrama de flujo, y ahorrarnos la utilización de la herramienta “wire”.
El comando “readadc” tiene la tarea de leer el valor de la variable analógica que en esta eta-
pa se encuentra en su correspondiente valor de voltaje, y tal como se encuentra expresado en la
figura 90, el 0 que se encuentra después de la palabra readadc, indica que terminal de entrada es
la que se está utilizando con el ADC, y después se encuentra la variable b0 que es en donde se
aloja el valor analógico que está leyendo el PICAXE.
El paso siguiente es verificar qué valor tiene la variable b0
(Fig. 91), para que cuando se compare este valor se sepa si exis-
te luminosidad u oscuridad en el medio ambiente. En este caso
tenemos que seleccionar el menú “if” para ubicar los comandos Figura 89 - Comando
de verificación de valores, posteriormente seleccionaremos el “readadc”.
comando que está identificado como “var”, ya que es con éste
con el que compararemos los valores de las variables con las
que cuenta el microcontrolador PICAXE.
Para configurar el comando “var”, tenemos que seleccionar
sobre qué variable es en donde se está guardando el dato que se-
rá digitalizado, y que en esta ocasión se trata de la variable b0,
ahora seleccionaremos el operando “mayor que” para indicarle
al PICAXE que para todos los valores analógicos mayores que
determinado valor nos debe de reportar una salida verdadera y
entonces el flujo lógico se dirigirá a través de la salida identifi-
cada como Y. El valor que fijaremos es el de 125, que práctica-
mente representa la mitad del rango total que puede ser digita-
lizado y cuyo valor máximo es de 255. Para nuestro programa Figura 90 - Colocación del
cuando se tienen valores por debajo de 124 indicará que se tie- comando “readadc”.
ne suficiente luminosidad, por lo tanto al salir la información
por la salida N del bloque “var”, mandará apagar la lámpara.
Cuando se tienen valores mayores a 125 indicará que la lumi-
nosidad es muy baja, por lo que mandará encender la lámpara. Figura 91 Co-
A la salida identificada como N se le conectará el bloque mando que com-
“low”, cuya función será la de apagar la salida S0 que es en para el valor de
la variable b0.
Figura 93 - Programa
completo y ventanas
del simulador.
Figura 92
Diagrama
de flujo
completo.
ControldeTemperaturaconlaTarjetaEntrenadoradelPicaxe-18
La temperatura es uno de los parámetros que más se controla, ya que desde una simple casa
habitación hasta algún proceso industrial de una empresa cuentan con este tipo de dispositivos,
los cuales pueden ser muy simples o inclusive llegan a ser elementos muy complejos y avanza-
dos.
En la figura 98 vemos el diagrama esquemático de la tarjeta entrenadora PICAXE-18, con el
sensor LM35 integrado a ella.
Comercialmente existen medidores de temperatura que su función es sóla esa, mostrar el va-
lor de temperatura, y por otra parte también están presentes los controles de algún proceso que
actúan en función del valor de la temperatura. Estos últimos controles basan su forma de operar
en un convertidor analógico - digital, si es que el control es electrónico y digitalizado, y más que
mostrar el valor de temperatura su utilidad principal radica en el hecho de realizar tareas como la
de controlar de manera autónoma la temperatura de una caldera, de una habitación, de un inver-
nadero, etc.
En la figura 99 podemos observar las conexiones sobre la tarjeta entrenadora PICAXE-18.
La temperatura es una de las variables físicas más fáciles y económicas de controlar, porque
Figura 98
nexión del sensor de temperatura que en esta ocasión se trata del circuito integrado LM35, por
otra parte también se observa el circuito externo que activa el ventilador, el cual se encuentra im-
plementado a través de un amplificador operacional, un transistor y un relevador principalmente.
En la figura 100 se ve el diagrama de flujo del programa del PICAXE.
El sensor de temperatura LM35 proporciona un valor de voltaje que está de acuerdo con la
magnitud de temperatura que se encuentre en el recinto donde esté instalado, de acuerdo con el
fabricante su rango de operación va de 0VCD a 1.5 VCD, que equivale a 0°C y 150 °C respecti-
vamente, y a cada cambio de 1 °C el valor de voltaje cambia en 10 mV, por lo tanto es muy fácil
saber qué valor de temperatura está midiendo al saber el valor de voltaje que entrega el sensor,
por ejemplo: cuando se tenga un valor de 35 °C se tendrá un valor de 350mV.
La forma de emplear el sensor LM35 y el circuito exterior se ilustra en la figura 99, en ella se
aprecia que se puede utilizar un ventilador que bien puede poseer un motor tanto de CA como de
CD, esto es posible ya que estamos empleando un relevador como elemento de interface entre la
etapa de control y la de potencia. La bobina del relevador está siendo controlada por un amplifi-
cador operacional, que es el dispositivo que servirá de protección entre la salida del microcontro-
lador PICAXE y la bobina del relevador. El amplificador operacional, entre otras cosas, tiene la
propiedad de no demandar corriente de la terminal de salida del PICAXE, y por ello no se pro-
voca que se sobrecargue eléctricamente hablando, la configuración en la que se encuentra el am-
plificador operacional es la llamada seguidor de voltaje, y en ella el voltaje de entrada es exacta-
mente igual al que está entregando, por lo tanto como el PICAXE le entrega 5 VCD al seguidor
de voltaje cuando su salida esté activada, la salida del amplificador operacional también será de
5 VCD pero casi sin demandarle corriente al PICAXE. Posteriormente la salida del seguidor de
voltaje se hace llegar a un transistor 2N2222 (de propósito general), que es el que se encarga de
manejar toda la magnitud de corriente que demandará la bobina del relevador cuando éste nece-
site ser activado. El transistor le ayuda al amplificador operacional a que no se caliente cuando
circule una corriente muy alta. Es recomendable que la fuente que energice la bobina del releva-
dor sea independiente de la que energiza a la tarjeta entrenadora del PICAXE - 18, ya que cuan-
do el relevador se activa, éste demanda una corriente muy grande, y si empleamos el mismo re-
gulador de voltaje que posee la tarjeta entrenadora, éste podría sobrecalentarse demasiado, hasta
tal punto que puede llegar a bloquearse y toda la circuitería comenzará a trabajar de una forma
muy deficiente, y podría entre otras cosas comenzar a encenderse y apagarse continuamente, pro-
vocando que el ventilador se encienda y apague a cada rato.
El valor de voltaje correspondiente con la magnitud
de la temperatura tendrá su reflejo en el borne de la ter-
minal AN2, y de ahí por medio de un cablecillo hare- Figura 100
mos llegar esta información a la terminal de entrada E0
que configuraremos como entrada con convertidor ana-
lógico - digital del microcontrolador PICAXE. Y para
controlar el encendido o apagado del ventilador utiliza-
remos la terminal S0 de la tarjeta entrenadora, y que
también corresponde a una terminal de salida del PI-
CAXE.
En la figura 101 se ve la simulación del programa.
Para comenzar a programar al microcontrolador PI-
CAXE, primero describiremos qué es lo que pretende-
mos en cuanto a la forma de operación de esta aplica-
ción, y se trata de lo siguiente:
El sensor de temperatura se
encontrará leyendo de mane-
Figura 101
ra continua la magnitud de la
temperatura, mismo que se
hará llegar a un canal de
conversión analógico - digi-
tal del microcontrolador PI-
CAXE, este último de acuer-
do con el programa (es lo
que vamos a realizar a conti-
nuación) activará una de sus
salidas para controlar la bo-
bina de un relevador.
Para controlar el apagado o encendido de la bobina del relevador, se requiere de lo siguiente:
por medio de un “0” lógico se apagará la salida S0, por lo tanto la bobina del relevador se dese-
nergizará, mientras que un “1” lógico en la misma salida S0 provocará que la bobina del releva-
dor se energice. Una vez que ya sabemos de qué manera tiene que operar el microcontrolador PI-
CAXE, procedemos a explicar la realización del programa.
En desarrollos anteriores hemos comenzado esta parte de la aplicación con las siguientes pa-
labras, “lo primero que tenemos que hacer es abrir nuestro programa llamado “PICAXE Program-
ming Editor”. Por lo tanto, nuevamente hacemos la indicación de que pueden descargar el soft-
ware de nuestra página de internet si es que aún no lo tienen, la página es www.webelectronica-
.com.ar y empleen la clave “picaxe”, en su defecto también lo pueden adquirir en la página www-
.picaxe.uk.co.
Recuerden que al ingresar en el programa lo primero que se abrirá será una ventana, de la cual
en la pestaña opciones seleccionarán el PICAXE que será utilizado para el proyecto, se puede em-
plear cualquier microcontrolador PICAXE ya que la estructura del programa es válido para cual-
quiera de ellos, pero recuerden que tenemos microcontroladores de 8, 18, 28 y 40 terminales, por
lo tanto las terminales de salida y de entrada cambian de posición y cantidad de acuerdo al PI-
CAXE que se vaya a utilizar.
Cuando empleamos un convertidor analógico - digital (ADC) lo primero que tenemos que ha-
cer es calcular su resolución y para ellos nos basamos en la fórmula Nº1.
En este caso el valor del rango es el que tiene la entrada del ADC del PICAXE que es de 5
VCD, la variable N representa la cantidad de bits que posee el ADC que en este caso es de 8, por
lo tanto la expresión anterior queda como sigue:
5 5
resolución = --------- = ----------- =
28 - 1 256 - 1
= 0.0196 V = 19.6 mV
Por lo tanto:
250mV
Comb.binaria = ----------- = 12.75 ≈ 13
19,6mV
mientras cualquier valor por arriba de 00001101 tendrá que encender al ventilador, por lo tanto
de la figura 100 observe que después de tomar un dato, digitalizarlo y almacenarlo de manera
temporal en la variable b0, se realiza una comparación del valor guardado en b0 con el valor de
referencia que es 13, siendo el operador empleado en esta comparación el de un › (mayor que),
para saber en qué momento el valor de la temperatura sobrepasa la magnitud de 25 °C, tal como
se encuentra expresado en el diagrama de flujo de la figura 100.
El programa es muy simple ya que tan sólo se trata de leer un dato analógico y guardarlo en
una localidad de memoria RAM, el comando para realizar la lectura del dato analógico es el que
está identificado como “readadc” y se encuentra en el bloque identificado como “other” en la pá-
gina principal del programa “Programming Editor”, para configurar este comando se le tiene que
asignar cuál de las entradas que posee el microcontrolador PICAXE se estará empleando el ADC,
además de indicarle en cuál variable (localidad de memoria RAM) se alojará el dato digitaliza-
do. Posteriormente, para comparar el dato que se obtiene después de la digitalización se toma de
la localidad de memoria este valor y se compara con el valor 13 (00001101) que ya fue explica-
do anteriormente. El comando para realizar la comparación es un rombo y se encuentran en la pá-
gina principal dentro de l bloque “if”, y de aquí si el valor de la variable es mayor que el dato 13,
entonces se interpretará como que la temperatura se encuentra por arriba de 25 °C, y por lo tan-
to encenderemos la salida S0 del PICAXE para que se observe esta acción mediante la activación
del ventilador.
En la figura 101 se muestra la simulación del ADC, observándose en ella las ventanas donde
se muestra el estado de las entradas, las salidas y las variables temporales.
En la figura 102 publicamos el programa en código Basic.
Una vez que el diagrama de flujo ya se encuentra operando completamente, el paso siguiente
será el de convertir el código a basic, y posteriormente descargarlo al PICAXE instalado en tar-
jeta programadora.
Aunque ya lo hemos mostrado anteriormente, en la figura 103 nuevamente mostramos la ma-
nera de cómo podemos armar el cable de programación con la identificación de terminales en los
conectores mini jack y DB9.
Aún nos falta desarrollar una gran cantidad de ejercicios, razón por la cual los invitamos a
que sigan esta serie de ejemplos de utilización y tips de programación.
LISTAdECoMPoNENTESPArAArMArLA
TArjETA CoNTroLAdorAPICAXE-18
Varios: Cable de programación, ó Cable serie y adaptador, cables de conexión, pila de 9 VCD.
ProgramaparadesplegarNúmerosbCd
conlaTarjetaEntrenadoradelPicaxe-18
En muchas ocasiones y para la mayoría de las aplicaciones que desarrollamos sobre un micro-
controlador, tenemos que mostrar algún resultado sobre un display, que bien puede ser de seg-
mentos o de LCD, por lo que es necesario saber de qué manera se desplegará la información so-
bre las salidas que se tienen reservadas en un microcontrolador PICAXE.
Si nos ponemos a contabilizar todo el conjunto de información que tiene que salir por el puer-
to correspondiente de algún microcontrolador para manipular un display, necesitaríamos de una
gran cantidad de líneas que se reserven para ese uso exclusivo. De hecho no alcanzarían todas las
líneas que tuviera disponible el microcontrolador, razón por la cual tenemos que emplear una téc-
nica que nos ayude a solventar esta problemática.
En este ejemplo haremos uso de displays de 7 segmentos, para así aprender a enviarles la in-
formación a éstos.
La técnica que emplearemos es la de multiplexación de la información, por lo que procedere-
mos a explicar en primera instancia el circuito que se empleará con los displays de 7 segmentos,
el cual incluye un total de 3 displays cátodo común.
El circuito de los displays recibe el nombre de “Display de 3 dígitos” cuya publicación com-
plementaria se realizó en la revista Saber Electrónica Nº 220 Edición Argentina. El principio de
operación es muy básico: se le hacen llegar 4 bits que son los que generan el código BCD, ade-
más de 3 bits que son los que indican qué número es el que se estará desplegando, esto es, se con-
trola el encendido del display correspondiente con las unidades, decenas o centenas.
Si se requiere mostrar el valor “578” entonces se requiere enviarle al circuito del “Display de
3 dígitos” la combinación “1000” (8) y después el bit que enciende el display de la unidades, des-
pués se tiene que enviar el “0111” (7) posteriormente el bit que enciende el display de las dece-
nas y por último el “0101” y como paso siguiente se tiene que enviar luego el bit que enciende el
display de las centenas. Y este proceso se tendrá que repetir muchas veces, dando la impresión
de que siempre están encendidos los displays.
Lo que se pretende con esta nota, es adquirir el conocimiento de cómo se tiene que generar la
información en un microcontrolador PICAXE, para que posteriormente, ésta sea enviada a las ter-
Figura 104
minales de su puerto de salida. Por lo tanto, y de acuerdo a la descripción líneas anteriores que
se hizo de la manera en cómo funciona el circuito auxiliar denominado “Display de 3 dígitos”, se
tiene lo siguiente:
De alguna manera ya debemos contar con datos, mismos que tuvieron que ser adquiridos pre-
viamente por algún proceso por el microcontrolador PICAXE (por ejemplo la lectura a través del
convertidor ADC descrito anteriormente en esta serie), una vez procesados estos datos y de acuer-
do con nuestra aplicación puede ser muy importante desplegar un dato numérico, porque a lo me-
jor estamos diseñando un voltímetro digital, por ejemplo.
En la figura 104 vemos la tarjeta entrenadora PICAXE-18 y tarjeta del Display de 3 dígitos,
se muestra la manera de conectar el circuito auxiliar “Display de 3 dígitos” a la tarjeta entrena-
dora, por lo que ahí se observan las líneas de conexión entre las terminales de salida del puerto
de la tarjeta entrenadora que van hacia las terminales de entrada del circuito auxiliar, cabe acla-
rar que ésta es tan sólo una sugerencia de cómo hacerlo, ya que cada uno puede realizar las co-
nexiones de la mejor manera posible y así optimizar los recursos de la tarjeta entrenadora.
Sobre la misma figura 104 no se hace mención de la conexión de la energía al display de 3 dí-
gitos, pero ésta se puede tomar de las terminales disponibles sobre la tarjeta entrenadora que tie-
nen la identificación de +5VCD, y hacer llegar este voltaje al borne identificado como +Bat. Una
vez descrita la disposición de la circuitería, procedemos a explicar el desarrollo del programa del
microcontrolador PICAXE.
Para esta explicación como ya se había establecido en líneas anteriores, la información que se-
rá desplegada de alguna manera ya fue adquirida o procesada por el microcontrolador, por lo que
la única tarea que se tiene presente es la de mostrarla a través del display.
Supongamos que se requiere desplegar la información “246” a través del display, por lo tan-
to, en primera instancia se tiene que leer el dato de una localidad de memoria temporal que ahí
fue alojado para su posterior utilización. El dato a ser desplegado lo debemos seccionar en tres
partes, para su mejor manejo, por ello se tiene que el número cuenta con las siguientes partes, uni-
dades, decenas y centenas, por ser 3 las cifras que componen al número total. En esta ocasión y
como sugerencia, el dato de las unidades se encontrará ubicado en la localidad de memoria tem-
poral representada por el registro del microcontrolador PICAXE b0, el dato de las decenas se en-
contrará en el registro b1 y las centenas en el registro b2.
En el programa que se va a describir observe la figura 105, los primeros bloques muestran la
manera de cómo se guarda un dato en los registros antes mencionados (b0, b1 y b2), este frag-
mento del programa puede omitirse o reemplazarse totalmente dependiendo de la aplicación, y
nuevamente recordamos que esta parte del programa es para uso específico de esta aplicación. En
la figura 105 vemos los bloques de asignación de valores a los registros b0, b1 y b2.
El comando “let” permite la asignación de valores a variables, esta asignación se puede dar de
una forma directa como está expresado en esta aplicación, o también se puede efectuar la asigna-
ción del resultado de una operación aritmética (+, -, *, /) ó por el resultado de una operación ló-
gica (and, or, negación, etc.), en este ejercicio se está empleando el comando de asignación de
manera directa sobre los registros para alojar los valores que corresponden a las unidades, dece-
nas y centenas en b0, b1 y b2 respectivamente.
Antes de continuar con la explicación del desarrollo del programa, regresemos por un instan-
te al circuito de la figura 104 para saber de qué manera están organizados los datos que salen por
el puerto de salida del microcontrolador PICAXE, ya que así será más sencillo seguir el desarro-
llo del programa.
En la figura 104 se muestra la forma de conectar el display a la tarjeta entrenadora y del cir-
cuito se observa lo siguiente: las terminales de salida S0, S1, S2 y S3 representan los 4 bits que
generan las diferentes combinaciones BCD (Binary Code Decimal o en español Código Binario
Decimal) de acuerdo con la tabla 2. De ésta, que contiene los números BCD y su equivalente de-
cimal, podemos obtener el peso específico de cada uno de los bits que generan el valor numéri-
co BCD, siendo S0 el bit menos significativo (bms), mientras que S3 representa el bit más signi-
ficativo (BMS). Esta información BCD se hace llegar a los 3 displays al mismo tiempo, razón por
la cual se tiene que indicar cuál de estos displays estará activo de
acuerdo con la cifra que se quiere desplegar, ya que de otra ma-
TAbLA2
nera los 3 se encenderán con la misma información. La solución
a lo anteriormente descrito se encuentra en el circuito de la figu- NúmerobCd Número
ra 104, en donde se observa que las terminales S4, S5 y S6 co- (S3,S2,S1,S0) decimal
rresponden al control de las cifras de las unidades, decenas y cen- 0000 0
tenas respectivamente de acuerdo con la información que se en- 0001 1
cuentra en la tabla 3. 0010 2
Una vez que hemos visualizado la manera en cómo se en- 0011 3
cuentra ordenada la información del puerto de salida del micro-
0100 4
controlador PICAXE, ahora procederemos a explicar la manera
0101 5
de cómo se envían los datos al circuito del display de 3 dígitos.
Se mencionó en líneas anteriores que en esta aplicación sola- 0110 6
mente se desplegará la información que se encuentre contenida 0111 7
en los registros b0, b1 y b2 que para un programa de un proceso 1000 8
completo de alguna manera estos registros tendrán que ser mani- 1001 9
pulados, por lo tanto conside-
ramos que esa actividad ya se Tabla3-Activaciónydesactivacióndelosdisplays.
realizó y los datos ya se en- (S6,S5,S4) displayCentenas displaydecenas displayUnidades
cuentran en los registros an- 000 Apagado Apagado Apagado
tes mencionados. Como si- 001 Apagado Apagado Encendido
guiente paso procedemos a la 010 Apagado Encendido Apagado
acción de enviar cada una de 100 Encendido Apagado Apagado
las cifras del número com-
pleto a los displays y que en
esta ocasión se trata del valor Figura 108
“246”, por lo que comenza-
mos con el armado de la in-
formación que será enviada
al puerto de salida del micro-
controlador PICAXE. La
primera cifra que sufrirá la
manipulación es la corres-
pondiente a la de las unida-
des, razón por la cual en pri- Figura 105
mera instancia emplearemos
un nuevo registro, el “b3”,
ahí alojaremos un dato de
manera directa a través del
comando de asignación “let”
tal como se ilustra en la figu- Figura 106 Figura 107
ra 106, el valor que se está
Recuerden que necesitamos del programa llamado “PICAXE Programming Editor”, por lo
que nuevamente hacemos la invitación de que lo descarguen de nuestra página de internet que es
www.webelectronica.com.ar y empleen la clave “picaxe”, en su defecto también lo pueden ad-
quirir en la página www.picaxe.uk.co.
Una vez que ya se tiene el programa en basic, descargamos el programa al microcontrolador
PICAXE que se encuentra instalado en tarjeta programadora. Aunque ya lo hemos publicado en
reiteradas ocasiones, nuevamente mostramos la manera de cómo podemos armar el cable de pro-
gramación o en su defecto utilizar un cable serie común y un adaptador como el que se muestra
en la figura 111.
Sobre esta tarjeta entrenadora para un PICAXE - 18 se tiene posibilidad de desarrollar un sin
número de proyectos, los cuales iremos abordando poco a poco.
LISTAdECoMPoNENTESPArAUTILIzAr
LATArjETA CoNTroLAdorAPICAXE-18.
Varios: Cable de programación, ó cable serie y adaptador, cables de conexión, pila de 9 VCD.
PLCde5entradasy8salidas:ConstruyaunPLCcompletoutilizando
unmicrocontroladorPiCaXe-18conexcelentesprestaciones
Los lectores de Saber Electrónica conocen las grandes “ventajas” de los microcontroladores
PICAXE, entre las que se destacan la fácil programación y el hecho de que no precisan “quitar”
el chip para cambiar su programación. Atentos a estas características, diseñamos un Controlador
Lógico Programable (PLC) de 5 entradas y 8 salidas utilizando un PICAXE-18, que cuenta con
optoacopladores para “aislar” las entradas y buffers separadores hechos con amplificadores ope-
racionales para las salidas. Este equipo no posee un utilitario propio de programación, lo que lo
hace útil para cualquier aplicación, tanto en la industria como en el taller y el hogar. De hecho, la
programación del PLC se efectúa con el Editor de Programación de PICAXE, software gratuito
que puede bajar desde nuestra web.
elPLCPropuesto
Figura 112
Figura 113
etapadeentrada.-
Este fragmento del circuito total, es tan imprescindible como las 2 siguientes. En este caso se
trata de la parte que se encarga de adquirir la información del entorno que rodea al PLC y enviar-
la a las terminales de entrada de datos del microcontrolador PICAXE, para realizar esta tarea se
requiere de sensores para que éstos adquieran la información. En general, los PLC cuentan con
la posibilidad de manejar 2 tipos de sensores, ya sean analógicos o discretos. De acuerdo con lo
anterior podemos realizarnos la siguiente pregunta:
La primera descripción corresponde a un sensor del tipo analógico, mientras que la segunda
descripción hace referencia a un sensor del tipo discreto.
La diferencia principal entre los 2 tipos de sensores radica en el hecho de que el sensor ana-
lógico entrega un valor infinito de valores, los cuales dependen de la intensidad de la magnitud
física que se está midiendo (luz, temperatura, humedad, etc.), mientras que el sensor discreto tan
sólo nos reporta 2 valores, que son un “1 lógico” ó “0 lógico”.
El circuito correspondiente a la etapa de entrada de un PLC tiene que ser adecuada al sensor
que se va a emplear, y tomando en cuenta que el microcontrolador que se utilizará es un PICA-
XE 18A, que nos permite una disposición de 5 terminales que en su totalidad pueden ser para en-
tradas discretas, el diagrama de la figura 114 corresponde a la parte del diagrama que representa
la etapa de entrada implementada para sensores discretos.
La entrada discreta tan sólo debe tener la capacidad de reportar si el sensor detecta la presen-
cia o no de algún objeto o fenómeno físico, por ello se requiere que el sensor informe de su es-
tado por medio de un contacto, el cual se hace conectando en los extremos del borne de entrada
de que se trate. El contacto está conectado en serie con un resistor, y ambos se encuentran ener-
gizados por una fuente de alimentación, y cuando el contacto se cierra (esto si el sensor se acti-
va) se genera un “1 lógico”, mientras que si el contacto se abre (si el sensor no se activa) se da
origen a un “0 lógico”. Estos estados lógicos se dirigen a la terminal del ánodo de un led infra-
rrojo de un dispositivo opto acoplador (4N25), el cual a su vez, en la terminal del emisor refleja
el estado en que se encuentra el opto acoplador, mismo que corresponde al estado que guarda el
contacto. Por último, la información del optoacoplador se hace llegar a la terminal de entrada co-
rrespondiente del microcontrolador PICAXE. Este circuito se repite 5 veces, una para cada entra-
da discreta que posee el PICAXE.
etapadesalida.-
Este bloque del circuito total sirve para enviar una señal para que el actuador o elemento de
potencia que tiene conectado se energice o se apague, por lo tanto este circuito hace de etapa de
aislamiento entre las terminales de salida del microcontrolador PICAXE y los elementos de sali-
da. EL circuito principal que protege al microcontrolador PICAXE es un amplificador operacio-
nal, que se encuentra bajo la configuración de seguidor de voltaje, por lo tanto si en la salida del
PICAXE se tiene un “0 lógico”, el seguidor de voltaje entregará 0 Volts, mientras que si el PICA-
XE entrega un “1 lógico” el seguidor de voltaje entregará 5 volt, porque con esa magnitud de vol-
taje es con la que trabaja el microcontrolador. En el diagrama de la figura 115 se muestra el cir-
cuito completo de la etapa de salida.
Para completar la etapa de salida, se utiliza un transistor para activar la bobina de un releva-
dor, que por medio de sus contactos se energiza o no, un elemento de potencia. Cabe aclarar que
los contactos del relevador deben tener la capacidad de manejar tanto C.A. como C.D. y una co-
rriente máxima de 10 ampere en 120V de corriente alterna 7 ampere en 220V ó 10A en 24V de
corriente continua.
etapadecontrol.-
Esta parte del PLC, de manera indirecta, la describimos cuando hacemos referencia a un mi-
crocontrolador PICAXE, porque el PICAXE de forma exclusiva es la pieza que integra a la eta-
pa de control, porque la información que se adquiere de los sensores se tiene que dirigir a las ter-
minales de entrada del PICAXE, para que éste en función del programa que tenga gravado en su
memoria, reporte un resultado y lo envíe a los circuitos pertenecientes a la etapa de salida y así
poder manipular a un elemento actuador. El microcontrolador PICAXE de nuestro PLC contará
con todas las ventajas que nos ofrece el software de programación, el cual describimos a conti-
nuación.
Para cualquier PLC, el software que normalmente se emplea para programarlo es el llamado
“lenguaje en escalera” o diagrama de contactos, en el cual las instrucciones se implementan me-
diante símbolos, tal como se observa en la figura 116.
Ya hemos descrito, que en particular para el PLC que estamos diseñando, por el momento no
se contará con un lenguaje en escalera, pero vamos a solventar esta desventaja con la realización
del armado de bloques con instrucciones propias de los microcontroladores PICAXE, para que
de esta manera podamos contar con una equivalencia en cuanto a la serie de símbolos que nos
puede proporcionar un PLC.
Existe una serie de símbolos del lenguaje en escalera que tienen un reflejo hacia la actividad
exterior del PLC, y de esta manera se tienen contactos normalmente abiertos (N.A.) y normal-
mente cerrados (N.C), los cuales leen la información de las terminales de entrada de datos y en-
vían la información al PLC. También existen los símbolos que por medio de los cuales se le in-
dica al PLC que tiene que enviar un mando de control para activar o desactivar algún actuador o
elemento de potencia. Entonces, para programar un PLC lo único que tenemos que hacer es em-
plear los símbolos adecuados para tener un sistema de control automático.
Por otra parte, los símbolos que se emplean en el lenguaje en escalera, son la base para pro-
gramar las funciones lógicas que integran al programa que controla algún proceso industrial, por
lo tanto, por medio de un ejemplo vamos a observar de qué manera se puede implementar una
función lógica AND (Y), ó una función lógica OR (O) y una negación.
Figura 116
Funciónlógica
anD(Y).-
Esta función en len-
guaje escalera equivale a
interconectar una serie de Tabla 7
contactos que pueden ser
N.A. ó N.C. en serie, lo que asemeja en un diagrama eléctrico, a un circuito serie en donde se en-
cuentran interruptores y al final de éstos una lámpara, y para que ésta encienda en necesario que
todos estén cerrados. Para implementar esta misma función mediante el código en un microcon-
trolador PICAXE lo haremos en dos partes, en primer término se requiere leer el estado que es-
tán reportando los sensores (en este caso discretos), para ello como ejemplo obsérvese el frag-
mento de lenguaje escalera expresado en la figura 116.
Esta disposición de símbolos da origen a una rama, en la cual se observa el efecto de 3 con-
tactos que al estar conectados en serie, se tiene una equivalencia de una función lógica AND, es-
tos contactos muestran su efecto a partir de 3 entradas, pues bien, en nuestro microcontrolador
PICAXE también se tiene que leer el estado de 3 entradas para tener la equivalencia, y para ello
necesitamos saber en qué terminales de entrada de datos se encuentran conectados los sensores,
continuando con el ejemplo supóngase que las entradas para conectar esos sensores fueron la E0,
E1 y E2 (en un PICAXE las terminales de entrada son 5 y son E0, E1, E2, E6 y E7), por lo tan-
to para que la función lógica AND implementada en la figura 132, tenga el
mismo efecto en el microcontrolador PICAXE, se tiene que leer sólo el efec-
to de las terminales involucradas con la función lógica, por lo que tenemos
que anular lo que suceda con las terminales restantes, para ello vamos a colo-
car una máscara a manera de filtro, para que sólo pueda obtenerse el estado
lógico de los sensores en las terminales de entrada que nos interesan. La más-
cara o filtro, que le vamos a colocar al PICAXE, estará implementada de
acuerdo a como se muestra en la tabla 7.
Por medio de la aplicación de la máscara descrita anteriormente, vamos a in-
Figura 117
dicarle al PICAXE que lea sus terminales de entrada y ese dato lo almacene
en un registro temporal o variable que puede ser como
Figura 118 en este ejemplo, el identificado como “b0”, y para eli-
minar el efecto de las terminales E6 y E7 lo que tene-
mos que hacer es, de alguna manera, que estos bits ad-
quieran un valor de 0 lógico, no importando el estado
que tengan sus sensores respectivos, mientras que so-
bre las terminales E0, E1 y E2 se debe mantener el va-
lor del estado lógico que respectivamente guarden los
sensores correspondientes. Esto se puede escribir por
medio de un “diagrama de flujo” con el que haremos el
programa de nuestro PLC en el Editor de Programas.
Para describir entonces, cómo se hace una función
AND, vea el esquema de la figura 117.
Se observa que el valor de la variable b0 se opera por
medio de una función AND (&) con el valor decimal de
7, mismo que equivale a la aplicación de la máscara, y
de esta manera cualquier valor lógico que tengan las
terminales E6 y E7 será igual con “0” lógico. El dato
E0=1,E1=1,E2=1,E3=0,E4=0
Entonces la sumatoria será igual a “7” y para completar la función AND deberemos pregun-
tar si la variable b0 = 7, tal que cuando se cumpla esa condición entonces la salida “0” vaya a es-
tado alto. El diagrama de flujo que representa a la función lógica AND se completa entonces con
el diagrama de flujo de la figura 118.
Funciónlógicaor(o).-
Esta función en lenguaje escalera obliga a interconectar interruptores en paralelo, lo que equi-
vale en un diagrama eléctrico a tener alternativas para que al final de éstos pueda encenderse una
lámpara, y para ello es suficiente con tan solo tener un interruptor cerrado. Para implementar la
función OR mediante el código en un microcontrolador PICAXE, en primera instancia se requie-
re leer el estado que están reportando los sensores (en este caso discretos), para ello a manera de
ejemplo se muestra un fragmento del lenguaje escalera ilustrado en la figura 119. Por la disposi-
ción de los símbolos se está dando origen a una bifurcación en una rama, en la cual se observa el
Figura 121
que hacer es que de alguna manera, estos bits adquieran un valor de 0 lógico, no importando el
estado que tengan sus sensores respectivos, mientras que las terminales E0, E2 y E6 deben man-
tener el valor del estado lógico que respectivamente, guarden los sensores que tengan conecta-
dos. En dicha figura se observa que el valor de la variable b0, se opera por medio de una función
AND (&) con el valor decimal de 69, mismo que equivale a la aplicación de la máscara (vea la
tabla 8 nuevamente), y de esta manera sólo se tendrán en cuenta para fijar el dato de la variable
b0 el dato que tengan las entradas E0, E2 y E6. La instrucción (let b0 = pins & 69) indica que se
le asigne a b0 el valor correspondiente a la suma en decimal (con el peso de cada bit) de las en-
tradas E0, E2 y E6. Por ejemplo, si E6=1 (que tiene un peso igual a 64 expresado en decimal,
E2=0 (no tiene peso por ser “0”) y E0=1 (tiene un peso igual a 1, expresado en decimal) enton-
ces b0=65 (64+1).
Posterior a la aplicación de la máscara, se tiene que analizar el estado de las 3 terminales que
están involucradas con la función lógica OR del lenguaje en escalera de la figura 119, para ello
el valor que debe estar alojado dentro de la variable b0 se debe comparar con el valor decimal de
0, específicamente se hace la pregunta si b0 es mayor que 0. Si el estado de los 3 sensores es igual
a 0 lógico, significa que ninguno de ellos se ha activado, por otra parte si en la variable b0 se re-
portara cualquier valor que sea mayor que 0, quiere decir que alguno de los sensores o todos in-
clusive están en 1 lógico. Por lo tanto, el paso siguiente del diagrama de flujo será “preguntar” si
b0>0, ya que cualquier valor mayor que “)” indicará que al menos un sensor en los pines E0, E2,
E6 esté activado.
El efecto de la función lógica OR, programado en el diagrama de flujo de la figura 120 equi-
valente al lenguaje escalera de la figura 119, lo estamos reflejando sobre la salida S1. La lámpa-
ra conectada en esta salida se encenderá cuando por lo menos uno de los 3 sensores reporten un
1 lógico sobre las terminales de entrada del PICAXE.
Si se quiere cambiar de terminales de entrada o involucrar más (sólo tenemos 5 entradas), bas-
ta con adecuar la máscara que filtra a las terminales que nada tienen que ver con la función OR
que se quiere implementar, por otra parte si se necesitan más funciones lógicas OR, no tenemos
más que repetir el fragmento del código que hicimos para el PICAXE, por lo que éste tiene que
repetirse tantas veces como funciones necesitemos.
Recuerden que con el programa llamado “PICAXE Programming Editor”, podemos imple-
mentar perfectamente las mismas funciones que se realizan en un lenguaje escalera, claro que no
es tan fácil de hacer pero se puede. Por otra parte ya he-
mos abordado los conceptos mínimos que se requieren
Figura 122
para que nuestro PLC haga todas las funciones básicas
de uno comercial, pero se debe tener presente que se
necesitan dominar ciertas técnicas de programación pa-
ra los PLC, por lo que nuevamente les hacemos una
atenta invitación a que visiten nuestra página de internet
www.webelectronica.com.ar y en la sección de pass-
word empleen la clave “progplc”, para que puedan des-
cargar mucha información sobre la programación de
PLC.
Si quieren obtener más información de los microcontro-
ladores PICAXE los invitamos a que descarguen de la
página de Internet, toda la información que necesiten de
microcontroladores PICAXE, pero ahora empleando la
clave “picaxe”. El código en basic, derivado del diagra-
ma de flujo para implementar la función AND, se muestra en la tabla 9. El código en basic deri-
vado del diagrama de flujo para implementar la función OR se muestra en la tabla 10. Por últi-
mo, en la figura 121 se muestra el diagrama completo para la placa de circuito impreso, incluyen-
do la máscara de componentes (el lado de las pistas de impreso se ha reproducido en la figura
113). Recuerde que este PLC se programa con el Editor de Programas.
ProgramaciónCombinacionaldelPLC-PICAXE18
la figura 122, puede servir como un modelo a escala de alguna de las muchas máquinas reales
que se encuentran en la industria y que hacen las tareas de perforar, cortar, marcar (suajar), im-
primir, etc.
Laformadeoperardenuestromecanismoserálasiguiente:
• Como punto inicial, nuestro mecanismo se encontrará en estado de reposo, por lo que su par-
te móvil se ubica en la parte inferior, mientras este estado será indicado mediante una lámpara.
• Posteriormente, si se oprime el botón de inicio se apagará la lámpara de reposo y se encen-
derá la de operación, además el mecanismo comenzará a desplazar hacia arriba su parte móvil.
• Una vez que la parte móvil alcance su posición máxima superior, inmediatamente invertirá
su sentido de desplazamiento y ahora la parte móvil efectuará un movimiento de descenso.
• Cuando la parte móvil alcance su posición máxima inferior, nuevamente invertirá su sentido
de desplazamiento y ahora la parte móvil efectuará un movimiento de ascenso. Así continuará ba-
jando y subiendo hasta que se oprima el botón de paro, lo cual provocará que la parte móvil des-
cienda y se detenga, induciendo que la lámpara de operación se apague y la de reposo se encien-
da.
Nuestro PLC-PICAXE18 tendrá bajo su control la operación de lámparas, sensores, botones y
un motor que en este ejemplo es de 12 VCD, tal como se indica en el diagrama de la figura 123.
Las entradas que serán empleadas son las identificadas como E0, E1, E2 y E6, las cuales tie-
nen conectadas los siguientes sensores y botones. Ver tabla 11.
El tipo de sensores que se tienen que emplear para este PLC deben reflejar su estado lógico
mediante el cierre o apertura de un contacto, el cual justamente es el que se conecta en los bor-
nes de entrada.
En este programa de ejemplo se están empleando las salidas identificadas como S0, S1, S2 y
S3 las cuales controlan las lámparas que poseen los botones de inicio y paro, estas lámparas son
de 117 VCA. Además estas salidas también controlan el sentido de giro de un motor de 12 VCD,
por medio de relevadores que se alimentan en su bobina igualmente con 12 VCD, en la tabla 12
se muestra la identificación de las terminales y la denominación de las etiquetas relacionadas.
En la figura 123 se aprecia que para controlar el giro del motor se tienen que activar o desac-
tivar 2 relevadores, los cuales nunca deben activarse al mismo tiempo, porque se puede colocar
en cortocircuito a la fuente que alimenta al motor, por lo que en el programa de control se deben
tener en cuenta las condiciones para que cuando se requiera energizar el motor para que suba el
mecanismo, se tiene que desactivar el relevador que provoca el movimiento hacia abajo del me-
canismo. Como se explicó al comienzo de este ejemplo, se está empleando un “juguete” que re-
presente la forma de actuar de un mecanismo real, por lo tanto el motor que tiene es de 12 VCD,
pero en una situación real el motor puede ser con un VCA e inclusive del tipo trifásico, lo cual
no debe representar ningún problema, ya que a través de los mismos relevadores que estamos pro-
poniendo en esta nota, se
pueden controlar las fases de
los motores y por lo tanto se
manipulará el sentido de giro
del motor.
Con respecto a la programa-
ción del PLC-PICAXE18, se
recomienda que se sigan
Figura 124 - Escalón 1 del lenguaje en escalera.
exactamente los mismos pa-
sos que se realizan para pro-
gramar un PLC, esto es, diseñar el programa mediante el empleo del llamado “lenguaje en esca-
lera”, y una vez que tengamos el lenguaje en escalera podremos interpretarlo para su posterior
conversión al código del microcontrolador PICAXE. Por el momento, el PLC-PICAXE18 no
cuenta con la programación en lenguaje escalera, por lo que a continuación les mostraremos de
qué manera se interpretan los símbolos para que se controle el mecanismo de este ejemplo.
El diseño del programa en lenguaje en escalera se encuentra de manera completa en la serie de
PLC que se está desarrollando en Saber Electrónica, y a la cual pueden tener acceso en la página
www.webelectronica.com.ar y en la sección de password ingresen la clave “progplc”. Aquí sólo
vamos a describir de qué manera se interpreta el lenguaje en escalera para programar el micro-
controlador PICAXE de nuestro PLC.
A continuación mostraremos las partes del lenguaje en escalera y su debida conversión al có-
digo del microcontrolador PICAXE.
En la figura 124 se muestra el primer escalón del lenguaje en escalera, cabe aclarar que este
programa lo hemos presentado en la serie de PLC a que hicimos referencia en el párrafo anterior.
Este fragmento tiene la misión de identificar cuando el botón de inicio sea oprimido por alguna
persona operadora, y ese accionamiento se tiene almacenar en un registro de memoria temporal
del PLC, por lo que estará presente la condición del accionamiento todo el tiempo mientras no se
oprima el botón de paro.
En este escalón de lenguaje en escalera observemos que son dos funciones lógicas las que se
realizan, en primea instancia la función O (OR) en los contactos identificados como E2 y M0, y
el resultado de esta función lógica se combina con el contacto identificado como /M1 para for-
mar la función lógica Y (AND), y si las funciones lógicas resultan ser verdaderas se procederá a
la activación de la salida M0. Esta salida M0, no tiene un reflejo hacia fuera del PLC, por lo que
se considera como un salida interna ó como un registro, por lo que debemos establecer en el PI-
CAXE la cantidad de los registros que serán empleados para este tipo de salidas internas. El PI-
CAXE-18 posee 14 registros de memoria RAM identificados como b0, b1, ……, b13, y todos és-
tos con un total de 8 bits cada uno, por lo que para guardar el es-
tado de cada una de las salidas internas que se vayan a emplear
basta con manipular un bit por cada una de estas salidas. Para
ello podemos emplear un total de 2 registros de memoria RAM
del PICAXE, los cuales serán b12 y b13, que nos darán capaci-
dad para guardar hasta 16 registros internos del PLC, en caso de
requerir más, tan sólo tenemos que tomar otro registro de me-
moria RAM del PICAXE, a continuación se muestra la distribu-
ción de los bits de los registros de memoria RAM empleados.
Para que el escalón 1 del lenguaje en escalera de la figura 124
tenga una equivalencia con el PICAXE, en primera instancia se
leerá el estado de la terminal de entrada E2, que es en donde se
tiene conectado el botón de inicio, y en el PICAXE esta acción
está identificada por medio del rombo que internamente tiene la
pregunta “pin2 = 1” (observe la figura 126), en este caso se es-
tá implementando la función lógica OR. Por lo tanto, si la res-
puesta es “sí” (Y) ya no tiene caso evaluar el estado de la salida
interna M0, pero si la respuesta es “no” (N) se tiene que verifi-
car el estado de la salida interna M0 por lo que se toma el regis-
tro b12 del PICAXE, para de ahí verificar el estado del bit B0 Figura 125 - Diagrama de flujo que
ya que éste tiene almacenada la información del estado de la sa- representa al Escalón 1.
Tabla 13 - Ubicación de las salidas internas del PLC. lida interna M0, la técni-
B7 B6 B5 B4 B3 B2 B1 B0 ca que empleamos en es-
b12 M7 M6 M5 M4 M3 M2 M1 M0 te caso para leer única-
b13 M15 M14 M13 M12 M11 M10 M9 M8 mente el estado de M0 y
descartar todos los de-
más bits, es el empleo de una máscara que no importando la información que tengan los demás
bits los limpiamos (colocamos en cero) y únicamente dejamos al bit correspondiente con M0, pa-
ra ello hacemos uso del comando “let b0 = b12 & 1”. Esta operación tiene una naturaleza lógica
y la empleamos para generar la máscara que nos permite limpiar todos los bits menos el de M0,
el operador & realiza la función AND (de la máscara) bit por bit con respecto del registro b12 y
el valor 1 quedando lo siguiente. Supongamos que en b12 se tenga la siguiente información 17,
el número 17 tiene que ser convertido a binario de 8 bits, por lo que queda 00010001, lo cual
quiere decir que las salidas internas M0 y M4 están activadas.
El valor 1 al convertirlo a binario de 8 bits queda 00000001, y al emplear el operador & con
el registro b12 se obtiene el siguiente resultado:
Valordecimal Valorbinario
b12 17 00010001
& &
1 00000001
....................................................................................
b0 1 00000001
De esta manera, al operar con la función AND, el registro b12 con el valor de 1 hace que se
limpien todos los bits menos el que corresponde a M0, y si éste tiene un valor de 1 se conserva
el 1, y si tiene almacenado un 0 también se conserva. Para no afectar el estado de los otros bits,
el resultado se almacena en un registro de trabajo que es donde se guardarán los valores que con
carácter temporal se irán generando, el registro de trabajo será el b0. Como resultado del enmas-
caramiento se arrojará únicamente un bit y por la posición que tiene éste, como paso siguiente se
procede a revisar si se encuentra en 1 “lógico” ó 0 “lógico” mediante la pregunta “b0 = 1” que se
encuentra dentro de un rombo, observe la figura 125. Si la respuesta es afirmativa la función ló-
gica OR entre E2 y M0 será verdadera, por lo que ahora se tiene que someter este resultado por
medio de la función lógica AND con /M1, observe la figura 124. Pero si la respuesta de la fun-
ción lógica OR no fue verdadera, entonces ya no tiene caso continuar con el análisis del estado
de /M1. Para finalizar con este primer escalón, tenemos que emplear nuevamente un enmascara-
miento sobre el registro b12, ya que es ahí donde se encuentra el estado de la salida interna M1,
pero ahora ocupa el bit b1, de acuerdo con la tabla 13. En el lenguaje escalera se representa a M1
con el símbolo previo “/” lo cual quiere decir que se encuentra negado (/M1), esto quiere decir
que el estado lógico de la salida interna tiene que ser 0 para que sea valida, el proceso del enmas-
caramiento se ilustra a continuación:
Valordecimal Valorbinario
b12 17 00010001
& &
2 00000010
........................................................................................
b0 0 00000000
Valordecimal Valorbinario
b12 17 00010001
& &
254 11111110 Figura 127 - Diagrama de flujo
........................................................................................... que representa al Escalón 2.
b12 16 00010000
Ahora, si por lo contrario se requiere que M0 se coloque en 1 “lógico”, la operación que será
empleada es “let b12 = b12 | 1” observe la figura 125, y de igual manera como en el caso ante-
rior, tan sólo debe manipularse el bit que corresponda con M0 que a su vez se encuentra dentro
del registro b12 del PICAXE, y entonces el resultado servirá como respaldo para siguientes ope-
raciones donde se encuentre involucrado el registro M0, ya que sólo cambiará su estado lógico
cuando se vuelvan a evaluar las con-
diciones que están involucradas en
M1.
Valordecimal Valorbinario
b12 17 00010001
| |
1 00000001
b12 17 00010001
las condiciones del escalón 6 se cumplen totalmente entonces la salida interna M1 tenderá a ubi-
carse en el estado de 1 “lógico”.
El escalón 6 tiene una amplia importancia, ya que a través de éste será posible detener el pro-
ceso mediante un botón de paro, el cual puede ser empleado ya sea cuando se ha terminado la jor-
nada laboral o cuando ocurra algún incidente que obligue detener el proceso. El paro de las acti-
vidades se realiza cuando se acciona el botón que está destinado a detener el proceso de produc-
ción. En la figura 135 se muestra al escalón 6, representado mediante un fragmento de diagrama
de flujo para el sistema PICAXE.
Hemos recorrido ya la posibilidad que existe de poder programar nuestro PLC aún sin contar
con el lenguaje en escalera, empleando un microcontrolador PICAXE-18 y su software de pro-
gramación. Por supuesto que sabemos que no es tan fácil de momento programar nuestro PLC,
tal como se hace con el empleo del lenguaje en escalera.
Pero de alguna manera suplimos estas carencias con las herramientas mostradas en este ejem-
plo, que además nos parecieron de lo más adecuado para facilitar la programación del PLC-PI-
CAXE18. El ejemplo mostrado posee diversas funciones lógicas y con cierto grado de compleji-
dad, por lo que el método aquí desarrollado puede servir de base para futuras programaciones de
nuestro PLC.
Una vez más les recordamos el programa llamado “PICAXE Programming Editor”, es el que
se utiliza para poder implementar perfectamente las mismas funciones que se realizan en un len-
guaje escalera, con las rutinas que aquí se mostraron para hacer posible la programación.
El programa completo, tanto en diagramas de flujo como en código Basic, lo podrán descar-
gar de nuestra página de internet y en la sección de password ingresen la clave “subeybaja” en
donde además encontrarán esta misma aplicación pero en lenguaje en escalera. En la figura 137
se muestra el kit del PLC-PICAXE18 que es empleado en este ejercicio.
Si quieren obtener mas información de los microcontroladores PICAXE los invitamos a que
descarguen de la página de Internet toda la información que necesiten de microcontroladores PI-
CAXE, empleando la clave “picaxe”.
sistemadealarmaDomiciliariainteligente
No caben dudas que con PICAXE, realizar diseños de circuitos electrónicos es más sencillo...
A continuación describimos el funcionamiento de una alarma de 3 zonas de entrada y dos zonas
de activación, pero lo más importante es que todos los parámetros pueden ser reprogramados a
voluntad del técnico y/o del usuario. Una de las zonas es de disparo demorado, para que le dé la
oportunidad al usuario de desconectar la alarma cuando está ingresando a la propiedad, las otras
dos zonas son de disparo instantáneo, lo que implica que una vez detectada una interrupción, las
salidas cambian de estado de inmediato. En cuanto a las salidas, una de ellas es de activación con-
tinua, de modo que una vez disparada la alarma, sólo se desactivará esa salida si se desconecta la
central y la otra salida es temporizada, es decir, una sirena sonará durante 3 minutos y luego se
apagará, quedando el sistema en “alerta” por si se produce una nueva interrupción en alguna de
esas zonas, en cuyo caso la salida volverá a activarse. Y eso no es todo... el sistema detectará la
posibilidad de fallos en algún sensor de alguna de las tres zonas y si esto ocurre, la deshabilitará
para que no haya disparos erráticos del sistema, quedando las otras dos zonas en estado normal
para detectar la presencia de intrusos.
Proponemos el armado de una central de alarma multipropósito que puede utilizarse junto con
otros bloques funcionales para realizar sistemas de seguridad inteligentes, cuyo desempeño de-
pendan del ingenio y la habilidad del técnico. La central basa su funcionamiento en un microcon-
trolador PICAXE-08.
Como somos conscientes de que muchos lectores aún no han realizado proyectos con micro-
controladores PICAXE, en primer lugar describiremos el funcionamiento de una alarma multiu-
so que fue presentada en el tomo 7 de la colección Club Saber Electrónica (figura 138), destina-
do íntegramente a explicar el funcionamiento y programación de los microcontroladores PICA-
XE de 8, 18 y 28 terminales, brindando varios ejemplos prácticos.
2zonasinstantáneasprogramables
1zonademoradaprogramable
1salidadeactivacióncontinua
1salidadeactivacióntemporizadaprogramable
incluye:
tecladomicrocontroladocondisplay
Fuenteconcargadorautomáticodebatería
sirenadealtodesempeñoconhabilitaciónlógica
alarmamultipropósito
conPiCaXeparaaprendizaje
Hoy en día, casi todos los edificios modernos tienen algún tipo de
alarma. Por ejemplo, un sistema contra incendios puede tener una serie
de detectores de humo para actuar a tiempo, si se observa el humo de un
incendio.
Sin embargo, muchos sistemas de alarmas son también sistemas de
seguridad, por ejemplo el sistema de alarma de una plataforma de per-
foración puede monitorear la temperatura y presión del petróleo crudo a
Figura 138
Figura 139
medida que es extraído y puede, automáticamente, apagar el sistema si se detecta una falla. Esto
favorece a la seguridad, tanto de los trabajadores como del medio ambiente alrededor de la pla-
taforma.
Todos estos sistemas están compuestos por dispositivos de entrada y salida. A menudo estos
dispositivos están conectados a un microcontrolador, el cual interpreta la información suministra-
da por los sensores y luego enciende o apaga las salidas en el momento correcto.
En el caso de un sistema de alarma contra incendios, las entradas podrían ser los sensores de
humo y el teclado numérico del frente del panel de control. Los dispositivos de salida serían la
pantalla del panel de control, la sirena externa y luces estroboscópicas. El microcontrolador es el
“cerebro” del sistema.
El “diagrama de bloques” utiliza un PICAXE-08 (figura 139). La traducción de las palabras
que empleamos es:
Input = entrada
Process = procedimiento
Output = salida
Smoke = detector de humo
Strobe = luz estroboscópica
Keypad = teclado numérico
Siren = sirena
Microcontroller = microcontrolador
LCD = pantalla o display LCD
El esquema electró-
nico del sistema de
alarma para prácti-
cas y aprendizaje se
muestra en la figura
140.
El detector de humo
y el teclado numéri-
co proveen infor-
mación al micro-
Figura 140
controlador; por lo
tanto se les conoce
como “entradas”.
Luego, el microcontrolador “decide” cómo reaccionar y puede, en determinados casos, operar al-
gunas de las salidas, por ejemplo encender la sirena y la luz estroboscópica o mostrar un mensa-
je en la pantalla de cristal líquido (LCD).
Diseñar y construir un sistema de alarma puede resultar muy fácil si Ud. sabe perfectamente
qué es lo que quiere que haga el circuito. La alarma debe programarse de manera que reaccione
a las entradas y a las señales de los sensores. Las especificaciones del diseño son:
1) Una alarma contra incendios. Se utiliza un sensor de luz para detectar humo. Al detectar
humo se activa una sirena.
2) Una alarma contra robos. Al activar el cable de una trampa se activa una luz estroboscó-
pica. Sin embargo, durante el día la alarma es desactivada por un sensor de luz.
3) La caja fuerte de un banco.
Al activar el interruptor de una alarma de “pánico”, un cerrojo solenoide electrónico cierra
la caja fuerte del banco.
4) Una alarma para monitorear la recámara de un bebé. Cuando no se detectan movimientos
o sonidos se activa un timbre de advertencia.
algunosConceptospararecordar
El conector y el circuito de interface se incluyen en todo circuito impreso diseñado para uti-
lizarse con el microcontrolador PICAXE-08. Esto permite reprogramar al microcontrolador PI-
CAXE sin sacar el chip del circuito impreso - ¡Simplemente conecte el cable cada vez que desee
descargar un nuevo programa!
PruebadeFuncionamientodeltransistor
Ya hemos visto cómo se prueban algunos componentes por medio del sistema PICAXE. Apro-
vechando que la alarma posee un transistor, veremos cómo se lo puede probar.
Un transistor es un componente electrónico que controla el flujo de corriente en un circuito.
El transistor actúa como un “interruptor electrónico” de manera que una pequeña corriente de
“emisor” pueda controlar a una gran corriente. Esto permite que dispositivos de poca corriente,
como el microcontrolador, controlen dispositivos de grandes corrientes (como motores).
Los transistores se utilizan en radios, en juguetes electrónicos y en casi todos los dispositivos
electrónicos.
Los motores pueden generar “ruido eléctrico” cuando están funcionando. Esto ocurre debido
a que los imanes y las bobinas eléctricas, que están dentro del motor, generan señales eléctricas
a medida que el motor rota. Estas señales (ruido eléctrico) pueden afectar la operación del micro-
controlador. Algunos motores, como los motores solares, producen muy poco ruido mientras que
otros producen mucho ruido.
Para evitar que el ruido eléctrico afecte al circuito del microcontrolador, se debe instalar siem-
pre un condensador de 220nF entre los terminales del motor antes de utilizarlo.
Adicionalmente, se debe conectar un diodo (por ejemplo un diodo 1N4001) a un lado del mo-
tor. Este se utiliza para prevenir daños al transistor cuando el motor comienza a desacelerarse lue-
go de haber apagado el transistor (por un corto período de tiempo (mientras se desacelera y final-
mente se detiene) el motor actúa como un dínamo y genera corriente eléctrica). Al conectar el dio-
do asegúrese que la “banda” esté conectada en el sentido correcto.
Otra buena idea es conectar un condensador electrolítico de 100µF a través del suministro de
las baterías, para ayudar a suprimir el ruido eléctrico. Para probar un transistor con el sistema PI-
CAXE, se puede conectar un timbre como dispositivo de salida. La base del transistor recibirá
una señal desde la salida 4 (pata 3) del microcontrolador.
Después de conectar el timbre lo podemos probar utilizando un simple programa, como el que
se muestra a continuación:
main:
high4
wait1
low4
wait1
gotomain
Este programa enciende y apaga cada segundo, el timbre conectado al pin de salida 4.
Para descargar el programa, siga los pasos que hemos explicado en varias oportunidades a lo
largo de este texto, empleando cualquiera de los circuitos (entrenador para PICAXE-08, masco-
ta o la alarma que estamos describiendo y cuyo circuito daremos más adelante). Si el timbre no
funciona verifique que:
Entre los dispositivos de salida que se pueden conectar mediante un transistor están los tim-
bres, motores, solenoides, sirenas y luces estroboscópicas. Sin embargo, algunos dispositivos
puede que requieran transistores de alta potencia. En estos casos se puede utilizar el transistor
Darlington BCX38B en vez del transistor estándar BC548B.
Según podemos observar en la figura 140, el proyecto de alarma utiliza un microcontrolador
PICAXE-08, un LED y un zumbador como dispositivos de retroalimentación, y un dispositivo de
salida adicional elegido por el usuario (sirena o luz estroboscópica).
Este proyecto también puede reaccionar a señales de sensores digitales y/o analógicos (por
ejemplo a fotorresistencias).
Del circuito de la alarma debemos hacer las siguientes observaciones:
¡recuerdenoconfundirelnúmerodepatadelchipconelnúmerodepindesalida/entrada!
Paso1–Verifiquelasunionessoldadas.
Verifique que todas las uniones estén conectadas tanto al
terminal como al cable, y que el cable esté sujeto firme-
Figura 141 mente.
También verifique que la soldadura no haga accidental-
mente puentes entre terminales adyacentes. Esto es mucho
más probable en el LED y en el zumbador.
En el conector estéreo, los terminales cuadrados a cada la-
do pueden unirse sin ninguna consecuencia, ya que de to-
das formas están unidos por una pista en el tablero. Sin
embargo, éstos no deben unirse al agujero redondo cen-
tral.
Paso2–Verifiqueloscomponentes.
1) Verifique que el cable negro de la ba-
tería esté en el agujero marcado 0V y
que el cable rojo esté en el agujero mar-
cado V+.
2) Verifique que el chip PICAXE-08 esté insertado correctamente en el co-
nector, con la muesca (que muestra el pin1) apuntando hacia el conector esté-
reo.
3) Verifique que el lado plano del LED esté conectado al agujero correcto
del PCB.
4) Asegúrese de no haber olvidado unir, mediante un alambre, los agujeros
marcados PX en el extremo inferior izquierdo del tablero.
5) Asegúrese de pegar el lado de bronce del zumbador al tablero con cinta
adhesiva de doble contacto.
6) Verifique que el conector esté soldado correctamente, incluyendo el ter- Figura142
Paso3–Conectelabatería.
Verifique que las 3 pilas AA estén colocadas correctamente dentro
de la caja de baterías. Conecte la caja de baterías al cable de baterías y
ponga su dedo sobre el microcontrolador PICAXE. Si comienza a ca-
lentarse desconecte la batería inmediatamente, ya que debe haber al-
gún problema (lo más seguro es que el chip o los cables de la batería
estén conectados en sentido inverso).
Paso4–descargueun
programaparaprobarelLEd0
Conecte el cable a su computadora y al conector PICAXE en el
PCB. Vea que el conector del cable quede completamente dentro del
conector del PCB.
Asegúrese que el software esté en el modo PICAXE-08 y que ha- Figura 144
ya elegido el puerto serie correcto.
Escriba y descargue el siguiente programa (figura 142):
main:
high0
wait1
low0
wait1
gotomain
Paso5–Pruebelasalida
Conecte un dispositivo de salida (por ejemplo un timbre) a
los cables de salida y luego escriba y descargue el siguiente
programa (figura 143):
main:
high4
wait1
Figura146
low4
wait1
gotomain
Paso6–Pruebeelzumbador
Escriba y descargue el siguiente
programa como muestra la figura
144.
main:
sound2,(65,100)
sound2,(78,100)
sound2,(88,100)
sound2,(119,100)
gotomain
Paso7-PruebeelInterruptor
Conecte un interruptor a la entrada digital. Escriba y descargue el siguiente programa (observe
la figura 145):
main: 'hacerunaetiquetallamada“main”
ifinput3isonthenflash 'saltaaflashsilaentradaestáencendida
gotomain 'sinoregresarainicio
flash: 'hacerunaetiquetallamada“flash”
high0 'encendersalida0
wait2 'esperar2segundos
low0 'apagarsalida0
gotomain 'regresaralinicio
El LED de la salida 0 deberá encenderse cada vez que se presione el interruptor. Si no lo ha-
ce, verifique que el interruptor y que las resistencias de 10kΩ estén soldadas correctamente.
Paso8–Pruebela
Fotorresistencia
Conecte una fotorresistencia a la entrada analógica. Escriba y descargue el siguiente progra-
ma (figura 146):
main:
readadc1,b1
ifb1>100thendo4
ifb1>50thendo0
low0
low4
gotomain
do4:
high4
low0
gotomain
do0:
high0
low4
gotomain
Ambos LEDs deberán encenderse en momentos distintos cuando usted cubre y descubre la fo-
torresistencia con su mano (de manera que incidan sobre la fotorresistencia distintos niveles de
luz). Si esto no ocurre, verifique que la fotorresistencia y la resistencia de 1kΩ estén soldadas co-
rrectamente.
¡Si ha ejecutado todas estas pruebas correctamente lo felicitamos ya que ha construido y en-
samblado correctamente su alarma! ¡Ahora es el momento de desarrollar y probar sus propios
programas para operar su sistema de alarma!
ideasdeProgramación
Ahora que ha ensamblado y probado su alarma, es el momento de desarrollar su propio pro-
grama. Este puede hacer que la alarma reaccione de diferentes maneras a los sensores analógicos
y digitales.
Veremos ahora dos ejemplos de programas. Estos están diseñados para darle un punto de par-
tida para la creación de su programa. Usted puede modificarlos o comenzar a hacer un programa
completamente nuevo si así lo prefiere.
Programa1
Este programa de uso general contiene un bucle principal el cual enciende y apaga el LED, y
también verifica el estado del sensor analógico (fotorresistencia) y de la entrada digital (interrup-
tor). Cuando se presiona el interruptor suena una alarma por dos segundos.
Si la fotorresistencia se cubre, el zumbador emitirá un “pip” de advertencia hasta que el nivel
de luz vuelva a subir.
` Programa 1
main:
` encender LED y leer el valor de luz
high0
readadc1,b1
gotomain
Programa2
Este programa está diseñado como si fuera un sistema de alarma contra incendios. En el mis-
mo, la alarma se activa una vez que se detecta humo sobre el sensor de luz (cuando el sensor de
luz indica un valor de luz menor de lo normal).
Una vez que la alarma se ha activado, la misma se mantiene encendida y sólo es posible apa-
garla desconectando la alimentación del sistema. La entrada digital se utiliza como dispositivo
anti-vandalismo. Mientras la caja de la alarma esté cerrada, el interruptor se mantendrá encendi-
do (ésta es la condición normal). Si se abre la caja, el interruptor se abrirá y activará la alarma del
zumbador hasta que la caja vuelva a cerrarse.
` Programa 2
main:
` LED apagado
low0
` leer valor de luz
readadc1,b1
gotomain
Estos son simplemente dos de los muchos ejemplos que pueden utilizarse para la programa-
ción de su alarma.
Nota: Aclaramos que lo dado hasta aquí fue explicado en el tomo de Colección Nº 7 del Club
Saber Electrónica con mayores detalles y que si a Ud. le interesa el tema, puede bajarlo de nues-
tra web con la clave “alarma”. También le comentamos que hay en existencia un kit (AXE102)
con todos los componentes de esta alarma multiuso, que en Argentina tiene un costo de $44.
Si ha leído atentamente estas páginas, habrá podido comprobar que trabajar con PICAXE es
muy fácil y conveniente. Un PICAXE es un PIC normal al que se le ha grabado un programita
interno (firmware) para que se lo pueda programar utilizando una aplicación gratuita llamada
Editor de Programas (que puede bajar de nuestra web) por medio de diagramas de flujo o en BA-
SIC y lo que es mejor aún: “no hace falta quitar el integrado del circuito para su programación”,
es decir, no precisa un cargador adicional.
Centraldealarmainteligente
Figura147
Figura149
Figura150
ProgramacióndelaCentral
Figura154
En la figura 152 indicamos cuáles son los tiempos que debe cambiar en cada caso, antes de
convertir el programa a BASIC. Tenga en cuenta que el valor de la salida temporizada se dá con
la instrucción sleep, lo que significa que cada unidad programada corresponde a 2,3 segundos. Si
Ud. quiere que esa salida esté activa durante 3 minutos, precisará demorar 180 segundos, o sea,
colocamos 80 en el casillero de sleep.
elProgramainteligente
label_A9: ifpin3=1thenlabel_B4
main:
ifpin4=1thenlabel_BC
low0
gotolabel_A9
label_D: low1
letb0=0
label_B4: letb1=b1+1
letb1=0
gotolabel_43
letb2=0
wait10 ; fija el tiempo de rearme
label_BC: wait10 ; fija el tiempo de demora
; de la “Entrada 1”
label_1B: ifpin2=1thenlabel_76
ifpin3=1thenlabel_7D
gotolabel_43
ifpin4=1thenlabel_3C
gotolabel_1B
label_C7: ifpin2=1thenlabel_E6
ifpin4=1thenlabel_DE
label_3C: wait10 ; fija el tiempo de demora
gotolabel_C7
; de la “Entrada 1”
label_43: high0
label_DE: wait10 ; fija el tiempo de demora
high1
; de la “Entrada 1”
sleep3 ; fija el tiempo de la salida
; temporizada en múltiplos
gotolabel_43
; de 2,3 segundos
low1
label_E6: letb0=b0+1
ifb0=3thenlabel_A9
gotolabel_43
ifb1=3thenlabel_C7
FuenteparasistemadealarmaconControlautomáticodeBaterías
Un sistema de alarma se tiene que poder alimentar a través de una fuente de alimentación co-
nectada a la red eléctrica o desde una batería, para que el conjunto siga operando por más que
exista un corte de energía. Para el sistema de alarma inteligente que estamos describiendo, es pre-
ciso contar con una tensión de 5V (de 4,5V a 6V) para la central y 12V para los dispositivos ex-
ternos.
Figura155
En la figura155 se
puede apreciar el circuito
correspondiente a la fuen-
te propuesta. Este diagra-
ma precisa un transforma-
dor con primario de
acuerdo a la red local y
secundario de 15V + 15V
x 3A, de modo que sea
posible alimentar elemen-
tos externos relativamente
potentes. El circuito es
muy sencillo y emplea un
regulador de tensión de
tres terminales para ali-
mentar a la central de
alarma. Note que se tiene
un conector que debe ser
conectado al cargador au-
tomático de baterías y
otro conector a donde de- Figura156
ben colocarse los bornes
de la batería. Debido a la
acción de los diodos D5 y
D6, como la tensión de la fuente es superior a la de la batería (aproximadamente 15V), mientras
haya energía eléctrica la batería estará en estado de espera y ésta proveerá la alimentación cuan-
do se “corte” la corriente.
El circuito es muy sencillo y no admite consideraciones especiales. La tensión de 12V puede
proveer una corriente de hasta 2A, mientras que la tensión de 5V puede proveer una corriente má-
xima de 1A.
El diseño para la placa de circuito impreso sugerida se muestra en la figura 156.
El cargador incluye un doblador de tensión, basado en el conocido circuito integrado 555. Es-
te circuito genera una señal oscilante de forma de onda cuadrada que hace que la salida en la pa-
ta 3 pase alternativamente, entre los estados de masa y 12V.
Figura157
En el circuito de la figura 157, cuando la pata 3 del 555 está a nivel lógico bajo (conectada a
masa), C3 se carga a través de D2 y de D3 hasta que la tensión en sus bornes sea de una magni-
tud próxima a 12V.
Si la pata 3 está a nivel lógico alto (conectada a la tensión de alimentación), la tensión en el
punto de unión de C3/D3 pasará a un valor dos veces más grande, puesto que el polo negativo de
C3 está ya a 12V y la tensión en los bornes de este capacitor cargado es también de 12V. Note
que el diodo D3 está polarizado en forma inversa y se bloquea, mientras estará en estado de con-
ducción, en estas condiciones, C4 debería cargarse con una tensión superior a 12V y llegar en teo-
ría a los 24V. En la práctica, la carga apenas sobrepasa algunos volt la tensión de fuente, que es
más de 12V, lo que resulta suficiente para nuestros propósitos.
A la salida del doblador de tensión nos encontramos con un regulador hecho a partir de un
transistor NPN con un zener como referencia. Podría colocar un BC548 en lugar del TIP31, da-
do que la corriente de carga será pequeña, sin embargo, por seguridad, aconsejamos el empleo del
transistor de potencia.
Se debe ajustar la tensión de salida por medio de VR1 para que sea levemente superior a los
14V, aunque si viera que en carga no hay corriente, deberá aumentar este valor. Lo ideal sería que
con una batería descargada y conectando un amperímetro en serie, la corriente de carga sea del
orden de los 10mA a 20mA.
Cabe aclarar que la corriente que deberá entregar la fuente es superior a este valor (llega a
unos 25mA), a consecuencia de que el integrado consume corriente.
Cabe aclarar que las baterías empleadas en sistemas de seguridad poseen una capacidad del
orden de los 8 ampere/hora, lo cual supone que si la cargamos a razón de 10mA/hora tardaría
unos 40 días en cargarse totalmente (si estuviera descargada por completo). Sin embargo, esto no
ocurre dado que el acumulador se encuentra en condiciones de carga las 24 horas del día. Para
baterías de capacidad igual a 500mA/hora, el tiempo de carga sería de aproximadamente igual a
un día.
sirenaparaalarmaconHabilitaciónLógica
El interesante circuito de sirena que presentamos se caracteriza por la elevada potencia que
puede entregar un parlante por el uso de un transistor de efecto de campo de potencia (Power
FET).
Además de esto, esta sirena tiene ajustes de tono, modulación e intermitencia independientes,
lo que posibilita al usuario ajustar el circuito para un mejor sonido.
Finalmente, esta sirena es habilitada directamente por una salida lógica CMOS sin la necesi-
dad de relé, y en la condición de espera su consumo es extremadamente bajo. Eso la vuelve ideal
para circuitos de alarma alimentados por batería o bien para uso automotor.
La sencillez del proyecto permite también su montaje en una caja de dimensiones reducidas.
Las características son las siguientes:
Figura158
LISTA DE MATERIALES
el oscilador entra en acción, siendo modulado por CI1a. Las señales amplificadas digitalmente
son llevadas a un transistor de efecto de campo de potencia del tipo IRF640 o equivalente. En
realidad puede emplearse cualquier FET de más de 1A de fuente, es por ello que en la placa de
circuito impreso identificamos dónde debe conectarse cada pata del transistor. Le recomiendo que
consulte en la casa de electrónica de su localidad qué transistor FET de potencia tiene, pídale que
le indique la disposición de los terminales y conéctelo a la placa de circuito impreso (figura 159)
por medio de cables y dótelo de un disipador de calor.
La principal característica de este tipo de transistor es presentar una resistencia extremada-
mente baja entre el drenaje (d) y la fuente (s) cuando está saturado.
Esto significa un excelente rendimiento en la excitación de parlantes y otras cargas en circui-
tos de baja tensión. De hecho, estos transistores pueden conducir corrientes muy elevadas (del or-
den de varios amperes) sin problemas, lo que significa una potencia de decenas de watt en un par-
lante común.
La disposición de los componentes en una placa de circuito impreso se muestra en la figura
159.
El transistor de efecto de campo de potencia necesita un buen disipador de calor, y el parlan-
te debe tener una potencia superior a 10W para soportar la intensidad de la señal generada. Para
obtener mayor rendimiento se debe usar una pequeña caja acústica.
Para probar la sirena conecte la unidad a una batería o fuente de por lo menos 3A. Por un ins-
tante, conecte el punto H al positivo de la alimentación. Esto habilitará el circuito y permitirá el
ajuste en los tres trimpots. Para una versión con un poco menos de rendimiento, en caso de difi-
cultad de obtención del FET de potencia, se puede usar un Darlington NPN de por lo menos 4A,
como por ejemplo el TIP 120 o TIP 121. En este caso, el transistor de potencia también debe ser
dotado de un buen disipador de calor.
De esta manera, damos por finalizado este tema, esperamos que cada circuito le resulte útil y
que pueda montar un sistema de alarma a su medida. ************