5
piatto. Nel 1967, S. Ogino [8] suggerì un differente approccio analizzando
le camme a dimensione costante con la notazione vettoriale. In precedenza,
G. Mitchell [9] propose, nel suo brevetto del 1952, un miglioramento delle
caratteristiche delle camme a dimensione costante costruendo le superfici
del cedente circolari. In fine H. Tanaka [1] nel 1976, utilizzò la teoria degli
inviluppi come mezzo per l’analisi e la progettazione d’ogni genere di
meccanismo a camma, ed in particolare per quelli a dimensione costante.
Tramite la teoria degli inviluppi, si dimostra che la progettazione e
le procedure d’analisi sono identiche a quelle adottate per le camme a
chiusura di forza, purchè siano rispettate certe specifiche restrizioni sulla
geometria del meccanismo e sul moto del cedente. Una volta che una
camma a dimensione costante è definita per l’accoppiamento con un
cedente piatto, è possibile ottenere delle modifiche al moto di output
sostituendo il cedente con un altro tipo di quelli a superfici parallele.
L’analisi bidimensionale è stata effettuata con l’ausilio di programmi
scritti nel linguaggio dell’interprete Ch, di cui sono state sfruttate le
funzioni per il plottaggio di equazioni matematiche.
Per ottenere una esportazione 3D in formato .sat, compatibile con la
totalità dei software commerciali, è stato utilizzato il modellatore solido
esatto ACIS R12. In esso le entità geometriche vengono rappresentate
come una rete di punti, curve e superfici correlati gerarchicamente,
boundary representation (B–rep), e sono conservate le equazioni
parametriche che ne definiscono i contorni esterni ed interni. Essendo
interfacciabile con l’ambiente di sviluppo Microsoft Visual C++ 6.0, nel
quale ne vengono incluse le librerie, si ha con la scrittura di semplice
codice C++ il controllo diretto e completo di tutti i comandi e fasi della
modellazione.
6
Con il SolidWorks 2004, integrato dal pacchetto COSMOSmotion,
sono state eseguite delle simulazioni dinamiche per testare l’efficacia e
l’utilità applicativa dei metodi di modellazione adottati, confrontando i
risultati ottenuti con quelli teorici. Inoltre si è potuto verificare la capacità
del simulatore ad affrontare problemi di contatto multiplo tra corpi.
56
Capitolo 2
Generazione del modello in ACIS
Sono state utilizzate tre metodologie per la creazione del modello
solido ovvero per la definizione del profilo della camma:
- tramite la legge matematica esatta, con il programma
GENERAZIONE LAW;
- simulando con successive estrusioni il taglio della camma da parte
della fresa, con il programma GENERAZIONE FRESA;
- con interpolazione lineare oppure cubica, con il programma
GENERAZIONE INTERPOLAZIONE.8
I codici sono stati scritti utilizzando l’ambiente di sviluppo Microsoft
Visual C++ 6.0, in cui possono essere incluse le librerie dell’ACIS.
L’interfaccia con l’utente è simile, salvo alcune piccole differenze, e
richiede l’immissione dei parametri geometrici della camma a dimensione
costante, la scelta della legge di moto e del tipo di cedente se piatto o
circolare, e della profondità di estrusione, detta spessore, perché utilizzata
anche per definire le dimensioni secondarie e il supporto necessario alla
successiva simulazione dinamica. Durante l’esecuzione verifica che 1r e
2R non siano inferiori a quelli minimi. Il risultato prodotto sono i file:
- “camma.sat”;
- “cedente.sat”;
- “supporto.sat”.
8
Appendici B.6, B.7 e B.8.
57
2.1 Generazione Law [5]
Figura 2–1, camma Generazione Law.
La classe law consente di implementare una generica curva, o
superficie, in forma di equazione parametrica. Tale equazione è contenuta
in una stringa di caratteri.
Per definire la superficie da estrudere, si devono costruire le quattro
leggi che rappresentano le fasi del moto, “dwell – rise – dwell – return”,
nella forma di equazioni parametriche vettoriali del tipo, nel caso di una
circonferenza:
string vec =”vec(5*cos(t), 5*sin(t), 0)”;
Si inseriscono le stringhe negli oggetti law con la funzione api_str_to_law,
in cui il primo argomento è la stringa mentre il secondo è l’indirizzo del
puntatore al law.
I law servono poi a tracciare i lati del profilo mediante la funzione
api_edge_law, avente come argomenti la legge da seguire, gli estremi di
variabilità del parametro t e il puntatore al EDGE che deve realizzare.
Le quattro curve vengono raccolte in una ENTITY_LIST, che è una lista di
entità (la classe ENTITY è quella da cui sono state derivate tutte le classi
58
dell’ACIS), presa poi come argomento, insieme all’indirizzo di un oggetto
BODY, dalla funzione create_wire_from_edge_list per avere una superficie
delimitata da una curva chiusa.
L’estrusione avviene con la funzione api_sweep_with_options, in cui si
setta con un SPAvector la direzione e la profondità di estrusione. L’ultimo
argomento di questa è l’indirizzo dell’entità a cui sarà assegnato il risultato
della lavorazione.
Alla camma viene poi aggiunta con un’operazione booleana di
unione, funzione api_unite dove il primo argomento è l’oggetto che sarà
unito al secondo argomento, il cilindro che sarà utilizzato come
collegamento al supporto nella fase di simulazione dinamica. Il cilindro è
dato dalla funzione api_solid_cylinder_cone, i cui argomenti sono dei
SPAvector che definiscono i centri delle superfici opposte, tre double per
settare i raggi di base e del piano mediano (realizza anche coni divergenti o
convergenti), e in fine l’indirizzo di memoria su cui creare l’oggetto.
Segue la prova di esecuzione di figura 2–1.
Alzata in mm:
H = 40
Angolo di riposo in deg:
alpha = 60
Scegli il tipo di legge di alzata:
1 = armonico;
2 = cicloidale;
3 = armonico di Freudenstein.
1
60
2.2 Generazione Fresa [6]
Figura 2–2, camma Generazione Fresa, 360 passaggi.
I dati aggiuntivi richiesti sono il raggio della fresa, il numero di
passaggi e il sovrametallo da asportare.
Un cilindro, di raggio pari a 1rH+ , è sottoposto a una serie di
operazioni booleane di sottrazione, con un altro con centro posizionato su
punti situati sulla traiettoria della fresa. La funzione utilizzata è
api_subtract: la fresa è il primo argomento mentre la camma è il secondo.
In figura 2–3, è mostrato come ciò avviene se si fanno solo otto
passaggi, si nota che solo vic ino alla zona di riposo superiore la fresa non
viene bloccata angolarmente e allontanata radialmente per asportare tutto il
materiale in eccesso.
61
Figura 2–3, 8 passaggi della fresa.
Nell’ingrandimento di figura 2–4 sono evidenziate le impronte
superficiali lasciate dalla fresa.
Figura 2–4, concavità superficiali.
Questo è il metodo più semplice ma anche il più oneroso dal punto di
vista computazionale, sia nella fase di modellazione, che in quella di
simulazione dinamica.
62
Un taglio di questo tipo è detto discontinuo e utilizzato nelle
macchine a controllo numerico, NC, con incrementi angolari da 14 a 110
di grado. Deve essere seguito da un processo di rettifica, che qui non è stato
rappresentato. Inoltre si è completamente trascurata la deformabilità dei
materiali.
Segue la prova di esecuzione di figura 2–2.
Alzata in mm:
H = 40
Angolo di riposo in deg:
alpha = 60
Scegli il tipo di legge di alzata:
1 = armonico;
2 = cicloidale;
3 = armonico di Freudenstein.
1
Raggio di base minimo: r1min = 5.1 mm.
Raggio di base in mm:
r1 = 40
Scegli il tipo di cedente:
1 = piatto;
2 = circolare.
1
Spessore in mm:
64
2.3 Generazione Interpolazione
Figura 2–5, camma Generazione Interpolazione lineare, 360 punti.
Figura 2–6, camma Generazione Interpolazione cubica, 360 punti.
In quest’ultimo caso, il programma chiede di immettere il numero di
punti del profilo della camma da interpolare e il tipo d’interpolazione, se
lineare o con spline cubica (continuità del secondo ordine).
Il profilo da estrudere è dato dalla funzione api_make_wire, che
collega i punti del vettore dato come argomento con una poligonale, figura
2–7, mentre per costruire il profilo con una spline cubica, si deve prima con
65
api_mk_ed_cubic definire un vettore di puntatori ad oggetti EDGE (si
possono avere più lati), che poi connessi con api_make_ewire e restituiti
come un BODY.
La funzione api_mk_ed_cubic ha come argomenti il vettore e il
numero dei punti da interpolare, le direzioni delle tangenti iniziali e finali
(se poste nulle le calcola autonomamente), un opzione da settare 0 per
avere una curva chiusa e l’indirizzo dell’EDGE su cui scrivere il risultato.
Per api_make_ewire servono il vettore di puntatori a tipi EDGE, il numero
dei lati e l’indirizzo del BODY su cui memorizzare il contorno.
La fase di estrusione è identica a quella in Generazione Law.
Figura 2–7, poligonalizzazione superficiale.
Con questo procedimento si può approssimare il processo di taglio
continuo con controllo numerico, CNC, in cui i punti di passaggio della
fresa assegnati sono raggiunti con traiettorie diritte o curvilinee. Gli
incrementi angolari vanno da 1 a 14 di grado.
Seguono le prove d’esecuzione di figura 2–5 e 2–6.
68
2.4 Cedente e supporto
Il cedente e il supporto sono realizzati con semplici operazioni
booleane d’unione o sottrazione tra parallelepipedi e/o cilindri. Un
parallelepipedo si genera con la funzione api_solid_block date le
coordinate dei vertici opposti.
Sul cedente si eseguono dei controlli, per effettuare delle operazioni
aggiuntive, nei casi in cui il raggio di curvatura superiore sia molto grande
oppure vicino al through – diameter. Nelle figure seguenti sono mostrate le
configurazioni possibili.
Figura 2–8, cedente piatto e circolare, D120= mm e 2R200= mm.
Figura 2–9, D120= mm, 2R200= mm e 2R121= mm.
69
Figura 2–10, supporto.
70
Capitolo 3
Simulazione dinamica
I sistemi di riferimento locali degli oggetti sono orientati in modo
tale che durante l’assemblaggio la configurazione iniziale sia quella di
riposo inferiore, per non avere all’inizio del moto delle discontinuità in
velocità e accelerazione, figura 3–1.
Figura 3–1, configurazioni iniziali.
La camma è collegata al supporto con una coppia rotoidale dotata di
velocità angolare costante pari a 1 Hz, mentre tra cedente e supporto è
presente una coppia prismatica. Il contatto tra camma e cedente è stato
gestito con due tipi di vincolo:
- vincolo di contatto intermittente tra curve;
- vincolo di contatto 3D.
Sono stati trascurati l’attrito e l’accelerazione di gravità per eliminare
qualsiasi fonte di rumore che non sia dovuta al contatto superficiale.
73
3.1 Simulazione Generazione Law
0,00 0,09 0,18 0,27 0,36 0,45 0,55 0,64 0,73 0,82 0,91 1,00
Time (sec)
-20
-12
-4
4
12
20
CM
P
os
itio
n -
X
(m
m)
0,00 0,09 0,18 0,27 0,36 0,45 0,55 0,64 0,73 0,82 0,91 1,00
Time (sec)
-189
-113
-38
38
113
189
CM
V
elo
cit
y -
X
(m
m/
se
c)
0,00 0,09 0,18 0,27 0,36 0,45 0,55 0,64 0,73 0,82 0,91 1,00
Time (sec)
-1910
-1146
-382
382
1146
1910
CM
A
cc
el
- X
(m
m/
se
c*
*2
)
Figura 3–2, profilo di moto armonico, vincolo di contatto intermittente tra
curve, cedente piatto.