Go Down

Topic: Téléversement Arduino Pro Mini (Read 361 times) previous topic - next topic

gaelcom

Oct 10, 2018, 10:16 pm Last Edit: Oct 10, 2018, 10:21 pm by gaelcom
Bonjour à tous,
Je me lance après moult recherches sur ce site (et bien d'autres, en anglais également) et après 4 jours d'errance, je me décide enfin à poser cette maudite question qui semble revenir sans cesse: j'ai une arduino Pro Mini 3,3V 8Mhz produit chinois que je ne parviens pas à utiliser. Impossible de téléverser le blink standard.
Je dispose d'un adaptateur USB CP2102 que j'ai connecté comme suit (à gauche la carte Pro Min et à droite le FTDI):
VCC ---> 3.3V
GND ---> GND
RXD ---> TXD
TXD ---> RXD

Ensuite j'ai choisi le bon port COM (le COM3 sur mon ordi), puis la bonne carte avec le bon voltage (Pro Mini 3,3V 8Mhz). Je lance le téléversement et j'appui dès que le mot "téléversement" apparaît sur la touche Reset de l'arduino. J'ai également essayé de rester appuyé sur le Reset et de relacher à l'apparition du mot "téléversement" en bas à gauche de l'IDE.

Code: [Select]

Le message d'erreur est le suivant:
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x10
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x10
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x10
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x10
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x10
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x10
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x10
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x10
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x10
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x10
Problème de téléversement vers la carte. Voir http://www.arduino.cc/en/Guide/Troubleshooting#upload pour suggestions.


J'ai également essayé avec une Pro Mini 5v 16Mhz, sans succès.
J'ai aussi essayé grâce à une carte arduino Uno de reprogrammer le bootloader la Pro Mini sans succès.

Indication complémentaire: lorsque je connecte le FTDI en USB sur l'ordinateur, la led rouge d'alimentation de la carte Pro Mini clignote et la Led de la Pin13 reste en rouge fixe.

Je ne sais plus quoi tenter. Avez-vous une idée? Et merci par avance du temps que vous prendrez pour me répondre.


lesept

#1
Oct 11, 2018, 07:53 am Last Edit: Oct 11, 2018, 09:30 am by lesept
Ça peut venir d'un câble de mauvaise qualité. Cherche sur le forum, cette question est fréquemment posée
Voir ici par exemple
A force d'essayer on finit par réussir... Donc, plus ça rate, plus on a de chances que ça marche (proverbe Sharduinok).

hbachetti

Quote
VCC ---> 3.3V
GND ---> GND
RXD ---> TXD
TXD ---> RXD
Afin d'éviter d'appuyer sur RESET à la fin de la compilation, il est possible de câbler aussi le RTS ou le DTR du FTDI sur la pin GRN ou DTR de l'ARDUINO.

J'espère que le bon type de carte est choisi :
dans le menu "Outils/Type de Carte" choisir "Arduino Pro or Pro Mini". Dans le menu "Outils/Processeur" choisir "ATmega328 (3.3V, 8MHz)".

http://riton-duino.blogspot.com/2018/02/arduino-pro-mini-basse-consommation.html

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

bilbo83

Bonjour,

Ne serait-ce pas un problème de 'bootloader' nouveau/ancien, comme pour les 'nano'?

hbachetti

Non, il n'y a pas ce genre de problème avec les MINI.

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

bricoleau

Bonjour

Ce qui DOIT marcher et qui est le moins semé d'embûches, c'est la programmation d'une arduino pro mini 5V en ICSP via une arduino uno.

Parce que là tu programmes directement l'atmega de la pro mini.

1) brancher une carte UNO seule sur le PC
y téléverser le programme arduinoISP, disponible dans les exemples listés dans l'IDE

A partir de là, la carte UNO contient le programme qui permet de faire passerelle entre le PC et une carte fille.

2) Cabler comme dans l'image ci-dessous
Cablage comme ceci

A noter que le programme chargé sur la UNO gère aussi trois leds d'état (rouge jaune vert) qui donnent des indications sur le processus en cours. Leur cablage est facultatif (non représenté sur l'image ci-dessus).

Perso cela fait belle lurette que je me suis fabriqué un shield pour UNO avec ces leds et la connectique qui va bien pour relier facilement tout type de carte que je manipule régulièrement (pro mini, nano, attiny, uno, mega etc.)

3) dans l'IDE
sélectionner le programmateur "Arduino as ISP" (attention : pas arduinoISP y a un piège)
sélectionner la carte cible pro mini 5V 16Mhz

Puis "graver la séquence d'initialisation"

Normalement cela doit marcher.

Tu peux aussi téléverser ton programme dans la pro mini avec le même cablage. Il faut juste cliquer sur "téléverser via un programmateur" au lieu de "Téléverser".

Tutoriels arduino : http://forum.arduino.cc/index.php?topic=398112.0

bricoleau

Pour une pro mini 3V3 j'imagine qu'il y a de petits ponts convertisseurs de tension à ajouter entre les sorties de la UNO et les entrées de la pro mini.
Tutoriels arduino : http://forum.arduino.cc/index.php?topic=398112.0

gaelcom

Afin d'éviter d'appuyer sur RESET à la fin de la compilation, il est possible de câbler aussi le RTS ou le DTR du FTDI sur la pin GRN ou DTR de l'ARDUINO.


Je n'ai pas de RTS ou de DTR sur mon FTDI, c'est une carte CP2032 et non une FT232RL

gaelcom

#8
Oct 11, 2018, 08:23 pm Last Edit: Oct 11, 2018, 08:37 pm by gaelcom
Quote
Bonjour

Ce qui DOIT marcher et qui est le moins semé d'embûches, c'est la programmation d'une arduino pro mini 5V en ICSP via une arduino uno.

Parce que là tu programmes directement l'atmega de la pro mini.

1) brancher une carte UNO seule sur le PC
y téléverser le programme arduinoISP, disponible dans les exemples listés dans l'IDE

A partir de là, la carte UNO contient le programme qui permet de faire passerelle entre le PC et une carte fille.

2) Cabler comme dans l'image ci-dessous
Cablage comme ceci

A noter que le programme chargé sur la UNO gère aussi trois leds d'état (rouge jaune vert) qui donnent des indications sur le processus en cours. Leur cablage est facultatif (non représenté sur l'image ci-dessus).

Perso cela fait belle lurette que je me suis fabriqué un shield pour UNO avec ces leds et la connectique qui va bien pour relier facilement tout type de carte que je manipule régulièrement (pro mini, nano, attiny, uno, mega etc.)

3) dans l'IDE
sélectionner le programmateur "Arduino as ISP" (attention : pas arduinoISP y a un piège)
sélectionner la carte cible pro mini 5V 16Mhz

Puis "graver la séquence d'initialisation"

Normalement cela doit marcher.

Tu peux aussi téléverser ton programme dans la pro mini avec le même cablage. Il faut juste cliquer sur "téléverser via un programmateur" au lieu de "Téléverser".

Merci de ton commentaire mais j'ai déjà essayé sans succès en suivant ce principe. J'ai même essayé sur une deuxième carte arduino Pro Mini 5v.
Voilà l'erreur qui s'affiche lorsque je "grave la séquence d'initialisation":
Code: [Select]

avrdude: Expected signature for ATmega328P is 1E 95 0F
Double check chip, or use -F to override this check.
Erreur lors de la gravure de la séquence d'initialisation.



hbachetti

C'est comme si ta UNO ou ta MINI était équipée d'un ATMEGA328 et non pas d'un ATMEGA328P.
Tu peux vérifier ?

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

gaelcom

C'est comme si ta UNO ou ta MINI était équipée d'un ATMEGA328 et non pas d'un ATMEGA328P.
Tu peux vérifier ?

@+

Exact, il y a anguille sous roche: après avoir recours à une loupe, je discerne l'inscription sur la puce Atmega168PA
AU 1730

Je viens de vérifier sur Aliexpress, j'ai bien commandé une Pro mini Atmega168P. Quel étourdi!
Merci de ton retour, je vais essayé en changeant les paramètres du type de carte et te dis si cela fonctionne...

gaelcom

#11
Oct 11, 2018, 10:11 pm Last Edit: Oct 11, 2018, 10:13 pm by gaelcom
J'ai donc essayé en choisissant la carte Pro Mini, 3,3V, 8Mhz. Lors du téléchargement j'appuie sur la touche Reset et j'ai le message suivant:

Code: [Select]
avrdude: Expected signature for ATmega168 is 1E 94 06
         Double check chip, or use -F to override this check.
Mauvais microcontrôleur trouvé. Avez-vous sélectionné la bonne carte dans le menu Outils > Type de carte ?

J'ai essayé tous les types de carte et j'ai lancé le téchargement dès que je pouvais choisir le Atmega168. J'ai même essayé les voltages 5v, 16Mhz: sans succès. >:(

Ci dessous l'intitulé exact de la carte que j'ai acheté sur Aliexpress:
Thinary Pro Mini 168 Mini 3.3 v/8 m ATMEGA168 ATMEGA168P-AU 3.3 v/8 mhz pour Arduino

Je vais essayer de bootloader la carte avec une Uno...

gaelcom

La gravure de la séquence d'initialisation ne fonctionne pas non plus bien qu'ayant choisi l'Atmega168
J'ai le message suivant:
Code: [Select]

avrdude: Expected signature for ATmega168 is 1E 94 06
         Double check chip, or use -F to override this check.
Erreur lors de la gravure de la séquence d'initialisation.


Une idée? :smiley-confuse:

hbachetti

Je viens de vérifier dans avrdude.conf, l'ATMEGA168 a bien une signature 1E 94 06.
Il semblerait que ce soit plutôt 1e940b pour un Atmega168PA.

Il faudrait chercher sur le net comment graver le bootloader pour un processeur Atmega168PA.
Avec avrdude en ligne de commande mais il y a probablement d'autres moyens.

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

gaelcom

Je viens de vérifier dans avrdude.conf, l'ATMEGA168 a bien une signature 1E 94 06.
Il semblerait que ce soit plutôt 1e940b pour un Atmega168PA.

Il faudrait chercher sur le net comment graver le bootloader pour un processeur Atmega168PA.
Avec avrdude en ligne de commande mais il y a probablement d'autres moyens.

@+

La tâche est ardue, je n'ai pas trouvé de site explicitant, pour le novice que je suis, le modus opérandi.
Je viens de commander l'Atmega328P, ce sera plus simple je pense.
En tout cas merci à tous pour votre aide.

Go Up