Retrofit petite Realmeca avec cartes MESA

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

matt07600

Apprenti
Bonjour Gaston, voici la synthèse de ce que j'ai relevé du fonctionnement du pupitre, par contre pour l'interprétation dans linuxCnc je ne suis encore arrivé à rien malgré les indications que tu m'as donné.
@ bientôt. Voir la pièce jointe 292421
IMG_20160813_150408.jpg
IMG_20160831_183312.jpg
 
Dernière édition:
G

gaston48

Compagnon
Bonjour,
Parfait, voilà une présentation plus exploitable concernant les commutateurs:
ça n'est pas un codage binaire classique BCD mais GRAY dont les raisons
sont exposées ici:
http://www.positron-libre.com/cours...combinatoire/codage-information/code-gray.php

gray2.jpg


Pour interpréter ces commutateurs,
on va donc créer 2 composants temps réel qu'il faudra compiler et installer dans le logiciel linuxcnc

Leurs modifications, pour mise au point, modif ... se font en quelques secondes.
Dans la machine linux, on à une fenêtre console pour lancer la compil et l'install
et l'éditeur gedit avec 3 fenêtres 1 pour chaque composant et la 3 ème pour le fichier hal

Apres avoir été chargés par le fichier HAL,
chaque composant va comporter 4 entrées logiques qui seront "branchées" à 4 entrées de la 7i77
avec les instructions habituelles "net"
Suivant la combinaison binaire gray lu, la valeur d'une sortie va évoluer avec une tension analogique,
par exemple pour piloter le variateur de broche: 0 à 10 V.
Donc à chaque position du commutateur une valeur particulière sera sélectionnée dans une liste
de 15 valeurs préconfigurées dans le fichier hal par l'instruction "setp".
C'est un exemple, tu as 15 + 9 possibilités mais 1 à la foi sur chaque commutateur.
A toi de réfléchir à ce que tu veux...

Suivant ta façade, le commutateur à 15 positions assure la modulation de
l'avance. Quand on surveille un usinage, on a souvent la main sur ce commutateur
ou sur un potentiomètre pour pousser quand il n'y a pas trop de risque et ralentir
quand des passages deviennent casse pipe. Il va falloir intervenir au niveau
d'axis par " HALUI " ou dans "motion" avec l'instruction motion.adaptive-feed si
l'autorisation M52 est présente dans le gcode ...
 
Dernière édition:
M

matt07600

Apprenti
Merci Gaston, pour le commutateur 9 positions j'aimerais utiliser la partie 'deplacement' pour l'incrément des manivelles et des touches et la partie 'manivelles' pour régler la vitesse des avances rapide (sinon incrément des touches et des manivelles comme à l'origine et régler la vitesse G0 avec des touches?).
Quand tu me dis que pour le 15 positions il va falloir intervenir au niveau d'axis, ça veut dire que si par la suite je veut mettre gmoccapy ce ne sera plus bon et il faudra refaire des modifications?
Ps: il n'y aurait pas un tuto pour faire ça:
"créer 2 composants temps réel qu'il faudra compiler et installer dans le logiciel linuxcnc"?

@ bientôt
 
Dernière édition:
G

gaston48

Compagnon
pour le commutateur 9 positions j'aimerais utiliser la partie 'deplacement' pour l'incrément des manivelles et des touches et la partie 'manivelles' pour régler la vitesse des avances rapide (sinon incrément des touches et des manivelles comme à l'origine et régler la vitesse G0 avec des touches?).

le problème est que les 8 fils utilisés par les commutateurs sont également les 8 fils de colonnes. Je pense que à partir
des commutateurs, les 8 fils traversent 8 diodes avant de rejoindre le DB25. Le commun devient donc la 13 ème
ligne. Si on veut utiliser quelques touches, va falloir approfondir le schémas du circuit pour y intégrer toutes les diodes
et trouver un algorithme cyclique pour lire tout ça. On a que 25 fils pour décoder 70 boutons 15 pos 9 pos
et 17 Leds

Quand tu me dis que pour le 15 positions il va falloir intervenir au niveau d'axis, ça veut dire que si par la suite je veut mettre gmoccapy ce ne sera plus bon et il faudra refaire des modifications?
Je n'ai pas encore beaucoup expérimenté tout ça. Il y aurait plusieurs façon d'interfacer du hardware en plus de la souris.
Ces autres moyens de commande doivent pouvoir fonctionner simultanément, les commandes touchcreen, la souris,
le clavier et un pupitre hard. Pour cela il faut toujours se connecter à des "pins". Il y en a de prévu dans chaque interface
graphique,
http://linuxcnc.org/docs/2.7/html/gui/axis.html#_axisui_pins
http://linuxcnc.org/docs/2.7/html/gui/gmoccapy.html#_hal_pins
Egalement par le noyau hal d'interfaçage "halui " qu'on charge systématiquement dans le fichier ini pour tout interface graphique, halui offre beaucoup de possibilités
http://linuxcnc.org/docs/2.7/html/gui/halui.html
et enfin par le noyau "motion" utilisé avec tout interface graphique aussi.
http://linuxcnc.org/docs/2.7/html/man/man9/motion.9.html
qu'on a déjà testé avec une manivelle et qui complète halui justement pour des commandes
d'axes précises (manivelles graduées).
Ps: il n'y aurait pas un tuto pour faire ça:
"créer 2 composants temps réel qu'il faudra compiler et installer dans le logiciel linuxcnc"?

http://linuxcnc.org/docs/2.7/html/hal/comp.html

Comme tu possèdes et a installé la 5i25 et la 7i77 il faudrait que tu nous communique les fichiers
de mappage des pins en fonction des 4 modes série,
suivant les instructions à taper dans une console:

http://gnipsel.com/linuxcnc/configs/pins.html

~$ halrun
halcmd: loadrt hostmot2
halcmd: loadrt hm2_pci config="num_encoders=6 sserial_port_0=000xxx"
halcmd: show pin > pins.txt


donc répéter la manip 4 fois en mettant successivement l'une de ces lignes,

loadrt hm2_pci config="num_encoders=6 sserial_port_0=000xxx"
loadrt hm2_pci config="num_encoders=6 sserial_port_0=100xxx"
loadrt hm2_pci config="num_encoders=6 sserial_port_0=200xxx"
loadrt hm2_pci config="num_encoders=6 sserial_port_0=300xxx"


et à chaque foi en vidant le rt et en le rechargant:
halcmd: unloadrt hostmot2
halcmd: unloadrt hm2_pci config="num_encoders=6 sserial_port_0=000xxx"


halcmd: loadrt hostmot2
etc ...
 
Dernière édition:
V

vres

Compagnon
Bonjour, je n'ai pas suivi je vais peut-être répondre a coté de la plaque, les matrices le diodes permettent de pouvoir avoir plusieurs touches appuyées simultanément.
 
Dernière édition:
M

matt07600

Apprenti
Bonjour, désolé mais je n'arrive pas a afficher le mappage des pins, je suis un boulet, je précise que la carte est bien alimentée et en plus même la ligne de commande pour afficher la 5i25 ne donne rien, le fichier pins.txt reste vide.
IMG_20160815_114722.jpg
IMG_20160815_120034.jpg
 
V

vres

Compagnon
588.png



Gaston je pensai a ceci sauf qu'a mon avis, il est inutile d'avoir une diode de chaque coté du contact.:smt017
 
G

gaston48

Compagnon
2 diodes dans la configuration que tu présentes, c'est pour la polyphonie: plusieurs touches
appuyées en même temps, toutes interprétées.

Dans ce que tu proposes, 1 diode par touche, on n'a pas notre compte.

On a un clavier souple de 69 ou 70 touches qui sort avec une nappe de 20 conducteurs
qui semble être sous la forme d'une matrice de 8 colonnes et 12 lignes.

Par les 8 fils de colonnes transitent les 2 x 4 voies gray des 2 commutateurs.
2 x 4 + 1 commun qui doit être une 13 ème ligne
Si j'active cette 13 ème ligne, je peux bien lire les 8 états des 2 commutateurs
et si en sortie de commutateur j'insère 8 diodes et que je désactive la 13 ème ligne
je peux lire la matrice 8 x 12 sans voir les commutateurs.

Il semble y avoir 37 diodes au total plus 17 Led

Tout ça aboutit à un DB25 (moins les alims d'un buzer)

matt on est tous des boulets alors, ça ne marche jamais du premier coup! sinon
c'est suspect ... je ne suis pas certain de la syntaxe non plus sur le nombre d'x
sserial_port_0=000xxxxx " ?
Si tu lances linuxcnc et que tu lances une console
en tapant: halcmd show pin (sans les : ) , j'ai bien mais connections.

Ma fenêtre linuxcnc se mets sous la barre des menus en haut ???... si c'est le cas aussi
pour toi, tu peux déplacer cette barre, la mettre en bas, en cliquant drag à l’extrême gauche
 
Dernière édition:
M

matt07600

Apprenti
J'ai fini la remise en état de la table XY, j'ai démonté entièrement car j'avais une vis et un roulement qui forçaient, j'en ai profité pour repeindre.
Laurent: en démontant j'ai découvert un clinquant de 0.08 entre le châssis Y et le bâti de la machine, ce qui veut dire que sur ces machines en peut avoir un défaut de géométrie à compenser.
@+
IMG_20160729_184740.jpg
IMG_20160814_162419.jpg
IMG_20160815_131432.jpg
IMG_20160815_132037.jpg
IMG_20160815_131957.jpg
 
G

gaston48

Compagnon
Bonjour matt,
Merci pour le fichier, j'essaye de me familiariser avec la 7i77 sans l'avoir dans mon PC ...
Ce qu'on liste à la console après avoir lancer linuxcnc on peut aussi l'obtenir
avec une bien meilleure présentation en cherchant dans le menu Machine de linuxcnc
la fenêtre : "Afficher configuration de Hal"
Sous un mode autre que 000xxx comme le 1 sserial_port_0=100xxx"
apparaissent les 4 input ADC ! avec une résolution de 8 bit.
Je ne sais pas comment on les lit dans Hal ? quand on applique à une entrée 0 à 32 V par exemple
et que, avec halmeter, je vais sonder cette entrée, qu'elle valeur je lis ?

https://forum.linuxcnc.org/forum/38...an-i-read-the-analog-input-0-3-from-mesa-7i77

Penses-tu continuer à analyser le clavier ? commencer à déterminer le rôle des diodes ...
Y en a t 'il bien 8 dans chaque voies des commutateurs ?
 
V

vres

Compagnon
2 diodes dans la configuration que tu présentes, c'est pour la polyphonie: plusieurs touches
appuyées en même temps, toutes interprétées.

Bien sur, mais quand la touche et ouverte les 2 diodes ont une entrée en l'air donc n'ont pas de fonction, quand la touche est fermée les 2 diodes sont en série, ça ne change rien au niveau logique mais au niveau électrique c'est une chutes de tenson supplémentaire.
 
M

matt07600

Apprenti
Comment je dois m'y prendre pour déterminer le rôle des diodes?
 
G

gaston48

Compagnon
Comment je dois m'y prendre pour déterminer le rôle des diodes?
Pas trop le choix, faut suivre les pistes, quand une piste aboutit à une diode, tu repère sa cathode et puis tu continues
jusqu'au db25 . Tu regardes d'abord les pistes relatives aux commutateurs et ensuite le reste
En gros, il faut que tu pompes le schéma de tout ça. tu verras que des éléments se répètent.
C'est un peu laborieux ... mais les Japonais l'ont fait... puis les Chinois .... maintenant c'est notre tour :wink:
A mon avis ça vaut le coup, car on doit pouvoir l'exploiter dans linuxcnc.
 
V

vres

Compagnon
Je viens de regarder la carte et ton schéma,
D'après ce que je vois il te manque seulement les colonnes pour les leds qui sont aussi matricées et ce que tu appelles commun pour les commutateurs, c'est une ligne.
Les 2 colonnes pour les Leds ne sont pas des entrées mais des sorties.
Donc ça nous donnerai au total 13 lignes et 10 colonnes dont 8 en entrées et 2 sorties au 0V.
Peut-être que tu devrais refaire un schéma sous forme de matrice pour y voir plus clair.
 
V

vres

Compagnon
les diodes et les condos sont a mon avis un dispositif pour éviter le scintillement de Led dû au matriçage.
 
V

vres

Compagnon
Pour les diodes, visiblement ce n'est pas pour le scintillement mais pour éviter les les court-circuit entre 2 lignes ou 2 colonnes.

Pour les Leds, il y aurai donc 3 colonnes donc il y 11 colonnes + 13 lignes = 24 PINs + PIN1 + PIN5 = 26 PINS ????. La Pin 3 ne peut pas être la ligne 12 et une colonne pour les Leds!

Je ne comprend pas le branchement du Buzzer
 
M

matt07600

Apprenti
Bonjour cncserv, excuse moi j'aurais du préciser que la pin 3 ne sert pas comme ligne ( c'est pour ça que je l'ai mis entre parenthèses), elle est connecté à la ligne 12 de la nappe des touches mais vue le matriçage de celles-ci seulement 11 lignes servent.
Pour le buzzer c'est pareil, j'avais fait l'erreur de laisser les commutateurs branché lors du test, en fait il sonne que si j'applique 5v sur la pin 5 et grd sur la pin 17 ou 18.
@+
 
M

matt07600

Apprenti
Bonjour à tous, j'ai fais la liste des diodes qui sont en contact entre elles, il s'avère que les 10 premières lignes sont concernées, mais je ne comprends pas ce que ça implique.
Ps: la D1 est connectée au buzzer
Cordialement
IMG_20160819_161955.jpg
 
G

gaston48

Compagnon
Bonjour,
j'en reviens à l'idée de cncserv
un réseau anti scintillement pour les LED il y a 23 réseaux RC pour les led 23 diodes de casé

39 diodes en tout restent 16 diodes câblées en 2 X 8 suivant les schéma suivant:

les 2 commutateurs qui sont "polyphoniques" et permanents donc 8 voies colonnes à protéger avec 8
diodes anti retour
les 2 commutateurs à protéger aussi d'un appui sur des touches de clavier, donc les 8 colonnes
de la matrice clavier 8 X 12 lignes sont garnies aussi de 8 diodes anti retour.
on a 70 touches à voir si ce n'est pas 8 X 9 lignes il y a au moins une ligne pour les commutateurs

Reste à caser le réseau de LED ...

gray3.jpg
 
Dernière édition:
M

matt07600

Apprenti
Bonjour Gaston, pourtant j'ai testé toutes les touches et ça me donne bien 8 colonnes et 11 lignes. Petite rectification: il y a 42 diodes en tout.
@ bientôt.
 
G

gaston48

Compagnon
Ce qui nous ferait 88 touches en théorie Sur tes photos, j'en ai compté 70 ?
les diodes sont elles bien associées / câblées aux résistance et condensateur et au LED ?
j'en vois effectivement 3 en plus sur des réseaux RC
je n'arrive pas à réfléchir sur tes documents, :oops: il me faut un schéma
 
M

matt07600

Apprenti
Ok Gaston je vais essayer d'en faire un, pour l'implantation des touches sur le clavier aussi, tu verras c'est un peu surprenant.
@+
Ps: tu n'aurais pas un exemple de schéma?
 
G

gaston48

Compagnon
tu n'aurais pas un exemple de schéma?
un peu du type que je te présente, je fais ça avec ma vieille DAO il y a des logiciels gratuits je crois
et ce ne sera pas inutile pour le reste de ta machine aussi.
Tente d'éliminer les références par les couleurs, base toi sur les pins de la DB25 DB1 ... DB25 etc

J'ai vu passer très vite une photo du "cadeau du ciel" j'espère que tu n'as pas trop de dégâts, toi et tes proches ...
Tu es dans le 34 ?
 
M

matt07600

Apprenti
Bonjour Gaston, je suis dans le 07 (Ardèche) , pas trop de dégâts merci.
@ bientôt
 

Sujets similaires

part's-and-co
Réponses
19
Affichages
1 127
part's-and-co
part's-and-co
D
Réponses
33
Affichages
1 044
dh42
P
Réponses
51
Affichages
2 887
pro-ms
P
esloch
Réponses
52
Affichages
2 046
esloch
esloch
Papy54
Réponses
9
Affichages
534
Papy54
Papy54
R
Réponses
1
Affichages
1 040
Hales
Hales
furynick
Général Peugeot PSE20
Réponses
61
Affichages
2 503
midodiy
midodiy
Haut