Issuu on Google+

SISTEMA DE DESARROLLO BASADO EN MICROCONTROLADORES PICAXE Aldo Fabián Juárez, José Agustín Peralta Departamento Electrónica Facultad Regional Tucumán Universidad Tecnológica Nacional 4000 Rivadavia 1050 San Miguel de Tucumán e-mail: fabianjuares@hotmail.com e-mail: joseagustinperalta@hotmail.com

Palabras claves: sistema de desarrollo, microcontroladores, simulación y prueba, armado de prototipo

Resumen En este trabajo se presenta un sistema de desarrollo, sobre un entorno de tres microcontroladores: PICAXE40X, PICAXE18 y PICAXE08. Este sistema fue desarrollado con el propósito de servir de entrenador y simulador del prototipo de un móvil explorador controlado remotamente que posee control de movimiento, visión y otras variables. El sistema de desarrollo se conecta a una PC mediante comunicación serie (o USB) y desde ella se transfieren los programas confeccionados en Basic Reducido o Diagramas de Flujo o Lenguaje de Especificación de Hardware. Una vez transferido el programa a uno de los tres microcontroladores, y ya sin necesidad de la PC, se puede empezar a trabajar con los diferentes módulos circuitales que constituyen el hardware del prototipo (en este caso el móvil). El sistema posee además puertos de entrada y salida aislados, visores LCD y siete segmentos, diodos led indicadores de estado, 8 salidas de potencia, transmisión y recepción infrarroja, transmisión y recepción por RF, puertos PS2 y PSX, entre otras cosas. La investigación y desarrollo que lleva este trabajo fue realizada para concretar el Proyecto Integrador de la Cátedra Técnicas Digitales III, coordinada con otras asignaturas del 5to curso de la carrera de Ingeniería Electrónica.


1. INTRODUCCIÓN Un sistema de desarrollo es un sistema destinado a servir de intermediario en el desarrollo de prototipos cuya complejidad de funciones demanda de circuitos VLSI. En este caso, el sistema de desarrollo (SD) que se presenta facilitó la construcción y el comando de un vehículo explorador (VE) controlado en forma remota. A los fines de implementar el SD, se estudia el comportamiento, características y potencialidades de los microcontroladores PICAXE poniéndolos a prueba a través de distintos módulos. Este sistema de desarrollo espera ayudar al docente y al alumno tanto en la comprensión como en el manejo de microcontroladores.

2. MOTIVACIÓN El diseño e implementación del VE fue una exigencia evaluativa de Técnicas Digitales III para acceder a la regularidad. Pero fue más que eso, ya que los autores, admiradores incondicionales desde la infancia de la serie televisiva “El auto fantástico”, encontraron en él inspiración para desarrollar sus ideas. Además, dado que todo joven es un gamer en potencia, pronto se pudo ver el desarrollo desde otro punto de vista. En base a lo expresado se buscó un vehículo para que fuera chasis y planta motriz del VE y se eligió uno, que casualmente es muy parecido al original Kitt. Esto dio el impulso final a nuestra motivación: se podía afrontar con gusto las difíciles tareas que había que realizar.

Figura 1. Similitud entre KITT y el vehículo desarrollado

3. DESARROLLO 3.1. Problemas iniciales El diseño e implementación del VE presentaba dos grandes problemas: uno asociado a la mecánica y el otro a la electrónica. La parte mecánica, tal como se consigna en el Apéndice III, demandó trabajo arduo y necesitó de soluciones originales. La parte electrónica apareció como desafío: el tiempo para realizar este proyecto no era mucho y él debía contemplar el tiempo necesario para investigar acerca de los nuevos circuitos disponibles que se quería incorporar, todos ellos novedosos y no utilizados anteriormente. Dada la potencialidad de los mismos, se vio que era imprescindible cumplimentar con una etapa intermedia, antes de llegar al VE y así comenzó el desarrollo del SD destinado al VE (Apéndice II)

3.2. Descripción del sistema El sistema fue concebido redundante desde un principio de modo que pudiera servir para desarrollos genéricos, no sólo para el VE. Él está básicamente conformado por dos placas gemelas que tienen la capacidad de poder comunicarse entre sí. Ellas también pueden cumplir la función de placas entrenadoras para distintas prácticas con microcontroladores. En el diagrama en bloques se puede apreciar la arquitectura básica del sistema.

Figura 2. Diagrama en bloque general del sistema


3.3. Microcontroladores PICAXE De todos los microcontroladores existentes en el mercado actual, se eligió a los PICAXE que cuentan con una herramienta de programación que facilita el aprendizaje. La decisión de desarrollar este sistema con los PICAXE fue tomada debido a la simplicidad de programación frente a la dificultad que se tiene en otros microcontroladores que se programan en lenguaje ensamblador, especialmente cuando se trata de personas que se están iniciando en el mundo de los microcontroladores. Se considera que la herramienta de programación de los PICAXE, basada en diagramas de flujo, permite aprehender conceptos y mejorar la compresión de cómo se dan las instrucciones a un microcontrolador. Teniendo en claro los conceptos fundamentales para la programación de microcontroladores se puede migrar fácilmente a otros de distintas características que se adecuen a las necesidades de determinadas aplicaciones. Luego del estudio de las características de algunos microcontroladores PICAXE se planificó cuidadosamente el diseño de las placas, de manera que tuvieran la posibilidad de poner a prueba sus características más importantes y se pudiera explotar su potencial en la medida de nuestros conocimientos. El diseño de estas placas es fundamental en este proyecto. Sirve de punto de partida y como base para el control y manejo del vehículo radiocontrolado. En el ámbito académico tiene un gran potencial: sirve para realizar ejercicios y/o pruebas de cada uno de los módulos que posee. De esta manera queda a criterio e imaginación tanto del alumno como del docente la creación y diseño de sus prototipos y/o de sus prácticas.

3.3.1 Programando PICAXE El PICAXE es un sistema derivado de los microcontroladores PIC, a los que se le agrega un firmware para que pueda ser programado directamente sin la necesidad de un cargador; es muy fácil de programar ya que utiliza lenguaje BASIC y además cuenta con la posibilidad de programarse con diagramas de flujo u otros entornos amigables.

El sistema que se utiliza tiene disponibles para programar tres versiones de estos microcontroladores: PICAXE-08 de 8 terminales, PICA XE-18 de 18 terminales y PICAXE-40 de 40 terminales. El sistema PICAXE no requiere de un programador o borrador pero si de un software llamado “Editor de Programación” (software gratuito). Este sistema utiliza únicamente tres alambres conectados al puerto serie de una computadora. [1] Una desventaja que tienen estos microcontroladores es que no es posible sacar el programa fuera de su memoria para “leerlo”; por lo tanto si se desea guardar el código de un programa para utilizarlo posteriormente se lo debe guardar en la computadora antes de descargarlo al PICAXE. [1] Otra desventaja en comparación con otros microcontroladores, es la poca memoria de programación, esto es debido al espacio ocupado por el firmware.

Figura 3. Conexión para programar un Picaxe 18

3.4 Placas del diseño El corazón de las placas es el sistema de tres microcontroladores a los cuales se los puede programar mediante el puerto USB o el puerto serie de una PC, seleccionando que microcontrolador actuará mediante una llave selectora. Esta llave vincula al microcontrolador seleccionado con los diferentes módulos de la placa entrenadora para realizar distintas pruebas o para manejar el prototipo. El sistema funciona con los 220V de la línea y posee una fuente de alimentación para entregar


las tensiones correspondientes para el funciona miento del microcontrolador, los módulos, entregando además tensiones desde -12V hasta 12V regulables para realizar distintas prácticas.

municación full-dúplex con 128 placas gemelas como máximo

3.4.3 Sistema de Led Indicadores Este sistema consta de ocho de leds indicadores alimentados a través de un circuito integrado que hace de driver. Mediante estos leds se indica el estado lógico alto o bajo de una salida. Además se puede controlar el brillo de los mismos a través de modulación de ancho de pulso (PWM).

3.4.4 Display LCD

Figura 4. Diagrama en bloque general de la placa entrenadora

Este módulo posee un conector estándar para un eventual LCD de la línea WINSTAR. Esta línea utiliza un potenciómetro de 10K para regular el brillo de los caracteres, que también está considerado en el diseño de la placa. Sí posee un display LCD HITACHI HD44780U de 20 x 2. Esta línea también utiliza una potenciómetro de 10K que se selecciona mediante un jumper (a diferencia del anterior éste lleva una conexión a -5V).

3.4.1 Módulo de Potencia

3.4.5 Display 7 segmentos

Consta de ocho salidas de potencia aisladas para el control de cargas inductivas o resistivas como ser motores o lámparas que funcionen con 220V. Posee luces indicadoras de cuáles son las salidas que se encuentran funcionando en ese momento.

Posee tres display de siete segmentos. Estos están configurados para ser operados en forma multiplexada.

3.4.2 Módulo de Radiofrecuencia Este módulo consta de un transmisor y un receptor de RF cuya frecuencia portadora es de 433.9MHz. Trabaja con modulación ASKOOK (On-Off Keying). En el receptor que se encuentra en la placa se puede obtener la señal modulada codificada o sin codificar, si es que se utiliza en ese caso un codificador en el transmisor y un decodificador en el receptor. Tanto en el transmisor como en el receptor se incluyen codificadores y decodificadores de 4 bits, además cuenta con la posibilidad de seleccionar la dirección a la que se envía o reciben los datos a través de un dipswitch, generando la posibilidad de implementar una co-

3.4.6 Buzzer Posee un buzzer para operar con instrucciones que generan melodías. Se pueden realizar diferentes melodías con los microcontroladores PICAXE ya que cuentan con un editor que le permite componer notas musicales a alguien que tenga conocimientos de música y al que no, puede descargar ringtones de la web en formato RTTL [4] (Apéndice I).


3.4.12 Entradas Aisladas Se tiene la posibilidad de disponer de entradas aisladas; esto se hace mediante un jumper de selección. En el caso que se desee trabajar con entradas no aisladas, no se selecciona dicho jumper. Estas entradas sirven para conectar distintos tipos de sensores, en nuestro caso un sensor de temperatura.

3.4.13 LDR Posee una fotoresistencia para realizar prácticas con los conversores analógicos digitales de los microcontroladores. Figura 5. Editor para componer notas musicales

3.4.7 Módulos IR Posee dos sensores infrarrojos para enviar y recibir señales, mediante el protocolo que la empresa Sony utiliza en sus controles remotos.

3.4.8 Teclado Telefónico Posee un teclado matricial tipo telefónico mediante el cual se pueden introducir datos y obtener resultados utilizando las técnicas de multiplexación.

3.4.9 Relé Posee un relé para el relevamiento de cargas inductivas o resistivas.

3.4.10 Puerto PS2 Posee un puerto PS2 para conectar un teclado de PC y comunicarse con el PICAXE 18 o 40. Antes se debe seleccionar con cuál de estos dos microcontroladores se desea hacer la comunicación, para lo cual están dos jumpers en la plaqueta.

3.4.11 Puerto Paralelo y Serie Consta de un puerto paralelo y un puerto serie mediante los cuales el SD se puede comunicar con una PC para la adquisición de datos.

3.4.14 Puerto PSX Este es un puerto que permite conectar un controlador o Joystick de PlayStation. Mediante la interpretación de su protocolo se puede manejar el vehículo y/o realizar distintas prácticas.

4. ACERCA DEL SOFTWARE En estos microcontroladores, no se necesita un programador especial para grabar. La empresa Revolution Education adquiere los PIC, les graba un firmware en la memoria libre y entrega al mercado los PICAXE; de esta forma, se puede programar por puerto serie y con protocolo RS-232. Al PICAXE se lo puede programar sin sacarlo del circuito, además viene en varias versiones de diferentes capacidades. También es posible descargar un lenguaje parecido al BASIC para hacer los programas de una manera bastante amigable que la mayoría de los estudiantes puede aprender rápidamente. El sistema PICAXE explota las características únicas de la nueva generación de microcontroladores de bajo costo, con memoria flash. Estos microcontroladores pueden ser programados una y otra vez sin la necesidad de un costoso programador PIC. El poder del sistema PICAXE radica en su sencillez. Además de todo lo dicho, también se puede programar al PICAXE para que funcione como un circuito integrado diseñado con compuertas de acuerdo a la necesidad del programador (como si fuera un arreglo lógico).


CROCODYLE Technology es otro software que tiene la capacidad de programar los PICAXE. Además, permite simular en 3D los proyectos que se desean realizar, interactuar con los diagramas de flujos y otras características muy importantes. El software “Programing Editor” permite: • simular la comunicación con un LCD virtual. • posee un editor de melodías que genera el código objeto de la melodía para la programación del micro. • se puede programar mediante este software microcontroladores BASIC STAMP y PIC. • permite simular los comandos infrarrojos que utilizan los controles remotos. • tiene la posibilidad de simular una memoria EEPROM que se comunica a través del bus I2C.

6. REFERENCIAS [1] Saber Electrónica – Aprenda Microcontroladores PICAXE – Colección Nº29 [2] http://www.yoreparo.com [3] www.rev-ed.co.uk [4] http://www.ringtonerfest.com/ [5] Pérez García et al: Instrumentación Industrial, Rd. Thomson Ites-Paraninfo, 2004 [6] Angulo Usategui, Microcontroladores dsPIC, Ed. Thomson-Paraninfo

APÉNDICE I Practicas con el SD •

Manejo de un servomotor:

Figura 6. Simulación con Programing Editor Figura 7. Diagrama de flujo

5. CONCLUSIONES El SD desarrollado ha permitido cumplimentar el objetivo de un sistema intermediario para desarrollo de prototipos. Ha sido configurado con la máxima versatilidad que fuera posible, cubriendo con holgura las expectativas iniciales y brindando otras futuras prestaciones, como conexión entre placas a través de fibra óptica y la comunicación a través de módulos ZEEGBE. El SD diseñado, además puede ser de mucha utilidad para quienes quieran aprender, comprender y enseñar microcontroladores.

En la figura 7 se muestra el diagrama de flujo para mover un servomotor en tres posiciones diferentes con un retardo de tres segundos entre cada posición. Con esta práctica se muestra la simpleza y el potencial del sistema PICAXE. Realizar esta misma práctica con otro tipo de microcontrolador resultaría más complicado. Generar una señal PWM y retardos, implica realizar una serie de cálculos para conseguir este mismo efecto lo cual genera muchas líneas de programación.


El comando Servo es una instrucción muy potente que simplifica las cosas, con él se envía una señal PWM que ya viene calculada para mover a un servomotor a la posición requerida. La sintaxis de la función servo es la siguiente: servo pin,pulse Donde pin es el número del pin por el cual quiero enviar la señal PWM y pulse es una constante o variable que va de 0 a 256 (para que funcionen bien los servos se tiene que poner 75 como mínimo y 255 como máximo). Para generar un retardo de 3 segundos sólo se usa la instrucción Wait que entrega retardos de 1 segundo.

0 - Happy Birthday 1 - Jingle Bells 2 - Silent Night 3 - Rudolf the Red Nosed Reindeer - LED es una variable/constante (0 -3) que especifica que salida se prendera al compas de la música reproducida. 0 - No outputs 1 - Output 0 flashes on and off 2 - Output 4 flashes on and off 3 - Output 0 and 4 flash alternately

APÉNDICE II Control del vehículo radio controlado

Figura 8. Instrucciones en Basic

Figura 13. Programa para manejar un servo en BASIC

Generando melodías con PICAXE08M

Figura 10. Controlador del vehículo

Figura 9. Diagrama de flujo

Con esta práctica se pretende conocer la instrucción Play para reproducir melodías. El PICAXE 08M es el único que trae 4 melodías pregrabadas en su firmware. Para reproducir melodías con otros PICAXE se debe usar la instrucción TUNE. La sintaxis de la instrucción Play es la siguiente: play tune, led Tune es una variable/constante (0 - 3) la cual especifica que tono se reproducirá

Es importante destacar algunos puntos respecto al vehículo. Motor de tracción: se requiere un completo control de velocidad, para poder tener un mejor dominio del VE comparado con el control que se obtiene con una sola velocidad. Esto es importante cuando el VE debe transitar por lugares con varios obstáculos. Dirección del VE un servomotor se encarga de direccionar al mismo con una precisión que se obtiene mediante modulación por ancho de pulso (PWM).


Figura 12. Sistema de tracción

Figura 11. Control mediante la PC

Manejo de la cámara para visión artificial: se adecua un sistema con dos microservomotores que tengan la capacidad de hacer girar la cámara 180º en la dirección horizontal y casi 90º en la dirección vertical. Este sistema permite mover la cámara de video en las direcciones que desee el que esté al mando del vehículo. Es importante destacar esto debido a que no se utilizaron sistemas demasiados sofisticados y/o controles de lazos, simplificando así el desarrollo del software y los algoritmos utilizados. El vehículo tiene la capacidad de reproducir cualquier tipo de sonido pregrabado. El VE posee distintos tipos de sensores: • Un sensor que mide el nivel o estado de la batería • Un sensor que mide la temperatura del lugar donde se encuentra el VE • Dos sensores que indican colisión frontal. Toda esta información adquirida del entorno donde se encuentra el VE se muestra en la PC. También tiene una alarma que se activa cuando el vehículo se haya movido.

Por lo tanto se buscó una solución de compromiso entre una batería (lo más pesado del VE) relativamente liviana que pudiera suministrar la corriente eléctrica requerida. Para ello se utilizó una batería de GEL de 6V/1,2A-h de aproximadamente 10cm x 5cm.

Figura 13. Batería de Gel del móvil

En lo que refiere al sistema de dirección del VE se adecuó la misma para poder utilizar el eje delantero que traía la carcasa del auto.

APÉNDICE III Al utilizar una carcasa de un auto de juguete, se tuvo la precaución de conservar la relación peso-fuerza del motor, ya que si se le agrega mucho peso, el motor no tiene la suficiente fuerza para moverlo a pesar de tener un sistema reductor.

Figura 14. Sistema de dirección

El servomotor tiene aproximadamente un recorrido de 70º. Como se mencionó antes, la precisión del mismo es muy importante para conseguir una buena maniobrabilidad.


SISTEMA DE DESARROLLO