DIY - [OpenFFBoard + VESC + BISSC] Connection en CANBus, command de couple numérique : feedback et code source...

  • Petit update du post pour partager les résultats des tests classiques.

    Ma roue fait 34cm avec un hub maison pour les boutons/encodeurs en Bluetooth HID, elle pèse 1,4kg

    unknown.png

    pour comparaison :

    35109201475_909d2227c9_h.png

    Avec le volant en demandant des impulsions de 150ms

    unknown.png

    Avec une impulsion de 300ms

    unknown.png

    Et maintenant en jeu, il faut regarder la courbe rouge qui indique le couple (Iq) du foc :

    Pendant ma courbe à gauche, j'ai une montée linéaire du couple jusqu'à 7Nm

    unknown.png

    Après le point de corde, j'ai drifté : nous voyons les variations de grip à chaque perte/reprise d'adhérence. Très facile de reprendre la main sur la voiture.

    unknown.png

    Petite passage lent : en passant sur la bordure, j'ai senti les 2 mouvements de volant, un par cotés de la voiture qui passent sur la bordure. On voit clairement les pics de couples espacés à 300ms. Ce qui est intéressant de voir ici, c'est la stabilité du courant en 0 et 0.75A : ca ne vibre pas dans les mains, sauf quand on passe dans les herbes hautes en bordure de piste :-D

    unknown.png

    Courbe à droite prise proprement ! un couple qui vient régulièrement et disparaît doucement à la reprise des gaz, c'est le moment que j'ai préféré !!! j'ai senti la légère perte de grip en entrée de couple (flèche bleu) que j'ai pu reprendre en ouvrant un poil sans sacrifier la vitesse :

    unknown.png

    Ce que je peux dire, par rapport à avant, c'est que même avec plus de couple dans le volant, je ressens vraiment plus naturellement ce qui se passe, c'est résistif fluide.

    Pour moi l'objectif est atteint.

    Volant DIY (OpenFFBoard + BusCAN + VESC + Mige15015 + BissC c.f. forum pour plus d'info), Pédales DIY (LoadCell, capteur à effet hall, impression 3d, sans fil), Roue DIY (16 boutons, 4 encodeurs, sans fil)

  • hate de pouvoir tester si tu peu faire une liste de course et un plan de cablage je serais heureux de partager mon ressentit

    toi et Mizoo avait l air tellement au top dans la recherche d un bon FFB que l on ne peu etre qu admiratif.

    n oubliez pas qu un con qui marche ira toujours plus loin qu 'un intellectuel assis

    AMD 5800X3D W10 RTX4070Super 3X27pouces et Pico 4 MMOS2014 Ionicube

    :aspi:

  • J'essaie depuis quelques jours de trouver un moyen pour pouvoir valider qualitativement un système FFB.

    Etant donné que la commande est une valeur de couple, ce qui vient en premier à l'esprit est un capteur de couple, avec le volant (fortement) bloqué. Mais c'est un montage complexe et onéreux.

    RFRWheelTest permet difficilement de tirer des conclusions, les courbes de vitesses dépendent trop de la résolution du capteur de position et du taux de rafraichissement des données USB.

    En tout cas j'ai hâte de faire joujou moi aussi :P

    EDIT: tu peux ajouter la consigne pour Iq sur les graph ?

    Message modifié 3 fois, dernière modification par Mizoo (5 septembre 2021 à 13:03).

  • Salut,

    malheureusement non je ne peux pas, soit j'ai la courbe de la consigne, soit le calcul du foc, mais pas les deux. Ou je n'ai pas trouvé :)

    Pour faire la mesure de couple, j'ai pensé à un axe bloqué sur le hub du moteur qui vient pousser un loadcell fixé sur la structure du chassis.

    J'ai testé plusieurs ADC spécialisé, je trouve de bon résultat à 80hz.

    Volant DIY (OpenFFBoard + BusCAN + VESC + Mige15015 + BissC c.f. forum pour plus d'info), Pédales DIY (LoadCell, capteur à effet hall, impression 3d, sans fil), Roue DIY (16 boutons, 4 encodeurs, sans fil)

  • Je vais regarder si j'arrive avec l'oscillo à prendre la sortie du DRV ou l'entrée de l'ADC du vesc, mais je ne vois pas bien comment je peux m'y prendre :/

    Au delà des courbes, des analyses il y a le ressenti, et celui la, malheureusement je ne peux pas l'enregistrer pour vous le partager :hihihi:

    Par contre, je peux vous partager la doc, suggérée par Lahaye , pour assembler le système et sentir les choses par vous même, si ca vous tente : : https://github.com/manoukianv/Ope…nterface-manual

    Etienne dans la version que tu avais testée, il y avait un bug dans le calcul du Ki du courant, ca aide pas. Je vais retrouver la valeur de shunts que tu avais et je le rajouterai à ma chaine de compilation si tu as envie de retester (ou pas :hihihi: )

    Volant DIY (OpenFFBoard + BusCAN + VESC + Mige15015 + BissC c.f. forum pour plus d'info), Pédales DIY (LoadCell, capteur à effet hall, impression 3d, sans fil), Roue DIY (16 boutons, 4 encodeurs, sans fil)

  • Je vais regarder si j'arrive avec l'oscillo à prendre la sortie du DRV ou l'entrée de l'ADC du vesc, mais je ne vois pas bien comment je peux m'y prendre :/

    C'est tout le problème dans ce genre de projet. Que ce soit pour le comparer à la concurrence, ou pour valider des améliorations, il est assez difficile de quantifier le résultat :jecpa:

    Pour valider la mesure de courant il faudrait des sondes à effet Hall, mais bonjour le budget. Mais dans un premier lieu, on doit pouvoir voir si la sortie des ampli n'est pas trop moche.

    EDIT: Vedder avait bien insisté sur le fait qu'il y avait passé des heures pour améliorer la chaine de mesure de courant entre la V4 et la V6. Et pas juste en rajoutant un shunt.

    Message modifié 4 fois, dernière modification par Mizoo (6 septembre 2021 à 13:17).

  • Carlton Merci pour ce partage j'utilise ton ancien firmware vesc 4.12 (avec VNMWHeel ça marche plutôt bien)

    Je suis bien tenter pour tester cette version CAN dans un futur proche par contre j'ai pas vu quelle puce tu utilise pour le lien entre le stm32 et le vesc.

    c'est un transceiver can bus tout bête genre MCP2515 ?

    Autre question pour ma part j'ai conserver les résistance de 0.001ohm a l'heure actuel il faudrait que je change quelques chose dans le code du firmware vesc ?

    Merci d'avance

  • Salut,

    Pour le branchement, j'utilise une tja1051, mais un mcp2515 marchera aussi bien.

    J'ai écrit un peu de doc ici : https://github.com/manoukianv/Ope…nterface-manual

    Le changement de shunt change vraiment la donne, tu multiplies par 5 la précision (en divisant par 5 le courant max qui reste à 30A).

    Oui ce sont des FW particuliers, le les prefix par "0.005o", et c'est très important de le faire sous risque d'avoir des soucis...

    Volant DIY (OpenFFBoard + BusCAN + VESC + Mige15015 + BissC c.f. forum pour plus d'info), Pédales DIY (LoadCell, capteur à effet hall, impression 3d, sans fil), Roue DIY (16 boutons, 4 encodeurs, sans fil)

  • Tu comptes utiliser une quelconque isolation galvanique pour une version avec alimentation sur secteur ?

    Les isolateurs USB HS ne courent pas les rues et sont hors de prix.

    Je ne sais pas encore comment attaquer le problème avec l'IHM08, si problème il y a.

    Une fois le système bien réglé je ne me poserai plus la question en ne passant que par du CAN ou RS485 avec des transceivers isolés, déjà plus abordables pour ce type de bus.

    Message modifié 3 fois, dernière modification par Mizoo (3 octobre 2021 à 21:12).

  • La tu dépasses mes connaissances en électroniques : elles sont plus que limités, je suis un autodidacte dans le domaine :/

    Je ne comprends pas la question, mais je sais que je suis en batterie.

    Volant DIY (OpenFFBoard + BusCAN + VESC + Mige15015 + BissC c.f. forum pour plus d'info), Pédales DIY (LoadCell, capteur à effet hall, impression 3d, sans fil), Roue DIY (16 boutons, 4 encodeurs, sans fil)

  • L'isolation galvanique sert à protéger l'électronique basse tension générant les signaux de contrôle de la partie haute tension qui a sa propre alimentation.

  • Je me penche un peu plus sur le code de VESC et je commence à mieux comprendre la boucle de contrôle.

    Et d'après moi il y a moyen de l'optimiser. La mise à jour des registres PWM est faite au tout début de la routine (TIMER_UPDATE_DUTY_M1 dans mcpwm_foc_adc_int_handler()) avec les valeurs calculées au cycle précédent (par svm()). Et comme les registres du OC sont bufferisés (TIM_OC1PreloadConfig enable) la mise à jour effective a lieu à la fin du cycle en cours (à l'underflow du timer PWM). Il y a donc 1.5 cycle PWM entre le calcul des rapports cycliques PWM et leur application.

    Par contre, je n'ai pas encore compris comment était calé le Timer 2 qui démarre la mesure ADC.

    L'optimisation consisterait à ne demander que la mesure du courant, et une fois faite on met tout de suite les registres OC à jour pour qu'ils soient pris en compte au prochain cycle. On gagnerait donc 1 cycle PWM dans la boucle de régulation de courant.

    Dans le code actuel j'ai l'impression que l'ISR ADC est appelé quand on a fait toutes les mesures possibles, ce qui est un perte de temps car la plupart n'entrent pas en compte dans la régulation, il faut les faire en décalé.

    Reste que le code est une usine à gaz avec encore plein de partie qu'il reste à modulariser pour ne pas les compiler/exécuter quand elles ne sont pas utilisées.

    Il a tout du code open source qui a explosé à force de de contributions multiples de personnes n'ayant pas toutes les mêmes compétences en dev.

    Dieu sait que ça me coûte de le dire mais le code de ST est bien plus propre.

    Il faudrait aussi virer ChibiOS, qui a la fâcheuse tendance à désactiver les IT OS pour rien.

    Message modifié 6 fois, dernière modification par Mizoo (14 octobre 2021 à 10:49).

  • Bonjour tous le monde .

    C'est mon premier message sur le forum 😅

    ayant envie d'investir dans un p'tit setup en direct drive , ta solution paraît une bonne alternative a simcube et autre . je veux bien servir de cobaye bêta testeur et y faire une docs / tutoriel !

  • Salut,

    j'ai commencer à détailler le matériel nécessaire et à rédiger un petit tuto ici :

    https://github.com/manoukianv/Ope…nterface-manual

    n'hésites pas si tu as besoin de renseignements complémentaire ;)

    Volant DIY (OpenFFBoard + BusCAN + VESC + Mige15015 + BissC c.f. forum pour plus d'info), Pédales DIY (LoadCell, capteur à effet hall, impression 3d, sans fil), Roue DIY (16 boutons, 4 encodeurs, sans fil)

  • Bonjour à tous,

    mes meilleurs voeux à tous.

    J'ai repris un poil mes dev après cette interruption de 2 mois entre changement de boulot et vacances.

    Je viens de finaliser et proposer à la communauté VESC mon interface BISSC :

    External Content youtu.be
    Content embedded from external sources will not be displayed without your consent.
    Through the activation of external content, you agree that personal data may be transferred to third party platforms. We have provided more information on this in our privacy policy.

    Ca marche tiptop, je suis content du setup final : maintenant en OpenFFBoard (stm32disco) + Vesc + Mige15015 + Encodeur BISSC :sleurp2:

    La partie moteur FFB et Vesc étant fiable, j'attaque des dev sur l'interface graphique d'OpenFFBoard pour rajouter la notion de "profil de configuration" et j'enchaine sur un écran Oled à la mode Fanatec DD... En parallèle j'ai quelques moteurs à tester :hihihi: :love3:

    Volant DIY (OpenFFBoard + BusCAN + VESC + Mige15015 + BissC c.f. forum pour plus d'info), Pédales DIY (LoadCell, capteur à effet hall, impression 3d, sans fil), Roue DIY (16 boutons, 4 encodeurs, sans fil)

  • Carlton 20 février 2022 à 18:31

    A changé le titre de la discussion du forum de “DIY - [OpenFFBoard + VESC] Connection en CANBus, command de couple numérique : feedback et code source...” à “DIY - [OpenFFBoard + VESC + BISSC] Connection en CANBus, command de couple numérique : feedback et code source...”.
  • Hello,

    un petit feed back apres 2 mois d'utilisation sous ACC principalement en config BISS-C, ca marche nickel !!!

    j'ai rajouté dans OpenFFBoard de quoi monitorer les effets (niveau et graph), le FW progresse autant sur la fidélité des effets que sur le paramétrage disponible ;)

    External Content www.youtube.com
    Content embedded from external sources will not be displayed without your consent.
    Through the activation of external content, you agree that personal data may be transferred to third party platforms. We have provided more information on this in our privacy policy.

    Bonne simu à tous,

    Vincent

    Volant DIY (OpenFFBoard + BusCAN + VESC + Mige15015 + BissC c.f. forum pour plus d'info), Pédales DIY (LoadCell, capteur à effet hall, impression 3d, sans fil), Roue DIY (16 boutons, 4 encodeurs, sans fil)

  • Je rajoute ma pierre a l'édifice .

    Ces dernières semaine après avoir commander un mige 15015 bissc en vue d'utiliser le travail de carlton je me suis lancer a l'eau.

    Je suis donc passer du firmware VESC avec encodeur ABZ sur un moteur d'hoverboard de 300w (qui en soit était déjà bon mais il me fallait pousser beaucoup l'ampérage pour obtenir le couple voulu et du coup pas mal de chauffe au niveau du moteur) au mige bissc

    Après avoir demander pas mal d'info a carlton (que je remercie au passage) au niveau du câblage du bissc sur le vesc j'ai fini par tout mettre en marche.

    Et il faut dire que c'est vraiment propre.

    Ce weekend j'ai tester sous pas mal de simu (rf2 , AC , ACC, Kartkraft, AMS2, LFS) et y'as pas a dire tout est très précis la moindre glissade sur des voiture un peu difficile a rattraper ce fait sans encombre on sens bien la route et tous ses détails (faut pas trop monter la puissance max du mige sinon ça devient compliquer a tenir le volant :D)

    Pour ceux qui sont intéressé je vous invite a visiter les infos sur son github (qui comprend le firmware du vesc et vesc_tool)

    https://github.com/manoukianv/Ope…ncoder-on-HWSPI

    ou de passer sur le discord d'openffboard (ou également le GitHub sur lequel il y a le firmware pour le stm32 et l'outil de contrôle du ffb):

    https://discord.com/invite/gHtnEcP

    en addition j'avais fait un petit schéma de mon câblage avec le mige :

    FM1mY6d.png

    Un grand merci Carlton pour son développement et son aide.

    Message modifié 1 fois, dernière modification par rafffel (27 février 2022 à 19:35).

  • Un grand merci à toi pour ton feed back :D

    Ravis de voir que le boulot rende service.

    Volant DIY (OpenFFBoard + BusCAN + VESC + Mige15015 + BissC c.f. forum pour plus d'info), Pédales DIY (LoadCell, capteur à effet hall, impression 3d, sans fil), Roue DIY (16 boutons, 4 encodeurs, sans fil)