Club Saber Electrónica Nro. 113. Todo sobre microcontroladores

2ª forros.qxd:Maquetación 1 15/01/14 12:46 Página 1
Editorial - Editorial - Editorial - Editorial
Nº 113
Director de la Colección Club Saber Electrónica
Ing. Horacio D. Vallejo
Jefe de Redacción
Pablo M. Dodero
Club Saber Electrónica es una publicación de
Saber Internacional SA de CV de México y
Editorial Quark SRL de Argentina
Editor Responsable en Argentina y México:
Ing. Horacio D. Vallejo
Administración México:
Patricia Rivero Rivero
Comercio Exterior México:
Margarita Rivero Rivero
Director Club Saber Electrónica:
José María Nieves
Responsable de Atención al Lector:
Alejandro A. Vallejo
Coordinador Internacional
Luis Alberto Castro Regalado
Publicidad
Argentina: 4301-8804 - México: 5839-5277
Internet: www.webelectronica.com.ar
Web Manager: Pablo Ábalos
Club Saber Electrónica. Fecha de publicación: julio 2014. Publicación mensual editada y publicada por Editorial Quark,
He rre ra 761 (1295) Ca pi tal Fe de ral, Ar gen ti na (00541143018804), en conjunto con Saber Internacional SA de CV,
Av. Moctezuma Nº 2, Col. Sta. Agueda, Ecatepec de Morelos, México (005255-58395277), con Certificado de Licitud del
título (en trámite). Distribución en México: REI SA de CV.
Distribución en Argentina: Capital: Carlos Cancellaro e Hijos SH, Gutenberg 3258 - Cap. 4301-4942 - Interior: Distribuidora Bertrán S.A.C. Av. Vélez Sársfield 1950 - Cap. – Distribu ción en Uru guay: Ro de sol SA Ciu da de la 1416 –
Montevideo, 901-1184 – La Editorial no se responsabiliza por
el contenido de las notas firmadas. Todos los productos o
marcas que se mencionan son a los efectos de prestar un servicio al lector, y no entrañan responsabilidad de nuestra parte. Está prohibida la reproducción total o parcial del material
contenido en esta revista, así como la industrialización y/o
comercialización de los aparatos o ideas que aparecen en los
mencionados textos, bajo pena de sanciones legales, salvo
mediante autorización por escrito de la Editorial.
Revista Club Saber Electrónica, ISSN: 1668-6004
Des­de­que­el­pri­mer­mi­cro­con­tro­la­dor­vió­la­luz­en
el­ mun­do­ (el­ 4004),­ y­ cu­ya­ úni­ca­ y­ prin­ci­pal­ ope­ra­ción­era­una­su­ma­de­1­bit,­se­co­men­zó­con­una­ca­rre­ra­tec­no­ló­gi­ca­que­le­jos­de­ver­el­fin,­día­a­día­va
lo­gran­do­ co­sas­ ini­ma­gi­na­bles,­ tal­ es­ el­ ca­so­ de­ los
mi­cro­con­tro­la­do­res­que­ven­drían­a­ser­el­ejem­plo­re­su­mi­do­ y­ en­ mi­nia­tu­ra­ de­ una­ com­pu­ta­do­ra­ per­so­nal­(PC).
Ha­ce­ya­unos­años­apa­re­ció­un­nue­vo­sis­te­ma­con
to­das­las­ven­ta­jas­de­Mi­cro­chip­y­mu­cho­más,­nos­re­fe­ri­mos­ a­ PI­CA­XE,­ un­ chip­ es­pe­cial­ ­que­ fa­ci­li­ta­ aún
más­ la­ ta­rea­ del­ téc­ni­co­ pro­yec­tis­ta­ y­ ar­ma­dor.­ Los
mi­cro­con­tro­la­do­res­ PI­CA­XE,­ son­ PICs­ co­mu­nes­ (He­chos­ por­ Mi­cro­chip)­ a­ los­ que­ se­ les­ ha­ gra­ba­do­ un
pe­q ue­ñ o­ pro­g ra­m a­ in­t er­n o­ de­n o­m i­n a­d o­ firm­w a­r e
(firm­wa­re­ o­ pro­gra­ma­ción­ en­ fir­me,­ es­ un­ blo­que­ de
ins­truc­cio­nes­ de­ pro­gra­ma­ pa­ra­ pro­pó­si­tos­ es­pe­cí­fi­cos,­gra­ba­do­en­una­me­mo­ria­ti­po­ROM,­que­es­ta­ble­ce­la­ló­gi­ca­de­más­ba­jo­ni­vel­que­con­tro­la­los­cir­cui­tos­ elec­tró­ni­cos­ de­ un­ dis­po­si­ti­vo­ de­ cual­quier­ ti­po)
pa­ra­ que­ no­ pre­ci­se­ de­ un­ cir­cui­to­ ex­ter­no­ pa­ra­ ser
gra­ba­do­y­pa­ra­que­el­pro­gra­ma­a­gra­bar­pue­da­ser
es­cri­to­en­Ba­sic­y­hasta­en­dia­gra­ma­de­flu­jo.
Si­ to­da­vía­ no­ los­ co­no­ce,­ dé­ una­ mi­ra­da­ a­ es­ta
obra­ y­ ve­ri­fi­que­ us­ted­ mis­mo­ las­ ven­ta­jas­ de­ es­tos
nue­vos­mi­cro­con­tro­la­do­res.
Ing­Ho­ra­cio­D.­Va­lle­jo
ISBN Nº: 987-1116-62-4
IndIce de la Obra
pIcaxe: la nueva fOrma de prOgramar un pIc.......................................................3
Conociendo los microcontroladores de este sistema ...........................................................................5
Utilitario gratuito para hacer programas..............................................................................................7
Trabajando con PICAXE - Paso a paso: uso de entradas y salidas .....................................................9
Kit entrenador para PICAXE 08........................................................................................................14
Aprendiendo a programar la tarjeta entrenadora 08 ..........................................................................17
Juego de luces tipo auto fanstástico...................................................................................................21
Alarma para puertas y ventanas empleando la tarjeta entrenadora PICAXE 08 ...............................25
Tarjeta entrenadora PICAXE 18........................................................................................................29
Aprendiendo a utilizar el ADC en la tarjeta entrenadora del PICAXE 18 ........................................33
Control de temperatura con la tarjeta entrenadora PICAXE 18 ........................................................39
Programa para desplegar números BCD con la tarjeta entrenadora del PICAXE 18........................45
PLC de 5 entradas y 8 salidas............................................................................................................50
Programación combinacional del PLC - PICAXE 18 .......................................................................61
Sistema de alarma domiciliaria inteligente........................................................................................71
Alarma multipropósito con PICAXE para aprendizaje .....................................................................71
Algunos conceptos para recordar ......................................................................................................73
Prueba de funcionamiento del transistor ...........................................................................................74
Verificación de las uniones soldadas .................................................................................................76
Verificación de los componentes .......................................................................................................76
Conexión de la batería .......................................................................................................................77
Descarga de un programa para probar el LED ..................................................................................77
Prueba de la salida .............................................................................................................................77
Prueba del zumbador .........................................................................................................................78
Prueba del interruptor ........................................................................................................................78
Prueba de la fotorresistencia..............................................................................................................79
Ideas de programación.......................................................................................................................79
Programa 1.........................................................................................................................................79
Programa 2.........................................................................................................................................81
Central de alarma inteligente.............................................................................................................82
Programación de la central ................................................................................................................85
El programa inteligente .....................................................................................................................87
Fuente para sistema de alarma con control automático de baterías...................................................88
Sirena para alarma con habilitación lógica........................................................................................90
2 Club Saber eleCtróniCa
PICAXE: L A N uEvA F ormA
dE
P rogrAmAr
uN
PIC
PI­CA­XE:­La­Nue­va­For­ma­
de­Pro­gra­mar­un­PIC
Des­de­que­el­pri­mer­mi­cro­pro­ce­sa­dor­vio­la­luz­del­mun­do­(el­4004),­y­cu­ya­úni­ca­y­prin­ci­pal­ope­ra­ción­era­una­su­ma­de­1­bit,­se­co­men­zó­con­una­ca­rre­ra­tec­no­ló­gi­ca­que­le­jos­de­ver
el­fin,­día­con­día­se­van­lo­gran­do­co­sas­ini­ma­gi­na­bles,­tal­es­el­ca­so­de­los­mi­cro­con­tro­la­do­res­que­ven­drían­a­ser­el­­ejem­plo­re­su­mi­do­y­en­pe­que­ño­de­una­com­pu­ta­do­ra­per­so­nal­(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 distintas versiones de memoria ROM. Los microcontroladores más avanzados aparte de lo mencionado anteriormente también llegan a poseer temporizadores, ADC, DAC, Comunicación en paralelo, 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 funciones, esto es, microprocesador, disco duro, memoria RAM, etc. Clásicamente, cuando programamos 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 pueden ser los temporizadores, los ACD, etc.
Han aparecido en el mercado sistemas de desarrollo que permiten la programación del microcontrolador de una manera relativamente fácil, en la cual se puede emular el proceso que nos interesa desarrollar. Para la mayoría de estos sistemas de desarrollo, una vez que se tiene terminada la aplicación, el paso siguiente es armar el prototipo e insertar el microcontrolador debidamente programado.
Recientemente ha sido lanzado al mercado un sistema
de desarrollo para programar microcontroladores
PIC llamado PICAXE, que
de por sí quien ha utilizado
estos microcontroladores
pueden constatar lo sencillo
que resulta su programación, el sistema de desarrollo 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
flujo y otra es por medio de
Figura 1
“BASIC”, y aunque esto no
Todo SobrE mICroCoNTroLAdorES PICAXE
3
PICAXE: L A N uEvA F ormA
dE
P rogrAmAr
uN
PIC
es ninguna novedad, ya que estas herramientas existían con anterioridad,
lo ventajoso del PICAXE radica en el
hecho de que se trata de un microcontrolador PIC el que en un segmento de memoria ROM interna le
ha sido grabado, desde su fabricación, un firmware a manera de BIOS
que simplifica la forma de programarlo. Al igual que en todos los sistemas de desarrollo, existen ya predefinidas toda una serie de tarjetas de
prácticas sobre las cuales podemos
emular las aplicaciones que hemos
diseñado, pero gracias al firmware
que poseen los microcontroladores
PICAXE “se puede armar la aplicación completa incluyendo al microcontrolador”, y sobre la
aplicación programarlo sin necesidad del sistema de desarrollo, ni del circuito programador de
microcontroladores. Ver figura 2.
De hecho, el sistema PICAXE hace más accesible la programación de microcontroladores a
todas aquellas personas que tan sólo cumplan con el único e indispensable requisito que es el de
querer aprender. Vea en la figura 3 una pantalla de la aplicación que nos permitirá realizar el programa que vamos a cargar adentro del PIC.
Aquí no vamos a mencionar las ventajas y desventajas del sistema PICAXE con respecto a
otros, lo único que podemos agregar es que se trata de otra manera de programar microcontroladores PIC, empleando diagramas de flujo y/o lenguaje BASIC, (figura 4) los cuales ya sea de
manera conciente o totalmente implícita recurrimos a ellos para elaborar un programa.
A lo largo de este libro iremos aprendiendo paso a paso la forma de cómo programar los microcontroladores bajo el sistema PICAXE, para ello como primer paso emplearemos una tarjeta
de desarrollo de la cual proporcionaremos su circuitería para que ustedes la puedan armar, posteriormente después de realizar algunas practicas, avanzáremos ya sobre aplicaciones en donde se
tenga al microcontrolador como elemento principal y al cual programaremos en sitio.
Pues bien, los invitamos a que exploren esta nueva forma de programar microcontroladores,
que estamos seguros les será de gran utilidad.
Figura 2
Figura 3
Figura 4
4
Todo SobrE mICroCoNTroLAdorES PICAXE
PICAXE: L A N uEvA F ormA
dE
P rogrAmAr
uN
PIC
Co­no­cien­do­los­Mi­cro­con­tro­la­do­res­
de­es­te­Sis­te­ma
El PICAXE es un sistema de microcontroladores PIC muy fácil de programar ya que utiliza
un lenguaje BASIC muy sencillo, además de contar también con la posibilidad de programarlos
con diagramas de flujo. El sistema PICAXE aprovecha todas las características de los microcontroladores de bajo costo que incorporan memoria FLASH.
El sistema PICAXE está disponible en tres versiones que son el de 8 terminales (PICAXE08), 18 terminales (PICAXE-18) y 28 terminales (PICAXE-28). En estos microcontroladores ya
se tienen definidas las terminales que tienen la función de entrada y salida de datos, además de
las terminales que sirven para programar al PICAXE en sitio, o en otras palabras sobre la misma
aplicación. En las figuras 5, 6 y 7 se muestran los circuitos esquemáticos de la disposición de cada uno de los microcontroladores PICAXE.
En la figura 5 se muestra el circuito esquemático para un PICAXE de 8 terminales, de las cuales las que están identificadas como Pin1 E/S, Pin2 E/S, Pin3 E/S y Pin4 E/S, son terminales que
pueden funcionar como entradas o salidas de datos del exterior hacia el microcontrolador. Las terminales identificadas como Serial En y Serial Sal, se utilizan para programar al microcontrolador
a través del puerto serie de una PC, para lo cual las terminales del conector identificado como
CON1 se hacen llegar al conector DB9 de la PC tal como se muestra en la figura 4. Por otra parte, de la misma figura 1 se
observa que la terminal identificada como Serial Sal,
cumple con una doble función, y dependiendo de donde se ubique un jumper selector en el conector CON2, se
podrá programar al PIC o esa
misma terminal una vez programado el PIC tendrá la función de una terminal de salida
de datos.
Del circuito esquemático de
la figura 6 se observa la forma en que están dispuestas
Figura 6
Figura 5
Todo SobrE mICroCoNTroLAdorES PICAXE
5
PICAXE: L A N uEvA F ormA
dE
P rogrAmAr
uN
PIC
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 exterior 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 terminales 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, también se cuenta con las terminales de salida identificadas como Sal 0 a Sal 7, además de 4 terminales para entrada de datos analógicos, y por último las terminales de programación del microcontrolador.
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 conector 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 figura 9, se puede emplear (es recomendable) un plug de los utilizados 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 configuración de las terminales tanto del conector DB9
como el plug de audio.
Figura 9
Figura 10
6
Todo SobrE mICroCoNTroLAdorES PICAXE
PICAXE: L A N uEvA F ormA
dE
P rogrAmAr
uN
PIC
Uti­li­ta­rio­Gra­tui­to
pa­ra­Ha­cer­Pro­gra­mas
Lo diferente del sistema de microcontroladores PICAXE, con respecto a la programación tradicional de los microcontroladores PIC, radica en la programación basada en un lenguaje BASIC
y diagramas de flujo. Esto hace que los microcontroladores del sistema PICAXE sean muy fáciles de programar, en un ambiente amigable.
Para programar los microcontroladores PICAXE debemos, en primera instancia, instalar el
software que contiene el ambiente de programación, por lo que describiremos paso a paso la forma de hacerlo.
El software lo puede bajar de nuestra página de internet que usted ya conoce www.webelectronica.com.ar, debe hacer click en el ícono password e ingresar la clave PICAXEPRO. Recuerde que para bajar cualquier información debe ser socio del club SE, lo cual es gratuito y puede
inscribirse por Internet en sólo un par de minutos (siga las instrucciones que dimos para bajar el
programa PICAXEPRO y encontrará cómo hacerse socio si aún no lo es).
Una vez que se tenga el software, se encontrará con una carpeta con el nombre de “progedit”,
a la cual debemos acceder (observe la figura 11).
Luego debemos ingresar a la carpeta progedit y tenemos que ubicar el programa identificado
como “Programming Editor”, al cual debemos de hacerle un doble click con el ratón de la PC para que éste se ejecute y se pueda instalar el programa de los PICAXE, tal como se muestra en la
figura 12.
Figura 11 Carpeta progedit.
Figura 12 Software de instalación “Programming Editor”.
Figura 13 Ventana de bienvenida para la instalación del
software de los PICAXE.
Figura 14 Acuerdo de licencia.
Todo SobrE mICroCoNTroLAdorES PICAXE
7
PICAXE: L A N uEvA F ormA
dE
P rogrAmAr
Figura 15 Información del usuario.
Figura 16 Destino del software.
Figura 17 Ventana de confirmación de datos.
Figura 18 Ventana de instalación del software.
8
uN
PIC
Una vez que ejecutamos el programa de instalación Programming Editor aparecerá la ventana
que se muestra en la figura 13, sobre la cual debemos de oprimir con el ratón el cuadro identificado como “next” para que continúe la instalación.
Posteriormente será desplegada la ventana donde se muestra la licencia que debemos aceptar,
porque de otra manera no podremos continuar
con la instalación del software, por lo que nuevamente oprimiremos el cuadro identificado como “next”, esta acción se indica en la figura 14.
Como paso siguiente, pregunta por el nombre
del usuario que normalmente utilizará el software, aquí podemos instalar la aplicación para que
pueda ser utilizada por todas las personas que
utilicen la computadora, y después de seleccionar esta acción tenemos que oprimir el cuadro
identificado como “next”, tal como se muestra
en la figura 15.
Posteriormente debemos decir en dónde se guardará el software de programación, que por lo general, aquí no tenemos que modificar dato alguno, a menos de que querramos asignar otra localidad, tal como se ilustra en la figura 16. Una
vez seleccionada la opción correspondiente,
procederemos a hacer click sobre el cuadro
identificado como “next”.
Por último, aparecerá una ventana de confirmación para estar seguros de que los datos que introdujimos se encuentran correctos, si es así debemos oprimir el cuadro identificado como
“next” para que continúe la instalación, tal como
se aprecia en la figura 17.
Cuando se está instalando el software se indica
gráficamente tal como se ilustra en la figura 18,
aquí debemos esperar hasta que se terminen de
instalar, tanto el software de programación como
todas las utilerías que serán empleadas por los
PICAXE. En la figura 19 se muestra la ventana
que nos indica que ya se ha concluido con la instalación, por lo que debemos oprimir el cuadro
identificado como “finish”.
Una vez instalado el software de programación
de los PICAXE, en el escritorio de nuestra PC
encontraremos un ícono de acceso directo identificado como “PICAXE Programming Editor”,
Todo SobrE mICroCoNTroLAdorES PICAXE
PICAXE: L A N uEvA F ormA
dE
P rogrAmAr
Figura 20 Icono de acceso rápido en el
escritorio de la PC.
Figura 19 Ventana final.
Figura 21 Lenguaje BASIC para programar los PICAXE.
Figura 22 Diagrama de flujo para programar los PICAXE.
uN
PIC
al cual, para
comenzar a
programar
los microcon tro la do res, debemos
hacer un doble click con
el mouse para que se ejecute el programa, tal
como
se
muestra en la
figura 20. En
la figura 21 y
22 se observa un ejemplo del ambiente gráfico, tanto en
lenguaje BASIC como en
diagrama de
flujo.
TrA­bA­jAN­do CoN PI­CA­XE
PA­So A PA­So:­USo dE EN­TrA­dAS y SA­LI­dAS
Para empezar a utilizar el sistema de microcontroladores PICAXE comenzaremos con una
aplicación muy sencilla, por lo que en primera instancia nos dedicaremos a encender y apagar
leds, de acuerdo al estado que guarden las terminales de entrada de datos del microcontrolador.
Cabe aclarar que conforme se avance en los temas de PICAXE podremos incorporar controles
para motores, utilización de convertidores analógico - digital (ADC), etc. Recordemos que el sistema PICAXE está disponible en tres versiones que son el de 8 terminales (PICAXE-08), 18 terminales (PICAXE-18) y 28 terminales (PICAXE-28), y en función de las terminales que tienen
disponibles para la entrada y salida de datos, serán las que ocuparemos para comunicar al microcontrolador con el exterior.
Comencemos pues con el primer circuito para visualizar la salida de datos, y se trata de un circuito muy sencillo para encender leds, el cual se muestra en la figura 23. Este circuito lo podemos reproducir tantas veces como terminales de salida se tengan disponibles.
Ahora veamos cuál sería el primer circuito que se recomienda para ingresar datos discretos
(digitales) al microcontrolador, y se trata de un interruptor con reposición automática (push-boton), el cual se muestra en el circuito de la figura 24. De igual manera que en el caso del circuito de la figura 23, se puede reproducir el circuito de la figura 24 tantas veces como entradas ten-
Todo SobrE mICroCoNTroLAdorES PICAXE
9
PICAXE: L A N uEvA F ormA
dE
P rogrAmAr
uN
PIC
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 microcontroladores 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 seleccionar 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 desde nuestra web con la clave “prog­pi­ca­xe”.
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 PICAXE que vamos a emplear en
nuestro proyecto, qué frecuencia
de operación tendremos (generalmente 4MHz), etc. Luego, debemos elegir la opción “modo” del
menú para indicar en qué puerto
tendremos el circuito para descargar el programa.
De la figura 26 observamos el ambiente de trabajo que presenta el
software de programación de los
microcontroladores PICAXE, en el
Figura 24
Figura 23
cual se aprecia un espacio en blanco que es donde se ingresan las instrucciones
en forma de “BASIC”.
Figura 25
10
Todo SobrE mICroCoNTroLAdorES PICAXE
¿Qué instrucciones son
las que utilizaremos?
Si no sabemos, no es el
fin del mundo y vamos
paso a paso. Para comenzar utilizaremos una
opción que se cuenta en
este software para programar a los microcontroladores que son los
diagramas de flujo, por
PICAXE: L A N uEvA F ormA
lo que como se indica en la figura 26, seleccionamos de la barra de herramientas la opción “Archivo”, posteriormente “Nuevo” y por último
“Nuevo Organigrama”, y lo que aparecerá será el
ambiente de trabajo para ingresar el diagrama de
flujo de nuestro programa.
Para comenzar, éste va a ser nuestro campo de
trabajo ya que de forma intuitiva todos sabemos
hacer diagramas de flujo. Pues bien, antes de seleccionar los bloques que lo constituirán, vamos
a describir cuál es el algoritmo del programa que
queremos desarrollar:
“Cuan­do­se­opri­ma­un­push­-­bo­ton­se­en­cien­da­un­led,­y­cuan­do­se­suel­te­el­push­-­bo­ton­se­apa­gue­el­led”.
Existen bloques prediseñados que nos auxilian en el manejo del estado que guardan las terminales de entrada del microcontrolador de manera independiente, por lo que como se muestra
en la figura 27 seleccionamos el recuadro que tiene indicado un rombo y dentro de éste la palabra
“if”.
Ahora lo que tenemos que hacer es seleccionar qué condición es la que utilizaremos, que para este ejercicio será la que se encuentra dentro
del recuadro que tiene una figura de un rombo y
dentro de éste la palabra “Pin” (observe la figura
28), esto es, estaremos leyendo la condición de
una terminal de entrada que, por defecto cuando
lo ubicamos sobre nuestra área de trabajo, siempre se coloca la entrada 0 (terminal 17 del microcontrolador figura 25). Este bloque tiene la tarea
de leer el estado lógico de la terminal de entrada
y la compara con un 1 lógico y dependiendo de si
la entrada es igual o no, tiene dos posibles salidas
“Y” por si es igual a 1 lógico y “N” por si la entrada es 0 lógico. Y por último, oprimimos el recuadro que tiene una flecha en forma de U para
regresar al menú principal.
De acuerdo al algoritmo que planteamos líneas atrás, lo que tenemos que hacer es que se encienda un led cuando en la terminal de entrada se
encuentre un 1 lógico, o que el led se apague
cuando en la entrada se encuentra un 0 lógico. Para esta actividad recurrimos al recuadro identificado con la palabra “Out”, ya que es ahí donde
se encuentran los bloques que actúan sobre las
dE
P rogrAmAr
uN
PIC
Figura 26
Figura 27
Figura 28
Figura 29
Todo SobrE mICroCoNTroLAdorES PICAXE
11
PICAXE: L A N uEvA F ormA
dE
P rogrAmAr
Figura 30
Figura 31
Figura 32
uN
PIC
terminales de salida del microcontrolador. Una
vez en el interior del menú de bloques de salida,
tenemos que seleccionar la acción que hará que
el led se encienda o se apague, por lo que en primer instancia seleccionamos el bloque identificado con la palabra “High”, el cual quiere decir
que la salida se encenderá, por cierto cuando seleccionamos este bloque, por defecto se ubica la
salida 0 (terminal 6 del microcontrolador figura
25), tal como se ilustra en la figura 30.
Ya se tiene entonces, el bloque que encenderá el
led por lo que ahora requerimos la acción correspondiente con su apagado, y ésta corresponde al recuadro identificado con la palabra “Low”
que es precisamente el bloque que realizará la
tarea de apagar el led, y también por defecto al
seleccionarlo por primera vez, se ubica en la salida 0.
Una vez que ya tenemos los bloques que necesitamos para ingresarle o sacarle datos al microcontrolador PICAXE, procedemos ahora a unir
los bloques para realicen el algoritmo que fue
planteado líneas atrás, para ello existe una herramienta que se encuentra en un recuadro identificado con una línea vertical que en sus extremos
tiene un “*”.
Cuando seleccionamos esta herramienta y acercamos el puntero del ratón sobre alguno de los
bloques que ya se encuentran en el área de trabajo, se les aparece un círculo de color rojo en
aquel punto que requiere una conexión, tal como
se ilustra en la figura 30. Ya seleccionado el
punto de conexión trazamos la línea hasta el siguiente punto de conexión de un bloque para
realizar la unión lógica del flujo de datos, cabe
aclarar que para cada unión que se necesite realizar, se tiene que volver a seleccionar la herra-
Figura 34
Figura 33
12
Todo SobrE mICroCoNTroLAdorES PICAXE
PICAXE: L A N uEvA F ormA
dE
P rogrAmAr
uN
PIC
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 ventana 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ógico, mientras que los que aparecen debajo de los cuadros verdes, indican la posición de las señales de entrada al microcontrolador, los cuales cuando se encuentran en la posición inferior significa que la entrada se encuentra en 0 lógico, y si están en la posición superior la entrada se encuentra 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 tiene un 0 lógico en la misma entrada), ya estamos listos para dar el siguiente paso, que es convertir el diagrama de flujo a instrucciones de BASIC, para lo cual en la barra de herramientas seleccionamos el menú identificado como “Organigrama” y después la opción “Convertir el Organigrama 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 programació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 indicando 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 finalización del proceso de programación, figura 34.
Ahora podemos verificar en el microcontrolador, que el programa que diseñamos se encuentra perfectamente bien, por lo que tenemos que oprimir el push - boton y esta acción debe encender el led, y cuando soltemos el push - boton el led se debe apagar. Cualquier otro funcionamiento nos quiere decir que debemos revisar nuestro programa y tenemos que regresarnos hasta la etapa en donde diseñamos al diagrama de flujo, ya que algo se encuentra mal.
Todo SobrE mICroCoNTroLAdorES PICAXE
13
PICAXE: L A N uEvA F ormA
dE
P rogrAmAr
uN
PIC
KIT EN­TrE­NA­dor PA­rA PI­CA­XE­08
En esta oportunidad diseñaremos nuestra primera tarjeta de entrenamiento universal para programar 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 aprovecharlas 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 además de las 2 terminales de aliFigura 35 mentación y 2 para programarlo. Específicamente para
los PICAXE–08 las terminales 3, 5, 6 y 7 cumplen con una
doble función, por lo que debemos tener cuidado cuando
los programemos, porque por
ejemplo la terminal 3 puede
comportarse como una terminal de entrada o una terminal
Figura 36
14
Todo SobrE mICroCoNTroLAdorES PICAXE
PICAXE: L A N uEvA F ormA
dE
P rogrAmAr
uN
PIC
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 propiedades del PICAXE–08, y será por medio de jumpers como se podrá configurar la circuitería tanto para programar como para fijar entradas o salidas de datos, en la figura 36 se muestra el circuito esquemático de la tarjeta entrenadora completa.
A continuación describiremos cada parte de esta tarjeta entrenadora para que podamos sacarle el máximo provecho.
En primer término identificaremos la ubicación de dónde instalar el microcontrolador PICAXE–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 terminales, de las cuales, la de en medio de cada uno de ellos se hace llegar hacia la correspondiente terminal 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 dirige 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 dependiendo 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 quedará configurada la circuitería del microcontrolador PICAXE para que esté listo a recibir el programa 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 funció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 PICAXE–08, es necesario que el jumper esté ubicado hacia la posición “Prog” en el conector PROG/SAL0, porque de otra
manera la programación será imposible, ya que no se tendrá 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á configurada 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 conector PROG/SAL0 si se va a utilizar esa terminal del microcontrolador PICAXE–08 como salida.
En el conector identificado como “Entradas” se tiene la posibilidad de hacerle llegar al microcontrolador PICAXE–08, el estado lógico de 4 diferentes entradas digitales,
Figura 38
las cuales pueden ser insertadas mediante circuitos externos
Todo SobrE mICroCoNTroLAdorES PICAXE
15
PICAXE: L A N uEvA F ormA
dE
P rogrAmAr
uN
PIC
o bien utilizar cualquiera de los 2 circuitos con push-boton que se tienen en el área de experimentos, 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 reflejo de las 4 salidas digitales que posee el microcontrolador
PICAXE–08, las cuales pueden hacerse llegar a circuitos externos en donde se refleje la actividad del microcontrolador, o pueden ser utilizadas los 2 circuitos con leds que se encuentran en
el área de experimentos, estos circuitos se muestran en la figura 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
al microcontrolador con una PC a través del puerto serie, en la
Figura 39
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 conecta 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 serie 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 regulador de voltaje identificado como IC2 que posee la matrícula
LM7805, y cuya misión es la de mantener un voltaje de 5 VCD
para energizar al microcontrolador PICAXE y toda su circuiteFigura 40
Figura 41
16
Todo SobrE mICroCoNTroLAdorES PICAXE
PICAXE: L A N uEvA F ormA
dE
P rogrAmAr
uN
PIC
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.
Lis­ta­de­com­po­nen­tes­pa­ra­ar­mar­la­
tar­je­ta­con­tro­la­do­ra.
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 para pila de 9 VCD y circuito impreso.
Apren­dien­do­a­Pro­gra­mar­la­Tar­je­ta­En­tre­na­do­ra­08
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 para 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 funciones lógicas.
En el diagrama de la figura
42, se observa la manera en que
están asignadas tanto las terminales de entrada como las de
salida, por otra parte también
tomemos en cuenta que la tarjeta 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 estado de las salidas.
El ejercicio que desarrollaremos será el siguiente. Los
Fi­gu­ra­42­-­Dia­gra­ma­es­que­má­ti­co­de­la­tar­je­ta­en­tre­na­do­ra.
Todo SobrE mICroCoNTroLAdorES PICAXE
17
PICAXE: L A N uEvA F ormA
dE
P rogrAmAr
uN
PIC
push boton denominados S1 y
S2 generan las combinaciones
con las cuales se encenderá el
led D1 para la función lógica
“Y” de acuerdo a la tabla lógica siguiente:
S1
S2
Fun­ción­“y”
0
0
0
0
1
0
1
0
0
1
1
1
Ahora hacemos referencia al
Fi­gu­ra­43­-­Iden­ti­fi­ca­ción­de­com­po­nen­tes­y­co­lo­ca­ción­de­jum­per. 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á directamente conectado al borne de entradas.
En cuanto a las salidas, emplearemos la que está identificada 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 comparte tanto con la salida 0 como con una terminal de proFi­gu­ra­44
gramación del PICAXE. La salida S1 requiere que el jumper ES1 se coloque en la posición Sal1. La forma en cómo
Fi­gu­ra­45
se deben de colocar los jumpers también se ilustra en la figura 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 para 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 descargar de nuestra página de internet: www.webelectronica.com.ar.
Después de la ventana de bienvenida nos aparecerá la
ventana que se muestra en la figura 44, que es en donde
Fi­gu­ra­46
se configuran las opciones y por lo tanto el tipo de microcontrolador que emplearemos, en esta oportunidad estaremos 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 alFi­gu­ra­47
guno con el Basic, que es una forma de programar a los
18
Todo SobrE mICroCoNTroLAdorES PICAXE
PICAXE: L A N uEvA F ormA
dE
P rogrAmAr
uN
PIC
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 programar al microcontrolador a través de diagramas de flujo, por lo que oprimimos el botón de acceso rápido para abrir el ambiente de trabajo en diagramas de flujo, tal como se muestra en la figura 45.
Dentro del entorno gráfico para generar el diagrama de flujo seleccionaremos, del menú de comandos, 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 bloque 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 seleccionar el menú de los bloques que manipulan las salidas, por
lo tanto oprimimos sobre el cuadro que tiene una flecha en forma de U para regresar al menú principal. Estando en el menú
Fi­gu­ra­48
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 implementemos 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 entre el cuadro con la palabra low o high respectivamente, tal como se aprecia en la figura 50.
Como en el caso de las entradas, cuando elegimos una salida, por defecto se coloca la salida 0, por lo tanto tenemos que
evaluar qué salida es la que emplearemos para colocar la que
Fi­gu­ra­49
nos interesa, y tal como se ilustra en la figura 51, seleccionamos 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 imFi­gu­ra­50
plementación de la función lógica, ahora pasaremos a conectarlos 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
Fi­gu­ra­51
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 bloques se tengan que unir, tal como se muestra en la figura 52.
Cuando se realiza la actividad de unir los diferentes bloques, se ilumina en color rojo un círculo que se hace presente
en el punto de conexión del bloque cuando acercamos el pun-
Todo SobrE mICroCoNTroLAdorES PICAXE
19
PICAXE: L A N uEvA F ormA
dE
P rogrAmAr
uN
PIC
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 figura 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 condiciones lógicas, facilitando de esta manera la observación de cómo se va generando la respuesta 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 serie de la PC y el otro extremo al conector minijack de la tarjeta
Fi­gu­ra­52
entrenadora (en entregas anteriores se explicó cómo se debe armar el cable de programación), colocar también el jumper del
conector PROG/SAL0 en la posición de Prog, para que sea descargado el código al PICAXE.
El paso siguiente es detener la simulación e ir al menú de herramientas organigrama y seleccionar el mando convertir organigrama a Basic, como resultado el diagrama de flujo será convertido a Basic, el resumen de estas acciones se observa en las
figuras 55 y 56.
Fi­gu­ra­53
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 programaFi­gu­ra­54
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 programa sobre la tarjeta entrenadora, por lo que presionaremos los
push boton de acuerdo a la tabla de verdad correspondiente, por
Fi­gu­ra­56
Fi­gu­ra­55
20
Todo SobrE mICroCoNTroLAdorES PICAXE
PICAXE: L A N uEvA F ormA
dE
P rogrAmAr
lo que si el led no enciende con
respecto a la respuesta de la tabla de verdad de la función lógica “Y” algo anda mal y tenemos que pasar a revisar desde
el circuito de la tarjeta entrenadora, hasta revisar nuevamente
el programa y la fase de grabación en el microcontrolador.
uN
PIC
Fi­gu­ra­57
Lis­ta­De­Com­Po­nen­tes­Pa­ra­rea­Li­zar­eL­ejer­Ci­Cio.
Tarjeta entrenadora del PICAXE – 08 y su cable de programación.
jue­go­de­Lu­ces­Ti­po­“Au­to­Fan­tás­ti­co”
(Em­plean­do­la­Tar­je­ta­En­tre­na­do­ra)
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 microcontrolador PICAXE – 08 que posee la tarjeta entrenadora, sólo se tiene posibilidad de contar con 4 salidas 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 emplearemos únicamente el borne de salidas, por lo que
en los bornes identificados como ES1, ES2 y ES4
se colocará el jumper correspondiente, de tal forma que se seleccionen las
salidas.
No­ta:­La tarjeta entrenadora, su implementación, armado y programació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 identificado como PROG/SAL0
Figura 58
una vez que se descargue
Todo SobrE mICroCoNTroLAdorES PICAXE
21
PICAXE: L A N uEvA F ormA
dE
P rogrAmAr
uN
PIC
el programa sobre el PICAXE, debe colocarse el jumper en la posición correspondiente a la salida 0 (Sal0). Una vez predispuesta la tarjeta entrenadora tal como se muestra en la figura 59, pasamos a desarrollar el programa.
Recordemos que lo primero que tenemos que hacer es abrir el programa “PICAXE Programming Editor” tal como se ilustra en la figura 60. Una vez dentro del ambiente de programación
del PICAXE, seleccionamos la opción de trabajar con diagramas de flujo, por lo menos hasta que
adquiramos la experiencia necesaria para desarrollar nuestros programas directamente bajo BASIC.
Se ha explicado, minuciosamente, lo que significan los íconos que
aparecen cuando trabajamos con diagramas de
flujo, por lo que ahora
avanzaremos un poco
más rápido en la construcción de nuestro programa. Ya dentro del ambiente de programación
lo primero que tenemos
que hacer es inicializar
las salidas que utilizaremos, que por disposición
del PICAXE – 08 se tienen dispuestas las salidas
0, 1, 2 y 4. Para no afectar
el desempeño de nuestra
aplicación, la inicializaFi­gu­ra­62 - Diagrama a bloques completo.
Figura­60
Figura­­61
Figura 59
22
Todo SobrE mICroCoNTroLAdorES PICAXE
PICAXE: L A N uEvA F ormA
dE
P rogrAmAr
uN
PIC
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 activació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 inmediatamente 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 anterior 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 esto, 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 problemas 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 microcontrolador 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 actividad 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 pero no veríamos cuál se
enciende y cuál se apaga con detalle. El número que tiene por delante el comando wait,
es el número de segundos que dura la temporización.
El segundo bloque
que observamos en el
diagrama de flujo de la
figura 62, y que no conocíamos, está identificado como “pause”.
El bloque “pause”
trabaja de la misma
Fi­gu­ra­63­-­Si­mu­la­ción.
Todo SobrE mICroCoNTroLAdorES PICAXE
23
PICAXE: L A N uEvA F ormA
dE
P rogrAmAr
uN
PIC
manera que lo hace el bloque wait, y substantivamente se emplean para lo mismo, pero la principal 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 figura 62 si colocamos el bloque “wait 1” equivale a un tiempo de 1 segundo, y si empleamos el bloque “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 “Convertir Organigrama en BASIC”, por lo que vamos a generar un código como el ilustrado en la figura 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 PICAXE, 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 posibles 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ágina de internet: www.webelectronica.com.ar. A lo largo de esta obra iremos desarrollando ejemplos de programación, en los cuales aplicaremos los bloques de los diagramas de flujo vistos hasta 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
Fi­gu­ra­65­-­Ven­ta­na­que­mues­tra­el­avan­ce
de­la­pro­gra­ma­ción.
Tar­je­ta­en­tre­na­do­ra­del­PI­CA­XE­–­08­(el­dia­gra­ma­y­des­crip­ción­de
és­ta­se­vió­an­te­rior­men­te),­su­ca­ble­de­pro­gra­ma­ción,­
4­Leds­
4­Re­sis­to­res­de­390Ω­
Fi­gu­ra­64­-­Có­di­go­en­BA­SIC.
24
Todo SobrE mICroCoNTroLAdorES PICAXE
PICAXE: L A N uEvA F ormA
dE
P rogrAmAr
uN
PIC
Alar­ma­pa­ra­Puer­tas­y­Ven­ta­nas­
Em­plean­do­la­Tar­je­ta­En­tre­na­do­ra­PI­CA­XE 08
Para continuar con la utilización de nuestra tarjeta entrenadora tal como un módulo de uso general, nuevamente hacemos referencia a ella y por lo tanto volvemos a colocar su diagrama esquemá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 representará 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, dicho 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 salida de datos, en las cuales se sugiere que para proteger a las puertas y ventanas de un hogar se utilicen sensores magnéticos llamados reed switch, a los cuales cuando se les acerca un imán su contacto 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
TA­bLA­1­CoM­Por­TA­MIEN­To­dEL­SEN­Sor­MAG­Né­TI­Co
a la terminal de entrada del PIPre­sen­cia­del­imán
Con­tac­to­del­reed­Switch Es­ta­do­ló­gi­co
CAXE (Ent3) destinada a deSi
Cerrado
1
tectar si una puerta o ventana
No
Abierto
0
fue abierta sin autorización, por lo que tenemos que seleccioFigura­66
nar qué puerta o ventana de nuestra casa
tendremos que proteger, colocando el sensor magnético en el
marco de la puerta o
ventana mientras que
el imán lo fijaremos
sobre la puerta o ventana.
De acuerdo a lo que
se observa de la figura
68, las terminales destinadas a las entradas
de datos serán las denominadas Ent3 y
Ent4, mientras que las
terminales designadas
para las salidas serán
las marcadas como
Sal0 y Sal1.
Todo SobrE mICroCoNTroLAdorES PICAXE
25
PICAXE: L A N uEvA F ormA
dE
P rogrAmAr
uN
PIC
Figura­67
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 Programming Editor”, y si aún no lo tienen pueden descargarlo de nuestra página www.webelectronica.com.ar con la clave “pi­ca­xe”, 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 PICAXE por medio del lenguaje BASIC, por lo que una vez más seleccionamos la opción de trabajar con diagramas de flujo, por lo menos hasta que contemos con la experiencia necesaria para 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 acuerdo a la manera de cómo preFigura­68
tendemos que sea la operación
de nuestra alarma, ésta comenzará 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 condición no esté presente, la alarma nunca indicará si una puerta o ventana fue abierta sin autorización, por lo que podemos considerar de que la alar-
26
Todo SobrE mICroCoNTroLAdorES PICAXE
PICAXE: L A N uEvA F ormA
dE
P rogrAmAr
uN
PIC
ma está desactivada para que contemos con la posibilidad de Figura­69
abrir cualquier puerta o ventana.
Después de que la alarma fue activada, el paso siguiente es
el revisar que ninguna puerta o ventana sea abierta sin autorización, por lo que a través del pin3 se debe de leer un “1” lógico para que se cumpla dicha condición.
La figura 69 muestra la activación de la alarma y lectura
del sensor. De acuerdo con la figura 69 los primeros bloques
que deben colocarse corresponden con los que realizan la revisión de los estados lógicos que guardan tanto el switch que
activa ó deshabilita la alarma, como con el que corresponde
con la lectura del estado en que se encuentra el sensor magnético. El primer bloque tiene la tarea de preguntar si la alarma
ya fue activada, por lo que se comparará el estado lógico de la
terminal de entrada 4 con un “1” lógico, si la alarma aún no ha sido activada no tiene caso seguir
con el desarrollo del programa, por lo que constantemente se estará revisando el estado lógico de
la terminal de entrada 4 hasta que la alarma sea activada, esto es, sea colocado en “1” lógico el
estado de la terminal 4. Si la alarma ya fue activada el paso siguiente será leer el estado lógico
del sensor magnético, por lo que siempre estaremos comparando el estado lógico de la terminal
de entrada 3 con el estado lógico “0”. Recordemos que el estado lógico “0” en el sensor magnético significa que alguna puerta o ventana fue abierta y si esto sucedió sin autorización, por medio del comando “high” estaremos enviando a través de la terminal de salida 1, una señal a la bobina de un relevador para que sea generado una señal de alarma remota.
En la figura 70 se ilustran los bloques correspondientes al establecimiento de una señal audible para avisar del evento de apertura de una puerta o ventana sin autorización.
En el desarrollo de esta parte del diagrama de bloques encontraremos dos nuevos, que a continuación se describen:
“let”.- Este bloque es empleado para asignar un valor en cualquiera de las variables con que
cuenta el microcontrolador PICAXE, además de permitir la realización de operaciones entre las
variables y valores constantes.
Figura­70
Figura­71
Todo SobrE mICroCoNTroLAdorES PICAXE
27
PICAXE: L A N uEvA F ormA
dE
P rogrAmAr
uN
PIC
“sound”.- Este bloque contiene los parámetros necesarios Figura­73
para generar una nota musical a través de una terminal de salida del microcontrolador, por lo que la sintaxis es sound terminal de salida (nota, duración).
Pues bien, una vez que ya hemos revisado el potencial de
los bloques que a continuación utilizaremos procedemos a explicar la operación de esta segunda parte del diagrama de bloques.
De la figura 70 se observa que primero se asigna un 0 a la
variable b0, posteriormente se incrementa en una unidad la variable b0 por medio de la utilización de bloques con el comando “let”. El valor de esta variable tendrá la misión de fungir como la nota musical que será interpretada por medio del bloque
identificado como “sound”.
El bloque sound tiene la propiedad de generar una nota musical con tal solo indicárselo por medio de los parámetros que
se encuentran dentro del paréntesis, de acuerdo con nuestro
ejemplo la variable b0 nos generará la nota que será expresada hacia el exterior del PICAXE a
través de la terminal 0, los valores que puede aceptar la variable b0 van desde 0 (silencio), hasta
127 notas ascendentes, y de 128 a 255 notas ascendentes de ruido. Para nuestro ejercicio emplearemos las notas que van de 0 a 127 para dar vida a la alarma sonora, y para obtener el efecto de
una señal audible ruidosa, tendremos que ir incrementando la variable b0 partiendo de 0 y hasta
127, por lo que utilizaremos un bloque comparador y cuando la variable b0 llegue a 127, nuevamente se iniciará la variable con el valor de 0, y nuevamente comenzará el conteo ascendente de
la variable. Esta actividad mostrará el efecto de notas musicales ascendentes. El dato correspondiente a la duración de la nota dentro del paréntesis del bloque sound, se puede expresar con valores que van desde 0 a 255, pero debemos de tomar en cuenta que este valor tiene que ser multiplicado por una constante de aproximadamente 1 mseg.
La variable b0 se incrementará desde 0 a 127 cuando se abra una puerta o ventana, y este lazo continuará hasta que una persona autorizada y con una llave pueda restablecer la alarma, por
lo que existirá un bloque en donde se esté revisando la condición lógica de la señal de entrada en
el pin4, y cuando lea el estado lógico “0” significa que ya fue desactivada la alarma, por lo que
se tiene que revisar la condición del sensor magnético, ya que si
Figura 72
se deja la puerta o ventana abierta, y se vuelve a restablecer la
alarma ésta se volverá a disparar generando nuevamente la señal
audible y enviando la señal de alarma remota. En la figura 72 vemos el diagrama de bloques completo. Como paso siguiente deberemos simular la operación del diagrama de bloques para estar
completamente seguros de que el programa va a funcionar correctamente, después de la simulación procedemos a convertir nuestro diagrama de flujo en código BASIC por lo que recurrimos al
menú Organigrama y dentro de este al comando “Convertir Organigrama en BASIC”, por lo que vamos a generar un código como
el ilustrado en la figura 72.
Por último, para programar al microcontrolador PICAXE, se tiene que estar dentro del ambiente de código BASIC, y de ahí nos
dirigimos al menú PICAXE y después al comando “Ejecutar”, de
28
Todo SobrE mICroCoNTroLAdorES PICAXE
PICAXE: L A N uEvA F ormA
dE
P rogrAmAr
uN
PIC
esta acción se provoca que se abra una ventana que nos va indicando el progreso de la programació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 mayor cantidad de terminales, y agregar en el programa la lectura del estado que tengan dichos sensores.
Continuaremos desarrollando ejemplos prácticos de programación, ya que nuestra meta es llegar a realizar diseños de aplicaciones no importando el nivel de complejidad.
Lis­ta­De­ma­te­ria­Les
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)
Tar­je­ta­En­tre­na­do­ra­PI­CA­XE­18
A lo largo de estas líneas iremos describiendo todo lo que corresponde a una nueva tarjeta entrenadora, que en esta oportunidad alojará al microcontrolador PICAXE–18, por lo que
como primer paso recordaremos cuál es el diagrama del
circuito básico de conexión
de este PICAXE, para de ahí
llegar al diagrama esquemático de la nueva tarjeta entrenadora. En la figura 74, se
muestra el circuito básico del
cual se tiene que tomar en
cuenta el número total de entradas y salidas que podemos
manipular para aprovecharlas
Fi­gu­ra­74­Cir­cui­to­bá­si­co­de­un­PI­CA­XE-18.
al máximo.
Todo SobrE mICroCoNTroLAdorES PICAXE
29
PICAXE: L A N uEvA F ormA
dE
P rogrAmAr
uN
PIC
Para el PICAXE–18 se tiene la
oportunidad de disponer de 8
terminales de salida y 5 terminales de entrada, de estas últimas y dependiendo del tipo de
microcontrolador PICAXE
(PICAXE–18 ó 18A ó 18X) se
pueden colocar hasta tres entradas como de entradas analógicas.
La tarjeta entrenadora que se
propone en esta oportunidad
tiene la posibilidad de explotar
al máximo todas las propiedades de un PICAXE–18, en la
figura 75 se muestra el circuito
esquemático de la tarjeta entrenadora completa.
A continuación describiremos
cada bloque de esta tarjeta enFi­gu­ra­75­-­Dia­gra­ma­es­que­má­ti­co­de­la­tar­je­ta­en­tre­na­do­ra­PI­CA­XE–18. trenadora para que se le pueda
sacar el máximo provecho.
Como primer paso será identificada la ubicación de donde se encuentra el microcontrolador
PICAXE–18, que justamente debe encontrarse sobre la base identificada como IC1 respetando en
todo momento la distribución de las terminales.
Sobre el conector identificado como salidas, se encuentran concentradas las 8 de que dispone
el microcontrolador PICAXE, las cuales se encuentran identificadas desde S0 hasta S7. Este conjunto de salidas pueden emplearse de manera indistinta para controlar algún elemento externo que
bien puede ser un actuador (elemento de potencia), todo depende de su naturaleza para en función de ella conectar en la salida un optoacoplador para encender o apagar un motor de CA por
ejemplo, lo mismo para encender una lámpara incandescente o un simple led.
Sobre el conector denominado entradas, se tiene el reflejo precisamente de las terminales de
entrada al microcontrolador PICAXE. Las terminales de entrada se encuentran identificadas como E0, E1, E2, E6 y E7, de estas últimas dependiendo del tipo de PICAXE (PICAXE–18 ó 18A
ó 18X), las terminales E0, E1 y E2, pueden comportarse como terminales de entrada analógica,
esto es que tienen convertidor analógico – digital. En las terminales de entrada de datos, se tienen que conectar aquellos circuitos externos que generen algún estado lógico, que reflejen fielmente el estado de la actividad que están leyendo los sensores bajo algún proceso. Estos datos de
entrada, de manera general pueden clasificarse como discretos o analógicos, entendiéndose como
discretos todas aquellas señales que trabajan mediante la lógica binaria, “0” lógico y “1” lógico,
mientras que los datos analógicos, son aquellos como la temperatura que está variando con el
tiempo y que puede adquirir un número infinito de valores dentro de un intervalo bien establecido.
Para esta tarjeta controladora no se necesita configurar alguna forma especial de trabajo sobre
su circuitería, por lo que sus aplicaciones son inmediatas ya que posee terminales dedicadas tanto para ingresarle como para extraerle datos, siendo el microcontrolador PICAXE el elemento indispensable que realiza todas las acciones de control. Una vez identificadas las terminales de en-
30
Todo SobrE mICroCoNTroLAdorES PICAXE
PICAXE: L A N uEvA F ormA
dE
P rogrAmAr
uN
PIC
trada y salida de datos de la tarjeta entrenadora, como paso siguiente se tienen que identificar los módulos de apoyo para
construir, implementar y/o simular alguna aplicación.
El primer módulo de apoyo que describiremos es el relacionado con la actividad de representar alguna acción del microcontrolador, esto es, el poder señalar por medio de un indicador
luminoso alguna respuesta. Para ello se cuenta con 2 circuitos
basados en leds, mismos que se encuentran en el área de expeFi­gu­ra­78­-­Co­nec­tor­
mi­ni­Jack­de­au­dio.
rimentos de la propia tarjeta entrenadora, estos circuitos se
muestran en la figura 77. Para hacer uso de estos circuitos, lo
que tiene que hacerse es conectar mediante un pequeño cable al borne correspondiente ya sea de
S1 o S2, con cualquiera de las terminales de salida del microcontrolador que pueden son S0 ó S1
ó S2 ó S3 ó S4 ó S5 ó S6 ó S7 del conector “Salidas”. Y de esta forma si la salida registra un “1”
lógico se encenderá el led al cual fue conectado, y por lo contrario si la salida reporta un “0” lógico el led se apagará.
El segundo módulo de apoyo es el que genera estados discretos para poderlos hacer llegar al
microcontrolador, estos módulos pueden simular la activación o desactivación de determinados
sensores o botones que se requieren en algún proceso. Para este requerimiento sobre la tarjeta entrenadora, se cuenta con 2 circuitos basados en push-boton que se encuentran sobre el área de experimentos, estos circuitos se muestran en la figura 76
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 pueden ser E0 ó E1 ó E2 ó E6
ó E7 del conector “Entradas”. Esto último da posibilidad a que durante la fase de pruebas del programa del
microcontrolador se pueda evaluar si la secuencia con
que se tienen que activar los sensores es la correcta o
no, para poder estar seguros de que nuestro programa
operará completamente sobre nuestra aplicación.
El tercer módulo de apoyo es el que genera señales
analógicas para que puedan emplearse con aquel PICAXE que internamente posee un convertidor analógiFi­gu­ra­76­-­Cir­cui­to­Im­pre­so­
co – digital, este módulo puede realizar el trabajo de side­la­tar­je­ta­en­tre­na­do­ra.
mulación por ejemplo de un sensor de temperatura, o
de un sensor de presión, o de humedad, etc. Para esta
parte, la tarjeta entrenadora cuenta con un resistor variable identificado como POT1, por medio del cual se
puede cambiar el valor de voltaje que se hace llegar a
la terminal correspondiente de entrada analógica del
microcontrolador que dependiendo del tipo de PICAXE, éstas pueden ser E0 ó E1 ó E2 del conector “Entradas”. Ahora bien si lo que se quiere utilizar en la tarjeta programadora es un sensor real, por ejemplo un
LDR (resistencia variable con la luz), ó una galga extensiométrica (resistencia variable con la deformaFi­gu­ra­77­-­Dis­po­si­ción­de­los­com­po­ción), etc. En el módulo de señales analógicas a través
nen­tes­so­bre­la­tar­je­ta­en­tre­na­do­ra.
del conector identificado como “SENSOR” se puede
Todo SobrE mICroCoNTroLAdorES PICAXE
31
PICAXE: L A N uEvA F ormA
dE
P rogrAmAr
uN
PIC
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 entrenadora, debe presentar un cambio en su valor de resistencia para que en función de esto, se modifique el valor de voltaje que es al final de cuentas lo que lee el PICAXE sobre todo en las entradas analógicas. Las terminales donde se refleja el estado del módulo que genera las señales analó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 comunicar 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 terminales, tanto en la tarjeta entrenadora como
en el conector DB9 que se conecta al puerto serie 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 conector de audio sirve para verificar que el microcontrolador PICAXE se encuentra conectado al puerto serie de la PC.
• La línea identificada con el número 2 en el conector de audio sirve para programar al microFi­gu­ra­79­-­Iden­ti­fi­ca­ción­de­ter­mi­na­les­en­los
controlador PICAXE.
co­nec­to­res­mi­ni­jack­y­DB9.
• La línea identificada con el número 3 en el conector de audio es la referencia GND ó también
conocida como tierra eléctrica.
En la figura 80 se muestra la imagen de un cable de programación, o a cambio puede emplearse 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 tiene incorporado un regulador de voltaje identificado como IC2 que posee la matrícula
LM7805, y cuyo cometido es la de proporcionar un voltaje constante de 5 VCD para alimenFi­gu­ra­80­-­Ca­ble­de­pro­gra­ma­ción.
tar al microcontrolador PICAXE y los módulos
auxiliares que tiene incorporados la tarjeta programadora. Por medio de la utilización del regulador de voltaje, es posible que podamos emplear para energizar a nuestra tarjeta de entrenamiento una pila de 9 VCD.
Como ya se ha venido haciendo, en la siguiente entrega aportaremos más proyectos que se
pueden realizar con un PICAXE–18, procurado
Fi­gu­ra­81­-­Adap­ta­dor­pa­ra­pro­gra­ma­ción.
en todo momento que éstos sean de utilidad pa-
32
Todo SobrE mICroCoNTroLAdorES PICAXE
PICAXE: L A N uEvA F ormA
dE
P rogrAmAr
uN
PIC
ra todos ustedes, por lo que los invitamos a que continúen revisando esta serie, porque les aseguramos que encontrarán cosas interesantes para desarrollar sus propias ideas y proyectos, hasta la
próxima.
Lis­ta­De­Com­Po­nen­tes­­Pa­ra­La­tar­je­ta­
Con­tro­La­Do­ra­Pi­Ca­Xe–18
IC1 Base de 18 terminales
IC2 LM7805
D1, D2 Leds Verdes
D3 Led Rojo
S1, S2, RESET Interruptores Push boton
R1, R4, R5: 10kΩ 1/8Watt
R2: 22kΩ 1/8Watt
R3: 1kΩ 1/8Watt
R6, R7,R9: 39kΩ 1/8Watt
R8: 100kΩ 1/8Watt
Pot. 1: Preset 100
Sensor: Bloque de terminales
Va­rios: Conector mini jack de audio, conector mini plug de audio, alambres de conexión, broche para pila de 9 VCD y circuito impreso.
Apren­dien­do­ a­ Uti­li­zar­ el­ AdC­ en­ la­ Tar­je­ta­ En­tre­na­do­ra­ del­ Pi­ca­xe-18
Desde el PICAXE–08 se tiene la posibilidad de utilizar el convertidor analógico a digital (ADC),
la forma de utilizarlo bajo el sistema PICAXE es lo mismo para cualquiera de las versiones de
microcontroladores, ya sea PICAXE–08, PICAXE–18 ó PICAXE–28. El empleo de un ADC es
muy útil e inclusive necesario sobre todo cuando tenemos que utilizar un sensor que nos reporta
una variable, cuyos valores cambian dentro de un rango establecido con el transcurso del tiempo.
A estas variables se les conoce con el nombre de analógicas, ya que tienen un comportamiento
como el ilustrado en la figura 82.
Dependiendo de la variable física que se tenga que medir para, con su información, controlar
determinado proceso, es el sensor que emplearemos, ya que existen sensores para medir la temperatura, humedad, intensidad luminosa, presión ejercida a una superficie, aceleración, deformación de materiales. Estas variables físicas son
las más comunes de medir ya
que existen sensores comerciales muy económicos para
estas variables.
El aspecto común de todos los
sensores, no importando a
qué variable física responFigura 82 - Diferentes tipos de señales analógicas
Todo SobrE mICroCoNTroLAdorES PICAXE
33
PICAXE: L A N uEvA F ormA
dE
P rogrAmAr
uN
PIC
den, es que convierten la variable física a una señal eléctrica cuyo valor correspondiente de forma directa a la
variable. Para el caso particular de la tarjeta entrenadora
del PICAXE–18, se requiere
de sensores que cuenten, preferentemente, con una variación de resistencia al cambiar
el valor de la variable física,
ya que sobre la tarjeta entrenadora se tiene implementado
un circuito resistivo, que en
combinación con el sensor se
genera un divisor de voltaje,
el cual se encuentra conectado
a un potencial de 5VCD, y las
variaciones de éste, de acuerdo a lo que mida el sensor que
es el que se hace llegar al
Figura 83 - Diagrama esquemático de la tarjeta entrenadora PICAXE–18.
ADC del PICAXE.
En la figura 83 se ilustra el
diagrama esquemático de la tarjeta entrenadora PICAXE–18 de la cual nos interesan, en esta ocasión, las terminales identificadas como AN1 y AN2. Si analizamos con detalle la terminal que corresponde al borne AN1, es allí donde se encuentra un conector con tornillos que sirven para sujetar al sensor que utilicemos recordando que debe de generar una variación resistiva, a los cambios que presente la variable física. El sensor que utilicemos estará conectándose en serie con un
resistor identificado como R8 y cuyo valor es de 100kΩ, este circuito serie tiene en uno de sus
extremos el valor positivo de 5VCD y el otro GND, por lo tanto al cambiar el valor de la variable física se tendrá una repercusión sobre el sensor ya que éste cambiará su valor resistivo, al modificarse el valor de resistencia del sensor se tendrá una mayor o menor circulación de corriente,
recordando que todo depende de la ley de Ohm, que dice:
“El valor de la corriente es inversamente proporcional al valor de la resistencia, y directamente proporcional al valor del voltaje” (la fórmula matemática es: I = V/R).
Si cambia el valor de la corriente en el circuito serie y nuevamente aplicamos la ley de Ohm,
entonces se tendrán variaciones de voltaje, ya que la información del valor de voltaje la estaremos obteniendo de entre la conexión del sensor con R8.
El borne identificado como AN2, es más sencillo de utilizar ya que ahí se tiene un preset identificado como POT1, del cual una de sus 2 terminales de los extremos se hace llegar al potencial
de 5 VCD y el otro a GND, y es a través de su terminal del medio de donde se obtiene el valor
de voltaje que se dirigirá posteriormente al ADC del PICAXE. Observando con detalle este circuito simple, nos daremos cuenta de que se trata de 2 resistores conectados en serie, y que al modificar el valor del preset, le estaremos agregando resistencia a uno de estos resistores, y quitándole al otro. El propósito de utilizar este circuito, es únicamente para cuestiones didácticas ya que
estaremos simulando la operación de un sensor aún sin tenerlo, pero estaremos en absolutas posibilidades de comprobar nuestro programa ya colocado en el PICAXE.
34
Todo SobrE mICroCoNTroLAdorES PICAXE
PICAXE: L A N uEvA F ormA
Figura 84 - Conexiones sobre la tarjeta
entrenadora PICAXE-18.
dE
P rogrAmAr
uN
PIC
Figura 85 - Imagen
de un LDR.
La información contenida en los bornes AN1 y AN2, que es el reflejo de un sensor (para el caso 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 bornes de las entradas analógicas al PICAXE están identificados como E0, E1 y E2, por lo que para hacer llegar la información de los bornes AN1 ó AN2 a ya sea E0 ó E1 ó E2, será mediante pequeños cablecillos de conexión, tal como se muestra en la figura 84. Para ilustrar de mejor manera la utilización del ADC del PICAXE vamos a recurrir al empleo de un ejemplo práctico, este 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 oculte 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 variable que está constituida por un material fotosensible, por lo tanto la intensidad luminosa provocará que disminuya su valor de resistencia, mientras que la oscuridad o ausencia de luz ocasionará que tenga su máxima resistencia, y dependiendo del tipo de LDR pude tener valores de resistencia 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, todo esto se ubica en el diagrama de la figura 84. La salida que se utilizará se encuentra en el borne de salidas de la tarjeta entrenadora, y se trata de la salida S0.
Todo SobrE mICroCoNTroLAdorES PICAXE
35
PICAXE: L A N uEvA F ormA
dE
P rogrAmAr
uN
PIC
En la salida S0 se tendrá un “0” lógico si la intensidad luminosa detectada es suficiente como
para que apague la lámpara, y por otra parte, si la intensidad luminosa es muy baja o de plano se
tiene oscuridad total, en la salida S0 se tendrá un “1” lógico provocando que se encienda la lámpara correspondiente. Esta información se hace llegar al transistor Q1, que a su vez dependiendo
de la información que tenga en su base, energizará o no la bobina del relevador RL1, siendo los
contactos de este relevador quienes manejen el VCA y serán ellos quienes enciendan o apaguen
finalmente la lámpara.
Una vez explicada la parte que corresponde a la electrónica de la parte correspondiente de la
tarjeta entrenadora, así como los dispositivos y circuitos que se le agregarán para su funcionamiento, ahora procederemos a explicar cómo se elabora el programa con el cual controlaremos el
encendido o apagado de una lámpara de VCA, así que prosigamos adelante.
Lo primero que tenemos que hacer es abrir nuestro programa llamado “PICAXE Programming Editor” y que previamente tuvimos que instalar, y si aún no se tiene lo pueden descargar de
nuestra página de internet www.webelectronica.com.ar con la clave “pi­ca­xe”, o en su defecto
también lo pueden adquirir en la página www.picaxe.uk.co.
Una vez dentro del programa editor de los PICAXE, se abrirá una ventana en donde se muestran las distintas opciones para utilizar los PICAXE, en esta ocasión tenemos que elegir alguno
de los PICAXE–18, todo depende de cuál de ellos sea con el que contemos.
Comenzaremos programando con diagramas de flujo para aprender a utilizar los distintos comandos, y posteriormente los convertiremos a código en Basic. Así es que tenemos que seleccionar el comando en donde se abre la plantilla de trabajo con diagramas de flujo. Observe la figura 87.
Ya en el ambiente de programación con diagramas de flujo, lo primero que tenemos que seleccionar en la barra de comandos es el que está identificado con la palabra “other” (fig. 88) ya
que ahí es en donde se encuentra la herramienta para utilizar el comando de lectura del convertidor ADC del PICAXE.
El comando del ADC está identificado como “readadc” y lo único que tenemos que hacer es
seleccionarlo para poderlo colocar en el área de trabajo, y con el comando de selección que está
identificado con una flecha, le indicaremos en qué entrada estará ubicada la entrada para valores
analógicos. Normalmente,
cuando seleccionamos el comando “readadc”, por defecto se selecciona la entrada
E0, pero recordemos que podemos seleccionar cualquiera de las entradas E0 ó E1 ó
E2 ó las tres al mismo tiempo, ya sólo tenemos que conectarles el correspondiente
Figura 86 - Icono del programa
circuito con el sensor analóFigura 87 - Ventana de Opciones.
“PICAXE Programming Editor”
gico. Recuerden también
que dependiendo del tipo de
PICAXE–18 (PICAXE – 18
ó 18A ó 18X) serán las entradas analógicas que emplearemos. (Figura 89).
Para colocar el comando
Figura 88 - Barra de comandos con el menú “Other”.
36
Todo SobrE mICroCoNTroLAdorES PICAXE
PICAXE: L A N uEvA F ormA
dE
P rogrAmAr
uN
PIC
“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 espacio 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 etapa 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 existe luminosidad u oscuridad en el medio ambiente. En este caso
Figura 89 - Comando
tenemos que seleccionar el menú “if” para ubicar los comandos
“readadc”.
de verificación de valores, posteriormente seleccionaremos el
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 será 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 identificada como Y. El valor que fijaremos es el de 125, que prácticamente representa la mitad del rango total que puede ser digitalizado y cuyo valor máximo es de 255. Para nuestro programa Figura 90 - Colocación del
comando “readadc”.
cuando se tienen valores por debajo de 124 indicará que se tiene 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 luminosidad es muy baja, por lo que mandará encender la lámpara.
Figura 91 CoA 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.
Todo SobrE mICroCoNTroLAdorES PICAXE
37
PICAXE: L A N uEvA F ormA
dE
P rogrAmAr
uN
PIC
donde se encuentra conectado el circuito externo que controla
la lámpara, mientras que a través de la salida identificada como Y se encuentra el bloque “high” que será la encargada de
activar la salida S0 y de esta manera encender la lámpara.
Figura 96
En la figura 93 se observa la simulación del ADC, y para
Cable de
programación.
ello se tiene la ventana donde se muestran las entradas y las salidas, y en la parte derecha se muestra el área en donde se puede manipular la entrada correspondiente al ADC, al mover la
barra correspondiente de la entrada analógica observaremos
como en la ventana correspondientes a las variables se irá modificando la variable b0, que es en donde guardaremos el dato
originado en el ADC.
Cuando hemos visto que nuestro diagrama de flujo realiza
las funciones lógicas que esperamos, entonces estamos en posibilidad de convertir el código a Basic (Fig. 94), para posteFigura 97 - Adaptador para
riormente descargarlo a nuestro PICAXE por medio de la tarprogramación.
jeta programadora.
En la figura 95 y 96 se muestra la manera de cómo podemos armar nuestro cable de programación o en su defecto, utilizar un cable serie común y un adaptador como el que se muestra en
la figura 16. Por último, sobre la tarjeta entrenadora se
tiene incorporado un regulador de voltaje identificado
como IC2 que posee la matrícula LM7805, y cuyo cometido es la de proporcionar un voltaje constante de 5
VCD para alimentar al microcontrolador PICAXE y
los módulos auxiliares que tiene incorporados la tarjeta programadora. Por medio de la utilización del regulador de voltaje, es posible que podamos emplear
para energizar a nuestra tarjeta de entrenamiento una
pila de 9 VCD.
Esperamos que este ejemplo pueda ser útil, y estén
atentos a los siguientes ejemplos que están planeados
para su aparición en esta serie, hasta la próxima.
Figura 94 - Programa
en código Basic.
LISTA DE COMPONENTES PARA ARMAR LA
TARJETA CONTROLADORA PICAXE–18.
Tarjeta entrenadora PICAXE–18.
D1 -Diodo 1N4001
Rext1 -1 kΩ 1/8 Watt
RL1 -Relevador 5 VCD
Q1 - BC548
LDR
Figura 95 - Identificación de terminales en
los conectores mini jack y DB9.
38
Va­rios: Cable de programación o Cable serie y adaptador, cables de conexión, batería de 9 VCD.
Todo SobrE mICroCoNTroLAdorES PICAXE
PICAXE: L A N uEvA F ormA
dE
P rogrAmAr
uN
PIC
Con­trol­de­Tem­pe­ra­tu­ra­con­la­Tar­je­ta­En­tre­na­do­ra­del­Pi­ca­xe-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 avanzados.
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 valor 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 invernadero, 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
Todo SobrE mICroCoNTroLAdorES PICAXE
39
PICAXE: L A N uEvA F ormA
dE
P rogrAmAr
uN
PIC
en casi cualquier tienda de
productos electrónicos encontraremos, por ejemplo,
un simple circuito integrado identificado como
LM35, que no es otra cosa
que un sensor electrónico
de temperatura.
En esta oportunidad vamos a implementar un algoritmo para diseñar un
control automático de
temperatura basándonos
en nuestro microcontrolador PICAXE, en el cual fijaremos un valor que servirá de referencia para saber en qué momento se deberá activar ó desactivar un equipo de aire acondicionado, un ventilador ó un calefactor, etc.
Aquí lo más importante es que debemos seleccionar un sensor que nos entregue un valor de
voltaje que tenga una correspondencia con el valor de temperatura que está midiendo, que en este caso puede ser un LM35, el además ya se encuentra calibrado en grados centígrados (°C). Otro
tipo de sensor que se puede emplear para leer la temperatura, sería un termistor que a diferencia
del LM35, éste basa su operación en cambios de valores de resistencia, de acuerdo a la variación
de temperatura.
Sea para un sensor que entrega voltaje o para un sensor que cambia su valor resistivo, la tarjeta entrenadora del PICAXE - 18 contempla la utilización de ambos, y para ello se cuenta con
un espacio reservado a cada uno de los sensores. Si se trata del sensor LM35 el cual entrega voltaje, se tendrá que conectar en el espacio que se encuentra sobre la tarjeta entrenadora y que se
identifica como Pot1, para ello se tendrá que retirar el preset si es que ya había sido colocado, para en su lugar respetando la ubicación de las terminales del voltaje de alimentación (Vcc y GND)
colocar el sensor LM35, y la terminal que entrega el nivel de voltaje de acuerdo con la temperatura presente, refleja su valor en la terminal AN2, misma que se tiene que conectar por medio de
un pequeño cablecillo, a cualquiera de las entradas E0 ó E1 ó E2 que tiene el microcontrolador
PICAXE.
Por otra parte, si se emplea un termistor sólo tendrá que colocarse en el conector identificado
como “sensor” y en el cual se tiene contemplado que se utilice un bloque conector con tornillo.
Aquí ya está preparado el circuito que complementará al termistor (divisor de voltaje) para que
de esta manera, las variaciones de temperatura se reflejen en valores de voltaje que se reflejarán
en la terminal AN1, y de igual manera por medio de un cablecillo se puede conectar esta información a cualquiera de las tres entradas que poseen convertidor analógico a digital en el microcontrolador PICAXE.
En esta ocasión y para este proyecto, utilizaremos el sensor LM35 para medir la temperatura,
y con esta variable física estaremos en posibilidad de controlar la temperatura de un recinto cerrado, como lo puede ser una habitación ó el interior de un vehículo. En la figura 98 se ilustra el
diagrama del circuito que será adecuado para complementar la operación de la tarjeta entrenadora del PICAXE - 18. Como circuitería complementaria a la tarjeta entrenadora, se observa la coFigura 99
40
Todo SobrE mICroCoNTroLAdorES PICAXE
PICAXE: L A N uEvA F ormA
dE
P rogrAmAr
uN
PIC
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 implementado 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 respectivamente, 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 amplificador operacional, que es el dispositivo que servirá de protección entre la salida del microcontrolador 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 provoca que se sobrecargue eléctricamente hablando, la configuración en la que se encuentra el amplificador operacional es la llamada seguidor de voltaje, y en ella el voltaje de entrada es exactamente 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 necesite 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 relevador sea independiente de la que energiza a la tarjeta entrenadora del PICAXE - 18, ya que cuando el relevador se activa, éste demanda una corriente muy grande, y si empleamos el mismo regulador 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, provocando 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 terFigura 100
minal AN2, y de ahí por medio de un cablecillo haremos llegar esta información a la terminal de entrada E0
que configuraremos como entrada con convertidor analógico - digital del microcontrolador PICAXE. Y para
controlar el encendido o apagado del ventilador utilizaremos la terminal S0 de la tarjeta entrenadora, y que
también corresponde a una terminal de salida del PICAXE.
En la figura 101 se ve la simulación del programa.
Para comenzar a programar al microcontrolador PICAXE, primero describiremos qué es lo que pretendemos en cuanto a la forma de operación de esta aplicación, y se trata de lo siguiente:
Todo SobrE mICroCoNTroLAdorES PICAXE
41
PICAXE: L A N uEvA F ormA
dE
P rogrAmAr
uN
PIC
El sensor de temperatura se
encontrará leyendo de maneFigura 101
ra continua la magnitud de la
temperatura, mismo que se
hará llegar a un canal de
conversión analógico - digital del microcontrolador PICAXE, este último de acuerdo con el programa (es lo
que vamos a realizar a continuación) activará una de sus
salidas para controlar la bobina 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 desenergizará, mientras que un “1” lógico en la misma salida S0 provocará que la bobina del relevador se energice. Una vez que ya sabemos de qué manera tiene que operar el microcontrolador PICAXE, procedemos a explicar la realización del programa.
En desarrollos anteriores hemos comenzado esta parte de la aplicación con las siguientes palabras, “lo primero que tenemos que hacer es abrir nuestro programa llamado “PICAXE Programming Editor”. Por lo tanto, nuevamente hacemos la indicación de que pueden descargar el software 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 “pi­ca­xe”, 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 emplear cualquier microcontrolador PICAXE ya que la estructura del programa es válido para cualquiera 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 PICAXE que se vaya a utilizar.
Cuando empleamos un convertidor analógico - digital (ADC) lo primero que tenemos que hacer es calcular su resolución y para ellos nos basamos en la fórmula Nº1.
Resolución = Valor del rango
--------------------2N - 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
re­so­lu­ción = --------- = ----------- =
256 - 1
28 - 1
= 0.0196 V = 19.6 mV
42
Todo SobrE mICroCoNTroLAdorES PICAXE
PICAXE: L A N uEvA F ormA
dE
P rogrAmAr
uN
PIC
Con este dato ya sabemos
que con cada cambio de
Figura 102
0.0196V que exista en el
ADC, se tendrá el incremento de un bit en un conteo a
base de 8 bits. Por otra parte
y recordando que el sensor
LM35 trabaja en el rango de
0 °C a 150 °C cuyos valores
equivalen a 0 VCD y 1.5
VCD respectivamente, por
razones obvias no será empleado todo el rango de trabajo del ADC del PICAXE, ya que la temperatura ambiente, por ejemplo en un lugar extremo es de hasta 55 °C, y ya estamos hablando de un desierto, para este desarrollo el valor de temperatura que nos interesa es el de 25 °C, ya que por debajo de este valor podemos considerar que la temperatura es agradable, pero por encima de este valor consideraremos
que hace demasiado calor por lo que tenemos que encender el ventilador (este nivel de temperatura se puede ajustar a las preferencias de las personas o los lugares). Para la temperatura de 25
°C se tiene un valor de voltaje equivalente a 250mV por lo tanto tenemos que saber qué número
binario será el resultante una vez que es ingresado al ADC del PICAXE, para ello emplearemos
el valor de la resolución y el del valor analógico (Va) que tendremos que digitalizar por lo tanto
Va = 250mV, y para calcular la combinación binaria tenemos la siguiente expresión matemática:
Comb.­bi­na­ria = Valor Analógico (Va)
-------------------------Resolución
Por lo tanto:
250mV
Comb.­bi­na­ria = ----------- = 12.75 ≈ 13
19,6mV
El valor de 13 ahora lo tenemos que convertir a su correspondiente valor binario de
8 bits, quedando como sigue:
00001101. Este último valor
binario es el que tomaremos
como base para realizar la
comparación de los diferentes
valores de voltaje que tienen
una correspondencia directa
con el valor de temperatura, y
entonces para cualquier valor
por debajo de 00001101 (13)
desactivará al ventilador,
Figura 103
Todo SobrE mICroCoNTroLAdorES PICAXE
43
PICAXE: L A N uEvA F ormA
dE
P rogrAmAr
uN
PIC
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 digitalizado. 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 explicado 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 tanto 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 tarjeta programadora.
Aunque ya lo hemos mostrado anteriormente, en la figura 103 nuevamente mostramos la manera 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.
LIS­TA­dE­CoM­Po­NEN­TES­PA­rA­Ar­MAr­LA­
TAr­jE­TA­ CoN­Tro­LA­do­rA­PI­CA­XE-18
Tarjeta entrenadora PICAXE-18.
D1 - Diodo 1N4001
Rext1 - 5.6kΩ 1/8W
Rext2
- 390Ω 1/8W
RL1 Relevador
Q1 - 2N2222
Sensor
LM35
Va­rios: Cable de programación, ó Cable serie y adaptador, cables de conexión, pila de 9 VCD.
44
Todo SobrE mICroCoNTroLAdorES PICAXE
PICAXE: L A N uEvA F ormA
dE
P rogrAmAr
uN
PIC
Pro­gra­ma­pa­ra­des­ple­gar­Nú­me­ros­bCd­
con­la­Tar­je­ta­En­tre­na­do­ra­del­Pi­ca­xe-18
En muchas ocasiones y para la mayoría de las aplicaciones que desarrollamos sobre un microcontrolador, tenemos que mostrar algún resultado sobre un display, que bien puede ser de segmentos o de LCD, por lo que es necesario saber de qué manera se desplegará la información sobre 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 puerto 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écnica que nos ayude a solventar esta problemática.
En este ejemplo haremos uso de displays de 7 segmentos, para así aprender a enviarles la información a éstos.
La técnica que emplearemos es la de multiplexación de la información, por lo que procederemos 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 complementaria 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, además de 3 bits que son los que indican qué número es el que se estará desplegando, esto es, se controla 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, después se tiene que enviar el “0111” (7) posteriormente el bit que enciende el display de las decenas 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
Todo SobrE mICroCoNTroLAdorES PICAXE
45
PICAXE: L A N uEvA F ormA
dE
P rogrAmAr
uN
PIC
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 previamente 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 acuerdo con nuestra aplicación puede ser muy importante desplegar un dato numérico, porque a lo mejor 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 entrenadora, 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 aclarar que ésta es tan sólo una sugerencia de cómo hacerlo, ya que cada uno puede realizar las conexiones 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 tienen 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 será 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 tanto, 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, unidades, 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 temporal representada por el registro del microcontrolador PICAXE b0, el dato de las decenas se encontrará 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 fragmento 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 asignació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, decenas y centenas en b0, b1 y b2 respectivamente.
Antes de continuar con la explicación del desarrollo del programa, regresemos por un instante 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 desarrollo del programa.
En la figura 104 se muestra la forma de conectar el display a la tarjeta entrenadora y del circuito se observa lo siguiente: las terminales de salida S0, S1, S2 y S3 representan los 4 bits que
46
Todo SobrE mICroCoNTroLAdorES PICAXE
PICAXE: L A N uEvA F ormA
dE
P rogrAmAr
uN
PIC
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 decimal, podemos obtener el peso específico de cada uno de los bits que generan el valor numérico BCD, siendo S0 el bit menos significativo (bms), mientras que S3 representa el bit más significativo (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 maTAbLA­­2
nera los 3 se encenderán con la misma información. La solución
Nú­me­ro­bCd Nú­me­ro
a lo anteriormente descrito se encuentra en el circuito de la figu(S3,S2,S1,S0) de­ci­mal
ra 104, en donde se observa que las terminales S4, S5 y S6 co0000
0
rresponden al control de las cifras de las unidades, decenas y centenas respectivamente de acuerdo con la información que se en0001
1
cuentra en la tabla 3.
0010
2
Una vez que hemos visualizado la manera en cómo se en0011
3
cuentra ordenada la información del puerto de salida del micro0100
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.
0110
6
Se mencionó en líneas anteriores que en esta aplicación sola0111
7
mente se desplegará la información que se encuentre contenida
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 mani1001
9
pulados, por lo tanto consideramos que esa actividad ya se Ta­bla­3­-­Ac­ti­va­ción­y­de­sac­ti­va­ción­de­los­dis­plays.
realizó y los datos ya se en- (S6,S5,S4)
dis­play­Cen­te­nas
dis­play­de­ce­nas
dis­play­Uni­da­des
cuentran en los registros an- 000
Apagado
Apagado
Apagado
Apagado
Apagado
Encendido
tes mencionados. Como si- 001
Apagado
Encendido
Apagado
guiente paso procedemos a la 010
Encendido
Apagado
Apagado
acción de enviar cada una de 100
las cifras del número completo a los displays y que en
Figura 108
esta ocasión se trata del valor
“246”, por lo que comenzamos con el armado de la información que será enviada
al puerto de salida del microcontrolador PICAXE. La
primera cifra que sufrirá la
manipulación es la correspondiente a la de las unidades, 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 figuFigura 106
Figura 107
ra 106, el valor que se está
Todo SobrE mICroCoNTroLAdorES PICAXE
47
PICAXE: L A N uEvA F ormA
dE
P rogrAmAr
uN
PIC
guardando en el registro b3 es el 16(10) que equivale a la combinación binaria 0010000(2), que
es precisamente la que controla el encendido del display de la unidades, posteriormente para enviar la información completa al puerto de salida del PICAXE, se hace uso nuevamente del comando de asignación “let” pero en esta ocasión el resultado de esta asignación la enfocaremos directamente a las terminales de salida por lo que se selecciona después del comando “let”, el destino “pins”, ahora tenemos que unir el dato que se encuentra en el registro b0 (unidad cuyo valor
es 6) con el que se encuentra en el registro b3 (control del encendido del display de la unidad),
por lo que empleamos el operador lógico conocido como OR, cuyo símbolo es “|”, el resultado
de la operación lógica se da de la manera como se ilustra en la tabla 4.
En la figura 106 se muestra el bloque que genera la operación lógica OR y cómo el resultado
es enviado a las terminales de salida del microcontrolador PICAXE, y de esta forma aunque el
valor numérico 6 está llegando al mismo tiempo a los 3 displays, sólo se encenderá el que tiene
la cifra significativa de las unidades, mientras que los otros 2 displays (decenas y centenas) permanecerán apagados.
En la figura 106 vemos los bloques de asignación de valores al registro b3 y terminales de salida del PICAXE.
En la figura 107 vemos los bloques de asignación a los registros b0, b1, b2 y b3 además de
las terminales de salida del PICAXE. Estos son los bloques que se han implementado hasta este
momento, y que controlan el encendido del display de las unidades.
Como paso siguiente al envío de la información para encender el display de las unidades, ahora se tiene que proseguir con el dato correspondiente a la siguiente cifra significativa que es la
decena, recordando que el valor numérico que se quiere desplegar es el “246”, por tanto continúa
el turno del valor 4. Para ello, a través del registro temporal b3, almacenaremos la información
correspondiente al encendido del display de las decenas, sobre este registro alojaremos nuevamente un dato de manera directa utilizando el comando de asignación “let” tal como se ilustra en
la figura 108, el valor que se estará guardando en el registro b3 es el 32(10) que equivale a la
combinación binaria 00100000(2), que es precisamente la que controla el encendido del display
de las decenas.
En la figura 108 vemos el bloque de control de los displays de las unidades, y decenas. De
nueva cuenta se tiene que
complementar la información
Ta­bla­4­-­re­sul­ta­do­de­la­ope­ra­ción­ló­gi­ca­or­en­tre­los­re­gis­tros­b0­y­b3.
S7
S6
S5
S4
S3
S2
S1
S0
que será enviada al puerto de
b0
0
0
0
0
0
1
1
0
salida del microcontrolador
b3
0
0
0
1
0
0
0
0
PICAXE, para lo cual hacepins 0
0
0
1
0
1
1
0
mos uso una vez más del comando de asignación “let” diTa­bla­5­-­re­sul­ta­do­de­la­ope­ra­ción­ló­gi­ca­or­en­tre­los­re­gis­tros­b1­y­b3.
rigiendo el resultado directaS7
S6
S5
S4
S3
S2
S1
S0
mente a las terminales de salib1
0
0
0
0
0
1
0
0
da del PICAXE, por lo que en
b3
0
0
1
0
0
0
0
0
el comando “let” marcamos el
pins 0
0
1
0
0
1
0
0
destino a donde dirigiremos la
información que es a las termiTa­bla­6­-­re­sul­ta­do­de­la­ope­ra­ción­ló­gi­ca­or­en­tre­los­re­gis­tros­b2­y­b3.
nales denominadas “pins”,
S7
S6
S5
S4
S3
S2
S1
S0
posteriormente para unir el dab2
0
0
0
0
0
0
1
0
to que se encuentra en el regisb3
0
1
0
0
0
0
0
0
pins 0
1
0
0
0
0
1
0
tro b1 (decenas cuyo valor es
4) con el que se encuentra en
48
Todo SobrE mICroCoNTroLAdorES PICAXE
PICAXE: L A N uEvA F ormA
dE
P rogrAmAr
uN
PIC
el registro b3 (control del encendido del display de las decenas), por lo que nuevamente
empleamos el operador lógico
conocido como OR (O en español), cuyo símbolo ya lo habíamos expresado y que es “|”,
el resultado de la operación lógica se da de la manera como
se ilustra en la tabla 5.
Figura 110
En la figura 108 se muestran los bloques correspondientes al control de los displays de las unidades y las decenas, lo que nos da la posibilidad de
mostrar el dato “46” faltando tan sólo el control del display de las centenas que a continuación
explicamos.
Por último, corresponde controlar la tercera cifra significativa que es la centena, por lo que el
valor numérico que falta por desplegar es el “2”, para ello en el registro temporal b3 almacenaremos la información correspondiente al encendido del display de las centenas, que de manera directa utilizando el comando de asignación “let” guardamos el valor 64(10). En el registro b3 es
el que equivale a la combinación binaria 01000000(2), que es, precisamente, la que controla el
encendido del display de las centenas.
Como ya se ha explicado detalladamente la forma de cómo se arma el dato que será enviado
al puerto de salida del PICAXE, procederemos a controlar el display de las centenas de una manera más simplificada que las anteriores cifras significativas.
Por medio del comando “let” uniremos el dato que se encuentra en el registro b2 (centenas cuyo valor es 2), con el que se encuentra en el registro b3 (control
del encendido del display de las centenas), empleando el operador lógico OR, el resultado de la operación lógica se ilustra en la
tabla 6.
En la figura 109 se muestran los bloques completos al control de
los 3 displays que corresponden al de las unidades, decenas y
centenas, por lo que ahora sí contamos con el poder de mostrar
cualquier número completo de 3 cifras.
Con las notas anteriores ya estamos en posibilidad de diseñar
una aplicación en la que esté
involucrado un teclado y un
display para desplegar los datos que se van generando.
También ya hemos revisado
cómo trabaja el convertidor
analógico a digital (ADC), sólo nos falta procesar la información para mostrarla en los
displays, para que de esta manera diseñemos por ejemplo un
Figura 109 - Diagrama de flujo completo.
voltímetro digital, proyecto
que en breve publicaremos.
Todo SobrE mICroCoNTroLAdorES PICAXE
49
PICAXE: L A N uEvA F ormA
dE
P rogrAmAr
uN
PIC
Figura 111 - Identificación de terminales en
los conectores mini jack y DB9.
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 “pi­ca­xe”, en su defecto también lo pueden adquirir 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 programació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.
LIS­TA­dE­CoM­Po­NEN­TES­PA­rA­UTI­LI­zAr­
LA­TAr­jE­TA­ CoN­Tro­LA­do­rA­PI­CA­XE-18.
Tarjeta entrenadora PICAXE-18.
Módulo Display de 3 dígitos
Va­rios: Cable de programación, ó cable serie y adaptador, cables de conexión, pila de 9 VCD.
PLC­de­5­en­tra­das­y­8­sa­li­das:­Cons­tru­ya­un­PLC­com­ple­to­uti­li­zan­do­
un­mi­cro­con­tro­la­dor­Pi­Ca­Xe-18­con­ex­ce­len­tes­pres­ta­cio­nes
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 operacionales 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.
50
Todo SobrE mICroCoNTroLAdorES PICAXE
PICAXE: L A N uEvA F ormA
dE
P rogrAmAr
uN
PIC
el­PLC­Pro­pues­to
Uno de los objetivos de la utilización
de los microcontroladores se basa en el
control de procesos
industriales, pasando
por todas las líneas de
producción que tengamos en mente (aun las
que ni siquiera nos
imaginamos). Para
ello se requiere de un circuito base, el cual podamos aplicar de forma general para casi todos los
procesos que se requieren automatizar, y que obviamente tenga un microcontrolador como eje
principal de su operación (figura 111).
Para contar con lo anteriormente mencionado, debemos hacer hincapié en que tenemos ya los
conocimientos básicos como para unir toda la serie de tópicos que hemos abordado hasta el momento en esta serie de microcontroladores PICAXE, por lo tanto estamos en la antesala de la
construcción de un proyecto que tiene una utilidad muy importante en el ambiente industrial, y
cuya denominación es la de “Control Lógico Programable”.
La figura 112 muestra el diagrama esquemático del PLC con PICAXE-18 que describiremos
a continuación.
El PLC (por sus siglas en inglés) lo podemos construir nosotros mismos a partir de las ventajas que nos ofrecen los microcontroladores del sistema PICAXE, y por lo tanto contamos con la
prestación adicional de que podemos construir nuestro PLC del tamaño que querramos o más
bien del tamaño de las necesidades que se requieren cubrir en el proceso industrial. De acuerdo
a esto último, nuestro PLC lo podemos crear tan pequeño que, inclusive podemos emplear el microcontrolador PICAXE-08. Lo diseñaremos tomando las bondades que nos ofrece el microcontrolador PICAXE-18A del cual utilizaremos todos los recursos que nos brinda, y que para empezar cuenta con 5 entradas y 8 salidas. El diseño es tan compacto que permite montarlo en una
placa de 10 cm x 15 cm (vea la figura 113).
Nuestro PLC tiene todas las prestaciones que nos entrega un dispositivo electrónico comercial, y para programarlo emplearemos el propio sistema de programación de los microcontroladores PICAXE. Alguien, al leer el párrafo anterior, se podrá sentir defraudado, porque podrían
argumentar que no tenemos un PLC completo ya que faltaría el lenguaje de programación en escalera, y en efecto así es lo que faltaría por el momento, pero sí podemos llamar PLC a nuestro
proyecto, ya que un PLC requiere de 3 partes esenciales para admitir esa acepción. Las partes de
un PLC son: etapa de entrada o ingreso de datos, etapa de activación de actuadores o elementos
de potencia (etapa de salida), y el controlador que gestiona la información de la entrada, la procesa y reporta un resultado a la salida. El controlador al que hacemos referencia normalmente es
un microcontrolador. Nuestro PLC contará con las 3 partes que de rigor debe tener un PLC, y el
lenguaje en escalera será substituido por el programa de los PICAXE, que durante el desarrollo
de este material mostraremos bloques de instrucciones que se utilizan comúnmente en el programa de un PLC.
Comencemos con la descripción del circuito que le dará vida a nuestro PLC, y para ello vamos a dividir el circuito eléctrico en 3 partes, las cuales son:
Todo SobrE mICroCoNTroLAdorES PICAXE
51
PICAXE: L A N uEvA F ormA
dE
P rogrAmAr
uN
Figura 112
52
Todo SobrE mICroCoNTroLAdorES PICAXE
PIC
PICAXE: L A N uEvA F ormA
dE
P rogrAmAr
uN
PIC
Figura 113
eta­pa­de­en­tra­da.-­
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 enviarla 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:
¿Cómo sé qué sensor seleccionar?
La respuesta nos la proporciona el propio proceso que vamos a intervenir con nuestro PLC, y lo que
tenemos que saber para tomar la mejor decisión sobre qué sensores seleccionar, es tomar alguno de los
siguientes criterios:
1.- ¿Se requiere conocer si está presente o no, algún producto o material?
2.- ¿Se requiere saber la magnitud de alguna variable física?
De las preguntas anteriores tenemos que la 1 corresponde a sensores discretos, mientras que la pregunta 2 se relaciona con los sensores analógicos.
El esquema del módulo de entrada discreto del
PLC PICAXE-18 incluye optoacopladores 4N25 (figura 114).
Figura 114
Todo SobrE mICroCoNTroLAdorES PICAXE
53
PICAXE: L A N uEvA F ormA
dE
P rogrAmAr
uN
PIC
Para una mejor comprensión explicaremos lo expresado líneas atrás mediante un ejemplo; supongamos que se tiene que
controlar la magnitud de
la temperatura en el interior de algún recinto, por
Figura 115
lo tanto tenemos que seleccionar los tipos de sensores para implementar el control de la temperatura y que ésta sea estable dentro del recinto.
De un análisis rápido y muy básico llegamos a la conclusión de que por lo menos, se requieren 2 tipos de sensores los cuales se emplearán para realizar una de las siguientes acciones:
•
•
Leer el valor de la magnitud de la temperatura que está presente.
Detectar si la puerta del recinto se encuentra cerrada.
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 analó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 PICAXE 18A, que nos permite una disposición de 5 terminales que en su totalidad pueden ser para entradas 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 presencia o no de algún objeto o fenómeno físico, por ello se requiere que el sensor informe de su estado 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 energizados por una fuente de alimentación, y cuando el contacto se cierra (esto si el sensor se activa) 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 infrarrojo 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 correspondiente del microcontrolador PICAXE. Este circuito se repite 5 veces, una para cada entrada discreta que posee el PICAXE.
eta­pa­de­sa­li­da.-­
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 salida. EL circuito principal que protege al microcontrolador PICAXE es un amplificador operacional, que se encuentra bajo la configuración de seguidor de voltaje, por lo tanto si en la salida del
54
Todo SobrE mICroCoNTroLAdorES PICAXE
PICAXE: L A N uEvA F ormA
dE
P rogrAmAr
uN
PIC
PICAXE se tiene un “0 lógico”, el seguidor de voltaje entregará 0 Volts, mientras que si el PICAXE entrega un “1 lógico” el seguidor de voltaje entregará 5 volt, porque con esa magnitud de voltaje es con la que trabaja el microcontrolador. En el diagrama de la figura 115 se muestra el circuito completo de la etapa de salida.
Para completar la etapa de salida, se utiliza un transistor para activar la bobina de un relevador, 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 corriente máxima de 10 ampere en 120V de corriente alterna 7 ampere en 220V ó 10A en 24V de
corriente continua.
eta­pa­de­con­trol.-­
Esta parte del PLC, de manera indirecta, la describimos cuando hacemos referencia a un microcontrolador PICAXE, porque el PICAXE de forma exclusiva es la pieza que integra a la etapa de control, porque la información que se adquiere de los sensores se tiene que dirigir a las terminales 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 continuació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 mediante 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 normalmente cerrados (N.C), los cuales leen la información de las terminales de entrada de datos y envían la información al PLC. También existen los símbolos que por medio de los cuales se le indica 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 emplear 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 programar 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
Todo SobrE mICroCoNTroLAdorES PICAXE
55
PICAXE: L A N uEvA F ormA
dE
P rogrAmAr
uN
PIC
Fun­ción­ló­gi­ca­
anD­(Y).-­
Esta función en lenguaje escalera equivale a
Tabla 7
interconectar una serie de
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 encuentran 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 microcontrolador PICAXE lo haremos en dos partes, en primer término se requiere leer el estado que están reportando los sensores (en este caso discretos), para ello como ejemplo obsérvese el fragmento 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 contactos que al estar conectados en serie, se tiene una equivalencia de una función lógica AND, estos 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 tanto 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 efecto 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 colocar 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áscara 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 inFigura 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
en este ejemplo, el identificado como “b0”, y para eliFigura 118
minar el efecto de las terminales E6 y E7 lo que tenemos que hacer es, de alguna manera, que estos bits adquieran un valor de 0 lógico, no importando el estado
que tengan sus sensores respectivos, mientras que sobre las terminales E0, E1 y E2 se debe mantener el valor 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
56
Todo SobrE mICroCoNTroLAdorES PICAXE
PICAXE: L A N uEvA F ormA
dE
P rogrAmAr
uN
PIC
que tengan las terminales E0, E1 y E2 se
mantendrá.
La instrucción “Let b0 = pins & 7” indica que le asigné a la variable b0 el valor que
corresponde a la lectura de los pines E0, E1
y E2. Por ejemplo, si E2=0, E1=0 y E0=1,
entonces b0=1. Otro ejemplo: si E2=1,
E1=0 y E0=1, entonces b=5.
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 AND de la rama del lenguaje en escalera de la figura 116, para ello el valor que
debe estar alojado dentro de la variable b0
debe ser igual a 7 decimal, si el estado de los
3 sensores es 1 lógico, y la variable b0 reFigura 119
portará cualquier otro valor si alguno de los
sensores o todos están en 0 lógico, tal como
se ilustra en la figura 117. El efecto de esta función lógica AND, equivalente a la rama de la figura 116, lo estamos reflejando sobre la salida S0, misma que se encenderá cuando 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, basta con adecuar la máscara que filtra a las terminales que nada tienen que ver con la función AND
de una rama de lenguaje en escalera, por otra parte si se tienen más ramas, el fragmento de código que implementamos para el PICAXE tiene que repetirse tantas veces como ramas necesitemos.
Para que se entienda, según lo expresado en la tabla 7, los valores de E6 y E7 son siempre
igual a cero, luego, para obtener una función equivalente a una AND de 3 entradas (E0, E1 y E2),
sólo habrá una salida válida cuando estas tres entradas estén en “1” y si esto se cumple, la sumatoria en binario equivale al número decimal 7, por lo tanto, y tal como se muestra en el bloque de
la figura 117, asignamos a una variable b0 la suma de los pines de entrada y si se cumple que:
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 preguntar si la variable b0 = 7, tal que cuando se cumpla esa condición entonces la salida “0” vaya a estado 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.
Fun­ción­ló­gi­ca­or­(o).-­
Esta función en lenguaje escalera obliga a interconectar interruptores en paralelo, lo que equivale 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 requiere 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 disposición de los símbolos se está dando origen a una bifurcación en una rama, en la cual se observa el
Todo SobrE mICroCoNTroLAdorES PICAXE
57
PICAXE: L A N uEvA F ormA
dE
P rogrAmAr
uN
PIC
efecto de 3 contactos que al estar conectados en
paralelo, se tiene la equivalencia con la función
lógica OR, estos contactos muestran como operan a partir de 3 entradas, por lo tanto, el microcontrolador PICAXE debe leer el estado de las 3
entradas involucradas, y para ello necesitamos saber qué terminales fueron las elegidas para conectar los sensores. Prosiguiendo con el ejemplo ilustrado en el lenguaje escalera para la función lógica OR, supóngase que las entradas para conectar
esos sensores fueron la E0, E2 y E6 (recuerde que
en un PICAXE las terminales de entrada son 5 y
son E0, E1, E2, E6 y E7), por lo tanto para que la
función lógica OR implementada en la figura 119,
tenga la misma operación en el microcontrolador
PICAXE, se tiene que leer sólo el estado lógico de
las terminales involucradas con la implementación de la operación lógica OR, por lo que tenemos que nulificar el estado que se genere para las
otras terminales que no
Tabla 8
están contempladas, para ello vamos a utilizar
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.
Tabla 9
La máscara o filtro que
'BA­SIC­con­ver­ted­from­flow­chart:­
le vamos a colocar al
'E:\PI­CA­XE­\PRO­GRA­MAS­DE­AR­TI­CU­LO­S\AR­TI­CU­LO-12\FUN­CION­AND­.CAD
PICAXE, estará imple'Con­ver­ted­on­16/10/2005­at­22:28:46
main:
mentada de acuerdo a
la­bel_6:
let­b0=pins&­7
como se muestra en la
if­b0=­7­then­la­bel_1F
low­0
tabla 8.
go­to­la­bel_6
Por medio de la aplicala­bel_1F:
high­0
go­to­la­bel_6
ción de la máscara descrita, vamos a indicarle
Tabla 10
al PICAXE que lea sus
terminales de entrada y
'BA­SIC­con­ver­ted­from­flow­chart:­
'E:\PI­CA­XE­\PRO­GRA­MAS­DE­AR­TI­CU­LO­S\AR­TICU­LO-12\FUN­CION­OR­.CAD
ese dato lo almacene en
'Con­ver­ted­on­16/10/2005­at­22:28:19
un registro temporal o
main:
la­bel_6:
let­b0=pins&­69
variable que en este
if­b0>­0­then­la­bel_1F
ejemplo se trata de
low­1
go­to­la­bel_6
“b0”, y para descartar el
la­bel_1F:
high­1
efecto de las terminales
go­to­la­bel_6
E1 y E7 lo que tenemos
Figura 120
58
Todo SobrE mICroCoNTroLAdorES PICAXE
PICAXE: L A N uEvA F ormA
dE
P rogrAmAr
uN
PIC
Figura 121
Todo SobrE mICroCoNTroLAdorES PICAXE
59
PICAXE: L A N uEvA F ormA
dE
P rogrAmAr
uN
PIC
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 mantener el valor del estado lógico que respectivamente, guarden los sensores que tengan conectados. 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 entradas 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) entonces 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 reportara cualquier valor que sea mayor que 0, quiere decir que alguno de los sensores o todos inclusive 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 equivalente al lenguaje escalera de la figura 119, lo estamos reflejando sobre la salida S1. La lámpara 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), basta 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 implementar 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 hemos 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 para los PLC, por lo que nuevamente les hacemos una
atenta invitación a que visiten nuestra página de internet
www­.we­be­lec­tro­ni­ca­.co­m.ar­ y en la sección de password empleen la clave “progplc”, para que puedan descargar mucha información sobre la programación de
PLC.
Si quieren obtener más 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 PICAXE, pero ahora empleando la
clave “pi­ca­xe”. El código en basic, derivado del diagra-
60
Todo SobrE mICroCoNTroLAdorES PICAXE
PICAXE: L A N uEvA F ormA
dE
P rogrAmAr
uN
PIC
ma de flujo para implementar la función AND, se muestra en la tabla 9. El código en basic derivado del diagrama de flujo para implementar la función OR se muestra en la tabla 10. Por último, en la figura 121 se muestra el diagrama completo para la placa de circuito impreso, incluyendo 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.
Pro­gra­ma­ción­Com­bi­na­cio­nal­del­PLC­-­PI­CA­XE­18
Al igual que los PLC comerciales, el PLCPICAXE18 tiene la capacidad de recibir las
diferentes técnicas de programación, esto es,
programación combinacional y programación secuencial (estas técnicas de programación se explican en la serie de PLC que se está desarrollando en Saber Electrónica). En
esta oportunidad explicaremos la técnica de
programación combinacional a ser empleada
en nuestro PLC.
Este, es capaz de controlar cualquier proceso industrial, basta con programarlo con la
aplicación específica que nos interesa. En esta oportunidad controlaremos un proceso en
donde se manipulará un motor de CD, el cual
tendrá que cambiar su polaridad para que éste gire en un sentido y en el otro, para cuestiones ilustrativas en este ejemplo, el mecanismo que emplearemos representa una herramienta que se emplea en algún proceso industrial, pero por obvias razones el mecanismo empleando es un juguete, el cual esperaFigura 123 - Conexiones del PLC - PICAXE 18
mos cumpla con el objetivo de mostrar que la
programación de nuestro PLC- PICAXE-18
Tabla 11 - Denominación de las terminales de entrada
es muy sencilla.
Terminal Etiqueta Identificación
Para proceder a proE0
Se­nAb
Sen­sor­que­de­tec­ta­la­po­si­ción­in­fe­rior­del­me­ca­nis­mo.
gramar el PLC, primeE1
Se­nArr
Sen­sor­que­de­tec­ta­la­po­si­ción­su­pe­rior­del­me­ca­nis­mo.
E2
Ini­cio
Bo­tón­de­Ini­cio­del­pro­ce­so.
ro tenemos que conocer
E6
Bn­
P
a­
r
o
Bo­tón­de­pa­ro.
el orden de las operaciones que van a conTabla 12 - Denominación de las terminales de salida.
trolar nuestro mecanisTer
mi
nal
Etiqueta Identificación
mo, para ello describiS0
Lám­pa­ra­1 Lám­pa­ra­que­in­di­ca­que­el­pro­ce­so­es­tá­en­mar­cha.
remos el algoritmo de
S1
Arri­ba
Re­le­va­dor­que­con­tro­la­el­gi­ro­del­mo­tor­ha­cia­arri­ba.
operación.
S2
Lám­pa­ra
Lám­pa­ra­que­in­di­ca­que­el­pro­ce­so­es­tá­de­te­ni­do.
El mecanismo que
S6
Aba­jo
Re­le­va­dor­que­con­tro­la­el­gi­ro­del­mo­tor­ha­cia­aba­jo.
se ilustra en la foto de
Todo SobrE mICroCoNTroLAdorES PICAXE
61
PICAXE: L A N uEvA F ormA
dE
P rogrAmAr
uN
PIC
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), imprimir, etc.
La­for­ma­de­ope­rar­de­nues­tro­me­ca­nis­mo­se­rá­la­si­guien­te:
• Como punto inicial, nuestro mecanismo se encontrará en estado de reposo, por lo que su parte 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 encenderá 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á bajando y subiendo hasta que se oprima el botón de paro, lo cual provocará que la parte móvil descienda y se detenga, induciendo que la lámpara de operación se apague y la de reposo se encienda.
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 tienen 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 bornes 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 desactivar 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 mecanismo. Como se explicó al comienzo de este ejemplo, se está empleando un “juguete” que represente 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 proponiendo 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 programación del PLC-PICAXE18, se
recomienda que se sigan
exactamente los mismos paFigura 124 - Escalón 1 del lenguaje en escalera.
sos que se realizan para pro-
62
Todo SobrE mICroCoNTroLAdorES PICAXE
PICAXE: L A N uEvA F ormA
dE
P rogrAmAr
uN
PIC
gramar un PLC, esto es, diseñar el programa mediante el empleo del llamado “lenguaje en escalera”, 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 microcontrolador 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 formar 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 PICAXE la cantidad de los registros que serán empleados para este tipo de salidas internas. El PICAXE-18 posee 14 registros de memoria RAM identificados como b0, b1, ……, b13, y todos éstos con un total de 8 bits cada uno, por lo que para guardar el estado 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 capacidad para guardar hasta 16 registros internos del PLC, en caso de
requerir más, tan sólo tenemos que tomar otro registro de memoria RAM del PICAXE, a continuación se muestra la distribució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 está implementando la función lógica OR. Por lo tanto, si la respuesta 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 verificar el estado de la salida interna M0 por lo que se toma el registro b12 del PICAXE, para de ahí verificar el estado del bit B0 Figura 125 - Diagrama de flujo que
representa al Escalón 1.
ya que éste tiene almacenada la información del estado de la sa-
Todo SobrE mICroCoNTroLAdorES PICAXE
63
PICAXE: L A N uEvA F ormA
dE
P rogrAmAr
uN
PIC
lida interna M0, la técniB0 ca que empleamos en este caso para leer únicaM0
mente el estado de M0 y
M8
descartar todos los demá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, para 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:
Tabla 13 - Ubicación de las salidas internas del PLC.
B7
B6
B5
B4
B3
B2
B1
b12 M7
M6
M5
M4
M3
M2
M1
b13 M15
M14
M13
M12
M11
M10
M9
Va­lor­de­ci­mal
Va­lor­bi­na­rio
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 enmascaramiento 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 funció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 enmascaramiento 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 enmascaramiento se ilustra a continuación:
Va­lor­de­ci­mal
Va­lor­bi­na­rio
17
00010001
&
&
2
00000010
........................................................................................
b0
0
00000000
b12
64
Todo SobrE mICroCoNTroLAdorES PICAXE
PICAXE: L A N uEvA F ormA
dE
P rogrAmAr
uN
PIC
Para continuar con el mismo ejemplo del enmascaramiento anterior, de igual manera supongamos
que en b12 se encuentra el valor decimal de 17, el
cual mediante la función AND (&) operamos con el
valor de 2, porque al convertirlo a binario el lugar
que ocupa el bit 1 corresponde con la salida interna Figura 126 - Escalón 2 del lenguaje en escalera.
M1. En este caso el resultado que se almacenará en
el registro de trabajo b0 será 0 porque limpiamos todos los bits menos el de M1, pero éste en el
registro b12, tiene un estado lógico almacenado igual con 0, por lo que el resultado final será 0,
una vez que sabemos cómo se encuentra M1 procedemos a evaluar si cumple con /M1, para que
podamos implementar la función AND que se muestra en la figura 124 del lenguaje en escalera.
Para cumplir con la función AND se realiza la pregunta “b0 = 0” puesto que el resultado de enmascarar al registro b12 para encontrar el estado de M1, se quedó precisamente en b0, si el resultado de la pregunta de una respuesta verdadera, quiere decir que el estado de M1 es cero por
lo tanto cumple con todas las condiciones del escalón 1 de la figura 124, por lo que podemos activar la salida interna M0 (colocar en 1 “lógico”), pero si el resultado de la pregunta “b0 = 0” no
es verdadero, no se cumplen con las condiciones del lenguaje escalera de la figura 124, por lo que
la salida interna M1 tiene que colocarse en 0 “lógico”. La manera de manipular las salidas internas ya sea colocando un 1 ó un 0 “lógico” es empleando la operación “let “ indicando que registro es el que se manipulará, que en este caso es b12 ya que ahí se encuentra la salida interna M0, por lo que tendremos los siguientes resultados. Si es necesario, colocar un 0 “lógico” en M0, se tiene que
emplear la operación “let b12 = b12 & 254” observe la figura 125, el
resultado de la operación no tiene que alterar todos los bits, ya que sólo el que corresponde a M0 se tiene que colocar en cero, por lo que si
empleamos 8 bits, el número 254 se representa como 11111110 y al
emplear la operación AND con el registro b12 se tiene lo siguiente:
Va­lor­de­ci­mal
Va­lor­bi­na­rio
17
00010001
&
&
254
11111110
...........................................................................................
b12
16
00010000
b12
Tabla 14 - Ubicación de las salidas internas del PLC.
B7
B6
B5
B4
B3
b11
S7
S6
S5
S4
S3
Figura 127 - Diagrama de flujo
que representa al Escalón 2.
B2
S2
B1
S1
B0
S0
Figura 128 - Escalón 3 del lenguaje en escalera.
Todo SobrE mICroCoNTroLAdorES PICAXE
65
PICAXE: L A N uEvA F ormA
dE
P rogrAmAr
uN
PIC
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 anterior, 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 operaciones donde se encuentre involucrado el registro M0, ya que sólo cambiará su estado lógico
cuando se vuelvan a evaluar las condiciones que están involucradas en
M1.
Va­lor­de­ci­mal
b12
17
|
1
b12
17
Va­lor­bi­na­rio
00010001
|
00000001
00010001
Una vez que fueron tomadas en
cuenta todas las condiciones del escalón 1 de la figura 124, ahora se implementarán las condiciones del escalón
2 que se muestra en la figura 126.
La tarea que tiene el escalón 2 en
el lenguaje en escalera es el de encender la lámpara que indica que se oprimió el botón de inicio, por lo que la
lámpara indica que el proceso está en
marcha, por lo tanto aquí se aprovecha el resultado del escalón 1, porque
en el escalón 2 se utiliza como única
condición el estado lógico de la salida interna M0. En la figura 127 se
muestran las operaciones que hacen
encender la lámpara si es que el estado M0 se encuentra 1, y apaga la lámpara si M0 se encuentra en 0 “lógico”. Al igual que con las salidas inter- Figura 129 - Diagrama de flujo
nas se tiene que guardar el estado de que representa al Escalón 3.
las salidas, ya que éstas pueden emplearse como condiciones en otros
escalones del lenguaje en escalera,
por lo que se tiene que definir en
qué registro de memoria RAM del
PICAXE se tienen que alojar. El
PLC - PICAXE18 cuenta con 8 salidas, por lo que es suficiente el
empleo de un registro, ya que todos
éstos poseen 8 bits y cada uno de
ellos reflejará el estado de cada una
66
Todo SobrE mICroCoNTroLAdorES PICAXE
Figura 131- Diagrama de flujo
que representa al Escalón 4.
Figura 130 - Escalón 4 del
lenguaje en escalera.
PICAXE: L A N uEvA F ormA
de las salidas del
PLC.
El registro de memoria RAM que será
empleado para almacenar el estado lógico
Figura 132 - Escalón 5 del
de las salidas es b11,
lenguaje en escalera.
a continuación se
muestra la distribución de los bits de los registros de memoria RAM empleados.
En la figura 128 se muestra el escalón 3 del lenguaje en
escalera, siendo su actividad principal la de indicarle al mecanismo que tiene que desplazar su parte móvil hacia arriba.
El escalón 3, tiene como una de sus condiciones, a la entrada E0, que lee el estado del sensor que identifica la posición inferior de la parte móvil del mecanismo, que en conjunto con la salida interna M0 generan la función lógica
AND, y cuyo resultado se analiza junto con la condición de
la salida S1 (ya se indicó en las operaciones del escalón 2
donde se guardan los estados de las salidas), lo que tiene como consecuencia una función lógica OR, que a su vez conforma otra función lógica AND junto con las condiciones de
las entradas /E3 y /E1, que son el reflejo tanto del botón de
paro así como del sensor que identifica el estado superior de
la parte móvil del mecanismo respectivamente. Por lo tanto,
el escalón 3 verifica las condiciones de seguridad que tienen
que cumplirse para que el motor de CD se energice y la parte móvil comience su desplazamiento hacia arriba, en la figura 129 se muestra el correspondiente fragmento en el ambiente del PICAXE.
Ahora toca el turno de revisar el escalón 4, que se ilustra
su lenguaje en escalera en la figura 130.
El escalón 4 tiene la primera función lógica AND por la
combinación tanto de la entrada E1 como de la salida interna M0, posteriormente este resultado se utiliza para que junto con la salida S3 y la salida interna M1 se genere la función lógica OR. El resultado de las condiciones anteriores se
combina con la entrada
/E0 mediante la función
lógica AND y si se cumplen todas las condiciones,
la salida S3 será activada.
La importancia del escalón 4 radica en la revisión de las condiciones
que tienen que cumplirse
para que el motor de CD
dE
P rogrAmAr
uN
PIC
Figura 133 - Diagrama de flujo que
representa al Escalón 5.
Figura 135 - Diagrama de flujo que
representa al Escalón 6.
Figura 134 - Escalón 6
del lenguaje en escalera.
Todo SobrE mICroCoNTroLAdorES PICAXE
67
PICAXE: L A N uEvA F ormA
dE
P rogrAmAr
uN
PIC
gire de tal manera, que la
parte móvil del mecanismo se desplace ahora hacia abajo. En la figura
131 se ilustra, en el ambiente de programación
del PICAXE, la representación del escalón 4.
Continuando con el
lenguaje en escalera, el
escalón 5 que se muestra
en la figura 132 tan sólo
tiene la misión de encender la lámpara que indica
que el proceso se encuentra detenido, y únicamente se emplea como condiFigura 137 - Kit del PLC PICAXE-18.
ción que no esté encendida la lámpara que indica la operación del proceso, ya que de lo contrario la lámpara del paro de
actividades se encontrará apagada. En la figura 133 se muestra la correspondiente interpretación
del lenguaje en escalera por medio del ambiente del microcontrolador PICAXE.
Por último se tiene el escalón 6, en donde se observa que al inicio se tiene una función lógica
OR integrada por las condiciones que genera la entrada E1 y la salida interna M1, y cuyo resultado tiene que someterse junto con la condición de la entrada /E0 en una función lógica AND. Si
Figura 136 - Diagrama
de flujo completo.
68
Todo SobrE mICroCoNTroLAdorES PICAXE
PICAXE: L A N uEvA F ormA
dE
P rogrAmAr
uN
PIC
Lista de componentes para el ejercicio.
PLC - PICAXE18
Se­nArr
mi­nin­te­rrup­tor­ti­po­push­bu­tom
Se­nAb
mi­nin­te­rrup­tor­ti­po­push­bu­tom
Bn­Pa­ro
bo­ton­ti­po­push­bu­tom­con­lám­pa­ra­in­te­gra­da
Ini­cio
bo­ton­ti­po­push­bu­tom­con­lám­pa­ra­in­te­gra­da
Lám­pa­ra1
Lám­pa­ra­del­bo­tón­“Ini­cio”
Lám­pa­ra1
Lám­pa­ra­del­bo­tón­“Bn­Pa­ro”
Arri­ba
Re­le­va­dor­con­bo­bi­na­de­24­VCD­y­un­par­de­con­tac­tos­de­15­Amp.
Aba­jo
Re­le­va­dor­con­bo­bi­na­de­24­VCD­y­un­par­de­con­tac­tos­de­15­Amp.
Fuen­te­de­ali­men­ta­ción­de­117­VCA
Fuen­te­de­ali­men­ta­ción­de­127­VCD
las condiciones del escalón 6 se cumplen totalmente entonces la salida interna M1 tenderá a ubicarse 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 proceso mediante un botón de paro, el cual puede ser empleado ya sea cuando se ha terminado la jornada laboral o cuando ocurra algún incidente que obligue detener el proceso. El paro de las actividades se realiza cuando se acciona el botón que está destinado a detener el proceso de producció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 programació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 ejemplo, que además nos parecieron de lo más adecuado para facilitar la programación del PLC-PICAXE18. El ejemplo mostrado posee diversas funciones lógicas y con cierto grado de complejidad, 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 lenguaje 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 descargar de nuestra página de internet y en la sección de password ingresen la clave “su­bey­ba­ja” 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 PICAXE, empleando la clave “pi­ca­xe”.
Todo SobrE mICroCoNTroLAdorES PICAXE
69
PICAXE: L A N uEvA F ormA
dE
P rogrAmAr
El código en basic, derivado del diagrama
de flujo para implementar el lenguaje en escalera es:
'BASIC converted from flowchart:
'E:\PICAXE\PROGRAMAS DE ARTICULOS\ARTICULO-13\SUBE Y BAJA (PICAXE). CAD
'Converted on 15/11/2005 at 20:43:44
main:
label_4B: if pin2=1 then label_44
let b0=b12& 1
if b0= 1 then label_44
label_61: let b12=b12& 254
let b11=b11& 254
low 0
label_B9:
if pin0=1 then label_84
let b0=b11& 2
if b0= 2 then label_E1
label_FA: let b11=b11& 253
low 1
label_103:
if pin1=1 then label_124
let b0=b11& 8
if b0= 8 then label_150
let b0=b12& 2
if b0= 2 then label_150
label_17F:let b11=b11& 247
low 3
label_186:
let b0=b11& 1
if b0= 0 then label_1A3
let b11=b11& 251
low 2
label_1BF:
if pin6=1 then label_1D6
let b0=b12& 2
if b0= 2 then label_1D6
label_1F5:let b12=b12& 253
label_204:
goto label_4B
PIC
uN
if b0= 0 then label_68
goto label_61
label_68: let b12=b12| 1
let b11=b11| 1
high 0
goto label_B9
label_84: let b0=b12& 1
if b0= 1 then label_E1
label_E1: let b0=pins& 66
if b0= 0 then label_F3
goto label_FA
label_F3: let b11=b11| 2
high 1
goto label_103
label_124:let b0=b12& 1
if b0= 1 then label_150
label_150:if pin0=0 then label_178
goto label_17F
label_178:let b11=b11| 8
high 3
goto label_186
label_1A3:
let b11=b11| 4
high 2
goto label_1BF
label_1D6:
if pin0=0 then label_1FD
goto label_1F5
label_1FD:
let b12=b12| 2
goto label_204
label_44: let b0=b12& 2
70
Todo SobrE mICroCoNTroLAdorES PICAXE
PICAXE: L A N uEvA F ormA
dE
P rogrAmAr
uN
PIC
sistema­de­alarma­Domiciliaria­inteligente
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 continua, 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 dependan del ingenio y la habilidad del técnico. La central basa su funcionamiento en un microcontrolador PICAXE-08.
Como somos conscientes de que muchos lectores aún no han realizado proyectos con microcontroladores PICAXE, en primer lugar describiremos el funcionamiento de una alarma multiuso que fue presentada en el tomo 7 de la colección Club Saber Electrónica (figura 138), destinado íntegramente a explicar el funcionamiento y programación de los microcontroladores PICAXE de 8, 18 y 28 terminales, brindando varios ejemplos prácticos.
2­zonas­instantáneas­programables
1­zona­demorada­programable
1­salida­de­activación­continua
1­salida­de­activación­temporizada­programable
incluye:
teclado­microcontrolado­con­display
Fuente­con­cargador­automático­de­batería
sirena­de­alto­desempeño­con­habilitación­lógica
alar­ma­mul­ti­pro­pó­si­to­
con­Pi­Ca­Xe­pa­ra­apre­nd­iza­je
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 perforación puede monitorear la temperatura y presión del petróleo crudo a
Figura 138
Todo SobrE mICroCoNTroLAdorES PICAXE
71
PICAXE: L A N uEvA F ormA
dE
P rogrAmAr
uN
PIC
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 plataforma.
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 suministrada 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ácticas y aprendizaje se
muestra en la figura
140.
El detector de humo
y el teclado numérico proveen información al microcontrolador; por lo
tanto se les conoce
como “entradas”.
Figura 140
72
Todo SobrE mICroCoNTroLAdorES PICAXE
PICAXE: L A N uEvA F ormA
dE
P rogrAmAr
uN
PIC
Luego, el microcontrolador “decide” cómo reaccionar y puede, en determinados casos, operar algunas de las salidas, por ejemplo encender la sirena y la luz estroboscópica o mostrar un mensaje 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. El diseño utilizará un microcontrolador PICAXE-08 como su cerebro.
2. El diseño incluirá una luz indicadora LED, un zumbador para generar ruidos y una alarma que podría ser una sirena o un motor.
3. El diseño será capaz también, de reaccionar a señales de sensores analógicos tales como
sensores de luz.
Esta alarma puede servir para cualquier propósito que usted elija. A continuación se mencionan algunos ejemplos:
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.
al­gu­nos­Con­cep­tos­pa­ra­re­cor­dar
Vamos a recordar algunos conceptos fundamentales de los microcontroladores PICAXE.
¿Cómo se escriben los programas?
Los programas se dibujan como organigramas o se escriben como listados de comandos BASIC. Programar en BASIC es fácil, ya hemos dado varios ejemplos y continuaremos haciéndolo.
¿Cómo se transfiere el programa al microcontrolador?
El microcontrolador PICAXE-08 se programa conectando un cable desde el puerto serie de la
computadora a un conector en el circuito impreso (PCB) a un lado del microcontrolador. Este conector (el cual se parece a los conectores de audífonos utilizados en los reproductores portátiles
de CD) se encaja a dos patas del microcontrolador y a la conexión de 0V desde la batería. Esto
permite que la PC y el microcontrolador “hablen” para permitir la descarga de un nuevo programa en la memoria del microcontrolador.
El conector y el circuito de interface se incluyen en todo circuito impreso diseñado para utilizarse con el microcontrolador PICAXE-08. Esto permite reprogramar al microcontrolador PICAXE sin sacar el chip del circuito impreso - ¡Simplemente conecte el cable cada vez que desee
descargar un nuevo programa!
Todo SobrE mICroCoNTroLAdorES PICAXE
73
PICAXE: L A N uEvA F ormA
dE
P rogrAmAr
uN
PIC
¿Cómo era eso de la salida 0 y la programación del micro?
En el sistema PICAXE-08 la pata 7 tiene dos funciones, cuando se está “ejecutando” un programa, la pata se denomina sa­li­da­0 y puede controlar salidas tales como LEDs y motores.
En cambio, cuando se está descargando un programa, la misma pata actúa como pin de salida
serie de datos, comunicándose con la PC. Por lo tanto, si durante esta operación también tiene conectada a la pata una salida tal como un LED, se percatará que el mismo se encenderá y apagará
continuamente mientras se descarga el programa.
no­ta:­La mayor parte de las computadoras modernas tienen dos puertos serie, usualmente denominados COM1 y COM2. El software Editor de Programación, utilizado para crear los programas, debe configurarse con el puerto serie correcto – seleccione Ver­->­op­cio­nes­->­Puer­to­se­rie para elegir el puerto serie correcto en su máquina.
Si usted está utilizando una nueva PC portátil, puede que ésta sólo tenga un conector del tipo
USB. En este caso para poder utilizar el Sistema PICAXE deberá comprar un adaptador USB a
serie.
Prue­ba­de­Fun­cio­na­mien­to­del­tran­si­stor
Ya hemos visto cómo se prueban algunos componentes por medio del sistema PICAXE. Aprovechando 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 microcontrolador. 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 siempre 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 motor. Este se utiliza para prevenir daños al transistor cuando el motor comienza a desacelerarse luego de haber apagado el transistor (por un corto período de tiempo (mientras se desacelera y finalmente se detiene) el motor actúa como un dínamo y genera corriente eléctrica). Al conectar el diodo asegúrese que la “banda” esté conectada en el sentido correcto.
Output device = dispositivo de salida
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 PICAXE, 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:
74
Todo SobrE mICroCoNTroLAdorES PICAXE
PICAXE: L A N uEvA F ormA
dE
P rogrAmAr
uN
PIC
main:
high­4
wait­1
low­4
wait­1
go­to­main
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, mascota o la alarma que estamos describiendo y cuyo circuito daremos más adelante). Si el timbre no
funciona verifique que:
1) el diodo esté conectado en el sentido correcto
2) se estén utilizando las resistencias correctas
3) el transistor esté conectado en el sentido correcto
4) el cable rojo del timbre esté conectado en el sentido correcto
5) se esté utilizando el número de pin de salida correcto en el programa
6) todas las uniones estén bien soldadas
Entre los dispositivos de salida que se pueden conectar mediante un transistor están los timbres, 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:
Salida de la pata 7: el pin0 está conectado al LED.
Salida de la pata 5: el pin2 está conectado al zumbador.
Salida de la pata 3: el pin4 controla a los dispositivos de salida.
Entrada de la pata 6: el pin1 está conectado a la fotorresistencia.
Entrada de la pata 4: el pin3 está conectado al interruptor de botón de presión.
¡re­cuer­de­no­con­fun­dir­el­nú­me­ro­de­pa­ta­del­chip­con­el­nú­me­ro­de­pin­de­sa­li­da/en­tra­da!
La lista de materiales para la construcción de la alarma es la siguiente:
R1 y R2: resistencias de 10kΩ (marrón negro naranja dorado)
R3: resistencia de 22kΩ (rojo rojo naranja dorado)
R4 : resistencia de 330Ω (naranja naranja marrón dorado)
R5 y R6: resistencia de 1kΩ (marrón negro rojo dorado)
LED1 : LEDs rojos de 5 mm
TR1: transistor BC548B
D1: diodo 1N4001
Todo SobrE mICroCoNTroLAdorES PICAXE
75
PICAXE: L A N uEvA F ormA
dE
P rogrAmAr
uN
PIC
C1: Electrolítico de 100uF
IC1: conector de 8 pines para circuito integrado
PX: microcontrolador PICAXE-08
CT1: conector de descarga PICAXE de 3.5 mm
BT1: conector de batería
BT1: caja de baterías de 4.5V (3 x AA)
PCB: tablero o placa de circuito impreso
La empresa Revolution Education ofrece la placa de circuito impreso, fabricada especialmente con una película
resistente a la soldadura, para hacer el proceso de soldadura más sencillo. Esta película es la cubierta verde que
cubre las pistas de manera que la soldadura no se pegue a
las mismas. Para una construcción correcta, el PCB se debe ensamblar y soldar muy cuidadosamente.
En la figura 141 se reproduce el diseño de la placa de circuito impreso. Una vez armado el circuito realice las siguientes verificaciones:
Figura 141
Pa­so­1­–­Ve­ri­fi­que­las­unio­nes­sol­da­das.
Verifique que todas las uniones estén conectadas tanto al
terminal como al cable, y que el cable esté sujeto firmemente.
También verifique que la soldadura no haga accidentalmente 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 lado pueden unirse sin ninguna consecuencia, ya que de todas formas están unidos por una pista en el tablero. Sin
embargo, éstos no deben unirse al agujero redondo central.
Pa­so­2­–­Ve­ri­fi­que­los­com­po­nen­tes.
1) Verifique que el cable negro de la batería esté en el agujero marcado 0V y
que el cable rojo esté en el agujero marcado V+.
2) Verifique que el chip PICAXE-08 esté insertado correctamente en el conector, 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-
76
Todo SobrE mICroCoNTroLAdorES PICAXE
Figura­142
PICAXE: L A N uEvA F ormA
dE
minal cuadrado central, el cual a menudo, es olvidado por equivocación.
P rogrAmAr
uN
PIC
Figura­143
Pa­so­3­–­Co­nec­te­la­ba­te­rí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 calentarse desconecte la batería inmediatamente, ya que debe haber algún problema (lo más seguro es que el chip o los cables de la batería
estén conectados en sentido inverso).
Pa­so­4­–­des­car­gue­un­
pro­gra­ma­pa­ra­pro­bar­el­LEd­0
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 haya elegido el puerto serie correcto.
Escriba y descargue el siguiente programa (figura 142):
Figura 144
main:
high­0
wait­1
low­0
wait­1
go­to­main
El LED debe titilar a medida que se descarga el programa. Al terminar la descarga, el LED deberá encenderse y apagarse cada segundo. Si el LED no hace esto verifique que esté conectado correctamente y que las resistencias de 330Ω estén en la posición correcta en el
PCB.
Si el programa no se descarga verifique que la resistencia
de 22kΩ, la de 10kΩ y el conector IC estén soldados correctamente. Utilice un voltímetro para verificar si hay 4.5V entre
las patas superiores (1 y 8) del microcontrolador.
Verifique que el cable esté firmemente conectado al conector y que dentro del software se haya elegido el puerto serie correcto.
Figura 145
Pa­so­5­–­Prue­be­la­sa­li­da
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:
high­4
Todo SobrE mICroCoNTroLAdorES PICAXE
77
PICAXE: L A N uEvA F ormA
dE
P rogrAmAr
uN
wait­1
low­4
wait­1
go­to­main
PIC
Figura­146
El timbre deberá sonar cada segundo. Si no lo hace, verifique que
los cables del transistor, del diodo y
del timbre estén conectados en la dirección correcta.
Pa­so­6­–­Prue­be­el­zum­ba­dor
Escriba y descargue el siguiente
programa como muestra la figura
144.
main:
sound­2,­(65,100)
sound­2,­(78,­100)
sound­2,­(88,­100)
sound­2,­(119,­100)
go­to­main
El zumbador debe emitir 4 sonidos diferentes. Si no hace esto asegúrese que los alambres estén soldados correctamente, que el
lado de bronce esté firmemente pegado al PCB con una cinta adhesiva de doble contacto (no trabajará si está flojo) y que los terminales sobre las letras PX estén debidamente unidos mediante
un alambre soldado.
Pa­so­7­-­Prue­be­el­In­te­rrup­tor
Conecte un interruptor a la entrada digital. Escriba y descargue el siguiente programa (observe
la figura 145):
main:
if­in­put3­is­on­then­flash
go­to­main
'ha­cer­una­eti­que­ta­lla­ma­da­“main”
'sal­ta­a­flash­si­la­en­tra­da­es­tá­en­cen­di­da
'si­no­re­gre­sar­a­ini­cio
high­0
wait­2
low­0
go­to­main
'­ha­cer­una­eti­que­ta­lla­ma­da­“flash”
'­en­cen­der­sa­li­da­0
'­es­pe­rar­2­se­gun­dos
'­apa­gar­sa­li­da­0
'­re­gre­sar­al­ini­cio
flash:
El LED de la salida 0 deberá encenderse cada vez que se presione el interruptor. Si no lo hace, verifique que el interruptor y que las resistencias de 10kΩ estén soldadas correctamente.
78
Todo SobrE mICroCoNTroLAdorES PICAXE
PICAXE: L A N uEvA F ormA
dE
P rogrAmAr
uN
PIC
Pa­so­8­–­Prue­be­la­
Fo­to­rre­sis­ten­cia
Conecte una fotorresistencia a la entrada analógica. Escriba y descargue el siguiente programa (figura 146):
main:
rea­dadc­1,b1
if­b1­>­100­then­do4
if­b1­>­50­then­do0
low­0
low­4
go­to­main
do4:
high­4
low­0
go­to­main
do0:
high­0
low­4
go­to­main
Ambos LEDs deberán encenderse en momentos distintos cuando usted cubre y descubre la fotorresistencia 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 correctamente.
¡Si ha ejecutado todas estas pruebas correctamente lo felicitamos ya que ha construido y ensamblado correctamente su alarma! ¡Ahora es el momento de desarrollar y probar sus propios
programas para operar su sistema de alarma!
ideas­de­Pro­gra­ma­ción
Ahora que ha ensamblado y probado su alarma, es el momento de desarrollar su propio programa. 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 partida para la creación de su programa. Usted puede modificarlos o comenzar a hacer un programa
completamente nuevo si así lo prefiere.
Pro­gra­ma­1­
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 (interruptor). 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.
Todo SobrE mICroCoNTroLAdorES PICAXE
79
PICAXE: L A N uEvA F ormA
dE
P rogrAmAr
uN
` Programa 1
` ***** bucle principal *****
` enciende y apaga el LED
` y verifica el estado de los sensores
main:
` encender LED y leer el valor de luz
high­0
rea­dadc­1,b1
` emitir un sonido si el valor analógico es bajo
if­b1­<­80­then­beep
` si el interruptor es presionado ir a alarm
if­pin3­=­1­then­alarm
` hacer una pausa
pau­se­500
` apagar LED y verificar nuevamente el estado
` de los sensores
low­0
rea­dadc­1,b1
` emitir un sonido si el valor analógico es bajo
if­b1­<­80­then­beep
` si el interruptor es presionado ir a alarm
if­pin3­=­1­then­alarm­
` hacer una pausa
pau­se­500
go­to­main
` ***** emitir sonido *****
beep:
sound­2,(120,50,80,50,120,50)
pau­se­200
go­to­main
` ***** encender alarma *****
alarm:
high­4
pau­se­2000
low­4
go­to­main
80
Todo SobrE mICroCoNTroLAdorES PICAXE
PIC
PICAXE: L A N uEvA F ormA
dE
P rogrAmAr
uN
PIC
Pro­gra­ma­2­
Este programa está diseñado como si fuera un sistema de alarma contra incendios. En el mismo, 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 apagarla 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á encendido (é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
` ***** bucle principal *****
` verificar estado de los sensores
main:
` LED apagado
low­0
` leer valor de luz
rea­dadc­1,­b1
` activar la alarma si el valor analógico es bajo
if­b1­<­80­then­alarm
` si el interruptor se apaga ir a tamper
if­pin3­=­0­then­tam­per
go­to­main
` ***** activar alarma anti-vandalismo hasta
` que el interruptor vuelva a cerrarse*****
tam­per:
high­0
sound­2,­(120,100)
if­pin3­=­1­then­main
go­to­tam­per
` ***** alarma encendida eternamente *****
alarm:
high­4
go­to­alarm
Todo SobrE mICroCoNTroLAdorES PICAXE
81
PICAXE: L A N uEvA F ormA
dE
P rogrAmAr
uN
PIC
Estos son simplemente dos de los muchos ejemplos que pueden utilizarse para la programació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 nuestra web con la clave “alar­ma”. 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 BASIC 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.
Central­de­alarma­inteligente
Describimos el funcionamiento de una alarma de 3 zonas de entrada y dos zonas de activación
microcontrolada en la que las variables (tiempos de demora y activación, zonas instantáneas o demoradas, salidas continuas o temporizadas, etc.) 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 usuaFigura­147
82
Todo SobrE mICroCoNTroLAdorES PICAXE
PICAXE: L A N uEvA F ormA
dE
P rogrAmAr
uN
PIC
rio de desconectar la alarFigura­148
ma 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
PICAXE
salidas, una de ellas es de
activación continua 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.
El sistema podrá detectar posibles fallas en algún sensor de alguna de las tres zonas y si esto
ocurre, la deshabilitará (a la zona) para que no haya disparos erráticos del sistema, quedando las
otras dos zonas en estado normal para detectar la presencia de intrusos.
En la figura 147 podemos apreciar el diagrama en bloques del sistema de alarma inteligente.
Note que se compone de una central de alarma microcontrolada, una fuente de alimentación,
un teclado de activación, sensores de actividad (magnéticos, de movimiento, interruptores, ultrasonido, de humo, etc.) y sistemas de alerta (sirena, discador telefónico, etc.).
El “corazón” de este sistema es la central que posee un microcontrolador PICAXE-08. A los
fines prácticos, en la figura 148 se reproduce el circuito básico de funcionamiento de este circuito integrado. Para este integrado se recomienda una tensión de alimentación de 5V y dos resistores para establecer la tensión necesarias en los datos a ser ingresados al PICAXE. Posee 5 patas
de entrada/salida de datos denominados PIN 0 a PIN 4. El PIN 0 (pata 7) solamente puede ser salida de datos, el PIN 3 (pata 4) sólo puede ser entrada y el resto pueden ser seteados como entrada o salida de datos.
Para programar el PICAXE se conecta un plug estéreo pequeño en el conector denominado
PROG y por medio de un cable se conecta al puerto serial de la computadora (vea en la figura
149 el armado del cable). El programa, ya sea en diagrama de flujo o en BASIC puede construirse en el utilitario “Editor de Programas” que puede bajar sin cargo de nuestra web con la clave
PI­CA­XE.
Figura­149
Todo SobrE mICroCoNTroLAdorES PICAXE
83
PICAXE: L A N uEvA F ormA
dE
P rogrAmAr
uN
PIC
El circuito de la central
es muy sencillo, en la tabla 15 encontrará la coPata Nº
PIN Nº
Función
rrespondencia entre las
patas del PICAXE y las
3
E/S­4
Entrada­1­(demorada)
entradas y salidas de la
4
E­3
Entrada­2­(instantánea)
placa. En los diagramas
5
E/S­2
Entrada­3­(instantánea) que explicaremos, si se
6
E/S­1
Salida­2­(temporizada) detecta un cambio de es7
S­0
Salida­1­(continua) tado en la entrada demorada, el operador tiene 10
segundos para desactivar la alarma antes de que se accione el sistema sonoro. No importa que se
vuelva a reestablecer el circuito luego de haberse detectado una interrupción, ya que igualmente
se activarán luego de 10 segundos de detectada la primera interrupción.
Cuando se aplica alimentación a la central, hay un período de rearme de 10 segundos durante los cuales las entradas están inhibidas para dar tiempo al usuario de abandonar la propiedad
protegida luego de haber puesto la alarma. Durante estos 10 segundos no serán reconocidas ningún cambio de estados en los sensores de las tres zonas. Pasados estos 10 segundos, si se detecta una interrupción en las entradas instantáneas, de inmediato se accionarán las salidas.
En cuanto a las salidas, proponemos dos posibilidades. La salida 1 es de activación continua,
lo que significa que una vez disparada la alarma, esta salida sólo se deshabilitará si se apaga la
central (si se la desconecta) mientras que la salida 2 es temporizada y esto se debe a que muchas
veces el usuario pretende que exista un sistema sonoro que suene durante un tiempo y luego se
apague, de modo de dar la alerta a un sereno o a la policía pero que no altere la “paz” a los vecinos durante mucho tiempo. Esta salida puede estar activa en tiempos de algunos segundos hasta
varios minutos y hasta horas.
En la figura 150 damos el circuito eléctrico de la central de alarma y en la figura 151 se reproduce una sugerencia para la placa de circuito impreso.
Note que las entradas se han dispuesto de forma tal, que hace falta un corto entre ambos cables para que la zona se active. De esta manera, cualquier corte o interrupción hará disparar al
sistema. Por cada zona puede conectar más de un sensor siempre que los mismos estén en serie
Tabla 15: Definición de entradas y salidas del PICAXE
Figura­150
84
Todo SobrE mICroCoNTroLAdorES PICAXE
PICAXE: L A N uEvA F ormA
y que los mismos representen un corto
(un cable) en estado de reposo.
En cuanto a las salidas, note que se
han colocado transistores BC548, los
que se saturarán cada vez que una salida
se active. En esta condición se podrán
alimentar dispositivos con un consumo
de hasta 150mA. Para el disparo de sirenas o cualquier otro dispositivo, recomendamos la colocación de relés en las
salidas, los cuales se conectan directamente (tenga presente que puede colocar
cualquiera de 6V de alimentación con
corriente de activación inferior a
150mA, cualquier relé de los usados en
circuitos impresos sirve).
dE
P rogrAmAr
uN
PIC
Figura­151
Pro­gra­ma­ción­de­la­Cen­tral
Usted puede generar el programa que
quiera, teniendo en cuenta las indicaciones que hemos dado a través de la tabla 1. Nosotros
preparamos dos versiones,
pero nada impide que Ud.
realice un programa a su
medida.
La primera versión funciona como hemos explicado hasta recién sin ninguna restricción, por lo
tanto “no es inteligente”.
Se trata de un sistema común, con 2 zonas de disparo instantáneo, una zona de
disparo demorado, una salida continua y otra temporizada. En la figura 152 se
puede ver el diagrama de
flujo construido en el Editor de Programas y en la figura 153 el correspondiente programa en BASIC. El
archivo para poder abrirlo
en el Editor de Programas
se llama “sencilla.cad” y lo
Figura­152
Todo SobrE mICroCoNTroLAdorES PICAXE
85
PICAXE: L A N uEvA F ormA
dE
P rogrAmAr
PIC
uN
Figura­153
puede bajar de nuestra web: www.webelectronica.com.ar, haciendo
click en el ícono password e ingresando la clave “alar­ma”. En dicho
sitio también encontrará un link para bajar el Editor de Programación
y un tutorial para aprender a usar el
programa.
Para programar la central, primero debe armar la placa, revisar
que está todo correcto, colocar el
cable entre la placa y la computadora, abrir el editor de programas,
abrir el archivo sencilla.cad, convertir el programa a su correspondiente BASIC y luego descargarlo
sobre la placa. Eso es todo... ahora
tendrá una central lista para montar
su sistema.
Figura­154
86
Todo SobrE mICroCoNTroLAdorES PICAXE
PICAXE: L A N uEvA F ormA
dE
P rogrAmAr
uN
PIC
Para este programa, hemos programado los siguiente datos:
Tiempo de rearme: 10 segundos
Tiempo de demora de zona: 10 segundos
Tiempo de salida temporizada: 4.6 segundos.
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.
el­Pro­gra­ma­in­te­li­gen­te
Muchas veces, por desperfectos de un sensor, o porque la suciedad interrumpe un haz en un
sensor externo, o por cualquier otro motivo, se dispara una alarma, sin que ello signifique que hay
intrusos... simplemente es un desperfecto. La posibilidad de contar con tres zonas de entrada permite que, aunque desconectemos una de ellas, exista protección por medio de las dos zonas restantes. En la figura 154 mostramos el diagrama de flujo construido en el Editor de Programas para un programa que “va contando” la cantidad de veces que se dispara el sistema desde una zona
sin que se haya desconectado la central, de esta manera, si un sensor se daña, la alarma actuará
normalmente, pero al efectuar tres veces el ciclo de disparo desde la misma zona, el sistema “entenderá” que hay una falla, deshabilitará la zona, pero la central continuará operando normalmente, protegida por los sensores de las otras dos zonas. Es por este motivo que el instalador deberá
colocar sensores en lugares estratégicos, conectados a diferentes zonas, de manera que si un ladrón reconoce esta forma de operar el sistema, corta un cable externo dándose a la fuga “hasta
ver” qué sucede y si nadie acude al aviso vuelve, será detectado por otro sensor (conectado a otra
zona) y la alarma volverá a dar una señal de aviso.
De esta manera, si el dueño de casa sale de vacaciones y la alarma se dispara por una falla, los
vecinos no deberán soportar el sonido del sistema de aviso durante horas... sólo 3 veces el tiempo programado para la salida temporizada.
En la figura 154 se reproduce este programa en diagrama de flujo y en la tabla 16 se lista el
programa en BASIC.
El archivo para poder abrir esta versión que llamamos “inteligente” (porque en base a datos
previos realiza diferentes cosas) en el Editor de Programa se llama “media.cad” y lo puede bajar
de nuestra web: www.webelectronica.com.ar, haciendo click en el ícono password e ingresando
la clave “alar­ma”. En dicho sitio también encontrará un link para bajar el Editor de Programación y un tutorial para aprender a usar el programa. También hay otras versiones para cargar al
PICAXE-08 de modo que realice otras funciones e incluso, una opción que llamamos “complicada.cad” que verifica lo que está sucediendo en cada zona a cada instante y actúa en consecuencia. Este programa es demasiado grande y no entra en un PICAXE-08, por lo cual habría que utilizar un PICAXE18-A, en cuyo caso habría que adaptar el circuito impreso.
Cabe aclarar que hemos descripto la central de alarma, para completar el sistema hacen falta
los sensores (magnéticos, de movimiento, ultrasónicos, barreras infrarrojas, etc.), la fuente con su
batería, el teclado y el sistema de aviso. En otras ediciones hemos dado circuitos de algunos de
estos dispositivos y en esta nota describiremos otros.
Todo SobrE mICroCoNTroLAdorES PICAXE
87
PICAXE: L A N uEvA F ormA
dE
P rogrAmAr
uN
Tabla 16: Programa para el sistema Inteligente
'BASIC converted from flowchart:
'C:\DOCUMENTS AND SETTINGS\HORACIO\ESCRITORIO\ALARMA\MEDIA.CAD
'Converted on 7/23/2005 at 18:08:53
main:
low­0
low­1
let­b0=­0
let­b1=­0
let­b2=­0
wait­10
label_D:
label_1B:
; fija el tiempo de rearme
if­pin2=1­then­label_76
if­pin3=1­then­label_7D
if­pin4=1­then­label_3C
goto­label_1B
label_3C:
wait­10
label_43:
high­0
high­1
sleep­3
label_76:
goto­label_1B
let­b0=b0+­1
goto­label_43
label_7D:
let­b1=b1+­1
goto­label_43
label_A9:
if­pin3=1­then­label_B4
if­pin4=1­then­label_BC
goto­label_A9
label_B4:
let­b1=b1+­1
goto­label_43
label_BC:
wait­10
; fija el tiempo de demora
; de la “Entrada 1”
goto­label_43
label_C7:
if­pin2=1­then­label_E6
if­pin4=1­then­label_DE
goto­label_C7
label_DE:
wait­10
; fija el tiempo de demora
; de la “Entrada 1”
; fija el tiempo de la salida
; temporizada en múltiplos
; de 2,3 segundos
low­1
if­b0=­3­then­label_A9
if­b1=­3­then­label_C7
PIC
; fija el tiempo de demora
; de la “Entrada 1”
goto­label_43
label_E6:
let­b0=b0+­1
goto­label_43
Fuente­para­sistema­de­alarma­con­Control­automático­de­Baterías
Un sistema de alarma se tiene que poder alimentar a través de una fuente de alimentación conectada 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 preciso contar con una tensión de 5V (de 4,5V a 6V) para la central y 12V para los dispositivos externos.
Figura­155
88
Todo SobrE mICroCoNTroLAdorES PICAXE
PICAXE: L A N uEvA F ormA
dE
P rogrAmAr
uN
PIC
En la figura155 se
puede apreciar el circuito
correspondiente a la fuente propuesta. Este diagrama precisa un transformador con primario de
acuerdo a la red local y
secundario de 15V + 15V
x 3A, de modo que sea
posible alimentar elementos externos relativamente
potentes. El circuito es
muy sencillo y emplea un
regulador de tensión de
tres terminales para alimentar a la central de
alarma. Note que se tiene
un conector que debe ser
conectado al cargador automático de baterías y
otro conector a donde deFigura­156
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 cuando 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. Este circuito genera una señal oscilante de forma de onda cuadrada que hace que la salida en la pata 3 pase alternativamente, entre los estados de masa y 12V.
Figura­157
Todo SobrE mICroCoNTroLAdorES PICAXE
89
PICAXE: L A N uEvA F ormA
dE
P rogrAmAr
uN
PIC
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 magnitud 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 conducción, en estas condiciones, C4 debería cargarse con una tensión superior a 12V y llegar en teorí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, dado 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.
sirena­para­alarma­con­Habilitación­Ló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 necesidad 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:
• Tensión de alimentación: 6Vc.c. a 12Vc.c.
• Corriente de reposo: inferior a 1mA.
• Corriente en accionamiento pleno: 2A a 4A.
• Potencia de audio: 10 a 20W.
90
Todo SobrE mICroCoNTroLAdorES PICAXE
PICAXE: L A N uEvA F ormA
dE
P rogrAmAr
uN
PIC
En términos de oscilador de bajo consumo y
excelente desempeño, pocos circuitos integrados
pueden ganarle al 4093. En verdad, sus cuatro
puertas NAND independientes pueden resultar en
hasta 4 osciladores diferentes, y con la posibilidad
de comando externo.
En la figura 158 tenemos el diagrama completo de la sirena.
En este circuito usamos dos puertas como osciladores y otras dos más como buffers mezcladores
y amplificadores.
De esta forma, la primera puerta (CI1a) es el
oscilador de modulación, que determina la cadencia de los toques o sus variaciones. En este circuiFigura­159
to, VR1 determina la frecuencia juntamente con
C1, mientras que VR2 determina la profundidad
de la modulación.
En verdad, podemos hasta modificar el efecto,
"suavizando" la modulación con la conexión de
un capacitor de 1µF a 22µF entre la juntura de
VR2 y R5 y el negativo (0V) de la alimentación.
El oscilador de audio está formado por CI1b y tiene su frecuencia determinada por C2 y ajustada en
VR3. Obtenemos en la salida de este oscilador un
tono de audio modulado que es llevado a las otras
dos puertas, que funcionan como un buffer (aislador) y amplificador digital. Las señales entregadas
a este buffer pueden ser controladas externamente por el pin 5 del CI1b. Si este pin estuviera en
el nivel bajo, lo que ocurre sin señal de habilitación (H), ya que R4 lo mantiene a tierra, el oscilador CI1b no funciona. Si este pin fuera al nivel alto, a partir de una salida CMOS por ejemplo,
Figura­158
Todo SobrE mICroCoNTroLAdorES PICAXE
91
PICAXE: L A N uEvA F ormA
dE
P rogrAmAr
uN
PIC
LISTA DE MATERIALES
Central de Alarma
R1:­22k
R2:­10k
R3,­R4,­R5: 1k
R6,­R7,­R8­y­R9:­330Ω
IC1:­PICAXE­-08
D1­y­D2:­diodos­led
Q1­y­Q2:­BC548B
D3­y­D4:­1N4148
Conector­mini­jack­stereo
Conectores­para­las­entradas­y
salidas.
Fuente­de­4­a­6V.
Fuente para Alarma
IC­Reg­1:­7805
D1,­D2,­D4,­D5­y­D6:­diodos
1N5402
D3:­diodo­Zener­15V­x­1W
C1:­470pF
C2:­100µF
R1:­470Ω
R2: 1k
Q1:­TIP31C
Transformador­con­primario
según­red­local­y­secundario­de
12­+12V­por­3A.
Teclado Microcontrolado
Q1:­TIP31C
Q2:­BC547
Cristal­de­cuarzo­de­10MHz
1­PIC16F876
2­capacitores­de­22pF
4­resistores­de­1k
5­resistores­de­10k
1­resistor­de­470Ω­
1­resistor­de­680Ω
1­preset­de­10k
1­módulo­LCD­16X2
1­teclado­HEX­de­4­filas­y­4
columnas
1­diodo­1N4007
1­relé
Sirena para Alarma
IC1:­4093B
Q1:­IRF640
R1:­10k
R2,­R3,­R4,­R5,­R6­y­R7:­1k
VR1,­VR2: 1MΩ
VR3:­100kΩ
C1­y­C2:­1µF­x­25V
C3:­100µF­x­25V
Batería­de­12V
Varios: cables,­estaño,­etc.
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 extremadamente 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 circuitos de baja tensión. De hecho, estos transistores pueden conducir corrientes muy elevadas (del orden de varios amperes) sin problemas, lo que significa una potencia de decenas de watt en un parlante 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 parlante 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 instante, 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 dificultad 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. ************
92
Todo SobrE mICroCoNTroLAdorES PICAXE
3ª forros.qxd:Maquetación 1 15/01/14 12:46 Página 1
4ª forros.qxd:Maquetación 1 15/01/14 12:45 Página 1