Gwintowanie oraz posuw na obrót tylko z indeksem problemw ustawieniu.
-
Autor tematu - Nowy użytkownik, używaj wyszukiwarki
- Posty w temacie: 4
- Posty: 4
- Rejestracja: 29 kwie 2020, 19:28
Gwintowanie oraz posuw na obrót tylko z indeksem problemw ustawieniu.
Witam, piszę jako nowy na forum mimo ze juz kilka lat czytam.
Przerobiłem małą tokarkę na CNC i mam problem z gwintowaniem.
Próbowałem macha i nie trafia w zwój mimo wypróbowania kilku wersji.
Testowałem Turbocnc i jest lepiej ale nie satysfakcjonuje mnie rozmierzanie narzędzi
i interface.
Teraz wziąłem się za Linuksa i na indeksie, mimo że w oscyloskopie hala widać sygnał
nie rusza do gwintu oraz nie przyjmuje posuwu na obrót.
konfigurowałem ze stepconfiga. Na razie wpisy w Halu to trochę czarna magia, podejrzewam że
trzeba coś dopisać.
Jutro postaram się zamieścić pliki ini i hal.
maszyna oczywiście na LPT jitter ok. 15000-20000.
pozdrawiam Adam
Przerobiłem małą tokarkę na CNC i mam problem z gwintowaniem.
Próbowałem macha i nie trafia w zwój mimo wypróbowania kilku wersji.
Testowałem Turbocnc i jest lepiej ale nie satysfakcjonuje mnie rozmierzanie narzędzi
i interface.
Teraz wziąłem się za Linuksa i na indeksie, mimo że w oscyloskopie hala widać sygnał
nie rusza do gwintu oraz nie przyjmuje posuwu na obrót.
konfigurowałem ze stepconfiga. Na razie wpisy w Halu to trochę czarna magia, podejrzewam że
trzeba coś dopisać.
Jutro postaram się zamieścić pliki ini i hal.
maszyna oczywiście na LPT jitter ok. 15000-20000.
pozdrawiam Adam
-
- ELITA FORUM (min. 1000)
- Posty w temacie: 3
- Posty: 1473
- Rejestracja: 25 maja 2006, 14:39
- Lokalizacja: koło.wlkp
Re: Gwintowanie oraz posuw na obrót tylko z indeksem problemw ustawieniu.
1. W configu 3 piny oznaczone dla enkodera np 11,12 i 13 jako kolejno faza A B i Index - czyli pojedynczy otwór.
2. Negujesz - czyli klikasz "odwróć" przy jednej dowolnej fazie
3. Klikasz dalej, i w ostatniej karcie wpisujesz liczbę sygnałów czyli liczbę otworów w tarczy
2. Negujesz - czyli klikasz "odwróć" przy jednej dowolnej fazie
3. Klikasz dalej, i w ostatniej karcie wpisujesz liczbę sygnałów czyli liczbę otworów w tarczy
-
Autor tematu - Nowy użytkownik, używaj wyszukiwarki
- Posty w temacie: 4
- Posty: 4
- Rejestracja: 29 kwie 2020, 19:28
Re: Gwintowanie oraz posuw na obrót tylko z indeksem problemw ustawieniu.
Próbowałem i nie działa, nie mam dalszego okienka po zdefiniowaniu pinów.
Moja wersja Linuxa to2.7.14 . zamieszczam do sprawdzenia cały mój config
w folderze jest wszystko łącznie z programikiem testowym .
https://drive.google.com/file/d/1MJll-9 ... sp=sharing
Jak się nauczę w tych okienkach wpisywać tekst to udostępnię tylko który plik ?
Moja wersja Linuxa to2.7.14 . zamieszczam do sprawdzenia cały mój config
w folderze jest wszystko łącznie z programikiem testowym .
https://drive.google.com/file/d/1MJll-9 ... sp=sharing
Jak się nauczę w tych okienkach wpisywać tekst to udostępnię tylko który plik ?
-
- Lider FORUM (min. 2000)
- Posty w temacie: 2
- Posty: 9326
- Rejestracja: 26 lut 2011, 23:24
- Lokalizacja: mazowieckie
Re: Gwintowanie oraz posuw na obrót tylko z indeksem problemw ustawieniu.
Ten fragment twojej wypowiedzi mocno mnie zastanawia, bo co prawda nie jestem fanem Macha, ale w takie cuda to nie wierzę.
Może popełniasz jakiś zupełnie inny błąd, no nie wiem, pomyliłeś indeks z którąś fazą, albo jesteś przekonany że enkoder ma inne właściwości niż rzeczywiście.
Jeśli coś nie chce działać nigdzie, to musi być jakaś taka głupia przyczyna ...
Uruchom http://wiki.linuxcnc.org/cgi-bin/wiki.p ... ort_Tester i pokręcaj wrzeciono ręką.
"Lampki" Faz powinny migać "pierwsza, obie, druga, żadna ...", indeks powinien się zaświecać na chwilę, raz na obrót.
Oprócz braku indeksu przyczyną niedziałania posuwu synchronizowanego (G33 itp.) może też być odwrócona faza indeksu, wtedy zamiast net spindle-index <= parport.0.pin-15-in trzeba wpisać net spindle-index <= parport.0.pin-15-in-not
Poza tym, to nie bardzo rozumiem po co masz zanegowaną jedna fazę enkodera, to daje dokładnie tyle, że enkoder "liczy" w drugą stronę.
-
- ELITA FORUM (min. 1000)
- Posty w temacie: 3
- Posty: 1473
- Rejestracja: 25 maja 2006, 14:39
- Lokalizacja: koło.wlkp
Re: Gwintowanie oraz posuw na obrót tylko z indeksem problemw ustawieniu.
Miałem to samo u siebie na Linuxie. Gdzieś po roku pracy tokarka nagle "zaczęła robić gwinty po swojemu". Sprawa prosta ale chwilę się głowiłem co jest grane. Na oscyloskopie były jajca. Mam na płytce enkodera od Marka układy w podstawkach. Jeden po prostu nie łączył i krzaczyło. Wyjąłem przemyłem izopropanolem wszystkie układy i podstawki, włożyłem i działa do dzisiaj już kilka lat.
-
Autor tematu - Nowy użytkownik, używaj wyszukiwarki
- Posty w temacie: 4
- Posty: 4
- Rejestracja: 29 kwie 2020, 19:28
Re: Gwintowanie oraz posuw na obrót tylko z indeksem problemw ustawieniu.
Mam tylko indeks na wrzecionie, mach nie obsługuje enkodera.
Ktoś pisał że mu linux działał tylko z indeksem wrzeciona, w
HAL widać dobrze ten index. Sygnał na pewno jest dobry.
Zresztą w TURBOCNC gwint był dobry, na tym samym sprzęcie, tylko ten interfejs.
Podajcie jakiś działający config i hal żebym mógł porównać.
Ktoś pisał że mu linux działał tylko z indeksem wrzeciona, w
HAL widać dobrze ten index. Sygnał na pewno jest dobry.
Zresztą w TURBOCNC gwint był dobry, na tym samym sprzęcie, tylko ten interfejs.
Podajcie jakiś działający config i hal żebym mógł porównać.
-
- ELITA FORUM (min. 1000)
- Posty w temacie: 3
- Posty: 1473
- Rejestracja: 25 maja 2006, 14:39
- Lokalizacja: koło.wlkp
Re: Gwintowanie oraz posuw na obrót tylko z indeksem problemw ustawieniu.
Masz hal od mojej tokarki
Kod: Zaznacz cały
# Generated by stepconf 1.1 at Wed Feb 18 18:38:15 2015
# 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 out"
setp parport.0.reset-time 5000
loadrt stepgen step_type=0,0,0
loadrt encoder num_chan=1
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
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 1166.66666667
setp pwmgen.0.offset 0.114285714286
setp pwmgen.0.dither-pwm true
net spindle-at-speed => motion.spindle-at-speed
net spindle-cw <= motion.spindle-forward
net coolant-flood <= iocontrol.0.coolant-flood
setp encoder.0.position-scale 144.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 xstep => parport.0.pin-02-out
setp parport.0.pin-02-out-reset 1
setp parport.0.pin-03-out-invert 1
net xdir => parport.0.pin-03-out
net zstep => parport.0.pin-06-out
setp parport.0.pin-06-out-reset 1
net zdir => parport.0.pin-07-out
setp parport.0.pin-07-out-invert 1
net cstep => parport.0.pin-04-out
setp parport.0.pin-04-out-reset 1
setp parport.0.pin-05-out-invert 1
net cdir => parport.0.pin-05-out
net coolant-flood => parport.0.pin-08-out
net spindle-index <= parport.0.pin-11-in
net spindle-phase-a <= parport.0.pin-12-in-not
net spindle-phase-b <= 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 60000
setp stepgen.0.dirsetup 60000
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 60000
setp stepgen.1.dirsetup 60000
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
setp stepgen.2.position-scale [AXIS_5]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_5]STEPGEN_MAXACCEL
net cpos-cmd axis.5.motor-pos-cmd => stepgen.2.position-cmd
net cpos-fb stepgen.2.position-fb => axis.5.motor-pos-fb
net cstep <= stepgen.2.step
net cdir <= stepgen.2.dir
net cenable axis.5.amp-enable-out => stepgen.2.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
-
- Lider FORUM (min. 2000)
- Posty w temacie: 2
- Posty: 9326
- Rejestracja: 26 lut 2011, 23:24
- Lokalizacja: mazowieckie
Re: Gwintowanie oraz posuw na obrót tylko z indeksem problemw ustawieniu.
No i czego się spodziewałeś ?Adast pisze: ↑30 kwie 2020, 21:47Mam tylko indeks na wrzecionie, mach nie obsługuje enkodera.
Ktoś pisał że mu linux działał tylko z indeksem wrzeciona, w
HAL widać dobrze ten index. Sygnał na pewno jest dobry.
Zresztą w TURBOCNC gwint był dobry, na tym samym sprzęcie, tylko ten interfejs.
Podajcie jakiś działający config i hal żebym mógł porównać.
Że podasz parametry z sufitu i cudownie zadziała ?
W pliku TOKARKA.hal masz skonfigurowany normalny enkoder 100cpr i jeżeli taki enkoder założysz to wszystko zacznie działać.
Linuxcnc nie obsługuje gwintowania na samym indeksie, bo to daje trudne do przewidzenia rezultaty. Aczkolwiek gdy wrzeciono ma sporą masę a silnik sporą moc, to daje się nacinać drobne gwinty z małym przybraniem, ale gdy opory toczenia będą duże a wrzeciono będzie znacząco zwalniać pod obciążeniem, to będą wychodzić cuda.
Linuxcnc da się tylko oszukać, udając że istnieje enkoder wrzeciona o sygnałach A oraz Z i jednym impulsie na obrót.
Robi się to tak :
Kod: Zaznacz cały
net encoder-output parport.0.pin-15 => encoder.0.phase-Z encoder.0.phase-A
setp encoder.0.counter-mode 1
setp encoder.0.position-scale 1
Musisz też pousuwać lub zakomentować niektóre inne wpisy dotyczące pinów enkodera, bo Ci będzie wywalało błąd przy starcie.
Nie chce mi się tego sprawdzać u siebie, bo szkoda czasu na takie rzeczy. Zrobienie przyzwoitego enkodera kwadraturowego to niewielki wysiłek oraz nakład pracy i środków, a efekt jest nieporównywalny. Ekstra dostajesz jeszcze możliwość użycia G33.1
-
Autor tematu - Nowy użytkownik, używaj wyszukiwarki
- Posty w temacie: 4
- Posty: 4
- Rejestracja: 29 kwie 2020, 19:28
Re: Gwintowanie oraz posuw na obrót tylko z indeksem problemw ustawieniu.
Dziękuję za wyjaśnienie, spróbuję założyć enkoder mam na 100 impulsów tylko trochę z montażem problem, musiałem dać wydrukować dwa koła pasowe zębate.
Ciekawi mnie jeszcze posuw na obrót G95 bo też nie chce ruszyć. Jak będzie enkoder to może zadziała.
Ciekawi mnie jeszcze posuw na obrót G95 bo też nie chce ruszyć. Jak będzie enkoder to może zadziała.