Frage wegen Spindelencoder an 7i76

More
26 Nov 2024 10:42 #315284 by WKS-3D
Hallo Gemeinde,
ich bin immer noch mit der Konfiguration meiner Drehmaschine dran, dass meiste funktioniert und das sogar mit der Oberfläche Probe_Basic_Lathe.
Gestern wollte ich ein ganz einfaches Testteil drehen, bisschen planen und Außengewinde drehen.
G96 funktioniert, allerdings der Vorschub mit mm/U funktioniert nicht, mm/min ja. Mit dem Außengewinde geht auch nicht, der Drehstahl bleibt an der Startposition stehen und das wars.
Eben habe ich mir dann mal die passenden Encoder Ein- und Ausgänge in der HAL anzeigen lassen und wenn ich die Spindel drehe, bleibt alles auf 0 (Null). Ok, dann kann es ja nicht funktionieren.
Als erstes würde mir da ein Verkabelungsfehler einfallen und dabei ist mir aufgefallen, dass "+5VP" nicht angeschlossen ist (stand eigentlich auf meiner ToDo-Liste das abzuklären, aber vergessen).
Lange Rede kurzer Sinn, muss ich an den TB3 +5VP +5V anschließen?
Ich habe mal 2 Bilder angehängt, sagt mehr aus als 1000 Worte ;)

 

Vielen Dank schonmal

Gruß
Olli
Attachments:

Please Log in or Create an account to join the conversation.

More
26 Nov 2024 12:35 #315292 by timo
Achtung jetzt kommt gefährliches Halbwissen:

Manche Encoder laufen mit Differnzsignal, manche gegen GND.
Auf der Mesa Karte sind soweit ich mich erinnere Jumper, wo man die Sorte auswählen muss.
Jumper W2 entscheided, ob TB3 extra 5V benötigt, oder ob 5V von der anderen Verbindung kommt.
Zitat:

"The 7I76s high speed encoder input can be programmed for differential or single
ended mode operation. W4, W5 and W6 set the encoder input mode. When W4,W5,and
W6 are in the right hand position, the encoder input is mode is differential. When W4,W5,
and W6 are in the left hand position, the encoder input mode is single ended or "TTL"."

Da würde ich mal gucken ob W4, W5, und W6 zum Encoder passend gesteckt sind.

Hoffe das hilft

Grüße Timo

Please Log in or Create an account to join the conversation.

More
27 Nov 2024 10:16 #315352 by WKS-3D
Danke für deine Antwort Timo 
Der GND und +5VP sind allerdings Ausgänge für Encoder, zB Glasmaßstäbe die selber keine Stromquelle haben.
Der Encoder vom Servo bekommt aber Strom von der Endstufe und benötigt GND und 5VP nicht, allerdings sollte man darauf achten das die angeschlossenen Komponenten das gleiche Potential haben, deswegen habe ich gestern auf Rat eines Elektronikers GND vom 24V und 5V Netzteil zusammengelegt. Gebracht hat es aber auch nichts.

Ich bekomme diesen Encoder nicht ans laufen und habe absolut keinen Dunst, warum nicht.
Der Servoencoder selbst sollte funktionieren weil in der Endstufe die aktuelle Drehzahl angezeigt wird, reagiert auch sofort auf Drehen von Hand.
Seit ihr bitte so freundlich und schaut euch meine Hal und Ini Einträge dafür mal an ob da ein Fehler drin ist?
# Verwendete LinuxCNC version:  Master (2.9)

# Mesa 7i76 LAUFT IN MODE 1 MIT 4 ANALOGEN EINGANGEN (sserial_port_0=1000000x) !!!!!!

loadrt [KINS]KINEMATICS
loadrt [EMCMOT]EMCMOT unlock_joints_mask=0x8 servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[KINS]JOINTS num_dio=6 num_aio=3
loadrt hostmot2
loadrt hm2_eth board_ip="10.10.10.10" config="num_encoders=6 num_pwmgens=0 num_stepgens=5 sserial_port_0=1000000x" 
loadrt flipflop count=2
setp   hm2_7i92.0.watchdog.timeout_ns 5000000
loadrt pid names=pid.x,pid.z

addf hm2_7i92.0.read          servo-thread
addf motion-command-handler   servo-thread
addf motion-controller        servo-thread
addf pid.x.do-pid-calcs       servo-thread
addf pid.z.do-pid-calcs       servo-thread
addf hm2_7i92.0.write         servo-thread
setp hm2_7i92.0.dpll.01.timer-us -50
setp hm2_7i92.0.stepgen.timer-number 1

#*******************
#  SPINDEL
#*******************

setp   hm2_7i92.0.encoder.05.counter-mode 0
setp   hm2_7i92.0.encoder.05.filter 1
setp   hm2_7i92.0.encoder.05.index-invert 0
setp   hm2_7i92.0.encoder.05.index-mask 0
setp   hm2_7i92.0.encoder.05.index-mask-invert 0
setp   hm2_7i92.0.encoder.05.scale          [SPINDLE_0]ENCODER_SCALE
setp   hm2_7i92.0.stepgen.04.dirsetup        [SPINDLE_0]DIRSETUP
setp   hm2_7i92.0.stepgen.04.dirhold         [SPINDLE_0]DIRHOLD
setp   hm2_7i92.0.stepgen.04.steplen         [SPINDLE_0]STEPLEN
setp   hm2_7i92.0.stepgen.04.stepspace       [SPINDLE_0]STEPSPACE
setp   hm2_7i92.0.stepgen.04.position-scale  [SPINDLE_0]OUTPUT_SCALE
setp   hm2_7i92.0.stepgen.04.step_type        0
setp   hm2_7i92.0.stepgen.04.control-type     1
setp   hm2_7i92.0.stepgen.04.maxaccel        [SPINDLE_0]STEPGEN_MAXACCEL
setp   hm2_7i92.0.stepgen.04.maxvel          [SPINDLE_0]STEPGEN_MAXVEL

net spindle-vel-cmd-rpm        => hm2_7i92.0.stepgen.04.velocity-cmd
net spindle-enable             => hm2_7i92.0.stepgen.04.enable  => hm2_7i92.0.7i76.0.0.output-06
net spindle-index-enable       => hm2_7i92.0.encoder.05.index-enable 
net spindle-revs           <= hm2_7i92.0.encoder.05.position
net spindle-vel-fb-rps         <= hm2_7i92.0.encoder.05.velocity
net spindle-rpm               <= hm2_7i92.0.encoder.05.velocity-rpm
net spindle-vel-cmd-rps        <=  spindle.0.speed-out-rps
net spindle-vel-cmd-rps-abs    <=  spindle.0.speed-out-rps-abs
net spindle-vel-cmd-rpm        <=  spindle.0.speed-out
net spindle-vel-cmd-rpm-abs    <=  spindle.0.speed-out-abs
net spindle-enable             <=  spindle.0.on
net spindle-cw                 <=  spindle.0.forward
net spindle-ccw                <=  spindle.0.reverse
net spindle-brake              <=  spindle.0.brake
net spindle-revs               =>  spindle.0.revs
net spindle-at-speed           =>  spindle.0.at-speed
net spindle-vel-fb-rps         =>  spindle.0.speed-in
net spindle-index-enable      <=>  spindle.0.index-enable
Ich habe Teile der Hal ausgelassen die absolut nichts mit der Spindel zu tun haben um die zu kürzen

Hier die INI-Einträge
[EMC]
VERSION = 1.1
MACHINE = Hera
DEBUG = 0

[DISPLAY]
DISPLAY = probe_basic_lathe
LATHE = 1
CONFIRM_EXIT = False
LOG_FILE = sim.log
LOG_LEVEL = DEBUG
PREFERENCE_FILE = sim.pref
CONFIG_FILE = custom_config.yml
CYCLE_TIME =            0.100
POSITION_OFFSET =       RELATIVE
POSITION_FEEDBACK =     ACTUAL
DEFAULT_LINEAR_VELOCITY = 6.00000
MAX_LINEAR_VELOCITY = 166.000000
MIN_LINEAR_VELOCITY = 0.500000
DEFAULT_ANGULAR_VELOCITY = 12.000000
MAX_ANGULAR_VELOCITY = 180.000000
MIN_ANGULAR_VELOCITY = 1.666667
DEFAULT_SPINDLE_SPEED = 300
MAX_SPINDLE_OVERRIDE = 2.000000
MIN_SPINDLE_OVERRIDE = 0.500000
MAX_FEED_OVERRIDE = 2.000000
PROGRAM_PREFIX = ~/linuxcnc/nc_files
OPEN_FILE = ~/linuxcnc/nc_files/pb_examples/blank.ngc
INTRO_GRAPHIC = linuxcnc.gif
INTRO_TIME = 1
INCREMENTS = JOG 5mm 1mm .5mm .1mm .05mm .01mm .005mm
GEOMETRY = xz
USER_TABS_PATH = user_tabs/

[SPINDLE_0]

# Stepgeneratoreinstellungen

DIRSETUP   = 1000
DIRHOLD    = 1000
STEPLEN    = 1000
STEPSPACE  = 1000
STEPGEN_MAXVEL   = 3000
STEPGEN_MAXACCEL = 1000

# Encoder
ENCODER_SCALE     = 10000     
    
OUTPUT_SCALE      = 166.0667
# Berechnung: 10000 / 60 = 166.06666667   (Endocer Impulse pro Umdrehung durch 60 = Impulse pro Sekunde Output Scale)

Des weiteren bin ich mir nicht sicher wie viele Encoder-Ausgänge ich wirklich habe, eigentlich hat die 7i76 nur einen und die 7i85 vier, wären also fünf, dann müsste ich meinen Eintrag auf "encoder.04" ändern (habe ich schon gemacht, aber funktioniert trotzdem nicht, liegt aber vielleicht an einer falscher Hal/INI). Ich habe ein paar Ausgaben von Mesaflash angehängt, womit ich ehrlich gesagt, nicht wirklich schlauer wurde:

 
 
 
 

Hier beim letzten, vermute ich, ist die Anzahl der Encoder angegeben, wie gesagt, Vermutung:
 

Ich hoffe das mir jemand bei diesem Problem helfen kann, ich komme selbst einfach nicht drauf.


Danke und Gruß
Olli
Attachments:

Please Log in or Create an account to join the conversation.

More
27 Nov 2024 11:31 #315360 by tommylight
Try:
OA+ A+
OA- A-
OB+ B+
OB- B-
Then open "show hal configuration" from "machine" menu, there on the right side choose "watch" and on the left side choose 7i92>encoder.0>encoder.0.velocity or encoder.0.raw-counts
Do this for all 6 encoders so you can see all at once and turn the spindle by hand.
Does any encoder count?

Please Log in or Create an account to join the conversation.

More
27 Nov 2024 11:43 #315364 by Aciera
Gemäss Schaltplan hat dein Regler differenzielle Encoderausgänge also mal kontrollieren ob dies auf der 7i76 auch so mit dem Jumper konfiguriert hast:
 

Weiter kann es auch sein, dass du den Encoderausgang im Regler selbst noch konfigurieren / aktivieren musst.
Attachments:

Please Log in or Create an account to join the conversation.

More
27 Nov 2024 14:06 #315373 by WKS-3D

Try:
OA+ A+
OA- A-
OB+ B+
OB- B-
Then open "show hal configuration" from "machine" menu, there on the right side choose "watch" and on the left side choose 7i92>encoder.0>encoder.0.velocity or encoder.0.raw-counts
Do this for all 6 encoders so you can see all at once and turn the spindle by hand.
Does any encoder count?

I have tried all the free encoder positions, 00 and 01 are from the glass scales and these work. Accordingly, 02 - 05 remained, all tested, no function. I really don't know what to do.
Checked the cables on the DB44 connector again to make sure they all have the right pins. Yes, that's right.

Please Log in or Create an account to join the conversation.

More
27 Nov 2024 14:09 #315374 by WKS-3D
Die Jumper sind alle rechts, das passt.
Ich bin auch nochmal alles in der BDA vom Servo durchgegangen, dort steht nichts das das irgendwo konfiguriert werden kann/muss mit den Encoderausgängen.
Meine Vermutung, entweder ist der Ausgang defekt oder die haben in der Zeichnung die falschen Pins am DB44 Stecker angegeben.
Das letzte, was ich will, ist mir bloß deswegen nen neuen Servo kaufen zu müssen, ist ja nicht gerade Kleingeld.

Please Log in or Create an account to join the conversation.

More
27 Nov 2024 14:56 #315378 by WKS-3D
Ich habe da etwas zu meinem Entsetzen rausgefunden, es gibt verschiedene Versionen von Anleitungen.
Meine Anleitung hat Version V2.0, es gibt aber auch V1.3 und dort gibts es die 6 Ausgänge A+A-B+B-Z+Z- nicht, dort gibt es nur Z-Signal Output.
Kann ich damit auch was anfangen, ich brauche es nur für Gewindedrehen und vielleicht noch für den Vorschub beim Drehen, wäre praktischer als mit mm/min.

 

Ich habe den Verkäufer mal angeschrieben und Typenschild vom Motor und Treiber geschickt, vielleicht kann er mir sagen welche Version stimmt.
Attachments:

Please Log in or Create an account to join the conversation.

More
27 Nov 2024 14:58 #315380 by PCW
Can you try all encoder inputs with with one glass scale output?

Note that encoders are:

00  7I85 ENC0
01  7I85 ENC1
02  7I85 ENC2
03  7I85 ENC3
04  7I76 ENC
05  Aliased 7I76 (dont use)

Also you can debug with just a voltmeter across the A,/A B,/B pins
you can also check the input pins with halshow:

hm2_7i92.0.encoder.00.input-a
hm2_7i92.0.encoder.00.input-b
hm2_7i92.0.encoder.01.input-a
hm2_7i92.0.encoder.01.input-b

etc

Please Log in or Create an account to join the conversation.

More
27 Nov 2024 15:51 #315383 by WKS-3D

Can you try all encoder inputs with with one glass scale output?

Note that encoders are:

00  7I85 ENC0
01  7I85 ENC1
02  7I85 ENC2
03  7I85 ENC3
04  7I76 ENC
05  Aliased 7I76 (dont use)

Also you can debug with just a voltmeter across the A,/A B,/B pins
you can also check the input pins with halshow:

hm2_7i92.0.encoder.00.input-a
hm2_7i92.0.encoder.00.input-b
hm2_7i92.0.encoder.01.input-a
hm2_7i92.0.encoder.01.input-b

etc


I have now simply plugged the connector from the glass scale X (00 7I85 ENC0) into the encoder input of the 7i96 (04). When the X-axis moves, the yellow LED at A changes constantly between on and off, B remains on, Count changes between 0 and -1 during the movement, Velocity shows a value from time to time during the movement. I did not change anything on the HAL for the test.
Measured with the voltmeter at the outputs of the spindle encoder, there is no value, so A+ is measured with A- etc.
all this in the unplugged state. When the plug is plugged into the 7i76, I have values of 228 ohms.

Please Log in or Create an account to join the conversation.

Time to create page: 0.202 seconds
Powered by Kunena Forum