Go Down

Topic: Grs problème avec les ATTINY85 et les fuses (Read 2047 times) previous topic - next topic

Kouaaks

Salut,

j'ai reçu des attiny85-pu tout neuf et j'ai voulu les tester.
Pour faire simple, j'ai commencé par ne rien changer et envoyer simplement un programme qui allume une LED et qui l'éteint via l'arduino.
Ça marchait très bien jusque là.

Puis, j'ai voulu changé la fréquence d'horloge pour la mettre en 16mHz tout comme arduino : j'ai suivis ce tutoriel : http://eletronicacuriosa.blogspot.fr/ ( en espagnol )

bref, via avrdude j'ai entré la commande :

Puis, quand je l'ai éxécuté, il m'a demandé au bout d'un moment trois questions avec [y/n] que j'ai répondu par y et il me mettait "COULD NOT BE CHANGED" quelque chose comme ça, je ne me souvient pas du message.
J'en ai déduit que la fréquence n'a pas été changé. Tant pis, je vais essayer de réenvoyer un programme qui allume une LED

Problème !

Code: [Select]
Binary sketch size: 756 bytes (of a 8192 byte maximum)
avrdude: please define PAGEL and BS2 signals in the configuration file for part ATtiny85
avrdude: Yikes!  Invalid device signature.
         Double check connections and try again, or use -F to override
         this check.



Que ce passe t-il ? Ça n'envoie plus rien...
Mon premier attiny ne fonctionne plus donc car je n'arrive pas à envoyer de programme. Du coup, j'en prend un deuxième
Je retourne sur internet et je trouve une autre commande pour les fuses :
Code: [Select]
avrdude -p attiny85 -P com18 -c arduino -b 19200 -B 250 -u -U lfuse:w:0xfd:m -U hfuse:w:0xdf:m

et j'essaie encore : Résultat : Cette fois la commande s'est bien éxécuté MAIS, pareil, je ne peu plus envoyer de programme ! Même message d'erreur, que ce passe t-il ? Ai-je fais une mauvaise manip ?
Savez vous si je peux récupéré mes attiny ? J'en ai perdu 3 en faisant cette manipulation ... je voulais simplement changer la fréquence d'horloge à 16 mHz.

Merci de votre aide.  :~

barbudor

As tu installé arduino-tiny ?
Le fichier boards définit tout ce qu'il faut pour configurer correctement des Tiny à 1MHz, 8MHz et 16MHz.
Ca se fait depuis l'IDE Arduino avec la fonction "burn bootloader"
J'ai essayé et ca marche très bien.
Tu as quoi comme programmateur ? J'ai un USBasp chinois.
Barbuduino: Arduino sur Breadboard & VinciDuino: Clone Leonardo // WR703: Mini-routeur hacké // LauchPad MSP430 et Stellaris // Panda II Arduino-like .NetMF sous VisualC#
RTFC: Read That F.....g Code / RTFD: Read That F.....g Doc / RTFDS: Read That F.....g DataSheet / RTFS: Read That F.....g Schematic / Wot da ya wanna D.I.Y. today ?

Kouaaks

Salut,

eh bien non je n'ai pas essayé avec cette librairie. Comme programmateur j'utilise la carte arduino directement avec le "ArduinoISP"

pour l'instant ce que je souhaiterai c'est récupérer mes pauvres attiny  :smiley-sad-blue:

Auriez vous une astuce ? Je ne pense pas qu'ils soient "casser" mais pour l'instant ils ne sont pas utilisables.

barbudor

Ok avec Arduino ISP c'est tout bon.

Mais il faut que tu installes arduino-tiny. C'est plus qu'une lib car l'environnement de base Arduino core pour ATmega ne supporte pas les tiny (ou plutot les tiny ne supportent pas les fonctions avancées des ATmega (comme la liaison série hardware par example).

Une fois que tu aura installé cette lib, choisira comme "carte" le bon ATtiny.
La première fois tu fait un "burn bootloader" pour flasher les fusibles concernés.
Après tu fait "Upload sketch with programmer" pour mettre ton code dans la puce

NE PAS CHERCHER A CHANGER LES FUSIBLES POUR RECUPERER LA BROCHE 1 (RESET)
Si cette broche perd sa fonction reset, on ne peut plus programmer le chip par ICSP (j'ai donné).
Pour récupérer mon chip mal programmé (mauvais fusibles) j'ai bricolé ceci : http://mightyohm.com/blog/products/hv-rescue-shield-2-x/
Sur un shield de prototypage (en simplifiant pour garde que ce qu'il fallait pour mes ATtiny85)
Ca a bien marché.
Voir ici : http://arduino.cc/forum/index.php/topic,134173.msg1009358
Barbuduino: Arduino sur Breadboard & VinciDuino: Clone Leonardo // WR703: Mini-routeur hacké // LauchPad MSP430 et Stellaris // Panda II Arduino-like .NetMF sous VisualC#
RTFC: Read That F.....g Code / RTFD: Read That F.....g Doc / RTFDS: Read That F.....g DataSheet / RTFS: Read That F.....g Schematic / Wot da ya wanna D.I.Y. today ?

Kouaaks

D'accord, je prends note, merci du conseil !
Bien, je vais déjà voir du côté de cette fameuse librairie puis je verrais pour essayer de récupérer mes attiny.
Merci ! Je vous tiens au courant

Kouaaks

Salut,

j'ai donc installé la librairie arduino tiny core, et sélectionné le bon attiny avec fuse de 16mHz en horloge interne.
Résultat : même erreur.
Je vais donc essayer de voir le kit de réparation, sauf si vous avez encore d'autres solution plus simple à me proposer?

skywodd

Bonjour,

Code: [Select]
avrdude: please define PAGEL and BS2 signals in the configuration file for part ATtiny85
Problème de configuration dans avrdude.conf, à ignorer c'est rien de grave (ça devrait marcher même avec ce warning).

Code: [Select]
avrdude: Yikes!  Invalid device signature.
         Double check connections and try again, or use -F to override
         this check.

Au choix (par ordre de probabilité) :
- mauvais câblage du connecteur ICSP
- ATtiny en mode "external clock" sans quartz (ou autre) de câbler sur l'entrée d'horloge
- ATtiny cramé
Des news, des tutos et plein de bonnes choses sur http://skyduino.wordpress.com !

68tjs

Comme avrdude te le dis tu peux ajouter l'option -F, la signature sera vérifiée et affichée mais le programme ne se bloquera pas.

Question sait-tu si par hasard la signature ne correspondrait pas à des ATMega85 "tout court" et non pas à des ATMega85pu ?

Cela m'est arrivé avec des 328 commandé sur Ebay ce n'était pas des 328p mais bien des 328.

skywodd


Comme avrdude te le dis tu peux ajouter l'option -F, la signature sera vérifiée et affichée mais le programme ne se bloquera pas.

Ne jamais forcer l'upload avec -F, si il y a une erreur lors de la lecture de la signature c'est que quelque chose ne va pas.
(si le programme n'arrive pas à lire 2 octets autant arrêter tout de suite et regarder ou ça merde)
Des news, des tutos et plein de bonnes choses sur http://skyduino.wordpress.com !

Kouaaks

skywodd -> J'ai bien cablé mon microcontrolleur, je pense donc à la deuxième solution : "- ATtiny en mode "external clock" sans quartz (ou autre) de câbler sur l'entrée d'horloge"
J'ai donc branché un quartz avec deux condensateurs de 12 pF et là, j'obtiens une autre erreur :

Code: [Select]
Binary sketch size: 746 bytes (of a 8192 byte maximum)
avrdude: please define PAGEL and BS2 signals in the configuration file for part ATtiny85
avrdude: please define PAGEL and BS2 signals in the configuration file for part ATtiny85

avrdude: stk500_paged_write(): (a) protocol error, expect=0x14, resp=0x64
avrdude: stk500_cmd(): programmer is out of sync


Je vais essayer de faire des recherches sur cette erreur ... !

68tjs -> Hmm non je ne pense pas avoir fait cette erreur, sur le tutoriel que j'ai lu il était bien précisé "pu"

skywodd

Code: [Select]
-c arduino
Tient les ATtiny ont un bootloader optiboot maintenant ;)

Code: [Select]
-c usbasp
Des news, des tutos et plein de bonnes choses sur http://skyduino.wordpress.com !

Kouaaks

Un bootloader optiboot ? A quoi peut servir cette commande?

skywodd


Un bootloader optiboot ? A quoi peut servir cette commande?

C'était de l'ironie ...
Pour te faire remarquer le fait que justement les ATtiny n'avait pas de bootloader et que par conséquent utiliser "-c arduino" ne pouvait forcément pas fonctionner :smiley-roll-sweat:
Des news, des tutos et plein de bonnes choses sur http://skyduino.wordpress.com !

barbudor

On est bien d'accord que tu es en train de faire un "burn bootloader" a partir d'une UNO en mode ArduinoISP et que donc tu as désactivé l'autoreset
Barbuduino: Arduino sur Breadboard & VinciDuino: Clone Leonardo // WR703: Mini-routeur hacké // LauchPad MSP430 et Stellaris // Panda II Arduino-like .NetMF sous VisualC#
RTFC: Read That F.....g Code / RTFD: Read That F.....g Doc / RTFDS: Read That F.....g DataSheet / RTFS: Read That F.....g Schematic / Wot da ya wanna D.I.Y. today ?

skywodd


On est bien d'accord que tu es en train de faire un "burn bootloader" a partir d'une UNO en mode ArduinoISP et que donc tu as désactivé l'autoreset

Il n'y a pas de bootloader sur un ATtiny ...
Pour programmer un sketch avec arduino-tiny il faut utiliser "upload using a programmer".
"burn bootloader" sur un ATtiny ne fait qu'envoyer un .hex vide ...
Des news, des tutos et plein de bonnes choses sur http://skyduino.wordpress.com !

Go Up