hotwire i kod xy

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

Autor tematu
ter_haar
Sympatyk forum poziom 1 (min. 40)
Sympatyk forum poziom 1 (min. 40)
Posty w temacie: 4
Posty: 42
Rejestracja: 09 mar 2009, 14:31
Lokalizacja: poznań

hotwire i kod xy

#1

Post napisał: ter_haar » 23 lis 2011, 10:33

Witam
Mam taki problem:
mam 4 osiową maszynę do cięcia styropianu (klasyczna modelarska maszyna do cięcia skrzydeł) - każda oś sterowana osobno. Czyli do pracy potrzebuje gcodu z 4 osiami (x,y,u,v) - taki gcod mam z programu do projektowania skrzydeł (profili) i wszystko działa ok.

Ale czasami przydałoby się wyciąć jakiś detal zaprojektowany np w qcadzie (detal oczywiście z obu stron xy/uv wygląda identycznie). Dla maszyny 2/3 osiowej nie ma problemu - dxf'a z qcada przepuszczam przez dxf2gcode i mam gcode dla emc. Udało mi się przerobić dxf2gcode tak, aby produkował kod 4 osiowy (wartości dla u i v sa takie same jak dla x i y) - ale problem jest z łukami, bo z tego co wiem g02/g03 działa tylko w jednej płaszczyźnie - nie ma chyba sposobu by zrobić jednocześnie łuk w xy i uv. Więc taki gcod na nic się nie zdaje.

Wpadłem więc na inny pomysł - przerobię hala tak aby komendy dla osi x szły od razu na dwa silniki, po lewej i po prawej stronie - co z maszyny 4 osiowej zrobi 2 osiową i nie ma problemu z 4 osiowym gcodem. Ale pojawia sie problem z bazowaniem. Nie mam pojęcia jak zbazować dwie niezależne osie, z własnymi krańcówkami aby emc uznał to za jedną oś.

Mam dwa pomysły:
1) w halu mam konfiguracje jak dla maszyny 4 osiowej. Bazowanie odbywa się normalnie. Następnie na podstawie parametru halui.joint.<n>.is-homed przełączam wyjścia stepperów, tak aby jeden kierował dwoma silnikami/osiami. Teoretycznie do zrobienia, ale hal zrobi sie strasznie skomplikowany

2) bazuje maszynę używając zwykłej konfiguracji, następnie przełączam się na konfiguracje 2 osiowa i pracuje bez bazowania - ale to wymaga pamiętania o bazowaniu i ogólnie mi się nie podoba.

Czy ktoś z kolegów ma jakiś lepszy pomysł jak rozwiązać mój problem?
Tzn albo jak skonfigurować maszynę xyuv aby działała na kodzie xy, albo jak z dxf'a uzyskać gcod 4 osiowy?



Tagi:


rc666
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 2
Posty: 1244
Rejestracja: 27 cze 2011, 14:48
Lokalizacja: Chrząszczyżewoszyce

#2

Post napisał: rc666 » 23 lis 2011, 13:54

Probowales zmienic plaszyzna na ktorej pracujesz
G17 xy plaszczyzna
G18 xz plaszczyzna
G19 yz plaszczyzna
Z tego co zrozumialem to obracasz czesc na 4-tej osi
Nie ma głupich pytań, są tylko głupcy którzy ich nie zadają...


Autor tematu
ter_haar
Sympatyk forum poziom 1 (min. 40)
Sympatyk forum poziom 1 (min. 40)
Posty w temacie: 4
Posty: 42
Rejestracja: 09 mar 2009, 14:31
Lokalizacja: poznań

#3

Post napisał: ter_haar » 23 lis 2011, 14:12

rc666 pisze:Probowales zmienic plaszyzna na ktorej pracujesz
G17 xy plaszczyzna
G18 xz plaszczyzna
G19 yz plaszczyzna
Z tego co zrozumialem to obracasz czesc na 4-tej osi
Chyba się nie zrozumieliśmy. Mój gcod wygląda np tak:

G0 X090.998 Y023.756 U090.998 V023.756

F200
G1 X073.528 Y045.610 U073.528 V045.610
G3 X054.000 Y055.000 I-19.528 J-15.610
G1 X054.000 Y050.000 U054.000 V050.000
G2 X054.000 Y010.000 I000.000 J-20.000
G1 X054.000 Y000.000 U054.000 V000.000
G1 X104.000 Y000.000 U104.000 V000.000
G1 X104.000 Y015.000 U104.000 V015.000
G3 X099.000 Y020.000 I-05.000 J000.000
G1 X098.809 Y020.000 U098.809 V020.000
G2 X090.998 Y023.756 I000.000 J010.000

jak widac dla komend g1 i g0 wartosci u i v sa takie same jak x i y. Dzięki temu lewa strona maszyny rysuje ten sam kontur co prawa. Problem jest z G2 i G3, bo trzeba by aby jednoczesnie działało w płaszczyźnie xy i uv - a tego wedle mojej wiedzy się nie da zrobic.

A rozbicie tego na dwie osobne komendy i zmiana plaszczyzn w trakcie nic nie da, bo zamiast wyciac walec ze styropianu powstana dwa stożki. Mam na myśli cos w stylu:

G17 xy plaszczyzna
G3 X099.000 Y020.000 I-05.000 J000.000
G?? uv plaszczyzna
G3 U099.000 V020.000 I-05.000 J000.000


rc666
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 2
Posty: 1244
Rejestracja: 27 cze 2011, 14:48
Lokalizacja: Chrząszczyżewoszyce

#4

Post napisał: rc666 » 23 lis 2011, 14:31

Przedewszystkim widze tutaj 5 osi w takim razie.
U i V sa to 2 osobne osie w tym przypadku.
Pokaz co chcesz konkretnie zrobic.
Po to aby zmienic plaszczyzne sa wlasnie komendy G17 G18 G19.
Jezeli chodzi o G0 to ja bym nie probowal ciecia w tej komendzie.
Nie ma głupich pytań, są tylko głupcy którzy ich nie zadają...

Awatar użytkownika

jarenio
Specjalista poziom 3 (min. 600)
Specjalista poziom 3 (min. 600)
Posty w temacie: 2
Posty: 672
Rejestracja: 06 paź 2008, 22:48
Lokalizacja: TJE/KR
Kontakt:

#5

Post napisał: jarenio » 24 lis 2011, 08:45

a sprawdzales co sie stanie jak dasz na przykład
G2 X090.998 Y023.756 I000.000 J010.000 G2 U090.998 V023.756 I000.000 J010.000
??
Pozdrawiam; Jarek


Autor tematu
ter_haar
Sympatyk forum poziom 1 (min. 40)
Sympatyk forum poziom 1 (min. 40)
Posty w temacie: 4
Posty: 42
Rejestracja: 09 mar 2009, 14:31
Lokalizacja: poznań

#6

Post napisał: ter_haar » 24 lis 2011, 11:49

jarenio pisze:a sprawdzales co sie stanie jak dasz na przykład
G2 X090.998 Y023.756 I000.000 J010.000 G2 U090.998 V023.756 I000.000 J010.000
??
dostaje komunikat: 'dwa kody g z tej same grupy modalnej' i maszyna ani drgie.

a jak zrobie
G2 X090.998 Y023.756 I000.000 J010.000
a potem
G2 U090.998 V023.756 I000.000 J010.000

to maszyna najpierw robi kawałek łuku a potem pętelkę, ale porusza się tylko lewa strona. Prawa (czyli płaszczyzna u/v) ani drgnie.

[ Dodano: 2011-11-24, 12:05 ]
rc666 pisze:Pokaz co chcesz konkretnie zrobic.
Na podstawie takiego pliku (to dxf stworzony w qcadzie):
Obrazek

chce wyciąć ze styropianu taką formatkę:
Obrazek

(przepraszam za jakość zdjęcia, robione komórką).

Jak na razie działam w sposób jaki opisałem w 1 poście - stworzyłem dodatkową konfigurację hala, gdzie jeden stepper ma wyjścia na dwa silniki krokowe (ale muszę pracować bez bazowania, co mi się niezbyt podoba) - a w pliku gcode mam tylko odwołanie do współrzędnych x,y

Awatar użytkownika

jarenio
Specjalista poziom 3 (min. 600)
Specjalista poziom 3 (min. 600)
Posty w temacie: 2
Posty: 672
Rejestracja: 06 paź 2008, 22:48
Lokalizacja: TJE/KR
Kontakt:

#7

Post napisał: jarenio » 24 lis 2011, 17:38

na szybko można by zamienic łuki na bardzo dużo prostych i wstawić G64 bez parametrów .
wtedy emc powinno zaokrąglić kąty pomiędzy liniami.
co do G2 to chyba najlepiej zapytać na forum emc2
Pozdrawiam; Jarek

Awatar użytkownika

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

Re: hotwire i kod xy

#8

Post napisał: tuxcnc » 24 lis 2011, 20:23

ter_haar pisze:2) bazuje maszynę używając zwykłej konfiguracji, następnie przełączam się na konfiguracje 2 osiowa i pracuje bez bazowania - ale to wymaga pamiętania o bazowaniu i ogólnie mi się nie podoba.
No to zmień upodobania, bo to najrozsądniejsze co można zrobić.

.


Autor tematu
ter_haar
Sympatyk forum poziom 1 (min. 40)
Sympatyk forum poziom 1 (min. 40)
Posty w temacie: 4
Posty: 42
Rejestracja: 09 mar 2009, 14:31
Lokalizacja: poznań

#9

Post napisał: ter_haar » 13 gru 2011, 09:15

Sam sobie dopowiem, może komuś kiedyś się przyda:

Okazuje się, że w emc2 jest moduł gantrykins - przeznaczony do suwnic, bramownic i innych podobnych maszyn, gdzie jedna oś napędzana jest kilkoma silnikami. I właśnie przy zastosowaniu takiej kinematyki maszyna działa dokładnie tak jak ja chciałem - bazowanie działa jak w maszynie 4 osiowej (każda oś ma swoją krańcówke), po zbazowaniu zmienia się tryb pracy (na tzw 'teleop mode') i jedna oś logiczna (x,y,z...) może sterować kilkoma silnikami naraz.

Mapować można oczywiście dowolnie.

Opis gentrykins: http://linuxcnc.org/docs/html/man/man9/ ... ins.9.html

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „LinuxCNC (dawniej EMC2)”