spindle speed

nie wyświetla realnych obrotów wrzeciona.

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

Autor tematu
jasiekk7
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 3
Posty: 196
Rejestracja: 31 lip 2011, 15:03
Lokalizacja: Żywiec

spindle speed

#1

Post napisał: jasiekk7 » 17 paź 2024, 16:34

Czy ktoś wie dlaczego nie wyświetla się w ogóle "spindle speed" (realne obroty wrzeciona)?
Sygnały faza: A, faza B, index podłączone, w halshow podglądam encoder.0 i dobrze wskazuje obroty ale nie umiem tego sygnału przekazać do kontrolki "spindle speed".

Enkoder własnej roboty, 55 impuslów na obrót (tokarka, max obroty 2000rpm) - ale to nie ma znaczenia skoro obroty są.

Kod: Zaznacz cały

# Generated by stepconf 1.1 at Fri Jan 26 23:38:54 2024
# 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="0xdcf8 out 0x0378 in"
setp parport.0.reset-time 5000
loadrt stepgen step_type=0,0
loadrt encoder num_chan=1
loadrt pwmgen output_type=1

addf parport.0.read base-thread
addf parport.1.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 parport.1.write 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

net spindle-cmd-rpm => pwmgen.0.value
net spindle-on <= spindle.0.on => pwmgen.0.enable
net spindle-pwm <= pwmgen.0.pwm
setp pwmgen.0.pwm-freq 1000.0
setp pwmgen.0.scale 2000.0
setp pwmgen.0.offset 0.0
setp pwmgen.0.dither-pwm true
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

setp encoder.0.position-scale 55
setp encoder.0.counter-mode true
net spindle-position encoder.0.position => spindle.0.revs
net spindle-velocity-feedback-rps encoder.0.velocity => spindle.0.speed-in
# net spindle-velocity encoder.0.velocity => spindle.0.speed-in
net spindle-index-enable encoder.0.index-enable <=> spindle.0.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 zstep           => parport.0.pin-06-out
setp parport.0.pin-06-out-reset 1
net zdir            => parport.0.pin-07-out
net xstep           => parport.0.pin-08-out
setp parport.0.pin-08-out-reset 1
net xdir            => parport.0.pin-09-out
net xenable         => parport.0.pin-14-out
net spindle-pwm     => parport.0.pin-16-out


net estop-ext       <= parport.0.pin-10-in

net spindle-phase-a encoder.0.phase-A <= parport.1.pin-05-in-not
net spindle-phase-b encoder.0.phase-B <= parport.1.pin-07-in-not
net spindle-index encoder.0.phase-Z <= parport.1.pin-10-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

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 zpos-cmd joint.1.motor-pos-cmd => stepgen.1.position-cmd
net zpos-fb stepgen.1.position-fb => joint.1.motor-pos-fb
net zstep <= stepgen.1.step
net zdir <= stepgen.1.dir
net zenable joint.1.amp-enable-out => stepgen.1.enable

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

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




irischamplin
Nowy użytkownik, używaj wyszukiwarki
Nowy użytkownik, używaj wyszukiwarki
Posty w temacie: 1
Posty: 1
Rejestracja: 22 lis 2024, 08:38
Lokalizacja: https://slopegame3d.org/

Re: spindle speed

#2

Post napisał: irischamplin » 22 lis 2024, 08:45

Wygląda na to, że problem może leżeć w interpretacji sygnału enkodera lub rzeczywistej konfiguracji sterowania. Sprawdź, czy sygnały enkodera są dokładnie mapowane na sterowanie „prędkością wrzeciona” i czy parametry w oprogramowaniu sterującym wrzecionem są ustawione poprawnie. Aby mieć pewność, że system odczytuje RPM dokładnie, może być konieczne skonfigurowanie odpowiedniego skalowania lub resolverów. Daj mi znać, jeśli potrzebujesz innej pomocy!

Awatar użytkownika

tuxcnc
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 2
Posty: 9323
Rejestracja: 26 lut 2011, 23:24
Lokalizacja: mazowieckie

Re: spindle speed

#3

Post napisał: tuxcnc » 22 lis 2024, 10:45

jasiekk7 pisze:
17 paź 2024, 16:34
nie umiem tego sygnału przekazać do kontrolki "spindle speed".
I czego oczekujesz?
Że ktoś nauczy się za Ciebie?
jasiekk7 pisze:
17 paź 2024, 16:34

Kod: Zaznacz cały

setp encoder.0.position-scale 55
setp encoder.0.counter-mode true
encoder.N.counter-mode bit rw

Enables counter mode. When true, the counter counts each rising edge of the phase-A input, ignoring the value on phase-B. This is useful for counting the output of a single channel (non-quadrature) sensor. When false (the default), it counts in quadrature mode. encoder.N.capture-position.tmax s32 rw Maximum number of CPU cycles it took to execute this function.
Zbudowałeś enkoder kwadraturowy, i zamiast skorzystać z czterokrotnie większej rozdzielczości i rozpoznawania kierunku, podłączyłeś go jako zwykły licznik korzystający z jednego kanału....


Autor tematu
jasiekk7
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 3
Posty: 196
Rejestracja: 31 lip 2011, 15:03
Lokalizacja: Żywiec

Re: spindle speed

#4

Post napisał: jasiekk7 » 22 lis 2024, 11:12

Działało to wcześniej na axis bez żadnej dodatkowej konfiguracji (ręcznej edycji plików). Potem zmieniłem na mach a teraz chciałem na gmocappy.
Konstrukcja enkodera nie ma więc znaczenia a problemem jest przepisanie wirtualnych sygnałów hal bo to nie, że źle pokazywało ale nic nie pokazywało.

Zresztą wróciłem już do axis (nie z tego powodu)

I nie - nie oczekuję, że się ktoś nauczy za mnie ale może ktoś już wie i nie jest zmanierowanym capem i się tą wiedzą podzieli.

Awatar użytkownika

tuxcnc
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 2
Posty: 9323
Rejestracja: 26 lut 2011, 23:24
Lokalizacja: mazowieckie

Re: spindle speed

#5

Post napisał: tuxcnc » 22 lis 2024, 11:57

jasiekk7 pisze:
22 lis 2024, 11:12
nie jest zmanierowanym capem i się tą wiedzą podzieli.
Po pierwsze, podzieliłem się wiedzą - enkoder kwadraturowy konfiguruje się jako kwadraturowy, bo są z tego bezdyskusyjne korzyści.
Po drugie, nie mam ochoty wyręczać leni, nieuków, ignorantów, a w szczególności chamów o roszczeniowym podejściu do życia.
Mam święte prawo nie mieć ochoty i nikt nie ma prawa robić mi z tego zarzutu.
EOT.


Autor tematu
jasiekk7
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 3
Posty: 196
Rejestracja: 31 lip 2011, 15:03
Lokalizacja: Żywiec

Re: spindle speed

#6

Post napisał: jasiekk7 » 22 lis 2024, 12:27

Masz święte prawo, dlatego nie wiem po co się odzywasz (w tym i w każdym innym wątku). Może nie zauważyłeś, ale nic od ciebie nie chcę. Liczyłem na pomocnych użytkowników forum.

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „LinuxCNC (dawniej EMC2)”