CNC Grande Dimension


#75

Bravo les gars ! Désolé de vous avos laissé tombé ce derniers jours mais j’ai quelques obligations à la maison ces jours ci !

Le jeu. 16 mai 2019 à 11:11, Pierre via Discourse ACoLab noreply-forum@acolab.fr a écrit :


#76

Saga la grande CNC : Ce n’est qu’un début, continuons le combat…

Au cas où il y aurait un regulectif ce soir, je ne suis pas sûr de pouvoir y assister donc je vous fais un point de la grande CNC.

Ou nous en sommes :

Définition :

  • filtre niveau 1 = résistance + condensateur de l’explication https://github.com/gnea/grbl/wiki/Wiring-Limit-Switches

  • Filtre niveau 2 = solution avec opto de l’explication https://github.com/gnea/grbl/wiki/Wiring-Limit-Switches

    La semaine dernière la machine fonctionnait sans l’arrêt d’urgence. Fonctionnait veut dire : Faire un programme complet (12 minutes environ de perçages, contournages avec arrêt et démarrage de broche entre chaque phase). Il me semble me rappeler cependant que dans cette situation j’ai eu un plantage en fin d’usinage une fois. Plantage veut dire être obligé de rebooter le Pc pour reprendre la main).

Dès que je branchais l’arrêt d’urgence, au démarrage de broche, la broche faisait quelques tours et s’arrêtait systématiquement. Le PC n’était pas plante, je pouvais sortir de Bcnc et relancer avec le même résultat.
Hier soir. J’ai mis un filtre provisoire (niveau 1) sur l’arrêt d’urgence : J’ai pu faire un usinage complet avec l’arrêt d’urgence branché normalement. Le seul problème a été 2 pauses non déclenchées volontairement durant l’usinage. Ces pauses ont été réglées par un « start » et l’usinage a repris ou il s’était arrêté.
Conclusion hâtive : Le filtre marche sur l’arrêt d’urgence, il faut donc en mettre sur toutes les commandes externes (arrêt d’urgence, palpeur, pause, start, reset). Donc acte. Remarque : je n’ai pas mis de filtre niveau 1 sur les fins de courses.

Résultat du test après avoir mis un filtre niveau 1 sur les 5 fonctions externes sauf fins de courses :

Je n’ai plus le problème sur l’arrêt d’urgence la broche démarre bien un certain nombre de fois mais l’usinage fini toujours par planter le pc aléatoirement avec reboot obligatoire.

Partant de là, je vois 3 stratégies :

  1. Abandonner. Cette première stratégie n’a pas ma faveur.
  2. Retourner vers Linuxcnc. Pourquoi pas, je ne connais rien à Linuxcnc donc ça m’intéresse mais je ne partirai qu’avec au minimum une personne connaissant linuxcnc.
  3. Epuiser les dernières cartouches Bcnc + Grbl.
    Il me semble que nous avons 2 problèmes.
    a) Des impulsions sur les lignes externes ne conduisant pas à un plantage du Pc mais simplement a une action sur la ligne en question (pause, ou arrêt d’urgence ou …). Sur ce problèmes les filtres niveau 1 sur les lignes externes semblent améliorer la situation (à confirmer).
    b) Un plantage aléatoire du port USB qui conduit à un reboot du Pc et là-dessus je ne suis pas certain que le filtre soit la solution.

Pour continuer sur dans cette voix je ne vois que la manière suivante.

  1. Débrancher les lignes externes (arrêt d’urgence, palpeur, pause, start, reset) jusqu’à trouver un fonctionnement stable de la machine. Stable veut dire (disons 4 usinages de 12 minutes sans le moindre problème).
    a. Si on arrive à une situation stable on passe à 2
    b. Si on n’arrive pas à une situation stable on débranche les fins de course
    i. Si on arrive à une situation stable on passe à 2
    ii. Si on n’arrive pas à une situation stable il faut abandonner la solution GRBL + Bcnc et revoir ce qu’on peut faire avec linuxcnc( à moins que vous ayez d’aurtres idées).
  2. Si on est arrivé à une situation stable, on doit pouvoir dire que le problème est bien sur les lignes externes (soit les 5 fonctions, soit les 5 fonctions + les fins de courses suivant le résultat trouvé en 1).
    a. On commence par virer les 3 fonctions dont on peut se passer (pause, start, reset).
    b. On met un filtre niveau 2 sur les fonctions externes incriminées.
    i. Ça marche on organise un apéro
    ii. Ça ne marche pas on abandonne définitivement GRBL et Bcnc et on passe à autre chose.

Je souhaite votre avis sur les 3 alternatives et eventuellement si vous avez d’autres idées.

Pierre


#77

J’ai juste une question, Pierre : Sommes-nous partout en NC sur les infos carte ?
Ça, c’est déjà un premier point pour éviter les effets d’antenne des fils “en l’air”
Concernant le lien vers le site et les remarques qu’on y trouve sur les filtres et leur efficacités.
Mon avis : les opto-coupleurs sont effectivement des excellents filtres. En pratiquant le NC+filtre RC+opto-coupleur, on devrait obtenir une bonne protection.
Sur les filtres RC, il faut aussi voir la bande passante par rapport aux limites de détection de notre interface.
Je me souviens qu’en industrie, on avait 2 types de filtres RC suivant la vitesse d’acquisition, la fréquence du signal et vitesse de traitement du process (cycle régulier d’acquisition des entrées ou gestion par interruption.
J’avais un copain qui était spécialiste de la chasse à l’artefact et qui passait son temps à faire ça sur nos équipements.
Si, malgré cela on avait encore des aléas de fonctionnement, il serait intéressant de regarder de plus prêt le signal sur l’entrée de la carte avec un analyseur d’état logique.
C’est long, mais le résultat est souvent de bon enseignement.


#78

Merci pour cette réponse François

L’arrêt d’urgence (idem pour pause, reset, start) est typiquement dans ce que tu dis c’est-à-dire NO avec un fil en l’air. La PIN est à + 5V en pull-UP et est mise à la masse lors de l’activation de l’urgence, ou pause ou autre. Il n’y a pas de paramètre dans GRBL pour inverser la logique. Pour le palpeur et les fin de courses, on peut faire ce que l’on veut (car prévu dans les paramètres de GRBL) et le palpeur que j’ai fabriqué est un NC.

Pour les filtres, je suis super intéressé par ce que tu dis, mais mes faibles connaissances en la matière ne me permettent pas d’appliquer. Dois-je comprendre que ta préconisation est de mettre des opto sur les fonctions externes (ca je peux faire) et que si ca continue à merder, tu m’aideras sur l’analyse + poussée ?

Pierre


#79

Il est facile de transformer un no en nf avec juste un transistor et quelque résistance cela permettrais d enlever l effet rtl2 comme je l appel


#80

On fait ça la prochaine fois ?
Il y a tout ce qu’il faut à l’Acolab pour réaliser ces petites interfaces “inverseur de signal”
@gaeldu63 : tu peux nous faire un brin de schéma ?
Pour ma part, je ne pourrai venir que le 29/6 au plus tôt.
Pour les filtres, je pourrais regarder ça sur des cartes d’entrées automates industriels que j’ai sur une étagère. J’apporterai ça pour “analyse”.


#81

j’ai relevé le schéma d’une entrée 24VCC d’une carte entrée automate programmable d’un Vieux TSX de chez Schneider :


L’optocoupleur 4N35 doit jouer pas mal son rôle de filtre car il est donné pour un temps de montée de 3µs sous 10mA.
la courbe est assez droite et permet sans doute d’éliminer tout ce qui ne génère pas un courant suffisant pour être retransmis comme signal significatif pour l’UC.
Capture%20du%202019-06-11%2016-46-49

À savoir qu’un API (Automate Programmable industriel) de cette génération devait capter des signaux de 1KHz à tout casser !


#82

Merci a tous les 2. Thomas et moi sommes fatigues de chercher ce probleme aleatoire. Nous allons refaire une tentative avec LinuxCNC. Ce probleme n’existait pas sous LINUXcnc.


#83

On est reparti sur du LinuxCNC, on a pas mal galéré avec @pinatl Mercredi.

Je pense avoir trouvé la base de la config qui nous irai. On peut même avoir un home switch pour chaque moteur sur le portique X.



Nouvel ordi pour la CNC
#84

ça c’est génial ! ça permettrait d’avoir un portique parfaitement perpendiculaire à “X” à chaque initialisation, ce qui était loin d’être le cas avant :grinning:


#85

Encore un peu de doc pour finir de régler correctement la CN
http://wiki.linuxcnc.org/cgi-bin/wiki.pl?TroubleShooting
http://wiki.linuxcnc.org/cgi-bin/wiki.pl?The_Isolcpus_Boot_Parameter_And_GRUB2
http://wiki.linuxcnc.org/cgi-bin/wiki.pl?TweakingSoftwareStepGeneration
http://wiki.linuxcnc.org/cgi-bin/wiki.pl?Stepper_Drive_Timing


#86

En tout cas, chapeau !
Et samedi dernier, j’ai voulu faire une photo du chantier CNC et ensuite j’ai zappé … Dommage, ça valait le coup d’œil :stuck_out_tongue_winking_eye:
Y a du taff :yum:


#87

Bon on a bien avancé hier avec @pinatl. Après avoir suivi les tuto ci dessus sur la manière de réduire le Jitter, réglé les paramètres de générations des pas, on a une machine qui marche. Mouvement fluide sans à coup.

Le palpeur et l’arret d’urgence fonctionne. Il sera possible de faire la prise d’origine de chacun des moteurs donc de régler la perpendicularité à chaque démarrage :tada:

Il faut encore:

  • définir les positions pour la prise d’origine machine
  • ajouter le capteur manquant
  • commander une nouvelle carte port parallèle (pour rajouter des entrées)

Mais dès que les positions seront défini, on pourra faire des essais à blanc pour s’assurer que tout fonctionne correctement. Et que nous n’avons plus de problème de parasite electro-magnétique.

TL;DR On approche de la fin :fireworks:


#88

Respect !

Jmb


#89

@Thomas

  • définir les positions pour la prise d’origine machine
  • ajouter le capteur manquant
  • commander une nouvelle carte port parallèle (pour rajouter des entrées)

Des qu’on a confirme que ca fontionne “à blanc”, voire meme un petit usinage pour de vrai, je m’en occupe.

Pierre


#90

:clap:


#91

Les choses avancent dans la bonne direction. :star_struck:

Grâce à l’utilisation de LinuxCNC il est possible d’implémenter un filtre logiciel sur l’entrée de l’arret d’urgence. Il est donc possible de filtrer le bruit lié au parasite électromagnétique qui nous posaient tant de problème avec GRBL.

On a fait un premier test avec succès.

Reste à faire :

  • Commander la carte port parallèlle, breakout board, cable 5m (@thomas)
  • Régler les axes (distance parcouru par tour de moteur)
  • Faire des essais pour s’assurer que ça marche bien

On tient le bon bout :hugs:


#92

:clap:


#93

J’ai commandé le matériel.

Encore un peu de lecture pour régler la CN aux petits oignons :
http://linuxcnc.org/docs/2.7/html/integrator/steppers.html


#94

Pas simple le bazar ! … Y a encore du taf avant de trouver les bons paramètres !