[Raspberry pi] Home Trainer Interactif (vélo)

Home Trainer Interactif (vélo) [Raspberry pi] - Conception, dépannage, mods - Electronique, domotique, DIY

Marsh Posté le 05-04-2018 à 12:32:07    

Jour'
 
Je souhaite faire ceci :
 
https://www.youtube.com/watch?v=ywdDLe8kLvc
 
Concrètement, y'a une mâchoire d'aimants qui va plus ou moins se serrer pour avoir plus ou moins de résistance lors du pédalage.
Les aimants vont bouger grâce à un moteur, relié à l'arduino. Pour déterminé la bonne distance, un capteur Hall fera normalement l'affaire, tel comme décrit sur la vidéo.
 
Ensuite, le raspberry pi sera relié par une clef Ant+ (sans fil) au PC, qui sera piloté par le logiciel utilisé pour le vélo (Zwift).  
 
Le but étant que les mâchoires se serrent quand il y a une pente et vis-versa.
 
Le gars de la vidéo à acheter ça :
 
Sparkfun nRF52832 Breakout board
Ubec 5V/6V regulator
LD1117V33C Regulator
Sparkfun BOB-12009 Level Shifter
Pololu MAX14870 Motor Controller
Pololu 3451 Gear motor
3503 Linear Hall sensor
7.4V LiPo Battery
 
Le moteur fait 170ma pour 470 rpm.
Je n'ai pas réussis à trouver un moteur équivalant sur Amazon, donc je pense acheter le tout sur Aliexpress.
 
J'ai des alimentations 12v surtout.
 
Coté code, on m'a aiguillé la dessus :
 
https://github.com/Ogadai/zwift-mobile-api Pour l'API utilisé par le logiciel Zwift
https://github.com/dhague/vpower un code pour créer un semblant de capteur de puissance
https://www.thisisant.com/developer [...] e-profiles le manuel Ant+
 
On m'a dit aussi qu'il serait préférable de lire directement les infos qui sortent et rentrent de l'Ant+ que de plutot utiliser l'API de Zwift.
Donc j'ai déjà commandé les aimants, et il me reste à commander le reste et surtout faire le programme. Le plus dur :D
Mais n'ayant qu'un peu programmer il y a 10/15 ans en C++ et ayant bidouillé un peu des cartes Arduino avec un code déjà fait, là je suis complètement paumé.
 
 
Si jamais vous avez une ligne directive et/ou des infos, n'hésitez pas! :jap:


Message édité par Roger01 le 05-04-2018 à 12:33:00
Reply

Marsh Posté le 05-04-2018 à 12:32:07   

Reply

Marsh Posté le 05-04-2018 à 14:30:00    

[:drapal]

 

Il y a une petite confusion sur l'utilité des bibliothèques imo.

 

Celles des API de Zwift ne sert à rien du tout dans ton cas.
Par contre la Vpower permet d'utiliser le protocole ant+ dans son ensemble et simplement de faire un capteur de puissance.

 

C'est via ce protocole que Zwift donne les ordres au HT et que le HT répond avec des données de puissance.
Tu peux utiliser cette bibliothèque pour communiquer avec Zwift, il faut juste changer quelques trucs dans son code.

 

Sinon quid de l'utilisation d'un électroaimant plutôt que des mâchoires mécaniques ? Tu auras une précision probablement supérieure.


Message édité par Sangel le 05-04-2018 à 14:36:35
Reply

Marsh Posté le 05-04-2018 à 14:40:51    

Je vais me concentrer sur les données de l'Ant+ dans ce cas.
Je me demande juste si il faut un retour d'info à Zwift, pour qu'il comprenne que j'ai un HT dynamique et pas fixe (ie, ne pas freiner virtuellement l'avatar en côte).

 

Concernant un électroaimant, c'est sans doute un bon choix, mais je ne m'y connait pas du tout.
Quoi prendre, quelle "puissance", comment ça se gère etc.. et à quel prix?

 

Un électroaimant à l'air d'avoir une petite surface, ça risque pas d'avoir trop de hmm puissance sur la jante?

 

Là j'ai commandé une autre clef Ant+ sur amazon (2 jours de livraison), voir si je peux déjà faire des trucs à bases de led, ou au moins voir en monitoring sur l'écran du raspberry le temps d'avoir le reste.


Message édité par Roger01 le 05-04-2018 à 14:42:41
Reply

Marsh Posté le 06-04-2018 à 08:46:56    

Tu vas avoir du mal à allumer une diode avec du ant+ :o  
 
Le ant+ est conçu spécifiquement pour du matos de sport.  
 
Avec une seule clé ant+ tu peux essayer de détecter ta ceinture cardio, c'est pas super compliqué.  
Tu peux par exemple t'inspirer de cet article : https://www.johannesbader.ch/2014/0 [...] -with-ant/
 
Par contre la bibliothèque qu'il utilise est buggée, je te conseille de plutôt utiliser Vpower.  
 
 
Une fois que tu auras deux clés ant+, la seconde étape sera de simuler un cardio (ou un capteur de cadence, puissance...) aux yeux de Zwift.  
 
Ensuite une fois que tu auras maitrisé ça, tu seras normalement capable de simuler un HT aux yeux de Zwift et là c'est gagné.  

Reply

Marsh Posté le 06-04-2018 à 15:47:02    

La led c'est plus pour avoir une info qui sort du raspi, mais autant voir les infos sur l'écran branché au raspi.
 
Vais pas tarder à recevoir la clef, donc j'aurais le temps de me pencher dessus et faire des tests comme tu as dit.

Reply

Marsh Posté le 08-04-2018 à 11:54:14    

Clef reçu! Vais voir déjà ce soir comment faire pour installer tout ça sur le raspi.

Reply

Marsh Posté le 08-04-2018 à 14:52:54    

Je suis sur la raspi à trouver comment avoir un driver ANT+ mais clairement, je bite rien. C'est du linux et j'ai jamais touché à ça :o

 

J'ai suivis ton lien mais même ça, je comprends pas comment faire.

 

[Edit] J'ai réussis à installer la clef! Piou [:didier frogba:5]

 

[Edit2] Bon je me suis arrêté à ça sur le site https://github.com/dhague/vpower.

 

Le point 4 : Copy vpower.cfg to its parent folder

 

Parce que le reste ça ne m'interesse pas.

 

Donc maintenant, faut que je regarde comment lire un capteur pour tester.

 


Message édité par Roger01 le 08-04-2018 à 16:58:51
Reply

Marsh Posté le 08-04-2018 à 17:55:38    

Bon, je suis perdu.

 

Je dois prendre quoi au final, vu que ça c'est bugué :

 

https://www.johannesbader.ch/2014/0 [...] -with-ant/

 

Et que je vois pas quoi faire avec mon vpower vu que le fichier de config c'est uniquement que pour lire de la puissance, je sais pas trop comment. :(

 

[Edit] J'ai reussis à faire tourner ça :

 

https://gist.github.com/baderj/c41d2bbe0aeded3506cf

 

Il arrive à bien lire mon capteur de fréquence cardiaque. C'est déjà ça :o


Message édité par Roger01 le 08-04-2018 à 18:21:33
Reply

Marsh Posté le 08-04-2018 à 23:25:07    

Ce qui est intéressant dans le code de Vpower c'est pas son truc sur le capteur de puissance, mais la possibilité d'utiliser le protocole Ant+ en transmission et en réception.

 

Si le truc que tu as trouvé tourne, tant mieux et j'espère que ça marchera aussi pour transmettre.

 

Ce qui est important c'est cette partie :

 
Citation :


    def _setup_channel(self):
        key = node.NetworkKey('N:ANT+', self.netkey)
        self.antnode.setNetworkKey(0, key)
        self.channel = self.antnode.getFreeChannel()
        self.channel.name = 'C:HRM'
        self.channel.assign('N:ANT+', CHANNEL_TYPE_TWOWAY_RECEIVE)
       self.channel.setID(120, 0, 0)
        self.channel.setSearchTimeout(TIMEOUT_NEVER)
        self.channel.setPeriod(8070)
        self.channel.setFrequency(57)
self.channel.open()

 

Qui te permet de définir avec quel device tu veux te connecter.

 

Si tu veux te connecter avec autre chose, c'est les paramètres en gras que tu devras change, cf la doc de thisisant.

 

Maintenant, essaie par exemple de lire ton capteur de cadence. Ensuite, une fois que tu auras réussi, essaie de simuler un capteur de puissance aux yeux de Zwift qui génère de façon constante 200W.

 

Une fois que tu seras capable de faire ça, tu devrais être d'utiliser ton Pi comme un home trainer.


Message édité par Sangel le 08-04-2018 à 23:32:33
Reply

Marsh Posté le 08-04-2018 à 23:29:21    

Ha d'accord, merci pour la précision!  
Je regarderais ça demain, au moins je sais quoi faire maintenant :)
 
En plus ça capte tout et n'importe quoi de suite sans code ou autre, donc ça va être "facile" de voir ce qu'il peut lire.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed