Ifrim Valentin Personal Web Page
 


CNC/Fresatrice
                 

La costruzione di una fresatrice CNC
con il kit
KT150 - BFB2000 - BFW40

 
   
 
Costruzione CNC
Dettagli lavori meccanici
Motore fresatore BFW40
Unità di comando
 
Dettagli parte elettronica
Software
 
Descrizione della macchina
 

Il sistema è costruito a partire da tre prodotti Proxxon. Questi sono modificati per poter montare tre motori passo-passo al posto delle rotelle di regolazione. I motori sono pilotati tramite un'interfaccia dal PC. Questa interfaccia può funzionare anche in modo autonomo ed è dotata di una tastiera e un display LCD.
Parti componenti
I tre pezzi Proxxon (che possono essere acquistati separatamente) sono i seguenti:
-Banco bidirezionale X-Y KT150
-Banco per trapano e fresatrice BFB 2000, per trapani e motori di fresatrici dotati di un collo di fissaggio di 43 mm (norma EUROPEA).
-Motore fresatrice BFW 40/E, con controllo continuo di numero di giri tra 900 – 6,000 giri/min. Questa componente può essere sostituito da un trapano con il collo di fissaggio di 43 mm.
Altre componenti:
tre motori passo - passo
tre accoppiamenti oldham
supporti per motori, vite, cuscinetti
interfaccia elettronica

 
Dettagli meccanici
XY banco bidirezionale X-Y KT150 - alcuni dettagli della tavola KT150 estratte dal catalogo Proxxon
  Dati tecnici:  
  Superficie di lavoro: 200 x 200 mm
  Superficie di spostamento: mass. 150 x 150 mm
  Altezza della costruzione: 75 mm.
  Peso: 5.9 kg
  Avanzamento: per giro 2 mm
  Gradazione della scala: 0,05 mm
  Ogni pista ha un dispositivo di fissaggio con guide a coda di rondine. Le guide sono aggiustabili per eliminare il gioco.

Per aggiungere i motori alla tavola KT150 abbiamo bisogno dell'esecuzione di alcuni pezzi e della lavorazione di alcune parti della tavola KT150.
Per iniziare dobbiamo smontare la tavola KT150 per poter lavorare il supporto dell'asse e dell'asse filettato come segue :

La lavorazione del supporto dell'asse

Dobbiamo eseguire 3 fori di 4,2 mm (o 4 millimetri), che saranno filettati con un maschio M5 nelle posizioni indicate nel disegno accanto.

La lavorazione dell'asse filettata (la vite senza fine)

L'asse viene tornito all'estremità non filettata per apportare al diametro necessario agli accoppiamenti con la giunta Oldham (6,35 mm). Per evitare questa lavorazione si può utilizzare un accoppiamento con il diametro interno di 10 millimetri.

Supporto motore x, y

La realizzazione del supporto per il motore.
Questo è stato realizzato utilizzando una fresatrice CNC per avere una buona accuratezza.

 

Il motore è montato sulla flangia di sostegno attraverso quattro distanziatori che hanno le dimensioni del disegno accanto.
Per realizzarli abbiamo utilizzato una barra di ottone Ø10mm.
Un 'altra soluzione è quella di usare delle viti M6 con una lunghezza (filettata) superiore a 65 millimetri. In questo caso i fori saranno modificati da Ø4mm a Ø6, 5 mm della flangia supporto descritta sopra. In questa macchina abbiamo utilizzato entrambe le soluzioni.

Vista inferiore della tavola KT150 dopo il montaggio di alcuni componenti

Queste foto mostrano i dettagli di assemblaggio per le due flange e viti per gli assi X e Y.
Il motore trasmette il movimento di rotazione all'asse filettato mediante un accoppiamento con disco intermediario mobile (Oldham), che consente la compensazione per spostamenti assiali (± 0,1 millimetri), radiali (± 0,2 millimetri) e angolari (+ / - 0,5 °). L'accoppiamento è prodotto da Huco e ha il codice 232P19.24.F.

 
Dettagli dell'asse X

Click to image to zoom
 
Dettagli dell'asse Y

Click to image to zoom
Banco per fresatrice BFB 2000 (Z asse)
 
 
Motore passo -passo
Il motore è di tipo 4S56R-N12056S fabbricato da SAEHAN ELECTRONICS
General Specifications
Voltage 12V
Current (A/Phase ) 0,6A
Resistance (Ω/Phase) 20Ω
Indutance (mH/Phase) 30mH
Holding Torque (Kgf-cm) 5
Detent Torque (gf-cm) 400
Rrotor Inertia (g-cm2) 120
Weight (g) 500g
Length 51mm
Step Angle 1.8°
Number of phase 4
Number of Lead Wire 6
Unità di commando

Display LCD 2x40 caratteri. Lo schermo LCD viene utilizzato se si desidera utilizzare la fresatrice senza un computer. Sul display si possono vedere le coordinate, il menù del disegno, le impostazioni ecc.

 

Sul pannello anteriore si trovano l 'interruttore"Power" e l'interruttore "Spindle".

L 'interruttore Spindle ha tre posizioni :
1 - ON (l'uscita 220V = ON)
2 - OFF (l'uscita 220V = OFF)
3 - AUTO (l'uscita 220V è gestita dal programma dell'interfaccia). Se la macchina è gestita da computer, questa posizione è equivalente alla posizione 2 (OFF)

 

Sul pannello posteriore del dispositivo sono disposti:
- 3 connettori a 6 contatti per il motore,
- il connettore di potenza 220V AC,
- il connettore di uscita 220V AC per il motore della fresatrice,
- il connettore PC-SUB D25
- il connettore firmware SUB D9 (per la programmazione del microprocessore).

Dettagli della parte elettronica
SCHEMATICS
 
Diagramma blocchi    
  Nello schema blocchi si può vedere che ci sono due modi per utilizzare l' interfaccia: locale e con l' utilizzo di un computer.
La modalità di funzionamento viene scelta utilizzando DIP 2.
- In posizione "On" la macchina può essere gestita con il computer. In questo caso al connettore SV7 si collegherà l'interfaccia parallela (SV17B), che tramite 6 fotoaccoppiatori si collega alla porta parallela del PC . In questa situazione la tastiera non è necessaria.
- In posizione "Off" la macchina sarà gestita dalla tastiera locale. Al connettore SV7 sarà collegato un display LCD 2x40 (SV17A), su cui si vedono le coordinate della macchina e si può navigare tra i menù.
Il circuito è alimentato attraverso un trasformatore 18V-3A che vi è montato sotto il circuito stampato.
Schema CPU    
  L' interfaccia è gestita da un microcontrollore PIC16F877. Esso genera tutti i segnali necessari ai motori X, Y (in formato 4 Fasi ) e al motore Z (in formato Passo / Direzione).
Interfaccia motori   Per l'interfaccia dei tre motori usiamo soluzioni costruttive diverse per verificare qual è la più appropriata (un buon rapporto prezzo / qualità) in questo caso. Tutte e tre le interfacce utilizzano il metodo PWM. Questa soluzione consiste nell'alimentazione delle induttanze del motore a una tensione più alta del catalogo, ma limitando la corrente quando si raggiunge il valore desiderato. Va notato che non deve essere superata, in ogni caso, la corrente massima (nel nostro caso del motore utilizzato 0.6A). Per ulteriori informazioni, si prega di leggere AN907 da Microchip ("Stepping Motors Fundamentals").
Driver motore asse X    
  Il driver del motore X è costruito con circuito integrato SLA7026M. Questo è un controller / driver per motori unipolari da 3A PWM. Questo circuito richiede pochissimi componenti esterni e può essere acquistato ad un prezzo accettabile (10 €) che lo rende la soluzione più adeguata delle tre testate. Allo stesso produttore (Allegro Microsystems) si trova il modello SLA7062M che è comandato con segnali Passo /Direzione e consente il funzionamento in microstepping (1/2, 1/4, 1/8, 1/16).
Driver motore asse Y    
  Il driver del motoreY è costruito con circuito integrato L6506 e quattro transistori 14N05L. L6506 controlla la corrente necessaria al motore passo passo. Questo comanda 4 transistori MOSFET canale N tipo 14N05L che possono essere pilotati direttamente con il livello logico (5V).
Driver motore asse Z   Il driver del motore dell'asse Z è fatto su un'altra scheda e utilizza la coppia conosciuta di circuiti integrati L 297 / L298. A differenza dei motori degli assi x, y questo driver è comandato direttamente con segnali STEP / DIRECTION
CIRCUITO STAMPATO
Il circuito stampato è monofaccia ed è costruito con l'aiuto di una pellicola speciale chiamata Press and Peel (PnP).
   

Il regolatore, i finali di potenza e il ponte raddrizzatore sono montati su un dissipatore in alluminio.

A causa della mancanza di spazio il microprocessore PIC16F877 è di tipo SMD.

 
SOFTWARE
Il programma del microcontrolore PIC16F877 è scritto in Assembler con MPLAB8. Per la programmazione e il debug ho utilizzato il PICKIT2 da Microchip.

Esso è diviso in due parti: "PC control" e di "Local control" e saranno descritti di seguito separatamente. All' inizio del programma dopo l'inizializzazione delle periferiche viene letta la posizione del Jumper DIP2 (viene letta solo una volta dopo il reset) collegato alla porta RC1. La posizione determina quale parte del software sarà utilizzato (PC / locale).

Il programma è composto dai seguenti file:
main.asm file principale
bank.inc macro per cambiare i banchi di memoria
wait_i.inc macro per la generazione dei ritardi (delay)
phase.inc macro per la generazione dei segnali necessari ai motori passo-passo , ecc
util_macro.inc macro per operazioni matematiche e di conversioni
key.inc routine per la lettura della tastiera
lcd_i.inc macro per la gestione del display LCD
print_routine.inc    routine per mandare i dati al display LCD
Il file main.hex (ver.0.140908) può essere scaricato da qui.
 
Controllo PC
Nell'immagine accanto può essere visto l'algoritmo semplificato di questa parte del programma.
Questa parte contiene i file "main.asm, bank.inc, wait_i.inc e phase.inc".
Il file "main.asm", che contiene solo il programma per il controllo del PC può essere scaricato qui.
Controllo locale
Siccome questa parte del programma è più complessa mi limiterò a descrivere il menù.
MENU
Description
Local Key    
Free key move
Local Draw    
Free key move
  Go To  
Move table to "Actual Position" + X,Y (@+x,y)
    Set X
Insert X coordinate
    Set Y
Insert Y coordinate
  Point  
Do one bore at X,Y
    Set X
    Set Y
  Line  
Cut a line between A(x,y) and C(x,y)
    A-Set-X
    A-Set-Y
    C-Set-X
    C-Set-Y
  Rectan  
Cut a rectangle with the opposite angle A(x,y) and C(x,y)
    A-Set-X
Insert X coordinate of the angle A
    A-Set-Y
Insert Y coordinate of the angle A
    C-Set-X
Insert X coordinate of the angle C
    C-Set-Y
Insert Y coordinate of the angle C
  Circle futures
Not implemented
Local Setup    
  Origin  
Set drawing origins
    Set X
Insert X coordinate
    Set Y
Insert Y coordinate
  Depth Set Z
Set cut depth
  Surfac Set Z
Set surface (Z=0)
  Speed Set-XYW
Set work speed (between 1 and 250)
    Set-XYT
Set travel speed (between 1 and 250)
    Set-ZDW
Set down speed of Z-axis (between 1 and 250)
    Set-ZUP
Set up speed of Z- axis (between 1 and 250)
  M Step Set-X
Set size of step (step number for 1mm) for X axis
    Set-Y
Set size of step (step number for 1mm) for Y axis
    Set-Z
Set size of step (step number for 1mm) for Z axis
Le coordinate saranno introdotte in formato 999,99 millimetri e con il tasto " CRL" si possono cancellare i caratteri inseriti. Il tasto "OK" conferma il valore inserito e se questo è l' ultimo parametro per un comando inizierà l'esecuzione del lavoro. Il programma in questa versione (ver.0.140908) non ha il controllo dei valori limite che si possono utilizzare, questa cosa deve essere fatta dall'operatore. Anche in questa versione non vengono utilizzati i tasti "+" e " - "di conseguenza, tutte le coordinate inserite saranno positive. Per questo il disegno, che verrà eseguito avrà il punto di origine (0,0) nell 'angolo in basso a sinistra.
 
Tastiera
I tasti 2,4,6,8 consentono lo spostamento della tavola nelle direzioni X, Y, se ci troviamo nel menù "Local Key ", o nel menù "Local Draw " senza aver selezionato un sottomenù. Nelle stesse condizioni è possibile spostare l'asse Z utilizzando i tasti + -.
Il tasto "Mode" è usato per cambiare il menù principale (Key> Draw > Setup). Per l'attivazione di un Menù, si utilizza il tasto "Select" e per tornare al livello precedente si usa il tasto "ESC".
Per impostare un valore si utilizza la tastiera numerica. Per l'annullamento di un carattere inserito si utilizza il tasto "CLR".
 
Inizio della pagina
Termini e condizioni
Copyright ©2013 Ifrimv      Site designed by Ifrim Valentin