Bonsoir à tous,
J'ai réalisé une petite carte avec un circuit intégré Arduino ATMega 328 (origine Lex....c).
Lorsque j'essaye de charger le programme dans la "bête", j'ai les messages suivants :
Dans le menu Tools de l'environnement de développement, tu vérifies :
que tu as sélectionné la bonne carte arduino dans le sous-menu Board
que tu as sélectionné le bon port série dans le sous-menu Serial Port
Maintenant tu dis que tu as fait une carte, si ce n'est pas une carte du commerce il faut commencer par vérifier ton câblage par rapport au schéma.
Les alimentations, le quartz, les condensateurs entre le quartz et la masse, la résistance de tirage au plus sur le reset, le branchement de la sonde de téléchargement sur la carte
Et d'ailleurs, de quel schéma es-tu parti?
Bonsoir,
Merci pour vos éléments de réponse.
Le schéma est issu de la revue Electronique Pratique n°357 page 27.
J'ai déjà vérifié plusieurs fois le câblage de ma carte et d'un point de vue paramètres soft cela semble correcte mais je vais revérifier l’ensemble.
@+
Je comprend que tu as acheté le "Circuit intégré "Arduino ATMega328" seul" chez Lex...c ?
Qu'elle carte as tu choisit dans le menu "Board" ?
Avec un chip similaire acheté chez "Sel...c", j'ai du utiliser "Arduino Uno"
Le problème vient probablement de la vitesse de la liaison série qui a été configurée dans logiciel "bootloader" présent dans la flash.
Il faut choisir une "Board" qui marche à la même vitesse que celle du bootloader de ton circuit.
Attention, si tu as acheté un ATMega328 non pré-programmé avec un bootloader Arduino, tu ne va pas pouvoir aller plus loin sans disposer :
soit d'un programmateur ISP type TinyISP-USB
soit d'une autre carte Arduino avec son processeur qui pourra te servir de programmateur pour ton circuit "vierge"
Qu'elle carte as tu choisit dans le menu "Board" ?
J'ai essayé toute la liste des boards disponibles à base de ATMega328
Pour la communication avec le composant, je dispose sur mon PC d'une interface série et j'ai juste utilisé un convertisseur RS232/TTL
Attention, si tu as acheté un ATMega328 non pré-programmé avec un bootloader Arduino, tu ne va pas pouvoir aller plus loin sans disposer :
Le composant est bien programmé avec le bootloader Arduino
Merci pour tes conseils et aide
en partant du principe que le bootloader est bien le bon et que ton cablage est correct, je pencherai pour un problème au niveau de ton convertisseur série/TTL (vécu).
Cause probable:
la ligne RTS du convertisseur ne provoque par le reset de l'atmega au bon moment
le Tx/Rx du convertisseur n'est pas correctement connecté au Rx/Tx de l'atmega
Solutions:
juste avant la fin de la compilation, relache la ligne reset de l'atmega (plusieurs essais seront nécessaires)
vérifier que Tx de l'un est sur Rx de l'autre.
et j'ajouterais que s'il y a des leds témoins directement sur les lignes Tx/Rx de la liaison série, la communication est bloquée. Les supprimer le cas échéant.
Est-ce que tu as une led sur D13 (comme l'Arduino standard) ?
Au moment du reset, cette led doit "pulser" 2 fois
Si ce n'est pas le cas c'est qu'il n'y a pas de bootloader dans le chip
Il est peut être temps de poster quelques photos de ton adaptateur USB/série, des schémas, ... pour aider a voir clair ?
barbudor:
Est-ce que tu as une led sur D13 (comme l'Arduino standard) ?
Au moment du reset, cette led doit "pulser" 2 fois
Si ce n'est pas le cas c'est qu'il n'y a pas de bootloader dans le chip
Il est peut être temps de poster quelques photos de ton adaptateur USB/série, des schémas, ... pour aider a voir clair ?
J'ai bien une diode sur D13 et elle pulse lors d'un reset et même lors de la tentative de download, elle clignote
Je n'utilise pas de convertisseur USB/TTL car le port série est en natif sur le PC
@+
Gromain59:
en partant du principe que le bootloader est bien le bon et que ton cablage est correct, je pencherai pour un problème au niveau de ton convertisseur série/TTL (vécu).
Cause probable:
la ligne RTS du convertisseur ne provoque par le reset de l'atmega au bon moment
le Tx/Rx du convertisseur n'est pas correctement connecté au Rx/Tx de l'atmega
Solutions:
juste avant la fin de la compilation, relache la ligne reset de l'atmega (plusieurs essais seront nécessaires)
vérifier que Tx de l'un est sur Rx de l'autre.
Gromain
Il est possible que cela vienne de la liaison série, je vais vérifier le bon fonctionnement. Le reset à partir du PC se fait sur RTS ou DTR ?
@+
icare:
Je n'utilise pas de convertisseur USB/TTL car le port série est en natif sur le PC
Attention, le port série de ta carte en niveau TTL (branché directement sur le chip 0V..5V), celui de ton PC en niveau RS232 (+12V..-12V).
As tu un MAX232 ou similaire pour faire la conversion ?
icare:
Je n'utilise pas de convertisseur USB/TTL car le port série est en natif sur le PC
Attention, le port série de ta carte en niveau TTL (branché directement sur le chip 0V..5V), celui de ton PC en niveau RS232 (+12V..-12V).
As tu un MAX232 ou similaire pour faire la conversion ?
Sinon "Pfffssshhhhh" fait l'Arduino
Je te rassure il y a bien un MAX232 entre les deux.
@+
La led qui clignote au reset ou au démarrage du téléchargement c'est donc que le DTR (et non pas le RTS ) passe bien.
Si je ne me trompe pas, l'ATmega est sur une petite carte fille qui se branche sur une carte mère.
Je suppose donc que le MAX232 est sur cette carte mèer.
Peux tu :
Enlever la carte Arduino de son support
Sur la carte mère, faire un pont entre TX et RX
Utiliser le serial monitor dans l'IDE pour envoyer des caractères (
Normalement quand tu fait "Send", ca devrait apparaitre dans la fenêtre en dessous
Si çà c'est bon, je ne vois aucun problème électrique.
Il ne reste que la vitesse du port série qui va dépendre du modèle de carte choisit.
As tu essayé avec le modèle "Uno" ?
Même s'il n'y a pas "328" dans le nom, c'est bien un ATmega328 dessus, qui plus est c'est une des rare cartes dont le bootloader est par défaut à 115200 baud.
La plupart des autres "328" sont a 57600.