Nyt on CNC-foorumin tukeminen helppoa!
Maksu onnistuu PayPalin kautta myös kortilla
Konemies kiittää

Mach3 ja Auto Tool Zero / Mach Blue Probing by Big-Tex

Aloittaja Tomy, 25.04.12 - klo:20:24

« edellinen - seuraava »

0 Jäsenet ja 1 Vieras katselee tätä aihetta.

Tomy

Haluaisin käyttööni Auto Tool Zero ominaisuuden Mach3:seen.

Nahkana on Mach Blue Probing by Big-Tex.

Ominaisuus toimii melkein. Auto Zero onnistuu, mutta sen jälkeen Z sukeltaa 50-80mm. Mistäköhän tämä voisi johtua?

Tässä video, josta näkyy kuinka kone käyttäytyy:

http://www.youtube.com/watch?v=I3RWuXvWN7U&feature=youtu.be


Olen tuloksetta yrittänyt muokata ominaisuutta ohjaavaa scriptiä mutta omat taitonieivät siihen riitä. Löytääkö kukaan koodia osaava, mistä tämä johtuu? Vai onko syy ongelmaan kenties jossain toisessa Mach3 asetuksessa?

Tässä koodi:

Rem   VBScript To probe In the z axis    

If GetOemLED(801) Then            'check if English Units
   If GetOemLED(16)<>0 Then 'Checks for machine coordinates
         code "(Please change to working coordinates)"
   Else

   
   If GetOemLed (825) <> 0 Then       'check to see if the probe is already grounded or faulty
      Code "(Z-Plate is grounded, check connection and try again)" 'this goes in the status bar if aplicable
   Else
      Code "G4 P1"         'pause 1 seconds to give time to position probe plate
      PlateOffset = GetUserDRO(1151)   'get plate offset DRO
      CurrentFeed = GetOemDRO(818)    'get the current feedrate to return to later
      Code "F10"         'slow down feedrate to 10 ipm

      Rem Probe In the z direction
         ZNew = GetDro(2) - 6         'probe move to current z - 6 inches
         Code "G31Z" &ZNew
         While IsMoving()      'wait for probe move to finish
         Wend
   
         ZNew = GetVar(2002)       'read the touch point
         Code "G0 Z" &ZNew +.1      'move back  +.1 to hit point incase there was overshoot +.1
         While IsMoving ()
         Wend
   
      Rem End add lines   
   
      Code "F2"         'slow down feedrate to 2 ipm
      ZNew = GetDro(2) - .25      'probe move to current z - .25 inches
      Code "G31Z" &ZNew
      While IsMoving()      'wait for probe move to finish
      Wend

      ZNew = GetVar(2002)       'read the touch point
      Code "G0 Z" &ZNew       'move back to hit point incase there was overshoot
      While IsMoving ()
      Wend

      If PlateOffset <> 0 Then
         Call SetDro (2, PlateOffset)   'set the Z axis DRO to  plate thickness
         Code "G4 P0.25"       'pause for Dro to update.
         'ZNew = PlateOffset + 3.6315   'calc retract
         'Code "G0 Z" &ZNew       'put the Z retract height you want here
         Code("G53G0Z-0.5")      'Z retract

         While IsMoving ()
         Wend
         Code "(Z axis is now zeroed in English Units)"    'puts this message in the status bar
      
      End If

      Code "F" &CurrentFeed       'returns to prior feed rate
   End If
   End If         
Else                                             'This portion of script is for Metric Native Units

   If GetOemLed (825) <> 0 Then       'check to see if the probe is already grounded or faulty
      Code "(Z-Plate is grounded, check connection and try again)" 'this goes in the status bar if aplicable
   Else
      Code "G4 P1"         'pause 1 seconds to give time to position probe plate
      PlateOffset = GetUserDRO(1151)   'get plate offset DRO
      CurrentFeed = GetOemDRO(818)    'get the current feedrate to return to later
      Code "F300"         'slow down feedrate to 300 mmpm

      Rem Probe In the z direction
         ZNew = GetDro(2) - 150      'probe move to current z - 150 mm
         Code "G31Z" &ZNew
         While IsMoving()      'wait for probe move to finish
         Wend
      
         ZNew = GetVar(2002)       'read the touch point
         Code "G0 Z" &ZNew + 3      'move back  + 3 mm to hit point incase there was overshoot + 3 mm
         While IsMoving ()
         Wend
   
      Rem End add lines   

      Code "F50"         'slow down feedrate to 50 mmpm
      ZNew = GetDro(2) - 6      'probe move to current z - 6 mm
      Code "G31Z" &ZNew
      While IsMoving()      'wait for probe move to finish
      Wend

      ZNew = GetVar(2002)       'read the touch point
      Code "G0 Z" &ZNew       'move back to hit point incase there was overshoot
      While IsMoving ()
      Wend

      If PlateOffset <> 0 Then
         Call SetDro (2, PlateOffset)   'set the Z axis DRO to  plate thickness
         Code "G4 P0.25"       'pause for Dro to update.
         'ZNew = PlateOffset + 50      'calc retract
         Code("G53G0Z-12")
         'Code "G0 Z" &ZNew - 2      'put the Z retract height you want here
         While IsMoving ()
         Wend
         Code "(Z axis is now zeroed in Metric units)"    'puts this message in the status bar
      
   End If

      Code "F" &CurrentFeed       'returns to prior feed rate
      Code "F200"
      Sleep 100
   End If   
End If     
     

Kiitos avusta!

Tomi

Tomy

Sainkin ongelman ratkaistua vaihtamalla koodin tähän lyhyempään, joka hakee korkeuden paljon suoraviivaisemmin.

PlateThickness = GetUserDRO(1151) 'Z-plate thickness DRO

If GetOemLed (825)=0 Then 'Check to see if the probe is already grounded or faulty
DoOEMButton (1010) 'zero the Z axis so the probe move will start from here
Code "G4 P5" ' this delay gives me time to get from computer to hold probe in place
Code "G31Z-40 F500" 'probing move, can set the feed rate here as well as how far to move
While IsMoving() 'wait while it happens
Wend
ZProbePos = GetVar(2002) 'get the axact point the probe was hit
Code "G0 Z" &ZProbePos 'go back to that point, always a very small amount of overrun
While IsMoving ()
Wend
Call SetDro (2, PlateThickness) 'set the Z axis DRO to whatever is set as plate thickness
Code "G4 P0.25" 'Pause for Dro to update.
Code "G0 Z25.4" 'put the Z retract height you want here
Code "(Z axis is now zeroed)" 'puts this message in the status bar
Else
Code "(Z-Plate is grounded, check connection and try again)" 'this goes in the status bar if aplicable
Exit Sub
End If

Ilmeisesti minulla on jotkut arvot väärin tuossa pidemmässä koodinpätkässä. Täytyy sitä joskus jouten ollessaan tutkia.

Ozz

Oon tässä nyt koko päivän yrittänyt saada tota auto tool zero toimimaan mutta ei onnistu ei....

Ongelma on se että kun se paikka on löydetty ja DRO:lle käskytetään 1.5mm (piirilevyn paksuus) DRO:lle tulee +1.5 mutta heti seuraavaksi kun tulee käsky siirtyä pikkasen ylöspäin (G0 Z3) niin DRO lukema muuttuu takaisin siihen mikä se oli aikaisemmin ja stepperi naukaisee aika epämiellyttävästi ?

Kokeilin montaakin erillaista valmista koodia tuohon (hivenen muokaten) mutta aina naukaisee nostossa ja DRO lukemat vaihtuu vääriksi.
Jos jätän kokonaan pois tuon pikku noston niin DRO:lle jää oikea lukema mutta olis kuitenkin hyvä saada sitä pikkuriikkisen nostettua että sais paremmin piirilevyn pois alta.

Kaikilla koodeilla ongelma on siinä noston yhteydessä.

Tässä yks muokattu versio koodista:

Message( "Auto Zeroing" )

If IsSuchSignal (22) Then
DoOEMButton (1007)

code "G31 Z-10 F10"
While IsMoving ()
Wend

Call SetoemDRO (802, 1.5) *** Tähän asti kaikki menee hienosti ja DRO:lla on lukema +1.5 ***

Code "G0 Z3"  *** Tässä DRO:n lukemat vaihtuvat takaisin siihen mitä ne olivat ennen tuota edellistä käskyä ja stepperi naukaisee ***

End If

saumik

kokeileppas tuota
joudut vaan lisäämään uuden dro:n ja led:n





Rem   VBScript To probe In the z axis 'NOTE: This script is for Inches as Native Units

If GetOemLed (825) <> 0 Then       'Check to see if the probe is already grounded or faulty
   Code "(Z-Plate is grounded, check connection and try again)" 'this goes in the status bar if aplicable
Else
   Code "G4 P1"         'Pause 1 seconds to give time to position probe plate
   PlateOffset = GetUserDRO(1151)   'Get plate offset DRO
   CurrentFeed = GetOemDRO(818)    'Get the current feedrate to return to later
   Code "F12"         'slow down feedrate to 12 ipm

Rem   Probe In the z direction
   ZNew = GetDro(2) - 6      'probe move to current z - 6 inches
   Code "G31Z" &ZNew
   While IsMoving()      'wait for probe move to finish
   Wend

   ZNew = GetVar(2002)       'read the touch point
   Code "G0 Z" &ZNew +.1      'move back  +.1 to hit point incase there was overshoot +.1
   While IsMoving ()
   Wend
   
Rem End add lines   

   Code "F4"         'slow down feedrate to 4 ipm
   ZNew = GetDro(2) - .25      'probe move to current z - .25 inches
   Code "G31Z" &ZNew
   While IsMoving()      'wait for probe move to finish
   Wend

   ZNew = GetVar(2002)       'read the touch point
   Code "G0 Z" &ZNew       'move back to hit point incase there was overshoot
   While IsMoving ()
   Wend

   If PlateOffset <> 0 Then
      Call SetDro (2, PlateOffset)   'set the Z axis DRO to  plate thickness
      Code "G4 P0.25"       'Pause for Dro to update.
      ZNew = PlateOffset + 1.6315   'calc retract
      Code "G0 Z" &ZNew       'put the Z retract height you want here
      While IsMoving ()
      Wend
      Code "(Z axis is now zeroed)"    'puts this message in the status bar
      
   End If

   Code "F" &CurrentFeed       'Returns to prior feed rate
End If         
kaikki minkä on joku tehny...voi purkaa ja tehdä paremmaksi

Ozz

Nythän se ongelma ratkesi... 2 pv tapellu ton kanssa ja huomasin että mulla on joku vanhempi mach3 versio. Uusimmalla ei mitään ongelmia...

jsr8501

Oisko valmista toimivaa scriptiä tuolle auto tool zerolle, kytkin nollaus palikan wrap9 ohjeiden mukaan usb smoothstepperiin. Diagnostics välilehdellä digitize valo syttyy kun terä koskee nollaus kappaleeseen.

JR


jsr8501

Löytyykö apuja, tuolla viimeisellä scriptillä kerran onnistuu nollaus, tämän jälkeen kun yrittää nollata niin z- muuttuu suoraa nollaksi ja tämän jälkeen nousee 25.4mm ylöspäin. Machin kun käyttää kiinni niin onnistuu taas nollata.

JR


jsr8501

Tämä ois vieläkin työn alla. Ei vaan oma kapasiteetti riitä toimintaan saattamiseen.

JR


JuKa

Moro,

Kopion tuon scriptin sinulle illalla omalta koneeltani. Muistaakseni se on muutettu milleinä toimimaan ja on siksi hieman selkeämpi. Laita viestiä jos ongelma on jo ratkennut...

Jussi

jsr8501

Eipä ole ratkennut, olis kyllä mukava saada pelaamaan niin olis vähän jouhevampia nuo terän vaihdot.

JR


JuKa

Terve,

Kokeiles tuota... Voi vaatia päätteen muuttamisen *.m1s nimiseksi...

JuKa


Rem   VBScript To probe In the z axis    
                                            'This portion of script is for Metric Native Units

   If GetOemLed (825) <> 0 Then       'check to see if the probe is already grounded or faulty
      Code "(Z-Plate is grounded, check connection and try again)" 'this goes in the status bar if aplicable
   Else
      Code "G4 P1"         'pause 1 seconds to give time to position probe plate
      PlateOffset = GetUserDRO(1151)   'get plate offset DRO
      CurrentFeed = GetOemDRO(818)    'get the current feedrate to return to later
      Code "F100"         'slow down feedrate to 300 mmpm

      Rem Probe In the z direction
         ZNew = GetDro(2) - 150      'probe move to current z - 150 mm
         Code "G31Z" &ZNew
         While IsMoving()      'wait for probe move to finish
         Wend
      
         ZNew = GetVar(2002)       'read the touch point
         Code "G0 Z" &ZNew + 3      'move back  + 3 mm to hit point incase there was overshoot + 3 mm
         While IsMoving ()
         Wend
   
      Rem End add lines   

      Code "F40"         'slow down feedrate to 50 mmpm
      ZNew = GetDro(2) - 6      'probe move to current z - 6 mm
      Code "G31Z" &ZNew
      While IsMoving()      'wait for probe move to finish
      Wend

      ZNew = GetVar(2002)       'read the touch point
      Code "G0 Z" &ZNew       'move back to hit point incase there was overshoot
      While IsMoving ()
      Wend

      If PlateOffset <> 0 Then
         Call SetDro (2, PlateOffset)   'set the Z axis DRO to  plate thickness
         Code "G4 P0.25"       'pause for Dro to update.
         'ZNew = PlateOffset + 50      'calc retract
         Code("G53G0Z-12")
         'Code "G0 Z" &ZNew       'put the Z retract height you want here
         While IsMoving ()
         Wend
         Code "(Z axis is now zeroed in Metric units)"    'puts this message in the status bar
      
   End If

      Code "F" &CurrentFeed       'returns to prior feed rate
      Code "F200"
      Sleep 100
   End If   
       

jsr8501

Kiitos, tätä koitan kunhan pääsen koneelle. Pitäiskö tämän toimia suoraan kun lisään ja tallennan scriptin? Tarviiko offsets välilehdelle mitään muutoksia?? 

JR


JuKa

Moro,

Kopsaat ton sinne hiddenscript:n tilalle ja ei pitäisi tarvis muuta muuttaa.. Kai sinulla on tuo screenset käytössä, joka tuolla ekalla videollakin näkyy ?

Edit button script > sitten klikkaat näytöltä sitä kohdasta jossa on Z- ja nuoli alaspäin (kosketuksen aloitus) ja sitten kopiot tekstin siihen. Tuohon scriptiin voi muuttaa sitten haluamansa mitat jälkeenpäin. Esim tuo 150mm kannattaa muuttaa vaikka 30mm...

Kai sinulla on siellä mm käytössä machin valikosta ?

jsr8501

No ei oo vaan se oletuksena oleva alkuperäinen😚

JR


Powered by EzPortal
SMF spam blocked by CleanTalk