Emc + coupure alimentation moteur pas à pas

  • Auteur de la discussion lapenduledargent/finemeca
  • Date de début
lapenduledargent/finemeca
lapenduledargent/finemeca
Ouvrier
19 Sept 2008
379
Walcourt en Belgique
  • Auteur de la discussion
  • #1
Bonsoir,

J'utilise emc2 en port // avec une carte de commande L297-L298 suivant les schémas de Otocoup.

Lorsque ma cnc à terminé son cycle d'usinage mes moteurs restent sous tension et continue a chauffer.

Si j'ai un client ou une autre occupation, je ne suis pas présent afin d'éteindre manuellement la carte.

En fin d'usinage, je peux couper via un relai l'alimentation des moteurs ou couper l'alimentation du L297. Mais comment gérer ça par EMC2 ?
Dans l'assistant de configuration, et son onglet "brochage du port //", y a-t-il une broche qui sert à cela ?

J'ai activation ampli et pompe de charge ??

Merci pour vos réponses.

Pierre
 
N
natale
Compagnon
6 Nov 2006
1 037
Yvelines 78
Sur le L297 tu as une broche qui s'appelle enable si tu la met à 0 le stade de puissance est eteint, je pense que sur EMC2 est activation ampli.
 
horsot
horsot
Compagnon
28 Mai 2009
768
Toulouse
C'est bien l'activation de l'ampli. Mais le soucis c'est qu'il ne se désactive que si la machine est "off" et non si la machine est en fin de programme. J'ai eu le même soucis pour mettre mon circuit de driver en mode basse consommation.
Il y a 2 solutions :
- Générer un signal pour couper l'ampli si ni un jog ni un programme est exécuté (j'ai implémenté cette solution avec des boutons en façades pyVCP)
- Forcer la machine à être "off" (pour EMC2) une fois le programme se termine.

Personnellement, je pense que la seconde solution est mieux pour toi surtout que tu risques de perdre l'origine machine si tes drivers sont off. Si tu veux le bout de code dis le moi (je ne l'ai pas sur cette machine).

Xavier
 
lapenduledargent/finemeca
lapenduledargent/finemeca
Ouvrier
19 Sept 2008
379
Walcourt en Belgique
  • Auteur de la discussion
  • #4
Merci Natale et horsot,

Donc au niveau L297, c'est bien enable et sur emc, c'est l'ampli.

Forcer la machine à être "off" (pour EMC2) une fois le programme se termine.
Que veux-tu dire par machine "OFF" ?

A bientôt

Pierre
 
horsot
horsot
Compagnon
28 Mai 2009
768
Toulouse
Les sorties "axis.X.ampl-enable-out" sont à 1 lorsque le bouton "Marche arrêt machine [F2]" est relaché, je n'ai pas creusé plus. Dans le menu "machine-> configuration HAL" tu peux voir les signaux HAL évoluer. Je te renvoie à la doc de l'intégrateur EMC.

Xavier
 
lapenduledargent/finemeca
lapenduledargent/finemeca
Ouvrier
19 Sept 2008
379
Walcourt en Belgique
  • Auteur de la discussion
  • #6
Bonsoir Xavier,

Je vais tester la semaine prochaine mais j'ai également une carte test avec des leds pour visualiser les sorties du port //.

Ton bout de code tu l'as écrit en C, en Python ? Et tu le mets où?

A bientôt

Pierre
 
horsot
horsot
Compagnon
28 Mai 2009
768
Toulouse
Désolé du retard, je n'ai pas pris le temps de prendre le source dans EMC2 mais de mémoire :

C'est une syntaxe "HAL" qui relie des boites entre elles avec des signaux. Les "boites" représentent des "fonctions" (et logique...). Je te conseille de lire la doc de l'intégrateur d'EMC2 rubrique EMC2, c'est vraiment dans HAL que l'on peut le mieux profiter de la puissance d'EMC2.

Ici le signal qui t'intéresse est "halui.program.is-running" qui est à 1 lorsque un programme Gcode est en cors d'exécution. Pour y avoir accès à partir du stepconf wizard il te faut l'activer dans la dernière fenêtre, profite en pour ajouter un custom panel VCP. La doc est vraiment bien faite, elle en vaut l'investissement.

Xavier
 
lapenduledargent/finemeca
lapenduledargent/finemeca
Ouvrier
19 Sept 2008
379
Walcourt en Belgique
  • Auteur de la discussion
  • #8
Bonjour Xavier,

Merci de tes précieuses réponses.
Emc2 a beaucoup de facettes, de possibilités.
Au départ, je le trouvais trop simple, trop basique, je viens de Ninos, une usine à gaz.
Mais si je peux personnaliser Emc2...

Je penses décrire mes modifs dans un post spécifique.

A bientôt

Pierre
 
horsot
horsot
Compagnon
28 Mai 2009
768
Toulouse
Pour EMC2 tu peux faire des modules en python (uniquement pour l'interface utilisateur ou processus lents) ou du C venant s'interfacer avec HAL.

Voici comment j'ai implémenté la réduction de courant de "Petitpas" (mon driver maison). C'est un premier (en fait un second) jet je ne suis pas pleinement satisfait (mémoire et délais à implémenter : à faire en C ou en python car hal est vraiment trop spartiate). Pour ton application je te conseille d'utiliser le signal "halui.program.is-running". Le enable des L297 coupe t'il l'alim des moteurs ou fait juste une réduction de courant? S'il le coupe tu perdras l'origine machine.

Dans custompanel.xml (fichier presque vide créé par stepconf) en gros des boutons radio et une led :
Dans custom_postgui.hal (fichier presque vide créé par stepconf) en gros l'architecture hal créée après chargement de l'interface graphique AXIS :
Bon courage ça vaut le coup

Xavier
 
lapenduledargent/finemeca
lapenduledargent/finemeca
Ouvrier
19 Sept 2008
379
Walcourt en Belgique
  • Auteur de la discussion
  • #10
Bonsoir Xavier,

J'ai commencer la lecture de la doc de l'intégrateur d'EMC2... et j'ai de quoi lire.
Mais je me suis aperçu que je n'avais pas les mêmes écrans que dans la doc. J'ai fait une mise à jour d'un pc qui est relié une carte de test.

J'ai un ami étudiant en électronique qui me conseils à la place de travailler sur le L297 de couper via un relai la partie puissance. Le relai serai donc commandé par emc .

Le enable des L297 coupe t'il l'alim des moteurs ou fait juste une réduction de courant? S'il le coupe tu perdras l'origine machine.
D'après les réponses d'un forum d'électronique, si je modifie la tension de Vref, je peux ainsi garder un couple minimum et ainsi limiter la chauffe des moteurs.

Tu m'expliques que si je coupe l'alim des moteurs que je perds l'origine machine. Je suppose que tu parles par exemple que la table de la machine sans couple pourrait se déplacer légèrement ?

A bientôt

Pierre
 
N
natale
Compagnon
6 Nov 2006
1 037
Yvelines 78
L'ideal est un circuit de reduction de courant à repos comme ça les moteurs sont toujours " en prise" est suffisant (au repos) de fournir le 30% de courant.
 
horsot
horsot
Compagnon
28 Mai 2009
768
Toulouse
Bonsoir Pierre,

lapenduledargent/finemeca a dit:
J'ai commencer la lecture de la doc de l'intégrateur d'EMC2... et j'ai de quoi lire.
Qui a dit qu'EMC2 était trop simple :wink:
lapenduledargent/finemeca a dit:
Mais je me suis aperçu que je n'avais pas les mêmes écrans que dans la doc. J'ai fait une mise à jour d'un pc qui est relié une carte de test.
La version à jour semble la EMC/AXIS 2.3.3, sinon utilise le gestionnaire de mise à jour (Système->Administration->Gestionnaire de mise à jour)
lapenduledargent/finemeca a dit:
J'ai un ami étudiant en électronique qui me conseils à la place de travailler sur le L297 de couper via un relai la partie puissance. Le relai serai donc commandé par emc .
Je ne suis pas pour couper les alimentations des drivers ou des moteurs pour la veille. Ce que ton amis préconise irait bien pour un arrêt d'urgence (et encore). Je ne suis pas sûr que couper l'alimentation de puissance ne soit pas nuisible aux composants de plus je crains un comportement ératique au redémarage comme sur "PetitPas" (mon driver voir section électronique de e site).

lapenduledargent/finemeca a dit:
D'après les réponses d'un forum d'électronique, si je modifie la tension de Vref, je peux ainsi garder un couple minimum et ainsi limiter la chauffe des moteurs.
C'est la solution que j'ai retenue pour petit pas, lorsque le signal "power reduction" est à "1" la référence de tension du ADC est immédiatement réduit à 50% puis 30s plus tard et si le signal est maintenu il est réduit de nouveau jusqu'atteindre 25% de sa valeur nominale. Si tu peux modifier la référence de tension c'est vraiment le mieux car aucun risque de perte de pas.
lapenduledargent/finemeca a dit:
Tu m'expliques que si je coupe l'alim des moteurs que je perds l'origine machine. Je suppose que tu parles par exemple que la table de la machine sans couple pourrait se déplacer légèrement ?
Non ce n'est pas ce genre de déplacement qui m'inquiètent le plus, je pensais plus au déplacement due au microstepping, en position de repos un moteur est sur un pas entier. De plus je ne suis pas sur qu'à l'alimentation des drivers, les moteurs ne fasse pas quelques pas (sur PetitPas c'est le cas).

Sur la remarque de Natale : je préfère que la commande de réduction de courant vienne du PC car il est le seul à savoir l'état du système (en plus de la flexibilité que cela apporte). Je m'explique, souvent la réduction automatique de courant se fait sur chaque axe séparément (au bout d'un temps d'inactivité). De ce fait un axe (Z par exemple) peut très bien être inactif pendant une "longue" période d'usinage et je trouve préjudiciable de lui réduire son courant/couple en plein usinage. Par contre si la carte dont tu parles "sait" l'état d'activité de chaque axe (la breakout board pourrait le "savoir") et réduit le courant de l'ensemble des axes, je n'ai rien dit :wink:

A bientôt

Xavier
 
lapenduledargent/finemeca
lapenduledargent/finemeca
Ouvrier
19 Sept 2008
379
Walcourt en Belgique
  • Auteur de la discussion
  • #13
Bonjour Xavier,

J'ai testé ton code dans custompanel et dans custom_postgui.
En manuel, ça fonctionne ON et OFF.

Mais en automatique, je ne vois rien :?: Y-a-t-il un autre code ?

A bientôt

Pierre
 
horsot
horsot
Compagnon
28 Mai 2009
768
Toulouse
Bonjour Pierre,

Heu... je ne sais plus :oops: . De toute façon le code ne me plaid pas il faut que le l'améliore. La fonction auto est activé à la détection d'un mouvement ou d'une exécution programme. L'inconvénient c'est qu'en jog la réduction va s'enclencher très souvent ce qui ne me plaid pas (ajout d'une tempo?!).

Sinon, j'ai pensé au lieu de l'automatique une case à cocher "Réduire le courant à la fin du programme" car en fait c'est vraiment ça qui nous intéresse. Sinon "Arrêter la machine à la fin du programme" peut être une solution car ce signal désactive les amplis des drivers de moteur (fonction standard)...

C'est un sujet ouvert à discussion, si tu as des idées je suis preneur!

Xavier
 
lapenduledargent/finemeca
lapenduledargent/finemeca
Ouvrier
19 Sept 2008
379
Walcourt en Belgique
  • Auteur de la discussion
  • #15
Bonsoir Xavier,

Si je prends l'exemple de ma cnc-bois avec carte à pic de chez Iprocam et son propgrame Ninos :

Quelques seconde après des déplacements ou un usinage, la tension des moteurs se réduit.

Sinon "Arrêter la machine à la fin du programme" peut être une solution car ce signal désactive les amplis des drivers de moteur (fonction standard)...
Sur mon autre carte Iprocam que je suis entrain de réinstaller sur ma nouvelle fraiseuse PCB, j'ai utilisé suivant tes conseils la fonction Ampli de EMC mais il faut actuellement éteindre la machine manuellement :sad:

Ca ne serait pas un problème si il y avait une fonction Gcode.

J'ai testé avec une led pontée sur la broche "Pas" (testé sur l'axe X) du port // avec EMC2, elle ne s'allume pas lors de la rotation du moteur.
Par contre avec mon programme écrit en Gambas, elle s'allume et s'éteint lorsque le moteur n'est pas actif.
Je suppose que cela est du à une forme différente des signaux de EMC ???

L'idée était d'utiliser un pic qui lancerait une temporisation qui commanderai le signal Enable du composant de puissance.

J'attends avec impatience ton avis.

Pierre
 
horsot
horsot
Compagnon
28 Mai 2009
768
Toulouse
Bonsoir Pierre,

lapenduledargent/finemeca a dit:
Si je prends l'exemple de ma cnc-bois avec carte à pic de chez Iprocam et son propgrame Ninos :

Quelques seconde après des déplacements ou un usinage, la tension des moteurs se réduit.
Ok il faudrait inclure une temporisation à mon code pour que le système marche comme Nino le fait.

lapenduledargent/finemeca a dit:
horsot a dit:
Sinon "Arrêter la machine à la fin du programme" [...]
Sur mon autre carte Iprocam que je suis entrain de réinstaller sur ma nouvelle fraiseuse PCB, j'ai utilisé suivant tes conseils la fonction Ampli de EMC mais il faut actuellement éteindre la machine manuellement :sad:
L'idée c'était d'envoyer un signal de demande d'extinction de la machine à la fin du programme la pin HAL "halui.machine.off" mise à 1 permet de le faire. Le soucis c'est qu'il faut rallumer la machine à la main pour faire un jog ou lancer un autre programme...

lapenduledargent/finemeca a dit:
J'ai testé avec une led pontée sur la broche "Pas" (testé sur l'axe X) du port // avec EMC2, elle ne s'allume pas lors de la rotation du moteur.
Par contre avec mon programme écrit en Gambas, elle s'allume et s'éteint lorsque le moteur n'est pas actif.
Je suppose que cela est du à une forme différente des signaux de EMC ???
Oui c'est tout à fait normal, les pulses font "step time" ns de largeur (de l'interface stepconf wizard) bref pas assez pour allumer la led et surtout pas assez pour que nos yeux la voie.
Si tu veux tester ton port parallèle sous linux avec HAL (pour vérifier que tout va bien et que EMC2 pourras bien le commander) je te conseille parallel port tester : http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl?Parallel_Port_Tester en anglais mais c'est simple tu copies les 2 fichiers dans ton home (répertoire personnel) et tu lance la commande "halrun -I -f ptest.hal" dans un terminal.

lapenduledargent/finemeca a dit:
L'idée était d'utiliser un pic qui lancerait une temporisation qui commanderai le signal Enable du composant de puissance.
Oui mais ça peut être fait par EMC2 de manière plus souple et avec une interface graphique pour la commander. Je ne saurais que te conseiller de lire la doc et le wiki en entier pour explorer les possibilités d'EMC2 (notamment de HAL)
 
lapenduledargent/finemeca
lapenduledargent/finemeca
Ouvrier
19 Sept 2008
379
Walcourt en Belgique
  • Auteur de la discussion
  • #17
Bonsoir Xavier,

Cela fait maintenant deux jours que je parcours la doc de EMC pour comprendre hal.

J'ai fait quelques exercice comme le pavé de direction (très utile):

http://linuxcnc.org/docs/html/hal_pyvcp_examples.html

Mais revenons à mon problème d'Enable.

L'idée c'était d'envoyer un signal de demande d'extinction de la machine à la fin du programme la pin HAL "halui.machine.off" mise à 1 permet de le faire. Le soucis c'est qu'il faut rallumer la machine à la main pour faire un jog ou lancer un autre programme...
Voilà la source (bas de la page):
http://www.linuxcnc.org/docview/html/gui_halui_fr.html#r1_2_18

Dans un premier temps, je veux seulement agir sur la Pin 17 de mon port // et lui faire changer d'état lorsque le programme est terminé.
Pour un joli panneau en Pycvp avec led et bouton, se sera l'étape suivante.

Que penses-tu d'une ligne comme ceci :

halui.machine.off => parport.0.pin-17-out

Où la placer :

La façon la plus facile pour utiliser halui est de modifier votre dossier d'ini pour inclure
HALUI = halui dans la section [HAL].
ou dans :

custom_postgui.hal

Maintenant comment voir la ligne parport.0.pin-17-out dans Halshow ?
http://linuxcnc.org/docs/html/hal_halshow_fr.html


As-tu déjà utilisé le système ClassicLadder avec emc ? C'est une autre manière de programmer :
http://linuxcnc.org/docs/html/ladder_ladder_intro_fr.html
http://linuxcnc.org/docs/2.2/html/ladder_ladder_examples.html

Voilà, et un grand merci d'avance pour ton aide dans ma découverte de hal?

Bonne nuit.

Pierre
 
horsot
horsot
Compagnon
28 Mai 2009
768
Toulouse
Bonsoir Pierre,

lapenduledargent/finemeca a dit:
Cela fait maintenant deux jours que je parcours la doc de EMC pour comprendre hal.

J'ai fait quelques exercice comme le pavé de direction (très utile):

http://linuxcnc.org/docs/html/hal_pyvcp_examples.html
Il faudra que je regarde ça de plus près!

lapenduledargent/finemeca a dit:
[...]
Que penses-tu d'une ligne comme ceci :
halui.machine.off => parport.0.pin-17-out
Heu non ça ne marchera pas! "halui.machine.off" est une "pin" de type entrée comme "parport.0.pin-17-out" (le signal sort du port parallèle). En gros si tu mets à '1' le signal "halui.machine.off" ça éteindra la machine.

Une façon simple est d'utiliser le signal (de mémoire) "program.is-running" (de type sortie) qui informe (="1") si un programme est en cours d'exécution dans un block de type "edge" (de mémoire toujours!) qui met sa sortie à '1' lorsque il détecte un front descendant '1'->'0' (par défaut) de son entrée (donc dans notre l'activité du programme dont le front descendant signifie la fin du programme). Ce signal de fin du programme est maintenant branché sur le fameux "halui.machine.off" qui demande à la machine de s'éteindre.
Lorsque la machine est en état "off" la sortie "parport.0.pin-17-out" qui est branché au signal d'activation des ampli passe automatiquement à '0'.

C'est un peu compliqué au premier abord mais demain je vais essayer de te faire un petit schéma avec le code source associé.

lapenduledargent/finemeca a dit:
Où la placer :
[...]
Halui est une paquet de signaux bien pratique pour contrôler EMC2 pour l'utilisateur, il faut donc le rajouter dans le fichier ini (ou de préférence via le stepconf wizard en le cochant dans la dernière fenêtre).

Pour tes modifs en code hal tu as 2 solutions (par défaut) :
- Dans 'custom.hal' : typiquement le code ne nécessitant pas d'interface graphique (comme le coup d'éteindre la machine :wink: )
- Dans 'custom_postgui.hal' : typiquement le code nécessitant une interface graphique. Ce code n'est chargé que lorsque AXIS (l'interface par défaut de EMC2) est activée et que les pyVCP (boutons, leds,...) sont chargés et prêts à recevoir des signaux.
lapenduledargent/finemeca a dit:
Maintenant comment voir la ligne parport.0.pin-17-out dans Halshow ?
http://linuxcnc.org/docs/html/hal_halshow_fr.html
"parport.0.pin-17-out" est une "pin" donc son chemin est "pin"->"parport"->"0"->"pin-17-out". De même pour le signal "halui.machine.off" "pin"->"halui"->"machine"->"off". Pour sélectionner certains signaux à visualiser il y a la fenêtre "watch" puis sélectionne le signal à visualiser sur la gauche il apparaitra dans la colonne de droite avec une petite led indiquant en temps réel l'état du signal (ou un nombre pour les pins de type entier ou nombre à virgules).

As-tu lu le guide de l'intégrateur (en ligne ou en pdf), de manière générale toute la doc est accessible sur :

http://www.linuxcnc.org/docs/2.3/ pour les versions PDF et en ligne (fr pour la version française). De quoi occuper bien des soirées!

lapenduledargent/finemeca a dit:
As-tu déjà utilisé le système ClassicLadder avec emc ? C'est une autre manière de programmer :
http://linuxcnc.org/docs/html/ladder_ladder_intro_fr.html
http://linuxcnc.org/docs/2.2/html/ladder_ladder_examples.html
Non, je ne le connais que de nom mais je pense qu'il doit symboliser sous forme graphique ce que l'on fait en hal (à vérifier).
lapenduledargent/finemeca a dit:
Voilà, et un grand merci d'avance pour ton aide dans ma découverte de hal?

Bonne nuit.
Avec plaisir :-D , ça me fait plaisir de filer un coup de main à quelqu'un d'assez motivé pour affronter HAL pour se faire une machine aux petits oignons! Puis c'est un investissement pour moi, je suis sûr que je finirai par utiliser des morceaux de configs que tu auras faite.

Au fait lis tu l'anglais? Si oui il y a un wiki très instructif qui a le mauvais goût d'être en anglais (et un peu foutoir :siffle: )...

Bonne nuit

Xavier
 
lapenduledargent/finemeca
lapenduledargent/finemeca
Ouvrier
19 Sept 2008
379
Walcourt en Belgique
  • Auteur de la discussion
  • #19
Bonjour Xavier,

C'est un peu compliqué au premier abord mais demain je vais essayer de te faire un petit schéma avec le code source associé.
Merci, ce serait très sympath :-D :-D mais entre les tests de petit pas..

(ou de préférence via le stepconf wizard en le cochant dans la dernière fenêtre).
--> Ok

Dans 'custom_postgui.hal' : typiquement le code nécessitant une interface graphique
--> je vais le faire là, puisque j'ai déjà fait le clavier.
la fenêtre "watch"
--> je vais examiner ce matin
As-tu lu le guide de l'intégrateur
oui, comme tu me l'as déjà conseillé mais je trouve qu'il manque d'exemples à décortiquer
'il doit symboliser sous forme graphique ce que l'on fait en hal
Oui, c'est ce que j'ai compris mais il n'y a pas non plus vraiment d'exemples pratique.

Concernant l'anglais, je le comprends dans les grandes lignes et j'ai d'ailleurs trouvé ça sur les origines (pour la suite) :
http://www.linuxcnc.org/component/o.../id,58/catid,22/limit,6/limitstart,0/lang,fr/

A bientôt

Pierre
 
lapenduledargent/finemeca
lapenduledargent/finemeca
Ouvrier
19 Sept 2008
379
Walcourt en Belgique
  • Auteur de la discussion
  • #20
Bonsoir Xavier,

Aujourd'hui, j'ai avancé sur les tests de la fraiseuse pcb (voir petit pas), j'ai donc pas travaillé sur la config de emc. :sad:

Par contre, j'ai testé rapidement "hal show".
J'ai compris son fonctionnement avec parport lorsque j'active ou désactive la fonction enable.
Voilà petit à petit...

A bientôt

Pierre
 
horsot
horsot
Compagnon
28 Mai 2009
768
Toulouse
Bonsoir Pierre,

Bon voila c'est fait (le plus long à faire c'est le schéma! :wink: )

Voici le code à mettre dans custom.hal ou autre (nécessite halui) :
# Charge un le détecteur de fronts (edge.0)
loadrt edge count=1

# Lui affecte le rythme de "servo-thread" (lent)
addf edge.0 servo-thread

# Le parametre pour une détection du front descendant
# et un pulse de 100000000ns (voir la doc de edge)
setp edge.0.in-edge TRUE
setp edge.0.out-width-ns 100000000

# Connecte la pin programme en cours d execution avec l'entrée de edge.0
net prog_is-run halui.program.is-running => edge.0.in

# Connecte la sortie de edge.0 de fronts descendant pour commander
# l arret de la machine
net arret edge.0.out => halui.machine.off
En gros il faut créer et paramétrer un block "edge" et brancher ses entrées sorties (voir commentaires et schéma ci dessous)

C'est clair?

Xavier

remarque : "prog_is-run" et "arret" sont des signaux nécessaires à brancher 2 pins (une sortie (out) et une entrée in) entre elles.

auto-off.png
 
lapenduledargent/finemeca
lapenduledargent/finemeca
Ouvrier
19 Sept 2008
379
Walcourt en Belgique
  • Auteur de la discussion
  • #22
Bonjour Xavier,

Beau boulot :-D mais j'espère que tu vas réutiliser ton code également pour petit pas.

C'est plus complexe que je ne l'aurai pensé.
Je n'aurais pas pensé utilisé le composant de hal "edge"

Tu fais référence à la doc. Dans le manuel de l'intégrateur, j'ai trouvé peu de choses à part :

page 65 : edge.9 = Détecteur de front. Et d'autres références sans grandes explications. J'ai peut-être mal cherché ?

Sinon une fois que l'on connais edge, je comprends ton code.
Demain, je vais le testé sur la machine. :-D

A bientôt

Pierre
 
horsot
horsot
Compagnon
28 Mai 2009
768
Toulouse
Bonjour Pierre,

lapenduledargent/finemeca a dit:
Beau boulot :-D mais j'espère que tu vas réutiliser ton code également pour petit pas.
Merci!
Oui surement mais au pire ce n'est pas perdu ça me fait la main :wink:

lapenduledargent/finemeca a dit:
C'est plus complexe que je ne l'aurai pensé.
Je n'aurais pas pensé utilisé le composant de hal "edge"
Ça se fait en 5 lignes (le "setp edge.0.in-edge TRUE" est déjà par défaut), le plus long est de déclarer et de paramétrer le composant "edge" sinon c'est difficile de faire plus simple :wink:

lapenduledargent/finemeca a dit:
Tu fais référence à la doc. Dans le manuel de l'intégrateur, j'ai trouvé peu de choses à part : [...]
En fait tout est décrit complètement en 2 endroits (en anglais) :
- La doc en ligne (vers la fin de la page) plus pratique pour les gens non habitués à la seconde méthode :
http://linuxcnc.org/docs/html/ (ce lien est la bible d'EMC2! )
- Dans les pages man qui sont les pages de manuel des logiciels/commandes/bibliothèques linux. Pour y accéder il faut ouvrir un terminal (Application->Accessoire->Terminal) et taper par exemple "man 9 edge" pour avoir la fiche de "edge". C'est la touche "q" pour quitter :wink: .

lapenduledargent/finemeca a dit:
Demain, je vais le testé sur la machine. :-D
Je ne l'ai testé que sur un simulateur d'EMC2 (Je n'avais pas le PC CNC sous la main) mais il ne devrait pas y avoir de soucis tant que halui est chargé.

Bonne fin de we

Xavier
 
lapenduledargent/finemeca
lapenduledargent/finemeca
Ouvrier
19 Sept 2008
379
Walcourt en Belgique
  • Auteur de la discussion
  • #24
Bonsoir Xavier

- Dans les pages man qui sont les pages de manuel des logiciels/commandes/bibliothèques linux. Pour y accéder il faut ouvrir un terminal (Application->Accessoire->Terminal) et taper par exemple "man 9 edge" pour avoir la fiche de "edge". C'est la touche "q" pour quitter Wink .
Je connaissais mais je n'ai jamais utilisé, c'est l'occasion :-D

Pour ce qui du langage Ladder, regarde ces deux liens :

http://www.framasoft.net/article3077.html
http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl?ClassicLadder

Bonne soirée

Pierre
 
lapenduledargent/finemeca
lapenduledargent/finemeca
Ouvrier
19 Sept 2008
379
Walcourt en Belgique
  • Auteur de la discussion
  • #25
Bonjour Xavier,

Ton code fonctionne :-D :-D Bravo

-Lors de la fin d'usinage, la fonction enable est automatiquement lancée.
-Lors d'un arrêt du programme, la fonction enable est automatiquement lancée.

Il suffit alors de cliquer sur le bouton pour la relancer.

Super boulot.

A bientôt

Pierre
 
B
Bth
Ouvrier
2 Fev 2009
487
Besançon25
Emc2

Bonjour messieurs,

Je suis avec beaucoup d'intéret votre travail sur les Cnc PCB, je réalise actuellement une machine pour du 200x300.Et parallelement à la mécanique nous avons installé Emc sur une machine. Hier soir avec mon fils nous avons procédé à des essais avec du Gcode pour des circuits imprimés. C'est fantastique de voir le CI à l'écran et de voir la machine le tracer!!! Le stylo était collé avec des étiquettes sur le Z. Je vais continuer la mécanique pour le Z.

Merci pour toutes ces info et ce travail.

Salutations.

Thierry
 
lapenduledargent/finemeca
lapenduledargent/finemeca
Ouvrier
19 Sept 2008
379
Walcourt en Belgique
  • Auteur de la discussion
  • #27
Bonjour et bienvenue au club.

Suite au codes de Xavier et à ses conseils, j'arrive aux performances semblables qu'à une autre machine qui utilise xp et une carte Iprocam.

Donc, c'est certain, emc est le bon choix.

Bonne journée.


Pierre

Ps : as tu une photo de ta machine. Il me reste également l'axe z à terminer...
 
B
Bth
Ouvrier
2 Fev 2009
487
Besançon25
Emc2

Bonjour,

Oui c'est le bon choix Emc2.

Le Z je vais essayer de le finir cette fin de semaine et je vais mettre des photos.

J'en ai encore plein les yeux de mes circuits imprimés de hier soir avec mon fils.

Bonne Journée.

Thierry
 
horsot
horsot
Compagnon
28 Mai 2009
768
Toulouse
Bien sûr EMC2 est la bonne solution ! :wink:

Content que le code marche :-D Il ne reste plus qu'à l'adapter avec une case à cocher "pyvcd" pour rentre la fonction active ou non (avec un bloc "and").

Je pense qu'EMC2 peut avoir de meilleures performances que ces concurrents sous windows pour ce qui est robustesse et génération de signaux. Par contre peu de fonctions avancés sont implémentés de base, il faut souvent se retrousser les manches.

Comme d'autre l'ont dit avant moi sur ce forum : il parait simpliste mais en vaut l'investissement.

Xavier
 
B
Bth
Ouvrier
2 Fev 2009
487
Besançon25
Emc2

Bonjour à tous et à toutes,

Voici quelques photos de la derniere réalisation familialle.Mon fils fait partie de l'équipe, lui c'est la lime et la scie à métaux!!!!!
L'axe Z n'est pas encore fini.
Avec une photo sur une brouette de Gcode pour un circuit imprimé sur Emc2.

Bonne journée.

Thierry

img_5117.jpg


img_5119.jpg


img_5118.jpg
 
Haut