Tablaya parçayı bağlama

Bu brain kısmı enterasan, biraz bakmıştım ama brain fırtınası yaratıyor :) pek hobi cnclerde bulaşan yok sanırım.
Var.Ben cnc'imi 6 axis db25 breakout board cnc shield ve drv8825 ile mach3 kullanarak çalıştırıyorum.
 
Şu şekilde yaptım. Fena çalışmıyor. Biraz zaman kaybı oluyor ama 0'lamadan daha iyi. Bu arada parçayı üstte 0'lamıyorum. Sadece ucu mengeneye göre 0'lıyorum.

PostProcessor dosyasından
G43[T}
kodunu kaldırdım. Bu sanırım benim işine yaramıyor. Boy telafisi vs eklmyiormuş. Ama ben tooltable kullanmadığımdan bunu kaldırdım. Doğru mudur?

Bir de takım çap telafisini g-code'u üretirken otomatik yapacaktır değil mi? (G41 ile)

Kod:
OldTool = GetOEMDRO (1224)  'Eski takım numarasini DRO'dan hafizaya kaydet
tool = GetSelectedTool() ' yeni takım numarasi
NewTool = tool
Call SetUserDRO (1224,NewTool) ' DRO daki takım numarasını yenisi ile degistir
SetCurrentTool( NewTool )  ' secilmis takimi yenisi olarak degistir

FeedCurrent = GetOemDRO(818)

'Takim Değiştirme Pozisyonu
toolChangePositionX = -300
toolChangePositionY = -300
toolChangePositionZ = 0

'Touch Probe Pozisyonu
touchProbePositionX = -300
touchProbePositionY = -300
touchProbePositionZ= -185
touchProbePositionZNear = -105

'Touch Probe Kalınlığı
touchProbeHeight = 20
'Geçici Parça Özellikleri
maxSolidHeight = 60

'İnce Touch Probe Kalinligi
thinTouchProbeHeight = 2



'Mengene Konumu ve Özellikleri
viseHeight = 25
viseOriginX = -10
viseOriginY = -10
viseOriginZNear = viseOriginZ + maxSolidHeight

Code "G53 G0 Z" & toolChangePositionZ
While IsMoving ()
Wend

Code "G53 G0 X"& toolChangePositionX & " Y" & toolChangePositionY 'Takin degistirme icin cnc'yi one tasi
While IsMoving ()
Wend


Message "(CNC takım degistirme konumuna taşıma tamamlandı. Yeni ucu takabilirsiniz)"
Response = MsgBox("Lutfen asagidaki takimi CNC'ye takiniz." & (Chr(13)) & (Chr(13)) & "TAKIM  NUMARASI ### "& GetSelectedTool() & (Chr(13)) & (Chr(13)) & "Eger ilk takim ise IPTAL butonuna basarak sifirlama islemini atlayiniz.",49,"Takim Degistirme Islemi")
If Response = 1 Then ' If OK
     Message "(Takım degistirildi. Takım sifirlama islemi için probe'a gidilecek)"
                  Code "G53 G0 X" & touchProbePositionX & "Y"  &touchProbePositionY  'probe konumu x ve y
                While IsMoving ()
                Wend

                Code "G53 G0 Z" & touchProbePositionZNear ' Probe konumuna hızlı yaklaş
                While IsMoving ()
                Wend

                If GetOemLed (825)=0 Then
                    DoOEMButton (1010)

                    Code "G31Z" & touchProbePositionZ & "F25"        'Probe konumuna yavaş yaklaş
                    While IsMoving()       
                    Wend
                    Code "G4 P1"  ' Bir saniye beklet

                    touchProbePointZ = GetVar(2002)     'probe konumu al(Normal Z DRO'sundan)
                    Code "G0 Z" &touchProbePointZ         'Probe konumuna git
                    While IsMoving ()
                    Wend

                    Code "G4 P1"  ' Bir saniye beklet

                    probePointZ = touchProbeHeight - viseHeight 
                    Call SetOEMDRO(802, probePointZ)
                    Code "G4 P1"  ' Bir saniye beklet
                    Code "G0 Z0 F50"
                    While IsMoving ()
                    Wend
                    Code "G4 P1"  ' Bir saniye beklet
                    Call SetOEMDRO(802, 0)
                    Code "F" &FeedCurrent 'restore starting feed rate

                    Code "M00"
                Else
                    Code "(Z Eksen sifirmama hatasi... Baglantilari kontrol ederek tekrar deneyiniz...)" 'Anlaþýlacaðý üzere hata durumunda mesajýnýz
                    Exit Sub
                End If           

   ElseIf Response = 2 Then ' If Cancel
    Message "(Takım degistirilmeden direk isleme baslanacak)"
    Exit Sub
End If
 
Arkadaşlar Aspire için mach3-mm atc post processoründe bazı değişiklikler yaptım. Bu manuel toolchange ve sıfırlama için. Toolchange'den sonra makinayı tekrar Zafe'Z'ye kaldırıp götürüyor vs. Ekte mevcut.
 

Ekli dosyalar

  • Mach2_3_ATC_Arcs_mm.pp.zip
    1.5 KB · Görüntüleme: 8
Arkadaşlar Aspire için mach3-mm atc post processoründe bazı değişiklikler yaptım. Bu manuel toolchange ve sıfırlama için. Toolchange'den sonra makinayı tekrar Zafe'Z'ye kaldırıp götürüyor vs. Ekte mevcut.
Safe Z ye kaldırıp nereyr götürüyor sıfırlamaya mı ? İştr kaldığı yere mi

Sent from my GT-N7100 using KontrolKalemi.Com Mobil mobile app
 
SafeZ'ye değil aslında. maxSolidHeight'e kaldırıyor. Çünkü benim kullnacağım malzemelerin en yükseği 6cm.

Fakat hala bir problemim var şimdi farkettim. Programa run diyorum. Çalışıyor ilk takımı takmak için makinayi taşıyor toolchange pozisyonuna. Daha ucun takıp OK'liyorum. Ucu sıfırlamak için probe'a gidiyor. Gidiyor ucu 0'lıyor. Sonra tekrar maxSolidHeight'e çıkıyp makinayı mengene 0'ına taşıyor. Daha sonra CycleStart'a basıyorum program devam ediyor. Burada sorun yok.

Sıra 2. takıma geliyor. M6 kodu ile bizim macro çalışıyor. Ucu takıyorum. Ok'liyorum. Sıfırlıyorum yine. Ve makine tekrar mengene 0'ına gidiyor. PressCycleStart'a basmamı istiyor. Basıyorum.

Fakat bu sefer feedrate 50 / 50'ye düşmüş oluyor. g-codelara baktım.
Makina bu işlemi yaparken M6'dan bir önceki satırda olan eski bitiş konumuna gitmeye çalışyor.(eski poket işleminin sonu). Fakat bunu yaparkenki gcodeda feedrate değerine yazmadığından bu hızda gitmeye çalışıyor. Aşırı yaşaş freedrate(50 / 59 ile)
 
f1500 yazabilirsin bir yere
 
Aynen öyle F500 yaptım son kodda.
O kadar direttim sabit freedrate kalmasın içinde diye ama ne yapalım olacak artık.

Bu arada G94 tek başına kullanılınca mm/dk ya mı geçiriyor feedrate'i. Yoksa yanında feedrate değeri yazmak zorunlu mu?

Kod:
OldTool = GetOEMDRO (1224)  'Eski takım numarasini DRO'dan hafizaya kaydet
tool = GetSelectedTool() ' yeni takım numarasi
NewTool = tool
Call SetUserDRO (1224,NewTool) ' DRO daki takım numarasını yenisi ile degistir
SetCurrentTool( NewTool )  ' secilmis takimi yenisi olarak degistir

FeedCurrent = GetOemDRO(818)

'Takim Değiştirme Pozisyonu
toolChangePositionX = -300
toolChangePositionY = -300
toolChangePositionZ = 0

'Touch Probe Pozisyonu
touchProbePositionX = -300
touchProbePositionY = -300
touchProbePositionZ= -185
touchProbePositionZNear = -105

'Touch Probe Kalınlığı
touchProbeHeight = 20
'Geçici Parça Özellikleri
maxSolidHeight = 60

'İnce Touch Probe Kalinligi
thinTouchProbeHeight = 2



'Mengene Konumu ve Özellikleri
viseHeight = 25
viseOriginX = -10
viseOriginY = -10
viseOriginZNear = viseOriginZ + maxSolidHeight

Code "G53 G0 Z" & toolChangePositionZ
While IsMoving ()
Wend

Code "G53 G0 X"& toolChangePositionX & " Y" & toolChangePositionY 'Takin degistirme icin cnc'yi one tasi
While IsMoving ()
Wend


Message "(CNC takım degistirme konumuna taşıma tamamlandı. Yeni ucu takabilirsiniz)"
Response = MsgBox("Lutfen asagidaki takimi CNC'ye takiniz." & (Chr(13)) & (Chr(13)) & "TAKIM  NUMARASI ### "& GetSelectedTool() & (Chr(13)) & (Chr(13)) & "Eger ilk takim ise IPTAL butonuna basarak sifirlama islemini atlayiniz.",49,"Takim Degistirme Islemi")
If Response = 1 Then ' If OK
     Message "(Takım degistirildi. Takım sifirlama islemi için probe'a gidilecek)"
                  Code "G53 G0 X" & touchProbePositionX & "Y"  &touchProbePositionY  'probe konumu x ve y
                While IsMoving ()
                Wend

                Code "G53 G0 Z" & touchProbePositionZNear ' Probe konumuna hızlı yaklaş
                While IsMoving ()
                Wend

                If GetOemLed (825)=0 Then
                    DoOEMButton (1010)

                    Code "G31Z" & touchProbePositionZ & "F25"        'Probe konumuna yavaş yaklaş
                    While IsMoving()       
                    Wend
                    Code "G4 P1"  ' Bir saniye beklet

                    touchProbePointZ = GetVar(2002)     'probe konumu al(Normal Z DRO'sundan)
                    Code "G0 Z" &touchProbePointZ         'Probe konumuna git
                    While IsMoving ()
                    Wend

                    Code "G4 P1"  ' Bir saniye beklet

                    probePointZ = touchProbeHeight - viseHeight 
                    Call SetOEMDRO(802, probePointZ)
                    Code "G4 P1"  ' Bir saniye beklet
                    Code "G0 Z0 F50"
                    While IsMoving ()
                    Wend
                    Code "G4 P1"  ' Bir saniye beklet
                    Call SetOEMDRO(802, 0)
                 
                     Code "G0 Z" & maxSolidHeight
                    While IsMoving ()
                    Wend

                    Code "G53 G0 X" & viseOriginX & "Y"  &viseOriginY
                    While IsMoving ()
                    Wend

                    Code "G00 F500"
                    Code "M00"

                Else
                    Code "(Z Eksen sifirmama hatasi... Baglantilari kontrol ederek tekrar deneyiniz...)" 'Anlaþýlacaðý üzere hata durumunda mesajýnýz
                    Exit Sub
                End If           

   ElseIf Response = 2 Then ' If Cancel
    Message "(Takım degistirilmeden direk isleme baslanacak)"
    Exit Sub
End If
 
Yine olmadı makina ucu değiştikten sonra son toolpath'in sonuna taşıyor. Yani M6'dan önceki satırın olduğu yere götürüyor. Çok gereksiz bir şekilde. Ben öyle bir komut vermediğim halde. Sanırım mach3 bunu hafızasına kaydediyor öyle gidiyor.
 

Forum istatistikleri

Konular
130,174
Mesajlar
933,999
Kullanıcılar
453,308
Son üye
genesiselektroteknik

Yeni konular

Geri
Üst