• Non ci sono risultati.

4.6

Progettazione del PCB

Lo sbroglio del PCB `e stato eseguito ancora utilizzando EagleCad. In figu- ra 4.19 `e mostrata la board con i suoi componenti e il collegamento dei segnali effettuato caricando la netlist generata dalla progettazione dello schematico. Il riquadro rosso rappresenta il poligono sul layer della faccia superiore del PCB per la generazione del piano di massa diffusa.

Figura 4.19: Componenti piazzati sulla board e collegamento dei segnali

Lo sbroglio del circuito `e stato realizzato tramite il processo di auto- routing su una board doppia faccia. In figura 4.20 `e mostrato il risultato del processo di auto-routing con tutte le piste correttamente generate. In rosso sono mostrati il piano di massa e i collegamenti sul piano superiore, mentre in blu i collegamenti sul lato inferiore.

Per avere un’idea dell’aspetto del PCB una volta completato, `e stato fat- to un rendering 3D del circuito con il software POV-RAY3. Nelle figure 4.21

4.6 Progettazione del PCB

Figura 4.20: Board dopo il processo di auto-routing e 4.22 sono mostrati il PCB e l’intera board con i componenti saldati.

4.6 Progettazione del PCB

Figura 4.21: Rendering 3D del PCB

Capitolo 5

Discretizzazione del sistema,

approssimazione digitale del

controllo e programmazione

In questo capitolo verr`a descritto il passaggio dal controllo tempo continuo, precedentemente trattato nel paragrafo 3.2.5, al tempo discreto. Il sistema `e infatti controllato da un microcontrollore programmato che implementa le funzionalit`a del controllo progettato in tempo continuo. Verranno trattate le principali problematiche affrontate nel passaggio dallo studio teorico del controllore all’implementazione software.

L’approccio seguito in questo progetto, fa riferimento alla figura 5.1. In questo paragrafo verranno affrontati il problema della discretizzazione del controllo e gli effetti di tale passaggio sul sistema reale. Nel paragrafo suc- cessivo sar`a invece affrontato il problema della programmazione e dell’orga- nizzazione dei task, con analisi della schedulabilit`a per garantire l’esecuzione real-time.

5.1 Discretizzazione del sistema

5.1

Discretizzazione del sistema

Con riferimento alla figura 5.2, nello schema di controllo si nota la presenza di blocchi eterogenei: il modello del motore infatti `e a tempo continuo, men- tre i blocchi relativi al controllore e ai convertitori A/D e D/A sono a tempo discreto, comandati dalla sorgente di clock.

Figura 5.2: Schematizzazione del controllo

Sulle modalit`a di interazione fra i blocchi eterogenei in questa appli- cazione `e possibile fare alcune ipotesi semplificative. Con riferimento al paragrafo 3.2.5, la funzione di trasferimento che lega la tensione di alimen- tazione alla velocit`a angolare dell’albero del motore `e a tempo continuo. La retroazione `e per`o effettuata mediante encoders. Questo tipo di sensore in maniera implicita realizza di per s´e un convertitore A/D, in quanto misura lo spostamento angolare dell’albero, restituendola per`o quantizzata su valori uguali alla propria risoluzione, ovvero il numero di tacche per ogni giro. La discretizzazione di un segnale analogico passa infatti da un processo di cam- pionamento nel tempo e da uno di quantizzazione in ampiezza. La procedura di digitalizzazione di un segnale `e mostrata in figura 5.3.

La figura 5.3 mostra la presenza di un elemento campionatore, che ha la funzione di discretizzare il tempo in intervalli regolari, il blocco quantizza- tore, che ha la funzione di approssimare il valore campionato ad ogni istante con il pi`u vicino valore discreto fornito dalla scala di quantizzazione e il bloc- co codificatore, che associa ad ogni valore quantizzato una codifica binaria rappresentativa del valore stesso. In figura 5.4 `e mostrato un segnale tempo

5.1 Discretizzazione del sistema

Figura 5.3: Digitalizzazione di un segnale continuo

continuo campionato con periodo T .

Figura 5.4: Campionamento di un segnale

L’effetto di questo procedimento `e quello di partire da un segnale tempo continuo x(t) e ricavare una sequenza x(nT ). Questo pu`o essere idealmente schematizzato moltiplicando il segnale x(t) per una sequenza di delta di dirac δ(kT ). Si ottiene cio`e:

x∗(t) = Σ x(t) δ(t − kT ) (5.1) dove x∗(t) indica il segnale campionato. Dopo questa elaborazione del segnale, ogni campione `e un numero reale che pu`o assumere con continuit`a qualsiasi valore compreso fra un massimo Vmax e un minimo Vmin. Per rapp-

5.1 Discretizzazione del sistema

resentare in forma numerica il campione, si approssima il numero reale con un numero finito M di livelli nel quale viene suddiviso l’intervallo [Vmax, Vmin].

Questa approssimazione `e realizzata dal quantizzatore. La caratteristica ingresso/uscita di un quantizzatore `e mostrata in figura 5.5.

Figura 5.5: Caratteristica ingresso/uscita di un quantizzatore Il quantizzatore `e un sistema che aggiunge una non-linearit`a al segnale in ingresso. Il risultato ottenuto dalla quantizzazione di un segnale continuo in ampiezza `e mostrato in figura 5.6.

Figura 5.6: Quantizzazione di un segnale continuo in ampiezza L’effetto della quantizzazione pu`o essere modellato come un disturbo ag- giunto al segnale. In quest’ottica il processo di quantizzazione `e una sorgente di disturbo a tutti gli effetti. L’errore di quantizzazione si modella allora come

5.1 Discretizzazione del sistema

un disturbo additivo (detto rumore di quantizzazione) sul segnale di ingresso. L’errore di quantizzazione `e allora definito da

eq(n) = xq(n) − x(n) (5.2)

ed `e mostrato graficamente in figura 5.7.

Figura 5.7: Modellizzazione dell’errore di quantizzazione Nella figura 5.8 `e invece mostrato un segnale quantizzato e il corrispon- dente errore di quantizzazione.

Figura 5.8: Segnale quantizzato ed errore di quantizzazione corrispondente

Definito

∆ = 2V

5.1 Discretizzazione del sistema

con V corrispondente al valore assoluto dell’ampiezza del segnale e M cor- rispondente al numero di livelli di quantizzazione, l’errore di quantizzazione eq(n) pu`o ritenersi uniformemente distribuito tra −∆2 e∆2. L’errore di quantiz-

zazione pu`o quindi essere visto come un processo casuale stazionario bianco a valor medio nullo a varianza (o potenza) uguale a

Peq= σ2 = ∆2 12 = ( 2V M ) 2/12 = V2 3M2 (5.4)

In figura 5.9 `e mostrata la rappresentazione grafica della potenza spettrale dell’errore di quantizzazione.

Figura 5.9: Potenza dell’errore si quantizzazione

Se il segnale ha una distribuzione uniforme delle ampiezze tra −V e +V allora la sua potenza `e pari a

Peq =

2V2

12 = 2V2

3 (5.5)

come mostrato in figura 5.10

Figura 5.10: Potenza del segnale

Applicando queste relazioni al caso specifico di questa applicazione, `e possibile fare le seguenti osservazioni: l’encoder montato sull’asse del motore

5.1 Discretizzazione del sistema

fornisce 300 impulsi per ogni giro dell’asse. Inoltre il motoriduttore ha un rapporto di riduzione τ = 50. Per cui si contano

n = 300 ∗ 50 = 15000 (5.6) impulsi per ogni giro della ruota. Questo passaggio di fatto mappa un intervallo continuo [−π, π] corrispondente alla posizione angolare dell’asse del motore, in un intervallo discreto [0, n] con n corrispondente al valore ricavato nella 5.6. Quindi assunto V = π e −V = −π e posto M = n, si ottiene la seguente espressione per la potenza del segnale

PS =

V2 3 =

π2

3 (5.7)

e per l’errore di quantizzazione

Peq=

V2 3M2 =

π2

3n2 (5.8)

per cui si ottiene un rapporto segnale/rumore pari a

SN R|db =

PS

Peq

= 10 log10(n2) ≈ 83.52db (5.9) Il valore di SN R calcolato risulta sufficiente a garantire un’adeguata misura della posizione angolare. Ricordiamo comunque che questa non sar`a la misura direttamente retroazionata per controllare il sistema, bens`ı sar`a calcolata la sua derivata, ovvero la velocit`a angolare ω = ˙ϑ, in quanto questa applicazione prevede di effettuare un controllo di velocit`a. Come sar`a spie- gato nei paragrafi successivi, per calcolare la velocit`a angolare ω `e necessario riferire la misura letta dagli encoder al tempo di campionamento. La pro- ceduta utilizzata per calcolare la derivata numerica del segnale discretizzato ϑ(kT ) `e la stessa utilizzata per calcolare la componente derivativa nel con- trollore PID. Sar`a perci`o descritta nel paragrafo successivo.

Documenti correlati