Cargar Bootloader y limpiar Eeprom

 

El siguiente Tutorial explica como volver a cargar el bootloader y limpiar la Eeprom de nuestros equipos que tienen procesador Atmel, todos los que son compatibles con Arduino. 

Este proceso es útil cuando el equipo a dejado de funcionar, puede que se corrompa la información del chip y no funcione como debe de ser, antes de dar por perdido un componente podemos probar a usar este método, suele pasar que cuando cargamos versiones distintas de Firmwares se quedan datos almacenados en la memoria Eeprom y no funcionan correctamente o no nos deja después guardar nuevos parámetros. Este procedimiento puede servir para placas de controladora de Gimbal brushless, Orangelrs Tx y Rx, controladora compatible con multiwii, KK2.0… 

Primero se explicara el procedimiento básico y general, luego el específico de algunos componentes en los que hay que cambiar levemente el procedimiento. 

Necesitaremos un USBasp como este.

También el programa de Arduino: Descarga 

Los USBasp normalmente alimentan a 5v aunque suelen tener un Jumper para seleccionar el voltaje o eliminar la alimentación, en casi todos los dispositivos deberemos de dejar el Jumper para que alimente a 5v, pero hay excepciones como el OrangeLRS, en este no se puede alimentar mas de 3.3v porque se quemaría el modulo RF. Para no correr el peligro la mejor opción es quitar el Jumper para eliminar la alimentación y alimentarlo externamente.El receptor se puede alimentar conectando un Bec o ESC con bec a los pines normales de los servos y el Tx se puede alimentar conectándolo como normalmente a la emisora pero quitando la tapa para poder acceder al conector ISP. 

Recuerda: Si es el sistema OrangeLRS no alimentar con 5v, se puede quemar el modulo RF. 

Una vez claro esto, tendremos que localizar el puerto ISP en nuestro dispositivo, son seis pines colocados 3 y 3.

Ir a Ejemplos de puertos ISP en distintos dispositivos-->

 

Cuando lo tenemos localizados tendremos que buscar en que posición están, normalmente viene impreso en la placa PCB tendremos que hacerlos coincidir con los pines del USBasp. Una vez conectado y asegurándonos que están correctamente, nos podremos fijar en el pin de GND por ejemplo y comprobar con un polímetro que en el pin del USBasp hay continuidad con el pin de GND de nuestro dispositivo, esto seria para asegurarnos al 100%. 

Ahora lo conectamos el USBasp al PC, en el caso de que sea el caso anteriormente comentado del OrangeLRS conectamos el Bec para alimentar el receptor o encendemos la emisora para alimentar el Tx. 

Teniendo todo conectado vamos al programa Arduino, en Herramientas-Tarjeta, seleccionamos Arduino Pro or pro mini (5v,16Mhz) w/ ATmega328

 

 

En herramientas- programador- USBasp

 

 

 

Después vamos a Archivo- Ejemplos- Eemprom y seleccionamos Eeprom_clear.

 

 

 

Después a archivo- cargando usando programador, aquí debería ponerse a cargar y al final decir carga terminada, ahora ya tendríamosla Eepromlimpia y sin datos, si ha ido todo bien seguimos.

 

 

Después vamos a Herramientas- Grabar secuencia de inicio, otra vez esperamos a que termine el proceso.

 

 

 

En este paso ya tendríamos el Chip completamente limpio, solo estaría cargado el Bootloader de Arduino.

Ya solo tenemos que cargar el Firmware de nuestra placa, Rx, Tx…

 

Puede ser usando el conector mini o micro USB que tenga la placa o si no tiene, mediante un FTDI o un USBasp, pero con este ultimo solo podremos cargar el Firmware, no nos serviría si el equipo dispone de interfaz grafica para cambiar parámetros, para esto se usaría o el USB de la placa o un FTDI.

 Si usamos un FTDI o el USB de la placa tendremos que cambiar el programador y seleccionar el siguiente:

 

 

 

En el caso de los receptores OrangeLRS, si queremos cargar la última versión solo hay que seguir estos pasos:

 

La ultima versión se puede descargar aquí:  https://github.com/openLRSng/openLRSng/archive/v3.2.1.zip 

Se abre el archivo Openlrsng.ino te dirá que se tiene que crear una carpeta, se le dice que si, se abrirá solo ese archivo, se cierra el programa y se meten todos los archivos en la carpeta que se ha creado nueva y se vuelve a abrir el mismo archivo, ahora ya se abrirán todos automáticamente. 

Solo hay que cambiar esta línea:

 

Donde pone define RX_BOARD_TYPE   saldrá 5, se cambia por 3 y listo. 

Ahora vamos otra vez a archivo, cargar usando programador o si usamos un FTDI al la flecha de cargar, cuando termine el proceso ya estará, cerramos programa, desconectamos el Bec del Rx y desconectamos el USBasp o FTDI. 

Si después usamos un FTDI para cargar el nuevo Firmware hay que recordad que debemos seleccionar en el FTDI para que alimente a 3,3v sino podremos quemar el modulo RF. 

Conectamos los servos del avión, encendemos la emisora pulsando el botón del LRSmax unos segundos,(aunque empieza a pitar enseguida, deja pulsado unos segundos mas, como 3 o 4seg) conectamos alimentación del RX esperamos otros 5 o 8 seg y apagamos todo.

Encendemos normalmente la emisora primero y luego el Rx y ya esta bandeado y funcionando.

 

Ejemplos de conectores ISP:

 

Receptor OrangeLRS

Controladora KK2.0

Transmisor OrangeLRS

 

Si tienen alguna duda con el proceso no dude en contactarnos, se le ayudara encantados.

 

Tutorial por: www.desdeelairerc.es

Facebook: https://www.facebook.com/desdeelairerc

Twitter: https://twitter.com/DesdeElAireRC

YouTube: https://www.youtube.com/channel/UCxyuLTkrL12OQndiL6--8_g?feature=guide 

Foros: adrilh