Gantry 300mm X 300mm X 110mm compact con ARDUINO e GRBL

Sezione dedicata alla tua CNC: Costruzione, descrizione, foto, accorgimenti ed errori di progettazione.
Rispondi
turbina

Re: Gantry 300mm X 300mm X 110mm compact con ARDUINO e GRBL

Messaggio da turbina » venerdì 11 dicembre 2015, 20:20

Ti consiglio solo di usare il comando Direzione per pilotare l'ingresso FOR del VFD verso la massa DCM tramite un transistor NPN e regolare i giri manualmente mediante il potenziometro del VFD, questo perchè spesse volte il DCM e il ACM dell'ingresso analogico non sono collegati assieme. Questa soluzione funziona sempre.

C'è anche la possibilità di pilotare l'ingresso VI tramite un operazionale rail-to-rail configurato come amplificatore non invertente con guadagno x2 o x2.5 e con filtro RC a un polo o 2 poli alimentato mediante VR+10V del VFD, in questo caso l'ingresso FOR è meglio che sia pilotato dal comando Direzione attraverso un fotoaccoppiatore

turbina

Re: Gantry 300mm X 300mm X 110mm compact con ARDUINO e GRBL

Messaggio da turbina » venerdì 11 dicembre 2015, 20:45

Lo Schema..
Non hai i permessi necessari per visualizzare i file e le foto allegati in questo messaggio. Per visualizzare tali file devi registrarti ed effettuare il Login

max1979
Junior
Junior
Messaggi: 88
Iscritto il: lunedì 24 agosto 2015, 12:59
Località: Rome

Re: Gantry 300mm X 300mm X 110mm compact con ARDUINO e GRBL

Messaggio da max1979 » venerdì 11 dicembre 2015, 21:16

Si pensavo esattamente a questa configurazione non invertente con un gain di 2.
Non sapevo ci fosse anche un +10V dall'inverter, altrimenti si può alimentare con i 12V che porterò come Vcc all'Arduino, aggiungendo solo un partitore in uscita all'opAmp per poter limitare a 10V - magari anche un condensatore che non guasta.

Ma in giro ci sono manuali dell'inverter cinese? anche solo per avere una idea dell'interfaccia a disposizione? Sto sempre partendo dal presupposto che l'inverter sia lo stesso perchè tutti quelli che vedo su ebay o aliexpress sono esteticamente identici ma magari hanno interfacce diverse, non so... purtroppo per ragioni di budget sempre uno spindle con gli occhi a mandorla mi toccherà prendere (credo un classico 1,5KW raffreddato ad aria con collet ER16 o 20). Arrivare a pilotarne anche la velocità con l'accoppiata Arduino/GRBL mi sembrerebbe veramente un successone :wink:

max1979
Junior
Junior
Messaggi: 88
Iscritto il: lunedì 24 agosto 2015, 12:59
Località: Rome

Re: Gantry 300mm X 300mm X 110mm compact con ARDUINO e GRBL

Messaggio da max1979 » sabato 12 dicembre 2015, 9:12

Penso di aver trovato un manuale http://www.cnczone.ru/forums/index.php? ... st&id=4180

Non mi è chiaro il modo che l'inverter ha di gestire la direzione di rotazione, invece di un ingresso logico FOR/REV ha due ingressi specifici. Come devono essere gestiti? Verso metà del manuale si fanno degli esempi ma giuro non ho capito la logica - sembra ci debba essere proprio una configurazione del firmware dell'inverter da fare (PD045=05 for switching of F/R). L'obiettivo sarebbe quello di utilizzare il pin DIR come se lo aspetta GRBL, ovvero come switch tra spindle FORWARD e REVERSE.

max1979
Junior
Junior
Messaggi: 88
Iscritto il: lunedì 24 agosto 2015, 12:59
Località: Rome

Re: Gantry 300mm X 300mm X 110mm compact con ARDUINO e GRBL

Messaggio da max1979 » domenica 24 gennaio 2016, 23:09

Dunque, ho implementato il circuitino all'interno della shield che sto facendo per il mio progetto e funziona tutto alla grande.
Piccole modifiche per utilizzare cose che avevo: EL817 invece di PC817 e MCP6H82e invece di TLC2262 - serie e paralleli per arrivare ai 20k ed ai 700Ohm.

Ancora non ho l'inverter quindi ho potuto fare solo prove da banco con un GRBL ultima versione non modificato, quindi con RPM max dello spindle impostato a 1000.
Comando "M3S500" -> uscita pin Arduino = 2.5V -> uscita VI = 5V
Comando "M3S1000" -> uscita pin Arduino = 5V -> uscita VI = 9V (stavo alimnetando con una batteria da 9V quindi tutto ok)

Unica cosa che non mi e' chiara e' il pin DIR: per mandarlo alto devo utilizzare il comando M4 cioe' direzione dello spindle antioraria. Considerando il cablaggio ipotizzato con l'inverter questa logica non mi torna. Se per avviare il motore in senso orario (M3) debbo cortocircuitare i contatti FOR e DCM, mi sarei aspettato un valore alto di DIR in caso di comando M3 e non M4.

turbina

Re: Gantry 300mm X 300mm X 110mm compact con ARDUINO e GRBL

Messaggio da turbina » domenica 24 gennaio 2016, 23:24

Intendi dire che la tua logica è inversa? Nessun problema , modifichi collegando l'anodo di OC1(con resistenza R4) a +5VDC e il katodo di OC1 divanta il tuo DIR

max1979
Junior
Junior
Messaggi: 88
Iscritto il: lunedì 24 agosto 2015, 12:59
Località: Rome

Re: Gantry 300mm X 300mm X 110mm compact con ARDUINO e GRBL

Messaggio da max1979 » lunedì 25 gennaio 2016, 10:10

Si, e' una via comoda per gestire la cosa.
Pero' non so se sia fattibile perche' in questo modo avrei un segnale sempre alto che andrebbe basso solo in caso di comando M4. In altre parole FOR e DCM sarebbero cortocircuitati sempre, anche prima del comando M3. Questo e' un problema per l'inverter? Dai manuali sembra che il collegamento FOR (o REV) con DCM sia il modo di avviare lo spindle, quindi non so se lasciando di base FOR e DCM collegati lo spindle si mette a girare da subito... purtroppo senza inverter non posso provare.

Quello che proprio non capisco e' perche' si presenta questa situazione quando da manuale GRBL, il pin 13 (SPINDLE DIR) dovrebbe andare alto al comando M3. Ad ogni modo ho visto che GRBL ha anche una opzione per utilizzare DIR come semplice "spindle enable" che forse e' quello che serve a me, mantenendo la possibilita' del PWM per gestire il numero di giri.

turbina

Re: Gantry 300mm X 300mm X 110mm compact con ARDUINO e GRBL

Messaggio da turbina » lunedì 25 gennaio 2016, 10:13

Sì è proprio come dici

max1979
Junior
Junior
Messaggi: 88
Iscritto il: lunedì 24 agosto 2015, 12:59
Località: Rome

Re: Gantry 300mm X 300mm X 110mm compact con ARDUINO e GRBL

Messaggio da max1979 » lunedì 25 gennaio 2016, 23:00

Solo per tornare con il risultato della prova. :D

Togliendo il commento alla riga
#define USE_SPINDLE_DIR_AS_ENABLE_PIN
come atteso il PIN13 si trasforma in un semplice "attivatore" dello spindle e di fatto puo' essere utilizzato per chiudere il contatto FOR-DCM dato che va alto con il comando "M3" e basso con il comando "M5" (inizialmente parte come livello logico basso). Il comando "M4" a questo punto non viene semplicemente considerato. Quando arriverà l'inverter ed il motore l'unica prova importante rimasta sarà quella di capire se al momento del reset di Arduino si dovesse innescare qualche falsa partenza dello spindle dato che il PIN13 è anche quello collegato al LED che Arduino accende per segnalare il riavvio... vedremo.

Credo che la mia confusione nascesse dall'errata convinzione di poter utilizzare il PIN13 come direzione per l'inverter dello spindle, ma di fatto così non può essere: chi ha scritto GRBL voleva solo associare un livello logico per dare una direzione al motore (0=orario, 1=antiorario) ma non per attivarlo. Un solo pin non basta con un inverter che deve gestire FOR e REV ed usa questi contatti anche per avviare il mandrino. #-o

Per ora nulla non vedo grossi inconvenienti, immagino che M4 alla fine venga utilizzato più che altro per filettare o per altre operazioni specifiche, qui potete aiutare voi che siete esperti - a me va bene così perché le filettature le farei comunque a mano.

Perfetto funzionamento anche della define SPINDLE_MAX_RPM che ho portato da 1.000 (default) a 24.000 e tutto va in proporzione come atteso.

turbina

Re: Gantry 300mm X 300mm X 110mm compact con ARDUINO e GRBL

Messaggio da turbina » martedì 26 gennaio 2016, 1:42

essendo open-source GRBL può essere modificato a piacimento per far andare qualsiasi mandrino

max1979
Junior
Junior
Messaggi: 88
Iscritto il: lunedì 24 agosto 2015, 12:59
Località: Rome

Re: Gantry 300mm X 300mm X 110mm compact con ARDUINO e GRBL

Messaggio da max1979 » lunedì 1 febbraio 2016, 11:38

Allora, VFD e spindle arrivati.
Tutto funziona a meraviglia :D - poi magari apro un thread per condividere schema della shield e settaggi del VFD se qualcuno è interessato.
Unica nota dolente l'alimentazione +10V dall'inverter cinese che pare essere instabile o comunque particolarmente rumorosa. Praticamente non riesco a mantenere fisso il numero di giri che tende sempre a salire. Per ovviare, ho semplicemente utilizzato la solita batteria 9V collegando solo VI e ACM all'inverter e tutto va preciso e stabilissimo.
Forse il rumore dell'inverter incide pesantemente sui cavi non schermati che ho utilizzato, ma in ogni caso non mi pare un grande problema, basta utilizzare l'alimentazione +12V che ho a bordo della shield per l'Arduino.

E si... purtroppo l'utilizzo che il bootloader di Arduino fa del pin13 (il led) in fase di avvio incide come atteso sull'attivazione dello spindle :( Però nulla che possa mettere in pericolo l'utilizzatore. Quando si resetta l'Arduino, lo spindle fa esattamente 1/4 di giro ad una velocità insignificante, ovvero quel piccolo impulso non permette al motore di mettersi a girare - fa come un lento scattino... però lo fa :(

turbina

Re: Gantry 300mm X 300mm X 110mm compact con ARDUINO e GRBL

Messaggio da turbina » martedì 27 dicembre 2016, 16:37

Metto un link con le nuove interfacce per GRBL che si sono aggiunte recentemente

https://github.com/gnea/grbl/wiki/Using-Grbl
Non hai i permessi necessari per visualizzare i file e le foto allegati in questo messaggio. Per visualizzare tali file devi registrarti ed effettuare il Login

Rispondi

Torna a “La mia CNC”