domingo, 13 de noviembre de 2011

Tutorial: Leer y grabar en Atmega128 de la controladora Robobuilder

El maestro Guanajo, (uno de los administradores de Bipedolandia) y experto en kits comerciales de robótica humanóide, ha creado el siguiente tutorial, debido a un fallo común en la controladora de los kits humanóides RoboBuilder, provocando fallos al nivel del procesador y memoria flash, dando lugar incluso a la muerte y bick total de dichas controladoras de nuestros queridos robots, y ante la no respuestas durante meses por parte del fabricante coreano a dar tan siquiera alguna explicación del posible fallo, decidió él mismo buscar el problema y solucionarlo, pudiendo en algunos casos volver a revivir controladoras birkeadas por este fallo tan común en los kits RoboBuilder.

Gracias a este estupendo tutorial, muchos en la misma situación, podrán resolver este fastidioso contratiempo.


Introducción

Muchos sabéis que varios usuarios de roobuilder han tenido problema con la CPU.
El motivo aparente ,es descargar algun firware o parte de la memoria correspondiente a otro modelo de robouilder y lo han grabado en el suyo, con el resultado que han borrado parte fundamental de la memoria flash de la controladora, ( ejemplo la parte del protocolo de la comunicación con los servos), otro motivo posible, pudo ser una interrupción inesperada en el momento de la grabación, quedándose el mismo desprogramado sin posibilidad de programarlo.
Este estremo se ha comunicado a la empresa robobuilder, sin tener respuesta alguna :taptap, no pudiendo conseguir el archivo o firware completo del robot, punto que resta muchisimo de esta compañia.

En teoría el tutorial consiste en leer la memoria flas *.hex y eprom *.eep de una controladora en buen estado y volcar su contenido a la controladora desprogramada.Advierto que no ha resultado mis pruebas debido a que las dos controladoras que dispongo , llevan distintos Atmegar128 , siendo uno un avr128-16Au(averiada) y la otra un 128au(buen estado), de todas formas dejo el tuto para quien le pueda interesar:

Herramientas:
1-Soldador 35w
1-programador USB Key AVR Programmer (comprado en ebay por 3 euros)


2-Controladora Robobuilder


Programa: eXtreme burner AVR

http://extremeelectronics.co.in/avr-tutorials/gui-software-for-usbasp-based-usb-avr-programmers/
Driver usb avr: http://avrproject.ru/usbasp/usbasp-win_driver.2011-05-28.zip


Lo primero es abrir ambas controladoras, quedándonos tal como vemos en la imagen


Si observamos la parte trasera de la placa, podremos observar las siguientes conexiones:

SCLK: Serial Clock (salida desde el maestro); MOSI; SIMO: la salida principal, entrada de esclavos (salida desde el maestro); MISO, SOMI: entrada principal, salida Slave ; GND RST V+

Estas conexiones corresponde al Bus de comunicación serie de interfaz periférica o SPI (pronunciado como "SPI" o "espía") es un bus síncrono de enlace de datos serial estándar creado por Motorola que opera en modo full duplex, usado habitualmente por los atmega.


Para la leer y grabar por dicho puerto usaremos el programador Usbasp indicado al inicio del tutorial, no sin antes instalar los driver. Como indico en el dibujo que se puede ver más abajo , se puede observar el patillaje del usbasp.



Lo siguiente es conexionar los conectores tanto del grabador como de la controladora entre si, usando para ello el soldador y un poco de pasta de soldar:

Una vez soldado procedemos conectar el usbpas al puerto usb del ordenador mediante hilos, no hace falta alimentar la controladora, ya que se hace atraves del puerto usb.


Cuando ya lo tenemos todo preparado, pasamos a usar el programa indicado eXtreme burner AVR , se pueden usar otros como el AVRDUDE ,BASCOM-AVR o Khazama , pero a mi particularmente me ha ido mejor el indicado.

Como podemos ver en la imagen:


el programa extreme es de muy facil uso,sobrando las palabras para expliacarlo, ahora si alguien tiene alguna duda que lo comente en el foro. Hay que tener en cuenta que una vez que leamos el ATMEGA, se crearan dos archivos, uno de la eprom y otra de la flash.
Es curioso como en la memoria flas del robobuilder extropeado el archivo saliera dodo con FF. por lo que entiendo que es el motivo de su mal funcionamiento.

Bueno pues como ya sabemos como se lee y graba el atmega, sólo queda leer la controladora buena y volcar los datos a la averiada. usando el susodicho programa, de todas formas para quien no tenga una controladora en perfecto estado de donde leer los datos, dejo el archivo a disposición de quien lo necesite:


FIN


Tenéis disponible dicho archivo en el hilo en cuestión de Bipedolandia, así mismo como la posibilidad de comentar o preguntar directamente al autor cualquier duda sobre este estupendo tutorial.

No hay comentarios: