CNC 3040Z-DQ aide à la configuration LinuxCNC

  • Auteur de la discussion rom1nux
  • Date de début
R

rom1nux

Apprenti
Salut @El_Mapo

Pour info, je te confirme que nous avons la même carte NT65-3. J'ai juste un driver additionnel pour le 4ieme axe.
Top, j'ai ton PDF de config Mach3 sous la main, je vais pouvoir comparer avec mon analyse lorsque j'aurais terminé

Mes courses sont toutes positives, par exemple X de 0 à 275 mm.
Je fais mon référencement matériel du 0 absolu, face avant, coté gauche à 5 mm du bord.
En suite j'active les "soft limits", et je passe en référence relative là ou je veux mon zéro usinage.
Ok, et pour ton Z ? Pour ma part j'ai bêtement mis une course négative, (par exemple de -50 [bas] à 0 [haut]), j'imagine que tu as fais l'inverse (ex: 0 [bas] à +50 [haut]) , est ce qu'il y a un avantage ?

J'utilise pas la sonde, je tangente avec une feuille de papier.
Ca me fait pensé que je reglais mes rupteurs de Solex et 2CV avec du papier OCB...
J'ai bien une sonde livrée avec la machine, je crois que dans un premier temps je vais utiliser ta technique.


Pendant que tu as le boîtier ouvert, prend la référence du Transistor de puissance de la carte d'alimentation de la broche, celui sur radiateur.
Normalement un IRF630
Si tu bloques la broche en cours d'usinage, en oubliant de faire des attaches par exemple.
C'est lui qui va dégommé. J'ai fait l'expérience. :eek:
Conseil très judicieux, il est encore ouvert, c'est un IRF740 comme sur le schéma de @tronix , je dois avoir ce type de Mosfet dans les tiroirs.

IMAG1473.jpg


Un grand MERCI à toi @El_Mapo pour ces excellents conseils et remarques
 
R

rom1nux

Apprenti
VÉRIFICATION DE LA VITESSE

On va quand même vérifier la cohérence de la vitesse.

Si on considère les paramètres suivants préalablement déterminés théoriquement :

Détermination du nombre de pas par mm :
U = ( 200 * 8 * (1 / 1) ) / 4 = 400 pas/mm

Détermination durée d'un pas :

Pour effectuer 1 pas il faut générer une période complète de "step" soit
T = 100us + 100us = 200 us

Détermination du nombre de pas par seconde :
W = 1 / T
W = 1 / 200e-6 = 5000 pas/s


Détermination du nombre de mm par seconde :
V = W / U
V = 5000 / 400 = 12.5 mm/s (soit 750 mm/min)


La vitesse maximal, en provenance de la config Mach3 préconisée par le constructeur n'est pas en accord avec la configuration théorique du "step time" 12.5 ms < 30 mm/s

Essayons de déterminer la durée du "step time" nécessaire pour assurer une vitesse V' de 30 mm/s

Détermination du nombre de pas par seconde nécessaire :
A = V' * U
A = 30 * 400 = 12000 pas/s


Détermination de la durée d'une période de "step" :
T = 1 / 12000 = 83e-6 s (soit 83µs)

Détermination du "step time" (rapport cyclique 50%) :
S = 83e-6 / 2 = 41.5e-6 s (soit 41 µs)

Pour assurer cette vitesse il faudrait un "Step time" de 41µs (soit 41000 ns) et une "Valeur space" d'aussi 41 µs (soit 41000 ns)

Pour info, j'ai calculé un certain nombre de vitesses/StepTime :

La préconisation LinuxCNC pour le TB6560 fournie par @gaston48 et @ericT est disponible ici

Si je n'ai pas fait d'erreur ça donne une bonne échelle et une idée de l'influence du StepTime
 
Dernière édition:
V

vres

Compagnon
Je prends donc la vitesse la plus basse arrondie à la dizaine soit
Vitesse maximale : 30 mm/s

Accélération maximale
Le guide Mach3 et le fichier indique 200 mm/s²

Bonjour,
30 mm/s ce n'est pas rapide, et 200mm.s-² va reduire les performances sur les courbes.
Si tu veux une machine plus dynamique vise au moins le double pour les 2.
Ne te focalises par sur les réglages dans le logiciel entre 400Steps/mm avec 30mm/s ou 200/Steps avec 60mm/s je choisi la 2eme solutions sans hésiter.

Normalement un bon moteur Pas à Pas permet d'obtenir des vitesses de 100mm/s avec une vis au pas de 5 sans problème. ( donc 80 mm/s avec une vis au pas de 4)
 
R

rom1nux

Apprenti
Salut @CNCSERV,
Déjà merci pour le coup de main.

30 mm/s ce n'est pas rapide, et 200mm.s-² va réduire les performances sur les courbes.
Oui je me rends bien compte que ce n'ai s rapide, et pourtant, apparemment, c'est même trop rapide pour le contrôleur lowcost.
Tu veux dire que l'accélération n'est pas cohérente avec la vitesse max ?

Si tu veux une machine plus dynamique vise au moins le double pour les 2.
J'aimerais bien mais ca semble etre au détriment de la fiabilité, ce contrôleur ne tiendra pas le choc semble t'il (enfin de façon fiable)

Ne te focalises par sur les réglages dans le logiciel ...
Beaucoup de gens on des problèmes avec ces contrôleur de m.... je cherche a faire quelque chose de fiable avec ce que j'ai, plus tard, j'investirais peut être dans un contrôleur fiable mais je voudrais la faire tourner proprement dans l'état si c'est possible.

... entre 400Steps/mm avec 30mm/s ou 200/Steps avec 60mm/s je choisi la 2eme solutions sans hésiter.
Ok, c'est bon a savoir, mettre l'accent sur la vitesse que sur la finesse, je vais essayer de me mettre ça dans le crane.

Normalement un bon moteur Pas à Pas permet d'obtenir des vitesses de 100mm/s avec une vis au pas de 5 sans problème. ( donc 80 mm/s avec une vis au pas de 4)
Très bonne information, ça me donne un ordre de grandeur, mais le problème n'est pas vraiment les moteurs, c'est la contrôleur qui ne semble théoriquement pas pouvoir tenir la cadence

Merci encore pour tes conseils avisés.
 
V

vres

Compagnon
Très bonne information, ça me donne un ordre de grandeur, mais le problème n'est pas vraiment les moteurs, c'est la contrôleur qui ne semble théoriquement pas pouvoir tenir la cadence

Pas du tout, ce qui fait la performance c'est les caractéristiques du moteur, son couple, son courant son inductance etc.. etc...

Je viens de regarder le datasheet du TB6560 et effectivement avec une capa de 820pF ce n'est vraiment pas la joie au niveau de la fréquence d'entrée.

Cela confirme ce que je t'ai dit plus haut: passes en 1/4 de pas avec 200Step/mm. Le gain de précision entre 1/8 de pas et un 1/4 de pas n'est pas prouvé surtout avec une vis au pas de 4.


Tu ne peux pas changer cette capa par une de 330pF ?

Félicitation pour tes calculs :wink:

Ah j'ai trouvé le schéma de ta carte sur le post #3 de Tronics, effectivement à part changer la capa avec un certain risque ou couper des pistes, il n'y a pas grand chose à faire
 
Dernière édition:
T

tronix

Compagnon
Bonjour,

pour les sens de déplacement, il faut être cohérent avec la CAO qui va générer le gcode. Règle du tire-bouchon pour les axes XYZ. Ce qui fait normalement que le 0 du Z est en haut et que l'on passe en négatif quand la broche descend.
 
R

rom1nux

Apprenti
Pas du tout, ce qui fait la performance c'est les caractéristiques du moteur, son couple, son courant son inductance etc.. etc...
Ok, mais j'imaginais que si LinuxCNC envois par exemple 10 steps mais que le TB6560 n'en interprète que 9 parce que le signal est trop rapide, il y a perte de pas, peut importe les moteurs connectés...

Je viens de regarder le datasheet du TB6560 et effectivement avec une capa de 820pF ce n'est vraiment pas la joie au niveau de la fréquence d'entrée.
Oui j'ai l'impression que c'est la limite principale de ces petites machines pas chère...

Cela confirme ce que je t'ai dit plus haut: passes en 1/4 de pas avec 200Step/mm. Le gain de précision entre 1/8 de pas et un 1/4 de pas n'est pas prouvé surtout avec une vis au pas de 4.
Est ce que je peux faire ça ? Les broches M1 & M2 du TD6560 sont tirées au niveau toutes les deux, le controleur est donc configuré en interpolation sur 8 microsteps (1/8) "en dûr"
Dans ce cas, comment je compense le coeff 2 dans la config de LinuxCNC ?
(Y'a bien la solution de couper la piste, mais en soft ?)

Tu ne peux pas changer cette capa par une de 330pF ?
Je ne voulais pas trop la bricoler par manque de temps mais tu es en train de me motiver doucement...

Ah j'ai trouvé le schéma de ta carte sur le post #3 de Tronics, effectivement à part changer la capa avec un certain risque ou couper des pistes, il n'y a pas grand chose à faire
Dans l'état du me confirme donc la limitation de vitesse a cause du StepTime/StepSpace ?
Enfin est ce que mon raisonnement est le bon ?
Est ce que tu confirmes ce qui suit ? :
"Dans l'état, avec la config actuelle du contrôleur le StepTime/StepSpace est imposé à 100µs/100µs donc une vitesse max 700mm/min (voir moins avec une marge de secu)"
"Si je change le conde pour un 330pF, je peux alors descendre le StepTime/StepSpace à 30µs/30µs et donc obtenir une vitesse max de 2500 mm/min (bon aller 2000 mm/min avec une marge de secu)"

pour les sens de déplacement, il faut être cohérent avec la CAO qui va générer le gcode. Règle du tire-bouchon pour les axes XYZ. Ce qui fait normalement que le 0 du Z est en haut et que l'on passe en négatif quand la broche descend.
Ok @tronix, ca me semblai aussi logique ainsi, et effectivement je dessin dans ce sens, enfin je fais faire les passes a Heeks dans ce sens.

Encore un grand MERCI à @tronix et @CNCSERV pour votre aide précieuse, vous me faites gagner un temps fou !
 
Dernière édition:
V

vres

Compagnon
Dans l'état du me confirme donc la limitation de vitesse a cause du StepTime/StepSpace ?
Enfin est ce que mon raisonnement est le bon ?
Est ce que tu confirmes ce qui suit ? :
"Dans l'état, avec la config actuelle du contrôleur le StepTime/StepSpace est imposé à 100ms/100ms donc une vitesse max 700mm/min (voir moins avec une marge de secu)"
"Si je change le conde pour un 330pF, je peux alors descendre le StepTime/StepSpace à 30ms/30ms et donc obtenir une vitesse max de 2500 mm/min (bon aller 2000 mm/min avec une marge de secu)"

Oui, je confirme, le concepteur de l'a carte n'a pas trop réfléchi, vis au pas de 4 , une fréquence de 5 KHz et une résolution au 1/8, c'est une vitesse de déplacement très limitée.

Si le remplacement d'un TB6560 ne te fais pas trop peur, tu peux tenter une capa de 330pF, 15kHz c'est déjà beaucoup mieux sans être extraordinaire.
 
E

ericT

Apprenti
bonjour a tous , bonjour rom1nux
a combien est ton latency test? car je vois que tu as laissé max jitter 15000 dans ta config
 
E

El_Mapo

Apprenti
Salut à tous,
@rom1nux ton poste sur le calcul de la fréquence d'oscillation est très juste.
Je viens de trouver ce thread sur CNCZone qui parle de notre carte et des problèmes de pertes de pas.
https://www.cnczone.com/forums/chinese-machines/190286-cad-2.html
Cette carte a plusieurs problèmes de conception:
Le poste #22 de Max768 parle du problème 1

1-Comme tu l'as toi même calculé. En fonction des condos C39, 40, 41 on sélectionne la fréquence d’oscillation et la durée minimale d'impulsion.
Le max d'impulsion de Mach3 est de 15us (et pas 5 comme le suggère l'interface)

Le schéma de Tronix ne me semble pas exactement ceux de notre carte.
Par exemple, on ne voit pas le connecteur du quatrième port, celui qui est dans le prolongement du connecteur de la sonde.

Bref, je suis pas sur de la valeur de ces condos, mais elle peut poser problème. 830 pf me semble énorme !?
Les recommandations de configuration soft serait sous Mach3 de sélectionner le maximum de largeur d'impulsion avec 15us, et utiliser le mode Sherline.

2-J'en viens on second point qui semble être le plus problématique.
Les concepteurs n'ont pas respecter la doc du TB6560.
Ils n'ont pas découplé correctement ce qui conduit à une forte sensibilité aux parasites.
La modification consiste a soudé un condo 450nf 63V entre la pinoche 15 (la masse) et une piste avec du 24V.

On voit très bien ici :
https://www.cnczone.com/forums/chinese-machines/190286-cad-7.html#post1476978

Bref je te recommande de récupérer un comparateur et de vérifier si ta machine à ce problème ou pas.

Voici un bout de g-code pour le test de l'axe X:
======================================================
G21 ; Set units to millimeters
G90 ; Use absolute coordinates
F1800 ; Set Working Speed

; Appel de la sous-routine
M98 P1000 L5 ; Appeler sous-routine 1000 et executer 5 fois

; Progr
G0 X0
G1 X-5 F100
M30 ; Fin de Programme

;------------------------------------------
; Sous-routine 1000
O1000 ; Debut sous-routine
G1 X100
G1 X0
M99 ; Fin Sous-routine

============================================================

La routine fait 5 aller-retour X0 vers X100 a la vitesse de 1800mm/min. Et fini doucement, en x-5mm pour la mesure

Pour finir, la question de l'axe Z .
1- C'est plus facile pour moins de faire mon référence des zeros avec broche en bas.
2- Quand je dessine une pièce en 3D, le plan du Z est a 0, donc la pièce va généralement de 0 à xx mm.
Mais je doit dire que dans Camban, maintenant je met le zéro sur la surface de la pièce et je les coordonnées négatives veulent dire que je rentre dans la matière.
Mais ce ne sont que des conventions.
Fais ce qui te sembles le plus intuitif pour toi.

Ciao !
 
Dernière édition:
R

rom1nux

Apprenti
Bonjour à tous,

Déjà un grand merci pour votre aide, vous me permettez d'avancer a grand pas (sans mauvais jeu de mots :P)

Oui, je confirme, le concepteur de l'a carte n'a pas trop réfléchi, vis au pas de 4 , une fréquence de 5 KHz et une résolution au 1/8, c'est une vitesse de déplacement très limitée.
Salut, @CNCSERV, ok, ça me rassure de savoir que mon raisonnement n'est pas trop mauvais sur ce point.

Si le remplacement d'un TB6560 ne te fais pas trop peur, tu peux tenter une capa de 330pF, 15kHz c'est déjà beaucoup mieux sans être extraordinaire.
Je vais sortir le binoculaire et essayer de trouver ces satanés C39, C40 et C41 déjà pour voir si je le sent ou pas.

bonjour a tous , bonjour rom1nux
a combien est ton latency test? car je vois que tu as laissé max jitter 15000 dans ta config
Salut @ericT, bonne remarque, comme c'est le seul paramètre que je savais renseigner je l'ai un peu zappé, je vais refaire un test de latence plus long, plus chargé, plus sérieux mais il me semble être autour des 10µs (10000ns) pour le max du max jitter.

Je viens de trouver ce thread sur CNCZone qui parle de notre carte et des problèmes de pertes de pas: https://www.cnczone.com/forums/chinese-machines/190286-cad-2.html
Le poste #22 de Max768 parle du problème 1
Salut @El_Mapo, Excellent thread, je viens de m'inscrire sur cnczone pour avoir accès aux ressources graphiques, effectivement les gars pointent un bon paquets de problèmes, il me semble qu'il n'y a pas le choix de sortir le fer a souder... Je vais lire ça attentivement, c'est dense.

1-Comme tu l'as toi même calculé. En fonction des condos C39, 40, 41 on sélectionne la fréquence d’oscillation et la durée minimale d'impulsion. Le max d'impulsion de Mach3 est de 15us (et pas 5 comme le suggère l'interface)
Oui ce qui est fou c'est que même 15µs avec les temps de monté des fronts montants, et la latence de la chaine nous somme quand même loin des 82µs théorique. Dans mon guide Mach3, le fournisseur préconise 3µs... je ne sais pas si il faut en rire ou en pleurer :P

Le schéma de Tronix ne me semble pas exactement ceux de notre carte.
Par exemple, on ne voit pas le connecteur du quatrième port, celui qui est dans le prolongement du connecteur de la sonde.
Pour moi le connecteur P1 sur le PCB c'est le connecteur J4 sur le schéma.
Image1.png

Image2.png



Le nommage des composants n'est effectivement pas le même, je vais regarder plus attentivement mais pour le moment mon PCB colle pas mal au schéma.

Bref, je suis pas sur de la valeur de ces condos, mais elle peut poser problème. 830 pf me semble énorme !? Les recommandations de configuration soft serait sous Mach3 de sélectionner le maximum de largeur d'impulsion avec 15us, et utiliser le mode Sherline.
Oui tu as raison, surtout si ça tourne bien, sans perte de pas, depuis un moment avec un StepTime de 15µs, il y'a une incohérence, il faut éclaircir ça. (Je ne sais pas ce que fait le mode Sherline, je vais regarder)

2-J'en viens on second point qui semble être le plus problématique.
Les concepteurs n'ont pas respecter la doc du TB6560.
Ils n'ont pas découplé correctement ce qui conduit à une forte sensibilité aux parasites.
La modification consiste a soudé un condo 450nf 63V entre la pinoche 15 et la masse.
On voit très bien ici : https://www.cnczone.com/forums/chinese-machines/190286-cad-7.html#post1476978
Oui ça semble être impératif de régler ce problème de filtrage, je suis en train de lire le fil, tand qu'a sortir le fer, il semble y avoir un peu de customisation a faire sur cette carte.

Bref je te recommande de récupérer un comparateur et de vérifier si ta machine à ce problème ou pas.
Trop bien ! Merci @El_Mapo. J'ai passé 2H à chercher mon comparateur que j'ai enfin retrouvé, avec ton petit script gcode c'est impec. Je ne suis pas encore très à l'aise avec le gocde, je ne savais même pas qu'on pouvait faire des sous-routine par exemple... mais je comprend globalement le principe, c'est parfait !

Pour finir, la question de l'axe Z .
Fais ce qui te sembles le plus intuitif pour toi.
Oui je commence à être un peu plus a l'aise avec ces notions

Encore merci a tous pour votre aide, comme il est démonté, je vais sortir la carte du coffret du contrôleur et essayer de synchroniser la nomenclature avec le schéma, tester la perte de pas de la carte dans l'état, finir de lire le thread sur cnczone et voir si je me lance dans la customisation de cette satané carte.
 
R

rom1nux

Apprenti
Salut,

Je voulais vérifier la valeur du condensateur Cosc connecté à la pin OSC (7) qui détermine la taille minimum de l’impulsion step. Du coup j'ai relevé le signal sur la pin OSC, donc aux bornes du condensateur.

Image1.png


Le datasheet indique qu'il doit y avoir un signal triangulaire dont la fréquence est inversement proportionnelle à la valeur du condensateur

Image2.png


Voici une mesure pour voir l'allure du signal, désolé pour la qualité de la photo

Image3.png


Et une autre pour en mesurer la période

Image4.png


On y trouve bien un signal carré dont la période est de 4.5µs, soit une fréquence de 222 KHz

Le datasheet donne la relation Fosc(kHz) vs Cosc(pF) suivante :
Fosc=1/(Cosc*1.5*(10/Cosc+1)/66)*1000

On cherche donc Cosc, on remanie un peu la formule :
Fosc=66000/(15+1.5*Cosc)

On resout l’équation :
Cosc=(66000/Fosc-15)/(3/2)
Cosc=132000/(3*Fosc)-10

Donc avec Fosc=222 KHz, on trouve Cosc = 188.1 pF

La valeur standard la plus proche, est Cosc = 180 pF (E12) ou Cosc = 200 pF (E24)

Donc bien loin 820 pF et heureusement ! Yip ha ! :supz:

Comme la largeur de pulse minimum correspond à la valeur du condensateur (/10), la largeur de la pulse minimum (StepTime) est donc de 20 µs avec un rapport cyclique de 50% la période du signal (StepTime+StepSpace) est de 40 µs soit une fréquence de 25 kHz (ou 25000 pas/s)

Avec cette fréquence, j’obtiens une vitesse max théorique de 62.5 mm/s soit 3750 mm/min

Mais il est a noter que la frequence maximum administrable par le TD6560 est de 15 kHz

Image5.png


Pour une frequence de 15 kHz, (Période de 66 µs, soit un StepTime/StepSpace de 33 µs) je peux obtenir une vitesse max théorique de 37.5 mm/s soit 2250 mm/min


C'est plutôt une bonne nouvelle concernant la réactivité de la machine, je vais pouvoir partir avec des timing cohérents pour LinuxCNC et pouvoir tester la perte de pas avec le script de @El_Mapo sans avoir a toucher le contrôleur pour le moment.
 
Dernière édition:
R

rom1nux

Apprenti
Salut @CNCSERV
Comme je n'ai pas d'expérience en la matière, je ne me rends pas vraiment compte, mais en regardant quelques autres contrôleurs populaires dans la même gamme de prix (~3$), je m’aperçois que le TB6560 est bien une brouette.

En plus, il semble que le TB6560 soit le plus sensible et demande le plus de précautions en terme de filtrage d'alimentation (...que le fabriquant de ma carte électronique n'a pas respecté bien entendu.)

Mais bon, j'ai l'impression que 15kHz pour usiner des façades ça ira bien pour un néophyte comme moi...
 
T

tronix

Compagnon
Bonjour,

je vais essayer de relever ma configuration dans la journée.

Mais je suis aussi du même avis à propos de la vitesse d'usinage. Pour nos besoins, et avec les caractéristiques de la machine, il ne faut pas trop se prendre la tête dès que cela fonctionne correctement à une vitesse raisonnable. Quand on fera de l'usinage à longueur de journée, en maîtrisant parfaitement tout le reste, il sera temps de revenir là dessus, mais peut-être avec une autre machine alors.
 
R

rom1nux

Apprenti
Salut @tronix ,

je vais essayer de relever ma configuration dans la journée.
Top, merci, c'est très sympa :prayer:

Mais je suis aussi du même avis à propos de la vitesse d'usinage. Pour nos besoins, et avec les caractéristiques de la machine, il ne faut pas trop se prendre la tête dès que cela fonctionne correctement à une vitesse raisonnable. Quand on fera de l'usinage à longueur de journée, en maîtrisant parfaitement tout le reste, il sera temps de revenir là dessus, mais peut-être avec une autre machine alors.
J'abonde dans ce sens :smt023
 
E

El_Mapo

Apprenti
Salut Rom1nux et les autres,

1-Oui, effectivement, j'avais pas vu le connecteur sur le schéma. C'est bien celui-là.
Mais il y a des différences entre ma carte et le schéma proposé.
Les capas étant des CMs, je pense que les valeurs indiquées ont été obtenues au doigt mouillé mais j'y revient plus tard.


2-Nos cartes sont proches mais pas identiques.
Tu as donc une révision sans doute bien plus récente qui n'a peut être pas de problème.

J'ai fini par rouvrir mon boîtier et voici ma carte :

Carte_NT65-3X_2018_03_26.jpg



4-J'ai branché mon oscillo et mesuré la fréquence d'oscillation qui me donne 9.4us soit env 106.4 Khz

5-J'ai jeté un oeil à la doc du TB6560. Les valeurs recommandées pour la durée min de l'impulsion CLK correspondent à 4 cycles Oscillations.
C'est du au fonctionnement du Decay qui s'étale sur 4 cycles fchop.
Par exemple pour la fréquence de 400kHz cela donne une période de 2.5us, si on prend 4 cycles cela donne 10us.

Voir le chapitre => Current Waveforms and Mixed Decay Mode Settings

6- En ce qui me concerne, j'ai DCY1=H, DCY2=L soit un mode decay à 25%
Et M1=M2=H donc aussi 2W1-2-phase soit 1/8 ieme de pas. :-D

7- On voit que tu as des capas de découplage supplémentaires. Ta carte a je l’espère un correctif au problème de perte de pas.

Ciao !
 
R

rom1nux

Apprenti
Salut @El_Mapo

2-Nos cartes sont proches mais pas identiques.
Tu as donc une révision sans doute bien plus récente qui n'a peut être pas de problème.
J'éspère aussi, je n'ai pas trouvé le temps de faire le test avec ton script, je dois bricoler un montage pour mon comparateur.

J'ai fini par rouvrir mon boîtier et voici ma carte ...
Ha oui effectivement, il y'a des petites nuances et j'ai quelques condensateur en plus...

4-J'ai branché mon oscillo et mesuré la fréquence d'oscillation qui me donne 9.4us soit env 106.4 Khz
Ok,

Image2.png


donc avec
Cosc=132000/(3*Fosc)-10
Cosc=132000/(3*106.4)-10
Cosc=309pF théorique
Soit 330 pF (E12)

Donc une durée de d'impulsion "step" minimum de 33 µs, et avec un rapport cyclique de 50% une période totale de 66µs, soit une frequence de 15 kHz (15000 steps/s) la limite max du TB6560 (vitesse max théorique de 37.5 mm/s soit 2250 mm/min). C'est cohérent

5-J'ai jeté un oeil à la doc du TB6560. Les valeurs recommandées pour la durée min de l'impulsion CLK correspondent à 4 cycles Oscillations. C'est du au fonctionnement du Decay qui s'étale sur 4 cycles fchop. Par exemple pour la fréquence de 400kHz cela donne une période de 2.5us, si on prend 4 cycles cela donne 10us. Voir le chapitre => Current Waveforms and Mixed Decay Mode Settings
D'après ce que j'en comprend, si tu respecte la longueur de pulse min imposé par Cosc (Cosc /10) avec un rapport cyclique max de 50% tu auras toujours plus que 4 périodes de Fosc et donc la mécanique d'application du decay sera toujours valide... A moins que j'ai rien compris à ce principe...

6- En ce qui me concerne, j'ai DCY1=H, DCY2=L soit un mode decay à 25% Et M1=M2=H donc aussi 2W1-2-phase soit 1/8 ieme de pas. :-D
Sur le schéma le decay est à 100%, je vais vérifier sur ma carte

7- On voit que tu as des capas de découplage supplémentaires. Ta carte a je l’espère un correctif au problème de perte de pas.
Tu n'as pas de perte de pas ? Tu n'as pas eu besoin de faire la modif (Condo de 470 nF) pour découpler l'alim ? (Si besoin je met "l'application note" du TD6560 en pièce jointe, voir page 4 et 5 pour le shema d'application typique et les recommandation sur les condensateurs)



Je dois trouver une petite équerre métallique pour monter mon comparateur, je n'ai qu'un pied magnétique de mauvaise qualité et bien sûr il n'aimante pas sur l'alu. Je vais essayer de faire ça demain, je te tiendrais au courant.
 

Fichiers joints

  • TB6560AHQ_application_note_en_20090324.pdf
    195.6 KB · Affichages: 109
Dernière édition:
V

vres

Compagnon
C'est quand même un peu étrange cette relation entre la fréquence de découpage et l'entrée CLK, il est évident que pour faire varier le courant de 0 à 100% dans une bobine, il faut 2 impulsions en 1/2 pas et 16 en 1/16 de pas.
Il est aussi évident que les drivers qui ont une fréquence d'entrée de 200kHz n'ont pas une fréquence de découpage de 800kHz.

Sur le TB6564AHQ on a une fréquence oscillateur de 4MHz, une fréquence de pulses de 200kHz admissible et une fréquence de découpage de 40kHz.


Je commence à comprendre les problèmes de perte de pas avec ces drivers.
 
R

rom1nux

Apprenti
...a combien est ton latency test? car je vois que tu as laissé max jitter 15000 dans ta config
@ericT, du coup j'ai laissé tourné 1H et finalement 15000 ns c'est l'ordre de grandeur. J'ai un max du max de jitter de 13362 ns

latency.png


Je vais donc laisser configurer 15000 ns.
 
R

rom1nux

Apprenti
En survolant les configurations au début du post, je pense qu'il y a une erreur sur le Z, il me semble que la vis n'a pas le même pas que celles du X et du Y. Une règle suffit à contrôler tout ça.
Bonne remarque @tronix, il fallait vérifier, j'ai essayé de mesurer au pieds à coulisse, je n'arrive pas a mesurer le vis X, sauf en bout sur le filetage de butée
C'est donc bien les mêmes vis, monté avec les mêmes moteurs, avec la même configuration de driver de bas niveau.
 
V

vres

Compagnon
Comme ça au moins, on sait vers quel driver ne PAS se tourner en cas de changement de contrôleur...:-D

Et surtout maintenant on saura quoi répondre au forumeurs qui rencontrent des problèmes de pertes de pas avec les drivers à base de ce circuit.
Merci:smt023
 
Dernière édition:
T

tronix

Compagnon
Voici ma configuration, j'ai modifié le minimum en pratique.
Je constate en même temps qu'il n'y a pas de différence de pas pour les 3 axes.
Il est probable que certains paramètres ne soient pas ajustés au mieux, mais cette machine sert de temps en temps et pour du professionnel, je n'ai donc pas beaucoup de temps à y consacrer, paradoxalement ! Elle remplit sa fonction, je n'en demande pas plus pour l'instant.



Capture-EMC2 - HAL Latency Test.png


Capture-Configuration de LinuxCNC pour moteurs pas à pas.png


Capture-Configuration de LinuxCNC pour moteurs pas à pas-1.png


Capture-Configuration de LinuxCNC pour moteurs pas à pas-2.png


Capture-Configuration de LinuxCNC pour moteurs pas à pas-3.png


Capture-Configuration de LinuxCNC pour moteurs pas à pas-4.png


Capture-Configuration de LinuxCNC pour moteurs pas à pas-5.png
 
R

rom1nux

Apprenti
Salut @tronix ,
Merci à toi d'avoir pris le temps de poster ta configuration, c'est vachement sympa, je vais pouvoir m'en inspirer.
Tu ne constates pas de perte de pas avec cette config ? J'ai l'impression que les timings sont un peu short.
Encore merci.
 
T

tronix

Compagnon
Ma configuration n'est en effet peut-être pas optimale. Mais elle semble fonctionner correctement, j'ai déjà usiné un certain nombre de faces avant de coffrets, assez grandes (aux limites de la machine, j'ai même sorti le guide câble), avec comme expliqué une plaque de renfort montée ensuite à l'arrière et usinée sur une machine laser professionnelle. D'autre part, j'ai souvent relancé l'usinage en changeant l'offset Z car les faces ne sont pas forcément planes, et j'avais tendance à définir une épaisseur trop faible pour générer le gcode. Donc découpe incomplète à certains endroits... Et la fraiseuse repassait bien au même endroit, sans différence perceptible.
Ce sujet me servira, quand j'aurai un peu de temps, à vérifier le fonctionnement et le paramétrage, et corriger les problèmes potentiels.
 
R

rom1nux

Apprenti
Je met ici la config que je vais tester pour ceux que ça intéresse. C'est une config un peu "molle" orientée fiabilité au détriment de la vitesse.

BASE INFORMATION

A.PNG


  • J'utilise une période (StepTime+StepSpace) de 70µs (35+35) pour obtenir une frequence de CLK 14.2kHz un poil en dessous de la limite du TB6560 (15 kHz)
  • Pour obtenir la latence max (max jitter),qui depend du PC pas de la CNC, j'ai laissé tourné le teste de latence une heure sur une machine chargée et sollicité, j'obtient un max de 13362 ns, j'ai donc laissé 15000 ns
  • Notez aussi la frequence maxi des pas calculée en prenant en compte la latence (dans mon cas 10 kHz)
PARALLEL PORT

B.PNG


  • J'ai déterminé le mappage des broches, avec le guide Mach3 fournis avec la machine (qui est erroné) j'ai corrigé empiriquement en faisant quelques test (j'ai inversé les signaux de direction) et à l'aide du schema de @tronix j'ai affiné, j'ai désactivé la commande de sens de rotation de la broche indiqué dans le quide Mach3 qui n'existe pas.
AXIS X

C.PNG


  • Avec l'aide du Guide Mach3, en regardant le schema et la configuration "en dur" du TB6560, avec les caractéristiques de la vis sans fin et en faisant quelques essais empirique j'ai déterminé les premiers 4 paramètres (200 pas, 8 µpas, 1:1, 4 mm/tour = 400 pas/mm).
  • Pour la vitesse maximal j'ai pris la frequence max que mon port parallèle peut générer (c'est a dire en tenant compte du jitter), soit 10kHz (ou 10000 pas/s) calculé dans "Base information"
    10000/400 = 25 mm/s (soit 1500 mm/min)
  • Pour la course de la table, j'ai fais quelques essais de replacement du portique (de 0 à 280 mm)
  • Pour l'emplacement de l'origine, je considère que j'essaye de me mettre a 5 mm ou moins du bord lorsque je fais le zeroing de la machine.

AXIS Y

D.PNG

  • Idem que l'axe X, la course max de la table passe à 380mm

AXIS Z

E.PNG

  • Idem pour l'axe Z sauf qu'on descend un peu la vitesse max et on change la course de l'axe.

BROCHE

F.PNG

  • Pour la frequence du PWM, j'ai fais plusieurs essais empirique, une frequence trop basse et le régime de la broche est très fluctuant on l'entend ronronner, à 500 Hz le régime semble stable à l'oreille.
  • Pour déterminer le rapport cyclique (de 0 à 100% autrement dit de 0.0 à 1.0) du PWM il faut savoir que LinuxCNC fait une interpolation linéaire, il faut donc lui mettre les "coordonnées" des deux points de la droite. le 0% : 0,0 puis le 100% : vmax,1

J'ai commencé a tester cette config, je vous tiendrais au courant
 
Dernière édition:
R

rom1nux

Apprenti
Alors j'essaye de mettre en place une procédure pour vérifier la précision de ma machine et la perte de pas, je ne suis pas très doué en "métrologie" , donc si quelqu'un peut me valider ma méthode, je suis preneur ?

J'ai donc monté (comme j'ai pu) un comparateur pour vérifier dans un premier temps l'axe Y. (On ne rigole pas sur mon montage SVP)

IMAG1538.jpg


J'ai adapté le script GCODE de @El_Mapo pour l'adapter à LinuxCNC, l'idée c'est de faire plusieurs aller/retour sur l'axe a 3 vitesses differentes, j'ai ajouté des variables dans le script qui permettent de le configurer rapidement.

Ici il est configurer pour :
  • Déplacement de 0 à 200 mm
  • 10 x aller/retour à 1500 mm/min (vitesse max)
  • 5 x aller/retour à 750 mm/min (vitesse moyenne)
  • 3 x aller/retour à 100 mm/min (vitesse lente)
Après chaque test de vitesse, le script se met en pause pour pouvoir relever la valeur du comparateur.


1 - HOMING
J'ai donc positionné mon comparateur, et j'ai amené doucement la broche en contact pour qu'elle pousse la pige d'environs 1 mm, puis j'ai tourné le cadrant pour faire le 0 du comparateur. J'ai ensuite fait le "homing" (toucher des axes) sur LinuxCNC. Puis j'ai lancé le script

O.jpg


2 - VITESSE MAX
Après 10 x aller/retour à 1500 mm/min (~2m40s) la broche est revenue en contact avec le comparateur puis le script s'est mis en pause, j'ai alors relevé la valeur suivante.

VH.jpg


3 - VITESSE MOYENNE
J'ai remis le cadrant du comparateur à 0, j'ai relancé le script puis après 5 x aller/retour à 750 mm/min (~2m40s) la broche est revenue en contact avec le comparateur puis le script s'est mis en pause, j'ai alors relevé la valeur suivante.

VM.jpg


4 - VITESSE LENTE
J'ai remis le cadrant du comparateur à 0, j'ai relancé le script puis après 3 x aller/retour à 100 mm/min (~12m) la broche est revenue en contact avec le comparateur puis le script s'est arrêté, j'ai alors relevé la valeur suivante.

VS.jpg


5 - CONCLUSION

Voici donc le résumé du test de ~15min


Le fabriquant indique : "Précision de positionnement: 0.05mm"
Mais je sais aussi qu'un pas équivaut a une distance de 1/400 soit 2.5µm, et que ma différence de mesure de -0.01 mm correspond donc à 4 pas.

Du coup je ne sais pas trop quoi en penser, est ce que c'est un comportement normal (du aux différents jeux de la machine, montage comparateur, précision du comparateur, etc...) ou est ce que j'ai perdu 4 pas ? Est ce que quelqu'un a une idée ?

Et pensez vous que ma méthode vérification d'un axe est valable ? (Je voudrais l'appliquer sur les autres X et Z)
 
Dernière édition:

Sujets similaires

S
Réponses
18
Affichages
2 630
rebarbe
rebarbe
El Zorro
Réponses
12
Affichages
575
El Zorro
El Zorro
F
Réponses
9
Affichages
339
Doctor_itchy
D
G
Réponses
3
Affichages
465
mickbzh
mickbzh
Haut