Je cherche à uploader un code arduino sur un ATmega 328 acheté sur ebay.
Le uC est déjà soudé sur un typon (qui contient tous ce qui accompagne le chip: quartz, capa, régulateur et quelques capteurs) et je voudrais donc charger mon code issu de l'IDE arduino dessus.
J'arrive, en passant par le port ISP et avec l'aide d'une autre arduino, à graver le bootloader sur le ATmega de mon typon (l'IDE me dit que la séquence est bien gravé et il y a bien quelque chose qui se passe en vue des LED RX et TX de l'arduino qui s'agitent pendant la gravure).
Le problème c'est qu'il m'est impossible ensuite de charger un code issu de L'IDE l'arduino sur le uC. L'ide ne détecte pas de uC.
La led RX du convertisseur FTDI s'allume très brièvement lors du chargement du code mais rien de plus (la led TX ne s'allume pas...)
J'ai bien sur vérifié et refait le câblage une dizaine de fois mais rien n'y fait.
Il n'y a pas de problème de piste coupé étant donné que je branche le TX/RX directement sur le atmega.
Ce dernier est forcement bien alimenter sinon je n'aurais pas pus charger le bootloader, non?
Reste donc deux broches qui sortent du convertisseur ftdi: CTS, qu'il faut relier directement a la masse, non?
Et DTR qui, après vérification est bien sur le reset du uC (via un condo) .
Bref, je vois pas de problème dans mon câblage et ce que je ne comprend pas, c'est que je puisse graver le bootloader sans problème. C'est normalement signe que mon typon n'as pas de problème, non?
Je mexplique: est-il possible par semple que si le quartz est mal connecté à l'atmega, je puisse graver le bootloader mais pas charger un code?
Est-ce que quelque chose peut expliquer que je puisse charger le bootloader mais pas un code? Sachant que, encore une fois les fils RX et TX sont bien reliée au uC?
Sinon tu peux faire des tests : en utilisant l'autre Arduino comme programmateur du peu charger tes programmes. Charge en un avec des échange série pour vérifier que la liaison est OK.
J'ai oublié de préciser que le atmega est alimenté en 3.3v avec un quartz à 8MHz.
Donc je sélectionne une arduino pro mini 3.3v 8mhz dans le type de carte de l'IDE, je pense pas me tromper sur ce point?
Sinon tu peux faire des tests : en utilisant l'autre Arduino comme programmateur du peu charger tes programmes. Charge en un avec des échange série pour vérifier que la liaison est OK.
Marche pas non plus, toujours un
avrdude: stk500_recv(): programmer is not responding
après vu que je me sert d'une uno en 5v 16MHz pour programmer une 3.3v 8MHz, c'est peut-ètre pas terrible: du coup je doit choisir quoi dans le type de carte, UNO ou pro mini 3.3v? Et je dois laisser le atmega en place sur la UNO qui sert de programmateur?
Bon de toutes façon, j'ai essayer toutes les méthode et ça ne marche toujours pas.
J'arrive vraiment pas a comprendre comment le bootloader peut se charger mais pas un code...... est-ce que c'est possible que l'IDE croit avoir réussi à graver le bootloader mais en réalité n'y soit pas parvenu?
salut
Sur ton convertisseur FTDI : la sortie tx va à la broche 2 de l'atmega328
l'entrée rx va à la broche 3 de l'atmega328
la sortie gnd à la gnd de ton montage
la sortie DTR va sur le condo 100nF qui va à la broche 1 de l'atmega328
Rien à faire, ça ne marche toujours pas, je ne comprend pas...
Sur ton convertisseur FTDI : la sortie tx va à la broche 2 de l'atmega328
l'entrée rx va à la broche 3 de l'atmega328
la sortie gnd à la gnd de ton montage
la sortie DTR va sur le condo 100nF qui va à la broche 1 de l'atmega328
-J'ai soudé le ATmega vierge sur un typon contenant un oscillateur à 8Mhz, un condo de découplage, un régulateur 3.3v et des capteurs.
-J'ai gravé un bootloader en sélectionnant "Arduino Pro Mini 3.3v 8Mhz ATmega328" et à l'aide d'une arduino UNO
-la gravure à fonctionné
j'ai tenté d'uploader un sketch de base (blink) avec toutes les méthodes expliquées plus haut et aucune ne marche.
Est-ce que j'ai fait une boulette dans ma démarche?
Est-ce que l'oscillateur doit bien être relié au ATmega lorsque je grave le bootloader?
Si le quartz est mal relié au ATmega, est-ce possible que le bootloader se charge correctement (grâce à l'oscillateur interne) mais qu'un sketch ne puisse pas s'uploader?
Argh!! J'ai jamais autant calé sur un problème électronique!
Rien a faire, toujours le même problème.
J'ai fait tiré un nouveau typon, ressouder des composants neuf, reverifié le câblage des dizaines de fois, toujours ce foutu message d'erreur.
J'ai remarqué un truc, lorsqu'on grave un nouveau bootloader sur un ATmega, le code "Blink" est chargé par la même occasion, non? Parce que sur le mien, rien ne se passe...
Et justement, y'a pas un moyen de charger un code via le port SPI? histoire de voir si c'est la que ca foire
Bon, pour moi, c'est le bootloader qui est mal chargé, et du coup j'aimerais comprendre une chose:
Qu est ce qui définit la tension de fonctionnement des ATmega? Est-ce que c'est simplement la tension appliquée au Vcc ou est-ce que le bootloader y est pour quelque chose?
Je m'explique: si on prend une arduino en 3.3v (avec le bootloader 3.3v dédié) Et qu'on lui applique du 5v aux vcc, va-t-elle se mettre a fonctionner avec des niveau logiques 0-5v, ou faufil changer le bootloader en conséquence, sous peine de griller le AtMega?
En faite, je me demande si la technique que j'ai utilisée est bonne: Est-ce que le simple fait d'avoir alimenté mon aTmega en 3.3v, de lui avoir mis un oscillateur de 8mhz et d'avoir chargé le Bootloader de l'arduino: "3.3v 8mhz (arduino pro mini)" suffit à ce que ca fonctionne?
Bon sinon, si vous avez la moindre idée, elle est bien venue...
Déjà pour commencer : un schéma de ta carte (si j'ai bien compris c'est toi qui la fait ?).
Faire des suppositions n'avance à rien, il faut chercher le problème en partant du plus bas niveau : le matériel.