Numérisation de mon tour BL200L-1 (BV20L)

  • Auteur de la discussion carlos78
  • Date de début
B

big bloc

Ouvrier
Bonjour,
Ah oui pardon, spindle-velocity est un signal maintenant, il n'a pas de Pin comme un composant
il doit être placé après net, donc la bonne ligne serait:

net spindle-velocity => mult2.0.in1

Un custompanel.xml avec la vitesse min= 0 et les couleurs paramétrées:
<pyvcp>
<label>
<text>"Vitesse de broche:"</text>
</label>
<bar>
<halpin>"spindle-speed"</halpin>
<min_>0</min_>
<max_>5000</max_>
<bgcolor>"grey"</bgcolor>
<fillcolor>"green"</fillcolor>
</bar>
</pyvcp>

Reste à récupérer une entrée du port// pour rentrer la voie B
 
B

big bloc

Ouvrier
bonsoir , j ai trouve un exemple piloter avec juste l index , je l ai mis dans mon fichier hal et patouiller mais rien ne se passe , il se met poutant à la suite ?
# encoder.0 is for pendant / manivelle ,encoder.1 is for spindle
loadrt encoder num_chan=2
loadrt near count=1
.....
addf encoder.capture-position servo-thread
addf encoder.update-counters base-thread
.....
# pin 11 lpt port 0 is the spindle speed sensor
net spindle-speed-sensor parport.0.pin-11-in
........
# read spindle speed
addf scale.9 servo-thread
setp scale.9.gain 60
setp encoder.1.position-scale 2
setp encoder.1.counter-mode 1
net spindle-speed-sensor => encoder.1.phase-A => encoder.1.phase-Z
net encoder-spindle <= encoder.1.velocity => scale.9.in => motion.spindle-speed-in
# spindle speed in rpm
net spindle-speed scale.9.out

# computing spindle at speed signal
addf near.0 servo-thread
setp near.0.difference 30
net spindle-speed => near.0.in1
net spindle-cmd => near.0.in2
net spindle-at-speed <= near.0.out
# stop feed during acceleration
net spindle-at-speed => motion.spindle-at-speed

(ça vient d ici)
:


si vous avez une idee , c est vraiment rageant de bloquer la dessus et ligne de travers plus rien de marche :-(
 
G

gaston48

Compagnon
Bonjour,
Je ne sais pas si ça a un rapport, mais tu n'as pas à rentrer les impulsions sur la phase-Z, l'index
la phase A suffit en counter-mode 1
net spindle-speed-sensor => encoder.1.phase-A
au lieu de
# net spindle-speed-sensor => encoder.1.phase-A => encoder.1.phase-Z
 
B

big bloc

Ouvrier
ok un grand merci à toi j essaie ce soir , linux , c est genial , vraiment , mais il faut vraiment mettre les mains dedans :)
 
B

big bloc

Ouvrier
le "counter-mode 1 " c est pour l index seul j imagine?
 
G

gaston48

Compagnon
le "counter-mode 1 " c est pour l index seul j imagine?
Non la voie A uniquement, donc tu comptes simplement toujours en positif sans pouvoir
déterminer le sens de rotation.
Avec le voie B, décalée de 90° (en quadrature comme on dit) tu détermines le sens de
rotation et tu augmentes la résolution de base du codeur par quatre par la même occasion.
la voie Z , l'index est un impulsion unique par tour sur un codeur rotatif ou sur la
longueur d'une règle , il permet d'initialiser le compteur de l'encodeur et d'obtenir
une référence absolue du codeur
 
B

big bloc

Ouvrier
bonjour , bon mauvaise nouvelle , toujours pas de lecture de la vitesse en vue, pas de G33 pour l instant :-( ... pour rappel je fais mes essais uniquement avec un capteur inductif , j ai commande des codeurs quadrature sur aliexpress mais ils sont bloqués en chine , cause corona je joins mon fichier machine si vous voulez regarder
 

Fichiers joints

  • ma-machine.zip
    5.6 KB · Affichages: 59
  • message erreur fichier hal.odt
    41.5 KB · Affichages: 53
Dernière édition:
G

gaston48

Compagnon
Suivant le message d'erreur uniquement, j'ai corrigé le fichier " ma-machine.hal "
(composant scale mal chargé)
 

Fichiers joints

  • ma-machine.zip
    5.6 KB · Affichages: 50
B

big bloc

Ouvrier
bonsoir Gaston ,merci d avoir regardé, il me met toujours la meme chose , seul le chiffre change ,
.

HAL: ERROR: function 'scale.9' not found

./ma-machine.hal:116: addf failed

7528>8603
 
G

gaston48

Compagnon
Oups excuse moi, je t'ai renvoyé ton fichier
donc tu changes le fichier ma-machine.hal de ton répertoire par le miens
 

Fichiers joints

  • ma-machine.zip
    1.4 KB · Affichages: 56
B

big bloc

Ouvrier
encore merci pour ta patience et ta disponibilité , voila ce que ça donne maintenant

IMG_20200314_200618[1].jpg
 
G

gaston48

Compagnon
Dans custom_postgui.hal
tu mets un # devant la ligne 12: "sets spindle-at-speed true"
ou tu la supprimes carrément ...
 
B

big bloc

Ouvrier
re bonsoir , il y a du mieux :) la vitesse ne "bouge toujours "qu avec le curseur mais n est pas affichée par la rotation , néanmoins, quand je recule le capteur de sa cible, le voyant passe aussitôt au vert (quand il n y a plus de détection en fait)

IMG_20200314_214858[1].jpg


IMG_20200314_214914[1].jpg
 
G

gaston48

Compagnon
Tu sais utiliser halscope
peux tu lancer hal-meter cette foi et vérifier sur la pin encoder.1.velocity
si tu as bien une valeur numérique proportionnelle à la vitesse ?
 
B

big bloc

Ouvrier
avec encoder .1. velocity , j ai une valeur disons bizarre, avec l' autre (encoder.1. position) c' est beaucoup mieux la valeur varie dans les 2 cas meme elle est tres proche de la verite avec encoder .1. position

IMG_20200314_223209[1].jpg


IMG_20200314_223125[1].jpg
 
G

gaston48

Compagnon
Oui mais encodeur position "compte les tours", toi tu as besoin d'un signal proportionnel
à la vitesse si la broche s’arrête, la valeur doit tomber à zéro .
je ne me souviens plus de cette discussion à son origine :oops: et j'oublie très vite
quand je suis sur autre chose. il faut me laisser un peu de temps pour rafraîchir ....

mais l’essentiel est que tu as un signal, après on peut le lisser faire ce qu'on veut
Ton capteur scrute des dents d' engrenage ? combien de dents par tour ?
 
B

big bloc

Ouvrier
1 dent par tour , c est un aimant que j ai mis sur l arbre moteur ( juste pour mes premiers essais) oui , je sais qu il y a un signal donc ça devrait le faire et surtout grace a toi encore un grand merci , j aurais jamais trouvé tout ça bon on voit ça plus tard , faut se reposer , bonne soirée et encore merci pour l avancée :wink:

IMG_20200314_230220[1].jpg
 
G

gaston48

Compagnon
Ouaaah c'est de la haute technologie tout s'explique ! :wink:
Normalement si tu veux correctement fileter et mesurer la vitesse de broche d'une façon stable
il te faut le maximum d'impulsion par tour de broche pour la vitesse sur A ou sur A et B
et 1 seule impulsion isolée par tour de broche aussi pour initialiser le cycle G33
Donc si ton futur codeur est accouplé à la broche avec une transmission autre qu'un rapport 1/1
tu ne pourras pas exploiter l'index Z de ton codeur, il faudra utiliser ton capteur inductif en plus
Comme tu es sur port //, pas trop d'impulsions par tour non plus car le port // est limité en fréquence.
 
B

big bloc

Ouvrier
Oui , c est provisoire j attends les codeurs=>chine ... ce montage , je l' avais fait avec mach3 pour avoir l affichage de la vitesse en temps presque réel :wink: la lecture en temps était plutôt bonne, c est pour cela que je veux faire la même chose avec linux, au moins pour l'affichage de la rotation en temps réel , pour le G33 , il va falloir être plus technique , mais ça reste possible ??? En attendant les codeurs , puis ça me permet de mettre les mains sous le capot ,même si c est pas facile ..
De plus j ai découvert que le seul logiciel capable de gérer les codeurs , ben c est justement linux, notamment grâce à ce post:

https://passion-usinages.forumgratuit.org/t3807-cnc-test-avec-linuxcnc et surtout cette vidéo du même auteur


et j avoue que ça me sidère de voir toutes les possibilités , si on veut la même chose du cote de mach3 , il faut mettre pas mal de $$$ en cartes et pas sur qu il fasse le boulot aussi bien et heureusement aussi qu il y a des personnes comme toi qui prennent le temps d expliquer car sans ça ,c'est pas gagner :wink:
 
Dernière édition:
B

big bloc

Ouvrier
pour en revenir à mon montage ,en l état, je peux au moins espérer la lecture de la vitesse et/ou il me faut une roue dentée avec mon capteur inductif ? comme sur une voiture en fait?
 
Dernière édition:
B

big bloc

Ouvrier
ça y est!!!!:chupachupz: :) la vitesse s affiche enfin après 3 heures de bataille j ai mis le" net spindle-speed" en lieu et place du "net spindle-cmd-rpm-abs "et bingo, ça marche , bon reste à paramétrer la vitesse mais ça réagit , un grand merci à toi Gaston ,sans toi j y serais jamais arrivé:partyman:, prochaine étape , les codeurs et le G 33
-

IMG_20200315_192344[1].jpg
 
Dernière édition:
G

gaston48

Compagnon
Bonjour,
Ah c'est super ! C'est la force du noyau temps réel de Linuxcnc et tout est opensource.
Sous un autre système d'exploitation, il faut un autre calculateur indépendant du PC pour
faire le travail et comportant son propre firmware qui n'est pas accessible.
La contre-partie est que dans une configuration la plus simple et économique,
le PC de Linuxcnc ne dispose pas de port entrée-sortie rapide et comportant beaucoup de voies.
A la base il n'y a que le port parallèle, il faudra donc peut être adapter la résolution de ton codeur
pour ne pas être limité par la bande passante du port // .
C'est pour cette raison que par la suite, on complète le nombre d'entrée sortie et la bande passante
par une carte choisie chez Mesa par exemple. Ces cartes ne comportent pas un calculateur mais
un FPGA, une unité logique programmable. Avec ce type de carte, tu peux y connecter un codeur
très rapide, il alimentera un compteur indépendant que le PC Linuxnc scrutera périodiquement.
Et là, on rejoint la notion de noyau temps réel, le temps réel n'existe qu'en électronique analogique.
En informatique tout est cadencé mais ici avec une grande régularité et fiabilité, quand une tache
(un thread) attend le résultat d'un calcul pour envoyer le bon nombre de step au pas à pas,
La transmission de l'info doit se faire avec le minimum de latence " temps de latence" c'est un critère
de choix et de configuration de la carte mère et certain PC ne convienne pas.
 
B

big bloc

Ouvrier
Bonjour Gaston , oui la carte Mesa, j 'y pense dans un second temps ,je souhaite acquérir les"bases pour me servir de linuxcnc , petite question en ajoutant une 2 eme carte pour le // augmente-t-on cette fameuse bande passante ? concernant ces fameux temps de latence , j avais mis ce même montage sous windows avec mach3 , bon déjà ça plantait de temps à autre sans aucune raison, et tu peux bien moins rentrer de paramétrés , enfin pour arriver à faire ça avec linux , il faut maîtriser un peu le sujet, pour l instant , je suis arrive au stade de mach3, en terme de fonctionnalités et un gros plus en terme de stabilité pour linux ( les compétences pour comprendre linux me font pas mal défaut) mais je ne lâche rien , c est vraiment passionnant , je regrette seulement de ne pas m y être mis +tôt
 

Sujets similaires

K
Réponses
22
Affichages
746
gerard crochon
G
G
Réponses
16
Affichages
843
Nono 78
N
Tom_Franche_Comté
Réponses
14
Affichages
754
Olrik
M
Réponses
11
Affichages
838
MichaelJ
M
C
Réponses
1
Affichages
4 388
MIC_83
MIC_83
C
Réponses
25
Affichages
5 651
Squal112
Squal112
M
Réponses
0
Affichages
996
Métal-Provence
M
T
Réponses
63
Affichages
18 446
Pierrot Lecopeau
Pierrot Lecopeau
Jo Wan
Réponses
18
Affichages
1 661
chabercha
chabercha
G
Réponses
9
Affichages
767
pascalp
P
O
Réponses
13
Affichages
1 065
Comex007
C
Haut