LinuxCNC Bazowanie bramy - jedna oś dwa silniki dwie krańcówki HOME

Dyskusje dotyczące działania obsługi programu LinuxCNC

Autor tematu
szatri
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 3
Posty: 235
Rejestracja: 23 lut 2011, 15:12
Lokalizacja: PL

LinuxCNC Bazowanie bramy - jedna oś dwa silniki dwie krańcówki HOME

#1

Post napisał: szatri » 04 lut 2021, 21:54

Witam, nawiązując do filmu Adama z tytułu mam problem


W filmie w 11:38 jest podmiana parametrów osi na wzór osi prowadzącej(master), u mnie po takim zabiegu jest problem z uruchomieniem programu:

Kod: Zaznacz cały

Debug file information:
.
./ploter.hal:102: Signal 'xenable' can not add OUT pin 'joint.1.amp-enable-out', it already has OUT pin 'joint.0.amp-enable-out'
10483
Stopping realtime threads
Unloading hal components
Po zmianie z 1 na 0 w sekcji [JOINT_1]

Kod: Zaznacz cały

net xenable joint.0.amp-enable-out => stepgen.1.enable
już się uruchamia, ale jest problem z bazowaniem, tylko os Z się poprawnie bazuje (pokazuje ikonkę)(może dlatego ze nie było przy niej grzebane tylko skopiowane z wersji 3 silnikowej)
Moze ma to wpływ ale mam sygnał

Kod: Zaznacz cały

net xenable         => parport.0.pin-14-out
i jest on zanegowany, dodany jako włączenie wzmacniaczy w kreatorze.

Podaje plik hal

Kod: Zaznacz cały

# Generated by stepconf 1.1 at Thu Feb  4 19:57:27 2021
# Jeśli zmodyfikujesz ten plik zmainy zostaną
# nadpisane gdy uruchomisz ponownie Stepconf
loadrt [KINS]KINEMATICS
loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[KINS]JOINTS
loadrt hal_parport cfg="0x378 out"
setp parport.0.reset-time 5000
loadrt stepgen step_type=0,0,0,0

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

addf stepgen.capture-position servo-thread
addf motion-command-handler servo-thread
addf motion-controller servo-thread
addf stepgen.update-freq servo-thread
net spindle-cmd-rpm     <= spindle.0.speed-out
net spindle-cmd-rpm-abs <= spindle.0.speed-out-abs
net spindle-cmd-rps     <= spindle.0.speed-out-rps
net spindle-cmd-rps-abs <= spindle.0.speed-out-rps-abs
net spindle-at-speed    => spindle.0.at-speed

net xdir            => parport.0.pin-02-out
net xstep           => parport.0.pin-03-out
setp parport.0.pin-03-out-reset 1
net ydir            => parport.0.pin-04-out
net ystep           => parport.0.pin-05-out
#setp parport.0.pin-04-out-invert 1
setp parport.0.pin-05-out-reset 1
net zdir            => parport.0.pin-06-out
net zstep           => parport.0.pin-07-out
setp parport.0.pin-07-out-reset 1
setp parport.0.pin-08-out-invert 1
net x2-xdir            => parport.0.pin-08-out
net x2-xstep           => parport.0.pin-09-out
setp parport.0.pin-09-out-reset 1
setp parport.0.pin-14-out-invert 1
net xenable         => parport.0.pin-14-out
net both-home-x-pier     <= parport.0.pin-10-in-not
net both-home-x-drug     <= parport.0.pin-13-in-not
net both-home-y     <= parport.0.pin-11-in-not
net both-home-z     <= parport.0.pin-12-in-not
net estop-ext       <= parport.0.pin-15-in-not

setp stepgen.0.position-scale [JOINT_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 [JOINT_0]STEPGEN_MAXACCEL
net xpos-cmd joint.0.motor-pos-cmd => stepgen.0.position-cmd
net xpos-fb stepgen.0.position-fb => joint.0.motor-pos-fb
net xstep <= stepgen.0.step
net xdir <= stepgen.0.dir
net xenable joint.0.amp-enable-out => stepgen.0.enable
net both-home-x-pier => joint.0.home-sw-in
net both-home-x-pier => joint.0.neg-lim-sw-in
net both-home-x-pier => joint.0.pos-lim-sw-in

setp stepgen.1.position-scale [JOINT_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 [JOINT_1]STEPGEN_MAXACCEL
net x2-xpos-cmd joint.1.motor-pos-cmd => stepgen.1.position-cmd
net x2-xpos-fb stepgen.1.position-fb => joint.1.motor-pos-fb
net x2-xstep <= stepgen.1.step
net x2-xdir <= stepgen.1.dir
net xenable joint.0.amp-enable-out => stepgen.1.enable
net both-home-x-drug => joint.1.home-sw-in
net both-home-x-drug => joint.1.neg-lim-sw-in
net both-home-x-drug => joint.1.pos-lim-sw-in

setp stepgen.2.position-scale [JOINT_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 [JOINT_2]STEPGEN_MAXACCEL
net ypos-cmd joint.2.motor-pos-cmd => stepgen.2.position-cmd
net ypos-fb stepgen.2.position-fb => joint.2.motor-pos-fb
net ystep <= stepgen.2.step
net ydir <= stepgen.2.dir
net yenable joint.2.amp-enable-out => stepgen.2.enable
net both-home-y => joint.2.home-sw-in
net both-home-y => joint.2.neg-lim-sw-in
net both-home-y => joint.2.pos-lim-sw-in

setp stepgen.3.position-scale [JOINT_3]SCALE
setp stepgen.3.steplen 1
setp stepgen.3.stepspace 0
setp stepgen.3.dirhold 35000
setp stepgen.3.dirsetup 35000
setp stepgen.3.maxaccel [JOINT_3]STEPGEN_MAXACCEL
net zpos-cmd joint.3.motor-pos-cmd => stepgen.3.position-cmd
net zpos-fb stepgen.3.position-fb => joint.3.motor-pos-fb
net zstep <= stepgen.3.step
net zdir <= stepgen.3.dir
net zenable joint.3.amp-enable-out => stepgen.3.enable
net both-home-z => joint.3.home-sw-in
net both-home-z => joint.3.neg-lim-sw-in
net both-home-z => joint.3.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
oraz ini

Kod: Zaznacz cały

# Generated by stepconf 1.1 at Thu Feb  4 19:57:27 2021
# Jeśli zmodyfikujesz ten plik zmainy zostaną
# nadpisane gdy uruchomisz ponownie Stepconf

[EMC]
MACHINE = ploter
DEBUG = 0
VERSION = 1.1

[DISPLAY]
DISPLAY = axis
EDITOR = gedit
POSITION_OFFSET = RELATIVE
POSITION_FEEDBACK = ACTUAL
ARCDIVISION = 64
GRIDS = 10mm 20mm 50mm 100mm 1in 2in 5in 10in
MAX_FEED_OVERRIDE = 1.2
MIN_SPINDLE_OVERRIDE = 0.5
MAX_SPINDLE_OVERRIDE = 1.2
DEFAULT_LINEAR_VELOCITY = 2.50
MIN_LINEAR_VELOCITY = 0
MAX_LINEAR_VELOCITY = 25.00
DEFAULT_ANGULAR_VELOCITY = 36.00
MIN_ANGULAR_VELOCITY = 0
MAX_ANGULAR_VELOCITY = 360.00
INTRO_GRAPHIC = linuxcnc.gif
INTRO_TIME = 1
PROGRAM_PREFIX = /home/cnc/linuxcnc/nc_files
INCREMENTS = 5mm 1mm .5mm .1mm .05mm .01mm .005mm

[KINS]
JOINTS = 4
KINEMATICS = trivkins coordinates=XXYZ kinstype=b

[FILTER]
PROGRAM_EXTENSION = .png,.gif,.jpg Greyscale Depth Image
PROGRAM_EXTENSION = .py Python Script
PROGRAM_EXTENSION = .nc,.tap G-Code File
png = image-to-gcode
gif = image-to-gcode
jpg = image-to-gcode
py = python

[TASK]
TASK = milltask
CYCLE_TIME = 0.010

[RS274NGC]
PARAMETER_FILE = linuxcnc.var

[EMCMOT]
EMCMOT = motmod
COMM_TIMEOUT = 1.0
BASE_PERIOD = 100000
SERVO_PERIOD = 1000000

[HAL]
HALFILE = ploter.hal
HALFILE = custom.hal
POSTGUI_HALFILE = postgui_call_list.hal

[TRAJ]
COORDINATES =  X X Y Z
LINEAR_UNITS = mm
ANGULAR_UNITS = degree
DEFAULT_LINEAR_VELOCITY = 3.00
MAX_LINEAR_VELOCITY = 5.00

[EMCIO]
EMCIO = io
CYCLE_TIME = 0.100
TOOL_TABLE = tool.tbl

[AXIS_X]
MAX_VELOCITY = 25.0
MAX_ACCELERATION = 750.0
MIN_LIMIT = -0.001
MAX_LIMIT = 200.0

[JOINT_0]
TYPE = LINEAR
HOME = 5
MAX_VELOCITY = 100
MAX_ACCELERATION = 600
STEPGEN_MAXACCEL = 1000
SCALE = 159.82
FERROR = 1
MIN_FERROR = .25
MIN_LIMIT = -0.01
MAX_LIMIT = 2030.01
HOME_OFFSET = -0.500000
HOME_SEARCH_VEL = -3.000000
HOME_LATCH_VEL = 2.0000
HOME_IGNORE_LIMITS = YES
HOME_SEQUENCE = -1

[JOINT_1]
TYPE = LINEAR
HOME = 5
MAX_VELOCITY = 100
MAX_ACCELERATION = 600
STEPGEN_MAXACCEL = 1000
SCALE = 159.82
FERROR = 1
MIN_FERROR = .25
MIN_LIMIT = -0.01
MAX_LIMIT = 2030.01
HOME_OFFSET = -0.500000
HOME_SEARCH_VEL = -3.000000
HOME_LATCH_VEL = 2.0000
HOME_IGNORE_LIMITS = YES
HOME_SEQUENCE = -1

[AXIS_Y]
MAX_VELOCITY = 5.0
MAX_ACCELERATION = 750.0
MIN_LIMIT = -0.001
MAX_LIMIT = 200.0

[JOINT_2]
TYPE = LINEAR
HOME = 5
MAX_VELOCITY = 100
MAX_ACCELERATION = 600
STEPGEN_MAXACCEL = 1000
SCALE = 160.07
FERROR = 1
MIN_FERROR = .25
MIN_LIMIT = -0.01
MAX_LIMIT = 1110.01
HOME_OFFSET = -1.000000
HOME_SEARCH_VEL = -5.000000
HOME_LATCH_VEL = 5.00000
HOME_SEQUENCE = 1
HOME_IGNORE_LIMITS = YES


[AXIS_Z]
MAX_VELOCITY = 25.0
MAX_ACCELERATION = 750.0
MIN_LIMIT = -100.0
MAX_LIMIT = 0.001

[JOINT_3]
TYPE = LINEAR
HOME = -1
MAX_VELOCITY = 45
MAX_ACCELERATION = 500.0
STEPGEN_MAXACCEL = 1000
SCALE = 160
FERROR = 1
MIN_FERROR = .25
MIN_LIMIT =-250.1
MAX_LIMIT = 1.1
HOME_OFFSET = 1.000000
HOME_SEARCH_VEL = 20.000000
HOME_LATCH_VEL = -5.00000
HOME_SEQUENCE = 0
HOME_IGNORE_LIMITS = YES
Os x to ta z 2 silnikami czyli [JOINT_0] oraz [JOINT_1]
PS: Wartości prędkości oraz skali narazie z czapki wzięte.




wm56
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 1
Posty: 121
Rejestracja: 07 gru 2006, 23:04
Lokalizacja: Skawina

Re: LinuxCNC Bazowanie bramy - jedna oś dwa silniki dwie krańcówki HOME

#2

Post napisał: wm56 » 04 lut 2021, 21:58



Tu masz wszystko czego potrzebujesz

Awatar użytkownika

adam Fx
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 2
Posty: 5562
Rejestracja: 04 lip 2004, 16:03
Lokalizacja: Gliwice

Re: LinuxCNC Bazowanie bramy - jedna oś dwa silniki dwie krańcówki HOME

#3

Post napisał: adam Fx » 05 lut 2021, 00:03

Pierwsza różnica jaką widzę to w sekrecji bazowania ja mam -2 a Ty -1
w hal net xenable joint.0.amp-enable-out => stepgen.1.enable masz a chyba ma być x2-net xenable joint.1.amp-enable-out => stepgen.1.enable

Ogólnie chyba problemy z literówkami a w opisie filmu udostępnimy plik z porównaniem zmian - ułatwia przejście procesu

Dodane 3 minuty :
szatri pisze:tylko os Z się poprawnie bazuje (pokazuje ikonkę)
jak widać u talla83 na filmie znaczki bazowania pokazują się na chwile i potem znikają w tym trybie..
sorki za wszystkie błędy ... (dyslektyk) :?
Zobacz moje filmy http://www.youtube.com/user/pokachontass/videos


Autor tematu
szatri
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 3
Posty: 235
Rejestracja: 23 lut 2011, 15:12
Lokalizacja: PL

Re: LinuxCNC Bazowanie bramy - jedna oś dwa silniki dwie krańcówki HOME

#4

Post napisał: szatri » 05 lut 2021, 14:54

adam Fx pisze:sekrecji bazowania ja mam -2

Sugerowałem się tym co pokazujesz na filmie i tam w 7:40 widać wyraźnie -1, nawet skopiowales z tą wartością do osi slave.
adam Fx pisze:chyba ma być x2-net xenable joint.1.amp-enable-out => stepgen.1.enable

Ale czy to x2-net nie odnosi się do pinu którego nie mam?


Autor tematu
szatri
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 3
Posty: 235
Rejestracja: 23 lut 2011, 15:12
Lokalizacja: PL

Re: LinuxCNC Bazowanie bramy - jedna oś dwa silniki dwie krańcówki HOME

#5

Post napisał: szatri » 05 lut 2021, 20:02

tam w tej instrukcji co tłumaczłes chyba jest błąd w hal, tak pisza by pozamieniac:
net y2-yenable joint.1.amp-enable-out => stepgen.3.enable
A tak jest podane na koncu w juz edytowanym pliku:
net y2-yenable joint.3.amp-enable-out => stepgen.3.enable


Wiec poprawiłem na -2 w tych 2 osiach, dopisałem :
net x2-xenable joint.1.amp-enable-out => stepgen.1.enable

I udało się, dzieki

Awatar użytkownika

adam Fx
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 2
Posty: 5562
Rejestracja: 04 lip 2004, 16:03
Lokalizacja: Gliwice

Re: LinuxCNC Bazowanie bramy - jedna oś dwa silniki dwie krańcówki HOME

#6

Post napisał: adam Fx » 07 lut 2021, 23:27

Dzięki za wykrycie "byków" ;) super że działa
sorki za wszystkie błędy ... (dyslektyk) :?
Zobacz moje filmy http://www.youtube.com/user/pokachontass/videos

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „LinuxCNC (dawniej EMC2)”