AT mega328P / Programmateur FTDI [RESOLU]

Bonjour,

Je viens de programmer un ATmega328p sur beardboard via une arduino mega2560 merci encore pour l'aide :slight_smile:

Néanmoins j'ai besoin d'avoir accès à l'interface série sur le pc, donc je me demandais de quelle manière est-il possible de programmer le microcontroleur via une petite carte externe FTDI.
J'alimente le chip directement avec l'usb, les RX/TX sont croisés et DTR viens sur une capa de 22pF connectée sur le pin 1 (Pull-up 5V). Pour la programmation, je n'utilise que le sketch blink, avec Arduino Pro or Pro mini, le seul port com disponible et AVRISP mkII. Je compile et téléverse classiquement mais "le programmeur ne répond pas".

Si quelqu'un à une idée sur mon erreur... car je sèche

Merci

Bonjour,

  • Relie directement DTR au reset
  • Vérifies bien que le RX et TX qui est marqué sur l’adaptateur correspond bien au RX et TX de l’adaptateur et non au RX et TX de la carte ou il doit être connecté (ça m’est arrivé d’avoir un adaptateur marqué ainsi).

Je ne sais pas si c'est normal, mais sur la board, TX est directement connecté au ground...
Sur les quelques schéma de programeur utilisant une FT232 que je viens de trouver, ça ne m'a pas l'air d'être le cas et ça semble plus logique. J'avoue que j'ai acheté la board à 2€ sur amazon, mais quand même...! >:(

je me trompe ?

Oupss,

une erreur de ma part concernant la board FTDI, elle est très bien…
Tout est bien dans l’ordre et DTR maintenant directement sur reset.
Mais ce ne fonctionne pas.

Je viens de tenter de le programmer directement via ma mega 2560 en connectant TXO et RX0 sur RX et TX ainsi que Reset sur le pin 1 mais ça ne fonctionne pas non plus. Le bougre ! Où est cette erreur !

A ta place je mettrais une résistance de 1k entre TX du ftdi et RX de la carte et idem une résistance de 1k entre RX du ftdi et TX de la carte (par précaution) et j'inverserai RX et TX.

J’ai donc maintenant deux résistances de 1k en séries entre les RX et TX. J’ai essayé les deux configurations (inversé et non inversé) mais rien n’y fait.
Par acquis de conscience… pas besoin de bootloader avec le même système que celui avec lequel on programme ?

Le processeur doit avoir son bootloader
Le programme doit avoir été compilé pour le processeur ou carte cible

Donc pas de problème au niveau du bootloader. Il a été gravé un première fois par l’arduino mega et donc une fois pour toute je pense…

Ensuite je tente de programmer avec le ftdi en utilisant les paramètres propres de l’aduino pro ou pro mini. Ce sont des ATmega328 sur les board, donc il ne devrai pas y avoir de problème non plus. D’autant que la même configuration de l’IDE avec programmation en mode SPI avec Arduino as ISP fonctionne très bien.

Ne faut-il pas utiliser autre chose que AVRISP mkII en paramètres ? Les programmateur du même nom ne ressemblent pas du tout au mien.
NB : il y a une broche CTS sur la board FTDI est-elle inutile dans cette configuration ?

ludo1919:
Ne faut-il pas utiliser autre chose que AVRISP mkII en paramètres ? Les programmateur du même nom ne ressemblent pas du tout au mien.

Non, ce paramètre n'est utilisé que quand tu programmes avec un programmateur ISP. Quand tu programmes par liaison série, ce paramètre est inutilisé donc tu peux mettre n'importe quoi, ça fera pareil.

La broche CTS est normalement inutilisée pour la programmation série.

Bonjour,

encore un certain nombre d'heures à tester, retester... que du bonheur :slight_smile:
J'ai essayé un montage différent en essayant de programmer l'atmega avec l'arduino et juste les tx rx, pas de reset.. et ça a fonctionné.
A partir de là, pourquoi je n'y arrive pas avec le ftdi... je ne comprend pas. Je n'ai pas non plus réussi à programmer la mega2560 avec. Il y a t-il un moyen non expérimental pour savoir si il est opérationnel ? Je pense avoir correctement installé les drivers, mais je ne vois plus que ça comme source de problème.

merci!

C'est étrange que tu arrives à programmer sans le reset (àa moins que tu ais fait un reset manuel), car il faut faire un reset pour démarrer sur le bootloader.

Si tu vois le port com du ftdi dans le gestionnaire de périphériques (si tu es sous windows), ça veut dire que le driver est bien installé.

Je l'ai connecté sur le ground pendant le téléversement puis enlevé, mais je pensais que ca n'avais rien fait car la led ne s'est pas allumée immédiatement... Je vais retenter sans et avec, on verra !

Pour le ftdi, "usb serial port com 9" lorsque je le connecte. Donc c'est ok.

Ça fonctionne.

Le ground temporaire du pin 1 est effectivement obligatoire pour pouvoir programmer. J'ai ensuite essayé de comprendre pourquoi ça ne fonctionnais pas avec le ftdi, il faut en fait rajouter une capa de 0.1uF en série, capacitance qui doit être présente sur la plupart des boards commerciales mais pas sur la mienne... :confused:
Par contre, dommage que la sérigraphie ne soit pas harmonisée, je doit connecter les RX entre eux pour programmer avec l'arduino et inverser pour le faire avec le ftdi.

Mais c'est cool, merci encore Kamill

J'ai eu le même souci avec des programmateurs CP210 et le problème a aussi été résolu en mettant un condo de 100 nf en série dans la ligne reset.

Oui... j'ai été un peu évasif sur la description de ma solution. Pour ceux qui serait confrontés à un problème similaire, effectivement, c'est en série entre DTR et la broche reset du microcontroleur.

Bonne journée