blog de F. J. Sánchez

Empezar con el STM32 III: Placas de desarrollo

Anteriormente ya he hablado sobre la familia STM32F de STMicroelectronics, también he hablado ya sobre los distintos entornos que podemos usar para programar y depurar código en estos dispositivos, y ahora me gustaría hablar sobre los distintos kits de evaluación que hay en el mercado para poder evaluar las distintas funciones de estos microcontroladores.

 

Empezar con el STM32 II: Entornos de desarrollo

En esta segunda parte me gustaría orientar un poco sobre las distintas opciones que tenemos a la hora de compilar código para la familia STM32 de STMicroelectronics, de la que ya se ha hablado en la anterior entrada del blog.

 

Empezar con el STM32 I: Introducción

Estos microcontroladores están basados en ARM Cortex™-M3 y por tanto son de 32bits. Los microcontroaldores basados en Cortex-M3 destacan sobre todo por su gran mejora del sistema de interrupciones, ya que cuentan con una unidad dedicada para esta tarea (NVIC) que permite configurar las interrupciones prácticamente de cualquier forma que necesitemos, además puede tener hasta 240 interrupciones físicas con hasta 256 niveles de interrupción distintos. También destacan por su bajo coste, bajo consumo y porque funcionan con el conjunto de instrucciones Thumb®-2 que proporcionan un gran rendimiento con una alta densidad de código, ya que tradicionalmente el conjunto de instrucciones ARM ha tenido una densidad de código muy baja. Actualmente varias son las compañías que están produciendo familias de microcontroladores Cortex-M3, como Luminary Micro (comprada por Texas Instruments) con su familia Stellaris, NXP con los LPC1700, Atmel con los AT91SAM3 y por supuesto STMicroelectronics con los STM32.

 

Competiciones robóticas para el 2010

Comienza el 2010 y ya se empiezan a conocer fechas para las competiciones de robótica. Entre las que ya tienen fecha tenemos la popular competición que patrocina La Caixa, Cosmobot. Ya está abierto el plazo de inscripción y se celebrará los días 13 y 14 Marzo, cada día una prueba distinta y que serán las de todos los años, sumo y velocistas. En cuanto a premios, habrá un primer premio de 3000€, un segundo de 1500€ y un tercero de 750€, nada mal para la crisis que estamos pasando. habrá hasta 8 premios distintos con cuantías que van desde los 1500€ para el primero hasta 300€ para los que queden de quinto: http://www.roboticspot.com/cosmobot/premios.php

Otra de las que ya tiene fecha pero sin muchos más detalles es Robolid, que se celebrará los días 14 y 15 de Abril con las pruebas de rastreadores, sumo, velocistas, minisumo y por segundo año la prueba especial de programación.

También se empiezan a mover las cosas para Alcabot-Hispabot que será a finales de Abril pero sin concretar aún. Ya está abierta la pre-inscripción y viendo la fecha de finalización de la misma, me atrevería a decir que la semana de la robótica tendrá lugar justo después de Robolid.

Otras de las que aún no se sabe nada son CRJet, Campeonato de Euskadi de Microbots, Malakabot o la nueva competición que presumiblemente tendremos este año en Sevilla, RobotUS organizada por ESIBot. Tampoco se han pronunciado aún los organizadores de la Liga Nacional de Robótica de Competición, una liga que desde mi punto de vista está dejando mucho que desear pese a que avanza poco a poco. Esperemos que mejore para este año.

De momento ya tenemos algunas fechas, así que es hora de ir desempolvando las herramientas y empezar a construir nuestros robots.

Podium

Usar Arduino como adaptador USB-TTL serie

Quien haya visto algún Arduino alguna vez, se habrá dado cuenta de que cuenta con un puerto USB. Dicho puerto tiene limitadas sus funciones, pudiéndose utilizar únicamente como transporte para el puerto serie del ATmega168 que llevan la mayoría de Arduinos. Esta funcionalidad se la debe al integrado FT232RL de FTDI. Si buscamos en algunas páginas podremos ver que nos venden cables USB-serie y módulos adaptadores con este mismo integrado, por una cantidad un tanto elevada.

Pues bien, si ya disponemos de un Arduino, podremos utilizarlo para estos menesteres. Lo primero será mantener el ATmega168 en un estado de reset para que no interfiera en la comunicación, para ello basta con conectar la señal de RESET a GND. Hecho esto toca pensar un poco, cuando conectamos el Arduino al PC con el cable USB aparece un nuevo dispositivo de puerto serie, si abrimos una consola a este puerto podemos enviar datos al microcontrolador del Arduino, es decir, que lo que escribimos (TX del PC) le llega al microcontrolador por la patita de recepción (RX del Arduino), y lo que recibimos en el PC (RX del PC) es lo que circula por la patita de envío del microcontrolador (TX del Arduino).

Por tanto, imaginemos que queremos conectar un dispositivo con un puerto TTL serie. Llamemos a los pines de este puerto serie TTL-Rx y TTL-Tx. Para conectarlo a nuestro PC tendríamos que conectar TTL-Rx al pin RX (pin 0) del Arduino y el TTL-Tx al TX (pin 1). Esto es así por lo que se ha explicado anteriormente. Además normalmente tendremos que conectar también al pin GND del Arduino el pin GND del dispositivo.

 

Conexiones a realizar

OpenCV 2.0 + Eclipse en Windows

Aquí dejo las sencillas instrucciones a seguir para quién quiera empezar a probar OpenCV. Para los que no lo sepan, OpenCV es un conjunto de librerías abiertas, mantenidas en gran parte por Intel, que nos ayudan a realizar tareas de visión artificial.

En GNU/Linux no debería de haber problemas con la instalación, pero en Windows me costado un poquito hasta que lo he tenido todo funcionando, y como no lo he encontrado en ninguna página, lo dejo aquí puesto.

CAEPIA 2009

Gracias a un amigo me entero de que la XIII edición de la conferencia de la Asociación Española para la Inteligencia Artificial (CAEPIA) tendrá lugar en Sevilla del 9 al 13 de Noviembre. Dicho evento es un foro bienal donde la comunidad de investigadores que trabaja en temas relacionados con la Inteligencia Artificial se reune para presentar y discutir los últimos avances científicos y tecnológicos en este campo.

Algunas de las exposiciones que más me han llamado la atención son "AI Reasoning Methods for Robotics", "Multiagent systems and electronic institutions" o "Sistema experto para el control en tiempo real de procesos de mecanizado".

Quizás la mayor pega sea el alto costo del registro en las actividades.

Tutorial de JALv2

Últimamente estoy aprendiendo a programar con este lenguaje de programación los microcontroladoes de 8-bits de Microchip. Es muy distinto de C, pero a su vez lo veo como una opción muy aconsejable para cualquier persona que necesite programar a alto nivel y que quiera usar software libre. Es por eso que he comenzado a escribir un tutorial sobre JALv2.

La plataforma que usaré para todas las demostraciones será el Kit Ares v.2 que desde ESIBot hemos desarrollado. Por eso, será un punto de inicio para todas aquellas personas que quieran empezar a programar la placa por su cuenta, pero también para cualquier persona que quiera aprender más sobre este lenguage sea cual sea el PIC que use.

Cualquier sugerencia, correción o colaboración será bienvenida.

MPLAB + JALv2

Una de las cosas que veo necesarias para que JALv2 gane público es que sea fácilmente integrable con MPLAB, el IDE gratuito de Microchip. Si descargamos JALv2 desde su página web veremos que hay unos fichero que sirven para integrar JALv2 con MPLAB, pero ni las instrucciones son correctas ni el MPLAB lo detecta. Es por eso que me puse manos a la obra y ya lo tengo funcionando. Aquí explicaré paso a paso cómo conseguirlo.

PenRacer en Let Arduino Play

Ya ha finalizado el concurso "Let Arduino Play", organizado por BricoGeek.com. El concurso consistía en crear un juego con la archipopular placa Arduino. Era un concurso en el que me apetecía participar con algo sencillo de hacer, pero que no por ello dejase de cumplir la principal misión de un juego, divertir. Así que me puse manos a la obra y el resultado es PenRacer.

Distribuir contenido