Datalogger Moto problème écriture SD

Bonjour à tous,

Peut-être que certains se souviennent, j'a posté voilà un peu plus d'un mois sur un projet d'acquisition de données pour moto.
L'objectif était d'enregistrer sur une carte SD les données suivantes:

  • capteur effet hall roue avant (100Hz)
  • capteur effet hall roue arrière (100Hz)
  • codeur de direction(100Hz)
  • IMU (100Hz)
  • GPS (20Hz)

Le projet est très avancé mais j'ai quelques soucis pour l'enregistrement des données. Je cherche quelqu'un qui saura m'aider dans ce domaine.

Vous pouvez trouvé ci-joint mon code avec les capteurs simulés. Seul de quoi écrire sur une SD est requis.

Pour resumer le problème, je perds périodiquement des données à cause de l'écriture sur la SD qui ponctuellement monopolise le processeur environ 100-200ms toute les 15-20 s. Concrètement cela donne:

Pour info j'utilise la biblio SDfat et un carte SD 16 Gb SanDisk Extreme Plus.

Je serais très reconnaissant si quelqu'un pouvait m'aider.

Merci d'avance,
Pm

DataLogger.zip (158 KB)

Personne?

Bonne soirée,
Pm

Bonjour à tous,

On m'a conseillé de changer la taille de pré-allocation des fichiers (volume minimale d'un enregistrement sur la SD) en pensant que ces temps de latence étaient dus à une extension de ces volumes. Mais cela ne résout en rien mon problème au contraire c'est aggravant.

Je suis un peu à cours d'idée.....

J'essaye une solution alternative en envoyant les données sur un autre microcontrolleur avec un processeur plus rapide, une Raspberry en l'occurence, mais j'ai quelques difficultés sur le choix du moyen de communication:

  • écrire les données des capteurs sur le port série est trop lent pour l'Arduino
  • La raspberry ne semble pas être prevue pour être esclave en SPI ou I2C

Si quelqu'un a une suggestion je suis preneur.

Merci d'avance et bon dimanche,
Pm

Bonjour à tous,

Personne n'a une petite idée de la raison de ce blocage quant à l'écriture sur la SD?

Merci d'avance,
Pm