eCycling et MPU6050

miralant miralant 2 Messages
Bonjour,

Je travaille sur un projet perso lié à l'application d'eCycling ZWIFT.
Le projet se découpe en 2 blocs :
  • Une application C# .NET 6 qui tourne en parallèle du logiciel d'eCycling et récupère la fréquence cardiaque (d'une ceinture cardio portée par le cycliste en BT BLE) et la pente en % (affichée sur le logciel d'Ecycling) pour ensuite les envoyer en USB à un Arduino Nano.
  • L'arduino nano reçoit donc 2 types d'état en USB 
Une commande de zone de fréquence cardiaque qui lui fait commander un ventilateur via un dimmer (avec 5 zones (OFF, Z1, Z2, Z3, Z4))>> plus la fréquence cardiaque est haute et plus le ventilateur tourne vite. ça fonctionne nickel !
Une consigne de pente (-10% à +15%). Cette consigne de pente pilote un actionneur linéaire (+12v à -12v via un pont en H) qui est asservi via un MPU6050 pour mesurer la pente. Et c'est là que j'ai un soucis.
Ci-dessous une vidéo du bazard 
Vidéo 5
Vous pouvez constater que le MPU6050 est sous l'afficheur OLED qui est fixé au guidon du vélo).
Mon problème : J'ai trouvé du code pour récupérer la pente mais l'asservissement, n'est pas "bon" car la mesure est "instable". J'ai l'impression que la mesure n'est pas assez précise car d'un coup à l'autre, je ne reviens pas à la même position pour la même consigne...C'est très variable et ça marche, ça se dégrade, ça remarche...ça va et ça vient.

Les 2 sub qui font acquisition et asservissement :

Je mesure y, je le repasse sur +/- 180° (#Slope) et je compare à ma consigne après voir transformer ma pente en ° (Consignedeg).

J'ai essayé d'implémenter le code du site avec les mesure de pitch, ... mais j'avoue que je ne comprends pas comment l'utiliser dans mon projet.

Merci d'avance pour le coup de pouce.
lobodol lobodol 811 Messages BIG BOSS
Salut @miralant et bienvenue chez les makers !

Super projet !
Je ne suis pas sûr d'avoir compris l'histoire avec l'actionneur linéaire. Le but est d'incliner le cadre du vélo en fonction de la pente qu'on a dans le jeu, c'est ça ?

Dans ton cas, je ne pense pas que tu aies besoin d'une fréquence d'échantillonnage de malade, donc je t'invite à regarder du côté de la lib MPU : https://www.arduino.cc/reference/en/libraries/mpu6050/
miralant miralant 2 Messages
Merci pour l'accueil.
Oui, c'est exactement ça. L'actionneur linéaire est positionné à la place de la roue avant et par conséquent simule la pente en fonction de la pente dans le jeux. Regardes dans mon 1er post, j'ai mis un lien vers une vidéo.
Penses tu que cette lib va résoudre le problème de stabilité de la mesure ? Pourquoi ne l'a tu pas implémentée dans ton projet de drone ?
Merci
lobodol lobodol 811 Messages BIG BOSS
Oui je pense que ça va résoudre ton problème de stabilité.

Dans mon cas, j'avais besoin d'une fréquence d'échantillonnage de 250Hz, chose impossible avec la lib en question (limite à 50Hz).
Dans ton cas je ne pense pas que ce soit un problème.
Vous devez être connecté pour pouvoir répondre à ce sujet.
Utilisation des données

Afin d'améliorer ton expérience utilisateur, nous utilisons des cookies 🍪