¿Cómo puedo solucionar un error de AVRdude que no está sincronizado al programar Arduino a través de un cable USB a serie?


9

Estoy tratando de construir esta iluminación ambiental para PC. Esto funcionó a la perfección en mi Arduino Uno. Mi siguiente paso fue hacerlo usando "Arduino en una placa" . Así que compré un chip ATmega328 en blanco y grabé el cargador de arranque Arduino (para la placa "Arduino Duemilanove w / ATmega328") usando el IDE Arduino y USBasp; y sé que esto se ha cargado correctamente ya que este chip ATmega funciona bien en el Uno.

Luego hice el convertidor de USB a serie usando FT232RL ; pero sus controladores no se instalaron en mi PC (Windows 7 x64). Sospecho que sobrecalenté el chip FTDI de montaje en superficie y lo maté mientras lo soldaba a mano.

Entonces, lo guardé a un lado, y obtuve este puente convertidor de USB a serie: (Perdón por las fotos de mierda) Usé un ST232CN adicional en mi placa de prueba, para convertir los niveles de voltaje de RS232 a TTL, como se muestra en este la página . Y esto funciona bien, como verifiqué en una prueba de bucle invertido. Y he conectado el pin 9 de ST232 al pin 2 de ATmega, y el pin 10 al pin 3.

Cuando intenté cargar un ejemplo de parpadeo de Arduino IDE, recibí este error:

Binary sketch size: 1026 bytes (of a 30720 byte maximum)
avrdude: stk500_getsync(): not in sync: resp=0x00

Cuando hago la carga detallada (Mayús + Carga), aparece este mensaje de error:

avrdude: usbdev_open(): did not find any USB device "usb"

Además, intenté agregar resistencias pull-up de 1k en los pines 2 y 3 de ATmega, pero no me ayudó. Entonces, ¿supongo que el problema ahora está en la comunicación serial del ST232 a ATmega? ¿Y hay alguna conexión especial con el pin Reset de ATmega? Lo he subido a 5V con una resistencia de 10k.


Un esquema y / o una imagen de la configuración de su tablero ayudaría.
sptrks

3
¿Reinició el chip justo antes, al mismo tiempo o justo después de ordenar la carga? Cada vez que recibí el error 'no sincronizado', estaba relacionado con ese tiempo relativo. Para mi placa de pruebas, y Eclipse / AVRDude, desenterrar el pin de reinicio justo antes o justo cuando hago clic en el comando de carga es el momento adecuado. Sino también comprobar que su PC realmente ver el adaptador cuando lo conecte.
JRobert

1
@potato_in_my_ear: el formato adecuado para publicar una solución no es una edición, sino una respuesta. Mire a continuación y verá un cuadro titulado "Su respuesta" en el que puede ingresarlo. Después de ingresar, las personas votarán su respuesta, y usted puede 'aceptarla' presionando la marca de verificación a la izquierda de la respuesta.
Kevin Vermeer

1
@potato_in_my_ear: Me alegra que haya ayudado. Eres un caballero y un erudito. Haré que mi comentario sea una respuesta.
JRobert

2
¡La solución es que la gente deje de proporcionar respuestas en los comentarios!
Kevin Vermeer

Respuestas:


6

Cada vez que recibí el error 'no sincronizado', estaba relacionado con mi falta de tiempo de reinicio (¡u olvido el reinicio por completo!). Para mi placa de pruebas, y Eclipse / AVRDude, desconectar el pin de reinicio justo antes o al mismo tiempo que hago clic en el botón de carga es el momento adecuado. Pero también verifique que su PC realmente vea el adaptador cuando lo conecte.

Las placas arduino posteriores se crean para restablecer cada vez que se realiza una conexión en serie y mediante el gestor de arranque mediante programación. Este artículo de blog describe cómo funciona, y aún más interesante, cómo piratearlo en tableros anteriores. No debería ser demasiado difícil ponerlo en una placa de prueba si quisieras. El chip debe tener un gestor de arranque compatible, por supuesto (que ya ha puesto en el suyo). Para las placas de prueba, solo hago el baile del botón de reinicio / clic del mouse.


Encontré a alguien que decía que puede hacer que la cadena de herramientas avr realice el restablecimiento editando avrdude.conf ; aquí (en comentarios). Pero no estoy seguro de cómo hacerlo. Puede usted ayudar. Odio presionar reiniciar todo el tiempo ..
Anubis

Esto requerirá soporte de hardware en la placa Arduino o placa de pruebas que más tarde Aduino ha incorporado; El código solo no puede hacerlo. Se basa en un condensador desde el DTR en serie hasta el reinicio y un pull-up de reinicio. Si tiene una más antigua o una placa de pruebas, deberá agregarla. Esta pregunta de EE StackEx y el artículo de blog que cité deberían indicarle la dirección correcta.
JRobert

2

Como @JRobert dijo en los comentarios, el momento adecuado para conectar a tierra y desconectar el pin de reinicio en ATmega hizo el truco. Sigue conectando a tierra el pin de reinicio de ATmega cuando hagas clic en "Cargar" y, tal como se muestra en "Cargando", descálelo.


Acabo de recibir un mini arduino y sabía que tenía que presionar el botón de reinicio para cargar el código, ¡pero no pude averiguar cuándo! Esto funcionó para mí. Gracias.
Bob Esponja

0

Tuve los mismos errores que he visto publicados en varios sitios RE: Mensaje de Arduino "avrdude: stk500_getsync (): no sincronizado: resp = 0x00" o similar.

Descubrí que si elimino lo que está parcheado en D0 ([D0] pin DIGITAL Cero, más alejado de USB y tomas de alimentación, también se lee "RX").

Probé dos computadoras diferentes y obtuve los mismos errores y descubrí que si: 1- Quito el cable o abro el circuito a [D0] 2- Subo a Arduino 3- vuelvo a conectar el cable quitado o cierro el circuito abierto a [ D0]

Solo he encontrado ese error cuando subo y esta es mi solución. por ahora.

Espero eso ayude.

¡Se siente bien finalmente devolver información útil a una comunidad!


1
La respuesta es un poco confusa: la oración que comienza "Encontré que si yo ..." está incompleta, no estoy seguro de lo que está tratando de decir allí. Por favor edita, gracias.
Anindo Ghosh

Esta respuesta se refiere a tener un circuito conflictivo conectado a los pines serie del hardware atmega.
Chris Stratton


-1

Para corregir el error "avrdude: stk500_getsync (): no sincronizado: resp = 0x00". Simplemente instale el controlador FTDI versión 2.8.24.0. Hay algunos problemas con el nuevo controlador v2.8.28.0.


-1

Mientras carga los códigos de Arduino IDE en su computadora, extraiga el pin 0 de RX de la tarjeta Arduino. Obtendrá la carga correcta del código. Enchufe el pin RX y pruebe. O bien, es posible que le pongan (quizás) el RX de Bluetooth al RX de Arduino para que los TX estén conectados entre sí.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.