Stai visualizzando 8 post - dal 17 a 24 (di 90 totali)
  • Autore
    Post
  • #3229
    theremino
    Amministratore del forum

    Questo programmino di automation dovrebbe aiutarti, produce movimenti random in XYZ molto simili al tuo esempio.
    Se hai bisogno di modificarlo per aggiungere la posizione del comparatore chiamami e ti aiuterò.
    L’idea sarebbe di riuscire a ottenere l’errore anche senza Theremino CNC e quindi eliminare una grossa parte di possibilità dalle ricerche.

    
    v1 = 0 		' Random Minimum
    v2 = 10		' Random Excursion
    
    v5 = 1		' Counter start
    v6 = 50		' Counter end
    
    Label MainLoop
    	Gosub WaitAllMotOrs
    	Slot(1) = v1 + v2 * Rnd
    	Slot(3) = v1 + v2 * Rnd
    	Slot(5) = v1 + v2 * Rnd
    	v5 = v5 + 1
    	Print v5 & " of " & v6
    	If v5 >= v6
    		Goto End
    	EndIf
    Goto MainLoop
    
    Label End
    	Slot(1) = 0
    	Slot(3) = 0
    	Slot(5) = 0
    End
    
    Label WaitAllMotors
    	Wait Seconds 0.1 ' ---- ensure motors really started
    	Label WaitAllMotors2
    		If Abs(Slot(2)) + Abs(Slot(4)) + Abs(Slot(6)) < 0.01
    			Return
    		EndIf
    	Goto WaitAllMotors2
    ' End of WaitAllMotors
    
    #3231
    VincenzoS
    Partecipante

    1) Ho mandato i file ad un amico che li eseguirà su una macchina con gli stessi motori… attendo esito.
    2) Preparo file più piccolo con codici che sbagliano.
    3) i codici alla fine mi servivano per spedire la CNC al comparatore, lettura di alcuni secondi e poi via a posizione di partenza.
    4) Lo stesso file è stato scritto anche in automation con gli stessi movimenti e non ha prodotto errori. Non sbaglia.

    “…Dopo ogni test Theremino CNC segnava 0 in Z ma la macchina meccanicamente NO. Ma marcatura su asse Z e micrometro sempre in sintonia….”
    Marcatura su asse Z cosa è ???

    qui mi sono espresso male…
    Ho segnato un linea sul giunto motore per sincerarmi che non ci fossero slittamenti anomali della vite a ricircolo.
    Questa linea, prima di ogni test è stata posizionata in linea con riferimento marcato sulla struttura e indice 0 sul comparatore.

    Domani sera provo con automation e produco nuovo aggiornamento.

    Saluti.

    #3235
    theremino
    Amministratore del forum

    Con una sequenza di X Y Z scritta in automation l’errore non c’è stato?
    Era proprio XYZ come quella che ha sbagliato? Ho capito bene?
    A questo punto allora bisognerà concentrarsi sulle differenze tra le due fino a capire dove sta il problema.

    Fai sempre attenzione al valore che si trova sullo Slot 5 (asse Z) sulla applicazione HAL.
    Quel valore deve terminare sempre con zero (o con il valore da te stabilito come valore finale)
    Mi sembra che hai già confermato che è così, ma ci tengo a farti notare che quel valore è il riscontro più sicuro che abbiamo. Se lui è giusto allora il problema può essere solo dopo, quindi nel Master, nei segnali di pilotaggio dei driver, o nei driver, o nei motori

    Mi hai scritto che il programmino di Automation ti da un errore, in effetti è stato scritto con la versione 4 che ha molte istruzioni nuove. La pubblicheremo oggi o domani e magari tra qualche ora te ne mando una provvisoria per posta o aggiungo un link qui.

    #3237
    theremino
    Amministratore del forum

    Ecco i collegamenti alla versione 4.1 (provvisoria) di Automation:
    http://www.theremino.com/wp-content/uploads/files/Theremino_Automation_V4.1.zip
    http://www.theremino.com/wp-content/uploads/files/Theremino_Automation_V4.1_WithSources.zip

    E finalmente Automation dispone anche di un vero file di documentazione:
    http://www.theremino.com/wp-content/uploads/files/Theremino_Automation_Help_ITA.pdf

    La versione 4.1 è tutta un’altra cosa rispetto alle precedenti.
    Ci sono i Breakpoint, i Watch, il FullsScreen, i Select-Case e molte altre nuove istruzioni.

    #3259
    VincenzoS
    Partecipante

    Buongiorno, ho eseguito il programma random con Automation numerose volte con varie impostazioni dei parametri e diverse velocità da 1000 mm/min. a 4000.
    Nel video inviato a Theremino (non sono riuscito ad allegarlo qui – qualcosa andava storto) si può vedere il risultato ottenuto con tutte le variabili.
    E’ sempre stato preciso.
    Nella stessa sessione operativa ho eseguito anche qualche Gcode con Theremino CNC per verifica… ed ecco l’errore comparire già dopo 2000 righe di codice.
    Con un “go to zero” i parametri letti negli slot e nel master risultano ZERO.
    Una cosa in particolare notavo (speriamo sia utile) … Nella schermata di Theremino CNC i valori di XYZ non sempre corrispondono con quelli del master e degli slot. Mi è capitato di vedere che un lavoro che in genere termina con la Z in sicurezza di 10mm di avere un valore visualizzato nel CNC di 9.950, nel master e negli slot è 10.
    O anche che invece di stare a zero dice .050, master è a zero ed un “go to zero” non produce effetti meccanici ma azzera solo il display CNC.
    Appena posso posto qualche foto.
    Saluti
    Vincenzo

    #3262
    theremino
    Amministratore del forum

    Per ora lasciamo perdere eventuali piccoli errori di 0.050 che sono causati dalla tolleranza che si imposta sulla app. CNC.

    Se sull’HAL alla fine il valore di Z è zero, non importa chi ha inviato i valori (Automation o CNC), il motore zeta deve stare a zero.
    Per cui la perdita di passi deve essere dopo, nella zona Master – Drivers – Motori

    Se ci fosse un errore nel firmware del Master, questo errore si verificherebbe sia inviando dati da Automation che da CNC, per cui lo escluderei.
    Quindi bisogna cercare nella zona (diciamo elettromeccanica) tra le uscite del Master i Driver e i Motori.

    Importante anche notare che (grazie al disaccoppiamento totale dato dagli slot) l’unica differenza tra Automation e CNC può essere solo nei tempi con cui vengono inviati i valori.

    Questa settimana inizierò una revisione profonda della applicazione CNC e chissà che mi venga qualche altra idea.

    #3265
    VincenzoS
    Partecipante

    Grazie, intanto ricontrollo anche tutto dal principio.
    E’ strano comunque che accade tutto questo.
    Ieri un incisione a profondità variabile di dimensioni piccole (3 cm) con .6mm di profondità massima e poche righe di comandi ha scavato in totale per 1mm.
    Non fa errori se eseguo incisioni a profondità fissa dove i movimenti in Z sono solo quelli in rapido per spostarsi da una zona all’altra.

    Saluti.
    Vincenzo

    #3309
    VincenzoS
    Partecipante

    Buongiorno Livio, spero sia utile questo mio ultimo test
    “RAPIDO”
    T1M6
    G0Z5.000
    G0X0.000Y0.000
    G0X10Y10Z5.000
    G0Z0
    G0X0Y0Z-5
    G0X10Y10Z-3
    G0X0Y0Z0
    M30

    “LENTO”
    T1M6
    G1Z5.000
    G1X0.000Y0.000
    G1X10Y10Z5.000
    G1Z0
    G1X0Y0Z-5
    G1X10Y10Z-3
    G1X0Y0Z0
    M30

    Il file “rapido” viene eseguito senza errori con movimenti in rapido sino a 6000mm/min.
    il file “lento” con solo codici G1 va in errore anche su tutti gli assi in maniera casuale con errori a volte anche superiori a .1mm. Con feed anche di 100.
    Attivando la compensazione la situazione peggiora.
    Ulteriore test con G1 e feed a 6000 sembra non produrre errori.
    I test sono stati eseguiti con portatile con e senza alimentazione di rete.
    Saluti
    Vincenzo.

Stai visualizzando 8 post - dal 17 a 24 (di 90 totali)
  • Devi essere connesso per rispondere a questo topic.