ImageImageImageImage
Hazte Socio (El Foro siempre Gratis)
Paga con Tarjetas+ Info www.arde.cc/socios

Proyecto Amebot, basado en RPi Bare Metal

Muestranos tus proyectos y pidenos la ayuda que necesites

Moderator: Junta Directiva

Post Reply
antoniovillena
Posts: 5
Joined: Sun Feb 01, 2015 1:40 pm
Nombre: Antonio José Villena Godoy

Proyecto Amebot, basado en RPi Bare Metal

Post by antoniovillena » Sun Feb 01, 2015 2:37 pm

Antes de nada: soy malo para los nombres. Así que si se os ocurre algo mejor, estaría encantado de cambiarlo.

Este proyecto tiene su origen en un manual de prácticas que hice como proyecto fin de carrera para la Universidad de Málaga. El libro está aquí:

http://antoniovillena.es/imagenes_foros ... cticas.pdf

Lo interesante es la segunda parte del mismo, en la cual se habla de la programación Bare Metal, que sería más o menos programar una RPi como si fuera un microcontrolador. Es decir, prescindimos del sistema operativo, por lo que el arranque es inmediato. Para llevar a cabo esto de una forma práctica hay que comprarse un conversor USB-Serie y enviar los programas mediante bootloader. El conversor serie que yo uso es este:

http://www.aliexpress.com/store/product ... 47221.html

Ojo, es un poco especial porque tiene 6 pines cuando la mayoría tiene 4. La razón es porque utilizo el pin DTR para resetear la Raspberry, ya que de otra manera habría que hacer un molesto reset manual.

Para seguir el manual necesitáis una placa auxiliar. Me quedan algunas PCBs, aunque es fácil crearse una con los esquemas y una placa de agujeritos. El manual se centra en ensamblador, aunque las herramientas de compilación cruzada también te permiten programar en C. La idea es que os leáis el manual y luego en una segunda fase apliquéis los conocimientos al robot.

El robot está en desarrollo. He pedido esta plataforma por ebay:

http://www.ebay.com/itm/311172280337

Voy a utilizar una RPi A+. El puerto GPIO lo dividiré en 3 secciones:
  1. A la izquierda, control de motores, botón de reset y selección de programa a ejecutar. Esta parte está diseñada, aunque falta desarrollar el nuevo bootloader. Tiene un switch rotatorio de 10 posiciones (de 0 a 9). La idea es que si no hay nada enchufado al puerto serie, el robot arranque con el programa Bare Metal kernelx.img, siendo la x la posición del switch (por ejemplo kernel8.img si la posición es la 8). En el caso de enviar un programa por el puerto serie, este se escribirá en el kernelx.img correspondiente y se ejecutará.
  2. En el centro, sensores. No está diseñada aún. Quiero hacer algo sencillo y flexible a la vez con 10 sensores CNY70, dando la posibilidad de cambiar los de los extremos por encoders para los motores. Los dos CNY70 centrales serán fijos y los demás se podrán ajustar en altura para optimizar el algoritmo de rastreo. La idea es utilizar el robot a modo de rastreador.
  3. A la derecha del todo, y coincidiendo con la parte extendida de los modelos plus pondré un adaptador (ya diseñado) para que se pueda enchufar la placa auxiliar. De esta forma tendríamos 6 leds, 2 pulsadores y un altavoz disponibles para el robot que siempre vienen bien.
En este archivo tenéis el diseño de la primera y tercera parte:
amebot.zip
(72.63 KiB) Downloaded 113 times
También tengo pensado programarlo de un modo inalámbrico. Conectando otra RPi a modo de mochila sobre el robot podemos suplir las funciones de un PC. La conexión serie sería directa (sin necesidad de conversor USB-Serie) y a través de ssh con el SO Raspbian y un pincho USB podemos hacer lo mismo que con un PC y un puerto serie cableado.

He pedido componentes y PCB para 20 placas de motores, con la idea de usarlas en las prácticas de la facultad. Mi idea es vender 10 a la facultad ya montadas (por 10 euros) y el resto por aquí sin montar (8 euros).

No me quiero enrollar más para no hacer este post muy pesado, pero entiendo que dejo muchas cosas en el tintero así que si tenéis cualquier duda no tenéis más que preguntarme.

User avatar
furri
Usuario Desarrollador
Usuario Desarrollador
Posts: 2707
Joined: Mon Aug 22, 2005 8:16 pm
Nombre: Francisco Reinoso
Location: Marbella
Contact:

Re: Proyecto Amebot, basado en RPi Bare Metal

Post by furri » Mon Feb 02, 2015 12:21 pm

Respuesta como vocal de la asociación:
Genial, como sabrás la web ha sido remodelada totalmente y aún hay módulos por terminar, en cuanto la web se encuentre totalmente operativa el robot podria publicarse en la sección de "robots" actualmente en fase de implantación, te mantendré informado.

Respuesta como robotero:
Mi permanente falta de tiempo igual no me deja reproducir el robot aunque tengo todos los materiales... RPi, plataforma, conversor USB-Serie TTL, etapas de potencia.... y ademas voy a Málaga una o dos tardes a la semana (vivo en Marbella), asi que si quieres tomar un café y charlar del tema pues tambien podria ser.

furri
xBotPinguBotTarriBot

"Gracias a la LPI estoy mejorando mi nivel de ingles..."

antoniovillena
Posts: 5
Joined: Sun Feb 01, 2015 1:40 pm
Nombre: Antonio José Villena Godoy

Re: Proyecto Amebot, basado en RPi Bare Metal

Post by antoniovillena » Thu Feb 05, 2015 9:27 pm

Pues yo encantado. Ahora mismo todo el tema robótico/electrónico lo tengo en mi pueblo, pero les dije a mis tutores de proyecto que les iba a mostrar el robot cuando tuviese algo visible. Así que cuando tenga el robot en Málaga te aviso y quedamos una tarde. El robot no va a ser nada del otro mundo, lo interesante es el entorno de programación con la Raspberry.

User avatar
furri
Usuario Desarrollador
Usuario Desarrollador
Posts: 2707
Joined: Mon Aug 22, 2005 8:16 pm
Nombre: Francisco Reinoso
Location: Marbella
Contact:

Re: Proyecto Amebot, basado en RPi Bare Metal

Post by furri » Thu Feb 05, 2015 10:28 pm

¿en que andas en la UMA?, acabando?, postgrado?...

Normalmente voy a Málaga miercoles y/o viernes por la tarde, los demas dias será complicado por tema laboral, si necesitas algo de cacharreo con la parte hardware del robot dimelo.
xBotPinguBotTarriBot

"Gracias a la LPI estoy mejorando mi nivel de ingles..."

antoniovillena
Posts: 5
Joined: Sun Feb 01, 2015 1:40 pm
Nombre: Antonio José Villena Godoy

Re: Proyecto Amebot, basado en RPi Bare Metal

Post by antoniovillena » Thu Feb 12, 2015 9:34 pm

Estoy trabajando para una empresa del CTM. La carrera la acabé hace 10 años a falta del proyecto, que debido al plan Bolonia tenía que completar este año para que me pudieran dar un título. Mi PFC es el manual de prácticas para RPi que he puesto arriba, el cual tengo pensado extender (ya está acabado y defendido) a una plataforma microbótica. El hardware está casi diseñado (a falta de rematar la placa de sensores). Pero entre que la envío a fabricar voy a tardar un mes. Mi intención es mostrarte el robot una vez terminado y el entorno de programación. Como estás más metido en este mundillo seguro que le sacas más partido que yo.

User avatar
furri
Usuario Desarrollador
Usuario Desarrollador
Posts: 2707
Joined: Mon Aug 22, 2005 8:16 pm
Nombre: Francisco Reinoso
Location: Marbella
Contact:

Re: Proyecto Amebot, basado en RPi Bare Metal

Post by furri » Fri Feb 13, 2015 12:15 am

La verdad es que llevo 3 años sin hacer casi nada, tambien he estado estudiando, me pillas aqui por que acabé a finales de Diciembre, no tienes mas que ver mi blog donde salto de Marzo de 2012 hasta la semana pasada donde tan solo he puesto un "VOLVEMOS"... jajajaja... me ha encantado encontrarte justo a mi vuelta, ya quedaremos para ver ese robot.
xBotPinguBotTarriBot

"Gracias a la LPI estoy mejorando mi nivel de ingles..."

antoniovillena
Posts: 5
Joined: Sun Feb 01, 2015 1:40 pm
Nombre: Antonio José Villena Godoy

Re: Proyecto Amebot, basado en RPi Bare Metal

Post by antoniovillena » Sat Feb 14, 2015 9:32 pm

Pues tengo fotos del robot y de la placa de motores. Subo unas imágenes.
Attachments
IMG_20150213_201207.jpg
IMG_20150214_200207.jpg
IMG_20150214_200230_1.jpg
IMG_20150214_200255.jpg
IMG_20150214_200345.jpg

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest