Problema al cargar programa en un Mega por averia.

Hola a todos:

El otro dia estaba programando una aplicación que estoy realizando para un arduino mega, alimentado por su conector de alimentación y el cable usb conectado le pase el programa para probarlo, este es segun dice el IDE del arduino al copilarlo de 37,6 Kb, pues bien al pasarle el programa de quedo pillado el entorno en el proseso sin terminar la carga y con el led marcado como "L" del Arduino encendido fijo. A los 10 minutos desconecte el USB y entonce lo detectó el IDE y dejo de trasmitir dando un error de lectura del puerto y entonce me di cuenta que el arduino no funcionaba con el alimentador que tenia conectado.

Hay que apuntar que el mega estaba duncionando con las mismas conecciones y el mismo programa con pequeñas diferencias en el codigo.

Despues de muchas pruebas descubro que el arduino no funciona con alimentandolo por su conector pero si funciona alimentado directamente en los pines de CND y Vin, a sin como con el USB. Si le cargo algun programa de ejemplo de los que trae el IDE del arduino, se cargan y funciona perfectamente, pero estos son como mazimo de 6 kb, si le intento cargar el mio que es mas grande de 37,6 Kb se vuelve a colgar como la primera vez. Noto que los leds de TX y RX estan poco tiempo parpadeando y luego se bloquea como si no soportara una trasmición larga.

Tiene alguien alguna idea de que va el tema.

Agradeseria alguna ayuda, Saludos

Suena a que se te ha fastidiado el input de tensión, comprueba la tensión que te da el transformador/fuente de alimentación. Si la tensión está bien, quizás sea el regulador. Lo mejor para evitar más víctimas sería que pudieras regular la tensión que le metes, pero si es un trafo o una bateria no podrás hacerlo. Ten en cuenta que no es lo mismo medir en circuito abierto que una vez conectado, por lo que tendrás que repetir las medidas en ambas situaciones.

Si eso no te da problemas, podemos seguir mirando que más, pero para mí es lo más probable (porque además suele ser bastante típico).

Los modelos modernos de Arduino conmutan automáticamente la alimentación: si le pinchas un USB se alimentan de el y si le conectas una batería en el conector de alimentación se alimentan de esta sin tener que cambiar nada. En los modelos antiguos había que hacer el cambio de forma manual mediante un jumper, lo cual era un engorro, por eso se quitó y se puso el automático.

Pero en los modelos antiguos problemas como el que te ha pasado a ti no ocurrían nunca.

No es conveniente tener el USB y una batería conectados al mismo tiempo. Según la documentación oficial (al menos hasta donde yo se) no está contraindicado, pero según mi experiencia personal no se debe hacer. En mi equipo no se cargan correctamente los sketches si la placa está conectada por USB y por batería a la vez.

En tu caso parece que se ha frito el IC que se encarga de le conmutación.

Mi consejo para todos: antes de cargar un sketch desconectar la alimentación externa y alimentar sólo por USB.

Todo lo dicho mas o menos ya lo deduje, la pregunta estaba mas dirigida a el problema al cargar programas grandes y no a los programas pequeños, ya sea alimentado solo con usb o con alimentación de 5v directa.

Gracias.

Dukatus: Todo lo dicho mas o menos ya lo deduje, la pregunta estaba mas dirigida a el problema al cargar programas grandes y no a los programas pequeños, ya sea alimentado solo con usb o con alimentación de 5v directa.

Gracias.

Si es por curiosidad de porqué rebienta, hay dos opciones. La primera, que una sobretensión se haya cargado parte de los circuitos de memoria de programa, y si tu Sketch tiene suficientes bytes como para llegar a esa zona de la memoria, patapam.

La otra es que escribir en memoria Flash (al igual que ocurre con una EEPROM) tiene un consumo de energia superior, por lo que al intentar escribir durante demasiado rato, algún circuito de protección salta o algún otro se queda sin potencia, en cuyo caso el uC seguramente saltará a un estado de reset o algun estado de halt intermedio...

Cuando se te jode un uC, no busques qué ha pasado, encuentra el porqué (el más probable), cambia el micro, y haz lo posible para que no vuelva a pasar :P

Ondo gracias por la explicación a quedado bien claro, el problema que me queda ahora es definir en que montaje pongo mi placa Mega, de mini cuadro axtracto, llavero incomodo o ponerlos en una pequeña base sobre mi mesa como recordatorio de lo fácil que nos dejan estos pequeños amigos.

Gracias y saludos

Dukatus: Ondo gracias por la explicación a quedado bien claro, el problema que me queda ahora es definir en que montaje pongo mi placa Mega, de mini cuadro axtracto, llavero incomodo o ponerlos en una pequeña base sobre mi mesa como recordatorio de lo fácil que nos dejan estos pequeños amigos.

Con un soldador y unas muestras gratis cortesía de Atmel... :D