DIY - développement d'une carte DIY équivalente à Simucube+ioni

  • J'ai contacté le développeur du Moteus, et malheureusement il ne prévoit pas de version 48V.


    C'est dommage parce qu'avec le G4 embarqué + DRV8353 il y avait ce qu'il fallait, et pour 90$, manquait plus que l'USB.

    Edited 4 times, last by Mizoo ().

  • Le Cheap-FOCer 2 est assez volumineux au final, ce ne sera pas si simple de le caser sous le capot du moteur.

    Et il y a moyen de faire moins cher en passant au G4 + TMC6200 (ou DRV8323, plus éprouvé) avec un étage de puissance plus adapté à notre utilisation.


    Pas l'air fameuse la fiabilité du gesc. Il vaut mieux partir d'un projet éprouvé.


    Trampa a fait un VESC HD qui est modulaire, avec l'étage de puissance sur un PCB annexe et vendu 55£.

    Malheureusement, d'après cette photo le DRV semble être sur le PCB 'logique'.

    S'il était avec les MOSFET c'était tout bon.


    234185c9f6ba97188c42fb6b7606c4eba56809c2.jpeg



    EDIT: ils ont aussi fait une version single mais elle semble être resté au stade de proto, dommage:


    ca9ff7e03bc23b9fffadd02d916afb9701938411.jpeg



    C'est rageant de voir tous ces projets auxquels il manque toujours quelque chose.

    A chaque fois il ne manque que deux trois bricoles pour pouvoir être beaucoup plus versatile (et toucher plus de monde).

    Si seulement le Moteus avait été open-hardware... EDIT: il l'est.

    Edited 7 times, last by Mizoo ().

  • Un design dont j'avais déjà parlé et qu'il serait vraiment très intéressant de tester c'est l'EVSPIN32G4.

    75V - 15A continu sans radiateur. Basé sur un STSPIN32G4 qui intègre un G431, driver de FET, buck et LDO, la BOM est assez réduite.

    Encore une fois, dommage que le prix soit si élevé (150€ TTC) pour si peu de composants.

  • Je viens de découvrir à la lecture de ton post la mémoire CCM.

    Dans l'expérimentation que tu en as faites, c'est le programme que tu as copié dans cette région de mémoire ou les variables de l'algo ?

    Matériel : T300rs + MMOS/VESC/Mige15015

  • Les variables sont déjà en RAM, vu qu'elles sont variables :P


    C'est le code utilisé par la routine FOC qui est copié en CCM-RAM, 3 Ko.


    Dans les systèmes temps réel on évite d'exécuter depuis la flash (jamais zero wait state).

    Edited 7 times, last by Mizoo ().

  • Je te pose la question parce que le linker du vesc place les variables en RAM certe, mais en bank 0 et 1 (0x2000000) et pas en bank 4 la CCM-RAM (0x1000000).

    Pour ta dernière ligne, je suis ni pour, ni contre, je ne la comprends pas :pp


    Du coup, je vais essayer de déplacer les variables du FOC du vesc en CCM RAM dans un premier temps. Pour le programme, je ne sais pas comment faire.

    Matériel : T300rs + MMOS/VESC/Mige15015

  • Tu ne gagneras rien en plaçant les variables en CCM, elles sont déjà à accès instantané en RAM.


    Pour placer les fonctions VESC en CCM c'est facile. Le plus compliqué c'est tirer le fil de la pelote des appels depuis l'ISR pour tagguer toutes les fonctions (GCC peut te donner l'arbre d'appel).

    Je suis surpris que ce ne soit pas déjà fait :?


    EDIT:

    Modification du fichier startup.s

    Et du script du linker:


    Puis le code à placer avant les fonctions que tu veux mettre en CCM.

    Code
    #if defined (CCMRAM)
    __attribute__((section (".ccmram")))
    #endif

    Rajouter CCMRAM dans les define du projet pour valider le changement.

    Edited 9 times, last by Mizoo ().

  • J'ai presque tout compris, sauf le startup.s, j'ai de fichier de ce nom, il faut que cherche du coté de chibios je pense :-/

    Et je te confirme, les seules choses mises en CCM RAM sont les tableaux pour le monitoring temps réel des shunts.

    Aucun bout de code en CCM RAM... Si j'y vais comme un bourrin et que je mets directement "isr_xxxx" du foc ?

    Matériel : T300rs + MMOS/VESC/Mige15015

  • Le fichier de startup est ChibiOS_3.0.5\os\common\ports\ARMCMx\compilers\GCC\crt0_v7m.s


    Code à adapter car il appelle la section ram4 (au lieu de ccmram).


    Il faut aussi changer ChibiOS_3.0.5\os\common\ports\ARMCMx\compilers\GCC\rules.ld car il ne met pas la section en flash (normal car il ne n'utilise que pour des variables non initialisées). Pour bien faire il faudrait donc aussi créer deux sections, ccm_bss et ccm_text (voire une ccm_data).


    GCC peut te donner l'arbre d'appel depuis l'ISR, il faudra tagguer toutes les fonctions en dessous.

    Edited 11 times, last by Mizoo ().

  • Génial, je vais pouvoir tester cela :D

    J'ai regardé, tout tient en mémoire, coté FOC

    mcpwm_foc_adc_int_handler et toutes les dépendances

    Matériel : T300rs + MMOS/VESC/Mige15015

  • J'espère bien, avec 64ko, sinon c'est qu'il y a beaucoup de choses inutiles.


    Pour bien faire il faudrait aussi protéger en écriture les blocs CCM utilisés pour le code.

    Edited once, last by Mizoo ().

  • En reprenant le design de l'EVSPIN32G4, il y en a pour 15€ HT pour le STSPIN32G4 et les 6 MOSFETs (par 10). Le reste c'est des capa, diodes, résistances et une self, et des connecteurs. Le PCB de leur carte semble avoir 4 couches.

    75V - 15A - 3 shunts low side - USB - FDCAN.


    Je ne vois pas comment faire mieux, tout est intégré dans le STSPIN. Hardware compatible VESC en y passant un peu de temps.

    Edited 16 times, last by Mizoo ().

  • Non, je n'ai toujours pas trouvé quel connecteur utiliser pour me connecter au Yaskawa.

    Le Mige est câblé pour un VSD en Sub-D 25 et je n'ai toujours pas reçu ma commande de pièces pour faire l'adaptateur vers l'IHM08 (je veux garder le connecteur compatible VSD, pour l'instant).

    je regarde ce qui existe au boulot pour changer ton connecteur!!

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


    :aspi:

  • Le problème c'est que, comme vu sur les photos, le connecteur mâle du moteur est tordu. Je doute que l'on puisse y visser le connecteur idoine femelle.

    Ce connecteur mâle se vend à part mais je vois pas comment le changer car il est soudé directement sur les fils de phase et il n'y a aucun moyen d'y accéder.

    J'ai envoyé plein de mails à ce sujet, y compris chez Yaskawa, soit les gens ne savent pas soit ils ne répondent pas.


    C'est pour ça que je recherchais la référence des petites sockets femelles que l'on trouve dans les connecteurs.

    Edited 4 times, last by Mizoo ().

  • Tu pourrais y arriver mais ça risque d être galère. En suivant ta vidéo de charcutage de yaskawa, faut démonter le cul du moteur pour sortir l’axe et ainsi libérer un peu d accès aux câbles. Et à ce moment là tu pourra remplacer tout le’ connecteur par un autre (compatible mige par exemple) .

  • La première étape c'est de tester le moteur en me connectant aux pins mâles actuelles. Si tout est OK j'ouvrirais/casserais le capot qui se trouve sous le connecteur pour accéder aux câbles et y souder des œillets ou un connecteur plus classique (MT30 par ex.).

    Edited 2 times, last by Mizoo ().

  • Si seulement le Moteus avait été open-hardware...

    Bonne nouvelle, je me suis trompé. Pour Moteus le design hardware est bien open source, tout comme le firmware. Je ne sais pas pourquoi dans mes notes j'avais noté le contraire.

    On a donc une base depuis laquelle on peut partir, qui a l'air relativement éprouvé,

    D'après le concepteur, le passage à 48V n'impliquerait que le changement des condensateurs.

    Rajouter l'USB, si possible, serait aussi un plus.

    Edited 2 times, last by Mizoo ().

  • et c'est pas encore fait????? :hihihi: :hihihi: :hihihi:

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


    :aspi:

  • C'est vrai que la moteus est pas mal. elle gere le 36v, c'est parfait pour ma config :)

    Matériel : T300rs + MMOS/VESC/Mige15015