Retrofit petite Realmeca avec cartes MESA

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

Laurent_CNC

Compagnon
Pour ma part, ce sont bien des rails Scheenberger.

Et c'est vrai qu'elles sont plutôt bien fichues ces machines.
Un gros châssis en béton et du composant basique mais éprouvé, c'est bien quand tu veux retrofiter :wink:

J'ai compris pour les photos, merci :wink: :
BILD1243.JPG


pour le pas je regarde mais je dirais du 4mm.
Les 3 axes sont identiques, le Z étant aidé par un contre poids.

@+
 
M

matt07600

Apprenti
Salut Gaston, j'ai vérifié et un tour de manivelle donne 400 impulsions que je branche AB ou AABB (j'ai bien pensé à décaler les jumpers), sinon j'ai une erreur au lancement avec le code, ça me dit que axisui.jog.x n'existe pas.
Bonne journée
Matthieu
 
G

gaston48

Compagnon
Hello,
AB et AABB entraine juste une différence sur le mode de transmission du signal
le mode AABB est différentielle, il élimine "le bruit en mode commun" que pourrait
capter les fils de transmission.
axisui.jog.x n'existe pas zut il faut que je teste mes lignes ... tu es bien dans
l'interface axis ? ce sont des instructions propre à l'interface axis et non pas
l'interface gmoccapy adapté aux écrans tactile
 
M

matt07600

Apprenti
Bien que je compte utiliser gmoccapy par la suite j'utilise axis pour mes tests.
Ce qui est bizarre c'est que dans le "hal meter" je vois axisui.jog.x qui est sur true et axisui.jog. y axisui.jog. Z sur false.
 
L

Laurent_CNC

Compagnon
Bien que je compte utiliser gmoccapy par la suite j'utilise axis pour mes tests.
Ce qui est bizarre c'est que dans le "hal meter" je vois axisui.jog.x qui est sur true et axisui.jog. y axisui.jog. Z sur false.

Oui surement parce qu'un seul axe est branché, c'est cohérent.
Tu n'as pas oublier de déclarer quelque chose dans du style HALUI=halui dans custom.hal (cf : http://linuxcnc.org/docs/html/hal/halui_fr.html)
 
G

gaston48

Compagnon
Vous avez raison, j'ai le message d'erreur aussi
dans custom aussi, je vais charger l'instruction dans postgui.hal
parfois il faut que axis soit lancer et donc que le fichier principal hal
soit lu avant de passer à la lecture de postgui...
 
G

gaston48

Compagnon
Oui, c'est ça, ces instructions liées à l'interface axis doivent être chargé
dans le fichier dont le nom (libre) est inscrit dans l'instruction du fichier .ini
[HAL]
POSTGUI_HALFILE =

Il y a une instruction balise qu'on peut charger dans le fichier .hal principal
qui obliqe hal à faire une première passe de lecture avant de lire les instructions qui suivent cette balise
(ici axisui) il faut que la retrouve ....

le problème est que le signal reste toujours sur true ???? il ne commute pas
bienvenu dans le monde de linuxcnc :lol: et comme toujours en info ça
fini par un " bon sang mes c'est bien sûr !!!!"
les manivelles sont activées toutefois ... je pense ...

Avec 1 axe activé, à la première activation, il reste toujours sur true
si dans le fichier ini je déclare 3 axes (pour qu'il y ait une commutation des jog)
la il passe à false
donc dans ini malgres qu'il n'y a qu' 1 axe de piloté il faut
dans [DISPLAY] GEOMETRY = XYZ
dans [TRAJ] AXES = 3 et COORDINATES = 3

Tout ceci pour essayer ...
à l'avenir, il faudra bien activer les 3 manivelles simultanément
 
Dernière édition:
M

matt07600

Apprenti
J'ai essayé en supprimant
net x-manivelle-on axis.0.jog-enable <= axisui.jog.x
net y-manivelle-on axis.1.jog-enable <= axisui.jog.y
net z-manivelle-on axis.2.jog-enable <= axisui.jog.z

et les manivelles n'ont aucun effet.
 
G

gaston48

Compagnon
Oui attend, il faut que je te donne les instructions pour charger le composant de comptage ...
qui est dans hall
 
Dernière édition:
M

matt07600

Apprenti
Merci beaucoup Gaston sans ton aide j'y arriverai pas, linuxCnc à l'air bien plus complet et performant que mach3 mais du coup plus compliqué à mettre en oeuvre, par contre ça doit être le top quand on maitrise.
 
G

gaston48

Compagnon
Non finalement pas d'instruction supplémentaire, j'avais un mauvais contact
à l'intérieur de mon codeur...
Donc les lignes que tu as supprimé et qui entraînaient un méssage d'érreur
tu les mets dans le fichier postggui.hal
ici: postgui_call_list.hal.

Avec les différents scale au niveau du moteur 1 impulsion = 4 mm / 4000 Imp / tour = 1 micron
un tour de manivelle = 0.4 mm de déplacement avec un scale de 1 et 4 mm avec un scale de 10

un scale peut étre négatif comme -1 pour inverser le sens de comptage (au lieu d'inverser les fils AB)

pour la PID tu mets tout à zéro un peu de biais si sa bouge tout seul et tu montes la valeur
de P progressivement jusqu'à une certaine tendance à osciller et tu redescends à 0.6 x cette
valeur critique.
 
M

matt07600

Apprenti
Nickel Gaston ça marche merci beaucoup, par contre j'avais une erreur sous "postgui_call_list.hal" du coup j'ai laissé la seule ligne présente dans ce fichier:"source custom_postgui.hal.
À bientôt
Matthieu
 
G

gaston48

Compagnon
Super, tu vas voir qu'avec le temps, on se prend "au jeu", et bidouiller linuxcnc devient
un plaisir, comme programmer ...

Concernant l'erreur, tu m'apprends quelque chose:
En fait dans ce post fichier principal postgui.hal tu peux insérer des instructions hal

mais également faire appel à d'autres fichiers.hal contenant des instructions qui seront
donc de la même façon exécuter quand le fichier.hal principal sera chargé.

au lieu de mettre les instruction isolées tu mets:

source custom_postgui.hal ou
source manivelle_postgui.hal
 
G

gaston48

Compagnon
J'imagine que ton clavier est comme celui là :
Les boutons tournants commandent des potentiomètres ou des commutateurs ?
Quelles sont les fonctions que tu souhaiterais garder ?
la machine a t elle une possibilité de configuration en fraiseuse conventionnelle ?
je pense au panneau bas-gauche ou alors c'est un jog par bouton impulsion en
plus des manivelles ?

n_8320_4.jpg
 
M

matt07600

Apprenti
Salut, oui mon clavier est identique à celui la, je joins des photos, la machine est bien utilisable en conventionnelle ( son nom complet est Réalméca FD conventional +), j'aimerais garder le maximum de fonctions, au moins la partie du bas, j'ai rebranché la commande Fagor et mesuré les bornes (bien sûr avec l'État de la commande figé car je ne peux pas agir sur cette dernière) je trouve 3 borne +5v.
Si je comprends bien le langage de ce genre de clavier est codé?
IMG_20160805_185247.jpg
IMG_20160805_185315.jpg
IMG_20160805_185436.jpg
IMG_20160805_185630.jpg
IMG_20160805_190459.jpg
 
M

matt07600

Apprenti
Salut Laurent, es que ta machine a l'option changeur d'outils?
@+
Matthieu
 
G

gaston48

Compagnon
Bonjour,
Rosa Sistemi, je ne connaissais pas, une belle alternative à Schneeberger !
Ces rails en V sont le must, mais très chères et plus difficile à intégrer qu'un seul rail et ses patins.

Concernant le clavier, yapluka, c'est plutôt un travail d'hiver, va falloir décoder tout le matriçage
des touches, il n'y a pas à priori de composant intégré actif décodeur, tout est passif.

Comme tu l'a fait il faudrait d'abord repérer les alims et ground, repérer ce qui sort
directement sur le DB25, peut être les 2 voies des commutateurs, le buzer
Bien comprendre le matriçage des leds qui seront des retours de linuxcnc
Le clavier de 70 touches sort avec une nappe de 20 fils, qui permettraient
10 lignes x 10 colonnes = 100 touches.
Il faudrait faire un tableau, peut être sous excel,
25 colonnes: le DB25 comportant les entrées (alims leds buzer ...) et les sorties (touches, commutateurs)
et
111 lignes : 70 boutons, 17 leds, 9 p com1 , 15 p com2 qui feront le bilan
de toutes les combinaisons possibles avec les états correspondant sur les colonnes.

Pour interpréter cela au niveau de linuxcnc, on dispose de 2 solutions (qui peuvent être associées) :
-Un automate programmable intégré Classiclader voir ici: http://linuxcnc.org/docs/html/
-L’élaboration de composants temps réel HAL, spécifiques, des sortes de table de correspondance
lookup table.
Il faut que le DB25 soit constamment lu en boucle, que le résultat élimine le fait d'appuyer
sur plusieurs touches simultanément.
Je ne connais pas le langage Lader, mais j'ai déjà compiler mes composant HAL à savoir
qu'on dispose de toute les sources des composants HAL déjà disponible comme exemple.
C'est écrit en language C un peu comme avec Arduino c'est simple et compact
http://linuxcnc.org/docs/html/hal/comp.html
On peut imaginer 2 composants HAL, 1 pour chaque commutateur,
et un ou deux autres pour le décodage de clavier et les leds.
Ce seront essentiellement des boucles de test conditionnel, différent états sur les entrées
donneront différent états sur les sorties.
 
M

matt07600

Apprenti
Ok Gaston, comme je le craignais ça va être compliqué.
comment tu t'y prendrais pour repérer les alims et les grounds? J'ai branché 5v sur les 3 repéré et et appuyé sur les touches à l'aide d'un voltmètre mais çà ne donne pas grand chose...
Je voudrais au moins voir si j'arrive à ça car dans le cas contraire il vaudrait peut-être mieux que j'achète un clavier plus simple à mettre en oeuvre.
 
G

gaston48

Compagnon
Tout est faisable, mais compliqué malheureusement Tout dépend de ce que tu souhaites apprendre,
quelles sont tes besoins immédiats, dans quelles formes de démarche tu as du plaisir ou c'est
une corvée.

Une configuration conventionnelle avec 3 manivelles cela peut être intéressant, mais c'est déjà tout
un travail de conception, l'interface axis n'est pas vraiment adapté, il faudra pondre un interface qui
ressemble à une visu avec 3 gros compteurs lisibles, qu'on peut remettre à zéro, auquel on
peut affecter un offset.
Pour le reste, le bas du clavier gauche pourrait être repris, je devine la sensibilité des manivelles
mais il manque un réglage d'avance plus sensible avec une touche avance rapide.

Mais dans beaucoup de cas, à mon avis, il manque le clavier complet azerty conventionnel avec pavé numérique
plus la souris. Comme on ne peut pas s'en passer, autant l’intégrer définitivement et le compléter
avec des commandes mécaniques qu'on juge plus ergonomiques: le B.A.U, des potentiomètres rotatifs,
les manivelles...
Un matriçage de clavier n'a pas vraiment d'alimentation permanente, elle est multiplexée.
Pour un clavier de 100 touches, tu as 10 fils pour les lignes et 10 fils pour les colonnes
un touche établi une connexion entre une ligne et un rang de colonne.
Une séquence d'exploration complète applique 5 volt sur la 1er ligne et teste les 10 colonnes
l'une après l'autre puis alimente la 2ème ligne et re teste les 10 colonnes et ainsi de suite.
Si une touche est actionné, tu retrouves le 5 volts d'une ligne sur une colonne et tu as la coordonnée
correspondante de la touche.
Toutefois, en logique quand tu transmets des signaux dans le standard TTL, la commande
bloque ou avale un courant, donc sur le clavier tu peux retrouver un commun à 5 V alimentant
chaque ligne ou colonne à travers des résistance de "pull up" et c'est la sortie de la 7i77
qui maintient également un 5 V ou le 0 V pour activer la voie.
Une touche n'est donc pas un interrupteur, tu une séquence de lecture complète toutes
les milliseconde par exemple, , cela suffit pour actionner une mémoire bistable.

Tormach avec ses fraiseuses, qui était sous mach comme le nom l'indique, est passé sous
linuxcnc / mesa, avec sa très belle interface graphique (Pathpilot), c'est grand écran, clavier,
souris et tout va bien.
linuxcnc depuis la 2.7 profite de leur très bon planificateur de trajectoire dont la beta
version a été testé avec le forum linuxcnc. Dommage que leur interface soit leur
propriété ...


http://www.tormach.com/mills-and-milling-accessories.html
http://www.tormach.com/pathpilot.html
 
Dernière édition:
L

Laurent_CNC

Compagnon
Salut à vous deux,

Matt', non, je n'ai pas le changeur d'outil.
Tu parts dans un boulot super, mais comme le dit il faut que ce soit un plaisir et pas une corvée.
C'est pour ça que je suis presque content que mon pupitre soit défoncé, j'ai bonne conscience mettre un clavier et une souris et de joger avec ma manette de jeu.

Bon il faut dire aussi que j'ai l'habitude de cette config' sur la Haulin 300CP que j'avais numérisé et avec laquelle j'ai pas mal bossée déjà.
Elle a retrouvé ses manivelles mais j'ai transféré tout le système sur une autre machine :
DSCF5879.JPG
qui a une broche Kress 1050 FE depuis la photo. Les feuilles rouges protègent des copeaux ma VAB du Y ^_^...
J'ai "conçu" ça comme un système ultra simple ou les 3 axes sont limites interchangeables. Je me suis bien éclater à dessiner puis construire cette bestiole :wink: qui finira surement comme imprimante 3D une fois la Realmeca finie.

Bref, la Realmeca devra elle aussi ce plier au principe de la simplification à l'extrême.
Plus de capteur de porte, une interface Axis standard et ensuite, bouffer du copeau !!!

@ bientôt
 
M

matt07600

Apprenti
Merci Gaston pour toutes ces informations, je vais essayer d'en sortir quelque chose...
Pour le moment j'ai testé les bornes des commutateurs au testeur de continuité et j'en ai trouvé une qui bip sur plusieurs bornes des 2. Ensuite 4 par commutateur qui indique une valeur.
@+
 
G

gaston48

Compagnon
En observant le CI, tu as une piste continu connectée au fil noir le commun C
et 5 fils de codage 1 2 4 8 16.
Donc une borne du multimètre sur C et ensuite à chaque position , tu relèves
sur chaque lignes 1 2 4 8 16 si c'est passant ou pas.

A la fin, pour chaque commutateur, tu vas disposer d'une "table de verité " de 5 colonnes
et d'autant de ligne que de positions de chaque commutateur.

Si on applique 5 V à C à travers une résistance (pull up ) de 1 Kohms par exemple
et que 1 2 4 8 16 sont connectés à des entrées de la 7i77, il n'y a plus qu' à rentrer un
composant HAL basé sur une Look-up table
il y a celui la:
http://linuxcnc.org/docs/2.7/html/man/man9/lut5.9.html
mais je n'ai pas trop compris comment le configurer, il vaudrait mieux se fabriquer un
composant spécifique

Les sources des composants standards sont ici:
http://git.linuxcnc.org/gitweb?p=li...1497279620df040166ae4b9a828525e5110e9;hb=HEAD

Voilà les sources du composant qui fait une multiplication:

http://linuxcnc.org/docs/2.7/html/man/man9/mult2.9.html

mult2.com:

component mult2 "Product of two inputs";

pin in float in0;
pin in float in1;
pin out float out "out = in0 * in1";

function _;
license "GPL";
;;

FUNCTION(_) {
out = in0 * in1;
}


c'est pas hyper compliqué tu écrit ces quelques lignes avec gedit ensuite 1 ou 2
instructions dans la console pour compiler et installer et tu l'implantes dans le fichier .HAL
 
M

matt07600

Apprenti
Du coup le plus simple serait de tirer un deuxième câble de 12 fils pour les commutateurs et ne pas passer par la Db25?
 
Dernière édition:
G

gaston48

Compagnon
Tu peux tenter de pister sur le CI, les fils sont peut être intégralement répliqués sur le DB25
Les commutateurs ont 22 positions sur 360°
4 fils 2 puissance 4: 16 positions
5 fils 2 puissance 5: 32 positions
 
M

matt07600

Apprenti
Salut Gaston, pour le moment j'ai trouvé les alimentations des leds et du buzzer, ainsi que le mappage des touches, en fait il y a 12 lignes et 8 colonnes.
@+
 

Sujets similaires

part's-and-co
Réponses
19
Affichages
1 150
part's-and-co
part's-and-co
P
Réponses
2
Affichages
241
pro-ms
P
Castor24
Réponses
14
Affichages
460
rabotnuc
R
P
Réponses
51
Affichages
2 918
pro-ms
P
D
Réponses
33
Affichages
1 074
dh42
esloch
Réponses
52
Affichages
2 083
esloch
esloch
Haut