Znaleziono 4 wyniki

autor: elmo02
18 cze 2017, 11:36
Forum: LinuxCNC (dawniej EMC2)
Temat: Bazowanie na index
Odpowiedzi: 5
Odsłony: 3405

Pominąłem
addf encoder.update-counters base-thread
addf encoder.capture-position servo-thread

a tak wygląda działający hal dla jednej osi w ini trzeba dopisać HOME_USE_INDEX=YES

# Generated by stepconf 1.1 at Tue Mar 12 22:49:29 2002
# Jeśli zmodyfikujesz ten plik zmainy zostaną
# nadpisane gdy uruchomisz ponownie Stepconf
loadrt trivkins
loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[TRAJ]AXES
loadrt hal_parport cfg="0x378 "
setp parport.0.reset-time 5000
loadrt stepgen step_type=0,0,0
loadrt pwmgen output_type=1

loadrt encoder num_chan=1
loadrt scale count=1
loadrt lowpass count=1


addf parport.0.read base-thread
addf stepgen.make-pulses base-thread
addf pwmgen.make-pulses base-thread
addf parport.0.write base-thread
addf parport.0.reset base-thread

addf encoder.update-counters base-thread
addf encoder.capture-position servo-thread

addf stepgen.capture-position servo-thread
addf motion-command-handler servo-thread
addf motion-controller servo-thread
addf stepgen.update-freq servo-thread
addf pwmgen.update servo-thread

net spindle-cmd-rpm => pwmgen.0.value
net spindle-on <= motion.spindle-on => pwmgen.0.enable
net spindle-pwm <= pwmgen.0.pwm
setp pwmgen.0.pwm-freq 270
setp pwmgen.0.scale 3000
setp pwmgen.0.offset 0.05
setp pwmgen.0.dither-pwm true
net spindle-cmd-rpm <= motion.spindle-speed-out
net spindle-cmd-rpm-abs <= motion.spindle-speed-out-abs
net spindle-cmd-rps <= motion.spindle-speed-out-rps
net spindle-cmd-rps-abs <= motion.spindle-speed-out-rps-abs
net spindle-at-speed => motion.spindle-at-speed
#net axis.0.index-enable => encoder.0.index-enable

net xstep => parport.0.pin-02-out
setp parport.0.pin-02-out-reset 1
net xdir => parport.0.pin-03-out
net ystep => parport.0.pin-04-out
setp parport.0.pin-04-out-reset 1
setp parport.0.pin-05-out-invert 1
net ydir => parport.0.pin-05-out
net zstep => parport.0.pin-06-out
setp parport.0.pin-06-out-reset 1
setp parport.0.pin-07-out-invert 1
net zdir => parport.0.pin-07-out
net spindle-pwm => parport.0.pin-16-out
net estop-ext <= parport.0.pin-10-in-not
net min-home-x <= parport.0.pin-11-in
net max-home-z <= parport.0.pin-12-in
net min-home-y <= parport.0.pin-13-in


setp stepgen.0.position-scale [AXIS_0]SCALE
setp stepgen.0.steplen 1
setp stepgen.0.stepspace 0
setp stepgen.0.dirhold 35000
setp stepgen.0.dirsetup 35000
setp stepgen.0.maxaccel [AXIS_0]STEPGEN_MAXACCEL
net xpos-cmd axis.0.motor-pos-cmd => stepgen.0.position-cmd
net xpos-fb stepgen.0.position-fb => axis.0.motor-pos-fb
net xstep <= stepgen.0.step
net xdir <= stepgen.0.dir
net xenable axis.0.amp-enable-out => stepgen.0.enable
net min-home-x => axis.0.home-sw-in
net min-home-x => axis.0.neg-lim-sw-in

setp stepgen.1.position-scale [AXIS_1]SCALE
setp stepgen.1.steplen 1
setp stepgen.1.stepspace 0
setp stepgen.1.dirhold 35000
setp stepgen.1.dirsetup 35000
setp stepgen.1.maxaccel [AXIS_1]STEPGEN_MAXACCEL
net ypos-cmd axis.1.motor-pos-cmd => stepgen.1.position-cmd
net ypos-fb stepgen.1.position-fb => axis.1.motor-pos-fb
net ystep <= stepgen.1.step
net ydir <= stepgen.1.dir
net yenable axis.1.amp-enable-out => stepgen.1.enable
net min-home-y => axis.1.home-sw-in
net min-home-y => axis.1.neg-lim-sw-in

setp stepgen.2.position-scale [AXIS_2]SCALE
setp stepgen.2.steplen 1
setp stepgen.2.stepspace 0
setp stepgen.2.dirhold 35000
setp stepgen.2.dirsetup 35000
setp stepgen.2.maxaccel [AXIS_2]STEPGEN_MAXACCEL
net zpos-cmd axis.2.motor-pos-cmd => stepgen.2.position-cmd
net zpos-fb stepgen.2.position-fb => axis.2.motor-pos-fb
net zstep <= stepgen.2.step
net zdir <= stepgen.2.dir
net zenable axis.2.amp-enable-out => stepgen.2.enable
net max-home-z => axis.2.home-sw-in
net max-home-z => axis.2.pos-lim-sw-in


net estop-out <= iocontrol.0.user-enable-out
net estop-ext => iocontrol.0.emc-enable-in

loadusr -W hal_manualtoolchange
net tool-change iocontrol.0.tool-change => hal_manualtoolchange.change
net tool-changed iocontrol.0.tool-changed <= hal_manualtoolchange.changed
net tool-number iocontrol.0.tool-prep-number => hal_manualtoolchange.number
net tool-prepare-loopback iocontrol.0.tool-prepare => iocontrol.0.tool-prepared

# counter mode
setp encoder.0.counter-mode 1

# 100 counts per encoder rev
setp encoder.0.position-scale 1024

# hook up motion controller's sync output

net xindex-enable <=> axis.0.index-enable
net xindex-enable <=> encoder.0.index-enable

net xindex encoder.0.phase-Z <= parport.0.pin-15-in
autor: elmo02
17 cze 2017, 16:38
Forum: LinuxCNC (dawniej EMC2)
Temat: Bazowanie na index
Odpowiedzi: 5
Odsłony: 3405

Temat rozwiązany brakowało dwóch wpisów w hal, jakby ktoś chciał działającego hal do bazowania na index to proszę o pw :)
autor: elmo02
10 cze 2017, 23:27
Forum: LinuxCNC (dawniej EMC2)
Temat: Bazowanie na index
Odpowiedzi: 5
Odsłony: 3405

Tak chodzi o trójosiową frezarkę z racji tego, że kupiłem na razie na próbę jeden enkoder i testy przeprowadzam na jednej osi, zobaczę pokombinuję ten hal to całe sprzężenie zwrotne na karcie mesa

[ Dodano: 2017-06-11, 14:59 ]
niestety dalej nie wiem jak to ugryzć....

[ Dodano: 2017-06-11, 23:20 ]
ktoś coś podrzuci pomysł? :)
autor: elmo02
10 cze 2017, 13:46
Forum: LinuxCNC (dawniej EMC2)
Temat: Bazowanie na index
Odpowiedzi: 5
Odsłony: 3405

Bazowanie na index

Witam,
Od dłuższego czasu walczę z bazowaniem na index enkoder już ogarnąłem podłączony jest ok, teraz hal i tu jest problem siedzę i siedzę i nie wiem jak to ugryzc próbuję coś skopiować z indexu tokarki ale bazowanie niestety nie działa

# load encoder stuff
loadrt encoder num_chan=1
loadrt scale count=1
loadrt lowpass count=1
# counter mode
setp encoder.0.counter-mode 1
# 100 counts per encoder rev
setp encoder.0.position-scale 100

# encoder reset control
# hook up motion controller's sync output
net axis.0-index-enable motion.axis.0-index-enable <=> encoder.0.index-enable

# hook up spindle encoder
net axis.0-index parport.0.pin-15-in encoder.0.phase-Z

# count spindle encoder pulses
addf encoder.update-counters base-thread
addf encoder.capture-position servo-thread
addf lowpass.0 servo-thread
addf scale.0 servo-thread

no i to niestety nie działa czy ktoś by mógł mi to objaśnić?

Wróć do „Bazowanie na index”