16 marzo 16, 19:48 | #1 (permalink) Top |
User | Problema con ATZ non rilevato in mach3
Salve a tutti, ho un problemino che non riesco a risolvere... premessa: la mia cnc autocostruita credo funzioni perfettamente, anchde se ho notato alcune cose... ho in uso mach3 R3.043.066 (l'ultima) originale, viene pilotata tramite una interfaccia USB/parallela acqusitata da un francese su ebay, (non ricordo il modello). aggiornamento: in questi giorni mi sono deciso ad implementare la cnc di un sistema di azzeramento dell'utensile, ho quindi acquistato un sensore ad induzione ed ho provveduto a collegarlo al pin 15 della Breack-out board, avvicinando quindi il sensore ad un corpo metallico si accende la relativa spia del digitize di mach3. Problema1: all'accensione mach3 segna xyz a zero, ma appena premo su star mette dei valori casuali, e se faccio ref all home la macchina parte alla ricerca dei finecorsa quando li tocca si ferma, correttamente ma i vari DRO non vengono azzerati automaticamente e devo farlo manualmente. e' normale? Problema2: ho quindi provveduto a copiare vari script trovati in rete per il rilevamento dell ATZ, la macchina parte e va in ricerca dello zero, ma pur vedendo la psia del digitize accendersi, mach3 non rileva l'avvenuto contatto e prosegue nella ricerca. pensando che il sensore fosse difettoso o provato a utilizzare un microswitch meccanico, ma ho ottenuto lo stesso effetto, spia accesa e mach3 che continua la ricerca. uno degli scritp che ho usato e' questo CurrentFeed = GetOemDRO(818) 'Memorizzazione feedrate corrente DoSpinStop() 'Fermo in ogni caso per sicurezza il motore M5 ZMove = 2.0 'Misura di Ricerca del probe ZOffset = 30 'Altezza del probe ZSal = ZOffset + 5 'Altezza di risalita dopo l'azzeramento utenise StopZmove = 0 'Blocco programma con Zmove oltrepassata If GetOemLed (825)=0 Then 'Controllo se il probe è OK o difettoso DoOEMButton (1010) 'Azzero asse Z Cosi che la sonda comincerà a muoversi da qui Code "G4 P2.5" 'Tempo di posizionamento del probe sotto la Z Code "G31 Z-"& ZMove & "F25" 'Comando discesa Z , Distanza Ricerca probe e feedrate While IsMoving() 'Attesa del segnale d'ingresso digitalize Wend Probepos = GetVar(2002) 'Rilevo il punto esatto di contatto al probe If Probepos = - ZMove Then 'Se distanza Zmove = Probepos Azzeramento non possibile responce = MsgBox ("**ERRORE** Utensile non Inserito o Probe non posizionato" , 4 , "Probe **ERRORE**" ) Code "G0 Z10" 'Alzo la Z di (x)mm in rapido StopZmove = 1 'Mando StopMove a 1 per bloccare la sub successiva Code "F" &CurrentFeed 'Ritorno al feedrate Originale End If If StopZmove = 0 Then 'Con Stepmove a 0 continuo ciclo Code "G0 Z" & Probepos 'ritorno al punto di touch, eliminando eventuli errori While IsMoving () Wend Call SetDro (2, ZOffset) 'Azzeramento Z con somma altezza probe Code "G4 P1" 'Attesa Aggiornamento Dro. Code "G0 Z" & ZSal 'Quota Z di ritorno (x)mm dopo dall'azzeramento Code "(Asse Z Azzerata)" 'Messaggio visualizzato con azzeramento a buon fine Code "F" &CurrentFeed 'Ritorno al feedrate Originale End If Else Code "(Segnale Probe a terra, Controlla connesioni e riprova)" 'Messaggio visualizzato con azzeramento fallito End If Exit Sub qualcuno ha qualche idea di come risolvere? grazie infinite
__________________ Ciaooo da Fiorello. https://www.facebook.com/fiorello.goletto ad essere bravi piloti si arriva per gradi,se salti le tappe... trovi le talpe... Ultima modifica di gattodistrada : 16 marzo 16 alle ore 19:52 |
18 marzo 16, 18:22 | #2 (permalink) Top |
User |
oggi dopo un bel po di prove sono riuscito a far muover ela Z in ricerca del digitize solo alla prima accensione.. diversamente quando premo ATZ la z scende veloce, fino alla massima escursione indicata nel programma e poi risale aggiungendo lo spessore del sensore... sembra che il problema grosso sia la difficolta nell'eseguire il codice G31 che chedo avvia la in ricerca del probe... nella fattispecie non eseguiva la linea contenente " Code "G31 Z-"& ZMove & "F25" " ma ho dovuto separare i comandi su piu righe qualche anima pia ? posto il listato adottato... CurrentFeed = GetOemDRO(818) 'Memorizzazione feedrate corrente DoSpinStop() 'Fermo in ogni caso per sicurezza il motore M5 ZMove = 2.0 'Misura di Ricerca del probe ZOffset = 30 'Altezza del probe ZSal = ZOffset + 5 'Altezza di risalita dopo l'azzeramento utenise StopZmove = 0 'Blocco programma con Zmove oltrepassata If GetOemLed (825)=0 Then 'Controllo se il probe è OK o difettoso DoOEMButton (1010) 'Azzero asse Z Cosi che la sonda comincerà a muoversi da qui Code "G4 P2.5" 'Tempo di posizionamento del probe sotto la Z rem Code "G31 Z-"& ZMove & "F25" 'Comando discesa Z , Distanza Ricerca probe e feedrate Code "G31" Code " Z -"& ZMove & "F25" rem Code "G31 Z-"& ZMove & "F25" While IsMoving() 'Attesa del segnale d'ingresso digitalize Wend Probepos = GetVar(2002) 'Rilevo il punto esatto di contatto al probe If Probepos = - ZMove Then 'Se distanza Zmove = Probepos Azzeramento non possibile responce = MsgBox ("**ERRORE** Utensile non Inserito o Probe non posizionato" , 4 , "Probe **ERRORE**" ) Code "G0 Z10" 'Alzo la Z di (x)mm in rapido StopZmove = 1 'Mando StopMove a 1 per bloccare la sub successiva Code "F" &CurrentFeed 'Ritorno al feedrate Originale End If If StopZmove = 0 Then 'Con Stepmove a 0 continuo ciclo Code "G0 Z" & Probepos 'ritorno al punto di touch, eliminando eventuli errori While IsMoving () Wend Call SetDro (2, ZOffset) 'Azzeramento Z con somma altezza probe Code "G4 P1" 'Attesa Aggiornamento Dro. Code "G0 Z" & ZSal 'Quota Z di ritorno (x)mm dopo dall'azzeramento Code "(Asse Z Azzerata)" 'Messaggio visualizzato con azzeramento a buon fine Code "F" &CurrentFeed 'Ritorno al feedrate Originale End If Else Code "(Segnale Probe a terra, Controlla connesioni e riprova)" 'Messaggio visualizzato con azzeramento fallito End If Exit Sub
__________________ Ciaooo da Fiorello. https://www.facebook.com/fiorello.goletto ad essere bravi piloti si arriva per gradi,se salti le tappe... trovi le talpe... |
19 marzo 16, 11:47 | #3 (permalink) Top |
User |
nessun suggerimento ?
__________________ Ciaooo da Fiorello. https://www.facebook.com/fiorello.goletto ad essere bravi piloti si arriva per gradi,se salti le tappe... trovi le talpe... |
22 marzo 16, 08:06 | #5 (permalink) Top |
User Data registr.: 06-10-2008 Residenza: Brianza
Messaggi: 815
|
Io lo uso con un blocchetto alto 20mm quindi la riga "SetOEMDRO(ZaxisDRO, 20)" è da modificare con il valore di altezza del proprio blocchetto/interuttore Sub Main() Dim ConfirmReady As String Dim DoXY As String Dim DoZ As String Dim XaxisDRO As Integer Dim YaxisDRO As Integer Dim ZaxisDRO As Integer Dim ToolDia As Double ' Define some constants for MachMsg dialog types MachMsgTypeOK = 0 MachMsgTypeOKCancel = 1 MachMsgTypeAbortRetryIgnore = 2 MachMsgTypeYesNoCancel = 3 MachMsgTypeYesNo = 4 MachMsgTypeRetryCancel = 5 MachMsgTypeCancelTryAgainContinue = 6 ' Define some constants for MachMsg return codes MachMsgReturnOK = 1 MachMsgReturnCancel = 2 MachMsgReturnAbort = 3 MachMsgReturnRetry = 4 MachMsgReturnIgnore = 5 MachMsgReturnYes = 6 MachMsgReturnNo = 7 MachMsgReturnTryAgain = 10 MachMsgReturnContinue = 11 ' notice the SetDRO() command use single digit value for xyzabc ' uncomment for the correct version 'XaxisDRO=0 'YaxisDRO=1 'ZaxisDRO=2 ' notice the SetOEMDRO() command uses three digit values for xyzabc ' uncomment for the correct version XaxisDRO=800 YaxisDRO=801 ZaxisDRO=802 'ConfirmReady = MachMsg("Confirm Touch plate leads are connected and ready.","",4) 'ConfirmReady = MachMsgReturnYes Then GoTo 1 Else GoTo 5 1: DoXY = MachMsg("Zero X and Y also?","",4) If DoXY = MachMsgReturnYes Then GoTo 2 Else GoTo 3 2: ToolDia = Question("What is the tool diameter?") Message( "Auto Zeroing X..." ) 'SetDRO(XaxisDRO, 0.0000) SetOEMDRO(XaxisDRO, 0.0000) Sleep 100 If IsSuchSignal (DIGITIZE) Then code "G31 X-10 F10" While IsMoving() Sleep 100 Wend 'SetDRO(XaxisDRO, ToolDia/2) SetOEMDRO(XaxisDRO, ToolDia/2) Sleep 100 'code "G1 X.5" code "G1 X" & ToolDia / 2 + 5 & " F500" While IsMoving() Sleep 100 Wend End If Message( "Auto Zeroing Y..." ) 'SetDRO(YaxisDRO, 0.0000) SetOEMDRO(YaxisDRO, 0.0000) Sleep 100 If IsSuchSignal (DIGITIZE) Then code "G31 Y-10 F10" While IsMoving() Sleep 100 Wend 'SetDRO(YaxisDRO, ToolDia/2) SetOEMDRO(YaxisDRO, ToolDia/2) Sleep 100 'code "G1 Y.5" code "G1 Y" & ToolDia / 2 + 5 & " F500" While IsMoving() Sleep 100 Wend End If code "G1 X20 Y20 F500" 3: DoZ = MachMsg("Position the touch plate to zero Z. y to continue or n to skip.","",4) If DoZ = MachMsgReturnYes Then GoTo 4 Else GoTo 6 4: Message( "Auto Zeroing Z..." ) 'SetDRO(ZaxisDRO, 0.0000) SetOEMDRO(ZaxisDRO, 0.0000) Sleep 100 If IsSuchSignal (DIGITIZE) Then code "G31 Z-30 F10" While IsMoving() Sleep 100 Wend 'SetDRO(ZaxisDRO, .180) 'SetOEMDRO(ZaxisDRO, .180) SetOEMDRO(ZaxisDRO, 20) Sleep 100 code "G1 Z25 F500" While IsMoving() Sleep 100 Wend End If GoTo 6 5: Message ("Tool zeroing aborted. Try again when ready.") GoTo 7 6: Message "Tool zeroing complete. Check the results on the DROs." 7: End Sub
__________________ CNC Ideas |
22 marzo 16, 10:08 | #6 (permalink) Top |
User |
grazie stasera o domani faro una prova, il principale problema e che sembra non digerire il G31 presente in tutti i listati... o non parte in ricerca o se parte non si ferma anche se il digitize si accende..
__________________ Ciaooo da Fiorello. https://www.facebook.com/fiorello.goletto ad essere bravi piloti si arriva per gradi,se salti le tappe... trovi le talpe... |
22 marzo 16, 10:37 | #7 (permalink) Top |
User Data registr.: 06-10-2008 Residenza: Brianza
Messaggi: 815
|
Molto strano, io ho configurato il contatto sul pin "probe" ed ha funzionato subito. Stessa versione di mach3 (ultima) e con licenza regolare come te. di differente c'è che uso una breakboard sulla parallela direttamente
__________________ CNC Ideas Ultima modifica di carcan : 22 marzo 16 alle ore 10:42 |
22 marzo 16, 10:43 | #8 (permalink) Top |
User |
appunto, appena riesco faro dell eprove con un altro pc via parallela, e non via usb, lo strano e che il digitize si accende, quindi mach lo vede di sicuro.. ma ancor più strano e che il G0 viene eseguito mentre il G31 no, o se viene eseguito poi non rileva il digitize..
__________________ Ciaooo da Fiorello. https://www.facebook.com/fiorello.goletto ad essere bravi piloti si arriva per gradi,se salti le tappe... trovi le talpe... |
Bookmarks |
| |
Discussioni simili | ||||
Discussione | Autore discussione | Forum | Commenti | Ultimo Commento |
Scalare con Mach3 | fooxx | Software | 7 | 13 ottobre 14 12:07 |
MACH3 -problema! | pasaury | CNC e Stampanti 3D | 74 | 20 maggio 14 22:02 |
problema con mach3 | mard80 | CNC e Stampanti 3D | 5 | 07 marzo 13 21:45 |
problema con mach3 | alberto.f | CNC e Stampanti 3D | 0 | 13 ottobre 08 15:47 |