Inicio Software Programar microcontroladores sin cursillos, sin tiempo, y para neófitos de Cebek.

Programar microcontroladores sin cursillos, sin tiempo, y para neófitos de Cebek.

Kit de iniciación «Starter Pack Picaxe-08M» de Cebek.
Una herramienta asequible, con una curva de aprendizaje simple y rápida, especialmente desarrollada para conseguir que el usuario programe de manera resuelta todo un microcontrolador, y que además consolide sin esfuerzos traumáticos el conocimiento y experiencia necesarios para acometer desarrollos más complejos
 

 
 
Existen dos modos de diseñar un circuito electrónico para que responda al funcionamiento encargado por una aplicación. Empleando en su desarrollo únicamente componentes convencionales sin programación, o utilizando hardware programable.
 
Aunque considerándola estrictamente esta definición seria correcta, en la actualidad es indisoluble la conjunción de software y hardware en la producción de aplicaciones electrónicas viables y competitivas.
 
En contraposición a un diseño estándar, un desarrollo basado en un microcontrolador posibilita una completa personalización de las funciones deseadas, permite un mayor número de versiones de funcionamiento, puede integrar un grado superior de complejidad, y reduce el número de componentes necesarios en el circuito, abaratando el coste, riesgo de avería y tiempo de producción.
 
El principal inconveniente que presenta un microcontrolador es su complejidad, y de toda ella, la programación, bajo lenguajes complejos como el código ensamblador probablemente sea la principal.
 
Para evitar este handicap y extender el empleo y la adopción del microcontrolador a todos los niveles, se ha popularizado un tipo de producto, la familia Picaxe. Se trata de una completa serie de microcontroladores de la casa Microchip, con su translación en los correspondientes modelos PIC. La diferencia y ventaja respecto al modelo estándar de microcontrolador es que eliminan la programación como elemento de complejidad.
 
Lo consiguen adoptando el lenguaje pseudo Basic como intérprete con el compilador y logrando que la programación sea considerablemente sencilla, incluso en algunos aspectos casi intuitiva. Otras firmas, como la casa Cebek, se han propuesto además solucionar el resto de aspectos complejos asociados al microcontrolador, eliminado toda excusa o reticencia mediante una serie de asequibles kits resueltos autónomamente con todos los elementos necesarios para la experimentación.
 
Dimensionados para un aprendizaje lineal y sencillo, este tipo de produzco asegura desde el comienzo, aun tratándose de alquilen no iniciado, la creación de los primeros programas y la plena funcionalidad del microcontrolador.
 
 
 

Aprender con el Cebek EDU-AXE003U.
 

 

 

 

 
 
El Starter Pack Picaxe-08M2 o Cebek EDU-AXE003U es un kit de iniciación para el microcontrolador de 8 pines Picaxe 08M2, especialmente indicado para los que han tenido ninguno o poco contacto con microcontroladores. Para los neófitos, El EDU-AXE003U es una herramienta excepcional, aunque no evita que el usuario no iniciado deba acometerlo con una cierta dedicación y actitud paciente antes de comenzar a plantearse los primeros ensayos con el kit.
 
Primero deberá atender a la documentación y obtener una idea conceptual de cuales son los elementos de hardware y software del pack y como intervienen entre si. Sin ningún precedente, o sin estar bajo la tutela de un profesor, la sensación al abrir la caja es: «¿y ahora qué?».
 
Este artículo toma conciencia de guía y describirá el Starter pack 08M2 de Cebek, analizándolo como producto pero también, y sobretodo para los que desean iniciarse, en clave divulgativa.
 
El EDU-AXE003U se presenta en una caja compacta. En su interior se encuentran los elementos para el montaje de la «placa madre», circuito impreso y componentes dispuestos para ser soldados. También el cable especial de comunicación con el ordenador, de conexión USB, y un CD con el software y manuales necesarios.
 

«¿Y ahora qué?».
 

 

 

 

 
 
Entre las ventajas del kit, y de la gama Picaxe en general se encuentra la abundante información, ejemplos de aplicaciones, y soporte al respecto. Desde la documentación recogida en el CD, o desde la página Web principal, aunque obviamente en inglés, se puede acceder fácilmente a guías y ejemplos iniciales de complejidad básica, media y avanzada. En conjunto, una recopilación de información estructurada para que el usuario pueda realizar una avance progresivo y continuado sin trabas.
 
No obstante, tras abrir el EDU-AXE003U en los primeros pasos del usuario novel se hace necesaria una única información, sin distracciones, que sea simple y que le permita una inmediata idea del proceso de trabajo que deberá emplear en el kit hasta conseguir la programación del microcontrolador. Un proceso que sintéticamente puede resumir como muestra la siguiente ilustración.
 
El primer paso es ensamblar el módulo principal o «Placa Madre». Para ello debe procederse a la soldadura de los pocos componentes que requiere el producto. Con la ayuda de la hoja de montaje que acompaña el kit, y la serigrafía del circuito impreso, y sin ningún elemento SMD que lo pudiese complicarlo, el proceso de soldadura se resuelve fácil y rápidamente.
 
Una vez concluido el montaje del circuito, la atención se centra sobre el ordenador con el que se deseé trabajar. El siguiente punto será la instalación del controlador o driver del cable de comunicación AXE027, incluido con el kit. El cable AXE027, aun con un extremo USB para el ordenador, no es un modelo convencional. En su interior se aloja una electrónica que permite interpretar y establecer la comunicación serie entre el microcontrolador y el ordenador. Para que esta interfaz pueda establecerse, es imprescindible instalar previamente sobre el ordenador los controladores necesarios.
 
El programa de instalación está disponible para las tres principales versiones de sistemas operativos: Windows, OSX o Linux. Puede cargarse directamente del CD o preferiblemente, por si existiese una versión más reciente, desde la página Web Picaxe: http://www.picaxe.com/Software/Drivers/AXE027-USB-Cable-Driver#tResources.
 
El penúltimo paso es la instalación del software de desarrollo, con el que se realizarán los programas y la lectura o grabación de la memoria del microcontrolador. Precisamente en este punto es donde el Starter Pack Picaxe-08M2 ofrece otras de sus ventajas más destacables. El usuario podrá escoger entre diferentes herramientas de desarrollo, con mayor a menor número de presentaciones y excepto alguna herramienta específica como la simulación de funcionamiento para esquemas eléctricos o la programación mediante diagramas de flujo, el resto son completamente gratuitas.
 
La ventaja es doble en nuestro caso. En el laboratorio contamos con equipos Windows, OSX y Linux. Según donde nos situemos empleamos uno u otro ordenador. El kit de Cebek permite utilizar una misma herramienta de desarrollo, el software «AXEpad», con una versión para cada uno de ellos y con la misma interfaz y modo de funcionamiento indistintamente del sistema operativo sobre el que corra. Contando además con la total compatibilidad entre archivos de programas realizados con uno o otro equipo.
 
El AXEpad puede instalarse directamente des del CD del producto o desde la página Web de Picaxe: http://www.picaxe.com/Software.
 
El cuarto y último paso son las conexiones del circuito. Alimentación y comunicación.
 
Para la alimentación de la Placa Madre puede emplearse la caja para 3 pilas AA en serie, que incluye el kit, conectándola mediante los terminales de conexión del circuito. O en su lugar si se prefiere, puede utilizarse una fuente de laboratorio ajustada entre 4,5 y 5 V. D.C., aplicándola directamente sobre los terminales de conexión para la alimentación.
 
La comunicación entre ordenador y el circuito se resuelve conectando ambos mediante el cable AXE027. Conector USB al ordenador y conector tipo «Jack» al circuito. Finalmente, realizadas alimentación y comunicación el módulo quedará listo para funcionar.
 

El circuito.
 

 

 

 

 
 
En el desarrollo de microcontroladores, la Placa Madre es un circuito específico de desarrollo, destinado principalmente a grabar o leer la memoria del microcontrolador. Posteriormente el microcontrolador se destina a una placa distinta.
 
Además de la placa madre existen otros circuitos dedicados al desarrollo, como la «Proto Board» o el entrenador que permiten ensayar «in situ» el funcionamiento del prototipo electrónico que más tarde se montará en una placa comercial definitiva. En el EDU-AXE003U el circuito puede realizar ambas funciones. La soldadura del montaje inicial se centraba únicamente en una parte del circuito, dejándolo preparado para operar como placa madre. El resto del circuito está destinado a operar como «proto board» o entrenador, haciendo posible el ensayo de los programas directamente sobre un prototipo.
 
El Picaxe 08M2 dispone de cinco puertos que pueden programarse como entradas, salidas, puertos analógicos, u otras funciones que admite el microcontrolador. Cada puerto está asignado a un pin/patilla del integrado. El puerto 0 se encuentra en el pin 7; el puerto 1 en el pin 6; el puerto 2 en el pin 5; el puerto 3 en el pin 4 y el puerto 4 en el pin 3. El resto de patillas cumplen funciones no destinadas a la programación, como negativo y positivo de alimentación, o empleadas para la comunicación serie con el ordenador.
 
Internamente, el EDU-AXE003U tiene conectado cada uno de los cinco puertos, además del positivo y el negativo de alimentación a la parte del circuito destinada al ensayo. En esta sección, se encuentran también una serie de topos interconectados entre sí, pero sin conexión con el resto, y que posibilitan la soldadura de componentes externos que según se diseñe la conexión entre topos permitirán la confección de un prototipo de ensayo conectado directamente al micro. (Figura 3)
 
 
 

El primer programa.
 

 

 

 

 
 
Antes de empezar aprendiendo instrucciones y estructuras del lenguaje de programación, es preferible planificar una práctica que servirá de introducción y toma de contacto con el conjunto del software y el hardware. Hemos escogido como primer programa una «Luz de posicionamiento», ya que como veremos seguidamente, la electrónica necesaria es muy simple, reduciendo el montaje del prototipo y sirviendo al mismo tiempo para dejarlo montado como testigo óptico en programas más complejos.
 
Además el software será también sencillo. Una Luz o testigos de posicionamiento son aquellos que normalmente recordaremos por haberlos visto en la parte más alta de edificios, el extremo superior en antenas de telecomunicación, etc. Su funcionamiento es cíclico pero asíncrono, con una cadencia constante donde el tiempo de iluminación y el de apagado son diferentes. Para realizar la práctica bastará con un led, una resistencia limitadora y un puerto del micro, (microcontrolador). Aplicando la ley de ohm, para una tensión de 4,5 – 5 V. y un consumo del LED sobre los 15 mA, resultará adecuada una resistencia de 330 ohms. Desde el pin del micro, la resistencia en serie con el LED pueden ser referidos a negativo o a positivo. Nosotros, para facilitar la lógica del funcionamiento los referimos a negativo. Así en binario, al programar un 1 en la salida, el LED se iluminará. Mientras que al enviar un 0 a la salida del micro, el LED se apagará. De lo contrario se establecería una lógica invertida.
 
Si se observa el esquema eléctrico, la construcción del prototipo sobre la placa consistirá en unir la resistencia con uno de los topos marcados como puerto 1. El otro extremo de la resistencia, utilizando una línea independiente deberá ser conectada al ánodo del led, y el cátodo de éste, creando un puente, podrá ser unido con cualquiera de los topos conectados internamente al negativo. (Figura 4)
 
Después del montaje del prototipo es la hora de comenzar con la programación. El AXEpad es una herramienta de desarrollo, un editor para la programación de micros Picaxe diáfana, simple, pero totalmente solvente. La primera vez que se ejecute encontraremos una ventana dividida en dos secciones, la más amplia destinada al editor y la más pequeña para visualización de las etiquetas, constantes o registros que vayamos creando durante la programación. El editor se comporta como cualquier otra herramienta de desarrollo. Según se tecleé una instrucción, un valor, comentario, etc, el texto aparecerá en un color que identificará de que tipo de dato se trata, facilitando la tarea del programador. La depuración es secuencial, por lo que cada línea corresponderá a una instrucción.
 
El menú del AXEpad tampoco presenta ninguna complicación. Además de menú de Archivo, con las funciones típicas de guardar el documento, cargar o crear uno nuevo, etc, o el menú Editar también con las funciones habituales de cualquier programa, encontraremos dos opciones de menú específicas del AXEpad. El menú PICAXE, centrado principalmente en el trabajo de programación y en el micro, contiene la opción para volcar el programa y grabar la memoria del micro; la depuración; el comprobador de sintaxis, etc. La última opción del menú principal corresponde a las opciones de visualización de pantalla y el acceso a las opciones de programa. La primera línea del programa de práctica «Luz de Posicionamiento» será una «Etiqueta o Label». La función de las etiquetas es indicar al programa a donde debe ir cuando se las nombre. Pueden existir tantas como se requiera, aunque cuanto mayor es su número más complicado puede ser el seguimiento del flujo del programa. En nuestro caso será la única y por suponer la etiqueta principal, la denominaremos «main». La segunda línea del programa será una orden sobre el puerto. «High» es una instrucción que pone a nivel alto, (1 binario), el puerto indicado, en nuestra práctica el puerto 1. Al tener conectado el circuito del LED a éste puerto, esta instrucción provocará que el LED se ilumine.
 
La tercera línea del programa obliga al micro a realizar una pausa y por tanto mantener vigente la orden anterior. La instrucción «pause» se establece en milisegundos.La cuarta línea del programa pone a nivel bajo, (0 binario), el puerto 1, utilizando la instrucción «Low». Así, el LED se apagará.La quinta línea vuelve a ejecutar un pausa que se mantendrá durante 3 segundos, tras los cuales se ejecutará la 6 y última línea del programa.La instrucción «Goto», seguida del nombre de la etiqueta, indica al microcontrolador que debe ir a «main». Así el programa repetirá automáticamente el ciclo des del principio, creando un bucle cerrado y constante del programa. (Figura 5)
 
 
 

Luz de posicionamiento.
 

 

 

 

 
 
Antes de enviar el programada creado para la práctica a la memoria del micro, primero será necesario comprobar que el jumper del circuito esté situado en la posición «PROG», de lo contrario la comunicación no se establecerá. También será el momento de revisar que la alimentación y conexión del circuito con el ordenador sea la adecuada. Volviendo al AXEpad, a través del menú PICAXE o mediante el atajo del teclado «F5», se ejecuta el volcado del programa sobre el microcontrolador. Tras la orden, el propio software comprueba de que modelo Picaxe se trata y nos solicita el modelo de microcontrolador si no concuerda con el establecido en las opciones de programa.
 
Este parámetro también puede ser modificado manualmente en cualquier momento a través de las Opciones de programa.
 
Durante la transmisión entre el ordenador y la placa madre, se mostrará una pantalla indicando el proceso. Si todo concluye con éxito desaparecerá la pantalla de proceso para dar paso a otra que confirmará y dará por concluida la operación de grabación. El resultado sobre el prototipo se hará visible casi inmediatamente después de la pantalla de confirmación.
 
Empezará al iluminarse el led durante 1 segundo, seguidamente se mantendrá apagado 3 segundos, volviendo a realizar encendido y apagado en esa misma cadencia de manera constante hasta que se retire la alimentación. La primera programación del microcontrolador habrá concluido.
 
Obviamente se trata de una práctica fácil y básica, pero ilustra de manera clara el modo de trabajo y tipo de instrucciones del lenguaje Picaxe y los Starter Pack de Cebek. Siguiendo el curso de la documentación, se encuentran un gran número de prácticas y ejemplos del fabricante, tanto de la electrónica como del correspondiente programa, enfocadas para alcanzar des de la práctica anterior y paulatinamente un grado de complejidad superior, en un curva de progresión suave y bien definida hasta conseguir el máximo rendimiento y funciones que otorgan los microcontroladores.
 

Conclusiones.
 

 

 

 

 
 
El Starter Pack Picaxe-08M de Cebek es una gran solución para usuarios noveles pero también para los que no lo son tanto. Aquí radica su principal punto fuerte. El EDU-AXE003U se monta rápido, tiene un software que corre sobre cualquiera de los principales sistemas operativos. La documentación se estructura considerando una curva de aprendizaje progresiva y muy sencilla. Si antes se ha programado en cualquier lenguaje, aunque solo fuese a nivel informático, rápidamente se establece un conocimiento intuitivo. Los usuarios más avanzados se adaptarán más rápido a este que a cualquier otro micro distinto al que estén habituados.
 
En definitiva, el Cebek El EDU-AXE003U o Starter Pack Picaxe-08M recuerda a las soluciones didácticas de iniciación a la robótica o para el conocimiento de energías alternativas que también distribuye la misma casa, pero esta vez estableciendo el foco de interés sobre la electrónica más actual. Un producto de apariencia básica pero que casi sin quererlo lleva al usuario a un conocimiento completo sobre la materia que trata. Bajo su aparente simplicidad el EDU-AXE003U esconde un microcontrolador suficientemente potente, que ofrece un considerable número de prestaciones y con el que pueden realizarse desarrollos de un grado de sofisticación considerable. Un producto además económico, que justifica la inversión aunque solo fuese por la motivación y facilidad de progresión que imprime en el usuario.