Problema con la PCB de Arduino

He hecho algunas placas Arduino diferentes que son programables solo a través de ISP porque la comunicación en serie me está dando este error:

Tamaño del boceto binario: 3026 bytes (de un máximo de 30 720 bytes) avrdude: stk500_getsync(): no sincronizado: resp=0x00

La comunicación en serie está mal conectada, pero cuando conecto mi FTDI simplemente cambio el cable, eso no es un problema en este caso

He seguido el esquema simple de Arduino Nano y Arduino Pro mini, que son bastante sencillos.

El AtMega está funcionando, obtuve la firma y quemé el cargador de arranque con éxito y cargué el boceto, lo que no puedo entender es por qué no puedo cargar mi boceto en Serial incluso si TX y RX están conectados correctamente y RESET está conectado como el esquema de sitio web de arduino

Este es el esquema de Promini https://www.arduino.cc/en/uploads/Main/Arduino-Pro-Mini-schematic.pdf

y este es el mío ingrese la descripción de la imagen aquícon el tablero (lo sé, no es muy agradable como diseño)ingrese la descripción de la imagen aquí

Ahora bien, esta placa funciona bien, y la comunicación en serie también, pero cuando intento cargar cualquier boceto, incluso una simple luz parpadeante, el compilador devuelve el error anterior.

¿Dónde estoy haciendo mal? ¿Está mal el cableado de mi pin de reinicio? Seguí las instrucciones para agregar reinicio automático y conectarme a VCC a través de una resistencia.

Por cierto, funciona a 3,3 V y 8 MHz, necesito actualizar el esquema.

Prueba de trabajo en serie después de cargar el boceto de muestra de Arduinoingrese la descripción de la imagen aquí

La otra sugerencia es, ¿qué gestor de arranque subiste? Si cargó el gestor de arranque Arduino estándar, se compila para ejecutar @ dieciséis METRO H z , por lo que la velocidad del bus serie será completamente incorrecta. Puede probar esto reduciendo a la mitad la velocidad en baudios en la configuración del IDE de Arduino. ¿Podría verificar qué configuración y gestor de arranque está utilizando?
El cargador de arranque es de 8 mhz con el chip correcto, probé diferentes bocetos que hacen que un LED parpadee, escriba en serie, lea en serie, etc.... nada está mal con el cargador de arranque. Creo que es un problema con mi pin de reinicio que podría estar mal conectado, pero no puedo entender cómo.
El pin de reinicio se ve bien, y si puede usar ISP, no es probable que haya un problema con él. ¿Tienes acceso a un analizador lógico?
Sí, tengo un alcance en el trabajo, ¿debo verificar si el pin de reinicio se activa cuando se envía la carga en serie?
Verifique la señal de reinicio y también verifique la línea TX de ATMega; cuando intente cargar, debería ver que esto escupe algo. Si observa el TX, debería poder medir la velocidad en baudios que genera el ATMega.

Respuestas (1)

Lamentablemente, parece que ha cometido el clásico error con las conexiones UART/RS232.

Con UART, el RX de un dispositivo debe conectarse al TX del otro (y viceversa). En su diseño, ha conectado el TX de la conexión FTDI al TX del ATMega328p (y RX a RX). Como tal, los dos dispositivos no podrán comunicarse entre sí.

Peor aún, si sigue intentándolo, está cortocircuitando el pin TX del chip FTDI cada vez que intenta enviar un paquete porque mientras el chip FTDI intenta enviar un bit de bajo nivel, el TX del ATMega328 todavía está elevando la línea.


Parece que lo más probable es que esté utilizando cables de puente para conectar la interfaz FTDI en lugar de una placa como esta , como sugiere el símbolo esquemático. Entonces, siempre que obtenga los cables de puente RX y TX de la manera correcta, eso no será un problema (probablemente debería especificar información como esa en su pregunta para evitar confusiones).

Creo que ese no es el problema, quiero decir que es mi mal diseño al conectar el TX a TX en lugar de RX, pero cuando conecto los cables a mi chip FTDI, puedo leer el puerto serie si subo un boceto sobre ISP que envía "hola".
He actualizado ahora con una nueva captura de pantalla del funcionamiento de la comunicación en serie, pero este es el error: Tamaño del boceto binario: 3026 bytes (de un máximo de 30 720 bytes) avrdude: stk500_getsync(): no sincronizado: resp=0x00
Excepto ese error, ¿puedes ver algo más que pueda haber hecho mal con el pin de reinicio? Creo que hay algo sobre el pin RESET que no es correcto. Estoy usando una resistencia de 10k que podría funcionar tal vez para 5V pero estoy usando 3.3V.