DRO par step/dir

  • Auteur de la discussion osiver
  • Date de début
osiver
osiver
Compagnon
Certains savent que je suis heureux propriétaire d'une fraiseuse CNC EMCO F3-CNC avec son contrôleur d'origine EMCOTRONIC M1.
Cette machine me donne satisfaction mais elle est franchement orientée programmes. Je veux dire pas du tout utilisation manuelle.
Par exemple, il n'est pas possible directement de faire un zéro pièce. Il faut passer par le mode Exec, entrer un G92 avec les valeurs absolues de l'origine pièce (en tenant compte de l'offset de l'outil déclaré) puis un G59 pour activer le changement d'origine et actionner la touche EXEC enfin revenir au mode Manuel ... :roll:
Tout ça éminemment logique et sans problème dans un programme mais trop compliqué à utiliser quand on veut juste faire une petite opération. Résultat : j'ai l'ardoise avec laquelle je note la position d'origine en coordonnées machine et la position que je cherche à atteindre en fin de passe par exemple. C'est loin d'être optimal. Bien entendu elle n'a pas non plus de fonctions avancées en mode manuel.
J'ai déjà bien amélioré la situation en ajoutant une commande de jog déportée de façon à pouvoir travailler face à ma pièce mais je souhaiterais aller plus loin.
Mon idée serait d'acheter une visu DRO 3 axes de ce genre ou plus simple (pour les fonctionnalités) mais au moins avec calcul de centre, compensation de pinule etc :


MAIS je ne veux pas rajouter de règles ET je sais où trouver les Step et DIR (en signaux TTL plutôt 0-12V ) de mes 3 axes.

Ma question devient donc : avez-vous connaissance de telle DRO qui accepte en entrée Step/dir avec bien sûr paramétrage step/mm. 8-)
 
Dernière édition:
greg_elec
greg_elec
Compagnon
Bonjour

sachant que bon nombre de réglés chinoises sont au standard TTL il ne devrait pas avoir trop de difficultés a adapter ça sur des signaux step/dir qui eux aussi sont en TTL

je me trompe?
Les signaux d'entrée de DRO sont en quadrature ce n'est pas du step/dir mais avec un petit µcontroleur ou des portes logiques ce serait possible d'adapter @pailpoe devrais pouvoir aider ...
 
S
speedjf37
Compagnon
Bonjour,

Les signaux d'entrée de DRO sont en quadrature ce n'est pas du step/dir mais avec un petit µcontroleur ou des portes logiques ce serait possible d'adapter

C'est exactement ce que je fais sur ma version ESP32 de Minithread créé par @pailpoe .
Comme je n'ai pas de règles je reboucle les infos Step/Dir sur les entrées X et Z .
Cela demande une modification de la programmation des compteurs en entrée .

Cordialement JF
 
osiver
osiver
Compagnon
Merci pour toutes vos réponses.
C'est ce que je me disais. Si je ne trouve pas de DRO acceptant directement les signaux Step/Dir, faire un triple convertisseur Step/Dir vers A/B quadrature.
Ce n'est évidemment pas la nature des signaux le problème, c'est du TTL asymétrique. Par contre, il faut que je me penche sur les signaux réels de la machine : durée, fréquence, synchro entre Dir et Step.
@speedjf37 faut que je regarde votre fil, un ESP32, ça me parait une bonne idée. Il y aurait la possibilité d'avoir 3 canaux (paires S/D) en entrée et 3 en sortie (A/B) = 12 GPIO ? Ou alors il faut un ESP32 par canal ?
 
V
vibram
Compagnon
Pour suivre et eventuellement essayer d'aider si je peux
 
S
speedjf37
Compagnon
un ESP32, ça me parait une bonne idée. Il y aurait la possibilité d'avoir 3 canaux (paires S/D) en entrée et 3 en sortie (A/B) = 12 GPIO ? Ou alors il faut un ESP32 par canal

Il y a 8 PCNT (compteur hardware 16 bit ) dans 1 ESP32.
Je n'ai pas testé la génération de signaux en quadrature , j'utilise une lib FastStepper en sortie.
il y a 6 module PWM en sortie

JF
 
V
vres
Compagnon
Bonjour,
Je me demande si c'est pas plus simple en TTL.
Pour générer les signaux en quadrature il suffit de faire un tableau avec un pointeur.
 
osiver
osiver
Compagnon
Je n'ai pas besoin de compteurs et Cie, je veux juste prendre les paires S/D (2 entrée chacune) et faire les paires A/B correspondantes pour simuler une règle ou un encodeur en quadrature ce qui nécessite 6 entrées et 6 sorties. :wink:
 
V
vres
Compagnon
Vu que la quadrature comme son nom l'indique ce fait sur 4 Steps, il faut passer par un compteur sur 2bits.
 
osiver
osiver
Compagnon
la quadrature comme son nom l'indique ce fait sur 4 Steps
Je ne suis pas trop d'accord avec ça. Le nom pour commencer est plus sur le fait que les signaux sont en quadrature de phase ce qui permet de déterminer le sens et effectivement de recouper le cycle en 4 étapes, un peu comme on fait des demi, quart de pas avec le moteur pas à pas.
Mais pour moi, un pas de mesure correspondrait à un cycle A ou un cycle B. Me trompe-je ?? :smt017
 
V
vres
Compagnon
Oui, c'est un domaine que je connais bien :wink:
Si on regarde les signaux des canaux A et B on a 4 possibilités. A partir de d'un signal Step il faut reproduire ces 4 possibilités.
En TTL il faut reproduire ces 4 possibilités. Il faut 2 compteurs et un inverseur pas axes. Le mieux serait de passer par une PLD.
 
osiver
osiver
Compagnon
Ah OK, TTL au sens portes logiques mais ça peut être du CMOS. Pas les caractéristiques du signal, tensions, niveaux logiques, limite de portes en sortie, etc ... :wink:

En résumé, ce sur quoi je m'interroge un peu c'est : si j'ai une impulsion Step (= 2,5µm sur ma machine) est-ce que je dois envoyer un cycle A = 1 état haut puis 1 état bas et aussi un cycle B (complet ?) pour que la DRO comprenne que c'est un incrément ?
 
V
vres
Compagnon
L'état de A et de B change tous les 2 pas avec un décalage de 1 pas entre A et B.

En logique, il faut utiliser 2 compteurs avec une inversion du Dir sur un compteur. Les signaux A et B sont les bits 1 des compteurs.
 
osiver
osiver
Compagnon
L'état de A et de B change tous les 2 pas avec un décalage de 1 pas entre A et B.
Oui, oui mais ce n'est pas ce que je cherche à savoir.
Prenons le problème dans un autre sens : quel est le cycle sur A/B que comprend la DRO pour considérer qu'elle doit avancer son affichage de son incrément minimum ?
 
V
vres
Compagnon
C'est bien cette séquence qui sera comprise par la DRO avec la résolution maximale.
 
osiver
osiver
Compagnon
OK donc avec une impulsion Step de ma machine, je dois générer un cycle bas/haut/bas sur A et un cycle identique sur B mais retardé d'un quart (= front montant à moitié de haut du A).
Ceci pour un sens, naturellement.

Pour fixer les idées, j'ai relevé un oscillogramme du DIR et des STEPS à 3000mm/mn (vitesse maxi du G0) sur X avec un tout petit programme qui fait un aller et retour de 2/100mm :

aller-retour_2_centiemes.JPG


On compte exactement 8 impulsions descendantes STEP pour chaque sens. Ça colle avec mes données sur la machine : 2,5µ/step.
On voit aussi que la ligne STEP reste à l'état haut pendant environ 50ms et que le changement de DIR se produit au milieu
La ligne DIR par contre reste dans son dernier état. 8-)
 
V
vres
Compagnon
OK donc avec une impulsion Step de ma machine, je dois générer un cycle bas/haut/bas sur A et un cycle identique sur B mais retardé d'un quart (= front montant à moitié de haut du A).
Ceci pour un sens, naturellement.
Pas besoins, la DRO va voir 4 impulsions.
Je fais un croquis sur mon PC.
 
V
vibram
Compagnon
Avec l'aide de CNCSERV j'avais créé un signal step /dir
Je pense que pour le signal TTL on doit pouvoir faire réutiliser deux fois le signal carré et décaler le timer entre les deux signaux d'un certain temps.
Après comment faire ça ? Bonne question...
 
G
gaston48
Compagnon
Après comment faire ça ?
Bonjour,
avec 2 bascules D (diviseur par 2) ?
le clk de de la première bascule D = step = voie A
et le clk de l'autre bascule D = step inversé = voie B
reste à inverser les entrées clk (ou les sorties de bascules) avec le DIR
 
Dernière édition:
V
vibram
Compagnon
A première vue sur les stm32 on peut avoir un timer pwm avec 2 channels
A voir comment les décaler et surtout compter le nombre de pulsations
Je lance ça comme ça, c'est à la limite de mes faibles connaissances
 
V
vres
Compagnon
Bonjour,
avec 2 bascules D (diviseur par 2) ?
le clk de de la première bascule D = step = voie A
et le clk de l'autre bascule D = step inversé = voie B
reste à inverser les entrées clk avec le DIR
En quadrature Il faut que le A et le B change tout les 2 Steps:
A = LHHLLHHLL...
B = HHLLHHLLH..

Avec la bascule D, l'état change à chaque Step.
Il faudrait 2 bascules en cascade.
 
V
vres
Compagnon
Voila à quoi ça doit ressembler:
1612636637276.png

A chaque Step il n'y doit y avoir qu'un seule voie qui change.
 
G
gaston48
Compagnon
au milieu j'ai mes 2 voies de step inversées chacune sur le clk d'une bascule D tout en haut et en bas :

DSC05224 [%P].JPG
 
osiver
osiver
Compagnon
Désolé mais ça ne me va toujours pas !
On va dans le sens inverse = vouloir remonter à 4 impulsions à partir des deux signaux A/B alors que moi, c'est le contraire.
Si je fait une seule STEP, il se passe quoi ? Chez-moi, c'est une unité élémentaire, 2,5µm que sait gérer ma commande. Et ce n'est pas parce que je veux mes 2,5µm, à la limite le 1/100 me suffirait :wink:

Je pensais plus à ça :
Capture du 2021-02-06 20-57-32.png
 
V
vres
Compagnon
au milieu j'ai mes 2 voies de step inversées chacune sur le clk d'une bascule D tout en haut et en bas :

Voir la pièce jointe 684197

Tu vois que une impulsion change une fois le A est une fois le B, ce n'est pas une quadrature. la DRO verra 2 changement pour un Step.
De plus les impulsions ne sont pas un signal carre donc les signaux A et B seront un peu boiteux.
Désolé mais ça ne me va toujours pas !
On va dans le sens inverse = vouloir remonter à 4 impulsions à partir des deux signaux A/B alors que moi, c'est le contraire.
Si je fait une seule STEP, il se passe quoi ? Chez-moi, c'est une unité élémentaire, 2,5µm que sait gérer ma commande. Et ce n'est pas parce que je veux mes 2,5µm, à la limite le 1/100 me suffirait :wink:

Je pensais plus à ça :
Voir la pièce jointe 684225

Là C'est pareil pour une implusion la DRO en comptera 4.
Il n'y a que mon graphique qui correspond a la quadrature car il faut 4 steps pour faire un cycle A B.
 
osiver
osiver
Compagnon
Donc, si je vous suis la DRO compte et avance d'une unité sur tous les flancs montants et descendants de A et de B :shock:
 
S
speedjf37
Compagnon
Donc, si je vous suis la DRO compte et avance d'une unité sur tous les flancs montants et descendants de A et de B :shock:

en + ou - c'est ça !

En prenant les sorties Q0 et Q1 ça peut le faire !
De:
 
osiver
osiver
Compagnon
OK, j'ai refait un exemple dans ce sens :

Capture du 2021-02-06 23-50-54.png


Mais alors il se passe quoi aux steps AA et AB ??
 

Sujets similaires

U
Réponses
84
Affichages
3 083
Fred69
Fred69
eternity78
Réponses
9
Affichages
466
greg_elec
greg_elec
B
Réponses
16
Affichages
1 526
Bambi
B
Bat74
Réponses
34
Affichages
2 166
pailpoe
pailpoe
Haut