Macchina CNC@NET - Elettronica MM2001
Barone Rosso, baronerosso@baronerosso.net


Libera traduzione della macchina francese CNC@NET


Questa pagina consideratela come un'anteprima di una serie di articoli dedicati alla macchina per il taglio CNC francese. Nel giro di qualche mese dovrei riuscire a fare una traduzione delle pagine principali del sito www.teaser.fr/~osegouin/. La traduzione non sarà una traduzione letterale ma libera, infatti il sottoscritto conosce veramente poco il francese e se qualcuno volesse collaborare è il benvenuto.
Per quanto riguarda la meccanica sul sito CNC@NET trovate molte informazioni e progetti, io comunque sto lavorando ad una versione molto più semplice ed economica, una via di mezzo tra "la rustica" e la più sofisticata con cuscinetti lineari. Appena il mio tornitore di fiducia avrà il tempo di farmi i pezzi, pubblicherò le foto e naturalmente il progetto ;-)

    News (17/11/2002)
    E' disponibile il nuovo software di controllo per l'elettronica MM2001, la nuova versione chiamata MM2001-V2 aggiunge 2 nuove funzioni.
    La prima riguarda il Timer, ora all'eccensione della macchina (o al reset) il cicalino emette un Beep se la frequenza del timer è settata a 2000Hz, e 2 Beep se la frequenza è settata a 4000Hz.
    L'altra modifica riguarda la memorizzazione della temperatura del filo, che ora si può fare anche se l'interfaccia non è connessa al PC.

    Per caricare il software sul pic dovete utilizzare la nuova versione del programmatore MM2001LVP, che trovate dentro lo zip insieme al software MM2001-V2 (lo trovate in fondo alla pagina).
Il controllo MM2001
Nella foto in alto potete vedere l'elettronica di controllo per i motori passo-passo della macchina CNC, più precisamente si tratta della versione MM2001 0.62.
Sul sito CNC@NET potete trovare anche altre elettroniche, ma io ho preferito la MM2001 per un 2 buoni motivi, il primo è che gli integrati per i motori usati nella BB2001, cioé gli UCN5804, sono poco comuni e anche piuttosto costosi, mentre la picachof, da cui in pratica deriva la MM2001, non risulta aggiornabile nel software di controllo.
Quindi alla fine ho preferito scegliere la MM2001, vediamo quindi quali sono le caratteristiche di questa elettronica:
  • Pilotaggio di 4 motori passo-passo di tipo unipolare, con una corrente max di 1 ampere e una tensione max di 50 volt.
    I motori da utilizzare
  • Controllo della temperatura del filo automatico, via PC, o manuale (comodo se si usa un software differente da quelli proposti).
  • Timer a 2000 o 4000 Hz.
  • Zener incorporati per una migliore gestione dei motori.
  • Tutto il circuito è controllato da un'unico microprocessore riprogrammabile e aggiornabile.
L'interfaccia di controllo si basa su un'unico Pic 16F874, che adeguatamente programmato riesce a svolgere tutti i suoi compiti con pochi altri componenti esterni. Uno dei vantaggi di questo pic è che al suo interno contiene già tutta l'elettronica per la sua programmazione, in pratica basta inserire il pic vuoto sullo stampato, spostare il ponticello di programmazione, lanciare il software di programmazione e nel giro di alcuni secondi il pic risulta pronto all'uso. I motori invece sono controllati tramite un semplice driver ULN2803, che nel circuito è configurato per una massima corrente di uscita di 1 ampere (hanno messo in parallelo le uscite). Anche se nelle foto non ci sono è una buona idea mettere un dissipatore di alluminio sui driver ULN2803, infatti durante l'uso tendono a scaldare in maniera eccessiva. Volendo è possibile sostituire l'ULN2803 con un ULN2804 il circuito funziona lo stesso, ma è comunque preferibile usare il 2803, infatti il 2803 è progettato per segnali TTL (gli stessi del pic) mentre il 2804 per tensioni da 6 a 15 volt (in teoria si starebbe un pò sul limite).

Fate molta attenzione quando acquistate il pic 16f874, infatti oltre ad essere disponibile nella versione a 40 piedini c'è anche una versione più piccola da 28 piedini (che naturalmente non si può montare senza costruire un adattatore) inoltre controllate la massima frequenza di funzionamento del pic, il pic da utilizzare è il 16F874-20, il 20 sta per 20Mhz di clock, i pic con frequenza inferiore non vanno bene (come i 16F874-04 e 16F874-10) perché il circuito funziona a 16Mhz.
In alternativa potete anche utilizzare un 16F877-20, il chip è praticamente identico al 16F874 tranne per il fatto che ha un memoria interna doppia, che naturalmente non verrà usata.
 
Che tipo di motore utilizzare?
A causa dell'elevata precisione richiesta il progetto non usa dei comuni motori a spazzole, ma dei motori di precisione chiamati motori passo-passo, questi motori hanno la caratteristica di potersi muovere secondo prederminati angoli di rotazione. Questo angolo è di solito scritto sul motore oppure, più comunemente, è indicato il numero di passi (quindi l'angolo si ottiene facendo 360/numero passi), quindi più passi ha il motore maggiore è la precisione di movimento. Il rovescio della medaglia è che più passi ci sono, maggiori sono i problemi di pilotaggio dei motori, in particolare c'é la possibilità che il motore perda qualche passo quando deve girare ad elevate velocita' di rotazione.
In commercio i motori passo-passo si possono trovare con vari numeri di passi, i più comuni sono 48, 100 e 200 passi, inoltre i motori si dividono in Unipolari, chiamati anche a 4 fasi, e Bipolari, chiamati anche a 2 fasi (vedi immagine sotto). Il circuito MM2001 pilota UNICAMENTE motori Unipolari quindi i motori Bipolari non vanno bene.

I motori passo-passo si trovano abbastanza difficilmente in commercio e comunque mai a prezzi accettabili, l'ideale è quindi rivolgersi presso gli sfasci di materiale elettronico, oppure presso chi vende materiale surplus. Un'altra alternativa sono le fiere di elettronica, di solito si trovano abbstanza facilmente, io ad esempio li presi proprio in una fiera, 4 motori MAE da 200 passi li ho pagati intorno ai 5 euro al pezzo e sono nuovi (in alto a destra potete vedere la foto).
Comunque quando li comprate ricordatevi di controllare che siano Unipolari, che la corrente di pilotaggio sia pari o inferiore ad 1 ampere (l'ideale è stare intorno ai 500ma) e che la tensione massima di pilotaggio non superi i 50 volt. Per il numero di passi pare che l'ideale sia di stare intorno ai 100 passi.
Ecco qualche indirizzo interessante dove trovare i motori; Micromed (materiale surplus), RS (nuovi), Conrad (nuovi)

Ricordatevi di non collegare MAI i terminali del motore ad una qualsiasi fonte di alimentazione, l'unico risultato che ottereste sarebbe di bruciare un avvolgimento!!!!!!
I motori passo-passo si muovono solo se opportunamente pilotati.

Calcolo della resistenze R1-R8
Le resistenze da R1 a R8 servono a limitare la corrente assorbita dai motori passo-passo, infatti a differenza dei comuni motori a spazzole questi motori devono avere una limitazione sulla corrente assorbita altrimenti si bruciano gli avvolgimenti.
Per calcolare il valore di queste resistenze è assolutamente indispensabile conoscere il valore di corrente o tensione max di lavoro del motore, mentre la resistenza degli avvolgimenti si può misurare con un comune tester. Di solito questi valori vengono indicati sulla carcassa dei motori, oppure ve li può fornire chi vi ha venduto il motore, senza questi parametri i motori sono praticamente inservibili, al massimo si può provare a fare qualche prova ma c'é comunque il rischio di bruciare il motore.
Una volta che abbiamo questi dati vediamo come calcolare le resistenze, indichiamo con:
  1. Valim - la tensione con cui alimenteremo i motori
  2. Vn - la tensione nominale di funzionamento del motore
  3. In - la corrente nominale di funzionamento del motore
Se non conosciamo la Vn o la In la possiamo calcolare sfruttando la legge di ohm, In=Vn/Rn con Rn pari alla resistenza di una sola fase del motore passo-passo (se non è indicata sul motore si ricava usando con un tester sulla portata ohm, collegando il puntale tra il centrale e un terminale dell'avvolgimento).
Una volta che abbiamo tutti i dati applichiamo la seguente formula:
Il valore della corrente è moltiplicato per 2 perché si riferisce a 2 fasi alimentate contemporaneamente.
Nel caso il valore ottenuto non fosse standard potete tranquillamente arrotandare al valore superiore piu' vicino. Personalmente ho preferito calcolare la resistenza diminuendo di 100mA la corrente max, in modo da rimanere ben al di sotto della corrente max.
Ora che abbiamo il valore calcoliamo la potenza che deve avere tramite la seguente formula:



 
Calcolo dei diodi Zener DZ1-DZ4
Questi diodi zener servono a migliorare il tempo di commutazione tra le fasi dei motori, in pratica aumentando la tensione dello zener si ottiene una più è veloce risposta del motore. Occorre però fare molta attenzione a non esagerare altrimenti si rischia di bruciare l'integrato che pilota i motori o i motori stessi.
L'autore consiglia di usare zener con una tensione pari alla tensione di alimentazione dei motori Vn più un valore tra 1 e 3 volt, in pratica per un motore da 5 volt può andare bene uno zener tra i 6 volt e i 9 volt.
Personalmente ho scelto di adoperare uno zener con la massima tensione prevista senza riscontrare nessun problema. La potenza dei zener deve essere di almeno 1-1,5 watt.

Montaggio

Una volta che avete lo stampato per prima cosa montate tutti i ponticelli (fate attenzione che un ponticello deve essere sostituito da una resistenza, leggetevi il file modif_mm2001.pdf), poi proseguite con il resto dei componenti (attenzione alla resistenza R12, sullo schema ha un valore di 330ohm, mentre sulla lista componenti c'è il valore 270ohm, usatene una da 330 ohm) per gli integrati è una buona idea utilizzare degli zoccoli, specialmente per gli ULN2803.
Una volta che tutto è montato si può procedere al test e alla programmazione del pic, per prima cosa collegate il circuito ad un alimentatore e controllate che la corrente sia di pochi mA (non serve alimentare filo e motori ma basta solo il circuito), ora spegnete il circuito e collegatelo al PC.
Accendete pc e circuito e passiamo alla programmazione del pic; scompattate il file mm2001.zip in una directory e lanciate il programma MM20001PROG.exe, che vi permette di programmare il pic. Lanciato il programma andate in "configuration" e scegliete la porta LPT, di solito è la LPT1, nel menù "ouvrir fichier" andate nella directory del programma e selezionate il file MM2001LVP.HEX, ora andate in "programmation" e dopo aver selezionato "programmer dans un ficher" selezionate "lancer programmation". Il programma elaborà il codice e vi dirà di premere "ok", ora andate di nuovo in "programmation" e dopo aver deselezionato "programmer dans un ficher" selezionate di nuovo "lancer programmation". A questo punto il programma vi dirà di spostare il ponticello sullo stampato da normal a programm, fatelo e premete "OK", alla fine della programmazione (c'é una barra che avanza sulla finestra del software) rispostate il ponticello su normal e premete di nuovo "OK". Ora il pic è correttamente programmato, resettate il circuito con il pulsante reset, ed il circuito è pronto all'uso.
ATTENZIONE: il software di programmazione NON funziona con i sistemi operativi Windows NT/2000/XP, in questo caso bisogna ricorrere ad un programmatore esterno.

Come collegare i motori passo-passo
A causa della loro natura i motori passo-passo non possono essere collegati a caso ma occorre rispettare un preciso schema di collegamento degli avvolgimenti, partendo dal presupposto che non conoscete il significato dei fili che escono dal motore, situazione molto probabile nel caso li abbiate acquistati come surplus, vediamo come fare ad identificare i terminali.
Prendendo come riferimento lo schema qui a destra, possiamo vedere che il motore è composto da 4 resistenze (gli avvolgimenti) connesse in serie 2 a 2, quindi per trovare i terminali abbiamo bisogno solo di un tester con la portata ohm (di solito bastano 50-100 ohm fondo scala o anche meno).
Per prima cosa osserviamo i fili che fuoriescono dalla carcassa del motore, dovrebbero essere 5 o 6, (meno di 5 significa che sono motori bipolari, più di 6 non ho la minima idea di cosa abbiate comprato), di solito gli estremi dell'avvolgimento (contatti a1 e b1) hanno più o meno lo stesso colore, tipo Rosso - Rosso oppure Rosso - Rosso/Bianco, quindi con il tester provate a misurare la resistenza, che dovrebbe risultare pari a quella dichiarata sulla carcassa del motore.
Nel caso la resistenza fosse la metà significa che i 2 contatti sono uno centrale ed uno laterale (a1 - c1 o c1 - b1), quindi prendendo come riferimento uno dei 2 fili, sempre usando il tester, provate a cercare un'altro contatto che abbia una qualche resistenza.
Quando trovate il terzo filo potete identificare con precisione i contatti dell'avvolgimento numero 1, ricordando che i 2 estremi a1 e b1 hanno una resistenza pari a quella dichiarata, mentre tra il centrale e i 2 estremi c'é sempre una resistenza pari alla metà di quella tra a1 e b1. Ripetendo la procedura anche con gli altri fili potete identificare il secondo avvolgimento.
Nel caso che dal vostro motore escano solo 5 fili significa che i 2 centrali degli avvolgimenti sono collegati tra di loro, comunque ai fini del progetto non dovrebbe fare nessuna differenza (io comunque non ho provato).
Se non rilevate nessuna resistenza in uno degli avvolgimenti significa che la bobina è bruciata, quindi il motore è inutilizzabile.
I motori si collegano al circuito seguendo la sequenza sui contatti a1-c1-b1-a2-c2-b2, comunque osservando lo schema elettrico il collegamento dovrebbe essere abbastanza chiaro.
Significato di interruttori, pulsanti e led
Interruttore Motor On/Off (Sw1) Serve ad attivare/disattivare l'alimentazione dei motori
Led Motor (Ld3) Si accende quando l'interruttore Motor è su On
Led Alimentazione (Ld1) Si accende quando il circuito è alimentato
Pulsante Reset (Sw6) Serve a resettare il pic
Interruttore Pc/Manuel (Sw2) Serve a controllare il tipo di controllo della temperatura del filo, via PC o manuale
Pulsante BP- (Sw5) Leggere sotto
Pulsante BP+ (Sw4) Leggere sotto
Interruttore Chuffe (Sw3) Serve ad attivare/disattivare l'alimentazione del filo
Led Chauffe (Ld2) Indica quando il filo è alimentato

Funzionamento dei pulsanti BP+ e BP-
(Attenzione, i pulsanti funzionano SOLO quando l'interruttore Pc/Manuel è su "Manuel")

I pulsanti hanno 2 modalità di funzionamento, se si premono quando il circuito è in funzione otteniamo:
BP+ BP-  Risultato
On Off  Aumenta la temperatura del filo
Off On  Diminuisce la temperatura del filo
On On  Memorizza la temperatura attuale come la massima raggiungibile

se invece li premiamo e contemporaneamete accendiamo il circuito passiamo nella modalità di programmazione, quindi premendoli otteniamo:
BP+ BP-  Risultato
On Off  Resetta la temperatura massima del filo
Off On  Cambia la frequenza del timer da 2000 a 4000Hz (2000Hz è quella di default)
On On  Cambia il controllo dei motori da Passo intero a Mezzo passo (Passo intero è quello di dafault)

*Se abbiamo collegato un Buzzer all'interfaccia, all'accensione della macchina otteniamo un Beep se la frequenza del timer è settata a 2000Hz, e 2 Beep se la frequenza è settata a 4000Hz (solo dal software MM2001-V2 in poi).


Stadio di alimentazione

Di prossima pubblicazione.

 
L'elettronica di Aeropic
L'interfaccia MM2001 deriva in buona parte dal progetto di Aeropic, specialmente nella parte del controllo del filo chiamato Picachof.
Nel caso vogliate utilizzare motori più potenti per la macchina CNC, il sistema di controllo di Aeropic è sicuramente una scelta ideale, infatti grazie all'uso di mosfet o transistor di potenza si possono pilotare alte correnti.
Nella foto qui a destra potete vedere il circuito con cui ho condotto i primi test ora invece sto usando l'interfaccia MM2001.

p.s. se qualcuno è interessato a realizzare il circuito di aeropic, dato che non li utilizzo più, darei via il circuito di controllo che vedete nella foto e tutti i componenti necessari a montare gli altri 3 circuiti, più il pic di controllo per il picachof.


Se siete interessati al progetto, ma non avete dimestichezza con saldatore e componenti elettronici, posso fornirvi il circuito già montato e collaudato.

 
File:
  • Documentazione originale + Modifica (Schema, doc e stampato)
  • Nuovo software MM2001-V2 + Software per la programmazione.
  • CNC V2.02 - Software per il controllo della macchina.


  • Nota Importante:
    L'autore non si assume nessuna responsabilità per eventuali danni, diretti o indiretti, che dovessero verificarsi come conseguenza dell'utilizzo del presente circuito.



    2002 ©  BaroneRosso.net
    http://www.baronerosso.net/