Impossible de charger un code sur ma carte ATMEGA 2560

Bonjour,
J'ai réalisé un montage sur la base d'un ARDUINO ATMEGA 2560 et je rencontre des problèmes au téléchargement. Ma carte est reconnue par le logiciel ARDUINO version 1.8.19 sur le port COM7 de mon PC :
N: Arduino Mega or Mega 2560
VID: 2341
PID: 0042
SN: 751303031363511061C0

J'ai réussi à charger une fois mon code applicatif et il fonctionne mais depuis je n'arrive plus à téléverser une nouvelle version du même code et je reçois des codes d'erreurs:

  • Compilation OK : Le croquis utilise 5388 octets (2%) de l'espace de stockage de programmes. Le maximum est de 253952 octets.
    Les variables globales utilisent 424 octets (5%) de mémoire dynamique, ce qui laisse 7768 octets pour les variables locales. Le maximum est de 8192 octets.

  • Transfert ERROR: System wide configuration file is "C:\Users\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/etc/avrdude.conf"

       Using Port                    : COM7
       Using Programmer              : wiring
       Overriding Baud Rate          : 115200
    

avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_getsync(): timeout communicating with programmer

avrdude done. Thank you.

Une erreur est survenue lors du transfert du croquis.

Si je tente de charger un autre programme qui fonctionnait j'ai encore une autre erreur:

Bang_ADXL345:1:16: error: missing terminating ' character
 carte à base d'ARDUINO MEGA2560/*****************************************************************************/
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Bang_ADXL345:1:1: error: 'carte' does not name a type; did you mean 'cbrt'?
 carte à base d'ARDUINO MEGA2560/*****************************************************************************/
 ^~~~~
 cbrt
In file included from C:\Users\Pierre\Documents\Arduino\Bang_ADXL345\Bang_ADXL345.ino:8:0:
C:\Users\Pierre\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\libraries\Wire\src/Wire.h:86:8: error: 'TwoWire' does not name a type; did you mean 'TwoWire_h'?
 extern TwoWire Wire;
        ^~~~~~~
        TwoWire_h
exit status 1
stray '\303' in program

Je ne m'en sorts pas. Pouvez-vous m'aider. Merci à tous

:warning:
Post mis dans la mauvaise section, on parle anglais dans les forums généraux. déplacé vers le forum francophone.

Merci de prendre en compte les recommandations listées dans Les bonnes pratiques du Forum Francophone

Hi, Let me apologie for my first post in this forum. I am retired and have designed a few boards embedding ATMEGA 2560 with success up to now. But with my last design I get a lot of problems such as the impossibility to send a new code to my board and sincerely I can't fix it. I hope some help to solve my problem. Thanks a lot

Bonjour Halnar,

Maintenant que tu as été déplacé dans la section française du forum tu peux continuer la discussion en français.

Le premier réflexe à avoir quand tu n'arrives pas à téléverser un code dans une carte, c'est d'essayer de téléverser un code le plus simple possible.

Je suis loin d'être un pro sur Arduino mais je vais tenter de t'aider.

Premièrement, as-tu une raison particulière d'utiliser la version 1.8.19 de l'IDE Arduino ? Si non, je recommande fortement de faire la transition vers l'IDE 2.xx qui offre bien plus de fonctionnalité, bien que peu de chance que ça résolve ton problème.

Commence par ouvrir l'exemple Blink depuis Arduino : Fichier > Exemple > 01.Basics > Blink

Vérifie que tu as la bonne carte de sélectionnée dans l'IDE. Débranche tout ce qui peut être déconnnecté de la carte (donc pas le câble USB à priori) et tente de téléverser le programme

Pour commencer, on ne mélange pas les problèmes. Tu passes d'un problème de téléchargement à un problème de compilation d'un autre programme dans lequel il y a une erreur de syntaxe.

As-tu regardé le tuto sur la résolution des problèmes de téléchargement?

L'outil de téléchargement ne reçoit pas de réponse de la carte:

  • es-tu certain du n° de port?
  • n'y aurait-il pas un autre équipement branché sur ton PC qui pourrait t'induire en erreur?
  • y-a-t-il quelque chose de branché sur D0 et D1 de ta carte?

Bonjour Anthony,
Merci pour ta réponse, je vais effectivement changer de version de l'IDE bien que je ne sois pas certain que ce soit la solution. Pour information, j'ai recréé l'équivalent d'une carte ATMEGA 2560 qui jusqu'à présent avait fonctionné avec d'autres designs. Je trouve déroutant de pouvoir transférer et exécuter un code ce qui tendrait à dire que l'électronique se comporte comme prévu mais qu'une seule fois car après il est impossible de téléverser un autre code voire le même. Pour la seconde partie de ta réponse, l'IDE reconnait ma carte maison. Tout se passe comme si l'ATMEGA 16U2 n' initialise pas l'ATMEGA 2560 et freeze l'USB.

Bonjour,
Merci pour la réponse, ma carte maison est bien reconnue et j'ai changé de port USB :
BN: Arduino Mega or Mega 2560
VID: 2341
PID: 0042
SN: 751303031363511061C0

Pour mon design j'ai comparé avec celui disponible sur le site ARDUINO (A000067-schematics.pdf) que j'ai déjà utilisé avec succès mais maintenant je suis coincé j'ai même changé de câble et les mêmes causes produisent les mêmes effets (SIC). Je dois reconnaitre que je n'y comprend plus rien! Toute idée sera la bienvenue, Merci

J'ai déplacé ta question ici.
Inutile de charger le tuto avec des questions dont le contexte est décrit par ailleurs, puisqu'une partie de la question est dans ce fil de discussion ouvert sur le sujet et qu'en plus ce n'est pas une carte "standard".
Ta carte tourne bien à 16MHz?

Sauf erreur de ma part, tu n'as pas répondu à la question de fdufnews :

Et tu n'as pas fait de retour non plus quant à ceci :

D0 et D1 sont connectés à SCL et SDA pour interfacer un ADXl345. Quant à Blink je ne l'ai pas encore testé.

D0 et D1 sont les pins utilisés pour la communication série avec l'ordinateur sur l'Arduino MEGA

Si tu connectes quelques choses dessus, il y a de fortes chances que ça empêche par la suite l'IDE de communiquer avec le MEGA, et donc empêche toute mise à jour du code.

Je suppose que lors de la première programmation, l'ADXl345 n'était pas connecté ? Ou bien tu as été chanceux.

Essaie de toujours laisser ces deux pins libres. Choisis deux autres pins pour ta communication I2C. Et dis nous si cela à résolu ton problème

OK je tente les modifications sur ma carte.
Peux-tu me dire où sont connectées les lignes D0 et D1 sur la carte ARDUINO ATMEGA 2560?

Attends, que l'on parle bien tous de la même chose.
Lorsque tu parles de D0 et D1, tu parles des appellations Arduino ou tu parles des sorties 0 et 1 du port D?

La lettre 'D' signifie "Digital" ; l'équivalent de numérique en français et vient en opposition à 'A' pour "Analog" (analogique en français)

Quand on parle de D0 et D1 ici, on fait référence aux pinx numériques numéros 0 et 1.

Tu pourras retrouver ici la liste des pins utilisés en fonction de la carte pour communiquer avec l'ordinateur.

Afin d'éviter tout soupçon, pour ta communication tu utilises les pins D0 et D1 (0 et 1) ou bien les pins 20 et 21 (qu'on trouve parfois nommés PD0 et PD1) ? Cf photo ci-dessous

Merci pour ton aide que j'apprécie. Pour répondre à ta question les lignes D0 et D1 que j'utilise pour connectées physiquement au processeur AT2560 sur les pins 44 et 73 qui correspondent aux lignes I2C SDA et SCL.

Houps la pin 73 est la pin43 (pb de frappe !)

Désolé mais ta réponse ne me satisfait pas
Je ne comprends pas exactement de quoi tu parles.

Stp, fais un schéma, un dessin ou quelque chose qui évite toute confusion

Toujours est-il que pour tester, comme je t'ai recommandé, débranche tout et essaie de téléverser le programme Blink dans la carte

Bonjour Anthony,

J’ai tenté de charger le programme blink sur ma carte sans succès :

Using Port : COM7

Using Programmer : wiring

Overriding Baud Rate : 115200

avrdude: stk500v2_ReceiveMessage(): timeout

avrdude: stk500v2_ReceiveMessage(): timeout

avrdude: stk500v2_ReceiveMessage(): timeout

avrdude: stk500v2_ReceiveMessage(): timeout

avrdude: stk500v2_ReceiveMessage(): timeout

avrdude: stk500v2_ReceiveMessage(): timeout

avrdude: stk500v2_getsync(): timeout communicating with programmer

avrdude done. Thank you.

Une erreur est survenue lors du transfert du croquis

Tu trouveras en PJ mon schéma électronique et une photo de la carte que j’ai réalisée et qui me pose tant de tracas. Pour info, j’ai chargé un programme RTC DS3231 qui fonctionne

Mais depuis, il est impossible de téléverser un nouveau code pour continuer le débug de la carte. As-tu une idée ?

Merci pour ton aide

(attachments)

my_board.pdf (194 KB)

Je pensais pas devoir le préciser mais est-ce que tu aurais un schéma lisible stp ? :slight_smile:

Qui plus est, tu as essayé de téléverser le code mais n'a pas confirmé avoir tout débranché
S'il faut poser 15 fois les mêmes questions pour avoir les infos cette conversation va vite moins m'intéresser

Dans le doute,
Pourrais-tu aller dans l'onglet options de l'IDE là où tu choisis le port COM et (déjà vérifier que tu utilises le bon port COM) changer le processeur pour sélectionner ATmega1280 et retenter un téléversement AVEC TOUT DEBRANCHE