Re-Upload nécessaire après quelques semaines

Bonjour à tous,

Je viens d'avoir un problème que je n'explique pas vraiment. J'ai un petit montage basé sur un arduino pro qui est installé dans ma cage d'escalier depuis maintenant plusieurs semaines. J'utilise un détecteur PIR qui, grâce à l'arduino fait varier doucement une rampe de leds vers un certain niveau lumineux, reste allumé tant qu'il y a du mouvement et s'éteint lentement après quelques secondes.

Le tout fonctionnait sans aucun soucis depuis plus d'un mois et là ... plus rien ... j'ai debranché et rebranché le transfo quelques fois, toujours rien, l'arduino était bien sous tension (led allumée), mais pas de réaction sur ma rampe de led qui est sensée faire un fade au démarrage ...
J'ai vérifié les connexions, pas de problème ... j'ai ensuite rebranché l'arduino seul sur mon pc pour vérifier qu'il fonctionnait toujours, j'ai re-uploadé mon programme et tout semblait fonctionner ... j'ai tout remonté et c'était reparti ...

Est-il possible que le software se retrouve corrompu à un moment donné ?

J'avoue être assez perplexe vis-à-vis de ce problème ... je comptais à terme rendre le montage bien moins inaccessible, mais là, du coup :-?

Merci d'avance,

-Gil-

Oui tu peux avoir un problème de corruption de flash si le BOD (BrownOutDetect) est mal réglé. Par défaut je pense que les chip sont programmés pour 1.8V alors qu'il devrait être de 4.3V, c'est un problème que j'avais détecté il y a plus d'un an...

Le BOD sert à redémarrer le chip si le voltage passe en dessous d'un certain niveau, et ne le fera pas redémarrer tant que le voltage sera en dessous. Le problème avec le setting de 1.8V c'est qu'il est bien trop bas. À partir de 4V et moins le programme fait n'importe quoi et les instructions ne sont plus correctement décodées et en général ça corrompt ton flash.

Tu dois changer le High Fuse si tu as un 168 (le mettre à 0xDC), ou le Extended Fuse si tu as un 328 (le mettre à 0x04), tout est dans la doc PDF. Si tu utilise le watchdog ou autres et que tu as un 168, regarde la doc pour être certain de la valeur du fuse.

Merci pour ta réponse ... Il est plus que probable que ce soit ce qui m'arrive. Hier soir, j'ai remis le système en place, il a bien fonctionné quelque temps et en allant me coucher j'ai eu droit à du 'Disco Inferno' ... ma rampe de led flashait par intermittence ... ;D

Pourrais-tu me préciser à quel PDF tu fais référence dans ton post? J'ai bien trouvé dans le fichier hardware/boards.txt des références vers les valeurs de low fuse, high fuse et extended fuse ... il suffit que je les change là et que je reflashe mon programme ?

J'utilise pour le moment un arduino pro mini 5v (Atmega 328) ... J'utilise comme board type "Arduino Pro or Pro Mini (3.3V, 8 MHz) w/ ATmega328" mais c'est peut-être là qu'est mon erreur aussi ... Vu qu'il n'y a pas de preset arduino pro 5v ...

D'un point de vue plus hardware, j'ai un transfo 9v et j'ai mis un régulateur externe à l'arduino pour obtenir du 5V, j'avoue ne pas trop comprendre comment il peut passer à un voltage si bas ... mais bon, je ne suis qu'un débutant en électronique aussi, il reste encore beaucoup de choses qui m'échappe :stuck_out_tongue: ...

-Gil-

Pourquoi un régulateur externe pour obtenir du 5 V ?

Il me semble que l'on peut brancher du 9 v directement sur l'arduino Pro Mini sur le pin RAW.

Oui, effectivement, ça marche sans le régulateur externe ... mais comme le circuit est en tension 24h/24 et que je trouvais que le régulateur intégré était un peu chaud, j'ai préféré en mettre un externe plus gros qui dissipait bien mieux la chaleur. Je ne suis pas convaincu de la nécessité, mais bon ... ça me rassurait :wink:

Et tu as branché la sortie 5v de ton régulateur externe sur le pin RAW ?

Oui, tout à fait ... mais si tu poses la question .... c'est que je sens qu'il y a anguille sous roche ...

Non, pas sur je ne suis pas expert, mais en lisant ceci sur le site Arduino :

The Arduino Pro Mini can be powered with an FTDI cable or breakout board connected to its six pin header, or with a regulated 3.3V or 5V supply (depending on the model) on the Vcc pin or an unregulated supply on the RAW pin.

The power pins are as follows:

  • RAW. For supplying a raw (unregulated) voltage to the board.

  • VCC. The regulated 3.3 or 5 volt supply.

  • GND. Ground pins.

Je me demandais s'il ne fallait pas plutot brancher la sortie de ton régulateur externe +5v sur le pin VCC ?

Quelqu'un sait-il ?

Pour info, je suis en attente de livraison de 2 cartes arduino pro mini et je compte les alimenter à partir d'une alimentation non stabilisée 9v en les connectant sur le pin RAW.

J'aurai aussi connecté le 5V régulé au VCC.
En passant par l'entrée RAW qui elle aussi un régulateur en aval fait qu'il ne doit pas y avoir 5V pour l'alimentation de la carte (?).