web-dev-qa-db-fra.com

Problème de téléchargement Arduino Sketch - avrdude: stk500_recv (): le programmeur ne répond pas

J'ai un Arduino Duemilanove avec un Atmega 328. Je travaille sur Ubuntu 12.04, et la version de l'IDE Arduino est 1.0. Récemment, j'ai essayé de télécharger quelques exemples de croquis, comme celui de Blink. Cependant, aucune de mes tentatives ne fonctionne et elles entraînent la même erreur à chaque fois que je l'essaie - avrdude: stk500_recv (): le programmeur ne répond pas.

enter image description here

J'ai activé '/ dev/ttyUSB0' sous Outils -> Port série. J'ai également sélectionné le bon tableau (Duemilanove avec Atmega 328) dans la liste. Pourtant, je ne suis pas capable de résoudre le problème. J'ai également effectué une recherche en ligne et aucune des autres réponses à ce problème ne semble fonctionner pour moi. Quelqu'un pourrait-il me dire pourquoi je rencontre ce problème et m'aider à le résoudre?

Mise à jour : J'ai essayé d'allumer l'Atmega à bord et de l'installer dans le sens opposé. Maintenant, je ne rencontre pas de problèmes de téléchargement, mais rien ne se passe après. La DEL intégrée ne semble pas non plus clignoter.

108
Pastafarian

J'ai eu ce problème avec un Crowduino, en exécutant l'Arduino IDE sur OSX. La solution pour moi consistait à activer la sortie prolixe pendant le téléchargement (dans le volet de préférences de arduino IDE).

Ensuite, lors du téléchargement, vous pouvez voir avrdude envoyer trois paquets avrdude: Send: 0 [30] [20] (avec le RX correspondant sur la carte) juste avant l’erreur avrdude: ser_recv(): programmer is not responding.

L'astuce consiste à appuyer sur le bouton de réinitialisation du tableau immédiatement avant que ces trois paquets ne soient envoyés. Ensuite, le programme sera téléchargé avec succès.

98
hoipolloi

Assurez-vous qu'il n'y a pas d'entrée sur les broches Tx/Rx, alors cela fonctionnera.

60
rednaks

Je sais que ceci est un vieux post, mais il y a un discours vaudou dans les réponses ici parmi les bonnes idées, essayons d'être un peu plus vrais à propos de ce qui se passe et résumons les bonnes choses à vérifier:

En gros, lorsque cela se produit, il est judicieux d’activer le mode verbeux pour avrdude, afin d’avoir une meilleure idée de ce qui se passe. Pour ce faire, il vous suffit d'aller dans les préférences et de cocher la case en mode commenté. C'est aussi une bonne idée de s'éloigner de l'IDE arduino et de lancer une console pour être plus à l'aise lors de la lecture de la sortie de avrdude, en cliquant sur le bouton upload

Ce qui est important ici, c'est de mettre 3 ou 4 -v à l'appel de commande. Voici à quoi ressemble une telle commande avrdude, avec des paramètres inventés, car ils dépendent totalement de la manière dont l’Arduino a été installé:

avrdude -v -v -v -v -C /path/to/avrdude.conf -patmega328 -P/dev/usbport -U flash:w:/path/to/firmware.hex

Un bon moyen d'obtenir la ligne de commande appropriée consiste à le copier à partir de la sortie détaillée du journal de sortie Arduino IDE lorsque la verbosité a été activée.

Lorsque vous obtenez avrdude: stk500_recv(): programmer is not responding, cela signifie en gros que quelque chose ne va pas, avant le clignotement commence réellement. En gros, vous devez vérifier (du matériel au logiciel, du niveau bas au niveau haut):

  • si le câble et/ou les connecteurs n’ont pas de micro coupures;
  • si aucun point de soudure n’est en court-circuit (c’est-à-dire que vous touchez un objet métallique autour de vous), cela signifie:
    • s'il n'y a pas de court-circuit sur le PCB entre Rx et Tx (généralement les broches 1 et 0);
    • s'il n'y a pas de contact avec un élément métallique en dessous du plateau, ou de minuscules morceaux entre les jambes d'un composant (comme le FTDI, la puce Atmega ou tout autre);
  • si la puce Atmega n'est pas hors tension (raccourci GND/VCC ou coupure ou entrée VCC inactive…);
  • si les broches 1 et 0 de l’Arduino ne sont pas utilisées par un bouclier ou une conception personnalisée (/!\ ne s’applique pas au leonardo car il dispose d’une gestion USB indépendante);
  • si le convertisseur USB vers UART n'a pas de problème (FTDI sur duemilanove plus ancien ou Atmega16U2 sur de nouveaux Unos);
  • si la puce Atmega328 est frite ou mal installée;
  • si le chargeur de démarrage a été écrasé ou échoue;
  • si le bon débit en bauds est appliqué pour entrer dans le chargeur de démarrage;
  • si les bons paramètres sont définis pour la MCU et la carte cibles;

généralement, le avrdude -v -v -v -v peut aider beaucoup à trouver à quel stade il échoue. S'il ne peut pas établir une connexion USB du tout (câble défectueux, USB/UART, carte de circuit imprimé…), ou s'il s'agit d'un problème de chargeur de démarrage.

Mise à jour : J'ai essayé d'allumer l'Atmega à bord et de l'installer dans l'autre sens. Maintenant, je ne rencontre pas de problèmes de téléchargement, mais rien ne se passe après. La DEL intégrée ne semble pas non plus clignoter.

Je crains que si vous inversiez la position de l'atmega, et que cela ne fonctionne pas, le fait que vous ayez placé la source d'alimentation sur des broches numériques ait peut-être brûlé votre puce.

44
zmo

J'ai eu le même problème - c'est pourquoi j'ai trouvé cette question.

Je n'avais qu'à changer le processeur de «ATmego328P» à «ATmego328P (Old Bootloader)

Problème résolu - du moins pour moi.

 enter image description here

27
Edgar

Essayez de voir si votre tableau a été sélectionné correctement. Cliquez sur le menu Outils -> Conseil et vérifiez si le bon conseil est sélectionné.

21
linhadiretalipe

Vous pouvez vérifier si des cavaliers sont branchés aux broches 0 et 1. Celles-ci sont utilisées pour la communication série et les fils branchés peuvent empêcher le téléchargement du code sur la carte.

Si rien n'est branché, il peut s'agir d'un bogue avec avrdude, vous pouvez essayer de le mettre à jour.

J'espère que ça aide! :)

12
ladislas

J'ai également rencontré ce problème et je l'ai résolu en réinstallant le pilote série USB. Voir aussi: http://arduino.cc/en/Guide/Howto et http://www.ftdichip.com/Drivers/VCP.htm

10
Anthony

L'erreur ci-dessus vient en 3 étapes

  1. Si le chargeur de démarrage a été crashé
  2. si vous n'avez pas sélectionné le bon port et la bonne carte de l'IDE
  3. Si vous communiquez avec un autre port série, connectez-vous. Les broches GND et Tx sont connectées à 
4
AMPS

J'ai eu le même. Lors de ma première tentative d’Arduino UNO, ma solution était assez simple. Il suffit de brancher puis brancher le câble USB. J'espère que ça marche pour toi.

3
Ozan Atmar

J'ai résolu le problème sous OS X Yosemite 10.10 en suivant ces instructions:

http://www.mommosoft.com/blog/2014/10/24/ftdi-chip-and-os-x-10-10/

Cependant, le truc proposé par hoipolloi était une solution de contournement temporaire, sur cette version également.

3
Sigismondo

Sur Windows 7 , j'ai eu ce problème plusieurs fois, chaque fois avec des messages d'erreur différents. Fondamentalement, IDE envoie au mauvais port. Pour résoudre ce problème, allez simplement dans "Outils" -> "Ports" -> [sélectionnez le port COM sur lequel se trouve votre carte].

Assurez-vous de vérifier le port de votre carte:

1) Démarrer le gestionnaire de périphériques

Start Menu

2) Assurez-vous que votre pilote Arduino est répertorié sous le port correspondant aux paramètres de port de votre IDE (mentionné ci-dessus).

Device Manager

3) Mon tableau est répertorié sous le port COM1. Si vous le souhaitez, vous pouvez simplement changer le port dans les paramètres avancés du pilote:

enter image description here

3
Domi

J'ai aussi ce problème sur mon Arduino sous Mac. Cela se produit sur deux de mes Arduinos (un Arduino Uno et un Arduino Pro connecté avec FTDI). 

Pour l’Uno, je branche le câble sur mon ordinateur et appuie sur Télécharger, puis je compte à compter jusqu’à ce que le voyant "TX" clignote. Répétez ensuite le téléchargement, mais juste avant que le voyant TX ne clignote, appuyez sur le bouton de réinitialisation. Le téléchargement réussit. 

J'ai par la suite déterminé que le remplacement du câble USB corrigeait ce problème.

2
mrsoltys

Tu peux essayer:

  • Vérifiez dans preferences.txt serial.debug_rate: serial.debug_rate=9600
  • Sinon essayez d'appuyer sur le bouton de réinitialisation de votre arduino juste lors du téléchargement.
  • Sinon, essayez de sélectionner une autre carte dans le menu arduino-> Outils puis resélectionnez votre carte dans la liste.
1
hanoo

Je pensais juste que je ferais remarquer que ma nouvelle carte Arduino Uno Rev3 utilise le pilote LInux suivant:

Device Drivers    
|-USB Drivers
  |-USB Modem (CDC ACM) support

Ceci est connu sous le nom d'option: CONFIG_USB_ACM: dans le plus récent noyau LInux 3.x.

Cet appareil apparaît alors comme suit: /dev/ttyACM0 ou similaire.

1
James Mills

pensais juste que je voudrais ajouter une solution qui fonctionnait pour moi en cours d'exécution sur un mac pro (ordinateur de bureau) 

J'avais la même erreur et il en résulte que j'ai eu l'USB connecté à un périphérique (mon moniteur) plutôt qu'un USB sur le PC lui-même. Arrêté immédiatement des erreurs et solution simple.

1
lee

Avez-vous quelque chose connecté à la broche RESET sur l'Arduino?

J'ai rencontré ce problème avec un graphique LCD qui devait être connecté à l'épingle RESET. Déconnecter le cavalier entre LCD et la broche RESET lors du téléchargement du code le corrige pour moi.

1
Jamie

J'ai résolu un problème dans mon cas en téléchargeant et en installant d'anciens pilotes FDTM depuis ici .

Essayez d’installer FTDIUSBSerialDriver_10_4_10_5_10_6_10_7.mpkg, puis redémarrez Arduino.

1
shimaro

alors j'ai trouvé la cause de cela ... Changer mon port série en /dev/tty.usbmodem2131 l'a corrigé. Il s'avère que j'utilisais le mauvais port série pendant tout ce temps!

1
Fritz Dodoo

Tout d’abord, assurez-vous que/dev/ttyUSB0 fonctionne. Par exemple. branchez la souris et vérifiez que cela fonctionne. Deuxièmement, essayez de sélectionner un autre tableau. Il arrive souvent que des cartes non originales ne soient pas correctement reconnues sous leurs noms ..__ Troisièmement, essayez d'appuyer sur le bouton de réinitialisation manuellement tout en téléchargeant l'esquisse. Probablement la réinitialisation automatique est cassée.

1
Sergei B.

Essayez de charger un programme sans -b (l'option de débit en bauds). Dans ~/.arduino15/preferences.txt, définissez build.verbose = true, lorsque arduino.cc n'est pas en cours d'exécution. Dans la sortie commentée, vous trouverez le fichier hexadécimal que vous devez charger depuis une console:

avrdude -v -v -v -v -C/usr/share/arduino/hardware/tools/avr/etc/avrdude.conf -patmega328p -carduino -P/dev/ttyUSB2  -D -Uflash:w:/tmp/build2314497724350388190.tmp/sketch_nov13b.cpp.hex:i

Je viens de remplacer la puce 128 par la version 328 et de Decimile, mon nom de carte a été remplacé par Uno ou Ethernet en raison du nouveau débit en bauds 115200.

0
42n4

Dans mon cas (Mini Pro), la solution était si simple, je ne savais pas trop comment je l'avais manqué ... j'avais besoin de croiser les fils rx/tx.

Solution:

  • La broche Arduino Rx va sur la broche FTDI Tx.
  • La broche Arduino Tx va sur la broche FTDI Rx.
0
t0mislav

Pour mon cas, c'était le mauvais débit en bauds. Il appelle cette commande: 

C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude -CC:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf -v -patmega328p -carduino -PCOM4 **-b57600** -D -Uflash:w:C:\Users\Vahid\AppData\Local\Temp\arduino_build_527841/AnalogReadSerial.ino.hex:i 

Comme vous pouvez le constater, le débit en bauds est défini sur 57600. Lorsque vous supprimez cet argument (-b57600) et que vous l'exécutez en ligne de commande, tout fonctionne correctement. 

0
user1512681

Si vous connectez votre Arduino via un concentrateur USB, essayez plutôt de le connecter directement à l'un des ports USB du Mac.
Cela a fonctionné pour moi.

0
Magnus Johansson

Cela a peut-être été retardé, mais cela m’a frappé: Assurez-vous que votre câble USB (côté Arduino) est correctement branché (complètement branché). Vérifiez que le périphérique a été détecté comme décrit ici (pour Windows): https://stackoverflow.com/a/26913070/3361975

0
Sebastian

Pour moi, c'était aussi simple que de définir les bons ports.

Pour définir cela, allez dans Outils> Port et passez de COM1 au port approprié.

Après cela, mon programme a fonctionné correctement

0

J'ai essayé de connecter mon servo à la broche Arduino 5V, de contrecarrer le processeur et c'est pourquoi j'ai eu cet échec

avrdude: stk500_recv (): le programmeur ne répond pas

Solution: achetez une nouvelle alimentation Arduino et externe 5V pour le servo.

0
Nic Taky Nic

Je poste ceci parce que je n'ai pas trouvé cette réponse ailleurs. Tous mes clones Arduino nano chinese (CH340) ont rencontré ce problème après la mise à niveau vers Arduino IDE à 1.8.9. Ce qui a fonctionné pour moi, c’est d’utiliser un Arduino Uno officiel de rechange que je dois graver le chargeur de démarrage sur le nanos défectueux en utilisant les en-têtes ICSP sur le nano. Pour cela, je n’ai fait que suivre les instructions suivantes: clone-chinois-de-arduino-nano-with-chip-ch340g-comment-réparer-il . La SEULE chose que j'ai faite différemment a été de toujours définir l'option "Old Bootloader" comme indiqué précédemment dans ce fil. Autre que cela, j'ai complètement suivi les instructions sur ce lien et sauvé mes nanos de ce problème ennuyeux. J'espère que cela aide quelqu'un là-bas.

0
Dave

Avez-vous installé/mis à jour le pilote pour le câble FTDI? (Étape trois sur http://arduino.cc/en/Guide/Howto ). L'exécution de l'Arduino IDE à partir de mon Raspberry Pi fonctionnait correctement sans l'installation explicite des pilotes (ceux-ci étaient pré-installés ou le programme d'installation Arduino IDE s'en chargeait). Sur mon Mac, ce n'était pas le cas et j'ai dû installer les pilotes de câbles en plus de l'IDE.

0
user3133327

J'ai eu le même problème avec l'arduino Due, la plupart des solutions proposées ne fonctionnaient pas. la LED L était allumée en permanence. Mon problème a été résolu en désancrant le IDE et en choisissant la version expérimentale 1.5.8, puis dans le tableau, j'ai choisi l'option inférieure Arduino Due (port de programmation). Bien sûr, vous devez également connecter le port USB au port de programmation.

0
miks

J'avais le même problème et je l'ai résolu moi-même. 

Premièrement: J'ai un (OSEPP UNO r3 PLUS). C'est un Arduino UNO REV 3 fabriqué par OSEPP.

Je viens d'acheter un bouclier OSEPP Motor and Servo Controller. Je viens de faire fonctionner les moteurs et je suis tombé sur la même erreur. avrdude: stk500_recv (): le programmeur ne répond pas.

Je suppose que pendant la connexion, un nouveau port série a été créé/attribué. Trouvé dans le programme arduino sous "Outils> Port série". Je viens de resélectionner celui lié à l'ONU et bam, le problème est résolu.

Espérons que cela aide quelqu'un. 

0
Edd Clarke

Je viens de passer les dernières heures sur le même problème ... Allez simplement ici " http://www.ftdichip.com/Drivers/VCP.htm ", téléchargez les derniers pilotes et redémarrez. Devrait fonctionner très bien après cela. J'ai également téléchargé une nuit du logiciel Arduino, mais je ne suis pas un morceau qui a fait une différence.

0
rjpalombo

Je devais sélectionner correct conseil . Allez à Outils -> Cartes ->Arduino Nanopar exemple.

0
ViliusK

Dans mon cas, le problème a été soulevé lorsque j’essayais de faire des expressions arithmétiques "étranges".

par exemple (3.14/4)/5 ou 3,15% 2,55  

Donc, je vous suggère de vérifier toutes les expressions arithmétiques au cas où certaines d’entre elles ne pourraient pas être calculées par Arduino.

J'espère que ça aide.

0
Pontios