Sonde tactile 3D

  • Auteur de la discussion Auteur de la discussion Bobismiles
  • Date de début Date de début
J'ai quelques vagues souvenirs concernant de problèmes de ce script avec certaines cartes. Primo, les GetVar 2000 et 2001 peuvent être imprécis et GetOEMDRO est recommandé à leur place. Secundo, certaines cartes ont du mal avec l'interpolation G31 Xn Yn et il faut séparer les deux en G31 Xn puis G31 Yn.

De retour à la maison. Voilà les liens dont j'ai parlé.

1/ Ce repo sur Github contient le code source d'origine : https://github.com/verser-git/ProbeWizard

2/ Après quelques frustrations, un gars a modifié les programmes pour arriver à quelque chose de stable : https://github.com/mikejr83/versby-probing-scripts-mach3

3/ Un autre gars a modifié aussi des choses pour ses besoins, mais je n'ai pas regardé les différences entre 2/ et 3/ : https://github.com/bilalibrir/ProbeWizard-USBMACH3

Je profite pour vous faire découvrir un screenset pour Mach3 qui m'a mis de l'eau dans la bouche, et qui contient une belle implémentation des routines de palpage :

Une petite video :
Le site pour telecharger le screenset en question : http://www.physanon.com/pa-mach-3-screen-set/
 
la carte que j'envisage de tester sur ma cnc1610, provient de saintsmart pour cnc 3018-mach3, le modèle a disparu depuis.
Le driver compatible mach3 est "bl-usbmach-v32.dll", je soupçonne que c'est le même que pour les cartes usb-mach3 encore commercialisées, la mienne étant juste une intégré avec les drivers onboard.
Le cœur est un STM32F103C8T6 qui doit se retrouver ailleurs.
Je m'attends donc à avoir les mêmes problèmes que ceux cités sur ce fil.

Quand j'ai fait cette sonde, dont je ne suis pas le concepteur, c'était pour compenser le fait que celles du commerce étaient chères, bien trop hautes pour ma CNC et l'axe souvent d'un diamètre incompatible avec ER11. La situation a évoluée depuis. De plus, maintenant, je pourrais faire un boitier en impression 3D ce qui simplifierait les soucis d'alignements avec les filetages.

En utilisation courante, un simple "sondage" avec contact électrique en xyz c'est révélé bien suffisant, pour le positionnement, dans mon cas.


mc5d3-v3.3_mach3-usb_20260310_123947_crop_1280.jpg
mc5d3-v3.3_mach3-usb_20260310_124030_crop_1280.jpg
 
2/ Après quelques frustrations, un gars a modifié les programmes pour arriver à quelque chose de stable : https://github.com/mikejr83/versby-probing-scripts-mach3
Je n'arrive pas à lancer l'addon sous mach3. Je ne vois pas de fichier .set dans le dossier pour l'exécuter via mach3. Il y a une manip spécial à faire ? Le readme est un peu léger en explication sur l'installation^^

3/ Un autre gars a modifié aussi des choses pour ses besoins, mais je n'ai pas regardé les différences entre 2/ et 3/ : https://github.com/bilalibrir/ProbeWizard-USBMACH3
Ca ressemble comme 2 gouttes d'eau a l'addon que j'ai installé et qui ne fonctionne pas chez moi.

Je profite pour vous faire découvrir un screenset pour Mach3 qui m'a mis de l'eau dans la bouche, et qui contient une belle implémentation des routines de palpage
j'avoue c'est pas mal !
Je m'attends donc à avoir les mêmes problèmes que ceux cités sur ce fil.
haha mystère ^^ tiens nous au courant :)
 
Je n'arrive pas à lancer l'addon sous mach3. Je ne vois pas de fichier .set dans le dossier pour l'exécuter via mach3. Il y a une manip spécial à faire ? Le readme est un peu léger en explication sur l'installation^^

Il n'y a pas de fichier .set. C'est pensé d'être copié dans le code pour le bouton concerné. Fonction par fonction. C'est chiant, mais la seule façon d'être transportable entre des différents .set's.
 
Bonjour à tous,

Pour donner suite à mes messages, j'ai décidé de commander une carte AXBB-E et de virer ma chinoiserie :)

J'attends de recevoir tout le matériel pour vous donner des nouvelles et peut être pousser les modifs jusqu'au changement d'outil automatique.
Enfin ne mettons pas la charrue avant les bœufs, déjà changement de la carte :-D

A trés vite !
 
Pour info, quelle version de dll utilises-tu ?
Il y a eu des mises à jour avec corrections de bugs. La dernière version semble être 3.1.9.1 de 2023 copyright XHC 2008
Bien souvent les drivers fournis sont dépassés.
 
J'ai juste recopié l'affichage des propriétés de la dll.
Donc tu est à la dernière version, pas d'amélioration à attendre de ce côté.
Abandonner cette carte problématique est peut-être la meilleure solution.
 
Oui je pense que c'est le "plus simple" faudra pas que je me loupe dans les branchements, c'est pas du tt ma spécialité
Mais oui au moins je pars sur du matos qui tient la route. J'ai commandé la AXBB
 
Ma micro-cnc (1610) avec carte compatible mach3 en usb est opérationnelle !

Pour les premiers tests de "probing" j'ai utilisé mach3 2010 screenset, l’écran de probing est moins sexy que celui de probe-en mais il offre les opérations en XY.
L'installation simple avec les macros de base donne un fonctionnement erratique sur les détections en X ou Y en int ou ext.

Puis j'ai mis en place le pack Chinese Motion Controller macros dont il est question en bas de page.
Je n'ai pour le moment fait que quelques essais, mais cela semble fonctionnel, j'ai maintenant un bon référencement en utilisant un simple plaque XYZ.

Ma carte avec driver intégrés semble avoir les mêmes bugs que les autres chinoiseries pour l'utilisation de getvar().
 
Avec les macros corrigées il y a du mieux, mais je ne comprends pas toujours l'affichage obtenu !?
Le centrage dans le cercle de la plaque XYZ, fini bien au centre, soit le zéro physique désiré.
Les touches d'angle simples par l'extérieur, Y puis X, permettent un bon positionnement avec un G0 X0 Y0.
Je n'ai pas encore testé la touche de coin avec Y et X enchainé en une opération.
 
l’écran de probing est moins sexy que celui de probe-en mais il offre les opérations en XY.
mais au moins, il y a des docs, ça évite de se creuser la tête pour comprendre à quoi servent les paramètres !

Je n'ai pas encore testé la touche de coin avec Y et X enchainé en une opération.
faut pas se rater sur le positionnement de départ pour éviter de taper la pièce lors du passage de X à Y par contre !

Pour les cartes Chinoises, il y a un risque supplémentaire ; non seulement elles ne gèrent pas le GetVar(), mais ça on peut contourner le problème même s'il y a une légère perte de précision (quelques µm si on ne palpe pas à haute vitesse), mais ce que l'on ne peut pas gérer c'est la limite de palpage, normalement le palpage est censé s’arrêter si on a atteint la coordonnée demandée dans le G31 avant que le contact ne soit déclanché, avec les cartes Chinoises ça ne s'arrête pas, il faut donc être prudent !

++
David
 
Oui, le screenset 2010 est "légal", je l'ai acheté en 2013. C'était une dépense raisonnable pour accéder au probing. A l'époque, j'avais une ID-CNC que je pilotais soit avec linux soit mach3 et j'étais en phase de découverte encore plus que maintenant (j'ai appris 2-3 choses depuis).
Pratiquement, je ne l'avais pas vraiment mis en pratique. je n'avais qu'un simple palpeur pour le Z, les 3D étaient hors de prix et bien trop volumineuses d'où mon début de bricolage. Au final, je palpais le Z et je positionnais la broche là où je voulais pour le 0 en Z et Y.

Je ne sais pas ce qu'aurait donné les macros avec la carte TB6560 que j'avais à l'époque et qui existe toujours dans le contrôleur de ma 3040, maintenant avec une interface USB-Parallèle UC100 CNCdrive.


Je suis entrain de découvrir les macros de palpage. Quasiment elles ont la même origine, avec des modifs.

Les Chinese Motion Controller macros sont pas trop mal, elles prennent en compte les opérations simples x+et- y+et- et l’intérieur des poches, les coins sont problématiques pas catastrophiques, le probe sur le premier côté se fait bien, le déplacement (latéral ou vertical) pour enchainer se fait mais pas le déplacement (vertical ou latéral) correspondant pour faire la mesure, la sonde reste sur le même axe.
Elles ont l'avantage d'être facile à mettre en place.

Je suis entrain d’essayer des macros modifiées par mikejr83, versby-probing-scripts-mach3. La mise en place est plus compliqué car il faut éditer une à une les macros d'origines correspondantes et remplacer le contenu. Ceci dit un premier essai avec la macro de coin x+y+ est prometteur, les déplacements se font bien, mais je ne comprends pas le positionnement et l'affichage final.

J'ai aussi essayé le pa-mach-3-screen-set, il est assez agréable. Si j'ai bien compris, il fonctionne avec les même macros "vers.by"

Je vais installer un éditeur de screenset pour voir comment et quelles macros sont appelées par les différents boutons.


Je me fais "plaisir", si on veut, dans mes investigations. Pour mes petites machines et mon utilisation, GRBLCandle est satisfaisant, en plus la version Millmage de Lightburn est prometteuse.

NB: je fais mes tests avec une plaque touchprobe XYZ, c'est pas une sonde 3D mais le résultat est le même.
S09d1f0a9c665481aa7df11e34e98f103n.jpg_220x220q75.jpg_.avif
 
Je ne sais pas ce qu'aurait donné les macros avec la carte TB6560 que j'avais à l'époque et qui existe toujours dans le contrôleur de ma 3040, maintenant avec une interface USB-Parallèle UC100 CNCdrive.

En port // c'est toujours 100% compatible vu que c'est Mach3 qui fait 100% du job.

A ma connaissance l'UC100 à une très bonne compatibilité, il gère même la THC, ce qui est rare pour une carte en USB !

++
David
 
C'est pour cela que j'ai choisi l'UC100 version pure sucre CNCdrive et pas la copie chinoise, à l'époque beaucoup moins chère.
L'UC100 n'est pas une simple adaptation usb-// mais elle embarque du soft qui optimise les trajectoires et commandes ayant transités par l'USB avant le transfert en mode // .
 
Je ne sais pas si la copie Chinoise utilise le même circuit interne, mais le firmware n'est pas le même.

Il y a eu quelques problèmes avec l'UC100USB au niveau de la prise mini USB qui reste fragile mais ça reste un bon produit.

Les firmwares des cartes Chinoises ne gèrent souvent que le minimum syndical. Pas de THC, de M10/M11, de ralentissement en jog à l'approche des limites, pas de sortie de données au palpage donc pas de numérisation possible avec les plugins genre Prob-It .. le squaring ne fonctionne pas toujours, voir fait n'importe quoi ...

A ma connaissance il n'y a que 2 fonctions qui ne sont jamais gérées par les cartes d'axe qu'elles soit en USB ou en ETH, Chinoises ou pas et qui ne fonctionnent qu'en port // direct ; c'est SetTimer() et GetTimer() .. si on a besoin de gérer des Timers dans les scripts il faut en passer par les fonctions du Cypress Basic lui-même. (Time, TimeSerial, TimeValue)

L'autre truc qui ne fonctionne qu'en port //, c'est la simulation des switch via des touches clavier, par exemple pour simuler un palpeur sans être relié à une machine (pratique pour tester les scripts). Sur mon PC qui n'a pas de port // exploitable (because windows 64 bits) je ne peux pas installer le driver port // de Mach3. Si j'assigne une touche au palpeur, quand je tape la touche, la LED "palpeur" s'allume bien, mais ça n'a aucun effet, l'axe ne s'arrête pas, même chose avec des contacts de référencement, des FC, etc ...

++
David
 
Dernière édition:
Petit suivi de mes tests avec carte "chinoise" et macros adaptées.

Je suis parti de loin, par méconnaissance et inattention, j'avais fait une salade avariée de macros dans ma config !

En résumant, il y a 2 familles de probing, celle qui va avec le "screenset 2010" et celle de "vers.by" que l'on retrouve dans "wizard probe" et "PA screenset (Physical Anonymous)"

L’intéressant pour les possesseurs de cartes "chinoises" incompatibles avec certaines commandes de probing, c'est qu'il existe pour ces deux versions une variante développée pour prendre en compte cette incompatibilité.
Modified Macros for Chinese Motion Controllers pour le screenset 2010.
mikejr83 /versby-probing-scripts-mach3 pour les macros typées "vers.by".

Là où il y a un piège dont je ne me suis pas méfié et dans lequel je suis tombé, c'est que ces macros ont la bonne (mauvaise idée) d'avoir les mêmes noms, mais éventuellement pas les mêmes fonctions.
Déjà, cela veut dire que sauf modification importante (affectation bouton/nom) il faut avoir 2 machines déclarées avec les macros concernées dans le répertoire "macros", pour pouvoir utiliser les 2 screenset .
Donc le plus simple est de faire un choix et de s'y tenir !

Pour mes tests, j'ai dupliqué ma machine en mx3_2010 et mx3_probe-en. et mis en place dans chacune les macros modiées pour carte chinoise.
Pour le screenset 2010, c'est relativement direct. On fait un copier/coller de m6start et m6end pour conserver les versions originales et on copie massivement les macros modées.
Pour "probe-en", c'est plus compliqué. Les macros sont fournies avec un nom décrivant la fonction et pas la référence correspondante, exemple, "m905s" correspond à "7 - XPlusYPlus.vb" . Il faut modifier toutes les macros une à une, cela assure normalement une bonne compatibilité car l'utilisateur doit s'assurer que chaque macro va sur le bon bouton. Bemol, toutes les macros non pas d'équivalence, je ne sais pas si c’est parce qu'elles n'en ont pas besoin où qu'elles sont inexistantes dans le "PA screenset" pour lequel les modifs ont été prévus.

NB: j'utilise un simple touchpad XYZ pour lequel il faut avoir une prise en compte d'un décalage entre le point de contact et le brut en X et Y, contrairement à une sonde 3D, qui n'a pas ce problème.

Je n'ai pas du tout testé la procédure et les macros correspondantes à la prise en compte des changements d'outils en cours de travail.

Globalement, les macros modifiées des 2 systèmes fonctionnent.
La version screenset 2010 est moins sophistiquée, pas gratuite mais pas très couteuse, et largement suffisante.
La version "probe-en, vers.by" est fonctionnelle et gratuite avec un peu d'huile de coude et de réflexion pour la mettre en place.


David,
question subsidiaire. Je n'ai pas réussi à trouver comment on peut savoir (directement) quelle macro est accrochée à quel bouton. Sur certains écrans on peut "ouvrir" la macro en mode édition, sur d'autre pas !?
Je débute aussi dans l'utilisation de machscreen :oops:
[Edit] J'ai trouvé, dans machscreen pour l'attachement bouton/macro.
 
Dernière édition:
Ma config de test CNC-carte chinoise-Mach3.

La touchplate est "flottante" et posée sur une plaque de mousse, c'est conseillé pour effectuer les tests quand on est pas sur du comportement des macros en cas de mouvement chaotique, ce qui arrive avec les macros non modées . Les contacts sont tellement légers qu'il n'y a quasiment pas de déplacement, ce qui permet déjà de tester la répétabilité de la mesure sans immobiliser la touchplate

NB: petit complément au post précedent. Il est très important (vital) de comprendre le point de départ et la trajectoire pour l'opération envisagée. Screenset 2010 et probe-en sont très différents, ce qui peut entrainer un abandon ou une collision non prévue.

cnc-1610_mach3_mx3-sainsmart_20260327_150045_crop_800.jpg
 
Conclusion (provisoire) de mes tests avec les macros modées pour carte chinoise.

Je vais garder la version screenset 2010, peut-être la plus simple, mais me parait tout à fait fonctionnelle.

La version pour macro vers.by ne provoque pas d'erreurs catastrophique, mais me positionne en décalé, c'est peut-être du à une mauvaise compréhension du paramétrage ou/et au fait que j'utilise une touchplate et pas une sonde 3D.

Je viens en plus de découvrir le pourquoi des macros modées avec des noms qui reprennent la fonction mise en œuvre. C'est complètement lié au "screenset PA". Les macros associées aux boutons ne sont pas dans un répertoire externe mais codées dans le screenset ce qui impose des modifications en passant par machscreen.
Les macros sont quand même utilisables, en les renommant, par l'assistant probe-en.
 
Sur certains écrans on peut "ouvrir" la macro en mode édition, sur d'autre pas !?

Les macros que l'on peut ouvrir via "edit button script" + clignotement des boutons + clic sur le bouton contenant la macro sont uniquement les macro "basic script", si le bouton est un bouton contenant du Gcode (fonction "lancer Gcode"), il faut passer par machscreen pour y accéder.

NB: j'utilise un simple touchpad XYZ pour lequel il faut avoir une prise en compte d'un décalage entre le point de contact et le brut en X et Y, contrairement à une sonde 3D, qui n'a pas ce problème.
Il faut quand même tenir compte du Ø de la boule du palpeur ;)

++
David
 
Pour les boutons non-éditables, c'est ce que j'avais fini par trouver avec le code embarqué éditable avec machscreen.

Le diamètre du palpeur ne m'avais pas échappé, que ce soit la boule du 3D ou le diamètre de la fraise pour la touchplate. Le problème est ailleurs, peut-être.

J'ai fait mes premiers essais avec la fraise de gravure qui était en place. C'était pas parfait car ce n'est pas un cône régulier, du coup il y avait une petite différence de mesure suivant le positionnement. Mais ce n'était pas grave pour la compréhension des déplacements.

Là où les ennuis ont commencés, c'est avec screenset 2010. J'avais indiqué (au pif) 0,1mm comme diamètre de touche. Hors les macros de coins utilisent un multiplicateur 3x du diamètre de touche pour le calcul du déplacement perpendiculaire pour faire le contournement du coin. Avec 3x0.1mm, ça ne fonctionnait pas, le bord n'était pas trouvé. J'ai utilisé un rond inox de 3mm comme sonde contact et ce problème à disparu.

La vraie différence entre touchplate et sonde 3d, c'est que le contact avec la pièce n'est pas directe. que ce soit en Z,X ou Y, il faut prendre en compte l'épaisseur de métal de la touchplate.
Pour le screenset 2010, "c'est prévu pour". Quand à "probe wizard", je n'ai pas exploré les possibilités du paramétrage "offset".

Je continue mes investigations pour satisfaire ma curiosité personnelle. J'aime bien comprendre "pourquoi,comment", je suis un tantinet persévérant pour ne pas dire têtu et ça occupe mes neurones et mon temps libre.
 
Dernière édition:
Je continue mes investigations pour satisfaire ma curiosité personnelle. J'aime bien comprendre "pourquoi,comment", je suis un tantinet persévérant pour ne pas dire têtu et ça occupe mes neurones et mon temps libre.
Je vois ça ! Merci d'avoir partagé tes résultats, tu fais avancer la science :) elle est toute mimi ta CNC, tu peux la transporter partout avec toi :lol: C'est fabrication maison ?
 
Non c'est du pur ali.
Je voulais une mini cnc à avoir sous la main dans mon bureau, pour de petites bricoles. Du coup j'ai pris ce qu'il y a de plus petit, une 1610, comme son nom l'indique surface de travail 170x100mm. Une demi 3018, mais 2 fois plus rigide, les axes sont du même diamètre mais 2 fois plus court. La "broche" peut être considérée comme le point faible, son remplacement par une du même gabarit mais un peu plus puissante en fait une machine tout à fait cohérente (bien souvent c'est l'utilisateur qui n'est pas cohérent avec son achat).
Depuis, je l'ai remplacé par une 3018 (GRBL, Candle) pour avoir un peu plus de surface pour positionner et brider facilement mes pièces.
La 1610 est en "attente" sur une étagère. Elle n'a repris du service que pour tester la carte Mach3 et les macros modifiées pour "carte chinoise".
NB: En l'état, la 1610 n'est pas une cnc de bureau, mais de chaise :)
 
Bonsoir à tous,

Je viens donner des nouvelles. Ca y est la transition WXHC - AXBB est finalisée et la CNC est quasi opérationnelle.
Un grand merci @dh42 sans qui j'aurai fait de cette belle carte un beau presse papier ^^:prayer:

Il ne me manque plus qu'à connecter le capteur de longueur d'outil et le palpeur 3D et de savourer de ne plus avoir de bug :-D

Pour le moment je vais rester avec Mach3, et laisser UCCNC de coté. Je dois donc refaire le petit montage avec le relais que @Squal112 m'a indiqué :)

Pour rappel le montage sur la WHXC était le suivant :
1777323357323.png


Maintenant avec la AXBB comment s'organise les branchements ?

J'ai essayé de tenter un truc mais je suis un peu paumé (encore:god:)

Est ce que je suis sur la bonne piste ?
1777324307295.png


Par contre aucune idée d'où peut aller In, GDD et Vcc du relais ...

Merci pour vos éclairages et bonne soirée :)
 
Salut,

Si je me fie au schéma que tu as mis ici


alors VCC va sur le +24V de l'alim, GND sur ton bornier 0V et pour in, il est connecté à une sortie de la carte, par exemple O3 de l'axbb. Je n'ai pas regardé le code de squall112, mais je suppose que O3 pilote la commutation du relais et donc que dans le code il doit activer/désactiver cette sortie en fonction du palpeur sélectionné.

edit: oui c'est bien ça, le ActivateSignal(OUTPUT3) du code active la sortie (logique) n° 3 de Mach3, il te faudra donc définir un output#3 dans le ports&pins comme suit (si tu te branches sur O3, soit pin3)

Sans titre-1.jpg


et bien sur il faudra définir l'entrée "probe" sur port 2 pin 1

pour le active low, à tester, si c'est pas bon dans un sens, alors c'est dans l'autre LOL

attend que squal112 vérifie ; je ne suis pas à l'aise avec ces palpeurs 3 fils.

++
David
 
Dernière édition:

Sujets similaires

B
Réponses
6
Affichages
274
Bobismiles
B
jeanartemis
Réponses
4
Affichages
500
Youry
Y
J
Réponses
3
Affichages
237
D
B
Réponses
1
Affichages
741
laboureau
laboureau
B
Réponses
18
Affichages
695
Benjypel
B
P
Réponses
65
Affichages
2 921
pat du80
P
M
Réponses
6
Affichages
465
Mathand
M
R
Réponses
16
Affichages
1 234
CLRAO
C

Sujets similaires

Retour
Haut