INTRODUZIONE
Il presente studio concerne il progetto meccatronico di un plotter cartesiano. L'obiettivo è
quello di poter controllare in real-time il sistema plotter: data una qualsiasi traiettoria in formato
.dxf esso deve essere in grado di stamparla il più velocemente possibile e con il minimo, se non
addirittura nullo, scostamento dall'immagine di partenza.
Il plotter utilizzato (plotter a penna) è ormai soppiantato dai moderni plotter a getto
d’inchiostro o a laser, tuttavia il suo studio si rivela molto interessante e fornisce un utile strumento
di introduzione alla meccatronica in quanto tocca le tre discipline che ne fanno parte: meccanica
(progettazione e analisi del sistema), elettronica (attuatori, elettronica di potenza), informatica
(controllo software del plotter).
In primo luogo, sarà analizzato il sistema meccanico nel suo complesso cercando di
individuare i suoi punti di forza e, principalmente, i punti deboli del sistema. Si prevede, in
particolare, una riprogettazione del gruppo testina dal momento che è risultato essere inadatto allo
svolgimento delle funzioni richieste.
In seguito si procederà ad una modellizzazione del sistema con l'obiettivo di sviluppare il
controllo e testarlo. Non si potrà considerare la totalità delle variabili in gioco ma ci si dovrà
concentrare sugli aspetti principali del problema andando a costruire un modello matematico sul
quale poter impostare il ragionamento. Saranno analizzati i gradi di libertà del sistema, i limiti
elettrici e meccanici dello stesso e saranno messe a punto le equazioni della dinamica che
riassumano il problema.
Sviluppato il modello, seguirà la fase di implementazione in MATLAB di un programma
che permetta, previa opportuna strategia di ottimizzazione della traiettoria, di realizzare simulazioni
numeriche sullo stesso, in modo da ottenere dei primi dati (le tempistiche di tracciamento, le
velocità ideali per disegnare la figura, ecc. ). Da queste simulazioni saranno tratte le prime
conclusioni sulle prestazioni del sistema.
L'esperienza insegna che i risultati teorici spesso si discostano da quelli reali. Un modello,
infatti, per sua definizione, prende in esame gli aspetti fondamentali del problema ma non può
3
considerare tutte le variabili in gioco.
Per fare in modo che una volta sviluppato l'anello di controllo del plotter i risultati siano il
più vicini possibile a quelli teorici sarà necessario considerare un regolatore che, istante per istante,
confronti quelli che dovrebbero essere i punti del disegno con quelli che effettivamente si sta
disegnando e, nel caso riscontri delle differenze, sia in grado di agire per correggere l'errore. Anche
in questa fase sarà necessario eseguire un’analisi teorica delle prestazioni del controllore prima di
metterlo in pratica: sarà utilizzato Simulink, un programma che permette di realizzare uno schema a
blocchi dell’intero sistema e di valutarne le prestazioni al variare dei diversi parametri di
funzionamento.
Sarà valutata, inoltre, la possibilità di mettere a punto un filtro digitale con l’obiettivo di
migliorare la qualità dei segnali in uscita dagli encoder.
La fase successiva consisterà nello sviluppo del programma di controllo in real-time
sfruttando il software a disposizione: LabView 8.2. Si ritiene, prima, di sviluppare un programma,
che sarà chiamato di 'test', che, al posto di un disegno qualsiasi, farà eseguire al nostro sistema una
traiettoria più semplice, per esempio una traiettoria sinusoidale, e, dopo aver corretto gli eventuali
errori presenti, riuscirà ad estendere la parte di codice per il caricamento e l'esecuzione di un
disegno qualsiasi a scelta dell'utente.
Seguirà un periodo di prove per mettere a punto i vari parametri del sistema in esame per
riuscire ad ottimizzare le tempistiche e la precisione di disegno.
4
1 - IL PLOTTER
1.1 Presentazione progetto e obiettivi
Il progetto consiste nella realizzazione del pilotaggio di un plotter cartesiano, movimentato
da due motori in corrente continua.
Il pilotaggio comprende la definizione della legge di controllo in retroazione dei motori e la
definizione di una strategia per il tracciamento ottimale di una figura su un foglio (ottimale in
termini di precisione e/o di tempo di tracciamento).
5
1.2 Specifiche di progetto
Data una traiettoria campione in formato .dxf, il sistema deve:
calcolare la modalità “ottimale” di percorrenza della traiettoria sulla base dei parametri
forniti dall’utente e dei limiti fisici del plotter;
interfacciarsi alle componenti hardware per gestire i segnali di I/O;
pilotare l'hardware in modo opportuno per far sì che il plotter percorra la traiettoria e disegni
la figura secondo quanto calcolato in precedenza; ciò avviene tramite la chiusura di un
anello di retroazione.
La fase di ottimizzazione prevede:
il caricamento della traiettoria dal file .dxf;
il calcolo della percorrenza ottimale, nel rispetto dei limiti fisici (elettrici, meccanici,
software);
l'output dei dati di riferimento (setpoint) necessari per pilotare i motori nel modo previsto.
L’interfacciamento per l’I/O riguarda:
la scrittura delle tensioni di alimentazione dei motori (da condizionare tramite elettronica
dedicata);
la scrittura del comando della punta scrivente;
la lettura delle posizioni angolari dei motori (da condizionare tramite software fornito
insieme alla scheda di I/O).
Il pilotaggio software prevede:
i vincoli real-time per la gestione dei segnali di I/O;
il condizionamento software degli input (filtraggio);
il calcolo delle tensioni da fornire ai motori (regolazione);
la strategia di posizionamento dall'origine del sistema di riferimento del foglio al punto
iniziale della figura;
la gestione dei finecorsa software lungo l'asse x (slitta).
La valutazione delle prestazioni del plotter avviene tramite il confronto del disegno su carta
con un disegno campione su lucido.
6
1.3 Architettura Hardware-Software
La meccanica, l'elettronica e l'hardware/software di acquisizione dei segnali sono già dati e
non sono quindi soggetti a scelte progettuali.
L'architettura utilizzata prevede due PC, uno host e uno target. L'host è utilizzato per la fase
di sintesi del sistema, il target si occupa dell'esecuzione dell'applicazione real-time.
La traiettoria estratta dal file è ottimizzata dall'applicazione MA TLAB, residente sull'host; il
setpoint così generato è scaricato sul target dall'applicazione LabView, sviluppata sull'host; i VI
(Virtual Instrument) da eseguire sono quindi scaricati sul target tramite una connessione di rete
punto-punto. Anche la libreria C, sviluppata sull'host, viene scaricata sul target.
7
Sul PC host sono installati i programmi LabView Real-Time 8.2 e varie
applicazioni/librerie/driver di supporto sviluppate da National Instruments (NI). Lanciato il Virtual
Instrument principale sul target, quest'ultimo comunica con il plotter tramite una scheda di
acquisizione dati prodotta da NI (NI6229). I segnali di I/O sono campionati con un periodo di 1ms
(1kHz).
L’utilizzo delle librerie NI-DAQmx e l’implementazione dei filtri e dei regolatori è delegata
ad una libreria C appositamente sviluppata; l’interfaccia grafica, la logica di controllo e la gestione
dei parametri di regolazione e filtraggio da fornire alla libreria C è, invece, demandata
all’applicazione LabView.
In fase di debug la parte grafica del Virtual Instrument principale viene trasmessa all’host
per la visualizzazione tramite il collegamento di rete.
File .dxf per la traiettoria
Il file è nel formato standard Drawing Exchange Format, utilizzato come formato di scambio
da AutoCAD, ove la traiettoria è rappresentata da un insieme di entità geometriche caratterizzate da
parametri specifici (es. per un arco: centro, raggio, angolo di inizio e angolo di fine).
File .txt per il setpoint
Il file contenente i setpoint calcolati dal programma MA TLAB di ottimizzazione è costituito
da due righe (separate da un carattere LF o dai caratteri CRLF) che rappresentano il vettore dei
setpoint delle posizioni angolari per il motore x e per il motore y. Gli elementi di ciascun vettore
sono separati da un singolo spazio.
8
1.4 Panoramica della struttura meccanica del plotter
Il plotter ha due gradi di libertà, lungo gli assi x e y. L’asse x presenta una slitta che sorregge
la penna; l’asse y presenta un rullo che fa scorrere il foglio.
La scelta di movimentare il foglio attraverso il rullo anziché movimentare l’intero “asse x”
(composto da motore, organi di trasmissione, slitta e relativi supporti) è dettata da ovvie
considerazioni sulle prestazioni: l’inerzia del foglio è del tutto trascurabile rispetto all’inerzia
dell’asse x, quindi si possono ottenere prestazioni di gran lunga superiori scegliendo di
movimentare il foglio.
Un ulteriore grado di libertà è fornito da un elettromagnete che permette di
sollevare/abbassare la penna.
9
I parametri meccanici del plotter sono:
Asse x
Numero di denti delle pulegge
np1x = 12
n p2x = 42
Raggio delle pulegge della slitta
R p3x = 25.47 mm
Massa della slitta
m sx = (0.043 + 0.102068 + 0.057) = 0.202 kg
Momenti d'inerzia delle pulegge
J p1x = 0.476 kg
.
mm
2
Jp2x = 77.384 kg
.
mm
2
J p3x = 27.646 kg
.
mm
2
Momento d'inerzia del motore
J mx = 21.4 kg
.
mm
2
Asse y
Numero di denti delle pulegge
n p1y = 14
np2y = 42
n p3y = 40
np4y = 48
Raggio del rullo
Rry = 25.0 mm
Momento d'inerzia del rullo
Jry ≈ 0
Momenti d'inerzia delle pulegge
Jp1y = 0.846 kg
.
mm
2
J p2y = 77.384 kg
.
mm
2
Jp3y = 64.3 kg
.
mm
2
J p4y = 100.548 kg
.
mm
2
Momento d'inerzia del motore
J my = 21.4 kg
.
mm
2
10
Da questi si ricavano i rapporti di trasmissione motore-carico, le masse ridotte al carico e le
inerzie ridotte al motore:
τ x =
n
p1x
n
p2x
R p3x = 7.277 mm
τ y =
n
p1y
n
p2y
n
p3y
n
p4y
R ry = 6.944 mm
m
*
x = msx +
2J
p3x
J
p2x
R
p3x
2
+
J
p1x
J
mx
τ
x
2
= 0.8197 kg
m
*
y =
J
p3y
J
p2y
n
p3y
n
p4y
∗R
ry
2
+
J
p1y
J
my
τ
y
2
+
J
p4y
R
ry
2
= 0.9486 Kg
J
*
x = m
*
x * τ x
2
= 43.41 kg
.
mm
2
J
*
y = m
*
y * τ y
2
= 45.75 kg
.
mm
2
1.5 Motori CC
Gli azionamenti
utilizzati sono due motori in
corrente continua a magneti
permanenti, modello RS
V10749. Il funzionamento
di un motore CC si basa
sulla conversione di energia
elettrica in energia
meccanica. La figura mostra
un motore CC in cui al
posto dei magneti
permanenti sono poste due
espansioni polari in materiale ferromagnetico, ciascuna avvolta con filo conduttore: il passaggio
della corrente continua (di eccitazione) negli avvolgimenti genera un campo magnetico
“amplificato” dall’alta permeabilità magnetica delle espansioni con direzione illustrata in figura e
verso dipendente dal verso della corrente di eccitazione. I motori CC ad eccitazione permettono di
generare campi magnetici di intensità maggiore ma richiedono un dispendio di energia aggiuntivo
per far scorrere la corrente di eccitazione. Il motore in corrente continua presenta una parte libera di
ruotare detta rotore o armatura e una parte fissa detta statore.
11
Sullo statore sono posti i magneti o le espansioni polari; il
rotore è costituito da una serie di spire (in figura sono costituite da
un avvolgimento chiuso di filo attorno ad un anello di materiale
ferromagnetico). Il campo magnetico diretto da Nord a Sud è
approssimativamente perpendicolare all’anello nel tratto tra lo
stesso, le espansioni polari e l'interno dell’anello, pertanto “devia”
il campo magnetico che non attraversa il centro dell’anello (cfr. le linee tratteggiate in figura).
Perciò solo la parte di ogni spira che rimane all’esterno dell’anello è interessata dal campo
magnetico. L’avvolgimento di rotore è alimentato da un contatto strisciante detto commutatore o
collettore a spazzole. Alimentando le spire in questo modo, la corrente fluisce in versi opposti:
uscente dalla figura per le spire affacciate al polo Nord, entrante nella figura per le espansioni
affacciate al polo Sud. Questa corrente, fluendo all’interno di un campo magnetico, genera una
forza che agisce sulla spira e quindi sull’anello:
F=l
I ∗
B
M= r ∗ l
I ∗
B
dove l è la lunghezza del tratto di una singola spira interessato dal campo magnetico, il quale si
ipotizza lineare, e r è il vettore diretto dal centro dell’anello a tale tratto di spira. Il momento
motore è quindi massimo in prossimità delle espansioni polari ( poichè r ┴
F ) e nullo in
prossimità delle spazzole (poiché r ||
F ).
Con una certa approssimazione riguardo alla geometria delle spire e del campo magnetico, si
può concludere che il momento motore generato complessivamente da tutto l’avvolgimento è:
M
m
= cost. rlIB
M
m
= K
T
I
dove K T è detta costante di coppia del motore.
Il momento motore così generato provoca la rotazione del rotore, in direzione dipendente
dalla posizione reciproca di
I e
B ed è comandabile tramite il verso della corrente di rotore
(corrente di armatura).
12