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