Automazione: Divisore Universale Elettronico

logo

A cura di Davide Munaretto

 

Uno strumento molto utile per tutti coloro che devono tagliare le ruote dentate o realizzare pezzi di forma come ad esempio la parte terminale di un albero di carica.

Nello specifico, questa versione permette di operare su spostamenti molto piccoli dell’ordine di 0,01 gradi e di utilizzare le pinze da 8 mm dei torni da orologeria.

Il porta pinze e il motore sono stati pensati per essere montati su una fresatrice Aciera F1 con la possibilità di poterlo ruotare in base all’esigenza, ottenendo cosi uno strumento altamente flessibile.

La trasmissione del moto avviene con rapporto 1:1 tramite due pulegge dentate e relativa cinghia sincrona.

La parte di controllo elettronico è stata realizzata con Arduino

Il programma è stato ottimizzato per consentire una precisione molto elevata negli spostamenti angolari cercando di ridurre a valori tollerabili gli errori di posizionamento.

Per questa ragione nell’ultima versione è stato introdotto il parametro di Correzione Angolare che può essere inserito ogni qualvolta si debba eseguire una divisione e può essere variato in base alle esigenze e ho introdotto la visualizzazione dei passi reali che ci permettono di stabilire se inserire la correzione e i passi reali ed espanso il controllo della barra delle azioni.

Le prime schermate portano al menù principale dove troviamo la scelta fra divisione in gradi, divisione in parti e impostazioni.

Le impostazioni portano ad un sotto menù che ci consente di variare i parametri del motore passo_passo .

Se si sceglie la divisione in gradi, si entra nel sotto menù dove inserire il numero di gradi desiderato e viene visualizzata la voce passi, ovvero i passi teorici che l motore dovrebbe compiere per coprire il valore angolare inserito.

inserendo ad esempio 90°, ecco che ci viene mostrato il numero di passi teorici e ci viene chiesto di inserire il valore di correzione angolare che può variare fra 0 e 9.

Inserito il valore, passiamo al menù di avanzamento dove troviamo in alto a sinistra il valore angolare impostato, a destra il numero di avanzamenti, il numero di passi reali medi che grazie ad un algoritmo, in funzione del valore correttivo inserito, calcola il valore in funzione degli avanzamenti.

E una barra con in comandi di avanzamento (A e B) di reset (C), di uscita e ritorno al menù principale.

La scritta Rotazione appare quando si aziona il motore per il passo successivo e resta accesa per tutta la durata della rotazione.

Gli stessi parametri li troviamo se si seleziona la divisione in parti o numero di denti se si tratta di una ruota dentata.

 

Vediamo quindi quali sono le formule che ci permettono di calcolare la divisione angolare e quella per parti.

I motori passo_passo proprio per definizione possono essere controllati e mossi facendoli ruotare di una precisa porzione angolare.

Questo valore è un dato caratteristico dei motori e può variare in base al tipo di motore scelto, in questo caso ho adottato un NEMA 17 con le seguenti caratteristiche

 

L’angolo percorso ad ogni passo è di 1,8° e quindi 200 passi per compiere una rotazione di 360°.

Il motore inoltre è dotato di un riduttore con rapporto pari a 99 + 104/2057, ovvero 99,0506 : 1, che ci porta ad avere un numero di passi per giro pari a

Passi_giro = 200 * 99,0506 = 19810,12

Le schede di controllo di questi motori, hanno talvolta la possibilità di dividere il passo principale in MicroPassi  per una migliore risoluzione delle divisioni, ma con lo svantaggio di rallentare la rotazione dell’asse motore.

In questo caso avendo inserito un riduttore 1:100 non ci necessita nessuna ulteriore divisione, ma nel caso si volesse conteggiarla andrà inserita nella formula

MicroPassi_giro = 200 * 99,0506 * MicroPassi

 

Divisione in GRADI

In pratica dobbiamo convertire il numero di gradi della divisione, in Passi_giro in quanto dobbiamo dire al Motore di quanti passi si deve muove per coprire la divisione desiderata.

La formula che ci consente di ottenere questo è

Passi_Divisione = GRADI / 360° * Passi_giro

se volessimo ad esempio una divisione di 90° otterremmo

Passi_Divisione = 90 / 360 * 19810,12 = 4952,53

 

Divisione in Parti o Numero di Denti

In questo caso dobbiamo convertire il numero di divisioni che desideriamo ottenere, in Passi_giro in quanto dobbiamo dire al Motore di quanti passi si deve muove per coprire la divisione voluta.

La formula che ci consente di ottenere questo è

Passi_Divisione =  Passi_giro / Divisioni

se volessimo ad esempio un numero di divisioni pari a 54 otterremmo

Passi_Divisione = 19810,12 / 54 = 366,85

 

Angolo corrispondente alla Divisione

Sullo schermo viene indicato anche l’angolo sotteso dall’arco di spostamento corrispondente ad una divisione.

Ovviamente nella divisione in gradi corrisponde al valore da noi richiesto, mentre per le divisioni in parti viene calcolato come segue

GRADI = Passi_Divisione / Passi_giro * 360°

nel caso delle 54 divisioni otteniamo

GRADI = 366,85 / 19810,12 * 360° = 6,6667°

 

ERRORE Cumulativo

Come abbiamo visto il motore può compiere solo passi interi e in genere quelli reali derivanti dal calcolo sono quasi sempre frazionari.

Con un rapporto di riduzione 1:100 anche l’errore introdotto segue lo stesso rapporto diventando dell’ordine dello 0,00n %, ma questo in orologeria dove si lavora su dimensioni altrettanto piccole e in modo particolare quando si devono eseguire divisioni elevate porta ad un errore cumulativo che non può essere considerato trascurabile.

Per questa ragione, si è introdotto un algoritmo che è in grado di calcolare il valore totale della parte frazionaria, sommandola in modo equo ai passi di ogni divisione.

In questo modo l’errore verrà distribuito e diluito su tutte le divisioni rendendolo praticamente trascurabile.

Spesso capita di trovarsi nelle condizioni di dover ricavare i parametri fondamentali per il taglio di una ruota e quando questo accade ci si deve munire di una calcolatrice che il più delle volte non si trova…

Ho pensato cosi di rendere più agevole e veloce la determinazione di questi parametri, inserendo il calcolo direttamente nel Menu del programma.

Per quanto possa sembrare banale, la programmazione aggiuntiva è piuttosto complessa e articolata!

Il menù è a tre livelli di scelta in base all’incognita che è quella indicata nel Menù, in questo caso è visualizzato il risultato selezionando come incognita il modulo, scelta A:

Formule di calcolo

le formule sono in questo caso molto semplici e sono derivate tutte da quella fondamentale

m = De / (Z + 2)

dove

m = modulo

De = Diametro esterno della ruota

Z = Numero di denti della ruota

I Servomotori controllati con Encoder

Oltre ai motori passo-passo esiste tutta una categoria di motori simili ai primi ma dotati di un trasduttore elettronico in grado di migliorarne le prestazioni, questi dispositivi prendono il nome di Encoder.

L’Encoder è un dispositivo in grado di rilevare gli spostamenti angolari che opportunamente trasformati in segnali digitali possono essere gestiti da una opportuna elettronica per controllare lo spostamento dell’albero del motore al quale questo è collegato.

Questi motori prendono il nome di servomotori e possono essere utilizzati al posto del tradizionale motore passo-passo con vantaggi notevoli in termini di precisione di posizionamento.

La precisione è determinata dalla risoluzione dell’Encoder e dalle caratteristiche del motore adottato.

A questo scopo ho sviluppato un sistema di controllo incrementale sfruttando proprio uno di questi servomotori.

Il sistema è in grado di leggere la posizione dell’albero motore e spostarsi dell’angolo stabilito con un errore di un millesimo di grado, precisione nettamente superiore al sistema visto in precedenza.

 

Il menù è ancora più semplice del precedente e il grosso vantaggio, oltre alla precisione ottenibile è anche dato dal fatto che è possibile avanzare in senso orario o antiorario senza nessuna perdita di precisione di posizionamento.

come si può vedere, anche con un numero elevato di divisioni, in questo caso 144 divisioni, il valore finale è preciso al millesimo di grado.

Oltre al programma di taglio ho anche inserito il menù di calcolo dei parametri delle ruote che è sempre utile avere a disposizione.