Blocage d'un Arduino Mega

Bonsoir à tous,
Je rencontre un soucis avec un montage "mini EFIS" à base de Méga. J'ai installé ce montage dans mon ULM. Celui-ci fonctionne correctement sauf que l'Affichage se fige de temps en temps( environ une fois par heure), donc plus de données. Il suffit d'éteindre et de rallumer le montage et celui-ci repart!!
Avez-vous déjà rencontré ce type de dysfonctionnement et quelle pourrait en être la cause?
A+
André

peut etre probleme de stabilité d' alimentation, la carte se met en sécurité ou quelque chose du genre?

bonjour,

  • Comme l'a dit @CelticLord un probleme d'allimentation,
  • Usage de la fonction millis() ou tout autre fonction usant de long avec un int ou un short
  • Connectique de l'afficheur qui a des faux contact.

Les "figeage" sont ils tres regulier ? si oui je pencherais plus pour un problemme software.

Quel est l'affichage utilisé ?

Pour l'alimentation, c'est du 12V alimentant directement l'arduino.
l'afficheur est un 192x168 acheté sur le net.
Peut être que je devrais filtrer mon 12V un peu plus. Auriez-vous le schémas d'un filtre d"alimentation?

Attention avec le 12v! l' arduino fonctionne en 5V et si tu l 'alimente par le jack en 12V ca marche oui bien sur mais tu fais trop travailler le régulateur de tension interne et je ne suis pas surpris qu' elle pete les plombs dans ce cas

Pardon c'est la UNO en 5V, la mega c'est meme en 3.3V je crois?

Vous pensez que le blocage provient d'une alim trop forte de base ou bien d'une alim mal régulée (magneto du moteur de l'ulm) ?

Ca me semble tres judicieux de verifier ca.

Pourrais tu essayer de l alimenter avec une batterie 9V et voir ce qui se passe?

Mon montage dans sa configuration actuelle à tourné plusieurs jours chez moi alimenté en USB. j'écarte donc le script et un soucis de composant.
Sur la carte j'ai un circuit RTC + deux capteurs de pression.
je vais tenter l'alimentation par une pile de 9V et tester!
A+

en parallèle de tes recherches tu pourrais mettre un watchdog

#include <avr/wdt.h> // watchdog
....
setup(){
.....
wdt_enable(WDTO_8S); // watchdog fixé à 8s (maxi possible)
}
loop(){
wdt_reset(); // watchdog démarré on le raz a chaque passage sinon reboot ...
....
}

cela te permettrais de savoir si un reset soft suffit ou s'il faut vraiment couper la tension

la RTC a la réputation de parfois bloquer le bus I2C, une solution existe en utilisant la lib WSWire au lieu de Wire
voir un article ici

J' utilise aussi la librairie WSWire au lieu de Wire pour éviter les time outs et elle marche bien.

Pour l' alim 9V je pensais plutot à une batterie, pas une pile c'est clair que c'est trop faible en courant.

J'en suis à mon second montage le premier n'avait pas de RTC mais un capteur gyro et j'ai rencontré le même probléme
Donc je vais travailler l'alim avec un régulateur externe +filtrage
Question: Avez vous un circuit alimentation avec régulateur +filtrage à me conseiller?
A+
André