• Non ci sono risultati.

FLS

RLS

+

Figura 6.5: Fine corsa positivo e negativo

Con HS è indicata la posizione del sensore capacitivo che genera il segnale digitale relativo all’homing. In tabella sono riassunti a valori di tensione associati ai finecorsa di ciascun motore. Tali valori non sono tutti uguali a causa delle differenze di montaggio tra i sensori soft pot.

Motore 1 Motore 2 Motore 3

FLS [V] 2.271 2.33 2.281

RLS [V] 1.631 1.695 1.619

Ogni valore è ottenuto mediando una acquisizione di circa 16s con tc pari a

0.002. Tali finecorsa, implementati direttamente nel driver, sono in grado di mandare gli stessi in stato di errore. Per salvaguardare la fluidità di utilizzo con attivo il controllo in ammettenza libero, sono stati implementati dei soft end

stroke, corrispondenti ad una tensione del 10% inferiore rispetto ai precedenti. Il

comportamento del robot in corrispondenza di tali finecorsa è analogo a quello descritto in 3.2.3 e 3.3.1 per l’algoritmo di controllo dell’interferenza con il case.

6.2

Safe Homing

Con il termine homing si indica l’algoritmo necessario a far si che gli aziona- menti trovino e memorizzino la posizione considerata come lo zero dei motori. Tale azione è fondamentale, in quanto il sensore sul quale facciamo affidamento

6.2. Safe Homing 160

per la retroazione di posizione è l’encoder incrementale, e, senza una corretta e precisa procedura di azzeramento, questo risulta inutilizzabile. I driver della EL- MO hanno alcune procedure già implementate che sfruttano un segnale digitale in ingresso e i finecorsa. Nel nostro caso, al segnale digitale è stata assegnata l’uscita del sensore capacitivo, mentre i finecorsa digitali virtuali vengono accesi e spenti dai valori del potenziomentro, come spiegato al paragrafo precedente. Le procedure implementate sul driver sono molteplici, citeremo solo le due che abbiamo deciso di sfruttare. Ricordiamo che il sensore capacitivo è composto da due metà di superficie circolare. Il flag digitale Home Switch collegato a tale sensore, si alza per un range di posizioni angolari abbastanza ampio, in quanto è sufficiente anche solo una parziale sovrapposizione delle parti (Fig.6.8). Il verso di rotazione del motore è sempre noto grazie ai tre canali dell’encoder, anche prima che venga completato l’azzeramento.

Metodo 9: spostamenti iniziali positivi

Index Pulse

Home Switch

Positive Limit Switch

9

9 9

FLS

Figura 6.6: Procedura Elmo a spostamento iniziale positivo, arresto al primo index pulse con HS acceso

Con il termine index pulse si indica il passaggio dall’unica tacca del terzo canale dell’encoder. La procedura in Fig.6.6 prevede di muoversi inizialmente sempre in verso positivo. La posizione di partenza può essere di tre tipi:

6.2. Safe Homing 161

HS acceso, HS spento a sinistra del sensore, HS spento a destra del sensore. Muovendosi sempre nello stesso verso, a seconda della posizione iniziale possono verificarsi eventi diversi. Ad esempio se all’inizio della procedura HS è acceso, il motore verrà mosso in verso positivo finchè HS non si spegne, dopodichè tornerà indietro fermandosi al primo index pulse con HS acceso. Tutte e tre le possibili posizioni di partenza provocano l’arresto nel medesimo punto.

Metodo 13: spostamenti iniziali negativi

Index Pulse

Home Switch

Negative Limit Switch

13

RLS

13 13

Figura 6.7: Procedura Elmo a spostamento iniziale negativo, arresto al primo index pulse con HS acceso

Il principio è identico al caso precedente, con la differenza che gli spostamenti iniziali sono sempre negativi.

Sicurezza in homing

Gli algoritmi presentati sono estremamente efficienti, ma nel nostro caso presentano un grosso problema. In Fig.6.6 e 6.7 sono evidenziate in rosso due particolari posizioni di partenza. La logica di tutti gli algoritmi di questo tipo, prevede, per tali posizioni, di andare a ricercare i finecorsa virtuali prima di

6.2. Safe Homing 162

tornare indietro. Questa eventualità non è accettabile nel nostro caso. Rag- giungere i finecorsa potrebbe causare il contatto della piattaforma con il case. D’altro canto non è possibile utilizzare l’algoritmo di Safe-Position poichè la cinematica diretta richiede di conoscere la posizione dei motori, e non possiamo neanche avvicinare i finecorsa virtuali, poichè come visto, è possibile toccare il case con la piattaforma anche con un motore a zero. Occore un metodo per essere certi che la procedura di homing sia sempre effettuata in sicurezza, che non si affidi alla posizione dei finecorsa, i quali vengono lasciati solo come backup di sicurezza.

Studiando la cinematica del robot, è stato ricavato che, comunque siano po- sizionati i motori, se tutti si muovono verso HS, lo spostamento sarà sempre in sicurezza. Anche ammettendo di partire con piattaforma e case a contatto, uno spostamento in direzione di HS, sincrono o asincrono non ha importanza, garantisce l’allontanamento dal pericolo.

Osservando le Fig.6.6 e 6.7, gli unici casi in cui mi allontano da HS sono quelli contrassegnati in rosso. Fa eccezione il caso in cui partiamo con HS acceso, ma in entrambe le logiche, questo porta a spostamenti di ampiezza molto ridotta e sempre sicuri.

L’idea è quella di scegliere il metodo di homing in funzione della posizione rispetto ad HS, in modo che, se partiamo con HS spento, il primo spostamento avvenga sempre verso HS. Per farlo occorre utilizzare ancora il potenziometro, ma prima bisogna verificare che l’oscillazione del segnale lo renda possibile. In Fig.6.8 sono rappresentate le due metà del sensore, quella fissa in blu, e quella mobile più chiara. Il flag digitale HS viene alzato tra le posizioni angolari per le quali c’è sovrapposizione. E’ stato ricavato il corrispondente analogico della posizione di completa sovrapposizione.

L’algoritmo di Safe-Homing seguirà i seguenti passi:

• La posizione iniziale del motore viene matenuta fissa.

• Se HS è acceso, la procedura può procedere senza alterazioni con la logica 9 o 13 di Elmo.

• Se HS è spento, a seconda della logica di homing che scegliamo, potremmo trovarci in una delle zone rosse in Fig.6.8.

6.2. Safe Homing 163

• In tal caso viene avviata l’acquisizione del potenziometro. Acquisito un discreto numero di punti, viene ricavata la media del segnale.

• Il potenziometro mediato viene confrontato con il valore corrispondente dalla completa sovrapposizione (posizione delle metà sensore stazionaria in blu in Fig.6.8).

• In base al segno della differenza tra questi due valori, viene scelta la procedura di azzeramento il cui spostamento iniziale è in segno opposto. Ad esempio se la metà mobile del sensore si trova a destra di quella fissa, verrà scelta la procedura che fa muovere il motore verso sinistra, e viceversa.

q

FLS FLS RLS RLS Sensore capacitivo q q

Figura 6.8: Relazione tra segnale HS e posizione angolare del motore

Il caso più critico è quello che fa da limite tra le zone rosse e verdi in Fig.6.8; occorre verificare che i valori mediati del potenziometro siano, in questo caso

6.2. Safe Homing 164

limite, sempre distinti e che la differenza abbia sempre lo stesso segno. Questo è stato verificato con alcune prove sperimentali, le quali hanno confermato che l’oscillazione del potenziometro, una volta mediato il segnale, non mette in pericolo il funzionamento dell’algoritmo, malgrado la distanza angolare tra le due posizioni sia limitata. Garantito il funzionamento per questo caso, lo sarà anche in tutti gli altri.

Grazie a questo espediente, siamo sempre sicuri che la procedura di homing inizi con uno spostamento in sicurezza, indipendentemente dalla posizione di partenza di ciascun asse.

Acquisizione potenziometro HS [V] MEDIA SEGNALE POSIZIONE [V] +

-

⩾0 Homing Method 13 Homing Method 9 Homing offset >0 Homing offset <0 HS >0 SI NO SI NO inizio

Documenti correlati