THC dla plazmy na LINUXCNC- prędkość osi Z dla THC

Dyskusje na temat przecinarek plazmowych i gazowych sterowanych numerycznie.

Autor tematu
marekms
Znawca tematu (min. 80)
Znawca tematu (min. 80)
Posty w temacie: 1
Posty: 95
Rejestracja: 18 mar 2007, 16:44
Lokalizacja: Grójec
Kontakt:

THC dla plazmy na LINUXCNC- prędkość osi Z dla THC

#1

Post napisał: marekms » 21 lip 2014, 18:30

Jak ustawić prędkość z jaką reaguje oś Z na informację z THC. THC wystawia sygnał "za wysoko" lub "za nisko" i to działa dobrze ale oś Z reaguje ze zbyt dużą prędkością ( podejrzewam że G0) i palnik uderza w blachę lub podnosi się w górę aż do zerwania łuku.
I jeszcze nie wiem czemu axis nie widzi estop. tzn nie zatrzymuje programu, mimo że trzy linijki przepisałem z konfiguracji w której estop działa.(pewnie czegoś brakuje ale nie wiem czego)
Oto .hal

loadrt trivkins
loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD traj_period_nsec=[EMCMOT]SERVO_PERIOD key=[EMCMOT]SHMEM_KEY num_joints=[TRAJ]AXES
loadrt probe_parport
loadrt hal_parport cfg=0x378
setp parport.0.reset-time 2000
loadrt stepgen step_type=0,0,0

loadrt thcud
addf thcud servo-thread

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-on => parport.0.pin-01-out
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
net ydir => parport.0.pin-05-out
net zstep => parport.0.pin-06-out
setp parport.0.pin-06-out-reset 1
net zdir => parport.0.pin-07-out
net xenable => parport.0.pin-17-out

net TorchProbe motion.probe-input <= parport.0.pin-11-in
net TorchUp thcud.torch-up <= parport.0.pin-12-in-not
net TorchDown thcud.torch-down <= parport.0.pin-13-in-not
net ArcOK motion.digital-in-00 thcud.arc-ok <= parport.0.pin-15-in-not


net spindle-on motion.spindle-on => parport.0.pin-01-out
net spindle-on thcud.torch-on

net estop-ext <= parport.0.pin-10-in
net estop-out <= iocontrol.0.user-enable-out
net estop-out => iocontrol.0.emc-enable-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

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

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 thcud.z-pos-in <= axis.2.motor-pos-cmd
net thc-pos-cmd thcud.z-pos-out => stepgen.2.position-cmd
net thc-pos-fb axis.2.motor-pos-fb <= thcud.z-fb-out

net zstep <= stepgen.2.step
net zdir <= stepgen.2.dir
net zenable axis.2.amp-enable-out => stepgen.2.enable
net all-limit => axis.2.neg-lim-sw-in
net all-limit => axis.2.pos-lim-sw-in


net CurVel thcud.current-vel <= motion.current-vel

setp thcud.requested-vel 20
setp thcud.velocity-tol 5
setp thcud.correction-vel 0.005

Zmieniałem wartości w ostatnich trzech linijkach .hal ale bez widocznych rezultatów.

Pozdrawiam
Marek



Tagi:

Wróć do „Przecinarka Plazmowa CNC, Gazowa”