Go Down

Topic: ARDUINO : problèmes de téléversement  (Read 7556 times) previous topic - next topic

Alain50120

Je cherche à construire un robot pendulaire (voir le site http://www.brokking.net/yabr_main.html). J'ai donc reproduit le circuit proposé sur ce site. Mes composants sont montés sur des connecteurs soudés à la plaque à pastilles.

J'utilise une carte Arduino Pro Mini (aux yeux bridés...)

Et bien sur, j'ai un problème, en fait deux problèmes :
1: SI je tente le téléversement du sketch, alors que les composants sont insérés dans leurs connecteurs, l'opération n'aboutit pas.
2: Si je réalise le téléversement dans la Pro Mini seule, et hors du montage, le téléversement aboutit (chouette !),

Mais lorsque tous les composants sont remis à leur place, IL NE SE PASSE RIEN ! L'ouverture du terminal série ne provoque pas de démarrage du programme...

Auriez-vous une piste de recherche ?

Merci d'avance

Amicalement

Alain

hbachetti

#46
Jun 21, 2019, 03:58 pm Last Edit: Jun 21, 2019, 03:58 pm by hbachetti
Ce que je lis :

Quote
The resistor R1 on the schematic is needed for uploading a program to the Arduino. The TXD output of the transceiver is forced high or low. As a result the FTDI programmer cannot change this output anymore and you will get an upload error. By adding this resistor the FTDI programmer can change the voltage on the RX-pin of the Arduino despite the state the transceiver output and the program is uploaded without any problems.
Cette résistance est-elle en place ?
Personnellement j'aurais plutôt utilisé un SoftwareSerial pour la communication avec le module 2.4GHz, pour laisser le port série hardware libre pour le téléversement et le moniteur série.

Quote
L'ouverture du terminal série ne provoque pas de démarrage du programme...
Pour obtenir un reset de la carte il faut que le DTR ou le RTS du convertisseur série soit branché sur le DTR (ou GRN) de la MINI.

Plus d'infos ici : arduino-pro-mini-basse-consommation :  5. Chargement

Le pont diviseur 2.2K + 3.3K de mesure tension batterie est un peu gourmand en énergie. Tu peux facilement multiplier les valeurs par 10 ou même 100.
Avec une batterie chargée à bloc (4.2V x 3 donc 12.6V) on obtient :
12,6×2200÷(2200+3300) = 5,04V
La valeur est un peu trop élevée. L'ADC sera saturé, sauf coup de chance, avec des résistances à 5%.
En général on utilise des résistances film métallique 1% dans ce genre de pont diviseur.
La mesure d'une tension batterie doit être précise. 5% c'est n'importe quoi.

Je te conseillerais plutôt un pont diviseur 220K + 360K :
12,6×220000÷(220000+360000) = 4,78V
Il faut modifier légèrement le logiciel (voir les commentaires dans Balancing_robot.ino).

Linux is like a wigwam: no Windows, no Gates, and an Apache inside ...

chamallick

Bonjour à tous,
j'ai acheté une carte MKR WIFI 1010 et je ne parviens pas à la configurer. Au moment de la configurer on me dit que la liaison USB n'est pas établie. J'ai vérifié avec plusieurs câbles et plusieurs cartes mais rien n'y fait. Quelqu'un a-t-il déjà rencontré ce problème?
D'avance merci.

nbenm

#48
Aug 23, 2019, 10:10 am Last Edit: Aug 23, 2019, 02:10 pm by nbenm
Salut,

J'ai un problème de téléversement de sketch sur un Arduino Pro mini.
En fait, j'ai deux modules. Un qui fonctionne parfaitement, l'autre pas.
Ce sont des modèles originaux d'Adafruit.
Sur celui qui ne fonctionne pas bien, j'arrive à uploader mes programmes avoir avoir réinstallé le bootloader.
Mais je ne peux faire ça qu'une fois  :smiley-eek-blue:
Dès que je veux installer de nouveau un programme, il faut passer par la case installation du bootloader.

Sur l'autre module, tout fonctionne parfaitement.

Arduino Pro Mini 3,3V/8MHz
Programmation avec un module ftdi 6 broches (dont dtr). Les 6 broches sont reliées de manière croisée à l'Arduino.

J'utilise l'option "Graver la séquence d'initialisation" de l'IDE, qui génère les 2 commandes suivantes:

/Applications/Arduino.app/Contents/Java/hardware/tools/avr/bin/avrdude -C/Applications/Arduino.app/Contents/Java/hardware/tools/avr/etc/avrdude.conf -v -patmega328p -cusbasp -Pusb -e -Ulock:w:0x3F:m -Uefuse:w:0xFD:m -Uhfuse:w:0xDA:m -Ulfuse:w:0xFF:m

/Applications/Arduino.app/Contents/Java/hardware/tools/avr/bin/avrdude -C/Applications/Arduino.app/Contents/Java/hardware/tools/avr/etc/avrdude.conf -v -patmega328p -cusbasp -Pusb -Uflash:w:/Applications/Arduino.app/Contents/Java/hardware/arduino/avr/bootloaders/atmega/ATmegaBOOT_168_atmega328_pro_8MHz.hex:i -Ulock:w:0x0F:m

Quelqu'un a-t-il une explication ?

Merci d'avance


nbenm

2: Si je réalise le téléversement dans la Pro Mini seule, et hors du montage, le téléversement aboutit (chouette !),

Mais lorsque tous les composants sont remis à leur place, IL NE SE PASSE RIEN ! L'ouverture du terminal série ne provoque pas de démarrage du programme...

Salut,

Peux-tu essayer en laissant les composants en place, mais surtout en ne connectant rien aux lignes TX et RX.

nbenm

#50
Aug 24, 2019, 01:14 pm Last Edit: Aug 24, 2019, 01:18 pm by nbenm Reason: Problème résolu
Salut,

J'ai un problème de téléversement de sketch sur un Arduino Pro mini.
En fait, j'ai deux modules. Un qui fonctionne parfaitement, l'autre pas.
Ce sont des modèles originaux d'Adafruit.
Sur celui qui ne fonctionne pas bien, j'arrive à uploader mes programmes avoir avoir réinstallé le bootloader.
Mais je ne peux faire ça qu'une fois  :smiley-eek-blue:
Dès que je veux installer de nouveau un programme, il faut passer par la case installation du bootloader.

Sur l'autre module, tout fonctionne parfaitement.

Arduino Pro Mini 3,3V/8MHz
Programmation avec un module ftdi 6 broches (dont dtr). Les 6 broches sont reliées de manière croisée à l'Arduino.

J'utilise l'option "Graver la séquence d'initialisation" de l'IDE, qui génère les 2 commandes suivantes:

/Applications/Arduino.app/Contents/Java/hardware/tools/avr/bin/avrdude -C/Applications/Arduino.app/Contents/Java/hardware/tools/avr/etc/avrdude.conf -v -patmega328p -cusbasp -Pusb -e -Ulock:w:0x3F:m -Uefuse:w:0xFD:m -Uhfuse:w:0xDA:m -Ulfuse:w:0xFF:m

/Applications/Arduino.app/Contents/Java/hardware/tools/avr/bin/avrdude -C/Applications/Arduino.app/Contents/Java/hardware/tools/avr/etc/avrdude.conf -v -patmega328p -cusbasp -Pusb -Uflash:w:/Applications/Arduino.app/Contents/Java/hardware/arduino/avr/bootloaders/atmega/ATmegaBOOT_168_atmega328_pro_8MHz.hex:i -Ulock:w:0x0F:m

Quelqu'un a-t-il une explication ?

Merci d'avance


Salut,

Le problème est résolu. C'était un problème hardware.
Le condensateur C2 situé entre la ligne DTR et le bouton reset était "kaput".
Je l'ai remplacé est tout fonctionne bien maintenant.
Pour ceux qui voudraient savoir comment j'ai identifié la panne, j'ai connecté un oscillo sur DTR et RESET.
Quand DTR passait à 0V, au moment de l'upload, il n'y avait aucune impulsion sur la broche RESET.
Sur l'Arduino qui fonctionnait bien, je voyais cette impulsion.

hbachetti

Quote
Le condensateur C2 situé entre la ligne DTR et le bouton reset était "kaput".
Vraiment pas de bol.

Mais je ne vois pas trop comment cela pouvait marcher en chargeant le bootloader à chaque fois.
Linux is like a wigwam: no Windows, no Gates, and an Apache inside ...

nbenm

Mais je ne vois pas trop comment cela pouvait marcher en chargeant le bootloader à chaque fois.

Salut,

Je ne sais pas.
Les explications que j'ai pu avoir ici ou là, ne m'ont pas convaincu. Par exemple section appli vide.

Bref je ne sais pas pourquoi ça marchait une fois et une seule après réinstallation du bootloader.

Rui_Bapt

Bonjour, j'ai trouvé une solution il faut juste aller dans "Outils" -> "Processeur" et choisir le ATmega328p (Old Bootloader).

J'espère que ça aura pu vous aider :D

Go Up