DIY - [MMOS + VESC] Création d'un firmware FFB pour VESC

Votez pour l'image du mois
  • super hate de voir tout le cablage et le materiel utilisé j aimerais bien connaitre le soft dont tu parle celui de Hoan

    merci pour ces infos deja

    Pour le cablage, j'ai mis un schéma ici : https://www.dropbox.com/sh/bbs92yfinfr…B8cmdIACia?dl=0

    pour le firmware de HoanTV, son firmware est ici et le lien du discord :https://github.com/hoantv/CarSimulatorFirmware

    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)

  • merci a toi oh grand Hotel!!!

    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:

  • un truc m' échappe mmos, c est une carte ou c'est un programme/firmware, j'avais cru comprendre que ça se faisait plus.

    est ce que tu est toujours sur le même encodeur avec le nouveau firmware.

    désolé j'essaye de comprendre, je suis aller voir sur le discord mais moi et l'anglais.

  • Hello,

    Pour faire simple, MMOS c'est un firmware qui s'execute sur une carte STM32Discovery qui prends les effets du jeux (par USB / HID) et qui les convertissent en commande de couple à destination d'un driver moteur (PWM+DIR) dans mon cas.

    Le VescFFBFirmware (aller, je le nomme) est là pour commander un moteur brushless (ou dc mais pas testé) à partir de la commande de couple reçu de MMOS.

    J'utilise pour le moment un encoder 2,5k sur MMOS et le VescFFBFirmware (il y a besoin de la position du moteur pour les deux). En septembre j'attaque le BIssC, mais pour le moment, je n'en ai pas ressenti le besoin.

    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)

  • comment arrivez-vous à le faire marcher ? avec mon Win10, ça ne marche plus... :(

    ► La liste de mes tutos 

    Gseat à presssion, harnais 2DOF, Simucube 1 mige normal, CSP V3, TH8RS moddé, FaM loadcell, ThroneThumper, triple 24"

    ►Les impacts de la 5G ? doc en français exposition 24H/24 à des niveaux de rayonnement RF (+20 000 satellites braquant leur faisceaux sur la terre + stations relais au sol). Si vous ne voulez pas muter à seule fin d'avoir un frigo connecté, signez la pétition

  • j ai win10 et je l execute en mode administrateur quand il est retissent et cela fonctionne bien

    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:

  • Bonjour à tous, j'aurais quelques questions concernant le setup du Vesc.

    J'aimerais utiliser ton firmware Carlton, je possede un Vesc 4.20 comme celui-ci https://fr.aliexpress.com/item/400043882….27426c37IpR4D1

    - Pense tu que je puisse flasher mon Vesc 4.2 avec ton firmware?

    Car au moment de charger ton fichier.bin, j'ai un joli message qui me prévient que vais flasher un matériel qui n'est pas prévu pour le firmware et que cela peut endommager le Vesc ... et donc potentiellement ce qui est branché dessus.

    -Après avoir parcouru tous les menus de vesc-tool, j'ai constaté que l'on peux sauvegarder les réglages du moteur/batterie et de l'app,

    Le firmware que tu à développé est il spécialement paramétré pour ton mige ou est-il "adaptable" à d'autres moteur? ( càd puis-je utiliser ton FW avec mes réglages moteur?)

    -Quel est la différence entre les deux .bin ? ( entre le default et le R005?)

    Serais tu enclin à partager ton code de départ afin que je puisse (déjà comprendre le dialogue entre la discovery et le Vesc) et compiler un FW adapté à mon montage?

    Merci pour ton travail en tout cas ! ... je précise que je ne compte pas en faire un bizness et que si tu decide de partager ton code ce sera avec grand plaisir de partager mon projet DIY des qu'il sera fonctionnel. DIY - Conception / Réalisation volant DD moteur Brushless / Vesc

    Message modifié 1 fois, dernière modification par RoZ (24 mars 2021 à 11:11).

  • Salut,

    Tu peux utiliser ce Vesc, c'est exactement ceux que j'utilise :)

    le fichier .bin par défaut est pour un vesc standard. Sur le mien, j'ai remplacer les deux résistances de 1mOhm par des 5mOhm, ce qui fait que le vesc ne peux pas aller au delà de 30A, mais comme ca fait 45Nm sur mon mige 15015, c'est grandement suffisant :)

    Pour le paramétrage, je peux te partager sans soucis ma conf, rien de spécifique à part le moteur, il est configuré pour un 15015.

    Pour que cela fonctionne bien, il faut que tu déssoudes les condensateurs sur les lignes Hall1, Hall2 et Hall3 qui accueillent les entrées ABZ de l'encodeur de position, rien de sourcier et même avec un fer à souder de bucherons, ca se passe bien :D

    Pour le code, je n'ai pas prévu de le partager, mais de le maintenir à jour, après je peux expliquer ce que j'ai fait : j'ai repris le code de l'application PPM du vesc et au lieu de lire la commande sur la pin PPM, je la lis sur le pin du connecteur principale : pourquoi, bein parce qu'il y a un pile passe bas sur l'entrée PPM et impossible d'aller au dessus de 1khz de signal, et comme je voulais etre à 8 ou 16khz, j'ai contourné le problème.
    Ensuite au lieu de faire faire une lecture du signal de 0 à 100% et de dire qu'à 50% le couple valait 0 au dessus de 50% couple positif et en dessous, couple négatif => je lis de 0 à 100% le couple et c'est la valeur de la pin DIR qui me dit si le couple est positif/négatif. Comme ca on a deux fois plus de précision qu'un PPM classique car la plage de mesure est 2 fois plus grande. Voilà, c'est tout ce que fait mon driver :D

    J'utilise d'ailleurs l'onglet de configuration de PPM pour configurer l'application, mais il faut choisir "custom app" pour charger la mienne et donc profiter du PPM+DIR.

    Attention, il faut le client 2.0.3 max pour que ca marche, sinon l'usb est en vrac ;)

    Pour le configurer c'est assez simple :

    Tu branches tout, tu actives l'encoder, tu vas dans l'onglet RT position et tu vérifies que l'encodeur de position marche : 1 tour = 1 tour de graph

    Tu fais une détection de moteur en FOC : R/L/Lambda, et tu configures la fréquence de FOC au dessus de 20khz (sinon ca siffle :) )

    Tu fais une détection de capteur de position

    Tu mets un DTc à 3500 pour que la commande de couple soit souple

    Et déjà, tu dois pouvoir faire tourner ton moteur avec les controles du vesc tools, si tu mets 0.5A/1A tu dois sentir une contre résistance douce dans le volant

    Ensuite tu peux passer à la partie application :

    Tu actives la custom app en disant : aucune commande (comme ca tu prends rien dans les doigts)

    Tu configures MMOs ou autres en PWM+DIR

    Tu vas en buttée et tu lui demandes d'envoyer 100% de couple, et là dans le vesc tools, tu auras la longueure d'impulsion maximale (pour 100%)

    tu changes la commande pour lui dire "current" à la place de "none", et tu peux partir en session de pilotage :)

    N'hésites pas si besoin :D

    Carlton

    IMG_20210329_212137.jpg?dl=1

    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)

    Message modifié 1 fois, dernière modification par Carlton (29 mars 2021 à 21:32).

  • Merci pour toutes ces informations et pour le temps que tu as pris pour répondre :+++:

    C'est super intéressant tout ce que tu dit là, vraiment. je vais surement le relire plusieurs fois ce poste!

    De mon coté ce WE j'ai flashé mon Vesc 4.2 , avec le client 2.0.3 et ça a dégagé le port usb.

    j'ai pu le reflasher avec un FW par default via ST-link pour recup l'usb.

    J'ai réessayé sans succès.

    Comme je disais sur le sujet ou je fait mon volant, j'ai déjà commandé un vesc 4.12. ... je me suis dit qu'il y avait peut être un souci de compatibilité.

    Au pire le 4.2 servira pour un skate elec, mais je peux le triturer pour lui faire avaler ce FW ^^

    D'après toi le fait que l'usb dégage est du au fait qu'il ne soit pas encore modifié ? (CàD les deux résistances de 1mOhm par des 5mOhm et les condensateurs )

    ou on est sur un problème de compatibilité de version?


    edit : ha si j'oubliais, je ne compte pas utiliser un MIGE comme moteur mais un Brushless comme ceci https://hexadrone.fr/gamme-gimbal-n…-kv-tmotor.html en version sans encodeur, et j'utilise un 2500ppr en direct. voila l'projet ^^

    Message modifié 2 fois, dernière modification par RoZ (30 mars 2021 à 01:05).

  • Salut,

    non cela ne vient pas de la version hardware du vesc, mais plutot de la config logiciel chargée par défaut.

    En fait si le vesc est en erreur lourde, ca peut merder :) et d'autant plus si tu le "downgrade".

    Je t'invite à utiliser le logiciel stlink pour effacer à blanc le vesc avant de le programmer, ca devrait mieux se passer.

    Ton bug vient du fait qu'il charge les paramètres en EEPROM de ton ancien programme, et qu'ils sont incompatibles avec la version du firmware que j'ai réalisé, et comme la config est chargée avant l'USB, le vesc bug avant que tu puisses te connecter. Si tu regardes le code du main, tu verras l'ordre d'init des modules du VESC.

    Donc un effacement complet avec le STLINK, et un flash avec ce meme outils STlink devrait mieux se passer ;)

    Tient moi au courant :)

    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)

  • Salut ^^ je viens de faire cette manip sans succès.

    Des qu'il lit le FW, il déco l'usb. (quand je clic sur "program verify." dans STlink exactement)

    Mais en fait je viens de m'apercevoir que j'avais déjà fait cette manip.

    C'était mon plan B quand Vesctool m'avais jeté pour charger ton FW, au moment ou je le charge j'ai ce message maintenant : "The selected file name seems to be invalid."

    Avec les FW d'origine, ça fonctionne, on peut les charger.

    Je ressaie demain, suis peut être passé à coté de quelque chose.

    Merci encore pour tes explications. :)

    Guillaume

  • Hi,

    Hoping to use VESC with a hoverboard hub motor. I have the motor running on stock VESC using hall sensors. I have an encoder hooked up, but it does not have an index signal.

    Do I need ABZ encoder with index for this to work? Wiring diagram does not show index connected to VESC, only to Disco board. Is that a mistake in the wiring diagram?

    Tanks

  • hello,

    it's better if you have an ABZ, but i think it would work without, but i never try.

    I used an ABZ with the Z on the hall3 pin of the vesc.

    Best regards.

    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)

  • I was able to set up the encoder, but I was not able to install your firmware onto the VESC.

    I have the same issue as RoZ "The selected file name seems to be invalid."

    Also, I could not get the VESC to stop whistling in Current control mode.

    Any help would be appreciated.

  • hello guys,

    J'ai reçu depuis un esc 4.12, le résultat est le meme.

    Méthode effectuée sur 2 pc (win 7 et win 10) et sur 2 esc (4.2 et 4.12) toujours le même message au moment de charger le FW de carlton depuis vesctool : "The selected file name seems to be invalid".

    Je peux donc le flasher QUE via ST-link, et une fois effectué, plus de communication usb.

    Ton bug vient du fait qu'il charge les paramètres en EEPROM de ton ancien programme, et qu'ils sont incompatibles avec la version du firmware que j'ai réalisé, et comme la config est chargée avant l'USB, le vesc bug avant que tu puisses te connecter. Si tu regardes le code du main, tu verras l'ordre d'init des modules du VESC.

    Que veux tu dire par "ton ancien programme" ? : le FW par defaut? je comprend pas cette phrase.

    "Si tu regardes le code du main" : de quoi parle tu?

    Merci,

  • Hello,

    je vais avoir un peu de temps demain entre midi et deux, je vérifie les firmwares ;)

    Je voulais te dire que la séquence de démarrage : chargement des settings de l'application et du moteur sont bien lisible dans le code source du "main.c".

    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)