NGCGUI - toczenie, mocno rozbudowana procedura

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

blasterpl
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 7
Posty: 1902
Rejestracja: 13 sty 2012, 18:49
Lokalizacja: jelenia gora

#371

Post napisał: blasterpl » 04 sie 2014, 20:16

"kamar"
Jeżeli falownik sterowany z programu i po pół roku toczenia nie wiesz jaka komenda steruje obrotami, to czarno widzę.
Dzieki za wiarę we mnie :razz: . Niestety podczas pracy F11 , F12 nie reaguje , czy to normalne :?:
MlKl pisze:Kobyła obroty zmienia z tabelki, tyle, że trzeba mieć układzik, który z PWM LinuxCNC zrobi napięcie 1-10 V .
Mam ja takowy uklad :twisted: ale kobyłkę tylko mini a tam nie widzę nic o obrotach :cry:



Tagi:


hecza
Specjalista poziom 2 (min. 300)
Specjalista poziom 2 (min. 300)
Posty w temacie: 19
Posty: 403
Rejestracja: 06 mar 2012, 13:25
Lokalizacja: Częstochowa

#372

Post napisał: hecza » 04 sie 2014, 21:13

MlKl pisze: jeszcze nie doszedłem, jak regulować obroty "w tył" czyli M4. M3 mi reguluje, i całkiem fajnie to wychodzi. Ale "do tyłu" chodzi tylko na minimum, ustawione dla falownika...
Wszystko zależy od tego co potrafi podać PWM2DC i co przyjmuje falownik (instrukcja).
W obu przypadkach – czy jest to 0 – 10 V , czy -10V do +10 V.
Zależnie od wyniku trzeba odpowiednio skonfigurować HAL-a.

Kolego blasterpl F11 / F12 bez problemu działa tylko w symulatorze - w realnej maszynie trzeba zajrzeć do HAL-a.

Pozdrawiam


blasterpl
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 7
Posty: 1902
Rejestracja: 13 sty 2012, 18:49
Lokalizacja: jelenia gora

#373

Post napisał: blasterpl » 04 sie 2014, 21:21

hecza pisze:
Kolego blasterpl F11 / F12 bez problemu działa tylko w symulatorze - w realnej maszynie trzeba zajrzeć do HAL-a.

Pozdrawiam
No cóż zajrzeć to ja mogę :wink: ale może koledzy podpowiedzą co mam tam zrobić ( pewnie trzeba coś dopisać )

Awatar użytkownika

Autor tematu
MlKl
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 143
Posty: 3705
Rejestracja: 15 sie 2010, 13:44
Lokalizacja: Błonie
Kontakt:

#374

Post napisał: MlKl » 04 sie 2014, 21:23

Pwm2dc podaje od zera do dziesięciu V, a HAL reaguje błędem na próbę podpięcia tego samego sygnału z PWM2DC do obu kierunków.

Awatar użytkownika

Autor tematu
MlKl
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 143
Posty: 3705
Rejestracja: 15 sie 2010, 13:44
Lokalizacja: Błonie
Kontakt:

#375

Post napisał: MlKl » 04 sie 2014, 21:23

Pwm2dc podaje od zera do dziesięciu V, a HAL reaguje błędem na próbę podpięcia tego samego sygnału z PWM2DC do obu kierunków.


hecza
Specjalista poziom 2 (min. 300)
Specjalista poziom 2 (min. 300)
Posty w temacie: 19
Posty: 403
Rejestracja: 06 mar 2012, 13:25
Lokalizacja: Częstochowa

#376

Post napisał: hecza » 04 sie 2014, 21:40

MlKl pisze:Pwm2dc podaje od zera do dziesięciu V, a HAL reaguje błędem na próbę podpięcia tego samego sygnału z PWM2DC do obu kierunków.
Jeżeli falownik przyjmuje też 0 – 10 V to ma 2 wejścia dla kierunków i trzeba z hal-a podać na nie spindle-forward i reverse.

Ja mam np. tak:
net spindle-fwd motion.spindle-forward => motenc.0.out-09
net spindle-rev motion.spindle-reverse => motenc.0.out-11
Sygnał analogowy jest jeden i nie ma się co tutaj buntować.

W tym przypadku mamy 1 sygnał analogowy + 2 sygnały cyfrowe (kierunki).

Pozdrawiam
Ostatnio zmieniony 05 sie 2014, 05:36 przez hecza, łącznie zmieniany 1 raz.


blasterpl
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 7
Posty: 1902
Rejestracja: 13 sty 2012, 18:49
Lokalizacja: jelenia gora

#377

Post napisał: blasterpl » 04 sie 2014, 22:44

Mój hal wygląda tak:

loadrt trivkins
loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[TRAJ]AXES
loadrt probe_parport
loadrt hal_parport cfg="0x378 out "
setp parport.0.reset-time 5000
loadrt stepgen step_type=0,0
loadrt encoder num_chan=1
loadrt abs count=1
loadrt scale count=1
loadrt lowpass count=1
loadrt near
loadrt pwmgen output_type=1

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

addf stepgen.capture-position servo-thread
addf encoder.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
addf abs.0 servo-thread
addf scale.0 servo-thread
addf lowpass.0 servo-thread
addf near.0 servo-thread

net spindle-cmd <= motion.spindle-speed-out => pwmgen.0.value
net spindle-on <= motion.spindle-on => pwmgen.0.enable
net spindle-pwm <= pwmgen.0.pwm
setp pwmgen.0.pwm-freq 100.0
setp pwmgen.0.scale 1800
setp pwmgen.0.offset 0.005
setp pwmgen.0.dither-pwm true
net spindle-at-speed => motion.spindle-at-speed
net spindle-cw <= motion.spindle-forward

setp encoder.0.position-scale 100.000000
net spindle-position encoder.0.position => motion.spindle-revs
net spindle-velocity encoder.0.velocity => motion.spindle-speed-in
net spindle-index-enable encoder.0.index-enable <=> motion.spindle-index-enable
net spindle-phase-a encoder.0.phase-A
net spindle-phase-b encoder.0.phase-B
net spindle-index encoder.0.phase-Z

net estop-out => 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 astep => parport.0.pin-08-out
setp parport.0.pin-08-out-reset 1
net adir => parport.0.pin-09-out
net spindle-cw => parport.0.pin-14-out
net spindle-pwm => parport.0.pin-16-out
net xenable => parport.0.pin-17-out


net spindle-phase-a <= parport.0.pin-10-in
net spindle-phase-b <= parport.0.pin-11-in
net spindle-index <= parport.0.pin-15-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_2]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_2]STEPGEN_MAXACCEL
net zpos-cmd axis.2.motor-pos-cmd => stepgen.1.position-cmd
net zpos-fb stepgen.1.position-fb => axis.2.motor-pos-fb
net zstep <= stepgen.1.step
net zdir <= stepgen.1.dir
net zenable axis.2.amp-enable-out => stepgen.1.enable

net estop-out <= iocontrol.0.user-enable-out
net estop-out => 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

Co zmienic :?:

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „LinuxCNC (dawniej EMC2)”