Retrofit petite Realmeca avec cartes MESA

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

matt07600

Apprenti
1 Oct 2011
244
Rebonsoir, pour la version il faudra que je regarde, rm est mon login, réalméca1 est le nom que j'ai donné à ma machine dans linuxCnc. Merci Laurent pour l'info.
@+
 
G

gaston48

Compagnon
26 Fev 2008
10 553
59000
realmeca1 ne doit pas être dans la racine il doit plutôt être dans linuxcnc / configs /
Dans linuxcnc tu as les répertoires configs et nc_files (les fichiers exemples en gcode)
(déjà dit , peut être )
rm/linuxcnc/configs/realmeca1
 
Dernière édition:
M

matt07600

Apprenti
1 Oct 2011
244
Oui c'est ça Gaston mais comme j'avais fait un "run in place" c'était
rm/linuxcnc-dev/configs/realmeca1 et après la réinstallation je l'ai bien mis dans rm/linuxcnc/configs/realmeca1
 
G

gaston48

Compagnon
26 Fev 2008
10 553
59000
pourquoi alors ta console a rm@realmeca1: au lieu de rm@linuxcnc: ?

Ah ça y est, j'ai compris, c'est le nom, hostname, que tu as donné à ta machine.
Finalement de mon coté j'ai du donné "linuxcnc" ? c'est pas très malin ,
je pensais que c’était par défaut, j'aurais du personnaliser pour éviter cette ambiguité:
linuxcnc comme nom de machine et un répertoire de base qui s'appelle linuxcnc
pareil de ton coté,
realmeca1 comme nom de machine et un sous-répertoire qui s'appelle aussi realmeca1

rm@realmeca1 veut dire rm hebergé dans la machine "realmeca1"

j'ai changer mon hostname de linuxcnc à Pclinux:
lancer gedit à la console avec les droits root: sudo gedit
éditer dans /etc/
/etc/hostname
/etc/hosts

tout ça ne nous dit pas pourquoi dans rm@realmeca1 halcompile ne fonctionne pas
 
Dernière édition:
M

matt07600

Apprenti
1 Oct 2011
244
Bonsoir, ma clé USB est ok avec le nouveau iso, le disque dur formaté, mais j'installe demain car il fait orage.
@+
 
M

matt07600

Apprenti
1 Oct 2011
244
Bonsoir, donc j'ai réinstallé linux, gedit, catfish, appliqué les mise à jour, quand je cherche halcompile avec catfish il trouve à présent juste 2 lignes comme chez Gaston, j'ai mis realkbcs.comp dans mon répertoire rm et executé: halcompile --compile realkbcs.comp (je joins le résultat dans la console)
Par contre cette commande à généré un fichier realkbcs.ko dans rm et non realkbcs.c comme indiqué dans le fichier install, du coup je me suis arrêté la.
Bonne soirée
IMG_20160915_190610.jpg
IMG_20160915_192859.jpg
IMG_20160915_192942.jpg
 
G

gaston48

Compagnon
26 Fev 2008
10 553
59000
Bonsoir,
super, là c'est tout bon.

oui j'ai fait une erreur :oops: dans le fichier instal ...

halcompile realkbcs.comp donne realkbcs.c , le code C complet sans débogage je pense.
halcompile --compile realkbcs.comp donne realkbcs.ko le fichier objet dans le répertoire courant avec débogage.
sudo halcompile --install realkbcs.com donne realkbcs.ko avec débogage et le place dans le répertoire ou il sera exploité:
/usr/realtime-3.4-9-rtai-686-pae/modules/linuxcnc
en cas de mise à jour majeure il suffit de replacer ses fichiers .ko au même endroit.
ou d’effacer sous root ceux qui ne sont pas au point.

Pendant que tu es dans les installations, tu peux installer ton écran tactile
"hid_multitouch"
http://www.wiki.eusurplus.com/index.php?title=Install_LinuxCNC
 
Dernière édition:
M

matt07600

Apprenti
1 Oct 2011
244
Bonjour, j'ai fait une ébauche de ce que je voudrais pour l'utilisation du clavier, en laissant le bas du clavier et le pavé numérique comme à l'origine.@+
IMG_20160916_125429.jpg

J'ai executé sudo halcompile --install realkbcs.comp qui a bien généré le fichier realkbcs.ko, par contre je ne parviens plus à lancer linuxCnc, j'ai une erreur que je met en copie.
IMG_20160916_173804.jpg

Ps: merci Gaston pour le tactile mais ça ne marche pas pour moi, par contre ça marche très bien avec xinput-calibrator.
 
Dernière édition:
M

matt07600

Apprenti
1 Oct 2011
244
Ok Gaston c'était bien ça, je ne me souviens plus d'où sortait l'iso de ma 1ere clé mais j'ai bien fait d'en refaire une, j'ai donc fait la première partie de l'installation et je vois les pins de realkbcs dans l'affichage configuration de hal, pour la suite j'essaie d'y voir plus clair et je te tiens au courant.
À bientôt
 
M

matt07600

Apprenti
1 Oct 2011
244
Bonjour Gaston, j'ai installé le composant bip.comp et je vois la sortie osciller dans le halmetre par contre je ne trouve pas de sortie oscillante sur la 7i78, j'ai essayé avec "net tracer hm2_5i25.0.gpio.019.out <= bip.0.out" et "net tracer hm2_5i25.0.gpio.022.out <= bip.0.out" dans le fichier HAL.
J'ai aussi essayé avec :loadrt hm2_pci config=" num_encoders=6 num_pwmgens=0 num_3pwmgens=0 num_stepgens=1 sserial_port_0=000xx " (ce que j'avais par défault) et loadrt hm2_pci config=" num_encoders=6 num_pwmgens=0 num_3pwmgens=0 num_stepgens=1 sserial_port_0=102xxxxx " (ce que tu as écrit).
j'ai aussi essayé de mettre 3 secondes a lieu de 0.5 dans bip.comp pour voir si ce n'était pas trop rapide mais sans résultats.
@+
 
G

gaston48

Compagnon
26 Fev 2008
10 553
59000
Bonjour Matt,
Ah, tu modifies les sources, c'est bien :-D
sserial modifie des options possibles de mode de transfert concernant la 7i77 si j'ai bien compris

As tu des sorties qui fonctionnent sur la 7i77 ?

sinon:
Il faut peut être quand même configurer la gpio et rajouter ces lignes:

setp hm2_5i25.0.gpio.019.is-output 1
setp hm2_5i25.0.gpio.022.is-output 1


setp hm2_5i25.0.gpio.019.is_output 1
setp hm2_5i25.0.gpio.022.is_output 1
(is_output et pas is-output)


c'est peut être un problème hard de sortie collecteur ouvert et de ses résistances pullup pulldown,
les joies de la TTL.

Pour après, si tu as une sortie qui oscille au multimètre, tu peux tirer un fil et le brancher
sur une entrée de la carte et vérifier avec halmètre si cette entrée oscille aussi
 
Dernière édition:
M

matt07600

Apprenti
1 Oct 2011
244
sinon:
Il faut peut être quand même configurer la gpio et rajouter ces lignes:
Nickel Gaston ça marche.
Si je comprend bien le branchement "net" du clavier doit être comme le 1er fichier joint, mais que faut-il que je rajoute car il n'y a pas d'entrée halui pour dire que c'est des lignes et des colonnes d'un matriçage? Si je ne rajoute rien j'ai une erreur au démarrage.
Merci
IMG_20160918_171456.jpg
IMG_20160918_171540.jpg
 
G

gaston48

Compagnon
26 Fev 2008
10 553
59000
Super !
cela voudrait dire que ce sont des full gpio alors ? il faut que je relise la doc
je n'ai peut être pas tout capter.

Pour les branchements cela se passe en 2 temps:
D'abord le branchement physique des lignes et colonnes du clavier sur les 2 cartes 7i77 et 7i78
là tu me montres les branchements sur la 7i77
Tu as une erreur parce que le numéro de l'input ou de l'output doit comporter 2 caractères numérique
-00, -01 etc
et les gpio de la 7i78, 3 caractères numérique .019, .020 etc
Donc première chose à faire, l'inventaire des sorties et des entrées libres nécessaires,
les tester bip=1 sortie =1 etc... et les brancher physiquement sur le clavier.

Ensuite quand une ligne et une colonnes sera activé par une pression sur une touche, realkbcs.comp
va générer une coordonné de touche sous la forme :
realkeyb.0.touch21 que tu vas brancher sur une entrée halui de l'interface graphique
par exemple:

net realtouch21 halui.spindle.forward <= realkeyb.0.touch21

Ou inversement, si tu dois activer une led realkbcs.comp va interpréter la commande realkeyb.0.led0
et manipuler lignes et colonnes pour allumer la led 0

net realled0 halui.spindle.runs-forward => realkeyb.0.led0
 
Dernière édition:
M

matt07600

Apprenti
1 Oct 2011
244
Bonjour Gaston, j'ai repéré les sorties 019,020,021,022,023 et 024 de la 7i78 avec bip.comp (019,021 et 023 sont inversées) en mettant le 0v du testeur sur l'armature de la DB25, par contre pas de résultat pour les sorties 025,026 et 027 (j'ai bien mis 0 num_pwmgens) en opérant de la sorte, par contre je me suis aperçu qu'en mettant le 0v du testeur sur une autre pin de la broche "spindle" j'ai une oscillation de 0.04v --> ?
J'ai connecté les 12 sorties et 8 entrées des lignes et colonnes des touches sur la 7i77 comme les branchements " net" du #283 (maintenant Ok avec les 3 caractères numérique).
Bonne soirée
 
G

gaston48

Compagnon
26 Fev 2008
10 553
59000
Bonsoir Matt
essaye de compléter le setup comme indiqué en #282 sur toutes les voies gpio
et en te basant sur la doc:
http://linuxcnc.org/docs/2.7/html/man/man9/hostmot2.9.html#General Purpose I/O
elle devrait même être toute "is_opendrain 1" collecteur ouvert
si la 7i78 est bien configurer en open drain avec les résistance de tirage branchées et
alimentées.
https://fr.wikipedia.org/wiki/Sortie_collecteur_ouvert

donc quand tu appliques un 1 sur la base la sortie collecteur est à 0
c'est la discussion qu'on a eu avec cncserv concernant le pilotage des led
dans realkbcs colld(0) = 0 ou colld(0) = 1


Sinon on est peut être pas finalement full GPIO comme je le craignais.
Si certaines voies restent inversées par rapport à bip, tu rajoutes une ligne setup
avec invert_output

au max ça pourrait être ça pour une voie
setp hm2_5i25.0.gpio.019.is_output 1
setp hm2_5i25.0.gpio.019.is_opendrain 1
setp hm2_5i25.0.gpio.019.invert_output 1
 
M

matt07600

Apprenti
1 Oct 2011
244
Bonjour Gaston, si je comprend bien (j'ai du mal) il faut que j'essaie de rajouter
"setp hm2_5i25.0.gpio.xxx.is_opendrain1" pour les sorties inversées, et si ça ne suffit pas mettre en plus "setp hm2_5i25.0.gpio.xxx.invert_output 1"

Pour les sorties 025,026 et 027 c'est mort du coup?
Bonne journée...
 
G

gaston48

Compagnon
26 Fev 2008
10 553
59000
Bonjour Matt,
Actuellement, au multimètre, tu regardes les sorties sur la 7i78 ou sur
le connecteur db25 de la 5i25
Car sur la 7i78, c'est un plus complexe, chaque sortie est doublée par une autre
dont le signal est inversé, (sortie différentielle) tu utilises l'une ou l'autre pour
le bon sens.
ensuite la 025 026 027 pour le pwm j'ai dit qu'on pouvait les récupérer mais c'est
plus complexe finalement...
C'est un peu laborieux nos dialogues, je me rends compte que je n'ai plus une très bonne
mémoire et comme tu n'es pas à temps plein sur le sujet, chaque foi je dois ressortir les
docs en pdf de la 7i78 que j'ai pourtant consulté il n'y a pas longtemps, remonter les
dizaines de pages du sujet ...
Donc le pwm est traité sur la 7i78 par un démodulateur pour générer un signal analogique
(là il faudrait voir les composants de la carte et retrouver le schéma)
Il faut que tu pilotes ton variateur de broche aussi ce canal est optocouplé
je ne suis pas certain qu'une voie analogique en rab de la 7i77 soit aussi bien protégée.
En ce sens, la solution d'eurosurplus était peut être plus adapté, brancher une ...
et hop il faut que je reparte sur le site mesa ... une 7i75 qui se contente de
protéger la 5i25, mais toujours avec le firmware 7i77+7i78
Attention les pins db25 de la 5i25 ne sont pas protégées contre les surtensions
ou autre, faire attention, même au multimètre. Toujours est-il que les 025, 026 027
fonctionnent certainement sur les bornes du db25.
 
Dernière édition:
M

matt07600

Apprenti
1 Oct 2011
244
Merci Gaston,je regarde les sorties sur la 7i78, je suis désolé de te donner autant de travail et de ne pas mieux comprendre tes explications mais j'espère que l'on est près du but et que ce clavier va bientôt pouvoir être exploité.
 
Dernière édition:
G

gaston48

Compagnon
26 Fev 2008
10 553
59000
la 026 et 027 devraient pouvoir être récupérées, c'est une commande logique
du db25 qui est directement repris par la 7i78 bornes 21 à 24 mais
en sorties optocouplées
si c'est opto couplé, la sortie est équivalente à un "collecteur ouvert" mais on
pilote la base (du darlington ici) par une led la résistance de tirage du collecteur n'est pas présente
et alimentée
elle est prévu de l’être par l'organe récepteur.
ce sont les 2 petites composants blanc en haut de la carte
Les docs mesa manquent cruellement de schémas
21 et 22 sont sans doutes le collecteur et l’émetteur du photocoupleur 1
23 et 24 du photocoupleur 2.
il faut que tu mettes 21 au + 5 V à travers une résistance de 1 Kohms et 22 au ground
et ton multimètre entre 21 et 22.
Idem pour 23 et 24.
relève les références de l'optocoupleur et cherche son data sur le net, tu auras des exemples
de branchement.
7i78_1.jpg
 
Dernière édition:
M

matt07600

Apprenti
1 Oct 2011
244
chaque sortie est doublée par une autre
dont le signal est inversé, (sortie différentielle) tu utilises l'une ou l'autre pour
le bon sens
À oui exact, j'avais même pas fait attention.
il faut que tu mettes 21 au + 5 V à travers une résistance de 1 Kohms et 22 au ground
et ton multimètre entre 21 et 22
Il faut donc que j'achète une résistance car je n'ai aucun composant électronique chez moi.
Le travail de matt maintenant serait de brancher la db25 sur la 7i77 et la 5i 25 dont il faut réserver 15 sorties et 8 entrées
Ça y est je l'ai branchée.
@+
 
G

gaston48

Compagnon
26 Fev 2008
10 553
59000
Tu peux voir un peu plus tard pour exploiter ces 2 sorties optocouplés et prélever
un peu plus sorties sur la 7i77.
Si ton clavier et branché, tu peux commencer à le tester avec halmeter et
voir si les valeurs des commutateurs sortent par exemple, pareil pour une touche
quelconque de clavier.
Enfin on pourra tester les led en écrivant une ligne de commande dans hal
et en la mettant à un niveau 1
 
M

matt07600

Apprenti
1 Oct 2011
244
Bonsoir Gaston, j'ai fait les 1er essais du clavier avec le halmeter, je n'ai pas de résultat avec les touches (j'ai essayé plusieurs fois d'appuyer sur une touche et passé toutes les valeurs du halmeter en revue), toutes les valeurs sont sur False sauf les touch 10 et 13 qui sont sur True.
Pour les commutateurs j'ai des résultats sur les sorties realkbcs.0.out0, realkbcs.0.out1 et realkbcs.0.out2, voir la photo (j'ai marqué la position des commutateurs sur le clavier pour essayer que ce soit plus clair), on voit que pour le commutateur 15p les positions 10 a 15 reste à 0, pour le 9p les 2 premières positions reste à 0.
J'ai une sortie realkbcs.0.out3 à -0.0009984825 et une sortie realkbcs.0.out4 à 0.000999862
J'ai les valeurs de realkbcs.0.lin0 à realkbcs.0.lin11 qui scintillent ( elles sont sur False et passent un très court laps de temps sur True), les valeurs realkbcs.0.coltc0_3_4 et 5 qui sont sur False, les valeurs realkbcs.0.coltc1_2_6 et 7 qui scintillent.
Voilà pour les premiers résultats.
Bonne soirée.
IMG_20160921_185549.jpg
 
G

gaston48

Compagnon
26 Fev 2008
10 553
59000
Bonsoir,
Bon ben les commutateurs marchent presque :-D, les touches, on ne doit pas être loin, c'est sur
le même principe que les commutateurs.
il manquait une valeur pour initialiser le tableau override { .....,1.2,0};
reprendre le code corrigé à #236 gedit, enregistrer sous le même nom (fins de ligne linux) installation
sur l'ancien, il va l'écraser.
une question concernant les avances au dela de 10000, on a mis 20000 c'est quoi " ILL "
position 9 du premier commutateur ??
bonne soirée !
 
M

matt07600

Apprenti
1 Oct 2011
244
Bonjour Gaston, super on avance, jusqu'à 10000 c'est des incréments en micron, "ILL"=illimité correspond à JOG, tu as remarqué que les commutateurs sont inversées?
Très bonne journée.
 
Dernière édition:
G

gaston48

Compagnon
26 Fev 2008
10 553
59000
Bonjour Matt,
Tu posais la question pour des entrées et des sorties supplémentaires, la 7i77 et 78
disposent chacun d'un port serie RJ45 qui permet de brancher toute cette gamme
de cartes http://store.mesanet.com/index.php?route=product/category&path=83_88
pratiquement, il n'y a pas de limite. Ces entrées sorties sont multiplexées à 10 Khz

pour le sens, on va voir après la correction.

Pour moi, je comprends ton clavier de la façon suivante:
Un mode conventionnel:
dont tu active les manivelles par les position 100 10 1 microns par pulse de manivelle
dont tu configures une avance automatique par les positions 1 à 10000 mm/mn
valeur d'avance elle même pondérée par les positions override du 2 ème commutateur qui sont des multiplicateurs (en pour cent)
En mode programme:
seul le commutateur d'override est actif et pondère cette foi les vitesses du gcode aussi en mm/mn
Mais tu as peut être raison, ce sont alors des incréments de déplacement générés par une
impulsion sur une touche. Cela fait double emploie avec de vrais manivelles et cela
ne règle pas le paramétrage d'une avance automatique en mode conventionnel

Pour le contrôle du clavier, il faut choisir un touche dont tu es certain de la coordonné programme
et au besoin visualiser le changement d'état par halscope. Car comme son état est pulsé,
il n'est pas forcement synchrone et visible avec le thread de halmeter
Une occasion de commencer à manipuler Halscope si cela n'est pas déjà fait .
 
Dernière édition:
M

matt07600

Apprenti
1 Oct 2011
244
Salut Gaston, je pense qu'en mode conventionnel on choisi soit d'utiliser les manivelles avec un des trois incréments et une avance défini et fixe (ou pas, je suis pas sûr), soit d'utiliser les touches par incréments ou JOG avec réglage de l'avance par le deuxième commutateur, ce deuxième commutateur est aussi actif en mode automatique.
 
Dernière édition:
G

gaston48

Compagnon
26 Fev 2008
10 553
59000
Oui tu as raison, tu as un jog speed dans l'interface axis, mais cela me laisse perplexe
concernant l'utilité de ces incréments. Donc ILL serait un incrément infini là c'est plus
utile
Donc au lieu de mettre 20000 dans ligne de setup des variables du tableau, on va mettre
une très grande valeur, supérieures aux courses de la machine 1e6 par exemple
 
M

matt07600

Apprenti
1 Oct 2011
244
Les incréments sont utilisés surtout pendant les phases de réglage.
 
G

gaston48

Compagnon
26 Fev 2008
10 553
59000
Quand tu ne disposes pas de manivelles, mais avec, je pense qu'on est plus rapide, c'est
plus instinctif et on risque moins une collision sans l’éliminer non plus, car si on la tourne
trop vite, l'axe répond avec un certain retard. D’où un paramétrage possible des
manivelles en mode vitesse.
 

Sujets similaires

P
Réponses
2
Affichages
320
Mach
pro-ms
P
Castor24
Réponses
14
Affichages
633
R