ATMEGA328p

Buenas :slight_smile: soy nuevo en este foro, vengo con una duda y a lo que veo no he encontrado alguien mas a quien le haya pasado, les cuento que hace tiempo armando un cuadrúpedo de 12 servos queme un arduino, o por lo menos el integrado de este por un cortocircuito algo tonto.
Al ver esto simplemente pensé, bueno pues solo pido en linea el integrado con el bootloader, se lo cambio y resuelta la cosa, pero al hacerlo me doy cuenta que pase lo que pase el arduino no guarda los programas o sketches.
Cada que hago uno o se lo cargo a la placa esta lo corre bien pero si por alguna razón le retiro la alimentación a la placa esta pierde el programa(osea que si quiero hacer que el arduino funcione sin usar los 5v de la pc tengo que conectar primero el jack a una fuente de poder separada o portátil). Después de ver esto me conseguí un arduino mega y mi pregunta es la siguiente puedo programar este integrado mediante el mega por ICSP o FTDI (soy un total ignorante en el tema si me pueden asesorar a hacerlo seria genial)

Hola.
Si intentas correr el programa sin conectar a USB no funciona, ¿no?
Pero si luego conectas de nuevo al PC, aunque no subas el programa de nuevo al arduino si que ejecuta el programa, supongo.
Si es así, no es que no se estén guardando los programas. ¿No será que el/los programas que estás ejecutando son dependientes de la comunicación Serial? ¿Qué programa estás intentando ejecutar?
Si pruebas los ejemplos sencillos del ide blink o blinkwithoutdelay, deberían funcionar conectados o sin conectar al PC.

No, al desconectar el arduino el programa desaparece(no estoy utilizando el serial en mis programas por el momento) Ni al utilizar los blink me funcionan y obvio con el nuevo arduino mega si funciona. Me parece muy raro porque como ya dije no he visto a nadie mas en la web que tenga ese problema ya investigue. Algo que debo mencionar es que al subir cualquier programa a la placa este corre bien por ejemplo el blink destella el led en el pin 13 un segundo y otro lo apaga, pero si al estar corriendo este programa(o cualquier otro) quito la alimentación el led el el pin 13 destella de forma diferente algo asi como 500ms apagado después destella 3 veces consecutivas y vuelve a apagarse los 500ms y se repite infinitamente, por eso era la idea de utilizar el integrado de manera separada a la placa.

Y porque no pones el programa y dejamos de adivinar?

De paso lee las normas mi amigo, verás que ahorra tu tiempo y el nuestro.

Por cierto, si puedes programar el UNO con el MEGA o viceverza.

Si amigo lei que debo poner el programa que estoy utilizando pero en realidad no tengo programa para el proyecto que quiero comenzar, que es una controladora de vuelo para un quadroptero y como ya lo comente no importa el programa que sea no lo guarda ni aunque sea el blink estoy pensando que de alguna forma se haya dañado la placa por eso la idea de programarlo por las otras maneras

Aunque leí tu post evidentemente no lo entendí en su totalidad. Yo creo que deberías observar el esquema eléctrico Del reset ya qué la operación de upload está relacionada con ese elemento

Aunque parece una tontería mira el capacitor que colocan en el pin RESET

Olvida el resto. Solo coloca un capacitor de 10uF con negativo a GND y positivo al RESET y nos cuentas si sirvió.
Verifica la tensión de ese pin durante el proceso de uploading

Muchas gracias por el esquema, por cierto aqui esta un video con el problema para que sea mas claro lo que sucede. Solo le puse el programa de blink:

Un pequeño problema que veo con el esquema es que el integrado que ahi aparece es de solo 20 pines y el 328p es de 28.
Hay alguna diferencia en las conecciones o como se supone que debo conectar el integrado

Yo le re-grabaria el bootloader

Muchísimas gracias Carmeloco después de casi 3 horas de batallar con el arduino mega y el 328p acabo de re-grabarle el bootloader y resulta que ese era el problema ahora si guarda los programas como debería. Por si alguien se encuentra en la misma situación que yo, aquí dejo el esquema que utilice para usar el mega como isp.

Cabe mencionar que tiene un pequeño error en el pin 20 no es gran cosa pero puede llegar a darles problemas si no ponen atención, el pin 20 va conectado a 5v y no a tierra como lo muestra en la imagen.

gcrcien:
Muchas gracias por el esquema, por cierto aqui esta un video con el problema para que sea mas claro lo que sucede. Solo le puse el programa de blink:

https://www.youtube.com/watch?v=40MKHocOJ3w

Un pequeño problema que veo con el esquema es que el integrado que ahi aparece es de solo 20 pines y el 328p es de 28.
Hay alguna diferencia en las conecciones o como se supone que debo conectar el integrado

Ya leí que lo resolvíste. Lo que te mostraba no era el integrado que era un ATMEGA2313 sino el capacitor conectado al reset. Yo hable siempre del capacitor como posible responsable de tu problema.
Ya leí que no habias grabado el bootloader.

Pues jamas me paso por la mente que el bootloader fuera el problema porque se suponía que ya viene con el grabado desde que lo compre, pero al parecer estaba equivocado así para la próxima mejor pediré los integrados sin el bootloader.
Por lo del capacitor gracias pero mi duda era en las conexiones entre arduino mega y el 328p pero ya se resuelto eso todo fue muy simple

Por el problema, sospeché que el bootloader, estaba grabado, pero mal. Había algo mal en los fuses, por eso perdía el programa tras un reset.