Forcer la machine à être "off" (pour EMC2) une fois le programme se termine.
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.
Qui a dit qu'EMC2 était trop simplelapenduledargent/finemeca a dit:J'ai commencer la lecture de la doc de l'intégrateur d'EMC2... et j'ai de quoi lire.
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: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.
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: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 .
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: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.
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).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 ?
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)...
Ok il faudrait inclure une temporisation à mon code pour que le système marche comme Nino le fait.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.
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: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
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.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 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 a dit:L'idée était d'utiliser un pic qui lancerait une temporisation qui commanderai le signal Enable du composant de puissance.
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...
La façon la plus facile pour utiliser halui est de modifier votre dossier d'ini pour inclure
HALUI = halui dans la section [HAL].
Il faudra que je regarde ça de plus près!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
lapenduledargent/finemeca a dit:[...]
Que penses-tu d'une ligne comme ceci :
halui.machine.off => parport.0.pin-17-out
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).lapenduledargent/finemeca a dit:Où la placer :
[...]
"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).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
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: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
Avec plaisirlapenduledargent/finemeca a dit:Voilà, et un grand merci d'avance pour ton aide dans ma découverte de hal?
Bonne nuit.
Merci, ce serait très sympathC'est un peu compliqué au premier abord mais demain je vais essayer de te faire un petit schéma avec le code source associé.
--> Ok(ou de préférence via le stepconf wizard en le cochant dans la dernière fenêtre).
--> je vais le faire là, puisque j'ai déjà fait le clavier.Dans 'custom_postgui.hal' : typiquement le code nécessitant une interface graphique
--> je vais examiner ce matinla fenêtre "watch"
oui, comme tu me l'as déjà conseillé mais je trouve qu'il manque d'exemples à décortiquerAs-tu lu le guide de l'intégrateur
Oui, c'est ce que j'ai compris mais il n'y a pas non plus vraiment d'exemples pratique.'il doit symboliser sous forme graphique ce que l'on fait en hal
# 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
Merci!lapenduledargent/finemeca a dit:Beau boulotmais j'espère que tu vas réutiliser ton code également pour petit pas.
Ç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 simplelapenduledargent/finemeca a dit:C'est plus complexe que je ne l'aurai pensé.
Je n'aurais pas pensé utilisé le composant de hal "edge"
En fait tout est décrit complètement en 2 endroits (en anglais) :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 : [...]
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é.lapenduledargent/finemeca a dit:Demain, je vais le testé sur la machine.
- 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 .
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?