Générateur d'impulsions et Mach3

  • Auteur de la discussion Algone
  • Date de début
A

Algone

Compagnon
Salut,
je cherche à savoir comment paramétrer Mach3 pour pouvoir controler l'avance et la vitesse de rotation de la broche, via des générateurs d'impulsion comme par ex celui là:
cnc hand wheel.JPG

Je sais comment les connecter (0-5v + 2ports) , j'ai repéré les codes OEM (Avance+108, Avance-109, Broche+163, Broche- 164) mais je vois pas comment faire communique tous ça.
Toute aide sera appréciée :wink:
 
S

Squal112

Compagnon
Si le câblage est fait et fonctionnel pour les déplacements d'axes c'est déjà une bonne chose.

Après question logiciel, il va falloir écrire 2 Brains (programmes Ladder), 1 pour la vitesse d'avance, et un pour la variation de broche.
Rien de très compliqué, ce qui va demander un peu de réflexion dans le programme, c'est de trouver la bonne correspondance d'un cran du MPG avec la valeur à incrémenter/diminuer.

Pour la vitesse de broche, je ne vois pas bien l'intérêt, cette dernière étant fixe lors de l'usinage (du moins en fonction de l'outil utilisé) et facilement réglable avec des raccourcis clavier simple au besoin.

Pour l'avance, c'est différent surtout lors des approches un peu hasardeuses.
Bien qu'au final je préfère les raccourcis clavier, plus fiable selon moi (aprés avoir essayé l'encodeur rotatif) et plus précis. Surtout que pour cette dernière il faudra ajouter la condition pour ne pas dépasser 100%, au delà Mach3 perd vite la boule (bug, plantages...)
 
D

dh42

Compagnon
Salut,

Tu as quoi comme carte d'axe ? sur certaine (Axbb-e par exemple), il y a des entrées pour gérer ça, sauf que ce ne sont pas des encodeurs qu'il faut utiliser mais des potar. (mais pas sur que ce soit gérable avec Mach3)

++
David
 
Dernière édition:
A

Algone

Compagnon
Rien de très compliqué, ce qui va demander un peu de réflexion dans le programme, c'est de trouver la bonne correspondance d'un cran du MPG avec la valeur à incrémenter/diminuer.
Tu pense qu'avec un MPG il y a moyen de repérer la correspondance? J'en ai un sans fil de ma première machine.
Pour la vitesse de broche, je ne vois pas bien l'intérêt, cette dernière étant fixe lors de l'usinage (du moins en fonction de l'outil utilisé) et facilement réglable avec des raccourcis clavier simple au besoin.
Oui c'est pas faux, j'ai vu ça sur un pupitre Tormach, c'est pour ça, si c'est pas trop galère je veux bien l'intégrer.
Tu as quoi comme carte d'axe ? sur certaine (Axbb-e par exemple), il y a des entrées pour gérer ça, sauf que ce ne sont pas des encodeurs qu'il faut utiliser mais des potar.
J'ai une C76-UC300ETH, de la même famille que l'AXBBE mais j'ai rien vu dans le manuel, sur le site CNC4PC ils en vendent avec ce schéma:
Schema.JPG

Je vais quand même leur poser la question pour savoir si il y a un truc de prévu.
 
D

dh42

Compagnon
Apparemment l'UC300ETH a bien 2 entrée analogiques, comme l'AXBB-E (chapitre 8.2) ... après, comment ça se configure dans Mach3, je ne sais pas car il ne semble pas avoir d'entrée analogiques configurables, contrairement à UCCNC, mais peut être que c'est au niveau du plugin que ça se configure ?

++
David
 
S

Squal112

Compagnon
Tu pense qu'avec un MPG il y a moyen de repérer la correspondance? J'en ai un sans fil de ma première machine.
Pour cette utilisation, il n'y a pas "d'assistant" de paramétrage comme pour les MPG d'axes (Function Cfg's / Calibrate MPG).
Donc il faut tatonner un peu pour que la valeur de la variable de l'équation à integrer dans ton Brain soit bonne.
Voila à quoi ressemble le programme pour faire varier l'avance avec un MPG.
1725870222567.png


Oui c'est pas faux, j'ai vu ça sur un pupitre Tormach, c'est pour ça, si c'est pas trop galère je veux bien l'intégrer.
C'est plus souvent présent sur les tours par apprentissage ou CN, ou la pour le coup la variation manuelle de la vitesse de broche peut s'avérer utile (vibrations)
 
S

schum22

Compagnon
J'ai une C76-UC300ETH, de la même famille que l'AXBBE mais j'ai rien vu dans le manuel, sur le site CNC4PC ils en vendent avec ce schéma:
J'ai du mal à suivre le truc, ils utilisent le même logiciel UCCNC (et évidemment MACH3) mais ils ne sont pas du même constructeur CNC4PC pour l'un et CNCDrive pour l'autre.
 
A

Algone

Compagnon
Apparemment l'UC300ETH a bien 2 entrée analogiques, comme l'AXBB-E (chapitre 8.2) ... après, comment ça se configure dans Mach3, je ne sais pas car il ne semble pas avoir d'entrée analogiques configurables, contrairement à UCCNC, mais peut être que c'est au niveau du plugin que ça se configure ?
Il y a des chances, si c'est vraiment le cas mise à part passer par les "brains" ça risque d'être trop compliqué, voir infaisable, pour moi.

Voila à quoi ressemble le programme pour faire varier l'avance avec un MPG.
J'avais déjà regardé les Brains quand tu m'en avais parlé, ça va être l'occase de m'y plonger un peu plus, même si c'est pas gagné.:wink:
C'est plus souvent présent sur les tours par apprentissage ou CN, ou la pour le coup la variation manuelle de la vitesse de broche peut s'avérer utile (vibrations)
Oui c'est plus par confort parce que oui ça m'est arrivé de jouer avec les vitesses de rotation avec des fraises longues ou à bout sphérique pour casser la résonnance.

J'ai du mal à suivre le truc, ils utilisent le même logiciel UCCNC (et évidemment MACH3) mais ils ne sont pas du même constructeur CNC4PC pour l'un et CNCDrive pour l'autre.
De ce que j'ai compris ils sont en partenariat, CNC4PC fabriquent juste des cartes et vendent l'UCCNC et l'AXBBE et CNC Drive ont développé l'UCCNC, fabriquent des cartes mais vendent aussi celle de CNC4PC, pas simple je te l'accorde :mrgreen:
 
S

Squal112

Compagnon
Est ce que ça aiderai un engin pareil pareil? Parce que j'en ai un.
Aiderait pour ?
Un convertisseur de signaux ne changera rien, surtout que les signaux des encodeurs rotatif (MPG) sont en quadrature, rien à voir avec du bus RS-232 ou 485.

C'est indispensable pour pouvoir utiliser Modbus avec Mach3/4, mais ton MPG ne communiquera en aucun cas via un bus de terrain sauf utilisation additionnelle d'un microcontrôleur (Arduino, etc...) qui décodera les signaux en quadrature A et B pour les convertir en trame de bits sur le bus série.

Saule solution que ce soit avec un potentiomètre ou un encodeur passer par les Brains, en soit rien de très compliqué.
 
A

Algone

Compagnon
Un convertisseur de signaux ne changera rien, surtout que les signaux des encodeurs rotatif (MPG) sont en quadrature, rien à voir avec du bus RS-232 ou 485.

C'est indispensable pour pouvoir utiliser Modbus avec Mach3/4, mais ton MPG ne communiquera en aucun cas via un bus de terrain sauf utilisation additionnelle d'un microcontrôleur (Arduino, etc...) qui décodera les signaux en quadrature A et B pour les convertir en trame de bits sur le bus série.
A force de regarder plein de trucs je me mélange les pinceaux mais tu viens d'éclaircir un point qui était flou pour moi merci :wink:

en soit rien de très compliqué.
J'aime bien quand t'écris çà :mrgreen:
Je vois le principe mais je capte pas grand chose mais m'accroche et reste déterminé.:oops:
J'ai essayé de reproduire ton Brain, dans DRO's je choisis (101-MPG0 Count ), (821-Feed Ovrd ), (102-MPG1 Count ) et (169- Cmd SpindleRPM), j'ai trouvé comment créer les formules mais c'est tout, j'arrive pas à créer ceux de la droite en rouge.
Je comprends pas non plus les connexions.

Autre question, est ce qu'il me faut impérativement des entrées analogiques ?

Désolé si ces questions semblent connes mais je découvre.
 
A

Algone

Compagnon
J'ai réussi à arriver là mais sans comprendre ce que je faisais.
Si t'as le temps Squal je veux bien quelques explications.
Capture Brains.JPG
 
A

Algone

Compagnon
Bon après avoir rincé toutes les vidéos sur les Brains que j'ai trouvé, j'arrive toujours pas à assimiler le truc, je vais encore insister ce weekend, d'ailleurs si vous avez des tutos ou infos je suis preneur et si j'y arrive toujours pas je vais lâcher Mach3 et passer à UCCNC, comme tu le disais David, grâce aux entrées analogiques c'est hyper simple.
 
S

Squal112

Compagnon
Bon après avoir rincé toutes les vidéos sur les Brains que j'ai trouvé, j'arrive toujours pas à assimiler le truc, je vais encore insister ce weekend, d'ailleurs si vous avez des tutos ou infos je suis preneur et si j'y arrive toujours pas je vais lâcher Mach3 et passer à UCCNC, comme tu le disais David, grâce aux entrées analogiques c'est hyper simple.
Après avoir créer (ecrit) ton programme Brain, il faut encore l'activer dans Mach3, depuis le menu/onglet correspondant. (Operator ->Brain Control -> Reload All Brains -> Selectionner le Brain -> Cocher "Enabled" -> Ok

Sans quoi il n'est pas actif et donc tu ne verras pas si ce dernier fonctionne ou non.

Pour les tutos, je me suis seulement basé sur cette vidéo :
 
D

dh42

Compagnon
Salut,

Désolé de vous avoir lâché sur ce coup, les Brain, c'est un truc que je n'ai jamais exploré !

++
David
 
A

Algone

Compagnon
Après avoir créer (ecrit) ton programme Brain, il faut encore l'activer dans Mach3, depuis le menu/onglet correspondant. (Operator ->Brain Control -> Reload All Brains -> Selectionner le Brain -> Cocher "Enabled" -> Ok
Oui ça je l'avais vu, j'ai regardé la vidéo pas mal de fois. Dans ton exemple, ce que je comprends pas c'est comment indiquer, par exemple, que c'est mon entrée analogique avec mon potar qui va controler le FRO? Je comprends pas non plus la logique des formules que tu as donné? Toujours dans ton schéma, il y a des connexions entre les lobes que j'arrive pas à reproduire, je sais même pas si il y en a vraiment?
Merci pour ton aide même si je me sent vraiment naze. :???:

Désolé de vous avoir lâché sur ce coup, les Brain, c'est un truc que je n'ai jamais exploré !
Bah sois pas désolé, tu aide déjà tellement de personnes. :wink:
 
T

totoche974

Ouvrier
bonjour à tous

Bon après avoir rincé toutes les vidéos sur les Brains que j'ai trouvé, j'arrive toujours pas à assimiler le truc,

il y à pas que toi, moi c'est pareil un truc m’échappe pour bien comprendre

j'ai pas trouvé de bouquin traitant du sujet, alors j'ai un peux laissé tombé mais
maintenant qu'il y a squall112 je vais me replonger dedans et poser des questions à squall112 si cela le dérange pas

++
 
T

totoche974

Ouvrier
salut
wouai... j'ai essayé hier toute la journée de faire un truc simple :
voyons si à nous 2 ont peux y arrivé :)

j'ai un bouton (M/A) associe à 1 led OEMled 1009
1 sortie output#10 associe à 1 led OEMled 1012

le but:
cliquer sur le bouton (M/A) qui allume la led 1009 et la led 1012 et qui active la sortie output#10

j'ai tester xxx solutions, soit ca allume les leds 1009 et 1012 soit la led 1009 et la sortie sont active

bref il y à toujours un élément qui merde :mad:
 
C

Coyote94

Compagnon
Vous avez fait appel à mon ami ?
Hier, ça m’a pris 5 min pour trouver comment intégrer une commande dans post-pro (à vérifier/contre vérifier)

Sa réponse :

Pour développer une logique dans **Brain** (le système de gestion des événements de Mach3), vous pouvez utiliser les outils fournis par le logiciel pour créer une séquence qui gère le bouton d'activation/désactivation, les LEDs OEM, et la sortie **Output#10**. Le but est de créer un bouton de contrôle qui, lorsqu'il est cliqué, allume deux LEDs et active une sortie.

Voici comment procéder pour configurer cela dans Mach3 en utilisant **Brains** :

### 1. **Comprendre les composants :**
- **Bouton (M/A)** : Ce bouton sera associé à une entrée numérique dans Mach3, que vous pouvez lire avec Brain pour déclencher les actions.
- **OEMLED 1009 et 1012** : Les deux LEDs OEMLED sont des indicateurs visuels dans l'interface de Mach3. Vous devez les activer/désactiver en fonction de l'état du bouton.
- **Output#10** : Cette sortie est un signal envoyé à un périphérique externe via le contrôle CNC.

### 2. **Configuration du bouton (M/A) :**
- Associez un **input signal** de votre bouton dans **Ports and Pins** sous l'onglet **Input Signals**.
- Assurez-vous que votre bouton M/A est bien configuré avec une entrée spécifique, par exemple **Input#1**.

### 3. **Création d'un Brain :**
1. Allez dans **Operator** > **Brain Control** et cliquez sur **New** pour créer un nouveau Brain.

2. Cliquez sur **Add** pour ajouter une condition initiale qui lira l'état de votre bouton :
- **Input type** : Sélectionnez **Input Signals**.
- **Signal** : Sélectionnez l'entrée associée à votre bouton (par exemple, **Input#1**).

3. Ensuite, vous devez créer trois actions distinctes qui s'exécutent lorsque le bouton est activé :

- **Action 1 : Allumer l'OEMLED 1009**
- Ajoutez une sortie.
- **Output type** : Sélectionnez **OEMLEDs**.
- **LED number** : Entrez **1009** pour allumer cette LED lorsque le bouton est activé.

- **Action 2 : Allumer l'OEMLED 1012**
- Ajoutez une autre sortie.
- **Output type** : Sélectionnez **OEMLEDs**.
- **LED number** : Entrez **1012** pour allumer cette LED.

- **Action 3 : Activer Output#10**
- Ajoutez une autre sortie.
- **Output type** : Sélectionnez **Outputs**.
- **Output number** : Entrez **Output#10** pour activer la sortie correspondante.

4. Pour finaliser, vous pouvez ajouter une condition qui désactivera les LED et Output#10 lorsque le bouton est relâché (facultatif si vous voulez que ce soit un bouton de type **toggle**).

### 4. **Ajout d'une bascule (toggle)** :
Si vous souhaitez que votre bouton fonctionne comme un **toggle** (appuyer pour activer et relâcher pour désactiver), vous pouvez ajouter une bascule dans le Brain. Voici comment :
- Ajoutez une étape intermédiaire (avant l'allumage des LEDs ou la sortie) qui bascule l'état de l'entrée. Utilisez une fonction de bascule logique (XOR ou NOT) pour que chaque pression change l'état.

### 5. **Sauvegarder et activer le Brain** :
- Sauvegardez votre Brain en cliquant sur **Save** et donnez-lui un nom explicite (par exemple, "MA_Button_Leds_Output10").
- Activez ensuite le Brain en cochant la case à côté de celui-ci dans la liste des Brains.
- Cliquez sur **Enable** pour activer le Brain et assurez-vous qu'il fonctionne correctement.

### Exemple de processus dans Brain :
1. **Input#1** (bouton) ➜ Basculer l'état (si toggle).
2. Si bouton activé ➜ Allumer **OEMLED 1009** et **OEMLED 1012**.
3. Si bouton activé ➜ Activer **Output#10**.

### 6. **Test du système :**
- Appuyez sur le bouton **M/A**.
- La LED 1009 et la LED 1012 devraient s'allumer dans l'interface Mach3.
- La sortie **Output#10** devrait être activée (vous pouvez vérifier cela dans la configuration des sorties).

### Résumé :
- Utilisez un **input signal** pour détecter l'état du bouton.
- Créez un Brain pour gérer l'activation des LED et de la sortie **Output#10**.
- Assurez-vous que le bouton fonctionne comme un toggle si nécessaire, ou configurez-le pour qu'il active et désactive les LED et la sortie en fonction de son état.

Cela devrait vous permettre de contrôler les deux LEDs et la sortie avec un seul bouton (M/A).
 
A

Algone

Compagnon
Il est trop fort ton pote :mrgreen:
Là j'ai pas le temps mais je regarderai plus tard.
 
S

Squal112

Compagnon
Oui ça je l'avais vu, j'ai regardé la vidéo pas mal de fois. Dans ton exemple, ce que je comprends pas c'est comment indiquer, par exemple, que c'est mon entrée analogique avec mon potar qui va controler le FRO? Je comprends pas non plus la logique des formules que tu as donné? Toujours dans ton schéma, il y a des connexions entre les lobes que j'arrive pas à reproduire, je sais même pas si il y en a vraiment?
Ce n'est pas si compliqué en fait quand on à compris le principe, les Brains ne sont rien d'autres que des programmes qui tourne en fond dans Mach3.
Leur écriture est très proche du language Ladder de programmation.

On commence par la gauche avec les conditions d'entrées (a la manière des déclarations de variables dans une macro)
Dans l'exemple de mon message #6, il s'agit des impulsions de la MPG.
A la suite de cette/ces conditions d'entrées, on place une/des brique logique (=, INV, NOR, XOR, équation...) permettant d'interpréter cette condition.

Puis on associe une fonction de sortie, dans le cas présent, le contrôle de l'avance (Feed Override).

j'ai pas trouvé de bouquin traitant du sujet, alors j'ai un peux laissé tombé mais
maintenant qu'il y a squall112 je vais me replonger dedans et poser des questions à squall112 si cela le dérange pas
Je n'ai jamais trouvé de documentation détaillées sur les Brains, je pense personnellement qu'Artsoft à sous développer cette fonction et c'est bien dommage vu ses possibilités (le fait que contrairement à une macro, le Brain tourne en permanence à une fréquence >10Hz).

Je n'ai pas énormément creuser le sujet non plus, juste quelques pérégrinations sur des forums étrangers pour tenter de mieux comprendre le fonctionnement, et l'aide d'un collègue automaticien pour l'explication de la logique automate et la rédaction en Ladder.

j'ai un bouton (M/A) associe à 1 led OEMled 1009
1 sortie output#10 associe à 1 led OEMled 1012

le but:
cliquer sur le bouton (M/A) qui allume la led 1009 et la led 1012 et qui active la sortie output#10
Pourquoi avoir 2 OEMLed ? une seule suffit, mais avant tout il faut savoir si tu souhaite un fonctionnement type bouton momentanné (poussoir) ou à verrou (interrupteur), pour ça c'est la/les briques logiques qui vont le définir.

En entrée tu dois avoir ton entrée logique Mach3 (Input X) correspondant à ton bouton, le Brain va contrôler l'état haut de cette dernière.
Puis une brique logique vide (No-Operation)
Et relier cette dernière à la sortie correspondante OEMLed de ton choix.
Puis une ligne en dessous quasi identique avec en donnée d'entrée l'Input X correspondant au bouton
Puis une brique logique vide (No-Operation)
Et relier cette dernière à la sortie correspondante Output#10.

N'ayant pas accès pour le moment au PC de ma fraiseuse (ré-aménagement de l'atelier en cours), je ne pourrais vous aider bien plus pour le moment.
 
T

totoche974

Ouvrier
bonjour

### 2. **Configuration du bouton (M/A) :**
- Associez un **input signal** de votre bouton dans **Ports and Pins** sous l'onglet **Input Signals**.
- Assurez-vous que votre bouton M/A est bien configuré avec une entrée spécifique, par exemple **Input#1**.

la est mon problème. mon bouton (M/A) fait partie de mon screenset
comment associer un bouton de screenset à une entrée **input#1** ?? à moins que se bouton commande un mini relais branché sur une entrée lequel simulerais un bouton de façade :?:

avec ma config, je me sert de la led 1009 associer au bt (M/A)
quand elle passe au rouge(1) j'allume la led(1012) associe a la sortie(10) ensuite je me sert la led(1012) pour activer la sortie(10)

Pourquoi avoir 2 OEMLed ? une seule suffit, mais avant tout il faut savoir si tu souhaite un fonctionnement type bouton momentanné (poussoir) ou à verrou (interrupteur), pour ça c'est la/les briques logiques qui vont le définir.

1 led sur l'écran 1 et 1 led sur l'écran 2 et concernant le type de bt c'est un bt (interrupteur)
 
T

totoche974

Ouvrier
j'ai pu résoudre mon problème
j'ai simplement renommé ma led (1009) du bt (M/A) avec le code OEM 1012 et fait mon test dessus
quand je clique sur le bt (M/A) mes 2 leds passe au rouge et mon relais s'active :supz:

par contre je garde la solution du bt extérieur elle va être intéressante
 
Haut