Retrofit petite Realmeca avec cartes MESA

  • Auteur de la discussion Laurent_CNC
  • Date de début
M

matt07600

Apprenti
Bonjour Gaston, j'ai installé le composant realkbcs en ''userspace'', les sorties des commutateurs affichent leur valeurs une fraction de seconde de façon aléatoire puis repasse à 0 ( elles scintillent), de même pour les touches, il faut les enfoncer environ 3 secondes pour qu'elles répondent.
À bientôt.
Matthieu
 
G

gaston48

Compagnon
Bonjour Matthieu,
Merci d'avoir essayer, je crois deviner le problème.
Dans le fichier INI rubrique EMCMOT, tu dois avoir une servo_period standard de 1000000 ns
et dans le composant qu'on teste on a une tempo de usleep(1000); 1000 microsecondes donc
1000 000 de nanoseconde aussi, cela n'est pas assez. Ça marche sur ma config car j'ai
un servo_period de 500 000 ns ...
il y a un temps de transit entre un signal out qui alimente une ligne et le retour in par les colonnes.
on voit bien avec halscope ...
Donc si tu peux augmenter la valeur re installer et essayer ...
Met 2 ou 4 fois la valeur de ton servo_period donc usleep(4000);
la ligne usleep(200); tu peux la laisser telle quelle.
N'oublie pas de fermer linuxcnc avant de compiler installer.
 
M

matt07600

Apprenti
Bonsoir Gaston, ça fonctionne mieux, j'ai dû intervertir les commutateurs, du coup le 2 est ok, par contre sur le 1 les sorties sont toujours pas dans le bon ordre (mais ni dans l'ordre de l'ancien composant car j'ai copié collé mes anciennes lignes que j'avais modifié et ça donne un ordre différent mais pas le bon).
De plus j'ai les Leds qui scintillent suivant la position des commutateurs.
Sinon j'ai un peu avancé avec la programmation du clavier: j'ai lié les incréments des manivelles avec le commutateur1, connecté les boutons Jog des axes (X-X+Y-Y+Z-Z+), l'avance du Jog avec le commutateur 1 (au lieu des incréments comme j'avais dit, à voir le plus fonctionnel...), l'avance auto sur le commutateur 2 (G1), créé 4 touches pour les rapides G0: 1,10,50,100%.
Bonne soirée.
 
Dernière édition:
M

matt07600

Apprenti
Bonjour à tous, en fait j'ai changé mon fusil d'épaule, j'ai mis l'avance automatique et Jog sur le commutateur 2 ( en multipliant la valeur pour Jog) et choix des incréments sur le commutateur 1, le problème c'est que je n'arrive pas à faire en sorte que quand je met sur "ill" la machine fonctionne en continu, c'est à dire que la machine s'arrête quand je relâche le bouton, comme quand on sélectionne continu ou incréments dans l'interface utilisateur graphique, le top serait d'ailleurs de lier ces valeurs avec le commutateur.
D'après ce que je comprends il y a des ''hal pins'' dans gmoccapy (gmoccapy.jog-inc-0...) mais pas dans axis où il y a qu'une sortie (axiui.jog.increment).
Si quelqu'un peut m'aider ce serait super car je colle.
À bientôt
 
G

gaston48

Compagnon
Bonjour,
Il faut passer par HALUI, je pense que normalement c'est par lui que passent toutes les commandes
issues de la graphie + souris/clavier, graphie + touchscreen et hard dans ton cas.

http://linuxcnc.org/docs/2.7/html/man/man1/halui.1.html

jog_axis.jpg
 
M

matt07600

Apprenti
Salut Gaston, le problème c'est qu'il faut que j'arrive à faire par exemple:
halui.jog.0.minus
et
halui.jog.0.increment-minus
Avec la même touche.
@+
 
G

gaston48

Compagnon
Ah d'accord,
Il faudra dédoubler les 6 touches, pour aiguiller les 6 touches +/- soit sur incrément,
soit sur continu en faisant un test sur la sortie out2 quand elle est égale à 1e6.

Cela doit pouvoir se faire dans notre composant realkbcs.comp
augmenter la taille du tableau de touche de [88] à [100] (+ 2 x 6 touches)
comme ça on ne perturbe pas la boucle de lecture des touches.
Si la touche spécifique [X+] par exemple touch(30) est activée passe à 1,
(elle ne sera pas branchée dans hal (net)) mais elle va subir un test si 1e6
est également présent sur out1 et si oui elle sera recopiée sur touch(89) pour continu
sinon sur touch(90) pour incrément.
 
Dernière édition:
M

matt07600

Apprenti
Salut Gaston, en fait je m'en suis sorti juste avec un ''and2", j'ai envoyé la position ''ill'' du commutateur vers une nouvelle sortie de realkbcs (realkbcs.0. out5), je l'ai transformer en bit et envoyé vers une entrée de ''and2'', l'autre entrée sur la touche du clavier que j'envoie aussi sur ''halui.jog.0.increment-minus''
Et la sortie de ''and2" sur ''halui.jog.0.minus", ça marche nickel.
Bonne soirée
 
G

gaston48

Compagnon
Super ! c'est encore plus simple :-D

Bonne soirée aussi
 
M

matt07600

Apprenti
Bonjour tous le monde, ça fait un petit moment que je me demande s'il est possible d'assigner une lettre ou un chiffre à une touche du clavier et que ce soit reconnu dans linuxCnc (commande mdi, données outils...), Je ne pense pas que ce soit possible directement dans le fichier .hal mais il y a peu être une autre solution.
Bonne journée
Matthieu
 
G

gaston48

Compagnon
Bonjour Matthieu,
Concernant une commande MDI,
Dans HAL, tu peux assigner une touche à cette entrée > halui.mdi-command-00
une autre à halui.mdi-command-01 et ainsi de suite (00 à 99).
Ensuite dans le fichier INI, rubrique [HALUI] tu écris la liste de tes commandes MDI spécifiques ,
suivant l'ordre de HAL: 00, 01 etc
MDI_COMMAND = G...
MDI_COMMAND = M...
La gestion du changement d'outil passe par là aussi, il faut que je retrouve les exemples ...

Ici: avec des touches non plus hard comme toi mais créer en graphie (postgui-hal)
https://forum.linuxcnc.org/forum/47-hal-examples/9956-tool-changer
 
Dernière édition:
M

matt07600

Apprenti
La gestion du changement d'outil passe par là aussi, il faut que je retrouve les exemples ...
En fait je voulais dire rentrer les données dans la table outils ou tout autre endroit où l'on doit rentrer des valeurs, d'ailleurs peut on faire apparaitre un clavier virtuel comme dans gmoccapy?
Merci
@+
 
G

gaston48

Compagnon
Ok, comme prendre en compte ton pavé numérique hard, là je ne peux pas te dire.
Mais tout ce qui est hard externe, passe dans ce cas, habituellement, par une liaison série
directement avec le PC comme en usb ou par mesa avec un driver spécifique.

Finalement la 7i73 gère peut être cela avec le nouveau composant d'Andy
http://git.linuxcnc.org/gitweb?p=li...c9dfc22f171b0e28adfc490b662b5d63242cd;hb=HEAD
mais lui ne gère pas les commutateurs et les led.
 
M

matt07600

Apprenti
Merci Gaston, si c'est la seule solution je vais laisser tomber l'idée car dans le meilleur des cas je pourrais envoyer les chiffres, mais pas le ''.'' ni le ''-", donc pas fonctionnel.
Bonne soirée.
 
M

matt07600

Apprenti
Bonjour, j'aurais juste voulu savoir s'il ne serait pas possible d'envoyer des chiffres et des lettres avec un composant qui ressemblerait à ce programme Arduino, ou sinon carrément utiliser une carte Arduino (ou une carte pokeys 55) qui serait reconnue par linux (pas linuxCnc) et ensuite et géré comme un joypad .
Je ne dis pas que je veux le faire mais au moins pour info, merci.
Matthieu
IMG_20161110_140837.jpg
 
G

gaston48

Compagnon
Bonjour Matthieu,
Ce serait une solution beaucoup plus rationnel, ton clavier, à part les manivelles et encore,
n'a pas d'exigence temps réel, il pourrait se satisfaire d'une liaison série USB.
Il y a un sujet ici qui traite d'un "pendant" à base d'Arduino connecté à linuxcnc par USB.
A priori, on en est toujours à des commandes spécifiques axis, mais la gestion de
l'afficheur par exemple devrait supposer qu'il est possible d'inclure aussi un clavier
alphanumérique qui irait dans le userspace sans aller dans hal.

https://forum.linuxcnc.org/18-computer/22562-arduino-based-usb-pendant-for-linuxcnc

https://forum.linuxcnc.org/18-computer/22562-arduino-based-usb-pendant-for-linuxcnc?start=10#23063

La première difficulté concerne ton clavier qui n'est pas une simple matrice, mais qui inclue
avec les même canaux, les commutateurs et les led. Donc je ne pense pas que tu
puisses exploiter la bibliothèque standard Keypad.h. ce qui n’empêche pas Arduino
d'y arriver et de tout transmettre par USB, ce qui fait déjà une sacré économie d'I/O de
la 7i77.
Ensuite vient le remarquable fichier serialcon.comp qui fait une conversion de
la liaison série vers l'userspace il se connecte directement avec halui et avec
trois connections uniquement dans le fichier HAL affiche les coordonnées x y z
le code d'Arceye est beaucoup plus compréhensible que celui d'Andy Pugh.
Dommage qu'Andy Pugh s'évertue à développer des composants génériques
pas très compréhensibles au lieu d'enrichir la documentation d'halcompile afin
de vulgariser l’écriture de ses propres composants comme avec arduino.
 
Dernière édition:
M

matt07600

Apprenti
Bonjour Gaston, je vais commander une Arduino méga ( 54 I/O), si on arrive pas a tout gérer ensemble je me dis qu'on pourra séparer les commutateurs de la matrice clavier (?), c'est vrai que l'idée de libérer des I/O de 7i77 me motive à changer mon fusil d'épaule.
Bon dimanche.
 
B

bendu73

Compagnon
Bonjour bonjour,

J'approche moi aussi de la programmation sur LinuxCNC et me suis tappé à nouveau et à l'instant les 26pages de ce poste.
Je me demande si le forum ne devrait pas être équipé d'une rubrique dédier à ces cartes. Ce post commence à être la bible (grâce à notre Gaston) mais c'est dur de s'y retrouver facilement.

après j'dis ça , j'dis rien :mrbrelle:
 
L

Laurent_CNC

Compagnon
Salut à tous,
Bon, la 5i25 et la 7i77 sont commandées (enfin...)
440 euros, livrées avec le cable parallèle. Du Portugal donc pas de risque de surenchère à la douane.
J'attend ça depuis un moment. Mais je n'ai pas encore gagné, il faut que je bosse sur le cablage de la machine maintenant.
D'ailleurs je m'y met demain avec le père.

@+
Laurent
 
L

Laurent_CNC

Compagnon
Eh ben, c'est du rapide chez MESA Europe.
Commandé le 28 & reçu ce jour. J'avais pourtant pris le tarif éco.

Y a plus qu'a maintenant mais j'ai besoin d'une info Matthieu, qu'est ce que je dois shunter pour permettre à la carte FD de me fournir du courant quand l'automate est débranché ?
On a nettoyer tout le cablage de l'armoire avec mon père. On compte tester la carte et si ça fonctionne la réutiliser en fin de compte.

@ bientôt
Laurent
 
M

matt07600

Apprenti
Salut Laurent, la réponse est dans le message #139 (page 10), à bientôt pour la suite, je pense qu'on pourra s'aider pour le réglage des drivers (pid), de la broche... (Je n'ai encore rien fait)
@ bientôt
 
L

Laurent_CNC

Compagnon
OK merci Matt'

Bon, voici mon armoire vidée.
On a préféré tout enlevé et repartir à 0.
J'ai gardé tout le cablage des moteurs et des capteurs mais le reste est enlevé.
Nous allons commencer par recabler le sectionneur, un ARU et alimenter la carte pour la tester.
L'ARU et le bouton de mise en marche sera sur une platine fixée à la place de l'écran d'origine.
La seconde phase sera de placer la 7i77 à la place de l'automate et l'ordinateur avec sa 5i25 (sur le flan droit de la machine).
Si, ensuite, je peux réutiliser les relais de la carte pour commander la broche et la lub' c'est le top.

a7c530517975442.jpg

b97683517975450.jpg

c032fe517975459.jpg

@ bientôt
Laurent
 
L

lihx1

Apprenti
Bonjour,
Si j'ai bien compris la mesa 7i76 pour step/dir ne fait pas de retour codeurs (ou règles) ??
Peut-on avec la 5i25+7i77+7i76 mélanger les servo en +-10v et les servo ou PaP en step/dir ?

Et éventuellement faire une boucle fermée avec les sorties step/dir de la 7i76 et codeur de la 7i77

Eh ben, c'est du rapide chez MESA Europe
MESA Europe c'est chez qui -> un lien ?

lihx
 
G

gaston48

Compagnon
Bonjour,

http://eusurplus.com/index.php?route=product/category&path=63
http://www.duzi.cz/shop_cnc/index.php?main_page=index&cPath=1&language=en

les réponses à tes questions sont Oui, mais les cartes 7i76 et 77 comportent peut être trop
de possibilités intégrées, il faudrait choisir des cartes filles plus simples avec juste des entrés codeur
et une autre juste des sorties step / dir une carte neutre de protection suffirait.
Application possible avec les pas à pas hybrides (à codeurs intégrés)
La configuration est "juste" une question de branchement (net) dans ce fameux fichier.hal
au lieu que la sortie du PID est branchée sur un PWM/DIR qui génère le +/- 10 V des drives de servo,
la sortie du PID est branchée sur un générateur de STEP/DIR.
Le PWM/DIR qui sort du FPGA a besoin d'un petit filtrage conformation sur la carte fille
alors que le PWM/DIR qui sort du FPGA est directement exploité à travers des protections passives
ou un opto-couplage avec une carte fille plus élaborée.
 
L

Laurent_CNC

Compagnon
Bonjour à tous,
Mon père et moi continuons le remontage de l'armoire.
Après avoir enlevé tout les fils, on les remet :wink: du moins en partie.
La carte FD nous fournit le 24 et le 42 V ainsi que le 220 protégé. Ca c'est fait.

C'est plus long que de tout laisser, mais pour moi, le néophyte, c'est plus simple, mon père joue le prof et m'explique l'utilité de chaque chose.
Je serais moins con après ça et plus apte à intervenir si il y a un problème un jour.

Mais ce n'est pas ce qui m'amène.

De mon coté je bosse sur les branchements entre moteur, driver & 7i77.
De ce que je comprend au fur et à mesure :
[div=none]
full?lightbox=1&last_edit_date=1482387132.jpg
[/div]
Les 4 fils noirs sont repérés, c'est de gauche à droite : G M2 M1 VS (soit l'arrivé du 0, le - et le + qui vont au moteur et l'arrivé du +42 volt) et reste là.
Le marron et les vert vert/jaune sont l'arrivé du tachymètre (donc ne bougeront pas non plus).

Sur le moteur, les fils du codeur, bien repéré sur la doc realmeca vont être cablé sur la 7i77.

Reste les 3 bleus en position 10, 11 et 12 du connecteur 16 broches ainsi que les blanc 3 et le marron 4.

La doc des drivers me dit :
3 Differential input (negative) (c'est le fil blanc)
4 Differential input (positive) (c'est le fil brun)
Ils viennent de mes fins de courses et la doc Realmeca me dit que c'est le "connecteur CN" avec :
le fil brun PC relié au 4 qui est un + commun et le blanc relié au 3 qui est un des fins de courses.
Mais qq peut m'expliquer leurs rôlé SVP ?

Et ceux çi d'après la doc driver :
10 Inhibit input
11 Circuit common
12 Inhibit indication output
La doc Realmeca me dit qu'en cas de défaut sur un variateur, il y a déclenchement complet de la machine.
[div=none]
full?d=1482392099.jpg
[/div]
Ce sont donc des tests pour éviter de la casse mais moi sur la Mesa, je peux les utiliser ???

Merci de votre aide à tous,
@ bientôt
 
Dernière édition:
G

gaston48

Compagnon
Bonjour Laurent,
Je remets la doc du drive communiqué par cncserv:

La 12 est une sortie qui devient active quand le drive se met en sécurité (court-circuit, surchauffe etc)
C'est une sortie "collecteur ouvert". Donc on a accès au collecteur d'un transistor qui conduit quand le
drive se met en sécurité.
C'est une "sortie" au sens ou c'est le drive qui "sort" une information, mais pour l'exploiter on doit
faire "rentrer" un courant, limité en ampère, sinon tu crames le transistor.
C'est important à connaitre car tu peux faire conduire un transistor en éclairant sa base avec une led
c'est le concept du photocoupleur qui peut donc lui aussi avoir une sortie à collecteur ouvert.
La 10 est une entrée qui permet de mettre volontairement le drive en sécurité et encore une foi elle
fonctionne à l'opposé de se qu'on pourrait imaginer car pour faire entrer l'information, il faut faire
sortir un courant donc mettre la 10 au GND. Ici ce courant est limité par le drive donc on peut
se passer de résistance de limitation.
Il s'agit de savoir, au niveau du plan, si c'est signaux sont gérés par des relais ou autres et ou
exactement se connectait l'ancienne CNC.
Au niveau de la mesa 7i77, les entrées/sorties sont opto-couplé et donc complètement indépendantes.
la façon de les exploiter dépend du choix de leur tension de fonctionnement: le field power du connecteur
TB2. Si tu choisis du 24VDC, pour alimenter des relais existant ou autres, il faudra appliquer une tension
entre 15 et 24 V pour activer une entrée sachant que leur résistance d'entrée est de 20 KOhms.
Par exemple si tu veux gérer la sortie 12 par un input de la 7i77, il faudra appliquer du 24 V à travers
une résistance de 6.8 K sur la sortie 12 puis cette pin 12 l'appliquer à une entrée 7i77 comme
la hm2_5i25.0.7i77.0.0.input-00 .
Inhiber un drive par son entrée 10, sera plus complexe car il faut mettre l'entée 10 qui est à 5 V au GND 11
et une sortie 7i77 de type hm2_5i25.0.7i77.0.0.output-00 ne sait que cracher du 24 V DC ou O V .
Soit tu utilises un relais, soi tu utilises un opto-coupleur: sa diode alimentée par le 24 V output à travers
une résistance de 2.2 K par exemple et le collecteur du photo transistor à l'entrée 10 et son émetteur à la pin 11

Voir la pièce jointe driver moteur.pdf
Voir la pièce jointe datasheet driver moteur.pdf
 
L

Laurent_CNC

Compagnon
Merci Gaston,
La doc de CNCserv me sert depuis le début, je l'ai même imprimée en partie. C'est elle que je lis mais j'ai du mal à la comprendre et à l'exploiter.

D'après ce que tu me dis, je peux me passer des fils 10, 11 et 12 ... en admettant que je "shunte" ces deux sécurités ?

Mais alors je ne comprend pas, si ces 3 fils ne sont pas une information de mouvement,
d'ou va venir cette information ?
A un moment, il faut bien que la 7i77 envoie un ordre de mouvement à mon drive. Mais là, je n'ai plus de fils...
Comment faisait l'automate avant ?

Désolé de me remettre en mode boulet mais on a plutôt bien avancé avec le vieux (grand merci papa :wink: ).
Le secteur est rebranché via le sectionneur et un disjoncteur.
Il alimente la platine FD et nous fournit le 24 et le 42 volts ainsi que du 220 "protégé".
On enclenche via un bouton en facade un relais qui distribue le 42 volts et seulement ça pour l'instant.
Et on déclenche le même relais via un arrêt d'urgence lui aussi en facade.

Une autre question, dans ma version, quel serait l'ordre de démarrage idéal ?
L'ordi d'abord (c'est lui qui fournira le +5V à priori)
Puis le 24 et en même temps le 42V ou il faut temporiser quelque chose ?

Merci pour votre aide,
@micalement,
Laurent
 
G

gaston48

Compagnon
La doc des drivers me dit :
3 Differential input (negative) (c'est le fil blanc)
4 Differential input (positive) (c'est le fil brun)
Ils viennent de mes fins de courses et la doc Realmeca me dit que c'est le "connecteur CN" avec :
le fil brun PC relié au 4 qui est un + commun et le blanc relié au 3 qui est un des fins de courses.
Mais qq peut m'expliquer leurs rôlé SVP ?

Excuse moi, :oops: j'ai survolé ce passage, comme le branchement des entrée du drive est habituellement évident ...
Mais là je suis surpris: que viennent faire les fins de course sur ces entrées ??
Ce sont des petits signaux analogiques, ils devraient être transmis en câbles blindés de la 7i77
aux entrées 4 et 3 en mode différentiel.
Le +10/-10V de la 7i77 ne sort pas en différentiel, on peut quand même s’accommoder de 4 et 3
Donc à partir des connecteurs TB5:
AOUT0 vers 4 brun.
GND juste à coté vers 3 blanc
brun et blanc torsadé le blindage relié d'un coté seulement également sur GND blanc

Il faudra aussi connecter les enable en relation avec les entrées 10.


Concernant la séquence de mise en route des alims, finir avec la puissance (42 V)
le PC avec les cartes mesa et le 24 V puis le 42 V (les drives)
 
Dernière édition:

Sujets similaires

part's-and-co
Réponses
19
Affichages
1 145
part's-and-co
part's-and-co
P
Réponses
2
Affichages
240
pro-ms
P
Castor24
Réponses
14
Affichages
452
rabotnuc
R
P
Réponses
51
Affichages
2 913
pro-ms
P
D
Réponses
33
Affichages
1 072
dh42
esloch
Réponses
52
Affichages
2 078
esloch
esloch
Haut