Ma Deckel FP4NC [ Retrofit ] COPEAUX!!!!!!

G

gaston48

Compagnon
Oui je viens de vérifier aussi,
l'axe est bien sélectionné "is-selected" mais ça n'est pas répercuté dans la fenêtre contrôle manuel (F3)
qui reste autonome et fonctionnelle
les autres commandes halui.jog doivent marcher aussi d'une façon indépendante, mais pas avec un codeur de manivelle
seulement avec des valeurs fugitives comme une joystick
Il faut passer par une autre voie, plus directe sur les canaux axis ça été fait avec les manivelles de matt
faut que je retrouve ...
 
B

bendu73

Compagnon
Test avec Gmoccapy, interface intéressante. Mais j'ai eu des latences au niveau de l'activation de la lube et sens de rotation moteur.
La j'ai eu emballement du moteur X qui à foncé sur la buté extrême, peur...

J'ai voulu tester les jog
  • gmoccapy.jog-x-plus

  • gmoccapy.jog-x-minus
Mais ils mettent une erreur, ils n'existent pas, alors que l'on peut les voir dans halmeter.

Je vais revenir sur Axis.
 
G

gaston48

Compagnon
Oui j'ai essayé ça :
net mpg-x axis.0.jog-enable <= "pin mesa"

Mais il me dit que le lien est déjà fait entre axis.0.jog-enable et mpg-x
Je pense qu'il "parle" des boutons sur Axis, ils ne peuvent pas être sur la même sortie.

Edit: c'est résolu mais rien ne se passe, j'ai bien mon axis.0.jog-enable en true mais il n'est pas selectionné dans axis... grrrrrrrrrr
Voilà, il faut bien passer par cette voie axis.N.jog qui est complètement indépendant de celle dans le menu
axis qui continue à marcher dans son coin.

http://linuxcnc.org/docs/html/examples/mpg.html
 
B

bendu73

Compagnon
Mais elles ne s'affiche pas dans Axis??
Moi tant que j'ai mon selecteurs d'axe ( 3 pos) et mes deux bouton d'avance + et -. ça me va.
 
G

gaston48

Compagnon
Tu as une manivelle à codeur avec 3 sensibilités à rentrer ou pas ?
 
B

bendu73

Compagnon
Voici ma manivelle, qui est peut être grillée car j'ai branché le +5 et le gnd au borne +5 et B (je sais plus dans quel sens)

upload_2017-8-4_17-20-22.png

upload_2017-8-4_17-20-42.png

upload_2017-8-4_17-21-1.png
 
V

vibram

Compagnon
Peux tu la tester avec un arduino ou un truc du style?
Si cela fonctionne comme un codeur rotatif, tu cherches un code tout fait et en avant (si t'as un arduino sous la main...)
 
G

gaston48

Compagnon
il y a un circuit intégré en sortie, faut voir la référence .
avec une seule voie tu n'as pas de décodage X 4 donc il faut choisir le counter-mode 1
pour ne décoder qu'une voie et affecter 1 ou -1 au scale pour configurer le sens.
Si dans axis , il y a des indicateurs qui ne sont pas accessible ou mise à jour
quand il y a une action indépendante, ben c'est comme ça, les sources sont public, tu
peux les réécrire comme Tormach. Ou rajouter des indicateurs, comme les erreurs de
poursuite.
Axis est conçu pour un PC avec écran clavier souris

Ici avec Gmoccapy
(à 3.43 retour slider d'un pot dans gmoccapy)
 
Dernière édition:
B

bendu73

Compagnon
Bonjour,

Je vais essayer de modifier mon clavier en branchant mes boutons de pupitres en parallèle dessus, à moins qu'il soit possible d'assigné un bouton (input mesa) en touche de clavier.
Sinon je renonce à ces boutons et comme le dis Bruno, j'utilise le clavier ( je collerais des indications sur les touches ).

Concernant la manivelle, elle fera bouger l'axe sélectionné dans axis?
 
G

gaston48

Compagnon
Bonjour,
il faudrait faire l'inventaire des commandes externes qui sont reprises graphiquement dans axis. Il ne doit
pas y en avoir beaucoup finalement car beaucoup d'interfaces sont recréés dans la fenêtre libre à droite avec du
pyvcp.
Ici avec une xhc hb04 on voit bien que la fenêtre à gauche est inerte quand il passe au pendant

matt07600 qui a passé toute sa console de realmeca en parallèle (avec un arduino et l'aide de cncserv)
a peut être l'expérience de ce qui est repris à l'écran ? il semble qu'il soit sous axis encore.
https://www.usinages.com/threads/retrofit-dune-realmeca-fd-avec-linuxcnc-mesa.100918/
Il est passé sous arduino pour travailler en liaison série et économiser des entrées de la 7i77.

Ici branchement d'une manivelle
https://forum.linuxcnc.org/27-driver-boards/27730-how-to-wire-mpg-on-7i77?limitstart=0
 
B

bendu73

Compagnon
Bon avec le test de deux bouton push:
bouton 0 sur halui.joint.0.select
bouton 1 sur halui.joint.1.select

Halmeter me dis bien que tel ou tel axe est sélectionné sous
halui.joint.0.is-selected ou halui.joint.1.is-selected

c'est réactif à cela mais je n'ai pas encore de mouvement réel.
 
B

bendu73

Compagnon
VICTOIRE!!!!

J'ai réussis à faire fonctionner mon bouton de selection et mes +/-!!!!!!!!!!!!!!!!!!!!!! :hang:
Le truc qu'il manquait c'est le halui.jog-speed car sur halmeter il était à 0, vitesse nul donc ça ne pouvait pas avancer. Je l'ai mis à 10, 100...
Je vais donc tenter d'accorder cette valeur sur mon potentiomètre. Par contre pas sur que j'arrive à lier cette valeur à la valeur d'avance programme ( qui est très pratique à réguler avec un potentiomètre)
Je vais aussi convertir mon bouton rotatif 3 position ( qui est en fait 2 interrupteur derrière) en 3 position logique.


EDIT :

Le bouton select est OK!!! reste le potard avec un float, ça va pas être simple dutout!!

 
Dernière édition:
G

gaston48

Compagnon
Quelle est l'utilité de ces 2 commandes qui me semblent redondentes ?
net jog-x => axis.0.jog-enable
net jog-x => halui.joint.0.select

Si tu supprimes l'une ou l'autre quel est la conséquence ?
j'ai tendance à penser que les commandes halui sont vraiment indépendantes et autonomes
de tout interface graphique. Il y a des halui.jog.0 .... aussi
Donc pourquoi passer par axis avec axis.0.jog-enable ? si toute les commandes halui nécessaires
sont bien sorties ?
 
B

bendu73

Compagnon
Les axis ne servent à rien, exacte (peut être par la suite pour ma manivelle??).

Je ne trouve pas par contre dans Halmeter ma "velocity" (les deux curseurs dans Axis).

halui.max-velocity.value me donne bien mon "50" inscrit dans le ini.

Je parviens a avoir la valeur de mon potentiomètre. Bien sur dans halmeter à la pin j'ai un true, moi j'aimerai une valeur :smt017
 
Dernière édition:
G

gaston48

Compagnon
axis ne sert pas, ah tant mieux, il y a une logique. Donc halui est une voie d’accès à hal complètement
indépendante et qui permet de tout faire finalement.
axis.0.jog ... etc ce sont plutôt des options d'axis, qui permettent de brancher quelques bidules hard
en complément d' axis de base: ecran-clavier-souris

Pour les entrées analogiques de la 7i77
https://forum.linuxcnc.org/38-gener...an-i-read-the-analog-input-0-3-from-mesa-7i77
C'est autre que 0 suivant la doc de la 7i77
En revanche, je n'ai pas d'info sur la dynamique de l'ADC de ces entrées: tension max et résolution.
la valeur en float, tu lui appliques un scale par une multiplication avec un offset éventuel, avant de la brancher "net" sur le paramètre
que tu veux moduler
Donc loadrt ...
http://linuxcnc.org/docs/2.7/html/man/man9/scale.9.html
des lignes setp pour fixer le coefficient multiplicateur et l'offset éventuel

Et quand on regarde le code de ce composant scale, c'est la qu'on se dit que c'est
du niveau arduino et qu'on se mettrait bien à bidouiller ses propre composants
http://git.linuxcnc.org/gitweb?p=li...4;hb=014b9d0fe1caaa2a7594fd946844423a702231f2
 
B

bendu73

Compagnon
Ok Bruno donc,
J'ai trouvé les Analog in put, mais je pensais que l'ont pouvais avoir toute les entrée... seulement 4 ( bon ça me suffit ).
C'est exclusivement les input 0,1,2, et 3, je vais devoir revoir mon câblage aie!
La ces entrés sont sur les endstop, donc la j'ai des valeur propres à mon alimentation 24V, (sa oscille entre 24 et 28 très rapidement).
A voir avec mon potentiomètre, je vois cela demain!!!
 
B

bendu73

Compagnon
Ahhhh

J'ai retrouvé cela, que tu avais dis Bruno :

Pour exploiter les entrées analogique, il faut choisir le process data 1 ou 2 avec le dernier
paramètre de cette ligne majeur (fichier de config.hal)

loadrt hm2_pci config=" num_encoders=3 num_pwmgens=0 num_stepgens=0 sserial_port_0=000xxx"

sserial_port_0=100xxx ou sserial_port_0=200xxx

dans ce cas, les quatre inputs :

hm2_5i25.0.7i77.0.0.input-00
hm2_5i25.0.7i77.0.0.input-01
hm2_5i25.0.7i77.0.0.input-02
hm2_5i25.0.7i77.0.0.input-03

Deviennent des entrées analogiques "rustiques" d'une résolution de 8 bits (256 incréments de niveaux)
à +/- 5 % avec une pleine échelle si la tension externe est de : 36.3 V. toi tu as 24 V
je n'ai trouvé aucun exemple de config dans la nature peut être en cherchant dans le darknet.

Dans config.hal il faudra d'abord chargé ces 4 lignes , appliquer un potar successivement sur les 4 entrées et voir
avec halmeter si, miracle, on a autre chose qu'un état logique, FALSE ou TRUE ...
normalement ce sera un float

net potar0 hm2_5i25.0.7i77.0.0.input-00
net potar1 hm2_5i25.0.7i77.0.0.input-01
net potar2 hm2_5i25.0.7i77.0.0.input-02
net potar3 hm2_5i25.0.7i77.0.0.input-03

Si tu passes au process data 3
sserial_port_0=300xxx
En plus des 4 entrées analogiques pour potar
tu as 2 voies encodeur pour 2 MPG avec un comptage en mode 1 donc TRUE donc sans X4 .
hm2_5i25.0.7i77.0.0.input-16
hm2_5i25.0.7i77.0.0.input-17

hm2_5i25.0.7i77.0.0.input-18
hm2_5i25.0.7i77.0.0.input-19

avec des entrées en 5 V (pas en 24)

Je viens de trouver un peu de lecture doc ici sur la 7i77 (même le rédacteur est un peu paumé)
http://linuxcnc.org/docs/2.7/html/man/man9/sserial.9.html#7i77
en plus du manuel mesa ...

Génial!

Donc okay pour changer le mode de la 7i77 il faut changer le sserial_port_0=000xxx :
mode 1 : sserial_port_0=100xxx
mode 2 : sserial_port_0=200xxx
mode 3 : sserial_port_0=300xxx

Chaque mode :

upload_2017-8-10_0-8-6.png


Et donc avec les input 16/17 et 18/19 j'ai de quoi branché ma Manivelle? car la je l'avais branché sur l'entré de l'encoder 4 (idem à ceux des règles). Cela expliquerai peut être pourquoi j'ai pas les deux sens de rotations ( ou alors c'est que ma manivelle est effectivement grillée...).
je vois pas trop la différence entre le mode 1 et 2...

Edit :

Le potard va être pour réglé l'avance de jog, mais j'aimerai aussi lui assigné une autre fonction, à savoir l'incrémentation de ma manivelle ( 0.001, 0.01, 0.1, 1 ou autre...). Est t'il possible que entre une certaine valeur de la valeur float de u potentiomètre il soit assigné une sortie.
ex:

Si 0<Potard<5
alors incrémentation = 0.001
Si 5<potard<10
alors incrémentation = 0.01

Edit2 :
Je crois que c'est la fonction limit :

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

Pins:
limit1.N.in float in
limit1.N.out float out

paramètres:
limit1.N.min float rw (default: -1e20)
limit1.N.max float rw (default: 1e20)

Ou plutôt la fonction "comp" :

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

Pins:
comp.N.in0 float in
Inverting input to the comparator

comp.N.in1 float in
Non-inverting input to the comparator

comp.N.out bit out
Si in1 > in0, alors Vraie, Output = 1

Il me faut réaliser 3 ou 4 truc comme cela pour avoir mes 3 ou 4 possibilité d’incrémentation de manivelle.
 
Dernière édition:
G

gaston48

Compagnon
Le mode 1 ou 2 doit justement être en relation avec la tension d'entrée (max) de ces entrées analogiques.
mode 2 field voltage, le 24 V externe .
Toutes tes sensibilités de manivelle doivent finir par sortir par un seul canal, donc elles seront
sélectionnées par un multiplexer, la famille des composants mux. la sélection se fait par un port
parallèle binaire. le mux8 par exemple a 3 entrées binaires à piloter.
La démarche habituelle est de monter un commutateur rotatif 8 positions 3 bits donc branché sur
3 entrées digitales de la 7i77.
Si tu veux le faire par le potentiomètre, il faudrait synthétiser les fonctions d'un ADC parallèle 3 bits
donc avec au moins 7 comparateurs et une logique 8 vers 3

http://www.hardwaresecrets.com/how-analog-to-digital-converter-adc-works/6/

C'est typiquement un composant spécifique qu'on code soi-même:
Un comparateur à fenêtres, des tests qui vont configurer 3 sorties digitales
Tu pourrais transposer le même type de composant pour piloter la boite de vitesse

Sur un autre sujet, je me suis rendu compte que pncconf oublie un branchement relatif
à une boucle de vitesse entre le codeur et la pid ?

Pour chaque axe, il s'agit de ce branchement:

net x-vel-fb hm2_5i25.0.encoder.00.velocity => pid.x.feedback-deriv

A tester et comparer avec les paramètres PID et FF
cette boucle doit compléter, à mon avis, la boucle analogique indépendante du drive
ou la suppléer si elle est inexistante (boucle en courant uniquement).
 
Dernière édition:
B

bendu73

Compagnon
hummm, je vois cela après que mon potentiomètre fonctionne avec l'avance.
C'est un "10 ka".
Entre la broche centrale et le gnd j'ai une valeur max de 4V environ mais au centre, puis ça chute à nouveau... bizarre.
Par contre Halmeter m'affiche toujours des mesure entre 24 et 27 quoique je face sur le potard.
 
G

gaston48

Compagnon
A priori, ces entrées ont une résolution de 8 bits avec 36.3 V pour la pleine échelle !
le mode 2 activerait un entrées supplémentaire qui mesure en permanence la field tension
on aurait donc fieldvoltage, analog3, analog2, analog1 .
 
B

bendu73

Compagnon
Oui mais quelle entrée?
Il faut donc mieux que je reste sur le mode 1?
 
B

bendu73

Compagnon
Si bien sur, mais je parlais de l' " entrées supplémentaire qui mesure en permanence la field tension".

Mon potentiomètre est bien branché sur mon entré 00 sur ma Mesa et donc en analogin00, mais la tension varie bizarrement :
Cela fait une courbe qui monte vite, puis qui redescend (au niveau de la tension). J'ai un pique au milieu puis ça rechute...

Et Halmeter m'affiche une valeur instable alors que j'ai des valeur fixe mesuré au voltmetre.
 
Dernière édition:
B

bendu73

Compagnon
A mon avis il lit trop de fois la valeur et me les affiches toute, or je veux la valeur moyenne
 
B

bendu73

Compagnon
Super, j'arrive à stabilisé progressivement ma valeur avec la fonction lowpass avec un gain en descendant (la je suis à 0.005).

Par contre il est pas commun mon potentiomètre à avoir un point milieux, la valeur augmente puis redescend.
 
B

bendu73

Compagnon
J'ai fais un gros pavé de programme pour ce potard, optimisation surement mais le potard fonctionne avec mes boutons d'avance. Ce que je reproche par contre c'est le temps que met la valeur pour attendre sa valeur propre. C'est un peu lent, je ne sais pas de quoi c'est du. Mais c'est déjà super!
Je vais peut être aussi changer ce potard :smt021

Je suis trop content!!! Merci Gaston pour ton aide (j'oublie pas les autres vous inquiété pas :heart:).
 
G

gaston48

Compagnon
C'est un peu lent, je ne sais pas de quoi c'est du
A cause de ton low pass tout simplement il filtre tout, comme une variation brutale, à la hausse, comme à la baisse

Concernant ton potard, varie t il de la même façon quand il est débranché et que tu mesures la variation
de résistance avec ton multimètre ?
 
B

bendu73

Compagnon
Oui! J'avais fait le test, c'est bien ça, avec une valeur de 0.001 c'est lent , avec 0.01 c'est très bien et les mouvements de la machine sont très bons. Je peux même faire varié la vitesse pendant le mouvement.
C'est top!

Je fais la mesure du potentiomètre tout à l'heure :wink:
 
B

bendu73

Compagnon
Test du potentiomètre sur une alimentation 12V. Marche très bien, j'ai bien une évolution de 0 à 12V.
bon alors à quoi c'est dû :7grat:

EDIT :
C'est dû encore une fois à mon dont pour me planter sur le câblage... Forcement si le potentielle entre les deux bornes est à 0, pas facile de sortir une valeur normal.
C'est réglé et j'ai mes bouton qui marche!!!!!!!

Reste plus qu'a faire la manivelle !
 
Dernière édition:

Sujets similaires

E
Réponses
1
Affichages
480
sodereco
S
baptiste44
Réponses
90
Affichages
19 259
tournele
tournele
R
Réponses
17
Affichages
3 986
moufy55
moufy55
B
Réponses
11
Affichages
8 544
tournele
tournele
tournele
Réponses
21
Affichages
9 742
tournele
tournele
C
Réponses
3
Affichages
6 704
vincele
V
Haut