Téléversement impossible

Portrait de Kentin

Bonjour les électroniciens!!!

J'aimerais faire appel à vous car j'utilise les arduino depuis pas mal de temps maintenant et j'ai voulu créer un clone de l'arduino Uno (ATmega8U2 + ATmega328p) et aujourd'hui je n'arrive à téléverser le sketch dans le ATmega 328p. En fait si j'arrive à le programmer mais seulement en ICSP grâce à une arduino MEGA 2560 que je possède.

J'ai suivi tous les tutoriels que j'ai pu trouver sur internet mais impossible de programmer mon ATmega328p via le port série. Lorsque je lance l'upload la led RX clignote 3 fois et les erreurs apparaissent :

avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x82
                                                         .
                                                         .
                                                         .
                                                         .
Autre fait troublant que j'ai remarqué hier soir, lorsque je téléverse (en ICSP) un sketch avec des "Serial.print" avec une initialisation à 9600 bauds, je ne lis pas correctement les caractères dans le moniteur lui-même configuré en 9600.

Quelqu'un voit-il le problème? Je suis à court d'idées ^^
merci!!

Portrait de Alex

Salut,

As-tu bien flashé ton ATmega8U2?

Si tu ne vois pas de quoi je parle alors je te conseille de le remplacer par une puce FTDI.

Portrait de Kentin

Bonjour Alex,

mon ATmega8U2 je l'ai passé en mode DFU et avec le logiciel Flip je lui ai mis le firmware "Arduino-usbserial-uno.hex" qui se trouve dans les fichiers arduino de mon PC. Y-a-t-il une autre étape à effectuer avant de pouvoir téléverser via le port serie? 

Merci de ton aide! :)

Portrait de Alex

Bonjour,

Non normalement tu as tout bien fait.

Tu peux nous faire voir le schéma de câblage entre les deux ATmega?

Portrait de Kentin

J'ai reproduis ce montage sur ma board, avec une résistance de 1kOhms en série sur les lignes RX et TX et la ligne RESET au DTR de mon ATmega8U2 patte PD7.

Le quartz est un 16MHz avec 2 capa de 18pF.

​Comme cela ne marchait pas j'ai mis exactement le même quartz pour mon ATmega8U2 avec les mêmes capa.

Portrait de Alex

Tu as un oscillo pour observer TX RX et Reset?

Portrait de Kentin

oui oui j'ai tout ce qu'il faut, lorsque j'écris quelque chose sur le port série je retrouve bien mes caractères à l'oscillo donc je ne pense pas que le problème vienne de l'ATmega328. J'ai fait le test de brancher le RX et TX sur mon arduino MEGA en faisant un reset sur le ATmega2560 et je lis correctement mes caractères sur le moniteur série. Par contre impossible de téléverser à partir de la MEGA.

Portrait de Alex

Honnêtement je sèche là.

J'ai du mal à voir ce qui bloque alors.

Portrait de Kentin

Mon problème n'est toujours pas résolu, je travaille dessus quand j'ai le temps, je te tiens au courant lorsque ça marchera ;)

Portrait de Alex

Super, merci!

Portrait de mrstein

Hey,

Elle fait combien la ccapa entre ton DRT et ton reset? 

Oh, aussi, rajoute des résistances 1K entre les deux lignes de ton UART (RX et TX) ;). 

Portrait de Kentin

Bonjour, 

j'ai mis une capa de 0,1µF entre le DRT et mon reset, et les résistances de 1k sont déja sur les lignes de mon UART.

Je ne vois pas ou ça coince..

Portrait de Alex

Tu as deuxième µC pour faire le test? (Ca arrive d'en cramer sans faire attention...)

Portrait de Kentin

Oui je vais le dessouder et en essayer un autre pour voir ;)