1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies. En savoir plus.

[RESOLU] Config Stepconf avec Pololu DRV8824 et stepper PL15S020

Discussion dans 'EMC2 / LinuxCNC' créé par telson, 11 Avril 2015.

  1. telson

    telson Apprenti

    Messages:
    54
    Inscrit:
    30 Janvier 2015
    [RESOLU] Config Stepconf avec Pololu DRV8824 et stepper PL15S020
    Bonjour,

    Je souhaiterai avoir quelques informations complémentaires concernant le réglage de linuxcnc via stepconf en particulier les valeurs :

    • Step Time
    • Step Space
    • Direction Hold
    • Direction Setup

    J’utilise un driver pololu DRV8824 et selon le datasheet, nous pouvons lire les données suivantes :

    2 tWH(STEP) Pulse duration, STEP high 1.9 μs
    3 tWL(STEP) Pulse duration, STEP low 1.9 μs
    4 tSU(STEP) Setup time, command before STEP rising 200 ns
    5 tH(STEP) Hold time, command after STEP rising 200 ns
    6 tENBL Enable time, nENBL active to STEP 200 ns
    7 tWAKE Wakeup time, nSLEEP inactive high to STEP input accepted 1 ms

    [​IMG]



    Alors j’suis dans le juste, si je dis que :

    • Step Time = 2 tWH(STEP) Pulse duration, STEP high 1.9 μs = 1900 ns
    • Step Space = 3 tWL(STEP) Pulse duration, STEP low 1.9 μs= 1900 ns
    • Direction Hold = 4 tSU(STEP) Setup time, command before STEP rising 200 ns
    • Direction Setup = 5 tH(STEP) Hold time, command after STEP rising 200 ns


    Ensuite, mes moteurs sont des PL15S020 :

    Number of Steps per Rotation = 20
    Driver Frequency = 400[PPS] pour un torque de 25.10-4 N.m
    Driver Frequency = 1400[PPS] pour un torque de 13.10-4 N.m
    Maximum PULL-IN Frequency = 1450[PPS]

    Dans l’hypothèse ou je souhaiterai conserver un Torque de 25.10-4 N.m donc 440 PPS Max (440 pulses/s).

    Si je souhaite utiliser les moteurs en 1/32 µteps les moteurs recevrons pour faire une rotation 20 steps * 32 soit 640 µsteps (640 pulses/s).

    Sachant que si je ne souhaite pas dépasser les 440 pulses/s, je devrais donc m’assurer que mes moteurs effectuent (440 pulses/s) / (640 pulses/tour) soit 0,6875 tour/s.

    Sachant que mon plateau avance de 3mm par tour je devrais donc paramétrer dans stepconf la valeur : Maximum Velocity à 0,6875 tour/s *3mm/tour soit 2,0625 mm/s.

    Est-ce suffisant pour m’assurer que les 440 pulses/s par seconde soient respectés.

    Alors, si mes élucubrations sont justes !!! En full step, je serais à un Maximum Velocity de : (440 pulses/s) / (20 pulses/tour) soit 22 t/s donc : 22 t/s* 3mm/tour = 66mm/s.

    Et si j’accepte de faire tourner mes moteurs à 1400 pulses/s en 1/32 µteps, alors j’aurai (1400 pulses/s) / (640 pulses/tour) soit 2,1875 tours/s. Soit une Maximum Velocity à 2,1875 tours/s *3mm/tour = 6,5625 mm/s.

    Bon……Alors est ce que je peux indiquer une Maximum Velocity de 66 mm/s et un Driver µstepping de 1/32 ?

    Comment LinuxCNC ou le générateur de Gcode vont t’il faire pour adapter la vitesse de rotation du moteur dans les courbes où pour des raisons de précisions il faudra nécessairement réduire les pas et passer soit en 1/8, ou 1/16 ou 1/32 pour réussir à suivre la courbe.

    Y aura-t-il juste une diminution de la vitesse ou une diminution de la vitesse et un passage en µsteps ????

    Parce que avec une Maximum Velocity de 66 mm/s et un Driver µstepping de 1/32 cela va nous donner 22 t/s * 20 pulses/tour * 32 µsteps = 14080 pulses/s. Autant dire que les moteurs vont en louper un sacré paquet !!

    Alors je suis dans le juste ou complétement à côté de la plaque ???

    en espérant être assez claire.

    Merci par avance à tous ceux qui prendrons de lire mes délires et d'y apporter des précisions.

    Attention : la maison ne fourni pas l'aspirine !
     
    Dernière édition: 13 Avril 2015
  2. gaston48

    gaston48 Compagnon

    Messages:
    6 216
    Inscrit:
    26 Février 2008
    Localité:
    59000
    [RESOLU] Config Stepconf avec Pololu DRV8824 et stepper PL15S020
    Bonjour,
    Ton raisonnement est trop pessimiste là.
    Si tu dois respecter un Torque de 25.10-4 N.m donc à 440 PPS Max,
    en micropas de 1/32 cela te donne 440 x 32 = 14080 PPS Max
    Le moteur va voir à ses bornes une espèce de sinus reconstitué
    dont la fréquence de base sera de 440 Hz.
    Là ou cela risque de coincer, c’est la fréquence max de ton port //
    dans le meilleur des cas, c’est 15 KHz je crois, ainsi que la fréquence
    max d’entrée du Pololu.

    1/32 n’est pas forcément nécessaire, cela améliore la fluidité et
    les problèmes de résonance. Ta précision absolue réelle de positionnement
    sans couple résistant sera de +/- 5 % de 1.8° avec une vis de 3mm +/- 0.7 microns.
    C'est bien, mais entre une position d’équilibre sans couple contrariant et avec un couple
    max, le décalage résultant sera de 1.8° soit 0.027 mm!
    3mm / (200 ppt X 32) te donneront une résolution théorique de 0.5 microns !
    Configure quelques micropas pour la fluidité et les résonnances dans les 1/4 ou 1/8
    et cela suffira, mais si les 15 Khz passe, tu peux aller à 1/32
     
    Dernière édition: 13 Avril 2015
  3. telson

    telson Apprenti

    Messages:
    54
    Inscrit:
    30 Janvier 2015
    [RESOLU] Config Stepconf avec Pololu DRV8824 et stepper PL15S020
    Bonjour,

    En fait j’essaie de bien appréhender les valeurs que je dois renseigner dans stepconf pour éviter que mes moteurs ne sautent des pas ou qu'ils manquent de précision.

    Concernant ta réflexion sur :
    je ne te suis pas. Si je souhaite conserver 25.10-4 N.m c'est à 440 PPS Max uniquement que je pourrais le faire. Par conséquent, je ne peux en aucun cas monter jusque 14080 PPS.

    Concernant la fréquence max du port // c'est me semble t'il 150 KHz en SPP et 2MHz en EPP....
    La fréquence Max. du Pololu c'est 220 KHz me semble t'il...

    Donc j'ai de la marge.

    Par contre, concernant ta remarque sur la précision et vraiment très juste.

    Déjà avec 20 pas/tour, avec 3 mm d'avance cela me donne 3/20 = 0,15 mm par pas......C’est déjà très beau pour l'amateur que je suis.

    Si je souhaite améliorer cette précision en passant ne serait ce qu'en 1/4 de pas je vais avoir 80 pas par tour soit 3/80 = 0,0375 mm par pas............Cela me semble plus que satisfaisant pour mes débuts!!

    Donc si je ne souhaite pas dépasser les 440 pulses/s, je devrais donc m’assurer que mes moteurs effectuent (440 pulses/s) / (80 pulses/tour) soit 5,5 tour/s.

    Sachant que mon plateau avance de 3mm par tour je devrais donc paramétrer dans stepconf la valeur : Maximum Velocity à 5,5 tour/s *3mm/tour soit 16,5 mm/s.

    Par contre, comment faire pour déterminer l'accélération max de mes moteurs...?

    Et enfin ma première question sur la config de stepconf reste entière :

    J’utilise un driver pololu DRV8824 et selon le datasheet, nous pouvons lire les données suivantes :

    2 tWH(STEP) Pulse duration, STEP high 1.9 μs
    3 tWL(STEP) Pulse duration, STEP low 1.9 μs
    4 tSU(STEP) Setup time, command before STEP rising 200 ns
    5 tH(STEP) Hold time, command after STEP rising 200 ns
    6 tENBL Enable time, nENBL active to STEP 200 ns
    7 tWAKE Wakeup time, nSLEEP inactive high to STEP input accepted

    [​IMG]



    Alors j’suis dans le juste, si je dis que :

    • Step Time = 2 tWH(STEP) Pulse duration, STEP high 1.9 μs = 1900 ns
    • Step Space = 3 tWL(STEP) Pulse duration, STEP low 1.9 μs= 1900 ns
    • Direction Hold = 4 tSU(STEP) Setup time, command before STEP rising 200 ns
    • Direction Setup = 5 tH(STEP) Hold time, command after STEP rising 200 ns
     
    Dernière édition: 13 Avril 2015
  4. gaston48

    gaston48 Compagnon

    Messages:
    6 216
    Inscrit:
    26 Février 2008
    Localité:
    59000
    [RESOLU] Config Stepconf avec Pololu DRV8824 et stepper PL15S020
    Ok ce sont des 20 pas par tour, je pensais à une erreur de frappe
    et donc à des habituels 200 pas par tour.
    Je persiste avec ce que je t’ai dit :
    Pour préserver le couple max, la vitesse maximale correspond
    à une rpm max de 1200 donc à 400 PPS soit 400 pas entiers par seconde ou 800 ½ pas par seconde ou 12800 1/32 pas par seconde
    le résultat est toujours 1200 rpm.
    En fonction de la résolution max que tu souhaites, tu auras une
    fréquence max qui te permettra de paramétrer tes largeurs d’impulsions
    Toutes les considérations sur la précision sont à reconsidérer
    et à baser non plus sur 1.8° mais sur 18°
    N’oublie pas aussi que « perdre un pas » que ce soit avec une
    commande en pas entier ou en micropas correspond à un
    décalage permanent de la valeur de 4 pas soit pour toi 72°
     
    Dernière édition: 13 Avril 2015
  5. telson

    telson Apprenti

    Messages:
    54
    Inscrit:
    30 Janvier 2015
    [RESOLU] Config Stepconf avec Pololu DRV8824 et stepper PL15S020
    Oui ce sont bien des moteurs 20 pas/tour : PL15S-020

    Je ne comprends pas tes calculs :
    voici ma méthode de calculs. Pour 440 pulses/s avec un moteur de 20 pulses/tour cela me donne :

    440 (pulses/s) / 20 (pulses/tour) = 22 tour/s

    Tu pourrais m'expliquer, s'il te plaît tes calculs.

    Merci.
     
  6. gaston48

    gaston48 Compagnon

    Messages:
    6 216
    Inscrit:
    26 Février 2008
    Localité:
    59000
    [RESOLU] Config Stepconf avec Pololu DRV8824 et stepper PL15S020
    400 ou 440 PPS suivant tes messages, avec ton moteur de
    20 PPT nous font bien 20 ou 22 tours/s soit 1200 ou 1320
    tours/mn ou rev/mn ou rpm. La vitesse max ou nominale d’un
    moteur s’exprime plutôt en tr/mn.
    Concernant ton moteur, il garde son couple nominal jusqu’à
    une vitesse de 1200 tr/mn peu importe si tu lui envoies 400 pas
    entier par seconde ou 12800 1/32 pas par seconde.
     
  7. telson

    telson Apprenti

    Messages:
    54
    Inscrit:
    30 Janvier 2015
    [RESOLU] Config Stepconf avec Pololu DRV8824 et stepper PL15S020
    Ah oui pardon ce sont des rpm désolé.....

    et oui effectivement jusque 22 t/s ou 1320 rpm le moteur garde son couple nominal. Exact.

    Par contre quand tu dis perdre un pas » ......correspond à un décalage permanent de la valeur de 4 pas ....c'est une notion qui m'est étrangère. Aurais tu de la doc sur ce phénomène.

    Et enfin, concernant le driver pololu DRV8824, j’suis dans le juste, si je dis que :

    • Step Time = 2 tWH(STEP) Pulse duration, STEP high 1.9 μs = 1900 ns
    • Step Space = 3 tWL(STEP) Pulse duration, STEP low 1.9 μs= 1900 ns
    • Direction Hold = 4 tSU(STEP) Setup time, command before STEP rising 200 ns
    • Direction Setup = 5 tH(STEP) Hold time, command after STEP rising 200 ns

    Merci par avance.
     
  8. gaston48

    gaston48 Compagnon

    Messages:
    6 216
    Inscrit:
    26 Février 2008
    Localité:
    59000
    [RESOLU] Config Stepconf avec Pololu DRV8824 et stepper PL15S020
    C’est important de bien apprécier et bien quantifier la notion de
    perte de pas, quand il y a surcharge mécanique
    C’est valable pour tous les moteurs pas à pas, que le rotor soit
    positionné suite à la commande d’un pas entier ou d’un micro-pas.

    A partir de sa position d’équilibre, si tu forces à la main la rotation
    du rotor, un couple résistant va apparaître, pour atteindre une
    valeur maximale à l’angle qui correspond à celui du pas nominal
    (18° pour toi). si tu continues à forcer le couple va diminuer pour
    être nul à l’angle de 2 pas soit 36°. Cette position est instable.
    Si tu continues à forcer, il faudra retenir de rotor, car le couple
    deviendra entraînant pour finalement atteindre une nouvelle
    position d’équilibre stable d’encore la valeur de 2 pas donc 36°.
    Donc pour ton moteur, s’il est sous tension et que tu forces
    sur le rotor tu vas sauter des positions d’équilibre tous les 72°

    Concernant tes réglages, tu as une petite feuille de calcul
    dans la doc linuxcnc. Si tu rentres ces paramètres minima,
    en fonction du temps de latence et de la base période que tu
    va choisir, tu disposeras d’une fréquence max limite.
    Si elle est trop performante (suivant les micropas que tu choisis)
    Tu as intérêt à modérer ces paramètres, un peu plus de
    base période et des temps un peu plus long pour le steplen
    et autres.
     
  9. telson

    telson Apprenti

    Messages:
    54
    Inscrit:
    30 Janvier 2015
Chargement...

Partager cette page