CNC3Test

Autore: Bruno Dalle Carbonare

 

Introduzione:

Il programma gratuito CNC3Test, che trasforma un pc in un controller CNC, l’ho scritto con Visual Basic 5, nel 2002 e riscritto con Visual Studio 2015, nel 2016.  L’ho scritto per un uso personale, hobbistico e lo fornisco gratuitamente a chiunque senza nessun tipo di garanzia

In tutte le form ho utilizzato il separatore punto “.” per separare la parte intera di un numero da quella decimale, non virgola (,).

Non avendo nessuna esperienza di controllo numerico mi sono ispirato al lavoro, in Basic Dos, di Kevin Carroll “Stepster, Version .979” (vedi: www.thegallos.com/stepster.htm). CNC3Test legge files G-Code e comanda una macchina a controllo numerico a tre assi attraverso un’apposita Interfaccia PC – FRESA. 

Il pc e il controllo fresa con CNC3Test

Il PC colloquia con l’Interfaccia PC – FRESA attraverso la porta parallela. A valle dell’Interfaccia PC-FRESA c’è la fresa a controllo numerico a tre assi. Ogni asse ha un motore passo-passo che lo muove. Ogni motore è collegato all’Interfaccia PC – FRESA con un cavo che lo alimenta.

Installazione:

CNC3Test Funziona in Windows 10. Dovrebbe funzionare anche in Windows Vista, 7, 8. Ritengo funzioni anche in Windows Xp purché sia installato Microsoft .NET Framework 4.

Consiglio di installare CNC3Test in un PC fisso (io l’ho acquistato usato, in una fiera di elettronica, a 75€). 

Il programma lo potete scaricare, compresso, dalla pagina Download del sito. Dovete scaricare CNC3Test.7-zip. Create poi, nel PC, una cartella di nome CNC. Nella cartella, CNC, metteteci il contenuto scompattato CNC3Test.zip. Leggi Download

Installazione InpOut32(x64):

Per funzionare CNC3Test richiede l’installazione di InpOutBinaries_1501 scaricabile dal sito http://www.highrez.co.uk/. Nel sito, clic su Downloads InpOut32(x64) e poi clic su Binaries only – x86 & X64 DLLs and libs. Si scarica il file compresso: InpOutBinaries_1501.zip. In una cartella qualsiasi del vostro pc scompattate il file. Entrate nella cartella Win32. Fate doppio clic su InstallDriver.exe.

Qualora il vostro Windows sia a 64 bit (come il mio), uscite dalla cartella Win32 ed entrate nella cartella x64. Copiate il file inpoutx64.dll, presente nella cartella x64, nella cartella, CNC del pc, che contiene il programma CNC3Test.

Ora è possibile avviare CNC3Test con un doppio clic su CNC3Test.exe. E’ consigliabile creare un collegamento sul desktop a CNC3Test per avviarlo più semplicemente.

Configurazione:

Affinché alla porta parallela del PC giungano i segnali opportuni, nei pin voluti e nei tempi voluti è necessario configurare CNC3Test.

Avviato CNC3Test viene mostrata la form di avvio LICENZA CNC3Test. Letta la Licenza se non accettata clic su X, se accettata selezionare “Ho letto la Licenza” e clic su Accetto la Licenza. 

avvio software CNC3Test

Si apre la form principale CNC3Test.

La prima volta che si utilizza il programma, è necessario configurarlo perché funzioni correttamente con l’Interfaccia e la fresa. Clic su Opzioni e clic su Configurazione. Si apre la form seguente:

configurazione software CNC3Test

I dati presenti nell’immagine si riferiscono alla Configurazione della mia fresa e della mia interfaccia auto costruita nel 2002. Vediamo a cosa si riferiscono i valori principali:

“Indirizzo Porta LPT” = 378 è l’indirizzo della porta parallela LPT1 (normalmente è: LPT1 = 378, LPT2 = 278,  LPT3 = 3BC). Per trovare quello nel vostro PC: Pannello di controllo – Sistema – Gestione dispositivi – Porte (COM e LPT) – Porta stampante (LPTx) – clic destro – Proprietà – Risorse – il primo valore Impostazione è l’indirizzo della porta parallela.

“Pin della porta parallela” in cui ci deve essere il segnale “Clock” e il segnale “Direzione” di ciascun asse. Nel mio caso il pin di tali segnali, relativamente all’Asse X, sono Clock=3 e Direzione=2. Nella prova pratica ho constatato che il motore muoveva la fresa in direzione contraria a quella dell’asse X. Ho allora attivato “Inverti Direzione”.

I motori passo-passo funzionano a scatti e possono assumere solo posizioni ben precise. “Distanza per passo motore” è la distanza, in mm, percorsa lungo un asse quando il motore si muove da una posizione alla posizione successiva. I motori che ho utilizzato possono assumere 200 posizioni diverse (step per giro). Quindi se il motore ruota di 1 step, ruota di 360°/200=1,8°.

Esempi di configurazione:

Esempio 1: Se il motore trasmette il suo moto ad una vite senza fine che ha passo 1,2 mm significa che ad ogni giro avanza di 1,2 mm e quindi ad ogni step avanza di 1,2 / 200 = 0,006 mm che rappresenta la “Distanza per passo motore”. Se il motore trasmette il moto alla vite senza fine di passo 1,2 mm attraverso una riduzione di giri da 3 a 1, allora ad ogni step si ha una “Distanza per passo motore” = 0,006 / 3 = 0,002 mm.

Esempio 2: Nel mio caso sul motore c’è una puleggia con 10 denti che trasmette il moto ad una puleggia di riduzione con 35 denti. A quest’ultima è collegata una puleggia di trascinamento di 14 denti con diametro 22.64 mm. Sui suoi denti poggia una cinghia dentata fissata sull’asse. La circonferenza della puleggia di trascinamento è:  π x 22.64 = 71,12…. mm. Un giro del motore provoca un avanzamento di π x 22.64 x 10 /35 = 20,32…. mm. Il motore è un 200 step per giro, quindi, ciascun step equivale ad un avanzamento di π x 22.64 x 10 /35 / 200 = 0,10160808239610416988399178028207 mm che ho arrotondato a 0,101608 mm.

“N. clock timer per semi-step fresa” consente di ritardare un impulso di comando rispetto al precedente. Nella mia fresa ho dovuto impostarlo a 3300 µsecondi. Valori inferiori consentivano velocità di avanzamento superiori ma causavano, ogni tanto, una perdita di passo di un motore, con la conseguenza di rovinare il lavoro. Il “N. clock ….” a cui corrisponde il ritardo in µsecondi, va determinato sperimentalmente. Le modifiche hardware e gli aggiornamenti software al computer possono modificare il “Ritardo in µsecondi”. Il “Ritardo in µsecondi” ottimale deve essere ripristinato modificando manualmente “N. clock timer per semi-step fresa”. Prima di utilizzare CNC3Test è sempre bene verificare che “Ritardo in µsecondi” sia quello voluto per evitare pezzi errati.

Gli altri valori li potete impostare simili ai miei, magari dopo aver letto la documentazione di Kevin Carroll

Utilizzo:

Avviato il programma CNC3Test e accettata la Licenza, dobbiamo caricare un file G-Code con estensione NC, per farlo: File, Apri File G-Code. 

Le righe del file sono mostrate in una lista e i movimenti della fresa, nell’asse x e y, in un’immagine. Le linee blu sono di trasporto, quelle rosse di taglio.

Al centro ci sono tre bottoni di comandi. Avvicinando il mouse, dopo un paio di secondi, è mostrata un’etichetta che descrive lo scopo del comando. Il comando con l’icona di un auto riporta: “Mostra il menu dei comandi dei movimenti automatici”, analogamente il comando con l’icona del pedone, attiva il menu dei comandi dei movimenti Manuali. I comandi Manuali, in qualche occasione, abbisognano di un doppio clic per essere recepiti. Dopo che il programma ha recepito il clic, anziché continuare a ripetere clic sul comando, si può tener premuto il tasto Enter.

software controller CNC3Test con base mangiatoia

Utilizzo: particolarità

Normalmente CNC3Test è impostato in Modo Normale che prevede l’interpretazione del file G-Code una riga dopo l’altra, fino alla fine del file. Se si vuole eseguire il file G-Code una riga alla volta, bisogna attivare il Modo Blocco con un clic sull’apposito comando.

È possibile eseguire il file G-Code con l’Interfaccia PC – FRESA non alimentata. Al termine dell’esecuzione del file G-Code CNC3Test riporta il tempo in Secondi che occorre per la fresatura.

Dopo aver caricato il file G-Code, prima di eseguire la fresatura bisogna spostare, con i comandi Manuali, l’utensile nel punto X=0, Y=0, Z=0 di riferimento nel file G-Code. Per velocizzare lo spostamento lungo gli assi della fresa si deve utilizzare il comando “>>”.

Raggiunta la posizione origine del file G-Code, si fa clic nei comandi “X=0”, “Y=0”, “Z=0” e poi si ritorna al Menu Principale con l’apposito comando. Prima di avviare la fresatura effettiva, si deve alimentare il motore della fresa che fa ruotare l’utensile. Si fa clic sul comando “Avvia il movimento automatico della fresa” di CNC3Test. La fresa si muove e fa quello che è indicato nel file G-Code. Durante la fresatura ci si può assentare.

In CNC3Test c’è il comando COPY che permette di copiare nella memoria del PC, le coordinate visualizzate. Per trasferirle in un altro programma, è sufficiente premere contemporaneamente i tasti Ctrl+V. I programmi Cam, gratuiti, che ho costruito, hanno la possibilità di Taratura, per annullare posizionamenti non perfetti dei pezzi da fresare rispetto agli assi della fresa. La loro Taratura può caricare automaticamente le coordinate da CNC3Test, anziché doverli caricare manualmente.

Evito di descrivere gli altri comandi di CNC3Test che sono descritti in buona parte dalle label dei comandi.

I due menu in CNC3Test:

In CNC3Test sono inclusi due menu: Generatori e Programmi.

menu generatori cnc e menu programmi utente
Il menu Generatori attiva gli altri programmi che ho scritto, se presenti nella stessa cartella di CNC3Test, descritti in altre parti del sito. Tali programmi cam generano file G-Code interpretabili da CNC3Test o da altri programmi simili. Nel sito ho descritto un esempio in legno di utilizzo di alcuni di questi programmi.

Col menu Programmi si possono attivare altri programmi che ci possono essere utili. Le righe di questo menu possono essere create modificando il file “Programmi.txt” con un editor qualsiasi. Nel mio file ci sono 7 righe. Ogni riga attiva un programma. 

Il programma free DeskEngrave lo uso per creare file G-Code di testi. Nel mio pc tale programma è presente in C:\Program Files (x86)\DeskEngrave\DeskEngrave.exe. Per inserirlo nel Menu ho aggiunto nel file Programmi.txt la quinta riga: DeskEngrave||C:\Program Files (x86)\DeskEngrave\DeskEngrave.EXE. La prima parte della riga è la descrizione della voce nel menu (DeskEngrave). La seconda parte è sempre: “||”. La terza parte è la path completa del file eseguibile.

Ho notato che il file G-Code prodotto con DeskEngrave non è precisissimo quando il font non è molto grande. Per questo ho costruito il programma Normalizza DeskEngrave che corregge i piccoli errori, aggiunge le istruzioni per renderlo totalmente compatibile con CNC3Test ed espone le caratteristiche del testo. La sesta riga del file Programmi.text è: Normalizza DeskEngrave||D:\CNC\ScritteDeskengrave.exe.

Ho costruito anche un programma per ottenere le misure di un tetto con quattro falde per poter creare l’esempio in legno presente nel sito. Ci sono tutte le misure, anche quelle degli angoli degli spigoli tra le falde. La settima riga del file Programmi.text è: Tetto||D:\CNC\Tetto.exe. 

Anche i programmi ScritteDeskengrave.exe e Tetto.exe sono scaricabili dalla pagina del sito Download. Leggi Download