Pages: [1]   Go Down
Author Topic: [ Résolu] Arduino serial board + atmega328 (UNO) ?  (Read 1089 times)
0 Members and 1 Guest are viewing this topic.
0
Offline Offline
Newbie
*
Karma: 0
Posts: 18
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour,

J'ai une carte Arduino serial board v2.0a sur laquelle j'ai monté un ATMEGA328 équipé du bootloader UNO. Voir photo sur ce thread.

Et je n'arrive pas à flasher la bête. l'IDE me répond systématiquement :
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_recv(): programmer is not responding

J'utilise la version 0021 de l'IDE, et j'ai sélectionné le board Arduino UNO et le port série /dev/ttyS0. J'ai vérifié au préalable que mon port série est opérationnel en prenant la main sur la console d'un autre PC.

Je commence à me demander si je n'ai pas fait une bêtise : le ATMEGA328 est-il compatible avec cette carte ?

Merci par avance.
« Last Edit: December 05, 2010, 06:09:17 am by pini » Logged

Sophia-Antipolis (06)
Offline Offline
God Member
*****
Karma: 4
Posts: 618
Rejoignez le club !
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Première hypothèse : les quartz (fréquence d'horloge) sont différents ?

Seconde hypothèse : entre les deux (Duemilanove je crois) il y a eu un changement du reset.

Troisième hypothèse : le bootloader est différent car la puce FTDI a été remplacée par un ATmega8 ?

Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 18
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Première hypothèse : les quartz (fréquence d'horloge) sont différents ?
Non, les deux boards ont un quartz de même fréquence (16MHz).

Quote
Seconde hypothèse : entre les deux (Duemilanove je crois) il y a eu un changement du reset.
En lisant la page descriptive du Uno je vois qu'ils ont *ajouté* un soft reset, mais le hard reset est toujours le même.
Le seul truc est que le soft reset n'est bien entendu pas activable via le Serial board, il y a donc peut-être une question de timing ultra précis à chopper sur le bouton reset au début de l'upload...

Quote
Troisième hypothèse : le bootloader est différent car la puce FTDI a été remplacée par un ATmega8 ?
Le remplacement FTDI > ATMEGA8U2 ne concerne que la conversion USB->Série qui n'a aucune utilité sur le Sérial board (pas de FTDI). On parle directement via l'interface série, donc pas besoin de convertisseur.

Je ne suis pas super à l'aise avec un schema éléctronique, mais en comparant les schemas  du board Uno et du Serial Borad il semble pourtant que le ATMEGA8 et le ATMEGA328 soient pin compatibles, non ?
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 18
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Le seul truc est que le soft reset n'est bien entendu pas activable via le Serial board, il y a donc peut-être une question de timing ultra précis à chopper sur le bouton reset au début de l'upload...
Alors il semble que ce soit un truc comme ça. Voici ou j'en suis :
* Board sélectionné == Arduino UNO
* Avant de faire l'upload, j'enclenche le hard reset
* Je clique sur le bouton Upload avec le hard reset toujours enclenché
* Je m'arrange pour relacher le hard reset juste avant que le texte Binary sketch size apparaisse dans l'IDE
* Et là j'ai le message "Done uploading"

Je suis tenté d'interpréter ça positivement. Quelqu'un pour confirmer ?
smiley-grin

Update :
Je confirme ! Le programme test qui fait clignoter une led sur le pin 13 fonctionne \o/
« Last Edit: December 05, 2010, 06:10:56 am by pini » Logged

France, Nice
Offline Offline
Full Member
***
Karma: 3
Posts: 194
www.Zartronic.fr
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonsoir pini,
a) les chips sont compatible : Atmega8, 48,88,168,328
b) tu as bien un problème de reset,
Le reset automatique est transmis par CTS ou RTS un changement déclenche le reset de la carte Arduino, hélas sur le montage à port série V2, je ne vois pas de branchement de cette patte.
Donc ça ne devais pas exister à l'époque.
c) Il faut continuer de faire comme tu l'as indiquer : presser reset juste avant le téléchargement.

Si tu es bricoleur en électro, tu peux peut être faire un soft reset en branchant une capa sur la pin dtr ou cts du port série, regarde le schéma des duemillanoves et UNO.

A+ Teiva

www.Zartronic.fr : Votre source Arduino en France
Logged


www.Zartronic.fr : Arduino & Robotique

0
Offline Offline
Newbie
*
Karma: 0
Posts: 18
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Merci Teiva pour ces infos très précises.

Quote
Si tu es bricoleur en électro, tu peux peut être faire un soft reset en branchant une capa sur la pin dtr ou cts du port série, regarde le schéma des duemillanoves et UNO.
Je ne suis pas particulièrement fort en électronique, mais c'est tentant... Sur le schéma de la carte UNO, il s'agirait du condo C5 (100nF), à placer entre la pin 4 de la prise série (DTR) et la pin 1 du ATMEGA328 (reset), si j'ai tout compris.
Mais quel est ce composant RESET-EN représenté à côté de C5 ? Eagle me dit que c'est un Jumper, mais je ne vois pas bien quel pourrait être son rôle à cet endroit :-/
Logged

France, Nice
Offline Offline
Full Member
***
Karma: 3
Posts: 194
www.Zartronic.fr
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Mais quel est ce composant RESET-EN représenté à côté de C5 ? Eagle me dit que c'est un Jumper, mais je ne vois pas bien quel pourrait être son rôle à cet endroit
Si justement si on coupe le jumper on met la carte en Reset manuel, c'est utile avec certains logiciels qui pilote DTR ou CTS et on veut pas que la carte fasse un reset 'inopiné  smiley-grin

Tu as bien vu la modif, attention elle est prévu avec du serial TTL (5V), faire attention avec le vrai RS232 (normalement +12/-12V)

A+ Teiva

www.Zartronic.fr : Votre source Arduino en France
Logged


www.Zartronic.fr : Arduino & Robotique

0
Offline Offline
Newbie
*
Karma: 0
Posts: 18
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Tu as bien vu la modif, attention elle est prévu avec du serial TTL (5V), faire attention avec le vrai RS232 (normalement +12/-12V)
Ah... Le multimètre m'affiche 6V entre les pin 4 et 5 du port série. On va dire que c'est bon smiley
Et je vois bien la baisse de tension sur DTR avant le flash par l'IDE, à peu près au même timing que mon reset manuel. Encourageant...

Merci encore.
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 18
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Un petit follow up pour annoncer fièrement que mon ajout de soft reset sur le Serial board fonctionne \o/

J'ai finalement implémenté ça avec un transistor BC557 (PNP), une diode 1N4148 et une résistance de 10kohms :
  • La patte DTR de ma prise série est cablée sur la base du transistor via la résistance de 10kohm en série.
  • L'émetteur du transistor est branché sur la patte reset du ATMEGA328.
  • Le collecteur est à la masse.
  • la diode est placée entre la masse et la base (pas sûr que ce soit nécessaire)
Et je peux maintenant goûter au confort de flasher ma carte sans toucher au bouton reset smiley-grin
Logged

Pages: [1]   Go Up
Jump to: