Arduino UNO R3. Error IDE-No en sincronización. TX cortocircuitado a 5v?

1

Tengo (tuve?) un Arduino UNO Rev 3.

Al cargar bocetos, el IDE de Arduino informa de este error avrdude: stk500_getsync (): no está sincronizado: resp = 0x00

Noestoysegurodecuándooporquédejódefuncionar.Seríacuandoestabajugandoconlaconfiguracióndelaluzambientalquefuncionabaperfectamente.Podríaaccidentalmentehaberhechouncortocircuitoaalgo.

Estoesloqueheintentadohastaahoraconunmultímetro.

  1. Probadoconelmultímetroylospines5vlee4.75v.

  2. 3.3vpinlee3.4v

  3. SequitóelATMEGA328PUdelzócaloantesdeseguirprobandodesdeestepunto

  4. TXPinlee4.8v

  5. Elmultímetronomuestracontinuidadentreelpin5vyelpinTX

ParecequeelpinTXestácortocircuitadoalpin5v.¿Hayalgoquepuedahacerparasolucionaresto?

Omientrasintentasesto.

Alimenté el circuito de ECG desde el pin 5v de Arduino. Intenté cargar un boceto en blanco (Bare Minimum de los ejemplos) que aparece cuando surge este problema.

Probé la prueba de bucle invertido

  • GND conectado a RESET ... y RX a TX ..
  • Se eliminó el ATMEGA328 desde el zócalo y RX conectado a TX

En ambos casos, cuando uso el monitor serie no hay eco. Cuando escribo algo en el monitor de serie y pulso, el LED RX en el Arduino UNO parpadea pero el LED de TX no parpadea.

Lo mismo sucede al cargar bocetos. El LED en el pin 13 siempre está encendido. Cuando subo un boceto, el led PIN13 parpadea alrededor de 4-5 veces. El LED en 13 se apaga. entonces el RX parpadea 3 veces. El LED en 13 gira y permanece encendido nuevamente y eso es todo.

¿Hay otras pruebas que pueda hacer para determinar el problema? ¿Debo considerar mi Arduino UNO muerto?

P.S. No tengo experiencia en ingeniería eléctrica, pero al referirme a los esquemas de EAGLE que se encuentran en el enlace a continuación, ¿alguien puede decirme qué debo probar para usar un multímetro? enlace

    

4 respuestas

2

Esto puede o no ser una respuesta, pero debería ser interesante.

En primer lugar, su pregunta y otros comentarios indican que una gran cantidad de Arduino está funcionando como se esperaba. Algunos comentarios sobre eso:

  1. Los pines TX y RX están predeterminados en alto (un poco menos de 5 V) cuando Arduino se inicia. Así que las lecturas que ves en esas líneas están bien. Acabo de verificar esto con un alcance.

  2. El LED pin-13 parpadea en el inicio es normal, varios parpadeos breves. Eso está programado en al menos algunos de los cargadores de arranque. Consulte: enlace . Y mi Arduino Uno R3 de hecho lo hizo.

  3. Las líneas RX y TX están no conectadas directamente desde el 16U2 (controlador USB a serie) a los encabezados de protección. En su lugar, se conectan a través de resistencias de 1k RN4A y B. Esto brinda una buena cantidad de protección contra el abuso.

  4. Los LED RX y TX no están conectados directamente a las líneas RX y TX. En cambio, el 16U2 tiene salidas separadas a través de las cuales el software las muestra. El hecho de que viste un parpadeo de RX durante la prueba de bucle invertido indica que el 16U2 está haciendo muchas cosas bien ... manejando la E / S USB y al menos tratando de enviar datos al 328.

Ahora, el hecho de que no vea la luz LED de TX es un síntoma clave. Esto podría ser:

  • error de la salida del 16U2 al cable de RX real,

  • error de la entrada del 16U2 desde el cable de TX

  • error en la ruta de RX a TX a través del encabezado del escudo (que consta de cierta longitud de rastreo, y las dos resistencias RNA y amp; B).

  • error en el LED de TX ... (aunque el hecho de que no aparezca nada en el monitor serie sugiere que no es solo el LED).

Algunas pruebas que puede hacer usando el procedimiento de bucle invertido:

(He probado estos ...)

Preparación: ¡Quita el 328!

Prueba 1: ¿Puede el 16U2 salir a RX? Ejecute la prueba de bucle invertido desde el monitor serial IDE de Arduino. Asegúrese de que el LED RX incorporado parpadee para confirmar que el puerto COM correcto está activado. Establezca una velocidad de transmisión lenta (como 1200) para que los síntomas sean más fáciles de ver. Ahora conecte un LED al pin de cabecera RX, como se muestra en el siguiente diagrama.

Sincomunicación,elLEDdeberíaestarapagado,perosienvíaunmensajedesdeelmonitorserie,elLEDdeberíaparpadear.Sinolohace,entonceshayunproblemaconlasalidadel16U2olarutadel16U2alencabezadodelescudo.Encualquiercaso,continuar...

Prueba2:¿PodemoshacerqueRX->TXfuncioneeliminandopartedelaruta?Puedeacortarlarutaindicadaporelcablecurvoenelsiguientediagrama.

Puede hacerlo aplicando un objeto de metal puntiagudo a través de los dos pasadores del paquete de resistencia '102' (1 kohm), como se muestra en esta imagen con las flechas rojas:

Con eso en su lugar, realice de nuevo la prueba de bucle invertido. Si eso permite que el mensaje de bucle de retorno vuelva al monitor en serie, entonces hay algún problema con el paquete de resistencias o los rastros más allá.

Si no funciona, el LED RX de a bordo parpadea (confirmando una prueba razonable), entonces hay un error más grave en el 16U2, y probablemente no haya muchas posibilidades de rastrearlo.

    
respondido por el gwideman
1

El IDE de Arduino es a menudo bastante defectuoso y, a veces, cerrarlo y abrirlo de nuevo puede corregir errores de programación.

Suponiendo que lo hayas hecho, hiciste el comentario "Lo encendí desde el pin de 5V". ¿Qué significa esto? ¿Que alimentó su circuito de ECG desde el pin de 5V del Arduino, o que alimentó el Arduino poniendo un voltaje a su pin de 5V? Cuando un Arduino's está conectado a un puerto USB, extraerá energía del riel USB 5V. No es una buena idea conectar cualquier otra fuente de alimentación al mismo tiempo.

Los pines Tx y Rx están conectados en la placa a un chip ATMega8U2 que realiza la conversión USB-Serial. No está claro si probó el voltaje con el AVR presente o no, pero si hay un voltaje en esos pines, no es necesariamente indicativo de una falla. De acuerdo con esta pregunta SO el pin Tx se mantiene alto cuando la conexión serial es inactivo.

Generalmente, si un Arduino muere es porque algo le sucedió al microcontrolador AVR, que en el caso de UNO está en un socket DIP. Puedes comprar Arduino-bootloader ATMegas por quizás $ 5.

    
respondido por el LeoR
0

Tuve el mismo problema y no creo que tu Arduino esté roto. Debe cargar un gestor de arranque con avrISP MKII (desafortunadamente, debe comprarlo por aproximadamente $ 30) y debe actualizar el archivo "optiboot_atmega328.hex" ubicado en C: program (x86) / Adruino / Hardware / adruino / bootloaders / optiboot (o una ubicación similar) siguiendo estas instrucciones en YouTube: Arduino Tut. # 5 - Grabación del cargador de arranque con AVR ISP MKII .

Estoy bastante seguro de que funcionará para usted ya que tuve un problema idéntico. Parece que sin flashear el archivo de arriba, el IDE no reconoce que hay un microcontrolador conectado en el otro extremo. He intentado con 2 nuevos ATmega328 y cuando los pruebo, obtengo el mismo comportamiento hasta que actualizo el cargador de arranque y el problema se soluciona.

Si compra un Arduino nuevo, puede que funcione directamente o que tenga el mismo problema. Así que depende de usted, ya que es una decisión difícil de tomar.

    
respondido por el ChakEL
-1

Estoy teniendo exactamente el mismo problema. Había intentado la mayor parte del método sugerido en línea y todavía no puedo. Por último, simplemente traté de reemplazar un nuevo chip 328 (¡la placa sigue siendo la misma), sorprendentemente, funciona!

    
respondido por el khlim

Lea otras preguntas en las etiquetas