Laboratorio di Meccanica e Meccatronica

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Laboratorio di Meccanica e Meccatronica"

Transcript

1 Università degli Studi di Pisa Appunti del corso di Laboratorio di Meccanica e Meccatronica Anno Accademico Corso tenuto da Carlo Alberto Avizzano PERCRO-SSSA Versione: 1.13 Del 2 nov 2011

2 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Sommario Sommario... 2 Premessa... 4 Meccatronica e Automazione industriale... 7 Classificazione dei sistemi meccatronici Organizzazione di un sistema Meccatronico Richiami di Meccanica Modellazione digitale delle equazioni di un punto materiale Due Masse Studio di due corpi vincolati Problema, la soluzione del bipendolo planare Implementazione del codice Definizione di Corpo rigido e di gradi di libertà Velocità e accelerazione di un corpo rigido Corpo rigido soggetto a un sistema di forze Introduzione ai Meccanismi I sistemi per il trasporto del movimento Dinamica di un meccanismo semplice Lavoro ed Energia Lavoro di Forze e Momenti Modellistica ed equivalenze tra sistemi fisici Cenni di modellazione Equivalenze Principi di Attuazione Elettrica Introduzione Principio di funzionamento I motori DC-PM Le equazioni del motore Parametri di un motore Modelli simulink Richiami di regolazione Regolazione PID Il problema della realizzazione Realizzazione Tempo Continua guadagni e blocchi integratori Simulazione digitale di sistemi di controllo La realizzazione di sistemi tramite elettronica L'amplificatore operazionale Configurazioni tipiche di uso Macchine a Stati Finiti Generazione e automazione del codice Integrazione del codice utente Driver per motori Descrizione di un H-Bridge Introduzione ai motori passo passo Modi di funzionamento

3 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica TRASDUTTORI DI MISURA Generalità sulla misura Caratterizzazione di un sensore lineare Misuratori di portata Misura della pressione Introduzione ai microcontrollori Le logiche combinatorie Le logiche Sequenziali I microcontrollori Definizione di microcontrollore Struttura di un Microcontrollore Famiglie di Microcontrollori Principi di programmazione di un Microcontrollore Lo sviluppo di software per microcontrollori Componenti di un microcontrollore I Timer Il convertitore ADC Le porte seriali I protocolli e le interfacce di comunicazione Le comunicazioni seriali L interfaccia JTAG I bus seriali: CAN, I2C e TWI Il BUS I2C/TWI/SPI Altri tipi di Bus Il bus ISA e PC

4 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Premessa Questi appunti sono dedicati agli studenti del corso di laboratorio di Meccanica e Meccatronica dell anno accademico 2011/2012 tenuto presso la Laurea Specialistica in Automazione e Robotica presso la Facoltà di Ingegneria dell università di Pisa. Rispetto alla versione 2010/2011 questa versione rivista include una maggiore attenzione agli elementi rilevati come più critici nelle verifiche di esame degli anni precedenti ed in particolare un maggior spazio per esercizi di meccanica e controllo da parte degli studenti. Gli studenti sono pregati di porre particolare attenzione alla risoluzione di questi esercizi in quanto ritenuti propedeutici alla risoluzione delle domande poste all esame. Essendo ancora in corso di sviluppo, e venendo distribuiti agli studenti in tempo breve per consentire loro un rapido accesso, risulta possibile che diversi errori siano distribuiti nel testo, gli studenti che volessero contribuire a segnalare eventuali errori possono farlo inviando una mail a c.avizzano@sssup.it. Le eventuali correzioni segnalate verranno valutate ed eventualmente integrate nelle successive versioni degli appunti che saranno postate durante il corso delle lezioni. Il corso di mira a fornire competenze di base per la modellazione, la pianificazione del movimento e la realizzazione di sistemi di automazione a controllo digitale, una particolare attenzione alla meccanica elementare del corpo rigido è stata introdotta in questa ultima versione. Il corso offre allo studente competenze per affrontare la progettazione di una architettura di controllo funzionale. Il corso esaminerà le componenti di un sistema di automazione dai quattro diversi punti di vista, modellazione dei sistemi meccanici, elettronica, programmazione e controllo. Tali tematiche verranno affrontate da una prospettiva di insieme, relazionando come eventuali scelte/limitazioni sulla struttura di controllo, meccanica, e/o elettronica si relazionino tra loro e concorrano insieme a definire le prestazioni complessive di sistema. Il termine Meccatronica appare per la prima volta in un documento di una compagnia giapponese (La Yasakawa Electric company) verso la fine degli anni sessanta. Il termine era stato composto dalle parole meccanica ed elettronica ad indicare che lo sviluppo di questi sistemi richiede una conoscenza integrata e simultanea di entrambe le discipline. Vi è in questa disciplina una profonda differenza dai dispositivi elettro-meccanici nel fatto che con questi ultimi si intende definire la realizzazione di particolare dispositivi meccanici il cui movimento viene generato da fenomeni fisici di natura elettrica. Nella meccatronica è invece l'elettronica ad essere il legante di riferimento. La meccatronica si può intendere come un processo evolutivo delle tecniche di progettazione e controllo moderne. Lo sviluppo dapprima di microcomputer, poi di

5 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica computer embedded ed infine di microcontrollori ha infatti rivoluzionato il modo di intendere le logiche di controllo consentendo ad un tempo di concepire e realizzare schemi di controllo molto complessi che qualche decennio fa venivano indicati solo come modelli teorici matematici che andavano poi semplificati per poter giungere ad una implementazione fisica. Ad oggi sono state fornite decine di definizioni differenti anche se simili di meccatronica, quella che riportiamo qui è quella utilizzata da Fukada e Harashima nel 1996: Meccatronica sono quei sistemi che presentano una integrazione sinergica di ingegneria meccanica, elettronica e sistemi di controllo intelligenti. Riteniamo questa definizione di particolare importanza in quanto mette in evidenza come le tre componenti fondamentali che costituiscono sistemi meccatronici non siano una subalterna all'altra ma richiedano una considerazione equivalente e bilanciata nelle varie fasi di progettazione. Si pensi ad esempio alla progettazione di un lettore per dischi rigidi oppure di compact disk, sarebbe inimmaginabile che chi progetta l'elettronica non tenga in considerazione specifiche problematiche meccaniche (come le prestazioni elettriche dei motori), oppure di controllo (come i tempi di elaborazione del segnale e di scheduling dei processi di controllo). Un elegante esempio del ruolo della meccatronica nello sviluppo dei sistemi moderni è offerto dall'ambiente automobilistico, rispetto agli anni cinquanta dove non la presenza di elettronica a bordo non era richiesta, via-via nel corso degli ultimi trent'anni un numero sempre più considerevole di componenti elettroniche sono state integrate. L'uso di queste componenti permette infatti non solo di raggiungere prestazioni sempre più spinte e vicine ai limiti fisici del veicolo, ma anche di verificare il corretto funzionamento delle parti senza richiedere di aprire i componenti per comprendere cosa non funzioni dentro al meccanismo. L'elettronica dentro i veicoli si sono a- perti strada prima tramite l'adozione di dispositivi in grado di controllare in maniera completamente elettronica i meccanismi elettrici interni del motore: lo spinterogeno si è col tempo trasformato da un albero di distribuzione meccanico ad un sistema e- lettronico di rilevamento della posizione e chiusura dei circuiti relativi in grado di provocare l'accensione delle miscele nei cilindri. Ben presto anche il carburatore, l'elemento meccanico in grado di miscelare aria e benzina, e di controllare il flusso di miscela da mandare ai cilindri, veniva sostituito dalla iniezione elettronica. L'iniezione elettronica ha dimostrato ben presto un progresso notevole rispetto l'approccio classico, la riduzione di parti meccaniche in movimento, soggette ad usura, depositi, vibrazioni, ha ridotto notevolmente sia i guasti dei dispositivi che semplificato le tecniche di manutenzione. L'iniezione elettronica era realizzata tramite una serie di sensori di posizione per l'albero a camme, i pistoni, il flusso d'aria, e l'acceleratore, mentre un microcontrollore dedicato determina il tempo di apertura delle valvole. La meccatronica prese successivamente un ruolo fondamentale nella progettazione automobilistica. I primi sistemi che ne risultarono furono i sistemi per il controllo e- lettronico della frenata (Automatic Braking System, ABS) ed il sistema per il controllo elettronico della accelerazione (Traction Control system, TCS). Il primo in grado di relazionare le velocità di relazione dei pneumatici con l'accelerazione rilevata da sensori a bordo, e quindi in grado di modulare la pressione del circuito idraulico in maniera da evitare il bloccaggio delle ruote, il secondo (introdotto all inizio degli anni

6 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica ) in maniera opposta regolava l'iniezione elettronica per evitare lo slittamento delle gomme durante fasi di accelerazione troppo spinta. Accelerometri Flussometri carburante Sensori rotazione Ruote Sensori rotazione Motore BUS DI COMUNICAZIONE Sensori Rotazione Sterzo Sensori Comandi Veicolo Giroscopi Sensore fumi Di più recente introduzione è il controllo dinamico del veicolo (VDC) in grado di controllare anche la rotazione angolare e le conseguenti accelerazioni centrifughe. Alcuni di voi, quelli che hanno autovetture di più recente costruzione si saranno resi conto dell'introduzione ormai in tutti i veicoli di un computer di bordo, una sorta di visualizzatore di molte delle componenti di stato del veicolo: dalla velocità corrente al consumo istantaneo, dal limitatore di velocità, al contachilometri elettronico. Il motivo di questo cambiamento è dovuto soprattutto al fatto che in questi ultimi venti anni, di pari passo al processo di generazione di nuovi servizi controllati elettronicamente all'interno della vettura, vi è stata una spinta di accentramento ed integrazione dell'elettronica di modo che gli stessi sensori possano essere utili a più di un servizio contemporaneamente.

7 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica In figura sono rappresentati solo alcuni dei sensori che sono ad oggi contemporaneamente presenti in un veicolo. L'uso combinato di questi sensori/attuatori, insieme alla ricerca nei fenomeni fisici che essi controllano ed ai meccanismi di ottimizzazione ha permesso oggi di ottenere da questi veicoli prestazioni estreme, come per il più recente common rail, che consente ai motori diesel di consumare circa la metà dei motori a benzina offrendo ad oggi le stesse prestazioni in termini di potenza, l'asr che consente di integrare in uno controllo di trazione, frenata e stabilità garantendo l'intervento elettronico per limitare al minimo le condizioni di instabilità del veicolo. Meccatronica e Automazione industriale Nel campo dell automazione industriale la meccatronica ha introdotto diversi cambiamenti sia nell approccio alla produzione che nella gestione degli impianti stessi. L approccio tradizionale alla produzione richiedeva che l impianto di produzione integrasse dei complessi meccanismi di interconnessione meccanica per definire il moto delle singole parti del sistema l una rispetto l altra ed il loro coordinamento quando tutte insieme dovessero concorrere a integrarsi in un sistema stabile. La stabilità in questo senso veniva assicurata da un meccanismo o una serie di meccanismi di regolazione (masse rotanti, valvole, molle) che prevedevano di stabilire il punto ottimo di funzionamento dell intero impianto. L introduzione della elettronica nei sistemi di produzione, del controllo numerico dei motori ed in particolare dei microcontrollori e di sistemi embedded ha reso possibile integrare tutte queste funzionalità in servizi software definiti su programmi all interno dei microcontrollori. Il passo fondamentale nella integrazione di questi sistemi è stata la possibilità di sostituire la camma tradizionale con una camma numerica. In termini di automazione tradizionale la sincronia tra gli organi di movimento viene controllata da aste mobili attorno a profili sagomati (detti camme) il cui raggio descrive le escursioni richieste nel tempo. Le camme vengono montate su uno o più alberi e fatte ruotare a velocità. La realizzazione delle camme parte da una descrizione dei movimenti nel tempo che devono essere compiuti dai diversi organi quindi codificati in profili assumendo una velocità di rotazione degli organi costante. La camma elettronica (o servo camma) si basa invece sul principio di un asse libero controllato numericamente da un sistema di elaborazione delle informazioni. L asse

8 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica della camma, viene mosso da un motore ed il profilo di posizione/velocità e/o forza nel tempo dell asse regolato dal motore. In questo modo risulta possibile ottenere il segnale di movimento meccanico necessario per il coordinamento dell organo da un comando elettrico che può essere definito all interno di una struttura di elaborazione centrale. L approccio visto per un asse può quindi essere generalizzato per un numero molteplice di organi cooperanti in una cella di produzione collegando i diversi organi non più tramite un bus meccanico ma mediante l impiego di un bus elettronico. Proprio per come sono state concepite le servo camme consentono di sostituire le camme tradizionali in maniera progressiva e contenendo quindi l impatto sulla organizzazione dell impianto di produzione ai nodi interessati dalla sostituzione.

9 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Vi sono diversi vantaggi nell introduzione di una automazione industriale, in primo luogo la possibilità di intervenire su una riconfigurazione di produzione del sistema tramite interventi prevalentemente informatici che possono quindi essere programmati simulati e verificati offline prima di qualsiasi intervento fisico sull impianto. E corrispondere quindi a un fermo macchina minimo rispetto ai tempi tradizionali. In secondo luogo, grazie alla dotazione sensoriale naturale dei sistemi di automazione risulta possibile integrare sistemi di diagnostica e controllo della produzione tramite gli stessi sensori e comunque la stessa elettronica utilizzata per la produzione. In aggiunta rispetto ai sistemi a camma tradizionale, l integrazione con un sistema di analisi del prodotto consente anche l integrazione di procedure di produzione in feedback, che possono cioè reiterare e/o modificare i tempi di intervento in funzione di caratteristiche osservate sul prodotto. Ad esempio in una stazione di saldatura, il tempo per la saldatura può essere variato in funzione delle caratteristiche del prodotto, ambientali e del materiale impiegato. In un impianto moderno i sistemi di controllo e automazione sono organizzati per via gerarchica partendo dai più elementari dispositivi meccanici, proseguendo per le u- nita, le celle, i reparti le aree fino a coprire tutto lo stabilimento e anche in alcuni casi interconnessioni tra i diversi impianti di una azienda complessa. Ad esempio nei sistemi di produzione dell energia elettrica tutti i diversi impianti sono gestiti non solo autonomamente ma anche centralmente in maniera da consentire in caso di fallimento di un generatore strategie di compensazione che possano re direzionare la distribuzione di carico tra le diverse centrali distribuite sul territorio. Nel campo del packaging, ovvero gli impianti di produzione di macchine per impacchettare prodotti (scatole, bottiglie e contenitori di varia natura), i fornitori degli impianti installano anche delle linee di osservazione e controllo in maniera da monitorare centralmente lo stato di salute dell impianto e di programmare la sostituzione e/o di effettuare riparazioni software sfruttando la ridondanza di alcune componenti di produzione. In termini tecnici si usa definire queste tecniche con diversi acronini: CIM, computer integrated manufacturing, per indicare la capacità dell impianto di produzione di coordinare le attività dei vari reparti, celle, unità; PCS, process control system, per indicare la possibilità che questo coordinamento sia anche assoggettato a un controllo di produzione regolabile in maniera tale che risulti possibile definire le strategie di produzione in funzione degli approvvigionamenti e di costi esterni di produzione (ad e- sempio quello dell energia); MES, manufacturing execution system, utilizzato per indicare la possibilità a livello di dirigenza di coordinare le strategie di produzione industriali con i sistemi di pianificazione e i meccanismi di gersione delle risorse a- ziendali (ERP, Enterprise, Resources, Planning).

10 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Classificazione dei sistemi meccatronici Abbiamo visto quali sono le componenti di un sistema meccatronico, ma come possiamo definire se un sistema sia meccatronico o meno. Vediamolo con un esempio. Un ascensore può considerarsi un sistema meccatronico? I primi modelli di ascensore, erano una specie di carrucole evolute azionate tramite forza umana e/o animale, essi venivano usati sopratutto nell'edilizia come sistemi montacarichi per trasportare i pesi in alto. Successivamente, i motori elettrici hanno fatto la loro comparsa già dagli anni '40 ed i primi ascensori furono introdotti verso la metà degli anni '50. Si può dire, in tempi non sospetti per la Meccatronica. Nessuno allora avrebbe osato pensare che questi sistemi potessero essere considerati sistemi meccatronici. Ed in effetti è così, gli a- scensori, almeno quelli stile anni '50 non sono sistemi meccatronici: l'apertura delle porte viene realizzata con dei dispositivi di sblocco meccanico all'arrivo al piano, un selettore elettrico permette di combinare i punti di attacco e stacco per la partenza e l'arrivo della cabina, non vi sono in sostanza nessun particolare accorgimento elettronico e/o digitale per ottimizzare ed informatizzare il processo. Se questo è vero per i primi ascensori, fino alla fine degli anni settanta, lo stesso non può dirsi per gli ascensori moderni. Oggi un sistema di prenotazione elettronica delle fermate permette di definire il percorso ottimo che deve eseguire la cabina. Un sistema di controllo elettronico dell'accelerazione permette di percorrere nei grattacieli oltre centinaia di piani in pochi secondi senza costringere i passeggeri a sensazioni sgradevoli di vuoto nello stomaco. Sistemi di sicurezza elettronica consentono di auto-diagnosticare problemi di sospensione e frenare la cabina verso l'uscita più vicina. Si può dire sicuramente che i moderni ascensori sono il frutto di un approccio meccatronico al problema del trasporto. Per quanto detto risulta facile immaginare che i sistemi meccatronici possano essere applicati ovunque vi sia una sorta di meccanismo o di automazione di un processo.

11 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Con l'eccezione del settore veicolistico che è stato per anni trainante della meccatronica e per la quale esiste ad oggi un particolare interesse, è comune quindi distinguere le tipologie di sistemi meccatronici per settore applicativo piuttosto che per tipologia di applicazione. Le metodologie di progettazione Meccatronica vengono applicate ai seguenti settori: sistemi di produzione industriale: macchine di assemblaggio e logistica, controllo componenti e distribuzione. L'introduzione della meccatronica ha permesso la realizzazione integrata di nuovi servizi per la produzione ed la logistica fino a ieri inimmaginabili. Dal just-in-time giapponese, modello per la produzione rapida degli autoveicoli, oggi si parla di logistica del territorio in altri termini, dove i magazzini di concentramento sono completamente gestiti da logiche automatiche e AGV che raccolgono e distribuiscono i componenti nella fabbrica; sistemi di lavorazione di precisione: il contributo integrato di elettronica e meccanica consente oggi di ottenere lavorazioni di precisione tramite macchine cosiddette a controllo numerico che ossia sono in grado di modellare precise geometrie inseguendo traiettorie definite numericamente e non tramite meccanismi; veicolistica, non solo le autovetture, già viste in precedenza, ma tutti i dispositivi di trasporto che possono essere azionati e/o sorvegliati elettricamente. Si pensi che il trend corrente di sviluppo è quello di trasformare l'autoveicolo in un vettore elettrico dove le macchine a combustione interna serviranno solo come fonte principale di energia il cui consumo verrà poi bilanciato e ottimizzato esclusivamente da reti elettroniche; sistemi elettronici ad alta specializzazione: robot, microscopi elettronici, domotica e automatizzazione di dispositivi per la casa, dispositivi per l'intrattenimento, interfacce per ambienti virtuali, simulatori. La Comunità Europea stima che il prossimo decennio il volume di mercato di questo settore aumenterà di un fattore 10 fino a diventare uno dei principali business. Micro-meccatronica: è la sfida del prossimo ventennio. Le nuove tecnologie MEMS (Micro Electronical Mechanic Systems) hanno studiato la messa a punto di processi per la realizzazione di dispositivi meccanici miniaturizzati dove elettronica di controllo sono integrati su un medesimo chip. Si tratta quindi di dispositivi automatici dalle dimensioni miniaturizzate che pur non servendo come strumenti di potenza nel futuro saranno in grado di realizzare centinaia di servici: biomedicina, ispezione, pulizia,... Organizzazione di un sistema Meccatronico Al fine di comprendere l'organizzazione di un sistema meccatronico, in figura abbiamo rappresentato uno schema semplificato delle componenti che lo possono caratterizzare:

12 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Utente BUS e DAC Driver di Potenza Attuatori Meccanismi Ambiente Sensori Propriocettivi Sensori Esterocettivi Definizione del comportamento Driver di Segnale Driver di Segnale Digital Controller BUS e ADC Riferimento Dove in verde sono state raffigurate le componenti che richiedono una conoscenza prettamente meccanica/fisica dei fenomeni di interazione, in rosso le componenti elettroniche ed in giallo quelle di controllo. In blu chiaro infine sono rappresentate le caratteristiche esterne dell'applicazione (obiettivi e utenti) che sono solitamente le varianti del problema, le uniche di cui generalmente sappiamo inizialmente le specifiche. Come detto in precedenza la tendenza è quindi quella di ridurre al minimo qualsiasi complessità meccanica quando questa può venire sostituita da un sistema equivalente di controllo elettronico o digitale. Il ruolo dei meccanismi viene quindi concepito esclusivamente per effettuare i movimenti naturali che il sistema deve esibire. Gli attuali sistemi di controllo digitale consentono infatti di realizzare funzioni nonstazionarie e non-lineari di controllo altrimenti impensabili anche combinando i più complessi meccanismi ad oggi concepiti. Talvolta, quando la legge di controllo è relativamente semplice (si può ovvero rappresentare come una funzione di trasferimento lineare tra ingressi ed uscite di ordine ridotto), il sistema digitale di controllo potrà essere sostituito da particolari reti analogiche che vedremo durante il corso.

13 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Richiami di Meccanica In fisica con il termine meccanica si indica l insieme delle teorie che si occupano del movimento dei corpi. In questa sezione rivedremo alcuni concetti fondamentali di meccanica che possano aiutarci a partire dalla formulazione delle equazioni fisiche per un punto materiale a definire il comportamento di sistemi meccanici articolati.

14 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica In particolare questa analisi verrà condotta introducendo alcuni concetti necessari quali sistemi di particelle, sistemi di forze. Lo studio di questi sistemi verrà effettuato partendo dalla meccanica del punto materiale ed in particolare dalle tre leggi fondamentali della dinamica. In particolare, mentre in meccanica del punto materiale si considera un solo punto (o particella) avente una massa definita sul quale agisce una forza, somma di tutte le forze applicate al punto, quando si prende in considerazione un corpo fisico bisognerà considerare che sul corpo può agire un numero arbitrario di forze comunque o- rientate nello spazio ed applicate in diversi punti del corpo. Nel seguito ci limiteremo a considerare esclusivamente sistemi composti da corpi rigidi. Riprenderemo in alcuni riquadri a margine del testo alcuni elementi di geometria dei vettori e delle matrici che risulteranno utili per una migliore comprensione dei contenuti discussi nel capitolo. Modellazione digitale delle equazioni di un punto materiale La meccanica del punto materiale si basa sulle tre leggi fondamentali formulate ne Newton nel suo lavoro (Principia, 1687). In particolare la prima legge affferma che se la risultante delle forze applicate a un corpo è nulla allora la particella si nuove di moto uniforme. La seconda legge (vettoriale) esprime un concetto di proporzionalità tra la risultante delle forze e la variazione della quantita di moto Infine la terza legge stabilisce che le forze interne di due o più punti costituiscono un sistema auto equilibrante, nel caso di due forze ad esempio esse avranno la stessa ampiezza, retta comune di azione e direzione opposta. Nel ambito del presente corso, ogni equazione differenziale, espressa tramite relazioni tra componenti fisiche, in forma di stato, di funzione di trasferimento, o altro potrà essere utilizzata sia per creare un modello del sistema da controllare, che lo sviluppo del controllore necessario per la sua regolazione. Si noti che in generale, per lo sviluppo di un controllore non è richiesto che il sistema di controllo necessiti di un modello del sistema da controllare, tuttavia ciò risulta e- stremamente utile sia per la messa a punto e la verifica delle proprietà della regolazione effettuato sia quando risulti necessario procedere ad una regolazione ottima, che richieda quindi un modello inverso del sistema. Consideriamo ad esempio un sistema composto da una massa una molla e uno smorzatore, ristrutturando la seconda legge di Newton potremo scrivere:. Dove, che può essere rappresentata schematicamente dal seguente diagramma:

15 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Figura 2.1 Modello di una massa semplice soggetta a forza elastica e viscosa Dove la stessa schematizzazione vale ogni qual volta i contributi delle eventuali forze dipendono linearmente dalla posizione e dalla velocità del corpo in movimento. Lo schema proposto, realizzato con simulink, permette la simulazione della dinamica di un punto materiale nello spazio tridimensionale, sfruttando la possibilità di simulink di rappresentare simultaneamente operazioni su segnali vettoriali (componenti a tre dimensioni in questo caso). Anche in questo sistema semplificato, nella realizzazione di un modello fisico occorre sottolineare queste caratteristiche di analisi e controllo degli schemi che ci aiuteranno anche per lo sviluppo di sistemi più complessi: 1. Analisi dei segni di retroazione: è necessario verificare che intorno alle condizioni di equilibrio stabile, i segni assunti dalle variabili retro azionate siano negativi, in maniera da garantire che piccole distorsioni di segnale contribuiscano a richiamare il sistema verso la posizione di equilibrio. Nel caso di sistema lineari, come noto da teoria dei sistemi la stabilità è una proprietà globale (di tutto lo spazio di stato) per cui basterà verificare il numoer di cambiamenti di segno nelle retroazioni. 2. Analisi/Verifica della risposta al tempo 0+, tagliando lo schema in corrispondenza di tutti i sottosistemi propri, in questo caso gli integratori, ed assumendo l invarianza delle rispettive uscite in corrispondenza di ingressi arbitrari, risulta possibile determinare la risposta al tempo 0+ e verificare la corrispondenza fisica con la risposta attesa dal sistema; 3. Verifica delle condizioni di equilibrio o di regime. Se il sistema, sottoposto a degli stimoli costanti, risponde con una risposta a regime costante, risulta possibile verificare che tale risposta sia una soluzione di equilibrio del sistema e controllare l identità degli anelli di controllo a tale soluzione di equilibrio (in particolare ingressi degli integratori nulli). 4. Imposizione di vincoli e tagli di controllo. In particolare quando risulti particolarmente difficile identificare la correttezza delle proprietà dinamiche del si-

16 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica stema nel suo complesso, risulta possibile verificare che alcune suo componenti rispettino i comportamenti dinamici previsti. Ciò può essere analizzato: tagliando lo schema in alcune parti e verificando le proprietà dinamiche dei sistemi così sezionati, oppure imponendo degli ingressi costanti in punti particolare e verificando che tali vincoli generino le risposte attese dal sistema. Inoltre in ogni caso, per una maggiore coerenza ed una riduzione degli errori del sistema risulta opportuno: 1. Segnare per ogni segnale la tipologia di segnale utilizzata e quando questa non rispondente al sistema MKS identificare anche le unità di misura impiegate; 2. Accorpare/riunificare moduli fisicamente assiemati tali per cui risulti indistinguibile separare determinate componenti fisiche (es. unità motore, ). Tali moduli potranno essere riutilizzati e mascherati negli schemi secondo necessità. Esercizio: Dato il moto di un corpo flottante nello spazio e soggetto alla sola forza di gravità si realizzi uno schema di simulazione tramite il formalismo grafico di Simulink che tenga conto dell effetto della forza di gravità, della Massa e delle forze viscose che un fluido in cui si muove il corpo potrebbe esercitare sul corpo in movimento. Esempi esercizi di modellazione Fisica: ES1: Una canoa di 60Kg percorre un tratto di fiume rettilineo che scorre a una velocità pari a 0,16 m/s. Il canottiere spinge con una forza pari a 160N durante la fase di passata di 0,8 secondi e forza nulla durante la fase di ripresa pari a 1,2 secondi. Sapendo che il coefficiente di attrito è pari a barca dopo 2 minuti. E se invece fossimo stati a favore di corrente., calcolare dove si trova la

17 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Soluzione: Risolvere l equazione differenziale generata in forma chiusa risulta complicato sia dalla irregolarità del segnale di spinta sia dalla non linearità della componente viscosa dovuta alla resistenza dell acqua. Tuttavia in questo caso le relazioni differenziali descrittive dell interazione tra l accelerazione della barca e le componenti su di essa interagenti sono molto semplici e possono pertanto essere facilmente implementate tramite simulink. Si prenda lo schema di figura 2.1 e lo si raggruppi nel blocchetto funzionale Massa assegnandovi la massa dell imbarcazione e condizioni iniziali nulle. Vi si aggiungano due forze per modellare il moto: la componente di spinta del vogatore e la componente di resistenza della corrente. La prima calcolata in base ai dati come un onda squadrata il cui periodo di attività (160N) è di 0.8 secondi, e quello di inattività (0N) pari a 1.2 secondi. La seconda come una forza proporzionale al quadrato della velocità relativa tramite il coefficiente di accoppiamento dato. Tale forza si oppone al moto relativo e pertanto necessita di un segno meno nella retroazione. Il risultato si otterrà sul display impostando un tempo di simulazione pari a 120 secondi. Esempio (Democava): Si consideri l'esempio di figura, una pallina di massa data, partendo da posizione iniziale arbitraria, rimbalza in una ciotola di raggio L. Data la posizione iniziale e la massa determinare dove di trovi la pallina dopo un tempo arbitrario T. (Dati: P=1,7.5, L=5, T=25s).

18 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Sono inoltre disponibili tutti i dati necessari alla modellazione del problema, ovvero: posizione iniziale di partenza, velocità nulla, coefficiente di restitutione al rimbalzo (inizialmente uguale a 1) e raggio della conca. considerazione matematica, il moto del sistema rappresentabile quasi sempre con le equazioni di moto di un corpo libero soggetto esclusivamente alla accelerazione di gravità, per cui dette (x,y) le coordinate di movimento della pallina, misurate rispetto al centro della conca, potremo scrivere: una attenzione particolare per descrivere la modellazione del sistema va posta all'analisi del momento dell'urto. In tale condizione, con le condizioni poste (coefficiente di restituzione uguale a 1) l'energia complessiva del sistema rimane inalterata, e, non cambiando l'energia potenziale, ne risulta che all'urto la velocità di uscita è identica alla velocità di ingresso. Per calcolare la nuova direzione di uscita dovremo quindi imporre insieme a questo vincolo, la conservazione della velocità tangenziale rispetto alla direzione della superficie della conca locale nel punto dell'urto. Per cui detti Vt e V t le velocità tangenziali prima e dopo l'urto e Vn e V n le velocità normali prima e dopo l'urto, l'impulso relativo all'urto potrà essere definito dalle seguenti relazioni: V t=vt, V n=-vn Infine la condizione di urto potrà essere identificata confrontando la posizione della pallina con il raggio della conca x,y > L. Definizione del modello simulink: Per la implementazione del modello dovremo descrivere le equazioni tramite 4 variabili di stato. Per semplicità di rappresentazione utilizzeremo la posizione e la velocità lungo i due assi cartesiani descritti da orizzonte (X) e direzione del vettore gravità (Y). Inoltre le variabili di stato di posizione possono essere determinate direttamente dalle variabili di stato di velocità tramite una semplice integrazione. Potremo integrare la velocità della pallina utilizzando le informazioni di accelerazione disponibili, ma ponendo particolare attenzione a gestire separatamente il caso dell'urto. A tal fine possiamo utilizzare la possibilità di gestire sugli integratori condizioni di reset particolari. Lo schema che ne deriviamo è il seguente:

19 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica La difficoltà di integrare la dinamica del movimento in questo caso è dovuta alla alternanza di equazioni dinamiche lineari descriventi la fase di volo della pallina con equazioni impulsive determinate dai rimbalzi e dalla geometria del sistema. In questo caso alla struttura di doppio integratore necessaria per descrivere il movimento di una massa, deve essere necessario affiancare un sistema che consenta di alterare il valore integrando della velocità nel momento di urto. Il primo integratore presenta un trigger che permette di resettare il valore della variabile di stato integrata (la velocità) al valore calcolato per il rimbalzo dovuto all'urto. Il trigger viene attivato dalla condizione di superamento del raggio di conca (per cui il suo istante di effettiva rilevazione dipende dal passo di simulazione!). Ciò si fa rilevando il momento di urto con un confronto tra posizione e geometria (Compare to constant), e determinando la nuova velocità invertendo la componente di velocità normale alla superfice durante l urto (Vout=Vin-2*VN). L introduzione della cella Memory, si rende necessaria affinché matlab non rilevi un loop algebrico tra l uscita dell integratore ed il suo ingresso. La presenza del loop a- vrebbe difatti alterato la modalità con cui matlab simulerebbe il comportamento del sistema. Un loop algebrico è infatti caratterizzato da un anello composto da tutti sistemi propri ma non strettamente nei quali il valore degli ingressi altera il valore delle uscite. Un anello di questo tipo non è fisicamente realizzabile con i meccanismi di simulazione di matlab. Quando simulink trova un anello di questo tipo in una simulazione cerca di risolverlo applicando all anello un metodo di convergenza basato sull algoritmo di Newton per vedere se esista una soluzione di regime che risolva e-

20 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica sattamente l anello. In tal caso prende per buona tale soluzione e continua la simulazione. Nel caso dell urto della pallina abbiamo invece calcolato il valore esatto che vogliamo sostituire all uscita per il calcolo della velocità all istante successivo e tale valore non vogliamo che venga alterato da simulink. Il modo più rapido per procedere in tale operazione è quindi quella di inserire un ritardo nella sostituzione di un passo di campionamento che rende efficaci i nostri valori nell istante successivo di simulazione 1. Le soluzioni di modellazione, pur avendo solitamente delle implementazioni ottimali, sono spesso non univoche ed aperte a diverse modalità di implementazione. Ciò sia per una ridondanza degli strumenti di modellazione che per una implicita equivalenza di fenomeni fisici (come vedremo nei prossimi capitoli). Ogni soluzione adottata sarà più o meno efficiente a seconda della sua capacità di ottimizzare i tempi di calcolo e di rappresentare propriamente l accesso ed il controllo alle variabili fisiche sottostanti il processo da controllare. Segue un esempio di modellazione alternativa dove si siano impiegate le Embedded SFunction per implementare le funzioni logiche matematiche nel loop di simulazione. 11 L introduzione dell elemento ritardo altera anche il comportamento della simulazione venendo la velocità sostituita in un istante temporale non coerente con quello in cui è stata calcolata. In tal caso risulta possibile verificare che il ritardo introduce una perdita di energia nel sistema dovuta alla impropria simulazione. Tale perdita di energia è comunque contenibile diminuendo a sufficienza (rispetto la durata della simulazione e le velocità in gioco) l intervallo di simulazione tramite gli opportuni parametri di configurazione di simulink.

21 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Modellazione tramite codice C: Per modellare il sistema in codice C/C++ risulterà necessario introdurre variabili per ogni elemento descrittivo del sistema (costanti, variabili di stato, passo di integrazione) nonché alcune variabili ausiliare per effettuare i conti. La struttura del codice C potrà essere definita in tre parti: 1.Inizializzazione della simulazione 2.Inizializzazione del sistema 3.Ciclo di aggiornamento e stampa delle variabili di stato. #include<iostream> #include<fstream> using namespace std; #define SCAL(X1,Y1,X2,Y2) (((X1)*(X2))+((Y1)*(Y2))) #define X p[0] #define Y p[2] #define Vx p[1] #define Vy p[4] int main (){ const double l=10, x0=4, y0=0; double p[4], t, stop_time, step_time, g=9.81; double n[2], tempn; //initialize simulation ofstream myfile("xy.mat"); // file destinazione stop_time=100; // Caratteristiche di integrazione step_time=0.001; //Assegnazione delle condizioni iniziali X=x0; Vx=0; Y=y0; Vy=0;

22 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica //Ciclo di simulazione for(t=0; t<stop_time; t+=step_time) { X += Vx*step_time; // Vx =Vx Y += Vy*step_time; Vy += -g*step_time; n[0]=x/l; n[1]=y/l; } } //questo da solo fa il moto del corpo libero if(scal(n[0],n[1],n[0],n[1]) >= 1) { tempn = -2*SCAL(Vx,Vy,n[0],n[1]); Vx +=tempn*n[0]; Vy +=tempn*n[1]; } myfile << t << ' '<< X <<' ' <<Y<< endl; //devo scrivere il nel file Due Masse Prendiamo in considerazione il sistema descritto da una coppia di masse puntuali soggetta a due forze ciascuna esercitata su ogni massa. Siano m1 e m2 le rispettive masse, F1 e F2 le risultanti delle forze esterne applicate (la cui somma, per la terza legge di Newton risulta pari anche alla risultante delle forze complessive). Per, scrivendo la seconda legge di Newton sul corpo, cui avremo: Che con un po di manipolazione algebrica diventa: Definito quindi baricentro il punto corrispondente a: L equazione del baricentro potrà essere descritta da:

23 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Sistema di N masse Se un corpo è invece composto di N particelle possiamo dividere le forze in due gruppi, quelle che sappiamo essere interne al sistema di particelle e quelle che agiscono dall esterno. Potremo quindi scrivere, per ogni particella: E sommando per tutte le particelle del sistema, otterremo: Il cui secondo membro si annulla per il principio di azione e reazione, per cui Dove si definisce risultante di un sistema di Forze la somma vettoriale delle forze e- sterne che agiscono su un sistema: Definendo inoltre la Massa del sistema come, E centro di massa del sistema il punto G calcolato come: Potremo scrivere che: Esercizio: La definizione di centro di massa di un sistema di masse non dipende dal sistema di riferimento scelto, ma è un punto unico indipendente dallo stesso. Studio di due corpi vincolati Un bipendolo è un pendolo composto di due masse puntiformi M1 (=3Kg), M2 (=2Kg), collegate tra loro tramite un filo e a loro volta collegate a un riferimento fisso tramite un filo attaccato alla prima delle due masse. Si modelli la dinamica del sistema nel caso che i fili di collegamento abbiano lunghezza L1 (=2m), e L2 (=1m) e siano inestensibili, a partire da condizioni iniziali pari a 30, 45 gradi rispetto alla verticale.

24 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Problema, la soluzione del bipendolo planare Si prenda per Riferimento lo schema di figura dono sono indicati il verso positivo degli assi, il verso positivo delle rotazioni, i versori, concordi con le notazioni di cui sopra assegnati sui vincoli e chiamati (Nx e Tx). Di seguito si utilizzeranno le lettere minuscole per le variabili scalari e le lettere iniziali maiuscole per i vettori. Copieremo alternativamente al testo descrittivo della risoluzione pezzi di codice matlab utili a determinare il modello analiticamente tramte le funzionalità di calcolo simbolico disponibili in matlab. Le variabili del sistema sono per noi i due angoli espressi rispetto alla verticale come illustrato in figura. Utilizzeremo altresì le posizioni dei corpi per correlare le e- quazioni ai principi della dinamica. Chiameremo inoltre i contributi di forza dovuti al peso. Chiameremo infine la tensione che si genera sul filo che interconnette le due masse, mentre come vedremo non sarà necessario porre attenzione alla tensione del filo che connette la sola massa 1 al sistema inerziale di riferimento. In accordo con quanto detto avremo: Che in codice matlab risulta espresso da: % Definizione delle costanti di sistema tutto gli scalari hanno % iniziale minuscola syms l1 l2 m1 m2 g real % Definizione delle variabili di stato syms t1 t2 t1p t2p t1pp t2pp real %definizione delle forze peso metto i vettori con iniziale maiuscola syms F1p F2p real G1 = [0 -m1*g]'; G2 = [0 -m2*g]'; % Definizione dei versori paralleli e tangenziali ai fili OP1, P1P2 % Ci servono per semplificare i calcoli e ridurre le altre variabili % a semplici scalari syms N1 T1 N2 T2 real N1 = [sin(t1) -cos(t1)]';

25 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica T1 = [cos(t1) sin(t1)]'; N2 = [sin(t2) -cos(t2)]'; T2 = [cos(t2) sin(t2)]'; Si noti in particolare come matlab consenta non solo di operare la definizione di variabili numeriche ma anche di adottare per alcuni conti particolari variabili simboliche. Con il toolbox simbolico di matlab risulta quindi possibile operare manipolazioni algebriche di formula per la derivazione di modelli analitici da utilizzarsi poi nelle funzioni di simulazione oppure tradotti in numeri nella verifica di opportune proprietà di sistema. Abbiamo introdotto anche le componenti normali e tangenziali delle orientazioni dei fili per consentire di esprimere senza ricorrere alla definizione dei prodotti vettoriali le equazioni dinamiche del sistema. In particolare dovremo sviluppare le due seguenti equazioni: (1) (2) Dove le accelerazioni dei due corpi possono essere calcolate come accelerazioni dovute al trascinamento per rotazione (corpo 1) e rototraslazione (corpo 2) in funzione quindi delle sole 2 variabili di stato teta. In particolare avremo: (3) (4) Che in codice matlab diventa: % Calcolo della (posizione velocita' ed) accelerazione dei corpi % P1=l1*N1; % V1=l1*T1*t1p; % P2=P1+l2*N2; % V2=V1+l2*T2*t2p; syms A1 A2 real A1 = l1*t1*t1pp - l1*n1*t1p^2; A2 = A1 + l2*t2*t2pp - l2*n2*t2p^2; Dal confronto delle equazioni (1) e (3) rileviamo che la componente vincolare del filo non produce mai momento lungo la direzione del filo per cui se espressa tramite e- quilibrio di momenti rispetto al polo O fornisce una soluzione chiusa più facilmente correlabile alla nostra variabile di stato (in pratica ignoriamo l equazione dinamica del vincolo che riteniamo automaticamente soddisfatta). Di fatto moltiplicando (prodotto vettoriale) ambo i membri della (1) per il vettore OP 1 otteniamo: Da cui si deriva l equazione di equilibrio sulla θ 1 come:

26 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica (5) Che può essere determinato tramite i comandi matlab: % L'equazione di equilibrio dinamico ad un corpo puo` % essere risolta in matlab tramite il comando solve da % eseguirsi su una funzione implicitamente uguagliata a % zero. In questo caso il prodotto vettoriale viene calcolato % inserendo il modulo del braccio ed un prodotto scalare syms f01 f12 equil1 t1sol real equil1 = simple((m1*a1-g1+f01*n1-f12*n2)'*l1*t1) t1pp=simple(solve(equil1,'t1pp')) t1pp =-(f12*sin(t1 - t2) + g*m1*sin(t1))/(l1*m1) La conoscenza della forza di reazione vincolare non è quindi necessaria quando si considera il momento delle forze intorno al polo fisso. Per motivi di coerenza fisica nella seguente implementazione fisica non semplificheremo il coefficiente l 1 posto a moltiplicare tutti i termini della equazione. Tale equazione che per essere risolta richiede di conoscere l entità della reazione vincolare f 12 e che in particolare siamo in grado di riscrivere come estensione del modello del pendolo semplice, ma stavolta soggetto a una forza aggiuntiva. È possibile risolvere tale valore solo introducendo la dinamica della seconda massa. In maniera analoga l equazione di moto del secondo corpo può essere derivata combinando insieme la (2) e la (4), ottengo quindi: (6) Se suppongo l accelerazione del punto P 1 nota, tale equazione è una equazione vettoriale in due variabili e due incognite, ma dove dalla struttura della equazione scopro che la tensione del cavo contribuisce solo nella direzione N 2 ed è pertanto disaccoppiabile tramite prodotto scalare dal resto del sistema. Per cui potrò scrivere due equazioni indipendenti in grado di risolvere θ 2 e f 12 moltiplicando per i versori normali e tangenziali (questa volta effettuo due prodotti scalari non un prodotto vettoriale). Cominciamo a calcolare la forza di reazione vincolare:

27 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Per cui come era ipotizzabile la tensione che si genera sul filo che interconnette le due masse e che accelera la seconda massa è proporzionale a quest ultima secondo un fattore che dipende da forza peso, accelerazione centrifuga ed accelerazioni di trascinamento del primo corpo. Tali equazioni possono essere verificate con Matlab tramite i comandi: % L'equazione del vincolo si determina in maniera analoga proiettando % l'equazione di equilibrio della seonda massa lungo la direzione % N2. Ed usando solve in maniera analoga syms equil12 real equil12 = simple((m2*a2-g2+f12*n2)'*l2*n2); f12=simple(solve(equil12,'f12')) f12 = m2*(l1*cos(t1 - t2)*t1p^2 + l2*t2p^2 + g*cos(t2) + l1*t1pp*sin(t1 - t2)) Sono quindi presenti sulla reazione vincolare diversi contributi: in termine centrifugo proporzionale al quadrato della velocità angolare della seconda massa, un termine forza dovuta alla accelerazione di trascinamento del punto P1 (sia centrifuga che tangenziale) e proiettata opportunamente nella direzione di moto, ed infine un termine dovuto alla accelerazione di gravità cui è soggetta la seconda massa. L equazione dinamica della θ 2 potrà infine essere determinata esaminando le componenti ortogonali alla reazione vincolare, che come atteso non dipendono dalla reazione vincolare stessa. Che annullando i prodotti ortogonali diventa: E quindi E sviluppando il termine di accelerazione della prima massa: Che diventa: Le tre equazioni di possono essere implementate in tre embedded matlab function e risultare nel seguente schema, dove la embedded M function implementa il codice seguente: function [t1sol, t2sol] = fcn(t1pp,t1p,t1,t2pp,t2p,t2, m1,m2,l1,l2,g) s12=sin(t1-t2);

28 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica c12=cos(t1-t2); t2sol = (l1*s12*t1p^2 - g*sin(t2) - l1*t1pp*c12)/l2; f12sol =m2*(l1*c12*t1p^2 + l2*t2p^2 + g*cos(t2) + l1*t1pp*s12); t1sol = -(f12sol*s12 + g*m1*sin(t1))/(l1*m1); Rimane tuttavia una relazione algebrica tra I valori stimati delle accelerazioni e I loro valori reali, sara pertanto necessario riformulare l equazione per eliminare la dipendenza diretta dalle derivate (può essere fatto anche simbolicamente) function [t2sol, t1sol] = fcn(t1p,t1,t2p,t2, m1,m2,l1,l2,g) s12=sin(t1-t2); c12=cos(t1-t2); t1sol = -((m2*(l1*c12*t1p^2 + l2*t2p^2 + g*cos(t2))*s12 + g*m1*sin(t1)))/ (l1*m1+ l1*m2*s12^2); t2sol = (l1*s12*t1p^2 - g*sin(t2) - l1*t1sol*c12)/l2; Lo schema risultante è il seguente:

29 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Implementazione del codice Si scriva e si verifichi un programma in codice C (o C++ che abbia lo stesso comportamento). #include<iostream> #include<fstream> #include <math.h> int main (){ const double l=2, x0=40*pi/180, v0=0, m=3, g=9.81; double X[DOF], XP[DOF], t, stop_time, step_time; //inizializzo la simulazione stop_time=10; step_time=0.001; //setup of initial condition X[0]=x0; X[1]=v0; // Ciclo di simulazione for(t=0; t<stop_time; t+=step_time){ // Calcolo delle derivate XP[0] = X[1]; XP[1] =-(m*g*l)/(m*l*l)sin(x[0]); // Ciclo di Integrazione (Algoritmo di Eulero all indietro) X[0] += step_time*xp[0]; X[1] += step_time*xp[1]; } } // Stampo l angolo Printf ( %8.16g\n,X[0]);

30 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Esercizi di cinematica / dinamica del punto Questi esercizi non fanno parte delle lezioni del corso ma il loro svolgimento potrà aiutare lo studente a rivedere eventualmente alcuni concetti chiave per la modellazione e lo studio del corso. Es. 1: Due macchine (considerate puntiformi) si avvicinano ad un incrocio urbano, ognuna alla velocità massima consentita (50Km/h). La prima macchina M 1 ha diritto di precedenza ed al tempo t 0, essa dista 150 metri dall incrocio. Di determini, in funzione della distanza dall incrocio, la decelerazione costante minima che consenta alle macchine di rispettare l ordine di precedenza; Sol: sia v=50km/h, d=150 detti t1 il tempo di attraversamento di M1 e t2 il tempo di attraversamento di M2 sarà: t1<t2, per cui: Es. 2: Si implementi il modello cinematico delle vetture tramite simulink e si verifichi l appropriatezza del modello di guida proposto indipendentemente dalle condizioni iniziali. Sugg: si usi un doppio integratore per rappresentare il modello dei veicoli e le condizioni dei medesimi iniziali per rappresentare posizione e velocità; Es. 3: Con riferimento allo schema della figura al lato si analizzi il moto del sistema, si assegnino i versi di rotazione e traslazione dei corpi. Sapendo che y1 si muove con una accelerazione verso il basso pari a 1m/s 2, e che y2(0)=15m, si determini la velocità e la posizione del blocco P2 al tempo t=3 nell ipotesi che r1 sia doppio riespetto a r2. Es. 4: Il moto di ascensore di un albergo presenta accelerazioni massime differenziate verso l alto pari a 5m/s 2, e verso il basso pari a 3m/s 2. Sapendo che la velocità massima risulta limitata a 20m/s, si determini il tempo necessario per percorrere in salita e in discesa 40 piani (100mt). Es. 5: un elicottero procede in moto rettilineo uniforme, esso viene rilevato da un radar che lo segue centrandolo. Supponendo di conoscere la distanza L dal radar, l angolo di elevazione rispetto al suolo θ e la sua derivata, si determini in funzione di queste grandezze la velocità dell aeromobile. Es. 6: Si supponga che un aereo si posi al contatto con il suolo ad una velocità massima di 270Km/h. Supponendo che la pista di atterraggio sia lunga 1.5Km, si stimi la decelerazione minima richiesta per fermarsi in sicurezza. Es. 7: La ruota di un automobile, rappresentata in figura ha un raggio equivalente di rotazione pari a R=19in. Sapendo che la valvola è posta a una distanza r=30cm dal centro della ruota. Si supponga che inizialmente la valvola sia posta nella condizione di altezza minima, e si determini lo spazio percorso dalla valvola quando l automobile ha percorso una distanza D=10Km. Si realizzi un modello simulink che stimi la distanza percorsa dalla valvola in funzione della distanza percorsa dalle ruote.

31 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Es. 8: un automobilista spericolato che guida oltre il limite avvista un autovelox su una statale alla distanza di 70m. Supponedo che il limite sia a 70Km/h, e che le condizioni di guida gli consentano una massima frenata sicura pari a 3m/s2, calcolare la velocità massima di guida che gli consente applicanto la massima frenata sicura di passare davanti l autovelox sotto il limite di velocità. Si realizzi un modello simulink del problema e di realizzi un grado della velocità massima consentita in funzione della distanza di avvistamento e del limite di velocità. Es. 9: Un treno merci procede con una accelerazione massima di 0.2m/s 2 e frena con una decelerazione massima di 0.5m/s 2. Se si deve fermare in due stazioni consecutive distanti 2Km, si determini la velocità massima che potrà raggiungere. Si realizzi un modello simulink del problema che renda possibile dimensionare la velocità massima in funzione delle accelerazioni (parametri) Es. 10: Una bilancia a molla con costante elastica K=1000N/m viene tenuta da un blocco nella sua posizione di riposo P=0. La bilancia viene caricata nello stato di blocco con una massa non nota M. La bilancia viene quindi improvvisamente rilasciata dal blocco. Supponendo di poter trascurare la tara del meccanismo, e sapendo che l oscillazione ha una periodo T=3s, si stimi la massa posta sul piatto. Se ne realizzi uno schema simulink. Es.11: un pendolo è soggetto a una oscillazione di 40, se ne stimi il periodo sapendo che la lunghezza del filo è pari a 5m. Quindi implementando un modello tramite simulink si stimi un periodo di oscillazione più accurato. Es. 12 (diff): Un giocatore di pallacanestro vuole studiare le relazioni tra angolo di tiro ed energia cinetica imposta alla palla per fare canestro. Si modelli il problema con le variabili necessarie e si determini in fuzione di una funzione di distribuzione degli errori, l angolo e l energia ottimali richieste. Es. 13: L automobilista di cui all Es. 8 viene sorpreso da una pattuglia 30m prima dell autovelox, e rilevata la velocità, procedono dopo un tempo T=15s all inseguimento. Supponendo che dall autovelox in poi l automobilista rispetti il limite, e che la pattuglia acceleri a 4m/s 2 fino alla velocità massima di 95Km/h si determini il tempo necessario alla pattuglia per raggiungere il veicolo. Si modelli il problema come uno schema di simulink che accetti come parametri fondamentali la velocità massima della pattugli, la sua accelerazione massima e il tempo necessario al rilevamento ed alla partenza. Es. 14: Un veicolo A segue un autocisterna di lunghezza l=30m, ad una distanza d=15 m. L autocisterna procede ad una velocità di 40Km/h su una strada che ha limite pari a 90Km/h. Supponendo che la strada sia rettilinea, che i veicoli nell altra direzione procedino alla velocità massima consentita, e che l accelerazione massima si A sia 3m/s2, si stimi lo spazio di distanza minima tra due veicoli procedenti in verso opposto necessaria per compiere il sorpasso. Si modelli il problema tramite simulink, e si determini tale distanza in funzione della velocità dell autocisterna e del limite di velocità. Es. 15: Una rosa a 4 petali è una figura geometrica che ha come equazioni descrittive R=sin (2θ). Si supponga che un veicolo percorra la rosa di raggio massimo 20m ad una velocità costante v. Sapendo che il coefficiente di attrito massimo è pari a 0.45, si determini la massima velocità che non determini sbandamento. Si modelli il problema con Simulink e si rappresentino le posizioni e le accelerazioni in funzione del tempo. Es.16: un treno compie il dislivello di figura ottenuto concatendando dei tratti orizzontali con due archi di cerchio di raggio r=300mt e di angolo θ = 30. Sapendo che la velocità di ingresso è di 120Km/h, che il macchinista opera in maniera tale da non superare mai tale velocità, che il peso del treno è di 120ton e che la potenza sviluppata dal locomotore è di 52KW, si calcoli la veloci-

32 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica tà di uscita del treno all arrivo della sommità della salita. Questa velocità è costante? Quel è il punto di velocità minima. Si determini la risposta con l uso di simulink. Es. 17: (diff): in riferimento all esercizio 15, si determini la strategia di percorrenza in tempo minimo e se ne calcoli il tempo di percorrenza con simulink. Definizione di Corpo rigido e di gradi di libertà Un corpo rigido è un sistema completamente anelastico. Un corpo rigido è un dominio compatto che non cambia la sua forma e la sua dimensione nel tempo. Anche quando sottoposto a contatti e forze con l esterno un corpo rigido non può essere compresso, allungato, piegato e/o deformato in alcun modo rispetto alla sua geometria iniziale. Ovviamente i corpi rigidi non esistono nella realtà in quanto qualsiasi corpo sottoposto a una forza presenta una forza di reazione che si origina in base a deformazioni anche infinitesime, delle caratteristiche superficiali. Nessun corpo è realmente rigido. Se poggiamo ad esempio un libro su una scrivania, molti saremo propensi a pensare che la scrivania non subisca deformazioni in conseguenza del peso del libro. Se viceversa immaginiamo che vi salga sopra un elefante, in pochi resterebbero dell idea che la superficie della scrivania possa non subirne le conseguenze. In realtà una deformazione è sempre presente in qualunque corpo come reazione alle forze che vengono applicate dall esterno. Essa può essere di livello atomico (prima della rottura) come nel caso di cristalli, oppure macroscopica come nel caso di corpi elastici. L introduzione del concetto di corpo rigido, aiuterà nella formulazione delle equazioni matematiche che ne descrivono il comportamento. Di seguito assumeremo quindi che potremo assimilare dei corpi deformabili a corpi rigidi ogni qualvolta la somma delle deformazioni del corpo, in considerazione delle forze che vi sono applicate, sia trascurabile o comunque non rilevante in confronto all entità dei processi fisici (moti e forze) che ci interessa considerare. Una conseguenza immediata della definizione di corpo rigido è che la distanza tra suoi punti fisici si mantenga sempre costante. È importante evidenziare che conseguenza diretta della rigidità di un corpo è il fatto che preso un sistema di coordinate solidale con un punto qualsiasi del corpo medesimo, la descrizione della geometria del corpo non cambia quando espressa in questo sistema di coordinate. Per cui per descrivere la posizione spaziale di un corpo rigido risulterà sufficiente descrivere il movimento compiuto nello spazio da questo sistema di coordinate.

33 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Dato un corpo fisico nello spazio, la descrizione del suo movimento nel tempo (cinematica) può essere ottenuta introducendo un sistema di variabili (coordinate) che identifichino in maniera univoca per ogni istante di tempo posizione ed orientazione di ciascuno dei suoi punti. Il termine gradi di libertà viene generalmente utilizzato per descrivere quante variabili tra loro non vincolate risultano necessarie e sufficienti per descrivere in maniera univoca la cinematica di un corpo o di un sistema. Nel caso di un corpo rigido che si muove in un piano, risulta facile intuire che i gradi di libertà complessivi sono pari a tre in quanto preso in considerazione la posizione (X,Y) di un suo punto generico, la postura del corpo può essere identificata in maniera univoca aggiungendo alla traslazione di detto punto l angolo di rotazione necessario per sovrapporre il sistema di coordinate solidale con il corpo con un sistema di coordinate di riferimento. Tale conclusione può anche essere derivata esaminando la libertà di movimento del corpo da un altro punto di vista. La condizione di rigidità di un corpo impone che le distanze relative tra i suoi punti non cambino mai. Per cui la libertà di movimento di un corpo nello spazio può essere determinata valutandone la libertà dei suoi punti in maniera costruttiva. PRODOTTO VETTORIALE Il prodotto vettoriale di due vettori a e b è definito come: Il prodotto vettoriale è anti commutativo e produce un vettore ortogonale ai primi due, verificabile eseguendo il prodotto scalare dei primi due. Preso dunque un corpo rigido avremo libertà di posizionare uno dei suoi punti in maniera arbitraria nello spazio. Fatto tale posizionamento, un eventuale secondo punto potrà essere posizionato soltanto nel luogo geometrico dei punti (la circonfe-

34 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica renza) che mantiene costante la distanza dal primo punto. In pratica la condizione di rigidità impone un vincolo per ogni coppia di punti posizionati. Ogni eventuale ulteriore punto non potrà che essere posizionato rispettando le distanze tra i punti precedentemente già posizionati, per cui a partire dal terzo punto, i vincoli di rigidità del sistema sono tali da non lasciare ulteriori libertà di posizionamento sui punti. LA MATRICE SKEW SYMMETRIC Date le sue caratteristiche di linearità e distributività, l operazione di prodotto vettoriale si può anche implementare come una operazione di prodotto matrice per vettore ed in particolare utilizzando la seguente identità: Dove la costruzione della matrice antisimmetrica sul vettore a viene convenientemente indicata con l operatore S(a). Risulta immediato verificare che le proprietà del prodotto vettoriale sono mantenute da questa forma di rappresentazione. Visto in questo modo è possibile dedurre in maniera intuitiva i gradi di libertà di un corpo rigido nello spazio: a) il primo punto potrà essere scelto in maniera libera, implicando 3 gradi di libertà, b) il secondo punto potrà essere posizionato sulla sfera a raggio costante centrata nel primo punto (due ulteriori gradi di libertà), il terzo punto sulla circonferenza risultante dall intersezione delle due sfere a raggio costante passanti per i primi due (1 grado di libertà). Per cui un corpo rigido nello spazio ha al più 6 gradi di libertà che ne descrivono completamente il movimento. Posa di un corpo rigido La scelta delle variabili che descrivono il moto di un corpo rigido nello spazio può essere fatta in maniera arbitraria. Date comunque le caratteristiche di rigidezza del corpo mobile, risulta comodo introdurre una terna solidale con il corpo in quanto la descrizione geometrica dei punti del corpo stesso risulta avere carattere costante rispetto tale terna. A Tal fine definiremo con un numero <i> le terne, e con la lettera Oi le loro origini. Le coordinate di un punto P, calcolate rispetto alla terna i-esima, verranno indicate con P i, dove abbiamo usato per pedice dei vettori il numero che descrive la terna di riferimento rispetto alla quale le coordinate del vettore sono e- spresse. Se tale pedice viene omesso significa che ci stiamo interessando al momento solo della posizione spaziale del punto e non della terna rispetto alla quale le sue coordinate sono espresse.

35 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Con riferimento alla figura O0 sarà l origine della terna origine fissa e O1 l origine della terna mobile solidale con il corpo rigido. L introduzione di questi sistemi di riferimento offre un modo agevole per descrivere tutti i punti appartenenti al corpo mobile ed in particolare, il più diretto è quello che richiede la posizione della sua origine O1 0 (notare l introduzione del pedice in questo passaggio), e l orientazione dei versori dei tre assi cartesiani (i1 0,j1 0,k1 0 ). Ciò può essere fatto introducendo un punto ed una matrice che descrivano nella terna base gli elementi di cui sopra. La matrice di rotazione, pur risultando espressa tramite l uso di nove parametri dispone in effetti di soli tre gradi di libertà, in quanto, dovendo descrivere le coordinate di tre versori ortogonali tra loro, possiamo trascrivere sei equazioni di vincolo sulla scelta delle componenti per imporre che le norme dei versori siano unitarie e che i prodotti scalari misti siano nulli 2. In forma compatta, omettendo apici e pedici, tale proprietà può scriversi come: Dove per abbiamo indicato la matrice identità di. 2 Gli apici e pedici delle matrici di rotazione si riferiscono rispettivamente in questo testo al sistema in cui sono descritte le coordinate del vettore di destra (apice), ed il sistema in cui verranno proiettate le coordinate a seguito della esecuzione del prodotto (pedice). In questo modo il pedice rappresenta sempre

36 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica La relazione di cui sopra ci introduce anche un altra caratteristica importante della matrice di assetto (o di rotazione), ovvero che la sua inversa equivale alla sua trasposta. FORME QUADRATICHE Si definisce forma quadratica di una matrice A per un vettore x il polinomio risultante dal prodotto Essendo uno scalare essa risulta u- guale alla sua trasposta. La forma quadratica di una matrice antisimmetrica risulta sempre nulla in quanto, mentre la forma quadratica di una matrice generica dipende solo dalla sua componente simmetrica definita come Utilizzando la notazione introdotta risulta possibile definire la posizione di qualunque punto descritto da coordinate fisse nella terna solidale al corpo rispetto alla terna inerziale (terna 0). Infatti, indicando, con riferimento alla figura,, le componenti del vettore che congiungono 0 1 a P 1 nel sistema solidale al corpo, avremo: Ovvero: L introduzione di questa formulazione compatta per descrivere il moto dei punti di un corpo rigido risulta essenziale per comprendere quale sia la relazione matematica tra le velocità dei singoli punti una volta che al corpo sia assegnata una velocità di roto-traslazione arbitraria nello spazio. Velocità e accelerazione di un corpo rigido La velocità di ogni singolo punto di un corpo rigido nello spazio, può essere convenientemente calcolata derivando la relazione geometrica ricavata precedentemente e tenendo in considerazione che il vettore è costante:

37 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica gode della seguente proprie- Dove la derivata della matrice R, essendo tà: Posto quindi avremo che, per cui la matrice risulta essere una SKEW matrix (skew=antisimmetrica) e definita pertanto da sole tre componenti. Inoltre considerando le proprietà della matrice R avremo che:. Inoltre considerando le proprietà dell operatore S, potremo quindi dire che esiste un vettore comune per tutti i punti di un corpo rigido tale per cui la velocità di ogni punto del corpo rispetto a una terna inerziale può convenientemente essere scritta come: Formula nota dai corsi di fisica 1. La velocità dei punti di un corpo rispetto a un suo punto, può quindi essere sempre scomposta in due componenti, una dipendente ed equivalente alla velocità di riferimento del punto, l altra dipendente esclusivamente dalla distanza dal punto di riferimento e da un vettore di velocità di rotazione unico per tutto il corpo. Il vettore viene comunemente denominato vettore velocità angolare. Riprendendo la definizione matriciale, è possibile verificare che per ogni velocità angolare non identicamente nulla esiste sempre un punto dello spazio tale per cui calcolabile a partire dalla velocità del origina della terna mobile come. Tale punto, non necessariamente appartenente al corpo rigido viene indicato come centro di i- stantanea rotazione. Le informazioni sulla accelerazione dei punti di un corpo si possono ancora una volta ottenere derivando la formula di velocità rispetto al tempo ottenendo in questo modo: dove ancora una volta abbiamo considerato costante il vettore precedente in termini di prodotti vettoriali otteniamo:. Riscrivendo la O nuovamente in forma di prodotto matriciale:

38 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Per cui l accelerazione dei punti di un corpo è soggetta a tre differenti componenti: una accelerazione di lineare, una accelerazione angolare, e una accelerazione centripeta che dipende dal quadrato del vettore velocità angolare. Risulta utile per la comprensione della trattazione che seguirà calcolare la forma che assume il quadrato della matrice S. In particolare essendo Risulta facile verificare che Per costruzione il vettore di accelerazione apparente risulta allineato con la componente del vettore che risulta ortogonale al vettore velocità angolare. E proporzionale al quadrato della distanza del punto dall asse passante per il punto di trascinamento e orientato come. Caso planare Nel caso di un corpo rigido soggetto a un moto puramente planare, il vettore velocità angolare è sempre orientato nella direziona ortogonale al piano di moto. In questo caso risulta possibile semplificare la complessità delle operazioni algebriche e considerare la velocità angolare come uno scalare, pari alla componente del vettore velocità angolare lungo detto asse. Ancora risulta possibile considerare che il vettore che descrive la geometria del corpo è sempre residente nel piano ortogonale al vettore velocità angolare per cui le due equazioni cinematiche fondamentali si riducono alle seguenti: Dove in questo caso risulta essere come detto sopra uno scalare.

39 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Centro di Massa di un corpo Rigido Dato un sistema di punti materiali si definisce centro di massa o baricentro del sistema, il punto dello spazio corrispondente alla media pesata (con le masse) delle posizioni dei punti del sistema. Un corpo rigido può assumersi come condizione limite di un sistema di particelle dove ogni particella viene associata ad una frazione di volume infinitesimo del volume del corpo, e la massa di tale particella calcolata tramite una funzione di densità definita come:. Il centro di massa di un corpo rigido può pertanto conseguentemente essere definito come: Dove con M abbiamo indicato la massa totale del corpo rigido. Corpo rigido soggetto a un sistema di forze Si definisce sistema di forze applicate, un insieme di forze F comunque orientate nello spazio e ciascuna applicata in un punto P dello spazio. Un sistema di forze viene pertanto descritto da un insieme di sestuple di variabili (tre componenti di forza e tre componenti di momento risultante), avente tanti elementi quante sono le forze applicate nel sistema. Un sistema di forze può essere convenientemente descritto tramite un formalismo che identifica delle classi di equivalenza. In particolare, definito un polo di riferimento `O nello spazio risulta possibile ricondurre un sistema di forze a due descrittori. La risultante `R delle forze ed il momento risultante M R delle forze rispetto al polo dato.

40 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica MOMENTO DI UNA FORZA In meccanica si definisce momento di una forza applicata nel punto P rispetto a un polo O il prodotto vettoriale del vettore r indicato in figura di colore verde per il vettore F che descrive la forza. Detto prodotto vettoriale corrisponde a un terzo vettore ortogonale al piano individuato dai primi due e di intensità pari al prodotto dei moduli per il seno dell angolo compreso. M = S(r)F Il formalismo introdotto consente di individuare classi di equivalenza tra sistemi di forze. In particolare è immediato verificare che se due sistemi di forze risultano equivalenti rispetto un polo, essi risultano esserlo per tutti i punti dello spazio, infatti preso un punto O 1 generico avremo: e, Definiremo quindi equivalenti due sistemi di forze quando essi generano la stessa risultante e lo stesso momento risultante rispetto un polo arbitrario nello spazio. In particolare, se la risultante delle forze non è nulla, risulta sempre possibile individuare una retta, parallela alla risultante delle forze, rispetto alla quale il momento risultante del sistema di forze si annulla identicamente. Tale retta viene denominata asse centrale del sistema di forze. Viceversa, se la risultante delle forze di un sistema è nulla, il momento risultante non dipende dal punto di applicazione. Si consideri ora un sistema di particelle soggetto a un sistema di forze, ciascuna applicata ad ogni particella per cui l accelerazione delle singole particelle potrà essere espressa da:

41 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Sommando membro a membro per tutte le particelle e mettendo in evidenza la massa totale del sistema di particelle avremo: Da cui: L accelerazione del baricentro di un sistema di particelle dipende solo dalla risultante delle forze applicate al sistema di particelle. In particolare poi, essendo la risultante (ed il momento risultante) delle forze interne sempre nulla per il principio di azione e reazione, potremo dire che: dato un corpo rigido il moto del suo baricentro dipende esclusivamente dalla risultante delle forze esterne applicate sul corpo. È inoltre possibile verificare che se le forze applicate sul corpo hanno asse centrale risultante passante per il baricentro, allora il moto del corpo è soggetto ad una pura accelerazione di traslazione. Consideriamo infatti il caso in cui tale risultante sia generata da un sistema di forze tutte parallele e proporzionali alla densità locale del corpo rigido. Per costruzione tutte le particelle accelerano parallelamente, e la risultante R passa per il centro di massa. È questo il caso della accelerazione di gravità che produce su di un corpo una forza sempre proporzionale alla massa e per geometrie non troppo estese (rispetto al raggio terrestre) parallele tra di esse. In figura viene rappresentato il modo di una martello in volo, dove il tratto evidenziato in rosso rappresenta il modo del suo baricentro ed il tratto in verde il moto di un altro punto (il manico). Il sistema essendo nella fase di volo soggetto esclusivamente alla forza di gravità descrive una parabola nel moto del baricentro. Tensore di inerzia Utilizzare solo la forza risultante per derivare la velocità del baricentro di un corpo rigido come visto nell analisi dei gradi di libertà non è sufficiente a descrivere completamente le equazioni del moto di un sistema. In particolare in questo modo saremo in grado di individuare l evoluzione dinamica di un unico punto notevole del sistema detto centro di massa, restando conseguentemente ancora non definito il moto di rotazione nell intorno di questo punto.

42 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Per determinare quindi l evoluzione del vettore velocità angolare sarà necessario ripartire dalle equazioni delle particelle e trovare delle condizioni aggiuntive che vengono rispettate durante l atto di moto. A tali fine risulta opportuno definire delle quantità accessorie che in seguito semplificheranno la trattazione analitica del problema. MOMENTO DELLA QUANTITÀ DI MOTO In meccanica si definisce momento della quantità di moto di un sistema rispetto a un polo la somma dei prodotti vettoriali tra i raggi vettore dei punti e le quantità di moto dei suoi punti: Dato un corpo rigido ed un sistema di riferimento solidale con esso, definiremo momenti di i- nerzia del corpo rispetto al sistema di riferimento dato i seguenti integrali: Definiremo altresì prodotti di inerzia i seguenti integrali Dove tali prodotti risulteranno nulli qualora uno dei piani individuati (XY, XZ, YZ) sia di simmetria per il corpo medesimo. Definiremo tensore di inerzia di un corpo rispetto un sistema di riferimento dato la matrice simmetrica individuata come

43 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Dove per quanto visto in precedenza risulta quindi possibile descrivere il tensore di inerzia come integrale sul corpo della quantità: Esempio: Si prenda in considerazione un corpo descritto da una sola particella che ruoti su un piano ortogonale rispetto ad un asse di riferimento. In tal caso il momento di inerzia, per quanto visto nei paragrafi precedenti è descrivibile come: Dove r è il raggio di rotazione della particella. È altresì possibile verificare che momento ed accelerazione angolare sono relazionati alle forze ed alla accelerazione lineare dalle due seguenti relazioni: Che relazionate alla seconda legge della dinamica per punti materiali conducono alla seguente: L esempio mostra come l introduzione delle relazioni sui momenti sia in grado di produrre equazioni aggiuntive e relative alla evoluzione del vettore velocità angolare. Per cui, riprendendo la seconda legge della dinamica: Considerando di avere un sistema di particelle e pre-moltiplicando vettorialmente per la distanza delle particelle da un polo avremo: Cioè, considerando ancora una volta che le forze interne di un corpo non producono momento risultante avremo che la derivata del momento della quantità di moto di un sistema di particelle rispetto a un poli risulta essere uguale al momento delle forze esterne rispetto al medesimo polo.

44 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Per un corpo rigido è possibile, considerato O coincidente con il baricentro o fisso dimostrare che Dove si è opportunamente sfruttata la proprietà anticommutativa del prodotto vettoriale. Per cui dato un sistema di forze, calcolate risultante e momento risultante rispetto al baricentro potremo dire che l evoluzione della velocità angolare rispetto al baricentro è definita dalla relazione Tale equazione è anche applicabile per qualsiasi polo fisso, a patto di calcolare opportunamente l inerzia del sistema intorno a tale polo. A tal fine ci viene in aiuto il teorema di Huyghens-Steiner per la traslazione dei momenti. Posto Come da definizione, avremo: Ossia, calcolato il momento baricentrale rispetto u asse, il momento rispetto un altro asse parallelo al primo e passante per un altro punto potrà essere derivato come somma del momento baricentrale e del prodotto della massa per la distanza al quadrato (prodotto vettoriale). Note sul tensore di Inerzia Essendo una matrice simmetrica il tensore di inerzia ammette una base di autovettori, in grado di diagonalizzare la matrice. Tali auto vettori in virtù della simmetria sono tali per cui:

45 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica ma anche Per cui assumendo. Ed assumendo di scegliere una base di autovalori a modulo unitario, l insieme a cui appartiene la matrice U coincide con quello delle matrici di rotazione. Se ne deduce che esiste una particolare terna di assetto intorno al baricentro tale che il tensore di inerzia risulti diagonale (ovvero si annullino tutti i prodotti di inerzia). Alcuni corpi hanno una espressione particolarmente agevole dei momenti di inerzia, in particolare: il momento di inerzia di un disco attorno all asse perpendicolare allo stesso e passante per il centro del disco potrà essere calcolato come integrale cilindrico: Lo stesso calcolo dell inerzia valga anche per un cilindro di medesimo raggio, densità costante ed altezza generica. In base al teorema di Huyghens Steiner il momento di inerzia passante per qualsiasi punto appartenente alla circonferenza del cerchio sarà pari a: In maniera simile risulta possibile calcolare i momenti centrali e laterali di un asta avente densità lineare costane e lunghezza pari a L.

46 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Esercizio: Cilindro che rotola senza scivolare Si consideri un cilindro che rotola senza scivolare sopra un piano inclinato. Il cilindro abbia raggio R e massa M. La condizione di non rotolamento implica che istante per istante lasse di contatto tra cilindro e piano possa ritenersi fermo. Per cui l evoluzione della velocità angolare del corpo rigido potrà essere calcolata come derivata del momento della quantità di moto rispetto al punto fisso. L inerzia del corpo rispetto all asse può essere derivata dalla inerzia precedentemente calcolata per un cilindro con l applicazione del teorema di Huygens-Steiner. Ed applicando la seconda equazione della dinamica per la rotazione di corpi rigidi rispetto a un punto fisso avremo: Esercizi:

47 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Introduzione ai Meccanismi In accordo con le assunzioni fatte definiremo di seguito un insieme di corpi finalizzato alla trasmissione di potenza. I meccanismi che considereremo sono ottenuto dalla interconnessione di più corpi rigidi in maniera tale da ridurne il numero complessivo di gradi di libertà. La riduzione dei gradi di liberà viene effettuata tramite una serie definita di vincoli che ne limitino le capacità relative di rotazione e/o traslazione di due o più corpi connessi tra di loro. Distingueremo di seguito all interno dei meccanismi diversi tipi di connessioni funzionali: I vincoli o accoppiamenti cinematici, dedicati a limitare tramite forze dette vincolari il grado di movimento relativo tra due corpi; I sistemi di trasmissione di movimento, dedicati a trasportare le forze/velocità a distanza o a cambiare assi/direzioni di movimento; I sistemi di conversione/moltiplicazione/riduzione delle forze/velocità. Dedicati ad adattare le forze/velocità di traslazione/rotazione tra gli organi di movimento. In generale quando si considera il sistema di vincolo che collega due diversi corpo fisici si parla di giunto e le caratteristiche del giunto vendono descritte in base ai movimenti relativi consentiti dal medesimo. I vincoli descritti di seguito si realizzano tramite contatti tra superfici, esistono altri vincoli realizzabili soltanto tramite contatto tra punti e/o linee e vengono definiti accoppiamenti cinematici superiori. È comunque generalmente possibile sostituire ad accoppiamenti superiori uno o più accoppiamenti di superficie. La coppia prismatica Definiremo coppia prismatica un giunto di collegamento tra due corpi rigidi che lascia libero solo un moto relativo di pura traslazione rispetto ad un asse dato d e limita conseguentemente la rototraslazione del secondo corpo rispetto al primo.

48 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica In particolare ponendosi in un sistema di riferimento solidale al primo corpo, e definito come l asse di azione della coppia prismatica, tutti i punti del secondo corpo sono vincolati ad avere la medesima velocità parallela all asse di azione e velocità di rotazione conseguentemente nulla. La seguente coppia di equazioni cinematica caratterizza il comportamento della coppia. Qualora la terna solidale al primo corpo risultasse addirittura inerziale il vincolo consente di derivare in maniera banale le equazioni dinamiche del sistema: Dove con M abbiamo indicato la massa complessiva del sistema e con Q la risultante delle forze esterne agenti sul corpo (escluse ovviamente quelle del vincolo cinematico). Il giunto rotoidale (o di rivoluzione) Il giunto di rivoluzione restringe i movimenti di un corpo, rispetto a una terna solidale con il corpo adiacente a ruotare intorno a un asse fisso solidale detto asse del giunto. Assumendo anche in questo caso di individuare il versore dell asse del giunto con la lettera d, avremo per tutti i punti giacenti su tale asse:

49 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Qualora la terna solidale al primo corpo risultasse addirittura inerziale il vincolo consente di derivare in maniera banale le equazioni dinamiche del sistema: Dove si è assunto questa volta di poter indicare con Q il momento risultante rispetto ad un punto sull asse del giunto delle forze esterne agenti sul corpo. Bisogna notare che anche essendo strutturalmente simili le due equazioni differiscono dimensionalmente per un fattore. Il giunto cilindrico e elicoidale Il giunto cilindrico consente il moto combinato di un giunto rotoidale e un giunto prismatico intorno un medesimo asse di rototraslazione. Nel giunto cilindrico a differenza del giunto rotoidale (indicato in figura) il movimento di rotazione e quello di rotazione sono completamente indipendenti. A differenza quindi dei giunti precedenti in grado di limitare cinque gradi di libertà per ogni connessione, il giunto cilindrico ne limita solo quattro. Il giunto rotoidale così come il giunto cilindrico permette sia la rotazione che la traslazione intorno un medesimo asse di riferimento. A differenza del giunto cilindrico però questi due moti non sono tra loro indipendenti ma sono correlati da una relazione di linearità per cui:

50 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Il giunto cardanico L accoppiamento di due giunti rotoidali in maniera tale per cui i loro assi incidano in un punto formando un angolo di 90 gradi prende il nome di giunto cardanico. Un tale giunto viene in genere realizzato con una croce avente due assi ortogonali ai cui e- stremi sono simmetricamente collegati i corpi rigidi. Da un punto di vista fisico un giunto cardanico è quindi un sistema a tre corpi rigidi in quanto anche la croce interposta sarà dotata di massa propria. Tuttavia considerati i meccanismi costruttivi la massa di questo elemento risulta solitamente trascurabile nei confronti delle masse dei corpi rotanti. Come per il giunto cilindrico anche il giunto cardanico limita solo 4 gradi di libertà, ed essendo incidenti gli assi delle rotazioni risulta possibile identificare la cinematica del sistema tramite un vettore velocità angolare a due componenti e considerando che il centro della croce sia un punto fisso appartenente ad entrambi i corpi. Il giunto cardanico serve a cambiare l asse di rotazione ed è talvolta impiegato con appositi supporti per compensare le irregolarità (vibrazioni) di moto di un asse motore e/o condotto, spesso le irregolarità derivate dalla variazione di asse di rotazione sono compensate ponendo in serie due giunti cardanici. Per questioni costruttive (teoricamente questo giunto ha zero gradi di libertà) esso ha tuttavia funzionalità i- deale soltanto quando l angolo di disassamento è limitato a pochi gradi. Il giunto sferico In maniera simile, ma molto differente per costruzione, risulta possibile realizzare un giunto sferico in grado cioè di far ruotare un corpo in maniera libera intorno ad un punto di pivot solidale con il primo corpo. Il giunto sferico viene solitamente realizzato con una gabbia sferica che permette escursioni angolari limitate.

51 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Definito G il centro di rotazione del giunto sferico le equazioni cinematiche del moto del giunto saranno descritte da: Dove la velocità angolare è libera di assumere qualsiasi valore all interno delle escursioni angolari concesse dai limiti del giunto. Difatti la coppia angolare (ideale) si un giunto sferico risulta nulla: L appoggio o giunto planare Il giunto planare restringe il moto relativo dei due corpi ad una rototraslazione su un piano ideale. Ancora una volta esso potrà essere descritto da un versore d ortogonale al piano di lavoro del giunto e da un punto sul piano. Per quanto discusso nelle sezioni precedenti se utilizziamo un sistema di riferimento solidale al piano di moto, le equazioni della dinamica del meccanismo possono essere ricondotte a quelle di un corpo rigido planare: I sistemi per il trasporto del movimento Il trasporto del movimento è una componente fondamentale in tutti i meccanismi articolati per portare le forze e le velocità di lavoro nei punti da dove viene prodotta l energia necessaria al movimento ai punti dove tale energia è richiesta per eseguire

52 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica un compito. Come abbiamo avuto modo di discutere nel primo capitolo il trasporto dell energia, ove possibile in un sistema meccatronico avviene utilizzando sistema di distribuzione elettrico, tuttavia quando necessario e/o opportuno possono essere presenti sistemi di distribuzione meccanici. In meccanica sono presenti diversi metodi per il la distribuzione del movimento. I sistemi più semplici sono costituiti dagli alberi e dalle aste, geometricamente simili ma funzionalmente distinti perché dedicati al trasporto di movimenti rotativi e al trasporto di movimenti lineari. Un albero è quindi vincolato da una coppia di giunti rotoidali e quindi soggetto a una componente prevalente di rotazione. Le aste invece sono preposte alla trasmissione del moto lungo l asse principale del corpo. Il montaggio di un asta richiede pertanto che vi sia a supporto una coppia di giunti prismatici agli estremi per consentire la traslazione minimizzando gli effetti di flessione che eventuali forze/coppie vincolari potrebbero produrre sul meccanismo. Quando le forze/coppie agenti su un albero/asta sono tali a poter considerare il corpo come rigido, la modellazione del comportamento degli stessi può essere effettuata in accordo con quanto discusso nella sezione relativa ai giunti prismatici, limitando quindi il comportamento di questi sistemi a una relazione differenziale lineare tra ingresso e uscita. Una Boccola La realizzazione dei giunti prismatici e rotoidali viene in generale eseguita tramite L impiego di supporti come le boccole, i profili scanalati, i cuscinetti lineari a ricircolo di sfere... supporti in grado di consentire l innesto di due elementi di raccordo e mi-

53 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica nimizzare al contempo le forze di attrito scambiate lungo la direzione consentita del moto e massimizzare le forze di serraggio lungo le altre direzioni di bloccaggio. Quando ci troviamo nel caso di un albero (giunto rotoidale) la forma del supporto è generalmente cilindrica, e viene detta cuscinetto. Il principio di funzionamento dei cuscinetti è quello di trasformare l attrito di scivolamento tra le superfici poste a contatto (accoppiamenti inferiori) in attriti volventi di puro rotolamento (accoppiamenti superiori) tra un insieme di punti, nel caso di cuscinetti a sfere, o di linee, nel caso di cuscinetti cilindrici. Cuscinetti radiali cilindrici e conici a rulli A seconda della funzione che i cuscinetti svolgono lungo l asse di montaggio i cuscinetti possono distinguersi in radiali o assiali. La distinzione viene fatta in base al tipo di carico che questi ultimo supportano. I cuscinetti radiali possono supportare carichi radiali, mentre quelli assiali bloccano anche il moto di scorrimento dell albero nella direzione prismatica. Il bloccaggio dei cuscinetti assiali può essere sia monolatero che bilatero. Il comportamento di bloccaggio può essere implementato sia con dei contatti a strisciamento, quando non siano richieste elevate prestazioni e le forze in considerazione siano sufficientemente ridotte in maniera tale da poter trascurarne gli effetti sul comportamento meccanico e sulla usura. In alternativa il bloccaggio può essere effettuato con cuscinetti dal profilo conico sulla cui superficie vengono fatti rotolare dei cilindri (rulli). Tale soluzione è tipicamente adottata per le forze assiali di resistenza molto elevate e velocità di rotazione sostenute.

54 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Alcuni cuscinetti base (fonte sito SKF): Versione a una corona Con guarnizioni A sezione fissa A doppia corona Anello interno esteso Anello interno su due lati Tollerante a leggeri disassamenti A rulli La scelta dei cuscinetti include la progettazione anche dei componenti associati per il montaggio del corpo rotante (in genere chiamato albero) e del supporto (quando non delle guarnizioni e della lubrificazione). I cuscinetti possono essere montati sugli organi di movimento in modo da non rendere la configurazione iperstatica (sovravincolata). Ad esempio un cuscinetto a bloccaggio assiale viene generalmente associato a un cuscinetto di tipo radiale per evitare che il doppio vincolo di traslazione sull asse di rotazione possa produrre rotture dovute a tolleranze e vibrazioni. Quando l asse di rotazione del corpo risulta parallelo ma disallineato rispetto all asse di rotazione motore, ed il disallineamento non risulta tale da poter essere trascurato (ovvero compensato con cuscinetti auto-allineanti) in genere si ricorre all impiego di un albero cardanico. Un albero cardanico è un meccanismo di trasmissione che impiega una coppia di giunti cardanici per trasferire il moto. L analisi cinematica del moto di un albero cardanico richiede lo studio delle velocità angolari di 5 corpi rigidi: tre alberi e due croci.

55 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica L albero cardanico funziona bene quando il disassamento e le velocità in gioco non risultano eccessivi, in quanto gli elementi a croce sono sottoposti continuamente a accelerazioni angolari, e pur avendo una inerzia bassa rispetto agli altri elementi meccanici in gioco, per alte velocità o per angoli di disallineamento elevati possono produrre coppie di reazione eccessive e vibrazioni sull intero meccanismo. Quando risulta necessario il raggiungimento di angoli di disallineamento elevati, una soluzione alternativa è quella di ridurre l angolo di piegamento di ciascun singolo giunto andando a aumentare il numero di giunti cardanici posto in serie ovvero utilizzando elementi dotati di flessibilità laterale elevata e bassa cedevolezza torsionale. Si parla in questo caso di alberi flessibili ed elementi multi giunto articolati. Nel caso invece sia necessario trasportare il moto lineare si impiegano cavi inguainati ovvero catene di elementi a compressione articolati. Una soluzione alternativa al trasporto del momento su alberi paralleli e/o sghembi è offerta dagli ingranaggi. Gli ingranaggi sono ruote cilindriche o coniche dotate di e- lementi sul profilo superficiale denominati denti in grado di vincolare la rotazione di un asse alla rotazione del secondo asse. I denti possono avere profili rettilinei (ruote a denti dritti), in caso di ruote complanari, elicoidali in caso di conversione con vite madre o ellittici per minimizzare le forze di attrito durante la rotazione. L uso di ruote dentate coniche o con profili elicoidali consente di trasferire il moto di rotazione su un asse arbitrariamente orientato rispetto il primo. Quando il moto viene trasferito tramite gli affacciamenti dei denti, le superfici presentano sempre un seppur minimo moto di scivolamento reciproco. Tale scivolamento si riduce in ragione del rapporto altezza denti/raggio degli ingranaggi, ma in generale produce effetti indesiderati di rumore, usura, attriti e giochi.

56 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Per limitare gli effetti, soprattutto in condizione di basse coppie ed elevate velocità di rotazione, i profili elicoidali diminuiscono la superficie di contatto e massimizzano il moto di rotolamento rispetto allo strisciamento. Negli accoppiamenti elicoidali infatti l innesto della trasmissione avviene su di un lato e scorre lungo la diagonale del dente consentendo in questo modo di massimizzare la componente di rotolamento rispetto quella di strisciamento. Viceversa, riducendosi la superficie istantaneamente in contatto, questi accoppiamenti possono trasmettere delle coppie massime minori rispetto i profili planari. Qualora il moto di rotazione debba essere trasferito ad assi di rotazione molto distanti rispetto alle dimensioni dei meccanismo impiegati l energia di rotazione viene tipicamente trasferita tramite trasmissioni, le più tipiche sono a cavo (o filo metallico), a cinghia o a catena, aventi caratteristiche diverse in termini di carichi massimi, rumorosità, durata, rendimento e elasticità. La Catena di distribuzione è la prima soluzione sviluppata in ordine di tempo, si pensi alle biciclette, ed è anche la più rumorosa, essa offre comunque una notevole resistenza all usura e nel tempo. La cinghia è usata nella distribuzione di molte macchine operatrici ed anche nelle autovetture, essa presenta piccoli scorrimenti durante il trasporto del moto dovuti alla elasticità ed è soggetta a usura, ma garantisce un ottima regolarità di trasmissione. La cinghia se dentata, emula il funzionamento delle ruote dentate mostrando una profilatura a denti che ingrana su una ruota, in tal modo si evita lo scivolamento della cinghia. Rispetto alla catena di distribuzione essa riduce notevolmente la rumorosità ma a causa delle proprietà fisiche della gomma offre una minore rigidità e quando invecchia la gomma si indurisce potendo causare rotture improvvise dei meccanismi. Infine quando le escursioni angolare sono limitate oppure le coppie in gioco non eccessive, è possibile trasmettere il moto sfruttando le forze di attrito che un cavo metallico genera avvolgendosi nelle gole di una puleggia condotta. Questa soluzione, concettualmente simile alla catena offre una rumorosità pressoché nulla, e la possibilità di realizzare connessioni disallineate con opportuni cambiamenti dei piani di rotazione delle pulegge in maniera da garantire che le tangenti nei punti di avvolgimento dei cavi siano allineati. L uso delle trasmissioni a filo metallico, comporta una attenzione al dimensionamento della sezione del filo (che determina la rigidità della trasmissione) e dei raggi minimi delle pulegge, che qualora troppo piccolo possono danneggiare a fatica la resistenza del filo metallico. Inoltre, in questi meccanismi, il problema comunque presente nelle cinghie e nelle catene di prepensionamento della trasmissione diventa critico. Infatti perché un filo metallico avvolto intorno a una puleggia possa trasmettere una coppia senza scivolare, sarà necessario che la tensione di entrate e di uscita risulti sempre maggiore di una tensione minima necessaria per generare le forze di attrito durante il rotolamento.

57 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Esistono diverse tecniche di precarico e tensionamento delle trasmissioni: l utilizzo della elasticità intrinseca della trasmissione, il serraggio fatto tramite contrappesi, elementi elastici, pulegge folli in grado di garantire il recupero del cavo in eccesso, l uso di montaggi su assi eccentrici per tendere la trasmissione dopo il montaggio. Ruote dentate e Trasmissioni sono anche impiegati come elementi per la trasformazione delle forze e delle velocità di rotazione. I meccanismi di trasformazione di e- nergia meccanica possono essere suddivisa in base alle loro funzioni ed in particolare con riferimento a: La tipologia delle grandezze di input/output o Il tipo di movimento (rotazione, traslazione o twist) o La periodicità del movimento: continua, discreta e/o aperiodica La funzione di trasferimento che lega le velocità in ingresso e quelle in u- scita: lineare, non lineare o dinamica. Moltiplicazione con trasmissione a cavo Il caso più semplice moltiplicazione di velocità tramite l impiego di una trasmissione si ha quando due pulegge di raggio differente risultano interconnesse tramite una trasmissione a cavo. Nell ipotesi che il cavo anelastico che non scivoli sulle pulegge risulta possibile definire una relazione geometrica lineare tra la velocità angolare della prima puleggia e la velocità angolare della seconda. In particolare essendo: Il rapporto tra la velocità angolare della puleggia condotta (di uscita) e la puleggia motrice (di ingresso) si mantiene costante pari a N.

58 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Per cui potremo scrivere che: A tale valore viene chiamato rapporto di moltiplicazione. Il suo reciproco viene invece generalmente chiamato rapporto di trasmissione (o di riduzione) e si indica generalmente con la lettera `T o con la lettera `i. Quando un cinematismo a un grado di libertà introduce una variazione nelle velocità angolari degli elementi rotanti, come nel caso della riduzione/moltiplicazione a filo metallico, una reciproca trasformazione avviene anche nelle coppie/forze in gioco. In particolare riprendendo in considerazione l esempio precedente, e assumendo che il cavo sia ideale (massa nulla, rigidità infinita), potremo assumere che la tensione si mantiene costante sui tratti di cavo. Per cui potremo scrivere: Da cui : In particolare risulta utile osservare che la potenza in ingresso ed in uscita di un meccanismo di conversione del moto ideale (che non accumula né disperde energia) risulta uguale, difatti: Moltiplicazione del moto tramite ingranaggi Nel caso di trasmissione ad ingranaggi risulta sempre possibile definire dei raggi e- quivalenti utilizzabili per dedurre il rapporto di trasmissione in maniera analoga a quanto fatto per le trasmissioni a cavo. In realtà essendo il punto di contatto mobile tra le fasi di innesto e di rilascio del contatto tra gli ingranaggi, questo raggio risulta

59 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica variabile. Tale variazione produce un effetto di variare il rapporto di riduzione durante la fase di rotolamento, tuttavia per costruzione e scelta dei parametri l entità della variazione è trascurabile rispetto al rapporto stesso. Lo studio della fisica del contatto durante la fase di rotolamento produce in questo modo sia una stima dei raggi equivalenti sia delle variazioni subita da tali raggi durante il rotolamento dei corpi. Qualora quest ultima informazione non sia necessaria, il rapporto dei raggi equivalenti può essere anche ricavato come rapporto tra il numero dei denti delle ruote. In generale si definisce un rapporto di trasmissione medio (calcolato come media del raggio tra l innesco di due denti consecutivi) e si verifica essere sempre pari al rapporto tra il numero di denti. Si definisce inoltre un parametro di variazione che descrive l oscillazione di in un periodo. La presenza di un attrito proporzionale alla coppia trasmessa, rende in questo caso l assunzione di idealità della trasmissione non realistica, in quanto una parte del lavoro prodotto dalla coppia motrice viene impiegato per vincere le forze di attrito che si generano all interno dell ingranaggio. Per tener conto di questo fattore nei meccanismi di riduzione ad ingranaggi si introduce il concetto di rendimento di riduzione. Il rendimento di riduzione viene definito come il rapporto tra la potenza entrante e la potenza uscente dagli alberi di un riduttore ad ingranaggi. Tale rendimento e tanto minore quanto maggiore è il rapporto di moltiplicazione. Il rendimento degli ingranaggi varia notevolmente in funzione di diversi fattori: numero di denti, profili, raggi degli ingranaggi, metodologia di produzione, lubrificazione e materiali usati. Per ogni coppia di ruote dentate avremo valori tipici di: 93%: Lubrificante grasso, ruota fusa; 95% : lubrificante grasso, ruota lavorata; 98%: lubrificante olio ruota lavorata; 99%: lubrificante nebbia olio, ruota lavorata; Le equazioni caratteristiche diventano pertanto:

60 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Dove 0<R<1 rappresenta il rendimento meccanico dell accoppiamento e il segno meno l inversione tra direzione della velocità angolare e coppia dovuta all accoppiamento meccanico. Meccanismo rocchetto cremagliera La conversione tra moti rettilinei e moti angolari può essere ottenuta tramite l uso di aste o cremagliere mosse da avvolgimenti a filo metallico o ruote dentate profilate su dei rocchetti. Lo studio del moto può essere effettuato anche in questo caso identificando un raggio equivalente della ruota, ovvero confrontando il numero di denti della ruota con il passo dei denti nella cremagliera. Il fattore di moltiplicazione in questo caso converte quindi velocità angolari in velocità lineari e non risulta essere adimensionale come nei casi precedenti. Dove per abbiamo considerato il rendimento unitario. I leveraggi I leveraggi sono meccanismi planari che sfruttano un asta ed una terna di giunti rotoidali per trasmettere le forze. In genere dei tre giunti uno è fisso e prende il nome di fulcro mentre i restanti due sono mobili. L equazione di equilibrio della leva può pertanto essere sempre scritta considerando nulla la somma dei momenti rispetto al fulcro. I leveraggi si definiscono vantaggiosi quando vi è un guadagno di forza, svantaggiosi se vi è un guadagno di velocità o indifferenti. I leveraggi possono essere di tre generi, nelle leve di 1 genere il fulcro si trova centrato tra il giunto che trasmette la forza motrice ed il giunto che riceve la forza con-

61 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica dotta. Le leve di secondo genere presentano il fulcro alla estremità del meccanismo e il giunto condotto tra giunto motore e fulcro. Le leve di secondo genere sono sempre vantaggiose. Le leve di terzo genere hanno sempre il fulcro all estremità del meccanismo ed inversione tra il giunto motore ed il giunto condotto. Queste ultime risultano pertanto sempre svantaggiose (guadagno di forza < 1). Le leve di secondo e terzo genere non invertono la direzione del moto e delle forze, mentre tale inversione è presente nelle leve di primo genere. In tutti i casi risulta possibile identificare il fattore di moltiplicazione delle leve come rapporto tra le distanze degli assi dei giunti, dove si introduce un segno meno per le leve di primo genere. La relazione di cui sopra vale solo per rotazioni delle leve ridotte ovvero, per forze di ingresso/uscita parallele tra loro, ovvero per forze e velocità considerate sempre ortogonali alle congiungenti tra gli assi di rotazione. I manovellismi Si definisce manovellismo un meccanismo in grado di trasformare una forza lineare in un momento. Un manovellismo è in genere costituito da un asta e una coppia di giunti rotoidali.

62 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Come per le leve, le equazioni di equilibrio dei manovellismi possono essere derivate imponendo l equilibrio dei momenti sul giunto fisso, ma a differenza dei leveraggi presentano tipicamente una relazione non lineare tra le forze di ingresso e le coppie di uscita. In questo caso, il rapporto di trasmissione tra le variabili libere e quelle controllate risulta essere una funzione della postura del sistema, per un ampia classe di meccanismi sarà sempre possibile trovare una funzione descrittiva dipendente solo dalle variabili posizionali del meccanismo e tale per cui le sue derivate parziali descrivono i fattori di moltiplicazione del sistema (condizione di olonomia). Le camme lineari e angolari Le camme come visto nel primo capitolo sono un meccanismo tipico nell automazione industriale per codificare in un profilo geometrico l evoluzione temporale che deve seguire un asse di lavoro. Le camme sono realizzate con un albero o un asta al cui estremo viene posizionata una puleggia folle libera di ruotare sulla camma profilata. Per cui definito la relazione di guadagno di moltiplicazione potrà essere determinata come gradiente del profilo della camma.

63 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Le relazioni di forza si determinano in maniera reciproca come visto nei paragrafi precedenti. Dinamica di un meccanismo semplice Lo studio dei meccanismi visto nella precedente sezione considera il moto geometrico e la distribuzione delle forze in condizioni di massa degli elementi meccanici nulla. Tuttavia, come abbiamo visto, un corpo rigido soggetto a una sistema di forze risponde producendo una variazione della velocità del centro di massa e del momento della quantità di moto rispetto al centro di massa in misura della forza risultante dal sistema e del momento delle forze del sistema rispetto al baricentro. La variazione di velocità è conseguenza diretta e collegata con le forza attive prodotte dal sistema, e relazionata al lavoro svolto dalle forze stesse. Infatti questo lavoro non viene perso, ma trasformato in Energia cinetica del corpo. Considerando quindi il lavoro prodotto dal sistema di forze, possiamo, introdurre due grandezze che descrivono l energia immagazzinata dal corpo. L energia cinetica di traslazione viene calcolata in base alla massa totale ed alla velocità baricentrale come: L energia cinetica di rotazione baricentrale viene calcolata in funzione dell inerzia baricentrale e alla velocità angolare come: Se il moto di un corpo inoltre può essere descritto come rotazione rispetto a un asse fisso anche non baricentrale si può dimostrare che la sua energia totale può essere espressa come:

64 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Dove la velocità angolare in questo caso viene descritta da uno scalare. Esercizio (lezione): Lavoro ed energia Si prenda in considerazione un corpo soggetto a una forza baricentrale pari a F, per un tempo T nel quale compie uno spostamento pari a. Si verifichi la relazione occorrente tra la variazione di energia cinetica in conseguenza della forza ed il lavoro svolto dalla forza medesima. La variazione di Energia cinetica è per definizione: Dove con v abbiamo indicato la velocità del baricentro. Inoltre potremo dire che in conseguenza della forza F abbiamo accelerazione pari a F/M, da cui: Il cui lavoro sarà e dove Per cui Per cui nel caso di un sistema di forze con risultante applicata al baricentro si verifica che il lavoro totale compiuto sul corpo equivale alla variazione dell energia cinetica lineare del corpo stesso così come definita in precedenza. Analogamente si può dimostrare che lo stesso accade tra il momento delle forze risultanti e l energia cinetica rotazionale. In generale si verifica che tali grandezze corrispondono all energia complessiva del corpo rigido in quanto risultanti equivalenti all integrale dell energia cinetica eseguito sui suoi singoli punti. Per la dimostrazione si parte dalla definizione dell energia cinetica complessiva: E si scompone l integrale in 4 addendi, due corrispondenti ai prodotti misti tra velocità angolare e lineare, gli altri due risultanti nella definizione di energia lineare e rotazionale data prima.

65 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Si verifica infine che gli addendi risultanti dai prodotti misti hanno valore nullo (utilizzando la proprietà anticommutativa del prodotto vettoriale e portando la velocità angolare fuori dall integrale). Per cui: Dove con L si è indicato il lavoro prodotto dal sistema di forza agenti sul sistema. Quando un sistema di forze agisce su un sistema di 2 corpi rigidi (ma anche M) tra essi solidali. Cioè vincolati ad avere le stessa velocità (angolari e/o baricentrali), le forze si distribuiscono tra le masse in maniera omogenea, avremo: Ciò in considerazione del fatto che il vincolo cinematico imposto tra i corpi ( ) impone che le energie siano distribuite in maniera proporzionale alle masse, e conseguentemente anche il lavoro prodotto dalle forze. Se viceversa un meccanismo stabilisce tra i corpi in movimento una relazione geometrica che impone un guadagno di riduzione e/o moltiplicazione: ad esempio per un caso di puro rotolamento, l energia complessiva del sistema sarà pari a: Per cui, per mantenere il vincolo di accoppiamento sarà necessario che il lavoro prodotto dalle forze si distribuisca tra i corpi in movimento in ragione del quadrato dei relativi rapporti di riduzione. In questo caso risulta altresì possibile definire una massa equivalente, detta anche massa ridotta, il cui valore viene calcolato sommando i contributi di tutte le masse del sistema, moltiplicati il quadrato dei rapporti di trasmissione esistenti tra la coordinata con cui rappresentiamo il movimento della massa ridotta e la massa condotta che stiamo riducendo su detta coordinata. Con tale assunto generiamo un sistema equivalente la cui energia cinetica risulta u- guale a quella del meccanismo complessivo. L uso della massa ridotta aiuta a calcolare l evoluzione dinamica del sistema senza dover determinare tutte le forze di azione e reazione dovute ai vincoli presenti nei meccanismi e che essendo interne al sistema non generano lavoro e non producono pertanto variazione della quantità di moto complessiva e del momento della quantità di moto complessivo.

66 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Esercizio Si consideri il sistema di trasmissione a cavo con due pulegge rappresentato in figura, e si supponga che sulla puleggia 2 venga esercitata una coppia T concorde con il verso di rotazione scelto. Nell ipotesi di cavo ideale, si verifichi che le forze di vincolo cinematico siano tali da produrre una accelerazione complessiva del sistema pari a: Per determinare l evoluzione dinamica della massa ridotta risulta necessario quindi proiettare gli effetti del sistema di forze agenti sul meccanismo nella coordinata di movimento rispetto alla quale stiamo riducendo tutte le masse. In particolare risulterà necessario dividere in questo caso le forze agenti sui corpi remoti per il quadrato del rapporto di moltiplicazione cinematico del sistema. Tale operazione risulta necessaria in base alle considerazioni espresse nel paragrafo precedente per non alterare il lavoro complessivo generato da ogni singola forza. Il principio della massa ridotta può essere applicato anche a cinematismi non lineari considerando che l energia cinetica complessiva possa essere espressa in funzione dei quadrati dei guadagni di trasmissione, infatti supposto che: avremo, nel caso di giunti rotoidali (prismatici), Dovendo derivare la velocità angolare del giunto condotto otteniamo un termine del tipo:

67 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Che evidenzia come nella soluzione del sistema il vincolo non lineare introduca un termine dipendente dal quadrato della velocità di rotazione degli organi, per cui l equazione differenziale che descrive il moto risulterà: Dove con abbiamo indicato il momento generalizzato delle forze esterne ridotto al giunto 1 secondo gli eventuali rapporti di moltiplicazione in essere tra i punti di applicazione del sistema di forze esterne e il giunto 1. Per cui l equazione complessiva non risulta più lineare nelle variabili di stato e dipende in particolare da un termine quadratico delle velocità. Esercitazione Si consideri la struttura semplificata di un motociclo come rappresentata nel seguente esempio: M 1 I4,R 4 I3, R 3 e si consideri per il momento di poter ignorare la massa della biella e le accelerazioni centrifughe generate dalla non linearità del manovellismo di spinta. Si determini il modello matematico che descrive l evoluzione della velocità della ruota motrice e si realizzi uno schema simulink che evidenzi le caratteristiche principali nel processo. In particolare considerando che possa agire una forza di attrito viscosa sul sistema, modellata come una componente di smorzamento viscoso angolare centralizzata sulla sola ruota 4, e che l energia prodotta dal pistone possa essere schematizzata come una forza costante durante la fase di scoppio del pistone (detto z la coordinata I2, R 2

68 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica del pistone si avrà z1< z <z2), si determini la relazione occorrente tra la forza rilasciata nello scoppio e la velocità di regime del veicolo. Sia inoltre L la lunghezza della biella (non indicata in figura). Implementazione In un primo approccio considereremo che tutti componenti del corpo siano esclusivamente soggetti alla sola coppia motrice che si genera a partire dallo scoppio sulla puleggia I2 e alla coppia resistente viscosa che si genera sulla ruota I4. In particolare occorre sottolineare come nelle condizioni poste sia stata trascurata l accelerazione lineare di avanzamento del motociclo che corrisponde alla maggior parte della energia cinetica accumulata durante il moto. In tali condizioni è possibile scrivere l evoluzione dinamica delle parti rotanti del motociclo riducendo le inerzie delle parti rotanti alla puleggia I2. Qualora si volesse includere l effetto dell inerzia di traslazione di tutte le parti rotanti, sempre supponendo che il moto sia puramente lineare e supponendo che la moto abbia massa complessiva pari a M, basterà aggiungere un altro elemento alla massa ridotta corrispettivo della masse equivalente di tutto la moto. Per effettuare tale operazione dovremo comunque assumere a questo punto che il cilindro abbia moto puramente verticale, non influenzando quindi con le sue accelerazioni le forze che si generano sul piano orizzontale. La somma di tutti i contributi lineari all inerzia ridotta sarà pertanto pari a: Per completare la descrizione delle forze inerziali del sistema bisognerà quindi aggiungere il contributo necessario a descrivere il moto del pistone rispetto al moto della biella. A tal fine la distanza verticale biella pistone viene calcolata come somma di due componenti, una dipendente dalla proiezione della biella sull asse del pistone, l altra derivata con il teorema di Pitagora applicato alla biella. Per cui: Il movimento del pistone è quindi una funzione pari della cordinata angolare e bisogna poter distinguere quale sia la fase di salita dalla fase di discesa del pistone. Andando a calcolare lo jacobiano della Z notiamo che,

69 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica è una funzione dispari. Tale funzione risulta pari a ed è quindi positiva per. Per cui lo scoppio potrà produrre una coppia positiva di rotazione sul pistone se questo avviene nel tratto di cui sopra. Infatti la coppia prodotta dal pistone sulla biella risulta pari a: Che risulta positiva nel tratto discusso. Per cui l equazione integrata del sistema potrà essere rappresentata da: Dove nello schema è stata omessa la rappresentazione del contributo centrifugo. Il contributo della coppia viscosa di smorzamento delle velocità potrà quindi essere calcolata come feedback di guadagno lineare della velocità angolare (indicata in uscita come Om1) sulla coppia esterna: un segno negativo deve essere aggiunto nell anello così introdotto per tenere conto del carattere dissipativo della forza.

70 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Esercitazione (svolta a lezione) Modellazione di una bicicletta, si consideri l equazione di avanzamento lineare di una bicicletta con cambio variabile che percorre una strada rettilinea con pendenza costante. Si modelli la dinamica di avanzamento trascurando le forze inerziali dovute al comportamento del ciclista e considerando la bicicletta assimilabile a un numero ridotto di corpi rigidi: ruote, telaio, gruppo pedivelle, cambio. Si definisca un profilo di spinta in funzione dell angolo formato dalla pedivella con l orizzontale, e si implementi un modello dinamico della bicicletta. Si studi poi in particolare. L influenza della pendenza della strada e del rapporto di cambio. Modellazione degli impulsi Nell esercizio precedente abbiamo assunto che lo scoppio possa essere modellato come una forza comunque grande che si distribuisce durante un intervallo di spazio (tempo) piccolo. Quando l intensità delle forze diventa molto elevata (tale da produrre una variazione della quantità di moto e/o del momento della quantità di moto significativi) e l intervallo di tempo in cui avviene tale variazione diventa piccolo, gli strumenti di simulazione matematica, che procedono tramite integrazioni numeriche ad intervalli finiti non risultano affidabili. Ciò è dovuto sia a una difficoltà a procedere in una integrazione numerica per intervalli infinitesimi, sia a rendere con le rappresentazioni digitali di sistemi di calcolo il valore della forza interscambiata con la giusta accuratezza. In questi casi si usa modellare l interazione tra i corpi (rigidi) direttamente sull effetto di variazione di velocità baricentrale e angolare che viene prodotta sul corpo in conseguenza dell impulso. Si consideri una forza agente su un punto P di massa m fra gli istanti t1 e t2, si definisce impulso di il vettore Se è la risultante delle forze che agiscono su P, dal secondo principio della dinamica risulta Dove si è indicato con la quantità di moto di P. L equazione precedente costituisce il teorema dell impulso. Essendo sia l impulso che la quantità di moto quantità additive, suddetto teorema si estende formalmente identico ai sistemi di particelle. Si ha infatti detta la risultante delle forze sul punto i-esimo E

71 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Nel caso particolare in cui il sistema di particelle sia un corpo rigido, è possibile manipolare il teorema dell impulso nello stesso modo in cui sono state manipolate le equazioni della dinamica ottenendo Per la variazione lineare di quntità di moto del corpo e Per la variazione del momento angolare della quantità di moto. Dove Si noti come il teorema dell impulso e le equazioni della dinamica rappresentino lo stesso principio. Il teorema dell impulso, che è scritto in forma integrale, risulta utile quando non si abbia un idea precisa sull evoluzione della forza nell intervallo di tempo *t1,t2+ ma si riesca a stimare l impulso da questa prodotta (come nel caso degli urti). L evoluzione dinamica del sistema all interno di tale intervallo di tempo rimane ignota ma a partire dalla quantità di moto del sistema al tempo t1, si riesce a stimare la quantità di moto al tempo t2. Le equazioni cardinali della dinamica, che sono scritte in forma differenziale, richiedono invece la conoscenza delle forze agenti sul sistema istante per istante e permettono di seguire con lo stesso dettaglio l evoluzione dinamica del sistema. La modellazione degli impulsi deve avvenire in fase di simulazione individuando le condizioni che generano risposte impulsive ed operando direttamente sulle variabili di stato che relazionano la quantità di moto: Lavoro ed Energia Nei corsi di fisica I si è visto il concetto di lavoro elementare di una forza compiuto durante un periodo di tempo [a,b], e definito come: Dove l integrale di cui sopra esprime ciò che viene definito integrale di linea della forma differenziale lungo la traiettoria s(a,b). Notiamo dapprima che il lavoro di una forza viene definito tramite un operatore lineare (l integrale) per cui il lavoro di un sistema di forze potrà essere espresso come somma dei singoli contributi di lavoro di ciascuna forza:

72 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Per cui il lavoro risultante da un sistema di forze che agiscono su uno stesso punto materiale è pari al lavoro della risultante delle forze agente sul medesimo punto materiale. Inoltre per un singolo punto materiale è possibile verificare la relazione tra il lavoro risultante di una forza e una grandezza (proprietà integrale di un corpo). Riprendendo il secondo principio della dinamica avremo (in caso di massa costante): Per cui l integrale di cui sopra può essere ridotto a: Il termine in parentesi quadre prende qundi nome di energia cinetica e costituisce una proprietà intrinseca del punto materiale. NOTA: Se il lavoro di una forza dipende solo dalle posizioni iniziale e finale e sono continue con derivata continua, possono essere integrate come funzione dello spazio la forza si dice conservativa. Quando questo differenziale è esatto (teorema di peano) si definisce in questo modo un concetto di Lavoro usufruibile in funzione dello spazio (Energia potenziale). L energia potenziale è ricavabile per un numero elevato di forze (Campi elettrici, Campi gravitazionali, campi elastici, ). I campi magnetici non sono differenziali esatti. Lavoro di Forze e Momenti In analogia alla definizione di lavoro di una forza nello spazio: si può descrivere il lavoro svolto dal momento risultanti su un corpo rigido in rotazione come: Dove abbiamo espresso la variazione angolo come prodotto tra la velocità angolare e un intervallo di tempo. Il computo lavoro potrà essere positivo ed in tal caso viene detto lavoro attivo, ovvero negativo (lavoro passivo). Nel Sistema Internazionale la sua unità di misura sono i Joule, ma bisogna porre attenzione soprattutto nell uso di valori relativi alle grandezze di rotazione in quanto i parametri commercialmente utilizzati spesso si discostano nelle dimensioni (es. giri al minuto (rpm), inerzie, etc.).

73 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica In maniera analoga a quanto visto per il punto materiale si possono introdurre i concetti di lavoro generati dalla risultante e dal momento risultante di un sistema di forze su un corpo rigido, ottenendo dalle relazioni: In base a tali relazioni abbiamo quindi un modo di stimare come il lavoro prodotto da un sistema di forze esterne su un corpo rigido determini una variazione dello stato energetico di un sistema. Lavoro di Forze Generalizzate I precedenti concetti possono essere in qualche modo generalizzati anche in presenza di un meccanismo arbitrario. Quando il moto di un sistema vincolato può essere descritto da un insieme di coordinate libere q i (dette generalizzate), si definiscono forze generalizzate del sistema, le forze (Q j ) determinate tramite la seguente sommatoria: Le forze generalizzate descrivono il contributo di lavoro che il sistema di forze applicato sul meccanismo genera per ogni coordinata: Per determinare le relazioni integrali e differenziali tra il lavoro delle forze generalizzate e le variazioni dello stato di moto del meccanismo dovremo ricorrere al teorema di Eulero-Lagrange (La scoperta è dovuta a Eulero, ma solo Lagrange con l introduzione del calcolo differenziale è riuscito a esprimere tale relazione con una serie di passaggi eleganti). La Lagrangiana Una discussione analitica del modello dinamico di meccanismi non lineari complessi, verrà affrontata nei corsi di Robotica. Tuttavia in casi particolarmente semplici in cui tutte le rotazioni e traslazioni avvengono prevalentemente su piani costanti (anche diversi tra loro), risulta possibile formulare un meccanismo di derivazione delle e- quazioni dinamiche del sistema tramite un formalismo matematico introdotto da Lagrange e da cui prende il nome. L equazione di Lagrange deriva dall applicazione combinata del principio dei lavori virtuali e del metodo dei moltiplicatori di Lagrange alle equazioni dinamiche del si-

74 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica stema. Di seguito presenteremo la sua formulazione nei rispetti di un sistema meccanico, ma per sua natura essa può essere generalizzata anche a sistemi multi dominio (che coinvolgono cioè diversi fenomeni fisici). Si supponga che un sistema meccanico sia soggetto a vincoli e che la sua posa nello spazio possa essere descritto da un numero ridotto di coordinate (dette generalizzate) tra di esse indipendenti (non vincolati). In generale tale operazione si effettua andando a identificare i gradi di libertà di un sistema meccanico e associando una variabile indipendente per ogni grado di libertà. In assenza di effetti dissipativi di energia, quando l accumulo ed il rilascio di energia sul sistema sia limitato alla presenza di una energia cinetica (dipendente cioè dal quadrato della velocità dei corpi) e una energia potenziale (dipendente esclusivamente dalla posizione dei corpi nello spazio), risulta possibile individuare una funzione di energia totale L utile per la soluzione dinamica del sistema. Tale funzione chiamata Lagrangiana del sistema si indica in genere come somma delle due energie L=T-V, dove con T si è indicata l energia cinetica e V quella potenziale (definita con verso opportuno). La formulazione di Lagrange asserisce che in tal caso risulta sempre possibile determinare un equazione dinamica per il sistema tramite la seguente derivazione: Dove Q corrisponde al vettore delle forze generalizzate definito precedentemente. In caso di campi conservativi ed assenza di forze sul sistema, il secondo membro della equazione si annulla, consentendo di esprimere la relazione esistente nel sistema tra le forze di potenziale e le energie cinetiche: Prova elementare: Sia per cui: il suo differenziale primo è nullo per ogni spostamento dove integrando il secondo membro per parti avremo: : e siccome stiamo considerando solo le variazioni dovute alle traiettorie e non gli effetti delle possibili variazioni sulle condizioni al contorno considereremo nullo il contributo tra parentesi quadre ( ). Potendo poi in generale per il principio dei lavori virtuali assumere che la variazione di lavoro sia equivalente al lavoro prodotto dalle sole forze esterne possiamo scrivere:

75 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Esercizio: il modello massa molla Si consideri una massa connessa a una parete tramite una molla di rigidità definita pari a K. La formulazione dell energia totale del sistema potrà scriversi come somma dell energia cinetica e dell energia potenziale. Per cui Ed applicando la derivazione secondo Lagrange avremo: Esercizio: Oscillatore smorzato su di un piano inclinato Si consideri il sistema di figura: In questo caso sarà: e la dinamica risultante dall applicazione del metodo di Lagrange sarà Che questa volta non risulta esatta in quanto non si è tenuto correttamente conto delle forze dissipative (non conservative).

76 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Estensione dell esempio per includere le forze dissipative Per integrare utilizzare ancora correttamente il metodo di Lagrange, sarà opportuno considerare le forze dissipative come forze esterne al meccanismo, di tipo passivo che sottraggono energia al sistema. Per cui posto che sia: L equazione determinata secondo Lagrange risulta corretta. 1) EserciziDato il sistema in Fig.1 siano m1=200 Kg, m2=m3=10kg, a=0.5m, b=0.6m, r2=r3=0.15m, f=0.2 è il coefficiente di attrito fra ruote e piano, le ruote rotolano senza strisciare. Si determini a. orizzontale affinché sia orizzontale di modulo 10 Km/h dopo 3 s sapendo che parte da fermo. b. L angolo per cui si ottengono le condizioni in a) con di modulo minimo. Figura 1 2) Un monociclo motorizzato (schematizzabile come un cilindro uniforme di massa M=50 Kg e raggio r=30 cm a cui il motore applica una coppia C) è vincolato a muoversi lungo la rotaia mostrata in Fig2, la cui quota è approssimata dalla funzione dove h=60 m. Determinare a. Le forze di contatto con il suolo perché si muova con velocità di modulo costante b. Si risolva il problema con il metodo di Lagrange se in a si è usato un metodo diverso, altrimenti lo si risolva applicando il metodo di Eulero- Newton.

77 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica c. Il valore minimo del coefficiente di attrito f per realizzare la condizione in a con il solo motore montato sul monociclo Figura 2 Figura 3 3) Un automobile percorre una strada di montagna, sul portapacchi è stata fissata una scatola di 20 Kg con due cavi elastici di rigidezza k=200n/m. Il coefficiente di attrito fra portapacchi e scatola è f=0.2. Si determini a. L allungamento minimo dei cavi necessario a non far slittare la scatola nel caso in cui l auto proceda a velocità costante e la pendenza sia del 12% b. L allungamento minimo dei cavi nel caso in cui, sulla stessa strada (pendenza 12%), l auto sia costretta a fermarsi e ripartire con decelerazione massima di 1.2 m/s^2 e accelerazione massima 1m/s^2. c. Il lavoro fatto sulla scatola dopo un dislivello di 500 m 4) I punti A e B della trave in Fig.3 sono vincolati a seguire le pareti disegnate nella stessa figura. La trave omogenea ha massa M=20 Kg e lunghezza L=2m, il coefficiente di attrito fra le pareti e i punto A e B è f. Una massa m=5 Kg è vincolata a scorrere lungo la trave senza attrito. Si determini, a partire da =60 e d= 0.2 m a. La legge oraria dei punti A e B, del baricentro della trave e della massa m se f=0 e se f=0.3. b. Si risolva il problema con il metodo di Lagrange se in a si è usato un metodo diverso, altrimenti lo si risolva applicando le equazioni della dinamica. c. Supponendo che dopo l impatto a terra sia la trave che la massa rimangano ferme al suolo si determini l energia persa totalmente e l energia persa nell urto. 5) Lo sportello di un frigorifero ha dimensioni L x h x t = 50 x 120 x 5 cm e densità =2000 Kg/m^3 ed è vincolato a ruotare senza attrito lungo l asse z da una coppia di cardini. Su un ripiano di massa trascurabile posto ad altezza p=20 cm dalla faccia inferiore dello sportello è posto un panetto di burro di massa m=250 g a distanza d=40 cm dall asse z, il coefficiente di attrito fra panetto e ripiano è f. Fig.4 mostra la situazione. Lo sportello Corso Figura di 4 Laurea Ingegneria, LS Automazione

78 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica viene chiuso improvvisamente con una forza orizzontale perpendicolare allo sportello di modulo Con A=100N. Lo sportello urta la battuta del frigorifero e rimane chiuso dopo una rotazione di 90. Si determini in condizioni f=0.3 e f=0.1 a. L energia cinetica del sistema a t1=0.3s b. Il tempo a cui avviene la battuta, la velocità del panetto a quell istante e l impulso esercitato sullo sportello nella chiusura trascurando la quantità di moto del panetto. c. Supponendo che l azione della battuta sia schematizzabile con una forza costante T orizzontale perpendicolare allo sportello distante d dall asse z, si determini la velocità del panetto dopo l urto. 6) Il ventilatore di Fig.5 è composto da una manovella sostenuta da due cuscinetti radiali a sfere in A e in B, un disco di alluminio solidale alla manovella e da una palettatura solidale al disco. Una forza perpendicolare al piano della manovella è applicata in C per azionare il ventilatore. Sapendo che il raggio della manovella è r=10 cm, il momento d inerzia della stessa rispetto all asse formato dai cuscinetti è J=10^-3 Kgm^2, il disco è di plastica Kg/m^3 è spesso 3 mm ed ha diametro D=20 cm, la palettatura ha massa trascurabile ma genera una coppia resistente proporzionale al quadrato della velocità di rotazione secondo il coefficiente c=10^-3ns^2/m. Si determini a. se F ha modulo costante pari a 100N b. sapendo che, a regime, Figura 5 7) La trave di alluminio ( Kg/m^3) rappresentata in Fig.5 ha sezione quadrata piena di lato 20 mm e lunghezza 200 mm ed è incernierata nel punto O in corrispondenza del quale può essere applicata una coppia Cm. Nel punto A è fissata una massa m = 5 Kg a sua volta collegata ad una sospensione (molla più smorzatore in parallelo costanti k2=500n/m e c=0.1ns/m). Nel punto B la trave è collegata ad una molla di rigidezza k1=1000n/m. Si determini

79 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica a. Le equazioni della dinamica con il metodo di Lagrange e con il metodo di Eulero-Newton b. Supponendo il sistema in equilibrio nella configurazione in figura si determini e detto l angolo di rotazione della trave si determini i. per Cm=0 e ii. per iii. Il valore massimo di c oltre il quale non si hanno oscillazioni nelle condizioni i Figura 6 Modellistica ed equivalenze tra sistemi fisici L'analisi di un sistema comincia dal processo di modellazione delle componenti statiche e dinamiche del sistema stesso. Questa analisi servirà a definire e modellare i vari passi dello sviluppo della progettazione meccatronica: la simulazione, la sintesi delle leggi di controllo, la ricostruzione delle variabili non osservabili,... esistono in generale due metodologie per ottenere una modellazione del sistema: la prima si basa sulla modellazione dei principali meccanismi fisici sottostanti ai processi in atto nel sistema, la seconda, più sperimentale sulla misura delle variabili di ingresso e di uscita e sulla inferenza delle relazioni che le collegano. In questa sezione rivedremo brevemente alcuni fondamenti delle teorie fisiche necessarie per la modellazione di sistemi elettrici, meccanici a più corpi, idraulici e termici. La conoscenza di base di queste teorie potrà permetterci di utilizzare un ambiente di sviluppo e simulazione per la verifica delle proprietà fisiche e la progettazione di tecniche di controllo. Nel seguito faremo riferimento ai tool di modellazione messi a disposizione da simulink effettuando in esso la modellazione indipendente di tutti i tipi di sistemi e senza, quindi, ricorrere all'utilizzo di software specifici.

80 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica In questo capitolo rivedremo la soluzione matematica ed una metodologia di modellazione di sistemi appartenenti a domini differenti da quello meccanico visto nel capitolo precedente. Nell affrontare il problema della modellazione discuteremo in particolare le analogie matematiche presenti tra i diversi domini di modellazione e discuteremo un metodo per rappresentare un problema posto in un dominio con un sistema equivalente appartenente ad un altro dominio. In particolare affronteremo la modellazione di sistemi elettrici, pneumatici e termici e rivedremo come la struttura delle equazioni di base sia analoga tra questi sistemi. In natura infatti esistono diversi fenomeni fisici che mostrano un comportamento matematico similare proprio perché le equazioni dinamiche sottostanti il comportamento sono le stesse. L'approccio di modellazione utilizzato ci sarà poi utile, non solo per problemi di semplificazione di uso del software di modellazione, ma anche per identificare gli aspetti in comune tra i diversi fenomeni fisici e, una volta compreso come gestire le equazioni sottostanti, generalizzare i metodi di sviluppo per il controllo in maniera indipendente dalla realtà fisica che andremo a controllare. Nota: la panoramica riportata in questo capitolo può anche essere ritrovata con una parte di teoria dei grafi nel secondo capitolo del libro Mechatronics by bond graphs, completamente disponibile al link (in data marzo 2010) seguente: ce=bl&ots=rh1o1ew_j1&sig=pvyhac5gdiqij5uhrkrjwrk4we0&hl=it&ei=edevs9ikfugwsqa11lytaw &sa=x&oi=book_result&ct=result&resnum=9&ved=0cd0q6aewca#v=onepage&q=gyrator%20mecha nics&f=false

81 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Cenni di modellazione Si possono identificare diverse tecniche di modellazione per i sistemi, sia perché ci sono fattori di arbitrarietà nella scelta delle variabili che identificano il processo, sia perché, come abbiamo appreso da teoria dei controlli, uno stesso sistema può avere forme di rappresentazione equivalenti. Di seguito riportiamo una metodologia dei passi che possono essere seguiti per impostare la modellazione. Identificare i flussi, in termini di scambi energetici e di massa che avvengono nel sistema. Ovviamente a seconda della natura del problema (termico, i- draulico, elettrico, meccanico,...) energia e massa verranno misurati con le rispettive unità di misura (pressione, portata, temperatura, calore, tensione, corrente, carica, forza, velocità, masse,...). Identificazione dei meccanismi di scambio dei flussi:quali sono le sorgenti, quali le fonti di assorbimento di energia e messa a punto di uno schema a blocchi funzionale che rappresenta i trasferimenti di questa energia. Analisi delle equazioni costitutive per i processi che immettono flussi nel sistema (generatori, ovvero assorbono flussi in maniera dissipativa). Analisi delle equazioni di bilanciamento. Sulla base del principio di conservazione di energia e delle masse, questi schemi a blocchi devono coincidere con delle somme a valore costante Definire le equazioni di un sistema equivale a realizzare una legge di stato che possa rappresentare lo gli scambi energetici individuati nei punti di cui sopra. In uno schema Simulink ad esempio tali relazioni saranno trasformati in equazioni di loop con sommatori, mentre in rappresentazioni elettriche corrisponderanno ad e- quazioni di nodo o di maglia. Le equazioni di una rete elettrica Le reti elettriche possono essere schematizzate prendendo per riferimento due variabili fondamentali: la tensione e la corrente che rispettivamente sono presenti ai capi di ogni componente della rete e che vi scorre dentro. Tuttavia per comodità risulta utile definire alcune variabili da esse dipendenti. Per iniziare considereremo le seguenti unità: Tensione Corrente Carica Grandezza Volt (V) Ampere (A) Coulomb (Q) Unità Potenza Energia Watt = VA Joule = VC

82 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica In particolare oltre ai sistemi di generazione controllata di energia (generatori di tensione e di corrente) ci interessa esaminare le tre componenti base di tutti i circuiti elettrici: le resistenze, i condensatori e le induttanze. Le relazioni caratteristiche sono le seguenti: Condensatore Resistenza Induttanza Avendo scelto come riferimento la tensione e la corrente, i tre componenti definiscono rispettivamente condizioni di proporzionalità tra la tensione e le derivate della carica. Supposto quindi di poter lavorare le trasformate dei segnali, e di associare alla resistenza ed all'induttanza impedenze con l'operatore ( e ), uno schema può venire rappresentato da un insieme di elementi equivalenti, tutti lineari in quanto definiscono una relazione di proporzionalità diretta tra le tensioni agli estremi del componente e la corrente che vi scorre dentro. Composizione di elementi Esistono due combinazioni base dei componenti, detti serie e parallelo, che identificano quelle disposizioni di due o più elementi che rispettivamente sono soggetti allo stesso potenziale (parallelo) ovvero alla stessa corrente (serie). Di seguito considerando che la relazione tra il voltaggio e la carica è sempre lineare utilizzeremo un u- nico simbolo (Z) per indicare l impedenza del componente. Quando due componenti sono montati in parallelo, sarà l primo caso sarà con il vincolo che per cui essendo risulterà : e Mentre nel caso serie avremo e da cui risulta la nota relazione serie:

83 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Come noto da teoria delle reti elettriche inoltre quando siamo in presenza di reti complesse risulta sempre possibile modellare il comportamento del sistema tramite due possibili tecniche di risoluzione: il metodo dei nodi ed il metodo delle maglie. Utilizzando il metodo dei nodi vengono assegnati dei potenziali a tutti i nodi (i.e. Gli elementi in cui confluiscono almeno tre rami), essendo i potenziali definiti in maniera relativa, uno di essi viene associato al valore 0 e gli altri calcolati per differenza. Per ogni ramo viene calcolata la corrente che in esso scorre tramite la regola serie degli elementi presenti sul ramo. Le equazioni risultanti vengono poi chiuse in funzione del bilancio dei nodi. I nodi sono infatti elementi ideali e non possono accumulare energia, per cui (essendo l'energia misurata in V*i) se la tensione è costante ne risulta che la somma delle correnti deve essere pari a zero; il metodo della maglie è duale, ma si basa sugli stessi principi: per ogni anello della rete si suppone di poter assegnare una corrente che vi scorre (questo si può fare solo assumendo che l'intero sistema sia lineare) è calcolando (=0) la differenza di tensione che esse generano su una circuitazione completa. I metodi di risoluzione delle reti elettriche pur essendo tipici di quest'ultime offrono degli spunti di analisi notevoli per chi si trova a modellare sistemi di altra natura come vedremo per i sistemi meccanici, elettrici e idraulici. Una rete elettronica ha comunque meno variabili rispetto al numero di componenti in essa presenti. Le uso delle correnti di Maglia e delle tensioni di nodo corrispondono quindi a un modo agevole per determinare il minimo numero di gradi di libertà presenti nella rete. Tali grandezze si comportano in maniera analoga alle coordinate generalizzate nei sistemi meccanici. Le equazioni di un sistema meccanico lineare Nel capitolo precedente abbiamo ampiamente visto come i sistemi meccanici possono essere realizzati tramite la composizione di più corpi e giunti. In generale in meccanismo che ne risulta può presentare comportamenti anche fortemente non lineari. Tuttavia in un insieme ampio di meccanismi utilizzati soprattutto per la trasmissione del moto, la relazione tra forze e masse ricade in un campo di linearità.

84 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Anche in questo caso, come per i sistemi elettrici risulta possibile identificare una serie di variabili dipendenti da queste grandezze fondamentali. Per iniziare considereremo le seguenti unità: Forza Velocità Posizione Grandezza Newton (F) metri/s (v) metri (m) Unità Potenza Energia Watt = Nm/s Joule = Nm In maniera analoga a quanto visto per i circuiti elettrici, anche in meccanica esistono tre elementi base: le masse, le molle, e gli smorzatori viscosi in grado di caratterizzare equazioni analoghe a quanto visto per induttanze, capacità e resistenze. Le relazioni caratteristiche sono le seguenti Molle Smorzatori Viscosi Masse Avendo scelto come riferimento la forza e la velocità, i tre componenti definiscono rispettivamente condizioni di proporzionalità tra la forza e le derivate della posizione. Analogia con il caso elettrico Si nota immediatamente il parallelo con le equazioni definite per i sistemi elettrici. In entrambi i casi si tratta di equazioni differenziali lineari di ordine 0, 1, 2. Risulta pertanto ovvio considerare almeno in linea di principio di poter assimilare il comportamento di sistemi elettrici a quello di sistemi meccanici lungo un asse di movimento. In accordo con la tipologia di classificazione fatta, si fa corrispondere le forze con i voltaggi e le correnti con le velocità. Questa analogia basata sul concetto di impedenza non è l unica possibile (esiste un altra analogia basata sul concetto di ammettenza).

85 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica E immediato verificare che il caso di una molla in parallelo a un dissipatore viscoso sia equivalente a una serie di una capacità e di una resistenza. Difatti l impedenza complessiva sarà nel primo caso Mentre nel caso di un sistema RC serie è ovviamente: Se al precedente parallelo aggiungiamo una massa in parallelo, otterremo: Corrispondente al sistema elettrico serie LRC. Se viceversa consideriamo che i tre elementi meccanici piuttosto che in parallelo siano posti in cascata, essi non condivideranno più la stessa velocità (che in analogia sarebbe la corrente) ma bensì, per gli elementi di massa, considerata l idealità di molle e smorzatori, avremo che condividono a comune le forze. In questo caso quindi invece di una serie di elementi ci aspettiamo che l equazione costitutiva sia il parallelo tra gli elementi medesimi. Attenzione: quando sistemiamo due elementi meccanici in parallelo le forze si sommano, mentre le velocità degli organi terminali sono considerate essere uguali. E- spresso negli stessi termini per un sistema elettrico questa dualità coincide con una composizione di tipo serie e non di tipo parallelo (dobbiamo stare attenti perché ciò che si somiglia graficamente non lo è nelle equazioni matematiche). Le equazioni di un sistema meccanico rotazionale Di seguito assumeremo solo Momenti e rotazioni come gli elementi di riferimento per l'identificazione del comportamento dei sistemi angolari: Grandezza Momenti Nm (M) Velocità rad/sec ( ) Angolo rad ( ) Unità

86 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Grandezza Unità Potenza Energia Watt = Nm/s Joule = Nm (W) Attenzione: non confondere le grandezze prodotte dai momenti con quelle dell energia, il primo infatti è generato da un prodotto vettoriale di una forza per una distanza, ed è quindi massimo quando il vettore distanza è ortogonale alla forza, il secondo invece da un prodotto scalare delle medesime grandezze, e risulta massimo quando forza e distanza sono allineate. Per il corpi in rotazione di limiteremo a considerare una rotazione su asse fisso limitando quindi lo studio del comportamento a soli di tre elementi meccanici base: le masse, le molle, e gli smorzatori viscosi. Le relazioni caratteristiche sono le seguenti: Molle angolari Smorzatori Viscosi Masse Avendo scelto come riferimenti i momenti e gli angoli le tre componenti sopra identificate definiscono rispettivamente le condizioni di proporzionalità tra i momenti e le derivate della posizione angolare. Anche per i componenti meccanici rotazionali ad asse fisso risulta possibile introdurre i concetti di serie e parallelo tra i corpi in rotazione costituendo in questo modo una completa analogia sia con i sistemi meccanici lineari che con le reti elettriche. Le analogie con i componenti elettrici possono essere estese anche ad alcuni meccanismi elementari ideali visti nella sezione precedente come gli ingranaggi, i leveraggi e le trasmissioni a cavo elementari. Esercizio: il modello equivalente di una coppia di ingranaggi Si consideri la coppia di ingranaggi ideali (di massa nulla) descritti in figura ed aventi rapporto di moltiplicazione tra 1 e 2 pari a N1/N2

87 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Le relazioni costituenti saranno pari a In termini elettrici tali equazioni sono equivalenti a quelle di un trasformatore ideale di tensione/corrente avente N1 spire sul primario e N2 sul secondario. e Le relazioni costituenti sono pari a e In modellistica si introduce in generale anche un'altra componente base, denominata giratore, che ha l effetto di produrre in uscita forze proporzionali alle velocità e velocità proporzionali alle forze. In elettronica, pur non esistendo un elemento di questo tipo, può essere realizzato con l uso di operazionali in retroazione. Il comportamento meccanico del giratore ha invece analogia con gli effetti giroscopici. Le equazioni di un sistema idraulico Le equazioni di un fluido in realtà sono molto complesse per tenere conto della turbolenza e delle caratteristiche di idealità dello stesso. Noi supporremo nel seguito di avere a che fare con un fluido perfetto le cui equazioni sono invece molto più semplici. Per iniziare considereremo le seguenti unità: Pressione Portata Capacità Grandezza N/m2 (P) Kg/s (q) Kg (Q) Unità Potenza Watt = Pq

88 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Energia Grandezza Joule = PQ Unità Per il momento ci interessa individuare due elementi base le capacità idrauliche e le resistenze idrauliche. Le relazioni caratteristiche sono le seguenti: Capacità idrauliche Resistenze idrauliche Anche qui la dualità con i sistemi elettrici risulta possibile (Le induttanze idrauliche non esistono!). Come per il potenziale elettrico anche la pressione idraulica può essere arbitrariamente riferita ad una pressione di riferimento, anche se risulta utile per questi sistemi riferirsi alla pressione ambientale. Le equazioni di un sistema termico. I sistemi termici possono essere descritti utilizzando due variabili fondamentali: la temperatura ed il calore: Grandezza Differenza di Temperatura Calore Potenza (flusso termico) Energia termica Gradi (t) Calorie (Q) Watt = t DQ Joule = t Q Unità Esempio: funzionamento di uno smorzatore viscoso Come esempio cerchiamo di comprendere il comportamento degli smorzatori idraulici così come illustrati negli schemi classici.

89 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica posto degli smorzatori viscosi. risulta l'equazione classica utilizzata per la modellazione meccanica Capacità termiche Sono caratteristiche intrinseche dei corpi che descrivono la loro capacità di contenere calore. Resistenze termiche Sono in generale le pareti o i dissipatori termici utilizzati per trasmettere calore da un corpo ad un altro In generale la modellazione termica ci risulterà utile per valutare il riscaldamento di sistemi elettronici e elettromeccanici, come drivers di potenza e motori. In questo caso la temperatura viene associata a una tensione e il flusso di calore a una corrente. La temperatura ambiente risulta quindi un riferimento di potenziale cui vengono attaccati tutti i corpi che dissipano verso l ambiente, mentre le sorgenti di calore vengono modellate come generatori controllati di corrente. Equivalenze In questo capitolo si è di proposito evidenziato con una terminologia affine le relazioni che collegano sistemi meccanici, elettrici, idraulici e termici, evidenziando in particolare come a tutti questi sistemi si possano correlare dei concetti di equivalenza.

90 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Risulta quindi possibile raccogliere i dati espressi nelle tabelle precedenti per evidenziare come possa esistere una relazione di analogia tra le dinamiche di questi sistemi, avremo: Mecc.Lin Mecc.Ang Elettrici Idraulici Termici Forza Momento Tensione Pressione Delta Temp. Velocità Vel. ang. Corrente Portata Potenziale elasticità Elas.ang. Capacità Capacita Capacita Potenza Fv Momega VI Pq tdq Energia Massa Inerzia Induttanza - - Dissipazione Viscosità Resistenza Resistenza L equivalenza tra sistemi fisici, grazie allo sviluppo di strumenti di simulazione multidominio, pur non avendo più un particolare interesse di simulazione, mantiene un interesse rilevante sia per la comprensione delle risposte dei sistemi che per la verifica di particolari comportamenti. Esempio: riscaldamento di un transistor Si modelli il comportamento termico di un transistor su cui sia stato montato un dissipatore in grado di ridurre il valore della resistenza termica pari a Si calcoli quindi la relazione tra temperatura di regime e relazione IV del transistor.

91 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica

92 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Principi di Attuazione Elettrica Introduzione Definiremo attuatore un sistema di conversione di energia in energia meccanica. O- gni attuatore prenderà un segnale di controllo ed un segnale di potenza che utilizzerà per la generazione della forza e del movimento. Gli attuatori potranno essere rotativi o lineari a seconda della tipologia di moto che essi generano. Inoltre, a seconda del tipo di energia usata per la generazione della potenza meccanica essi potranno essere classificati in: Attuatori elettrici/meccanici: ad esempio motori elettrici (magneti permanenti, riluttanza variabile, a passi, senza spazzole, a corrente continua a corrente alternata); Attuatori termici/meccanici: turbine, macchine a vapore Attuatori Idraulici o pneumatici/meccanici: Pistoni, turbine Di seguito analizzeremo il principio idi funzionamento e alcune informazioni base per mettere a punto un sistema meccatronico elementare, pertanto prenderemo in considerazione solamente alcune categorie più semplici di attuatori, e in particolare: I motori Brushed DC a magneti permanenti (anche detti motori a spazzole e corrente continua); I motori Step (anche detti motori passo passo); Principio di funzionamento Un motore elettrico è un sistema di conversione di energia da elettrica a meccanica e si basa sulle forze di attrazione e repulsione generate da campi magnetici. Difatti campi elettrici e campi magnetici sono in grado di generare forze di attrazione o repulsione anche in assenza di contatto. La conversione di energia in questo caso dipende da leggi (Maxwell) che non presentano dissipazione. Lo studio di tali leggi è oggetto di un corso di elettromagnetismo per cui di seguito richiameremo soltanto alcuni risultati fondamentali nel caso di alcune configurazioni particolari. Un filo percorso da una corrente elettrica genera un campo magnetico proporzionale alla corrente che scorre nel filo ed a un fattore di forma. Se il filo viene avvolto in spirale il campo che scorre nell avvolgimento è pari alla sovrapposizione (in prima approssimazione alla somma) dei campi indotti dalle singole spire e risulta pertanto essere orientato lungo l asse di avvolgimento della spira (verso ottenuto con la regola del pollice destro), per cui di seguito potremo assumere che il campo magnetico generato da un avvolgimento a spire multiple (tra di esse uguali) risulti proporzionale alla corrente ed al numero di spire dell avvolgimento.

93 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Figura: Campo Magnetico Spira, Campo Magnetico filo (fonte Il campo magnetico generato da una spire elettrica permette quindi, se immerso in un campo magnetico esterno di generare forze e coppie di interazione in maniera analoga a quanto fanno i campi elettrici. Tale principio di attrazione e repulsione indotta sui permette la realizzazione di diverse tipologie dei motori. I motori DC-PM Nei motori a magneti permanenti, un campo viene generato come visto sopra dalla corrente che scorre in un particolare circuito, il secondo invece viene generato da corpi magnetici dotati di particolari proprietà di magnetizzazione e intensità di campo. I magneti permanenti sono in grado di memorizzare le informazioni del campo magnetico nel legame molecolare della struttura del materiale e di preservarlo nonostante l influenza di campi elettromagnetici esterni. Essi sono realizzati con componenti chimici molto selezionati (ad esempio le terre rare ) per garantire la qualità e la persistenza del campo magnetico sia nel tempo che in presenza di un campo e- lettromagnetico di disturbo.

94 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica In generale i motori elettrici rotativi sono composti da due parti (essenziali per generare le forze di azione e reazione necessarie al movimento): uno statore che è fisso ed un rotore mobile. Nei motori a magneti permanenti uno dei due corpi (in genere lo statore) genera un campo magnetico statico e costante, mentre il secondo corpo genera un campo magnetico proporzionale alla corrente che vi scorre. La sostituzione delle spire con magneti permanenti consente di semplificare la metodologia di controllo di questi dispositivi demandando il controllo del campo complessivo al controllo della sola corrente che scorre in un circuito. N S Figura Magnete permanente Dati due campi magnetici prodotti da due elementi differenti, sui due corpi si produrrà una coppia di forze di AZIONE-REAZIONE proporzionale all intensità dei campi magnetici e regolata dalle loro direzioni. In base alla legge di Lorentz ciò succede anche quando un corpo è percorso da una corrente elettrica: Quando un corpo che trasporta una corrente (i) viene immerso in un campo magnetico (B) esso sarà soggetto ad una forza (F) proporzionale all'intensità della corrente e del campo magnetico e pari a:

95 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Per capire quale sia l effetto del campo magnetico su una spira dovremo procedere ad un integrale lineare in cui ogni tratto di spira possa essere approssimato come un corpo (puntiforme) percorso da corrente elettrica. Se viceversa consideriamo la spira come un corpo rigido, allora potremo studiare il sistema come forza e momento risultante. In particolare di seguito supporremo che la spira sia in aggiunta vincolata a ruotare rispetto a un asse fisso ed invariante nel tempo, per cui per definire le equazioni del moto ci basterà calcolare il momento risultante di tutte le forza elettromagnetiche rispetto a tale asse. In tali condizioni, una spira immersa in un campo magnetico costante, e percorsa da una corrente elettrica, riceve una coppia che la spinge ad orientarsi ortogonalmente alla direzione del campo medesimo in maniera da allineare il generato con quello proprio dell ambiente in cui è immersa. In tali condizioni infatti corrente e campo sono ortogonali per cui raggiungendo pertanto una configurazione di minimo/massimo potenziale. In generale potremo dire che la forza che interagisce tra campo magnetico esterno e spira è proporzionale all intensità dei campi per il seno dell angolo compreso tra i versori direttori dei campi medesimi (prodotto vettoriale).

96 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Ovvero detto il campo proprio della spira, legge di Maxwell sui campi elettromagnetici. Inoltre per comprendere il funzionamento di un motore dovremo prendere in considerazione anche una legge duale detta di Faraday: Quando un conduttore elettrico viene immerso in un campo magnetico variabile, ai suoi estremi si produrrà una differenza di potenziale pari alla variazione di flusso nell'unità di tempo: Dove è il flusso magnetico risultante (che dipende ovviamente dall'area totale della (delle) spire attraversate dal campo. Di seguito illustreremo la struttura di funzionamento di un motore elettrico a spazzole e a corrente continua e a magneti permanenti (PM-DC motor) comunemente impiegati in robotica. Questi motori cono caratterizzati da: uno statore: un elemento stazionario esterno o anche interno alle spire di avvolgimento della parte mobile che contiene un materiale magnetico permanente (detto voice coil, per motivi collegati alla realizzazione degli altoparlanti); un rotore, la parte mobile del motore e caratterizzato da una serie di avvolgimenti (armatura) predisposti lungo piani radiali (che vedremo in seguito); una serie di spazzole, che consentono di commutare la direzione di un campo e- lettromagnetico durante il movimento rotativo del motore. Una intercapedine, solitamente di dimensioni minime che consente alle due parti il moto reciproco senza strisciamento. Il simbolo elettrico di un motore è il seguente:

97 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Principio di funzionamento Il principio di funzionamento è quello di immergere un avvolgimento percorso da corrente all interno di un dipolo magnetico permanente che pertanto non può essere cambiato dalla presenza del campo magnetico indotto. Per quanto detto in precedenza l'avvolgimento produrrà un campo elettrico proporzionale all'intensità della corrente da cui è percorso ed al numero di spire da cui è costituito l'avvolgimento. Tale corrente per la legge di Lorentz eserciterà una forza sul corpo proporzionale ai due campi è tale da produrre l'allineamento degli stessi (configurazione di minimo potenziale) Supponendo quindi di inserire una spira all interno del campo elettromagnetico (generato dal voice coli) si può al massimo ottenere soltanto un semigiro (180 gradi). In quanto la forza risultante risulta parti a: dove i è la corrente che scorre nella spira, T la coppia dovuta all'effetto Lorentz, l'angolo tra la spira e la direzione del campo, k un coefficiente di mutuo accoppiamento che dipende dall'intensità dei campi e dal numero di spire Figura: schema di un motore con una spira

98 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Si potrebbe pensare di ricorrere all uso invece di contatti striscianti per consentire di invertire la direzione di scorrimento della corrente nel momento in la coppia risultante, e quindi il movimento del motore stanno invertirsi, ovvero quando la coppia risultante sarebbe nulla. In questo modo la coppia trasmessa dal motore sul rotore risulta sempre positiva (oppure sempre negativa) e quindi sempre nello stesso verso. Tuttavia, anche supponendo di invertire la corrente al momento opportuno la coppia generata sarebbe troppo variabile e non assicurerebbe un movimento fluido all asse del motore. Se infatti supponiamo di riportare su un piano cartesiano la coppia prodotta da un motore siffatto in funzione dell angolo motore avremo (in prima approssimazione) una coppia del tipo: Si definisce Ripple di un motore, il rapporto presente tra la coppia massima trasmessa all'albero e la variazione della stessa, quando si considera una rotazione dell'albero di 360 gradi. Il Ripple si misura in percentuale. Nel caso in esempio il ripple di un motore siffatto è pari al 100% in quanto la coppia trasmessa varia da 0 alla coppia massima. Ovvero dove abbiamo considerato rispetto alla relazione precedente, che il dispositivo di strisciamento prodotto dalle spazzole consenta di invertire esattamente la tensione agli estremi Della spira (e quindi la direzione del campo magnetico) e quindi il verso Della coppia indotta, esattamente quando la coppia di torsione si annulla. In questo modo, a seconda della polarità assegnata sui terminali del motore (collegati alle spazzole), sarà possibile avere una copia sempre positiva ovvero sempre negativa. Dallo schema si evince anche il principio tramite il quale risulterà possibile effettuare tale inversione. La corona di strisciamento viene divisa in due polarità (una per semiciclo) le spazzole vengono conseguentemente posizionate in maniera tale che all'angolo di inversione della coppia le spazzole siano allineate con la congiunzione dei due semicicli. La presenza di una coppia variabile e pressoché nulla nelle posizioni di commutazione delle spazzole è tuttavia un effetto indesiderato del motore in quanto questo non è in grado di fornire la stessa coppia di uscita in maniera indipendente dalla posizione dell asse motore stesso. A tal fine generalmente il numero di spazzole ed il numero di spire viene incrementato: Nel caso di tre spire il comportamento del sistema è ben diverso. Sebbene il principio di funzionamento su ogni singola spira sia lo stesso, è possibile alimentare e disalimentare gli avvolgimenti ad intervalli regolari di 120 gradi, ben prima cioè che questi raggiungano la zona morta di operazione (presente ogni 180 gradi), ovvero avere sempre una spira che lavori a piena potenza anche quando le altre siano vicino al

99 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica punto morto. Di seguito considereremo che solo due spazzole siano presenti e valuteremo l effetto di ondulamento (detto ripple) presente quando si usano tre spire Figura: schema motore a tre spire In questo caso il numero di spazzole e di contatti aumenta in proporzione al numero di spire, consentendo di alimentare continuativamente la spira in condizione di generare la coppia massima (o, talvolta a seconda delle tecnologie) tutte le spire. Il diagramma risultante potrà essere ottenuto come sovrapposizione degli effetti, considerando cioè ogni spira come alimentata separatamente ed andando a rappresentare su un diagramma Angolo, Coppia le singole coppie trasmesse dalle diverse spire.

100 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica A seconda della specifica realizzazione fisica del motore potrò in definitiva ottenere due tipologie di diagrammi diversi: La somma delle coppie, ovvero la mutua esclusione delle coppie quando le spazzole non alimentano le relative spire. In entrambi i casi noteremo come la coppia complessiva risulti pari ad una coppia costante (proporzionale alla corrente), ed una componente oscillatoria intorno a detto valore (detto ripple di coppia del motore). Un motore ideale dovrebbe avere ripple di coppia pari a zero, a seconda della qualità costruttiva del motore e del numero di elementi in esso presenti potremo invece avere un ripple di coppia variabile. In figura è rappresentato il caso di un motore con tre spire sfasata di 120 gradi ciascuna, ed il ripple residuo è di circa 10%. In maniera analoga si può verificare che con uno sfasamento medio di 60 gradi (6 spire in totale) il ripple residuo è pari al 3% della coppia (12 spire == 0.7%). Le equazioni del motore Per iniziare la nostra modellazione di un motore elettrico, considereremo che il motore sia ideale, nel senso che non vi è energia dispersa nel motore, sia per effetti e- lettrici (resistenze) che per effetti meccanici (attriti). Da un punto di vista meccatronico il motore si comporta come una interfaccia tra un sistema elettrico ed un sistema meccanico. Il suo funzionamento è pertanto regolato da quattro variabili: la tensione e la corrente agli estremi del circuito elettrico; la velocità e la coppia agli estremi del albero meccanico.

101 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Per quanto detto vale la seguente relazione: dove tau è la coppia elettromagnetica dovuta alla corrente che scorre nel rotore, e K (considerato costante, ripple uguale a 0) è invece un fattore di proporzionalità caratteristico della tecnologia di costruzione del motore (numero spire, tipologia magneti, raggi delle spire, piani di rotazione,...). Inoltre per quanto visto per la legge di Faraday, potremo aspettarci che la rotazione indotta dall'albero motore, produrrà una differenza di potenziale agli estremi del avvolgimento (Coil). dove la funzione individuata descriverà la variazione di flusso causata dalla rotazione e dalla commutazione delle spazzole del motore. Per individuare meglio il comportamento di questa relazione basterà porre la condizione di conservazione dell'energia nella trasformazione: Da cui risulterà: e pertanto: Oltre alla equazione di bilancio energetico nella trasformazione dovuta all'attuazione elettromagnetica, nel motore sono presenti i fenomeni dovuti al circuito elettrico (induttanza e resistenza) ed al sistema meccanico (coppia esterna e inerzia, trascuriamo l'attrito) per cui potremo scrivere: Alcune considerazioni: supponiamo che il motore venga controllato da un driver di tensione (esempio schema da includere). L'equazione del moto si può ridurre considerando di eliminare la variabile corrente. Trasformando tramite Laplace entrambi i membri, dalla prima equazione abbiamo:

102 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica e sostituendo nella trasformata della seconda risulta: Per capire una ulteriore semplificazione del modello bisogna considerare la costante definita come la costante tempo meccanica del sistema. Il valore di questa costante e` pari al polo del sistema considerato che il polo meccanico avvenga ad una frequenza molto più bassa del polo elettrico (R+sL). In questo caso potremo trascurare nel sistema gli effetti dovuti al polo elettrico (Questo sarà vero solo se non realizzeremo noi un controllo che cercherà di cancellare il polo meccanico del sistema). La costante tempo meccanica inoltre è collegata all'inerzia ed allo smorzamento naturale del sistema cui il motore è soggetto se cortocircuitiamo le spazzole. In questo caso il motore si comporterà come un freno elettromagnetico trasformando l'energia di rotazione in calore tramite la resistenza elettrica del coil. Un altra considerazione importante la possiamo fare considerando i comportamenti a regime (i transitori sono stabilizzati e le derivate sono tutte nulle). Le equazioni diventano: Da cui si evince: La coppia e la corrente in condizioni di regime sono in relazione lineare l'un l'altro; La tensione e la velocità angolare sono collegati da una relazione lineare (retta di carico), per cui fissato uno dei valori, l'equilibrio sulla retta descriverà il comportamento del sistema. Di solito si usa far variare parametricamente il valore della tensione e di descrivere tau, omega. Ovviamente essendo la potenza esprimibile come prodotto dei due, e` chiaro che la potenza massima di al centro della retta. Analisi dei casi limite Per comprendere il comportamento di un motore risulta opportuno esaminare cosa rappresentino le equazioni a regime determinate in precedenza. In particolare viene introdotta una retta di comportamento, detta retta di carico che rappresenta su un diagramma cartesiano il comportamento coppia velocità di un motore in funzione

103 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica della tensione di alimentazione. Per quanto detto in precedenza infatti corrente e coppia in questa situazione sono rappresentate da una relazione lineare e lo stesso accade per tensione, velocità angolare e corrente del motore. Per cui avremo, con riferimento alla figura seguente: N La retta decrescente (rosa), fissata la tensione di alimentazione, descrive in funzione del carico applicato sull asse motore, quale sia il regime di rotazione del medesimo. Tale retta è generalmente chiamata curva di carico o curva n-m. È importante notare che qualora la tensione del motore venisse alterata tale retta si sposta parallela a se stessa. Coppia/Corrente sono rappresentate dalla curva crescente (blu). La parabola tratteggiata (arancio) indica invece, in funzione della coppia resistente e del regime di rotazione, quale sia il loro prodotto, ovvero la potenza sviluppata dal motore. Vi sono due condizioni estreme per cui la potenza meccanica risulta sempre nulla ( mentre la condizione di massima potenza sviluppata coincide con dove indica la velocità a vuoto che avrebbe il motore. La coppia massima esercitabile invece da un motore, definita coppia di stallo è quella invece corrispondente a. Considerato ancora che l efficienza di un motore dipende dal rapporto potenza prodotta su potenza in ingresso avremo: Rappresentata dalla curva a tratteggio lungo (marrone). A seconda delle strategie il dimensionamento del rapporto di riduzione di un motore può quindi avvenire in generale piazzando il regime tipico di rotazione tra il punto di massimo rendimento e quello di massima coppia. Inoltre, per ogni motore bisognerà stare attenti a non superare mai la coppia massima per limiti termici, ovvero la coppia che tale motore può offrire consentendo di

104 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica dissipare la potenza termica prodotta dai suoi avvolgimenti tramite la shell di cui esso è fornito. In condizioni ottimali, buona aerazione e temperatura ambiente (22 gradi), la coppia teorica massima di regime per limiti termici così come la corrente equivalente sono fornite a catalogo. In situazioni differenti (condizioni non di regime e/o condizioni di montaggio non ideali) esse andranno stimate con un modello termico equivalente del motore. Parametri di un motore Nella scelta di un motore in genere bisognerà individuare dal catalogo quale che sia la soluzione più idonea ai nostri impieghi. Risulta pertanto utile e necessario comprendere alcune delle terminologie comunemente impiegate nel descrivere le caratteristiche di un motore: Voltaggio nominale o Nominal Voltage: [V DC] È in genere il voltaggio che è applicato alle armature di un motore durante la derivazione delle sue caratteristiche tecniche. Sebbene il voltaggio nominale non sia strettamente legato alle caratteristiche operative di impiego del motore, esso risulta comunque la tensione di riferimento per lo studio delle sue caratteristiche in termini di attrito, velocità a vuoto, durata, Resistenza ai morsetti o Terminal resistance: [Ohm] la resistenza termica è la resistenza misurata tra i morsetti del motore in condizioni di moto nullo. Essa può essere influenzata dalla temperatura dell avvolgimento (che nel caso di motori di solito varia fino a 100 gradi). La resistenza termica è la causa principale del riscaldamento di un motore (essendo gli attriti meccanici trascurabili in rispetto) e risulta pertanto il fattore da prendere in considerazione per il dimensionamento di un motore. Potenza di uscita o Output Power: [W] In generale riportata in termini di Potenza di uscita massima rappresenta la Potenza massima che il motore sia in grado di sviluppare prima di raggiungere i suoi limiti termici. Tale potenza viene determinata come coppia di regime costante che può essere prodotta dal sistema. In generale il suo calcolo viene effettuato partendo dalla potenza massima dissipabile, riconducendola a una corrente sul diagramma di carico, quindi stimando la potenza associata. Efficienza o Efficiency: [%] è la percentuale massima di potenza in ingresso che nella migliore delle condizioni operative può venire riprodotta in uscita con il motore preso in considerazione. Con riferimento ai diagrammi della figura della retta di carico essa corrisponde al massimo della curva di efficienza. Velocità a Vuoto No-load speed: [rpm] è la massima velocità raggiunta dall albero motore quando viene applicata la tensione nominale ai suoi morsetti. La velocità massima è limitata da due fattori: la corrente controelettromotrice, che riduce la caduta di tensione ai capi della resistenza e quindi la corrente che passa nell induttanza, e l attrito prodotto dal sistema meccanico. Nota la costante di accoppiamento meccanico la velocità a vuoto risulta un metodo agevole di stima per l attrito statica/viscoso di un motore.

105 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Corrente a vuoto o No-load current: [A] Si definisce corrente a vuoto la corrente consumata da un motore quando il motore regima alla velocità a vuoto. Questa corrente è influenzata dalla temperatura. Detta la coppia resistente meccanica in tali condizioni avremo che corrente a vuoto e velocità a vuoto sono collegate dalle seguenti equazioni: Da cui conoscendo avremo

106 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Coppia di stallo o Holding (stall) Torque: [oz-in o mnm] Specifica la forza massima in condizione di alimentazione con carico nominale che il motore può sopportare prima di invertire la direzione del moto e svolgere quindi lavoro passive. Generalmente tale forza massima per effetti magnetici è superiore alla forza massima per limiti termici e per cui risulta un puro valore teorico mai ottenibile. Coppia di attrito o Friction Torque: [oz-in o mnm] La somma delle perdite di coppia dovuta ad effetti indipendenti dalla velocità del motore. Esse includono quindi sia gli effetti meccanici di attrito dei cuscinetti che le perdite di energia dovute ad isteresi magnetica dello statore. Attenzione alle unità di misura (non SI). Costante di velocità o Speed constant: [rpm/v] indica il rapport differenziale tra una variazione di tensione di alimentazione ai morsetti del motore ed una variazione di velocità a vuoto del motore. Visto sul diagramma della retta di carico essa esprime quale sia la variazione dell ordinata all origine della rotazione motore rispetto a una variazione unitaria di tensione di alimentazione. Tale variazione di velocità per quanto commentato relativamente alla retta di carico si verifica essere valida in qualsiasi operazione di regime di coppia sul motore (cioè anche per gli altri punti della retta di carico). Costante controelettromotrice o Back_EMF constant: [mv/rpm] È la costante che descrive la relazione tra il voltaggio indotto sugli avvolgimenti del rotore da una velocità di rotazione costante. Come visto nei motori a spazzola questa costante ha un leggero ripple ma si assume essere quasi costante. Il termine back (a volte sostituito da counter) si riferisce alla polarità del voltaggio che si oppone sempre a quella della tensione di alimentazione del motore che provoca la rotazione. Costante di corrente o Current Constant: [A/oz-in] È la costante che indica la relazione corrispondente tra la corrente necessaria all armatura e la coppia che il motore è in grado di produrre. Corrisponde all invero della costante di coppia. Costante di coppia o Torque constant: [mnm/a] è la costante che indica la relazione tra la coppia prodotta dal motore sul suo asse di uscita e la corrente che scorre nelle armature. Come per la costante elettromotrice si assume che anche questo valore sia costante, nonostante ripple tipici di circa un punto percentuale. Attenzione anche qui alle unità di misura, è utile verificare che questa costante che in generale una opportuna conversione di unità porta una corrispondenza con la costante contro e- lettromotrice. Pendenza n-m n-m slope: [rpm/mnm] È la costante che descrive la relazione differenziale tra la variazioien di giri motore e la variazione di carico applicata all asse del motore quando la tensione di alimentazione è costante. Rispetto al grafico della curva di carico risulta essere l opposta della pendenza della retta di carico. Induttanza del rotore o rotor inductance: [ H] gli avvolgimenti del motore corrispondono ad una induttanza equivalente misurata in Henry. Nella nostra analogia tra

107 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica sistemi l induttanza corrisponde all inerzia quantificando in questo la capacità del sistema di opporsi ad un cambiamento di corrente (velocità) che scorre negli avvolgimenti. Il valore dell induttanza, insieme con la resistenza introduce un polo elettrico nel sistema che deve, quando necessario essere compensato dal driver di controll. Per motori piccoli valori tipici di questo polo sono dell ordine di R/L=0.2mS, come vedremo circa un ordine di grandezza in meno della costante tempo meccanica. Costante tempomeccanica o Mechanical Time Constant: [ms] Nominalmente viene definite come il tempo richiesto dall asse del motore per raggiungere il 63% circa del suo valore a regime quando al motore viene applicata una tensione pari alla tensione nominale e il suo asse non è caricato da coppie esterne. Si può verificare che 0.63 è grossomodo uguale a che è il valore quindi della costante tempo (polo) di un sistema con un solo polo. In prima approssimazione, trascurando cioè gli effetti del polo elettrico) la costante tempo potrà essere assunta uguale a:. Inerzia del rotore o rotor inertia: [gcm 2 ] Coome da definizione. Attenti alle unità di misura. Resistenza termica o Thermal resistance: [K/W] In un motore sono generalmente due, e descrivono gli accoppiamenti tra rotore e statore e tra statore e ambiente. La resistenza termica tra rotore e statore in genere è la più piccola tra le due in quant oil progetto del motore ottimizza in genere il flusso di calore tra rotore e statore. La seconda resistenza termica invece può essere eventualmente alterata prevedendo speciali dissipatori di calore, ovvero raffreddamenti forzati. La resistenza termica insieme con le capacità termiche di rotore e statore determineranno il modello termico complessivo del motore controllato dalla potenza dissipata per effetto Joule. Capacità termiche o Thermal capacitance: [J/K] descrive la relazione che intercorre tra la temperatura di un motore e la quantità di calore in esso accumulata (generalmente misurata in Joule). Più frequentemente vengono data le costanti tempo termiche (o thermal constant) in quanto forniscono una più diretta comprensione del tempo necessario al motore per raffreddarsi. Visto il duale elettrico vale la relazione. Come selezionare un motore La selezione di un motore per una particolare applicazione è una operazione che richiede di prendere in considerazione diverse caratteristiche. In primo luogo il punto di ingresso deve essere la potenza. I motori scaldano nel loro uso e la loro capacità di dissipare calore implica anche la potenza massima che gli stessi sono in grado di generare. In condizioni di regime ci sono due equazioni che determinano la potenza termica che viene dissipata da un motore:

108 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Per cui la corrente che un motore può dissipare dipende dalla coppia di regime che viene richiesta al motore stesso. In particolare occorre notare che essa è indipendente dalla velocità di rotazione. Non bisogna invece confondere la potenza dissipata con la potenza generata da un motore che risulta essere proporzionale alla coppia generata per la velocità di rotazione.in generale, quando il motore o- pera in condizione di regime costante, sarà quindi possibile, anche se non tecnicamente corretto scegliere a catalogo i motori selezionando per potenza prodotta. Per determinare la potenza necessaria che deve essere prodotta da un motore, indipendentemente dalla cinematica del meccanismo che controlla, sarà quindi sufficiente confrontare la potenza richiesta dal task con la potenza producibile con il motore e sovradimensionare con un margine di tolleranza 20-80% che potrà essere disperso in efficienze/rendimenti del sistema. Una volta selezionata la gamma di motori in grado di sviluppare un campo di potenza di applicazione adeguata il secondo passaggio sarà quello di garantire che vi sia una corrispondenza tra il regime di rotazione del motore e quello richiesto dall applicazione. In genere i motori sono realizzati per avere un alto regime di rotazione cosicché un tale matching possa generalmente essere effettuato inserendo nella catena cinematica dei riduttori, dei meccanismi ad ingranaggi in grado cioè di ridurre la velocità di rotazione del motore per una costante meccanica definita nel riduttore. In generale i riduttori sono progettati per avere un altissima efficienza, va comunque constatato che, per riduzioni ad ingranaggi, quanto maggiore è il grado di riduzione cinematica, tanto maggiore è la perdita di rendimento che può variare dal 99% fino a casi del 50%. Un dimensionamento sulle velocità di rotazione si effettuerà prendendo in considerazione la condizione di rotazione peggiore, il rapporto cioè tra la velocità massima del motore e quella richiesta all asse di trasmissione della coppia. Quando non risulta possibile effettuare un associazione esatta, si potrà modulare la velocità di rotazione a regime alterando il voltaggio di alimentazione massima del motore. Difatti abbiamo: Per cui un cambio sulla tensione di alimentazione produrrà un cambio proporzionale della velocità a vuoto del motore. Una particolare attenzione va posta al fatto che tipicamente i dati di targa di un motore non sono riportati in accordo con le convenzioni del SI, ma più in generale in base alle convenzioni tipiche del settore, per cui, ad esempio sarà necessario convertire i riferimenti di rotazione angolare:

109 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Altri tipici problemi di conversione possono nascere quando si ordinano componenti da produttori inglesi per cui sono tipiche unità di misura come: once x pollice, libbre per pollice, libbre per piede. Modelli simulink Il modello elettromeccanico Il modello di un motore può variare a seconda che si consideri la struttura della sola equazione in corrente/coppia o la struttura che include il comportamento elettrico. In generale risulta possibile modellare il motore con due sistemi controre azionati di cui il primo modello descrive l equazione di equilibrio del circuito elettrico e il secondo modello descrive invece l`equilibro meccanico all asse del motore. Interconnessi come segue: Dove ciascun sottomodello rappresenta un sistema del primo ordine rappresentato dai seguenti schemi di riferimento. Gli allievi del corso troveranno una implementazione simulabile con i dati del motore MINIMOTOR 3863 sul sito del corso.

110 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Schema di riferimento dell anello di corrente Schema di riferimento per rappresentare l anello di velocità. In generale il polo elettrico di un motore, si colloca oltre una decade sopra il polo meccanico, risultando talvolta in quello che si definisce un sistema stiff, un sistema in cui è presente un polo ad alta frequenza che pur non essendo significativo in molte delle simulazione determina un vincolo forte per la stabilità delle simulazioni. Per quanto discusso nel capitolo di implementazione dei controlli digitali risulta pertanto opportuna in generale una sostituzione dell anello tempo continuo chiuso di corrente con un sistema equivalente (in cui il loop viene rimosso) ma tempo discreto. L introduzione di un integratore di Tustin infatti qui non è di utilità in quanto introduce un loop algebrico che riduce le prestazioni del sistema e lo rende non più implementabile in codice C realtime.

111 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Modello termico di un motore Essendo il rotore di un motore completamente ingabbiato all interno del suo statore il modello termico di un DC motor è particolarmente semplice. La resistenza di armatura, produrrà infatti un flusso di calore (Watt) sull armatura stessa pari alla potenza dissipata per effetto Joule dalla resistenza. Tale flusso di calore aumenterà direttamente la temperatura del rotore ed in parte, quando si genera una differenza di temperatura con lo statore, fluirà verso lo statore. L effetto gabbia dello statore impone conseguentemente che tutto il calore in u- scita dal rotore fluisca nello statore e quindi contribuisca a aumentare la temperatura dello statore. In maniera analoga sullo statore sono presenti due contributi di flusso: il flusso entrante che viene trasferito dal rotore ed un flusso uscente di dissipazione verso l ambiente.

112 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Richiami di regolazione Di seguito, eccetto quando diversamente specificato, considereremo il problema della regolazione di un sistema che sia descritto da una dinamica del primo o al più del secondo ordine. Regolazione PID In particolare esamineremo il caso in cui si proceda alla regolazione tramite l impiego di regolatori PID (Proporzionali, Integrativi, Derivativi), di comune uso industriale. Il regolatore PID di fatto non solo rappresenta una soluzione di facile implementazione, economica e robusta, ma consente, anche nella sua semplicità di risolvere un ampia gamma di applicazioni di controllo. I regolatori PID sono facilmente implementabili sia come elettronica a componenti discreti, sia mediante unità di governo specializzate e vendute in automazione come moduli integrati (facilmente regolabili, standard e sostituibili). Alcuni esempi di moduli PID analogici industriali Non tratteremo di seguito regole particolari di taratura e calibrazione di un regolatore PID ma cercheremo di comprendere come le sue tre differenti azioni influenzino la dinamica di un processo controllato. In particolare di seguito faremo riferimento allo schema descritto in figura: Dove si considera il processo da controllare essere proprio e a fase minima, per cui

113 Imaginary Axis Imaginary Axis Imaginary Axis Imaginary Axis Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica La fdt del sistema in retroazione avrà pertanto denominatore pari a: Casi particolari: caso 1: I=0, D=0 (Controllo puramente proporzionale) Avente per radici: 2.5 Root Locus 2.5 Root Locus Real Axis Real Axis 10 Root Locus 8 Root Locus Real Axis Real Axis

114 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Per comprendere cosa succede quando il sistema viene posto in retroazione abbiamo rappresentato in figura il luogo delle radici quando lo zero del sistema si sposta sul piano complesso e i due poli (assunti reali) non cambiano. Come si può vedere nei primi tre casi (cioè qualunque sia lo zero) avremo a che il luogo delle radici per un guadagno sufficientemente elevato prevede che uno dei due poli migri verso lo zero del sistema. Considerato quindi che la fdt del sistema in questo caso sarà: Tale polo si `cancellerà nella risposta con lo zero del sistema facendo sì che la banda complessiva del sistema in retroazione possa essere aumentata regolando opportunamente il fattore proporzionale. Caso differente è invece il 4 esempio del luogo delle radici per cui abbiamo considerato b=0. In tal caso l espressione dei poli si semplifica nella seguente: In questo caso cioè il guadagno imposto dal controllore non contribuisce a spostare il valor medio dei poli, per cui una volta raggiunto un guadagno limite pari a: Ogni ulteriore incremento del guadagno proporzionale non migliora la risposta del sistema ma produce risposta ad oscillazione smorzata il cui inviluppo rimane vincolato al tempo caratteristico V/2M. In questi casi si osserva quindi che il sistema mostra una proprietà intrinseca di dissipazione, che delimita le prestazioni massime che un semplice controllore proporzionale possa ottenere. Volendo fare un analogia con un sistema meccanico è come se volessimo vincolare una massa a fermarsi su un punto collegando una mozza di lunghezza a vuoto nulla e rigidezza pari a P tra la posizione desiderata e quella attuale della massa. In questo caso, il sistema convergerà alla massa data se e solo se, ha una capacità intrinseca di dissipare l energia potenziale dovuta alla distanza dal punto di regolazione. Per stabilizzare questo tipo di sistemi sarà pertanto necessario introdurre nel sistema una componente dissipativa dell energia accumulata dal controllore, che si comporti in maniera analoga a come uno smorzatore viscoso agisce per un sistema meccanico.

115 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Sistema del primo ordine Una ulteriore condizione particolare l avremo quando il sistema da regolare è invece del primo ordine (controllo cinematico). In tal caso la fdt a ciclo chiuso sarà del tipo: Ed il suo luogo delle radici caso 2: I=0, (Controllo proporzionale derivativo) L effetto dissipativo descritto in precedenza viene in effetti generato da un controllore di tipo proporzionale derivativo. Supponendo infatti che, con riferimento alla G(s) introdotta in precedenza, b sia nullo, un controllore di tipo PD può essere ricondotto alla discussione di cui sopra modellando l effetto del nostro controllore come: Per cui non solo il controllore di tipo proporzionale derivativo reintroduce il lo zero che abbiamo visto essere necessario per una retroazione in cui abbiamo necessità di controllare la banda del sistema a ciclo chiuso, ma ci permette anche di progettare dove tale zero debba localizzarsi e quindi di intervenire sulla forma del luogo delle radici in maniera più definita.

116 Imaginary Axis Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica In particolare considerando ancora una volta che b sia nullo la forma che assumerà la fdt a ciclo chiuso sarà: Che ci mostra come per un sistema lineare del secondo ordine il controllo derivativo ci consenta di piazzare entrambi i poli del sistema e quindi di ottenere almeno da un punto di vista teorico prestazioni arbitrarie. Cancellazione di un polo Quando i poli del sistema meccanico da controllare sono ben noti una tecnica di progettazione del filtro PD consiste nell assegnare al polo descritto da il valore di uno dei poli stabili del sistema in maniera per cui la regolazione del sistema del second ordine con due parametri si possa ridurre alla regolazione di un semplice sistema del primo ordine con un parametro. Anche se concettualmente, da un punto di vista matematico, non sembra che vi sia una differenza in questo approccio, nella pratica una semplificazione di questo genere risulta molto utile, in quanto, fissato il vincolo permette di regolare il guadagno del sistema semplicemente osservando la banda di risposta data dallo stesso, e consente simultaneamente, anche nella regolazione diretta sull impianto, di evitare condizioni di criticità in cui possono generarsi oscillazioni indesiderate. In presenza di uno zero naturale il luogo delle radici si trasforma come segue: 1.5 Root Locus Real Axis Cioè il sistema ha due poli e due zeri, ed ad anello chiuso i poli migreranno entrambi verso gli zeri consentendo una situazione teorica ideale di cancellazione completa polo zero.

117 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Che sostituita nella equazione del polo, ci riporta la banda massima ottenibile con il feedback proporzionale. Tale situazione è tuttavia puramente accademica in quanto bisognerà considerare che la derivata numerica è un sistema improprio e come tale non strettamente causale. Per cui non risulta possibile con blocchi di simulazione ma anche con codice di alcun tipo, realizzare un operazione algoritmica che possa produrci in tempo reale il valore della derivata di un segnale. Quello che è possibile tuttavia, è realizzare una approssimazione della derivata che sia affidabile almeno nella banda di controllo che abbiamo imposto per il sistema. In tal caso si può ricorrere a sistemi di questo tipo: Dove il suo diagramma di Bode coincide con quello della derivata fino al raggiungimento in frequenza del polo K. Nella realizzazione di schemi Simulink si raccomanda di fare particolare attenzione pertanto all uso dei blocchetti PID e/o che hanno una derivata implicita in quanto sotto le maschere di tali blocchetti si nascondono delle implementazioni fisiche che implicitamente ricorrono all uso di un polo, e del quale il progettista DEVE esserne a conoscenza. Nella figura ad esempio si riporta l implementazione di un PID che si trova all interno della sottosistema di Simulink. Si verifica che simulink introduce quindi un parametro N pari al polo necessario per rendere causale il sistema di derivazione, e che tale parametro (denominato filter coefficient) va relazionato alla frequenza del polo espressa in rad/s. caso 2: D=0, (Controllo proporzionale integrativo) Per comprendere gli effetti di un controllore PI consideriamo prima il caso di un sistema del primo ordine:

118 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica La funzione di trasferimento ad anello chiuso sarà pari a: La presenza di un integratore in questo caso non limita la possibilità di stabilizzare il sistema per una opportuna combinazione di guadagni proporzionali ed integrativi. Viceversa la sua esistenza nel ciclo di controllo assicura che qualora il sistema sia stabile esso regimerà sempre ad una condizione di errore nullo. L integratore è cioè in grado, anche in presenza di disturbi esterni rispetto al riferimento di garantire che l inseguimento del segnale di riferimento sia e con errore a regime nullo. Controllore I applicato a un sistema algebrico Supponiamo di avere un sistema la cui relazione di uscita sia proporzionale e/o comunque collegata da una non linearità algebrica al comando di ingresso. Ad esempio la relazione tra accelerazione e forza applicata ad un oggetto. In tal caso potremo assumere: L uso di un controllore di tipo I porta ancora una volta alla realizzazione di un sistema stabile di cui possiamo arbitrariamente definire la banda di funzionamento: Mentre l impiego di controllori di tipo proporzionale porterebbe alla realizzazione di loop algebrici. Vedremo in seguito come questa caratteristica ci permetterà di realizzare dei controlli dove volontariamente limitiamo la banda a ciclo chiuso per evitare instabilità del sistema. Più complesso è invece il caso del controllore PI/PID quando applicato a un sistema del secondo ordine.

119 Imaginary Axis Imaginary Axis Imaginary Axis Imaginary Axis Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Root Locus 50 Root Locus Real Axis Real Axis 80 Root Locus 80 Root Locus Real Axis La presenza in questo caso di un terzo polo, rende infatti verosimile delle combinazioni di guadagno per cui il sistema risultante possa vedere la propria stabilità compromessa. In figura si è rappresentato l andamento del luogo delle radici al variare del guadagno derivativo che come abbiamo visto in precedenza, aumentando gli effetti di dissipazione del sistema ne migliora le caratteristiche di stabilità. In generale risulta opportuno su un sistema fisico procedere al tuning del guadagno derivativo solo dopo aver regolato adeguatamente i guadagni proporzionali e derivativi in modo da aver ottenuto il tipo di risposta desiderata. Real Axis Componente di FeedForward In generale la capacità di compensare il comportamento dinamico di un sistema prevedendo una azione diretta che a partire dalla dinamica del segnale di riferimento, ricostruendo la funzione inversa del sistema da controllare sia in grado di regolarne l uscita, viene detto controllo in anello aperto. Talvolta i disturbi dall esterno possono essere introdotti dal fatto di avere ignorato componenti di modello comunque descrivibili (sia per la loro variabilità che per la loro difficoltà di modellazione)

120 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Uno dei vantaggi dell impiego del regolatore PID risulta infatti dato dal fatto che la componente integrale, se realizzata in maniera tale da mantenere la stabilità, è in grado di compensare per questi disturbi non modellati.

121 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Il problema della realizzazione Abbiamo visto come il comportamento di un sistema fisico può essere decomposto in prima approssimazione in uno o più sistemi elementari (meccanici, termici, elettrici, idraulici,...) le cui equazioni costitutive sono funzioni differenziali del primo o del secondo ordine. Questi sistemi possono poi essere ricomposti a patto di descrivere e modellare tramite segnali le relazioni di forza, corrente, posizione,... di interazione tra i sottosistemi medesimi. La composizione di questi sistemi porta a sistemi di equazioni differenziali lineari di ordine n. Fissato per tali sistemi una variabile di ingrasso ed una di uscita (ovvero considerando che tutti gli altri ingressi siano nulli) Un sistema lineare tempo invariante (LTI) di ordine n può essere descritto da una equazione differenziale tempo continua della forma Inoltre, quando opportune condizioni iniziali siano state specificate per l uscita y(t) del sistema, una trasformazione di Laplace del sistema condurrà ad una descrizione del tipo: Dove: È un rapporto di polinomi nella variabile complessa s. Una caratteristica dei sistemi fisici lineari è che una volta determinata la relazione tra ingresso uscita (IO), tutte le altre relazioni IO contengono lo stesso denominatore che viene denominato equazione caratteristica. Determinare le equazioni differenziali sottostanti un sistema fisico si dirà che è un problema di modellazione, descrivere invece un sistema fisico o a blocchi in grado di implementare una specifica equazione differenziale, si dirà invece un problema di realizzazione. Da un punto di vista meccatronico è particolarmente rilevante comprendere quali meccanismi procedurali seguire per sintetizzare sistemi con un a data equazione caratteristica e comprendere quali fattori in una realizzazione digitale possano influenzarne il comportamento.

122 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Avremo infatti necessità, nel corso delle nostre attività di produrre sia modelli relativi alle realtà fisiche che stiamo esaminando che modelli inerenti i sistemi sviluppati e preposti al controllo degli stessi. Di seguito esamineremo quindi quali tecniche potremo utilizzare per la sintesi di sistemi, che siano essi di modello e/o di controllo. Realizzazione Tempo Continua guadagni e blocchi integratori Intenderemo di seguito come realizzazione di un sistema tramite elementi a blocchi la capacità, data una funzione di trasferimento di realizzarne una implementazione tramite blocchi elementari che ne implementa la caratteristica. Per inteso, non è che simulink non consenta con i suoi toolbox di realizzare direttamente una funzione di trasferimento, ma per una serie di motivi, tale opportunità risulta sconsigliabile. Infatti: 1. La realizzazione diretta di una funzione di trasferimento perde della nozione di stato, e con essa della possibilità di specificare dettagliatamente quelle che sono le condizioni iniziali. 2. La realizzazione diretta di una funzione di trasferimento utilizza la rappresentazione dei parametri in forma implicita e pertanto non consente in maniera agevole la composizione dei sottosistemi fisici in base all accesso e modifica degli stessi; 3. L assenza delle variabili di stato preclude non solo l accesso alla condizioni i- niziali, ma limita la descrizione del sistema unicamente alle variabili di ingresso ed uscita non consentendo quindi in questo modo di intervenire (leggere e sovrascrivere) i valori diretti delle variabili di stato; Come studiato nei corsi di fondamenti di automatica un sistema può essere rappresentato in diverse trasformazioni di similitudine cui corrisponde la medesima G(s). In termini di implementazione a blocchi questo significa che la soluzione al nostro problema non sarà unica ma dipenderà dalla particolare scelta di variabili di stato che decidiamo di adottare. Una prima trasformazione del sistema per ottenere una rappresentazione a blocchi elementare è quella di riscrivere la funzione di trasferimento evidenziando una struttura di feedback: Fs () G() s 1 Bs () Che sappiamo poter essere implementato da un sistema del tipo:

123 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Dove in verde si è evidenziata la componente diretta (Forward) ed in arancio la componente di retroazione (Backward). Per ottenere questa formula, supposto che la funzione in questione sia propria e quindi fisicamente realizzabile, divideremo numeratore e denominatore per il grado massimo della variabile s (e cioè n): Posto in questi termini possiamo individuare nella struttura così ottenuta le funzioni dirette e la funzione inversa, difatti avremo: Realizzabile come e

124 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Avendo scelto questa specifica forma di realizzazione per l anello di feedback tutte le derivate del segnale di uscita sono direttamente disponibili alle uscite degli integratori. Possiamo quindi sintetizzare la funzione completa di uscita andando a prelevare queste derivate e pre-moltiplicando per i coefficienti del numeratore della funzione di trasferimento. Ovviamente una sintesi di questo tipo rispetto alla sintesi a blocco singolo mi consente di accedere completamente a tutte le variabili interne del diagramma e di modificarle per le esplicite esigenze di una sintesi più complessa, ad esempio: interconnessione di blocchi ed individuazione delle componenti di interazione modifica in tempo reale dei valori misurati agli integratori e aggregazione di dati eventualmente disponibili da sensori introduzioni di non linearità nello schema (saturazione su integratori e modifiche di segnali) cambiamento in tempo reale dei parametri (controllori adattivi) Simulazione digitale di sistemi di controllo Molti dei sistemi di controllo in uso attualmente per la modellazione e la compensazione di dinamiche fanno uso del controllori digitali. Quando il sistema di controllo viene implementato tramite un sistema digitale i conti sono svolti da un programma che si interfaccia con il mondo analogico esterno in uscita tramite convertitori digitale-analogico (DAC) e in ingresso tramite convertitori analogico digitale (ADC).

125 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Questo passaggio non è banale ed introduce nella struttura del controllo un certo numero di alterazioni: in primo luogo l effetto del ritardo dovuto alla conversione dei segnali ed al tempo di calcolo; in secondo luogo una quantizzazione introdotta dalle unità di conversione; ed infine una discretizzazione temporale introdotta dai cicli di calcolo e dai limiti prestazionali della architettura di controllo. Non sarà pertanto possibile modellare/implementare una reale funzione di trasferimento su questo tipo di sistemi e, implicitamente o esplicitamente, dovremo nel passaggio tener conto dei limiti di cui sopra. Se per esempio, modelliamo un sistema continuo e lo simuliamo su di un calcolatore, implicitamente stiamo assumendo di poter elaborare il comportamento del sistema (G(s)) tramite l evoluzione di un sistema equivalente elaborato a tempi discreti dal calcolatore (G(z)). Questa conversione da sistema tempocontinuo a tempodiscreto non è univoca e dipende dai passi che l algoritmo tempo discreto compie per poter simulare il comportamento del sistema tempo continuo. In generale esistono diverse tecniche per ottenere una approssimazione del comportamento dei due tipi di sistemi, ognuna delle quali ha dei vantaggi e delle controindicazioni: Invarianza della risposta all impulso: la risposta a un impulso discreto del sistema TD corrisponde al campionamento in tempi equivalenti della risposta all impulso per il sistema TC; Invarianza della risposta al gradino: come sopra ma per la risposta al gradino; Approssimazione dell equazione differenziale con una equazione alle differenze (di diverso tipo). In particolare mentre le prime due tecniche sono adeguate per un sistema di cui si conosca completamente il comportamento, quando il comportamento di un sistema (anche di controllo) viene descritto tramite l aggregazione di più blocchi funzionali l ultima tecnica è quella che risponde meglio alle esigenze di conversione dal continuo al discreto (C2D). Essa presenta tuttavia alcuni limiti impliciti di cui bisogna essere a conoscenza. Vediamo un esempio, consideriamo un sistema elementare corrispondente alla realizzazione di un sistema del tipo:

126 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Dalla teoria dei controlli sappiamo che questo sistema tempocontinuo è stabile quando lo scalare A>0 ovvero la matrice A ha autovalori tutti positivi. Allora proviamo con il sistemi di simulazione a impostare le seguenti condizioni di simulazione: algoritmo di integrazione di tipo Eulero, passo di integrazione 0.1s, valori dello scalare A= 1, 19.5, 100. A=1 A=19.5 A=100 In teoria quando A aumenta il sistema dovrebbe acquistare stabilità. Invece i dati di simulazione dimostrano che esiste una soglia limite per il nostro algoritmo di integrazione superato il quale anche un sistema stabile diventa instabile. Che cosa succede? Possiamo fidarci delle simulazioni che facciamo? Come verifichiamo se la nostra simulazione è coerente con il sistema fisico da simulare? Come possiamo determinare il valore limite di A? Come possiamo determinare se il comportamento offerto dalla nostra elaborazione tempodiscreta è fedele alla rappresentazione tempocontinua? Per poter fare una analisi più dettagliata del problema bisogna comprendere su quale base matlab/simulink imposta l integrazione del sistema LTI disegnato, consideriamo di avere imposto in matlab un integrazione a passo fisso del primo ordine. Il sistema proposto corrisponde all equazione differenziale:

127 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Dove u(1) è stato posto pari al gradino unitario. L elaboratore è per sua natura un sistema digitale e quindi in grado di operare esclusivamente tramite evoluzioni tempodiscrete. L integrazione effettuata dagli algoritmi interni per determinare l aggiornamento del valore della variabile di stato e quindi dell uscita segue la seguente equazione alle differenze. dove T rappresenta il tempo di campionamento impostato all interno dell algoritmo di integrazione ed il valore della derivata all istante KT viene fornito dalla equazione differenziale descrittiva del sistema. Per cui l equazione di cui sopra si traduce in: Usando quindi il formalismo della Z trasformata, Ed esplicitando la relazione X(U) otterremo Notoriamente un sistema lineare tempo invariante tempo discreto (LTITD) stabile quando la sua funzione di trasferimento ha poli tutti compresi nel cerchio unitario. 1-AT < 1. Per cui assunto T, tempo di campionamento, essere positivo si verifica che esistono due intervalli di instabilità: Mentre la prima condizione coincide con il luogo dei poli instabili dei sistemi tempo continui, la seconda condizione (A > 2/T) rappresenta un luogo di punti instabili solo nel sistema trasformato. Cosa se ne deduce? Ovviamente il sistema in modello, se fosse stato effettivamente realizzato con una simulazione fedele non avrebbe mai dovuto destabilizzarsi. Il sistema realizzato presenta una caratteristica instabilità strettamente dipendente dal guadagno ad anello e dal tempo di campionamento selezionato per l integrazione. Cambiare tempo di integrazione, come si vede dai limiti dell intervallo altera anche le condizioni di instabilità.

128 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Pertanto il meccanismo di simulazione implementato implementa un sistema tempo discreto che non è l esatta copia (discretizzata) del comportamento del sistema tempocontinuo. Ce lo potevamo aspettare, infatti dalla teoria dei segnali sappiamo che le trasformate tempo discrete hanno una caratteristica periodica e pertanto non possono rappresentare il comportamento dinamico di frequenze che vanno oltre la relativa Banda di Nyquist. Di fatto tradotti in termini di stabilità questo significa che non è possibile ottenere in questo modo (né in alcun altro modo) una corrispondenza perfetta tra sistemi tempodiscreti e sistemi tempo continui. Possiamo cercare di estendere i risultati dedotti da questo esempio per derivare delle condizioni più generali, ovvero applicabile a tutti i sistemi di simulazione che procedono tramite un meccanismo di integrazione. Considereremo di seguito la seguente caratteristica: Corrispondente al meccanismo di integrazione che abbiamo supposto nell esempio precedente. A differenza dall esempio questa volta, anziché andare a descrivere per esplicito la relazione che collega la derivata temporale del vettore di stato con la funzione specifica che ne implementa il comportamento, consideriamo di poter rappresentare questa equazione usando un formalismo di doppia trasformata come segue: Dove in realtà abbiamo eseguito una trasformata S e sostituito agli elementi di ritardo unitario il valore z. Tale relazione descrive il rapporto tra la variabile s ed il meccanismo di integrazione adottato, in altri testi si trova difatti introdotta come: Dove si rende esplicita la relazione tra l operazione derivata continua (variabile s) e meccanismo di derivazione discreta che sottende all algoritmo di integrazione. Per comprendere quindi che relazione esista tra le radici del polinomio discreto e i poli del sistema tempo continuo detergiamo quindi la relazione che l algoritmo di integrazione introduce tra s e z. Di fatto (eliminando la variabile X):

129 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica ovvero Di particolare attenzione per noi sarà considerare cosa succede alle relazioni di trasformazione tra poli stabili nel sistema tempocontinuo e poli stabili nel sistema tempodiscreto. In particolare per il sistema tempocontinuo i poli stabili sono tutte le radici della equazione caratteristica che corrispondono al semipiano negativo. Regione di stabilità indotta dall algoritmo Forward Eulero Se prendiamo in considerazione la trasformazione tra s e z così definita ci si accorge che tale trasformazione non è biiettiva (ovvero tutti i poli tempodiscreti stabili corrispondono a poli tempocontinui stabili ma non viceversa). In particolare il semipiano negativo corrisponderà dopo la trasformazione in un semipiano che passa per il punto (-1,0) per cui esisteranno sempre dei poli tempocontinui che risultano instabili dopo la simulazione. La collocazione di tali poli dipenderà direttamente dal ampiezza del tempo di campionamento. Al limite del tempo di campionamento che tende a zero (ovvero il sistema tempo che tende a un sistema tempocontinuo) le due regioni di stabilità tenderanno a coincidere. Cosa si può concludere:

130 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica la realizzazione di un algoritmo di simulazione e/o controllo T.C non è esatta se uso un controllore digitale; 2. Che i poli e gli zeri vengono rilocati dall algoritmo di integrazione; 3. Che il metodo dei rettangoli in avanti (forward Eulero) può trasformare sistemi stabili in sistemi instabili. Il sistema di integrazione forward Eulero presuppone che per poter predirre il valore successivo dell integrale della funzione di evoluzione, questo possa essere calcolato come valore della funzione derivata all istante precedente moltiplicato l intervallo di tempo di integrazione. In maniera analoga si può assumere che detto integrale possa essere calcolato come integrale dell area determinata dal tempo di integrazione moltiplicato il valore della derivata al istante terminale (algoritmo detto di backward eulero). Posto in questi termini il meccanismo di integrazione visto in precedenza si traduce in: e quindi:

131 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica In tali condizioni la relazione di equivalenza z <=> s corrisponde a: ovvero Alcune considerazioni: la forma rappresentata è quella che in analisi si definisce trasformazione bilineare. In grado cioè di trasformare rette in cerchi e cerchi in cerchi. In particolare la retta che definisce l asse immaginario viene trasformata in un cerchio passante per i punti (1,0) e (0,0) determinata in base ai casi limite s=0 e s=oo. Il test di appartenenza per un punto interno (ad esempio (-1,0)) risulta utile per determinare la regione interna. Stabilità dell algoritmo Backward Eulero A differenza dell algoritmo basato sui rettangoli in avanti, l algoritmo dei rettangoli all indietro sarà costituito da una trasformazione definita sempre stabile per qualsivoglia valore dei poli tempodiscreti. Viceversa, solo una ridotta porzione del cerchio unitario stabile dei sistemi tempo discreti viene utilizzata. Questa caratteristica è

132 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica tutt altro che positiva. Letta all incontrario infatti significa che un algoritmo di questo tipo è in grado di trasformare sistemi che in teoria dovrebbero essere instabili in sistemi che in simulazione risultano stabili, a tutto degrado della qualità di simulazione e della capacità effettiva di predire il comportamento del sistema. Il sistema dei rettangoli in avanti e quello dei rettangoli all indietro utilizzano in sostanza due approssimazioni di natura differente (una per difetto, la seconda per eccesso, se così si può dire) per quello che riguarda il comportamento crescente del sistema di integrazione. Viene naturale pensare ad una soluzione mediata delle due precedenti, teoricamente equivalente ad un metodo del trapezio ed in gergo detta metodo di trasformazione bilineare e/o di Tustin in accordo con il nome del ricercatore che per primo lo propose. Il metodo di Tustin suppone di poter utilizzare come elemento costituende dell equazione di integrazione il seguente algoritmo: che utilizzando ancora una volta i formalismi della s e z trasformata equivale alla seguente relazione: Che infine ci riporta alla seguenti relazioni di equivalenza ovvero Come le precedenti trasformazioni, anche quest ultima è una trasformazione bilineare passante per i punti (1,0) quando s=0 e (-1,0) quando ( ). S=(-2,0) ovvero appartenente al semipiano complesso negativo (e stabile) individua il punto (0,0) stabile anche per il sistema tempodiscreto. Questa trasformazione pertanto, a differenza delle precedenti trasforma esattamente il cerchio unitario nel semipiano complesso negativo e viceversa preservando in tal modo la stabilità tem-

133 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica podiscreta dei sistemi tempocontinui stabili e l instabilità tempodiscreta dei sistemi equivalenti tempocontinui instabili. In Matlab/Simulink, quando si sceglierà di utilizzare un integratore tempo continuo per l implementazione di un sistema tempocontinuo, verrà (automaticamente) sempre utilizzato il metodo dei rettangoli in avanti, non consentendo arbitrarietà per la scelta del metodo specifico di integrazione. L ordine dell integratore può tuttavia essere trasformato dal 1 fino al 5 ordine sfruttando migliori approssimazioni della derivata tramite un suo sviluppo (in avanti ovviamente) in serie. Viceversa quando si utilizzerà l integratore discreto verrà consentito dal menù di input del sistema di poter scegliere quale tipo di integrazione bisognerà applicare consentendo in questo modo anche l integrazione in avanti e l integrazione di Tustin. Quali sono i limiti di utilizzabilità dei diversi integratori? Il motore di integrazione di Simulink, per poter risolvere nella determinazione degli schemi utilizza un algoritmo di questo tipo. Per ogni elemento dotato di memoria (in questo caso gli integratori) assume che l uscita non vari (se non infinitesimamente) al variare dell ingresso e per tale motivo utilizza il valore degli integratori come costanti per la determinazione di. Un po come dire che viene calcolata sulla base del valore all istante precedente (Forward Eulero). Ovviamente per Matlab non è possibile predire quale valore devono avere gli integratori dopo il cilo di integrazione prima ancora che l integrazione sia effettuata ovvero che sia determinato. L integrazione in ciclo chiuso di un algoritmo del tipo backward eulero non è possibile in un sistema simulink a meno di non creare un loop algebrico che non può essere risolto a meno di non mettere in piedi metodi di convergenza iterativi e quindi non è idoneo per un utilizzo in tempo reale. Ovviamente l applicabilità dei metodi stabili (Backward e Tustin) dipende da caso a caso dalla configurazione del ciclo di loopback che solo il disegnatore può determinare se sia stabile o meno. In questi casi risulta utile, dopo aver proceduto in fase di progettazione a un impiego di integratori tempocontinui (e quindi senza curarsi particolarmente della stabilità dell algoritmo di simulazione) una sostituzione mirata ed accurata degli integratori tempocontinui con opportuni integratori tempodiscreti. Ciò può essere ottenuto: 1. tramite la sostituzione di tutti gli integratori di anello aperto con altrettanti integratori di Tustin 2. tramite la sostituzione degli integratori in ciclo chiuso che fanno parte di sistemi lineari, con sistemi lineari equivalenti pre-calcolati in base alla trasformazione di Tustin.

134 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica A tal fine matlab offre a disposizione un insieme di comandi per passare dalla definizione dei sistemi tempocontinui in sistemi tempodiscreti equivalenti con le caratteristiche dinamiche di equivalenza desiderate. L utilizzo di un sistema tempodiscreto in vece del sistema tempocontinuo consente di offrire una garanzia di stabilità dell algoritmo anche al variare del tempo di integrazione (un sistema tempodiscreto non ha infatti bisogno di conversioni e quindi di alterazioni di stabilità al variare della frequenza di integrazione) ed indipendentemente dai poli del sistema tempocontinuo. Tuttavia talvolta questi ultimi sono inidonei quando il tempo di simulazione varia in quanto il loro comportamento deve essere ricalcolato di volta in volta. Equivalenza Tempodiscreta Definito uno schema di controllo tempocontinuo, quando siano fissati i tempi di integrazione, talvolta è opportuno poter trovarne un equivalente tempodiscreto per procedere ad una sintesi diretta del controllore. Rispetto all approccio di utilizzare un algoritmo di integrazione che converta automaticamente il comportamento dello schema in un sistema TD, l approccio di progettare direttamente il sistema TD consentirà di ottenere un sistema stabile per sua natura e non dipendente quindi dai tempi di simulazione. A tal fine sarà possibile procedere alla conversioine di un sistema da tempocontinuo a tempodiscreto tramite il comando C2D di matlab, tramite la seguente sintassi: Sd = C2D(Sc, Ts, Method); Dove, Sc è il sistema continuo, Ts il tempo di integrazione per la simulazione e Method è una stringa che individua quale algoritmo di integrazione dobbiamo utilizzare. Il sistema fornirà in risposta un sistema tempodiscreto Sd descritto in maniera analoga alla descrizione fornita per il sistema tempocontinuo (SS, Tf, ZPK). Esercizio Calcolare l equivalente TD del sistema che si otterrebbe imponendo un algoritmo di integrazione di tipo Tustin e un tempo di integrazione pari a 40mS. Soluzione Sostituendo la relazione: Avremo: Da cui

135 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica La realizzazione di sistemi tramite elettronica Per realizzazione elettronica intenderemo il percorso di sintesi necessario per realizzare tramite componentistica elettronica un comportamento dinamico prestabilito. Nella parte iniziale del corso abbiamo infatti imparato a creare da uno schema elettrico, le relative equazioni differenziali e quindi un equivalente sistema dinamico simulabile con sistemi a blocchi. Affronteremo ora il problema inverso, ovvero come dato una relazione comportamentale di ingresso uscita definita da un sistema LTI sia possibile realizzare una rete elettrica/elettronica che ne implementi i comportamenti. Schemi elettrici semplici Due tipologie di schemi elementari potranno essere presi in considerazione: le connessioni serie e le connessioni parallelo. Per le prime sarà interessante andare a caratterizzare sia le impedenze complessive che le possibili funzioni di trasferimento ottenibili, per le seconde analizzeremo invece le caratteristiche di impedenza realizzabili: Ra Ra Vin Rb Vout Vin C Vout Vin L Vout (a) (b) (c) I tre elementi di cui sopra hanno funzioni di trasferimento tra ingresso ed uscita pari a un guadagno regolabile (dove G <= 1), un polo semplice, ed una coppia polo zero. Ovviamente gli esempi di cui al punto b, possono essere invertiti prendendo l uscita sopra la resistenza di ingresso e quindi ottenendo rispettivamente le seguenti funzioni di trasferimento: (b) VoutRa, (c) Vin scra 1 Vout R Vin R sl Ovviamente non risulta possibile (se non idealmente) la realizzazione di un derivatore puro che corrisponde ad un elemento non strettamente proprio. La derivata com-

136 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica pare sempre associata ad un comportamento passa basso che rende il sistema complessivo fisicamente realizzabile. Per ciò che concerne invece le impedenze dei componenti (rapporto V/I) quando sono connessi in parallelo (in riferimento allo schema di figura seguente) valgono le seguenti relazioni costitutive: Ra Rb Ra C Ra L (a) (b) (c) (a) RaRb Z (b) Ra Rb Ra Zin (c) scra 1 srl Z R sl A differenza dei blocchi di Matlab/Simulink ed utilizzati in teoria dei controllo, le interconnessioni dei componenti elettrici non sono indipendenti. Ogni nuova connessione può difatti alterare il comportamento del circuito stesso in base alla caratteristiche della connessione stessa. Alcuni elementi composti Negli esempi precedenti, il comportamento del sistema legava reciprocamente i fattori di guadagno e dei polo. In questi casi per poter avere maggiore libertà nel definire le caratteristiche della funzione di trasferimento occorre aggiungere alcuni elementi in più: Le tre funzioni di trasferimento associate sono rispettivamente:

137 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Mentre i primi due esempi ci permettono di avere più flessibilità nella individuazione dei parametri, il terzo caso ci consente, organizzando opportunamente i componenti e l'uscita, di realizzare funzioni di trasferimento del II ordine. L'amplificatore operazionale L'uso degli amplificatori operazionali consentono di estendere le tipologie di sistemi rappresentabili tramite reti elettriche. Oggi amplificatori operazionali sono considerati dei componenti integrati a semiconduttore in grado di eseguire una funzione di amplificazione lineare tra la tensione di un segnale in ingresso e la tensione di un segnale in uscita. Il termine operazionale deriva dal fatto che, originariamente, tale dispositivo veniva usato nei calcolatori analogici per svolgere operazioni matematiche (come somme, sottrazioni, moltiplicazioni, integrali, derivate, ecc...) su segnali elettrici. I primi operazionali infatti furono realizzati negli anni 40 con valvole. Successivamente l'uso del transistore bipolare ha consentito una riduzione dei consumi ed un notevole miglioramento in termini di occupazione di spazio tramite moduli a componenti discreti. L amplificatore operazionale (AO) è un circuito integrato composto da resistenze, capacità, diodi e transistori collegati in rete ed incapsulati in un contenitore, che viene collegato normalmente al circuito mediante una zoccolatura a pressione.

138 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica (Sostituire Figura) L AO può essere definito funzionalmente come un amplificatore differenziale, cioè un dispositivo attivo a tre terminali che genera al terminale di uscita una tensione proporzionale alla differenza di tensione fornite ai due terminali di ingresso. Lo stadio di ingresso di un amplificatore operazionale è quello di un amplificatore differenziale, sono pertanto disponibili due piedini IN+ e IN- che vengono alimentati con un segnale. Si definisce resistenza di ingresso l'impedenza vista a questi due terminali da un segnale eccitante esterno. Si assume che un amplificatore operazionale ideale ha una resistenza di ingresso infinita, nella realtà questa resistenza varia da qualche MOhm a qualche centinaio di MOhm. Dopo un passaggio interno, il segnale differenziale prelevato dallo stadio differenziale di ingresso viene inviato ad uno stadio monopolare di uscita, in cui cioè viene reso disponibile un solo segnale. Lo stadio di uscita in condizioni di amplificatore differenziale ideale si comporta come un generatore pilotato in tensione, con una resistenza serie nulla. In realtà negli amplificatori reali questa resistenza è pari a una decina di Ohm. Gli amplificatori operazionali più diffusi usano uno stadio di uscita in grado di comportarsi bene per piccole correnti (qualche decina di milliampere). Uno degli amplificatori operazionali più diffusi è il 741, disponibile sia in contenitori metallici (TO) che in contenitori plastico (DIL).

139 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica La piedinatura è la stessa qualunque sia il modello di amplificatore preso in considerazione: 1. Offset 2. IN- 3. IN+ 4. V- 5. Offset 6. Out 7. V+ 8. N.C. Qualunque sia il tipo di involucro utilizzato per amplificatore operazionale, lo schema circuitale di riferimento è sempre lo stesso:

140 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Nello schema circuitale i due terminali di Offset non appaiono (e talvolta non si indicano nemmeno i terminali di alimentazione) in quanto vengono utilizzati solo per migliorare il comportamento in modo comune del amplificatore. Una prima considerazione elementare che occorre fare per un amplificatore differenziale è la seguente: rispetto a cosa viene amplificata l'uscita? difatti è un segnale che non è differenziale e pertanto deve fare riferimento a una tensione comune. Possiamo schematizzare il comportamento elettrico di un amplificatore differenziale con la seguente relazione: Dove A(s) è la funzione del guadagno >>1 in continua e con un polo a bassa frequenza. Il prodotto frequenza polo x guadagno in continua prende nome di prodotto guadagno banda ed è una delle caratteristiche prestazionali di un amplificatore differenziale:, dove risulta dell'ordine di 10^6, mentre di qualche decina di Hertz. Il prodotto guadagno banda ci indicherà una delle caratteristiche più rilevanti di un operazionale. Vale a dire, quanto più cercheremo di amplificare con un dispositivo di questo genere, tanto più, perderemo di risposta in frequenza. Prima di vedere le utilizzazioni più comuni di un operazionale, richiamiamo due regole d'utilità per l'analisi dei circuiti associati: 1. Impedenza d'ingresso infinita: abbiamo visto che è una approssimazione ma in buona parte dei casi le gli assorbimenti dello stadio di ingresso si possono considerare nulli rispetto alle correnti in gioco; 2. Corto circuito virtuale. Quando gli operazionali vengono utilizzati in retroazione negativa per la stabilizzazione della corrente in uscita, il guadagno di anello risulta essere così elevato da ridurre pressoché a zero la differenza di potenziale agli ingressi differenziali. È quello che si chiama, corto circuito virtuale, perché la differenza di tensione è zero ma non vi scorre corrente. 3. Impedenza di uscita nulla: lo stadio di uscita è caratterizzato da uno stadio di tipo push-pull tipico di amplificatori in classe B. L'impedenza che si vede quindi è pari a quella del canale (aperto) dei BJT, valori tipici sono di qualche decina di ohm. Bisogna fare attenzione che queste approssimazioni possono essere utilizzate solo quando l'operazionale è configurato in maniera opportuna, ovvero: la retroazione è negative e stabile, l'impedenza della rete di ingresso è significativamente inferiore a quella dell'operazionale. L'impedenza della rete in uscita è significativamente superiore a quella dell'operazionale. Esistono alcune configurazioni tipiche degli operazionali che sono tali da garantire questi requisiti e che vengono studiate separatamente per facilitare l'analisi di circuiti altrimenti complessi.

141 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Configurazioni tipiche di uso La configurazione non invertente L'impiego più naturale, anche se non il più diffuso di un' amplificatore operazionale, è quello in configurazione non invertente indicato nella seguente figura: L'ingresso del segnale viene collegato al terminale di ingresso positivo tramite una resistenza (fittizia), mentre una retroazione sull'ingresso viene creata da a tramite un partitore verso massa. Per analizzare il circuito, utilizzeremo le regole definite in precedenza. Se il circuito è stabile, ovvero la retroazione negativa funziona, allora sarà:, per cui si può ricavare dalla regola del partitore. ovvero volendo assumere le relazioni di cui sopra: dove per comodità abbiamo assunto essere a media nulla l'alimentazione. Eliminando la variabile di tensione interna otteniamo: Che nel caso di grosse amplificazioni si riconduce alla prima. Vale la pena fare alcune considerazioni: 1. L'amplificatore non invertente ha guadagno almeno pari a 1;

142 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Il guadagno dell'operazionale non è significativo nel determinare il guadagno complessivo; 3. lo stesso dicasi per la resistenza di ingresso (almeno da un punto di vista statico/quasi statico). Da un punto di vista dinamico è invece consigliabile che essa sia pari al parallelo delle altre due resistenze. i.e. Alla resistenza vista all'altro ingresso; 4. Il caso estremo di e, è un caso abbastanza tipico, e corrisponde ad una condizione di amplificazione unitaria, definita buffer. In un buffer la tensione di uscita insegue esattamente la tensione di ingresso, mentre l'impedenza di uscita è pressoché nulla, l'impedenza di ingresso è circa infinita. Questa situazione può servire a disaccoppiare il comportamento di stadi circuitali evitando che correnti e tensioni possano modificare gli stadi precedenti. In termini di controllo uno stadio è una situazione ideale per trasformare una f.d.t in un sistema in cui l'uscita non ha più effetto sull'ingresso. L'utilizzo della configurazione non invertente ci porta ad una prima idea di composizione delle finzioni di trasferimento ottenute tramite reti elettriche. La proprietà di questi buffer di apparire infatti come generatori di tensione in uscita e di offrire una impedenza di ingresso infinita, in questa configurazione ci consente di prelevare e riprodurre i segnali elettrici generati in una rete senza per questo alterare il comportamento della rete stessa. Se quindi scompongo il comportamento di un sistema di controllo in un prodotto di fratti semplici (propri, del primo o del secondo ordine) so di poter realizzare i singoli fratti tramite reti elettriche elementari e di poter moltiplicare detti fratti interponendo dei buffer tra le reti. La configurazione invertente Consideriamo ora il seguente schema, rispetto al precedente manteniamo la retroazione sull'ingresso negativo (cosa obbligatori per avere un comportamento stabile del dispositivo), ma ora anziché collegare l'ingresso a massa, lo usiamo come ingresso e colleghiamo a massa l'ingresso positivo:

143 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Come per la configurazione non invertente si usa mettere una resistenza aggiuntiva sull'ingresso collegato verso massa. Questa resistenza, il cui valore non comparirà nelle equazioni descrittive semplificate, si utilizza per motivi di migliorare le prestazioni dinamiche del nostro amplificatore, il suo valore si pone uguale alla resistenza vista all'altro terminale. In questo modo infatti, entrambi i terminali di ingresso vedono la stessa resistenza per cui lo stadio di ingresso dell'operazione si comporta in maniera equilibrata. Potremo derivare le equazioni di questa rete utilizzando lo stesso metodo visto in precedenza e poi procedendo a semplificare gli elementi non significativi. Tuttavia se applichiamo le regole viste sopra giungiamo senza conti alla stessa conclusione: 1. Impedenza di ingresso infinita ==>. 2. Corto circuito virtuale ; Per cui saputa la tensione di, determino. Ed ovviamente scorrendo tutta la corrente in, avrò: L amplificatore invertente può avere qualsiasi guadagno anche minore di uno e la tensione in uscita e opposta in segno rispetto quella in ingresso. Configurazioni derivate da quella invertente L'amplificatore invertente guadagna esattamente come il rapporto delle impedenze di ingresso e di retroazione. Pertanto è possibile precalcolare la risposta ad una famiglia di impedenze di ingresso e retroazione e per trovare le relative funzioni di trasferimento:

144 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Zinput Zfeedback Guadagno Tipo Guadagno ideale Derivatore ideale con guadagno Integratore Ideale Altro integratore ideale Derivatore ideale Controllore proporzionale derivativo Guadagno con filtro passa basso Controllore proporzionale derivativo R i Controllore PDD2 sc i R i 1 Rete anticipo/ritardo con guadagno. Coppia Polo/zero Si nota intanto come alcuni meccanismi di controllo elementari come il controllore proporzionale, il proporzionale derivativo, l integratore possono essere ottenuti come semplice accoppiamento di impedenze base in retroazione su un operazionale invertente. Ovviamente questi schemi si possono tutti comporre per ottenere schemi più complessi, tuttavia anche nella regola di composizione dovremo stare attenti ad alcuni particolari: Il meccanismo di funzionamento degli amplificato operazioni è lineare fino a tensioni di ingresso/uscita prossime a quelle di alimentazione fuori da questi intervalli, fenomeni di saturazione non assicurano più il corretto comportamento del sistema; Nel comporre a cascata i sistemi dovremo pertanto se necessario decomporre la funzione in maniera da verificare che i segnali trattati siano sempre entro i limiti della saturazione; Derivatori puri non esistono in quanto sono sistemi a fase non minima e non fisicamente realizzabili, per cui è lecito immaginare che il comportamento dei sistemi di cui sopra (derivati con la regola del corto circuito virtuale), non sia quello presunto, ma che su frequenze alte, si inneschino dei comportamenti non ideali del OpAmp che cambiano la funzione di trasferimento.

145 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Essendo questa una caratteristica non predicibile e variabile a seconda del modello di operazionale impiegato, è buona prassi nella realizzazione di questi sistemi sostituire i derivatori ideali con dei sistemi (polo/zero) realizzabili che si comportano come derivatori nella banda di interesse. Configurazione sommatore/sottrattore La somma invertita e pesata di due segnali elettrici può essere ottenuta direttamente tramite elettronica mediante la seguente configurazione: Il calcolo dell'uscita può essere ottenuto tramite il principio di sovrapposizione degli effetti, cioè ponendo alternativamente V1 e V2 al valore nullo, per cui: Tale sommatoria può anche venire generalizzata quando la somma coinvolga un numero arbitrario di ingressi: La differenza di due segnali, utile viceversa nella realizzazione di retroazioni negative può essere implementata tramite quella che viene definita configurazione sottrattore di un operazione. In questo caso utilizzeremo entrambi gli ingressi per realizzare la differenza.

146 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Sempre per sovrapposizione degli effetti otterremo: La configurazione differenziale è inoltre molto utile quando non possiamo assumere che la massa del segnale di ingresso sia esattamente compensata e quindi a comune (in generale si parla di segnali flottanti). La capacità di questa configurazione di eliminare rumori (a modo comune) presenti su entrambi i segnali rende la configurazione particolarmente idonea nella amplificazione di piccoli segnali. Affinché il sistema funzioni correttamente è tuttavia necessaria una elevata precisione nel dimensionamento delle resistenze. Configurazione differenziale in alcuni casi è necessario amplificare con elevate precisione segnali analogici differenziali molto piccoli, per i quali il guadagno deve essere molto elevato. In tal caso l'amplificatore differenziale non risulta essere indicato sia considerato nella configurazione invertente che non. In questi casi si ricorre ad una configurazione particolare in grado di amplificare segnali anche piccolissimi, mentre il consumo di corrente in ingresso è pressocché nullo. Le uscite di due amplificatori differenziali sono collegate in parallelo tramite la serie di una triade di resistenze di cui quelle esterne devono essere uguali (da scegliersi con la massima precisione possibile). Le resistenze esterne inoltre entreranno a far parte della retroazione negativa sugli ingressi in maniera da assicurare l'inseguimento e l'amplificazione degli ingressi positivi. I due ingressi positivi sono invece utilizzati come input per il segnale differenziale. Un esempio della configurazione descritta è mostrato nella figura seguente:

147 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Dette Rf le resistenze di feedback e Rp la resistenza del parallelo tra i due operazionali, per il principio del corto circuito virtuale la differenza di potenziale agli estremi di Rp sarà pari alla tensione differenziale in ingresso e pertanto per la serie delle tre resistenze si può calcolare la tensione di uscita come Per il corretto funzionamento di un amplificatore differenziale per strumentazione come questo sarà necessario oltre ad avere le due resistenze Rp molto ad alta precisione, poter disporre di due amplificatori differenziali soggetti alla stessa tensione di alimentazione, con lo stesso prodotto guadagno banda e con la stessa capacità di reiezione al modo comune. Per ottenere amplificatori di questa specie, si trovano sul mercato dei chip integrati con due operazionali sullo stesso chip (come ad esempio l'op177). Ulteriori informazioni Macchine a Stati Finiti Il formalismo visto per i sistemi tempocontinui e/o digitali rappresentato dalle equazioni alle differenze e/o dalle equazioni differenziali, si adattano bene a descrivere la dinamica di sistemi fisici (elettrici, termici, idraulici) ed alle loro rappresentazioni approssimate digitali. Tuttavia non tutti i problemi dinamici si possono elegantemente risolvere una rappresentazione ISO, dove lo spazio di stato viene descritto come un intervallo di R n. Basti pensare al funzionamento di oggetti di uso comune come televisori, frigoriferi, forni a microonde, lavatrici, registratori, CDrom essi dipendono non solo da in processo tempocontinuo che descrive le equazioni dinamiche da implementare ma an-

148 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica che da una condizione di stato che definisce quale specifica dinamica sia necessaria per ogni condizione. Si prenda in considerazione il seguente semplice esempio: Sia dato un montacarichi con due tasti di chiamata ed un motore. Quando viene premuto la chiamata al primo piano, se la porta del montacarichi è stata chiusa il montacarichi si sposta fino al raggiungimento del piano, quando viene premuto il tasto di chiamata al secondo piano, se la porta è stata chiusa il montacarichi si sposta per raggiungere il secondo piano. Ovviamente per la messa a punto di un siffatto sistema basterà controllare in posizione e velocità un motore in grado di spostare il montacarichi tra i due piani in accordo con i tasti di chiamata. Ma come realizzare il sistema che controlla lo stato dei pulsanti, la chiusura delle porte e fornisce l ingresso al nostro controllore di posizione? In aggiunta il sistema complessivo che tipologia di sistema risulta. Per quanto visto finora i sistemi tempodiscreti, sebbene differenti da quelli tempo-continui mantenevano con questi ultimi una precisa relazione di corrispondenza tra tempo-discreto e tempo. Viceversa per quanto descritto, il cambiamento dello stato del nostro montacarichi può avvenire in tempo diversi collegati a quando dall esterno vengono prodotti determinati fenomeni (pressione dei pulsanti e chiusura delle porte). L elemento distintivo di questi sistemi è il fatto che il loro funzionamento agisce secondo una logica chiara e comprensibile in risposta a situazioni od eventi che si presentano dall esterno, ad esempio la pressione di pulsanti, il raggiungimento di condizioni di regime, la presenza di errori In generale, possiamo quindi ancora immaginare di descrivere il comportamento di questo tipo di sistemi tramite la legge: ma tutto ciò ha un costo. Ovvero mentre in precedenza risultava semplice (anche se proceduralmente complesso) descrivere le equazioni di un sistema tramite tempodiscreto tramite le sue equazioni alle differenze, in questo caso vi sono alcune differenze che non solo complicano la scrittura delle equazioni ISO, ma anche oscurano il significato del vettore degli stati, rendendo in questo modo complessa la determinazione del corretto funzionamento del sistema. Vediamo alcune differenze: Il vettore degli stati assume sempre valori finiti, pari al numero possibile di configurazioni del sistema (o un suo sottoinsieme a seconda del formalismo di rappresentazione); La funzione di evoluzione dello stato è non lineare, essa per lo più è regolata da relazioni logiche (piuttosto che algebriche); Gli eventi (ingressi) possono accadere ad intervalli regolari e/o irregolari; Vediamo un esempio possibile di implementazione per il caso di cui sopra:

149 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica X1: montacarichi al piano 1 X2: montacarichi in viaggio tra piano 1 e piano 2 X3: monatacarichi fisso al piano 2 X4: montacarichi in viaggio dal piano 2 al piano 1 Con detta convenzione la matrice di evoluzione del sistema può essere rappresentata graficamente dal seguente diagramma: Figura: Rappresentazione del processo di funzionamento del montacarichi Dove ovviamente C1: rappresenta la condizione P2 premuto e Porta1 Chiusa C2: rappresenta la condizione ascensore al piano 2 C3: rappresenta la condizione P1 premuto e Porta2 Chiusa C4: rappresenta la condizione ascensore al piano 1 Un formalismo di questo tipo ovviamente rappresenta un modo più agevole di rappresentare il comportamento di un sistema a stati finiti. Ma cos è una macchina a stati finiti? Definizione: Si dirà macchina (o automa) a stati finiti un sistema dinamico che risponde in conseguenza di eventi generati dall esterno. Il sistema è composto da un insieme di ingressi, un numero finito di stati raggiungibili, da uno stato attivo, da un insieme di transizioni che definiscono l evoluzione dello stato e da un insieme di leggi di uscita (associabili agli stati e/o alle transizioni). Un microprocessore, è una macchina a stati finiti, i suoi ingressi sono le istruzioni in codice macchina prese dalla memoria tramite un meccanismo detto di fetch, i suoi sati possibili sono i malori dei registri di calcolo e di stato, e le sue uscite sono i valori

150 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica prodotti in memoria, mentre la legge di transizione dello stato è implicitamente descritta nell aggiornamento del valore dei registri. Esistono numerosi esempio di macchine a stati finiti, come le reti posto-transizione, le reti di Petri, (Sistemi ad Eventi discreti, Febbraro, Giua, 2002), i diagrammi di flusso, ed altri ancora. Due esempi molto ricorrenti in informatica sono le macchine di Moore e Mealy. Una macchina di Moore è un automa a stati finiti che produce un evento in uscita in funzione dello stato in cui si trova. L'automa può essere definito da una sestupla di elementi: 1. X, l'insieme degli stati possibili; 2. X0, lo stato iniziale; 3. U, l'insieme degli eventi di ingresso possibili; 4. F(X,U), la funzione di transizione dello stato 5. L'insieme delle uscite possibili; 6. G(X) la funzione di uscita Una macchina di Mealy è un automa a stati finiti che produce un evento in uscita in funzione dello stato in cui si trova. L'automa può essere definito da una sestupla di elementi: 1. X, l'insieme degli stati possibili; 2. X0, lo stato iniziale; 3. U, l'insieme degli eventi di ingresso possibili; 4. F(X,U), la funzione di transizione dello stato 5. L'insieme delle uscite possibili; 6. G(X,E) la funzione di uscita Di seguito utilizzeremo esclusivamente un formalismo particolare, quello introdotto da Havel nel 1987 ed implementato da Matlab/Simulink all interno del package stateflow.

151 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Introduzione alle macchine a stati Il primo passo fondamentale per la implementazione di un automa a stati finiti che implementi un comportamento specifico è quello di riuscire a definire correttamente gli ingressi, le uscite e le condizioni di stato che possano provocare alterazioni sullo stato del sistema. Un cancello automatico Si consideri di dover affrontare lo sviluppo di un sistema di controllo per un cancello automatico. Un cancello, come il montacarichi può avere quattro stati (aperto, chiuso, in movimento di apertura e di chiusura. L uscita da controllare sarà la velocità del motore del motore mentre i possibili ingressi sono almeno quattro (due fotocellule, un comando di apertura e la posizione del cancello). Sulla base di questa impostazione risulta agevole definire in maniera logica quali siano le azioni di controllo dinamico che devono essere ordinate per ogni stato e quali siano le condizioni sulle variabili di ingresso che determino le transizioni tra uno stato ed il successivo. La descrizione del formalismo è presentata in Statecharts: un formalismo grafico per sistemi complessi, Science of computer programming 1987 (pp ).

152 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Ogni macchina a stati si comporta come un blocco di simulink, essa agisce in funziona di una logica interna il cui comportamento viene determinato e può regolare e- ventuali logiche esterne. Così come tutti i blocchi si simulink non è limitata ad essere univoca per uno schema ma essa possono esserne prodotte un gruppo arbitrario. Come vedremo all interno del programma di simulazione tutte le macchine a stati vengono poi ridotte a cooperare all interno di una stessa struttura di esecuzione, ed in funzione di ciò esse potranno godere di una visibilità reciproca di alcune informazioni (variabili ed eventi globali, ). In accordo con il formalismo, rappresenteremo ogni stato del nostro sistema mediante blocchi rettangolare di qualsiasi dimensione. Gli stati possono per noi essere nidificati, ovvero essere rappresentati uno internamente all'altro. Per comprendere cosa significhi in termini logici si pensi al seguente esempio: Stare a casa è uno stato, dal quale è possibile osservare determinati ingressi (ad esempio il telefono che squilla); Stare nel proprio studio, consente di osservare alcuni eventi aggiuntivi ed implica gerarchicamente la necessità di trovarsi nella propria casa. Ovviamente uscire da casa implica la necessità di uscire dal proprio studio, mentre uscire dallo studio non implica la necessità di uscire da casa.

153 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Per ogni stato inoltre il formalismo consente di determinare le transizioni e gli eventi osservabili mediante una programmazione completamente grafica. In particolare sia la determinazione dei valori osservabili che quella delle condizioni di transizione tra stati. Al cuore del funzionamento delle macchine a stati ci sono gli stati. In ogni passo di simulazione simulink è autorizzato a risiedere in uno e un solo stato che determina le azioni da compiere e le condizioni da controllare per le eventuali transizioni. La maniera più semplici per esprimere condizioni di transizione è tramite gli eventi, condizioni logiche asincrone che possono essere passate alla macchina a stati ovvero generate stesso all interno di state flow con dei comandi particolari. Utilizzando lo Stateflow sarà possibile realizzare indifferentemente macchine di Mealy, Moore oppure macchine più complesse utilizzando delle estensioni del linguaggio grafico. L esempio più semplice che si può fornire con questi due concetti base è quello di una lampadina elettronica che assuma due soli stadi: acceso o spento. Associando la transizione tra gli stati agli eventi che avvengono sull interruttore (switch). Vediamo gli elementi essenziali del formalismo in riferimento: Macchina Schema Stato Dati Transizioni Dati Obiettivo Giunzioni Transizioni eventi Dati Evento EmbedFunction(new) Eventi Giunzione ImplicitEvents(new) Stato Come dicevamo lo stato è una posizione stabile della simulazione, per intendersi l unica in cui il sistema è autorizzato a risiedere durante un intervallo di campionamento. Ad ogni evento esterno (trigger o clock) il sistema valuta se persistono le condizioni di rimanenza in uno stato ovvero se sia necessario la transizione verso un

154 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica nuovo stato. Le possibili transizioni tra uno stato ed un altro vengono indicate nel diagramma con delle frecce denominate appunto transition. Ogni transizione specifica sul suo percorso le condizioni che rendono valida la transizione medesima, ovvero gli eventi che devono essere considerati per procedere alla transizione. Con riferimento alla figura dell interruttore digitale erano presenti due sole transizioni in corrispondenza di eventi sull interruttore. L insieme delle condizioni possibili per una transizione può essere in generale più ricco, vediamo l esempio seguente: La condizione viene in genere espressa come un test espresso tra parentesi quadre e riportato all interno del test di passaggio di una transizione. Quando il test, che può prendere in considerazione qualsiasi variabile definita all interno della macchina a stati risulta true, allora la transizione viene considerata attiva. Se una transizione attiva determina il passaggio da uno stato a un altro, vengono compiute due operazioni, nel mentre si cambia lo stato: l uscita dallo stato precedente e l ingresso nello stato seguente. Ogni stato ha pertanto tre classi di operazioni principali che possono essere eseguite ogni volta che la macchina a stati processa un evento (clk o eventi esterni). Le operazioni di entrata entry (en:), le operazioni di permanenza during (du:) e le operazioni di uscita exit (ex:). All interno dello stato, dopo aver specificato il nome associato allo stato stesso, risulta possibile indicare la classe di operazioni e le azioni da eseguire quando si verifichi una di queste situazioni. Il linguaggio da utilizzare e molto simile al codice C, ma consente per talune operazioni, conti direttamente matriciali, in particolare le operazioni tra matrici e vettori

155 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica sono possibili quando definite elemento per elemento. Per azioni più complesse vedremo che dalla versione 2009b in poi sarà consentito introdurre del codice matlab che viene convertito automaticamente in codice C all atto della simulazione. Tra le transizioni possibili una in particolare, sempre necessaria, indica quale sia lo stato da cui la macchina a stati inizia a funzionare. Ciò viene indicato in figura con il formalismo rappresentato come default transition. In generale esistono situazioni in cui risulta necessario individuare gli stati di funzionamento in maniera gerarchica: ad esempio in una automobile lo stato delle spie sul cruscotto può dipendere dallo stato generale macchina accesa o spenta. Una gerarchia di stati determina in particolare le evoluzioni specifiche (le sottofasi) che un sistema deve compiere una volta che una condizione di ordine superiore sia stata determinata. In generale le funzioni che ci si attende quando un sistema si trova in una sottofase sono le funzioni specifiche della sottofase più tutte quelle che sono correlate alle fasi gerarchicamente superiori, ad esempio per una macchina accesa ci si aspetta che il motore funzioni indipendentemente dal fatto che abbiamo attivato o meno la freccia di direzione. Stateflow implementa le macchine a stati come una gerarchia grafica a più livelli di astrazione. L organizzazione gerarchica degli stati viene determinata dalla semplice inclusione grafica (stile diagrammi di Eulero Wenn) di uno stato all interno di un altro. L interpretazione semantica della gerarchia è analoga alle regole di scope di un linguaggio di programmazione, se una funzione definisce delle sottoprocedure, tutte le sottoprocedure pur essendo separate tra di loro potranno accedere alle variabili condivise della procedura che li contiene. In maniera analoga se uno stato definisce dei sottostati, tutti i sottostati potranno accedere alle variabili dello stato padre, e le azioni che vengono compiute in ogni determinato istante sono quelle associate con tutta la gerarchia necessaria per arrivare al sottostato definito. In altre parole, quando sono presenti delle gerarchie di stati, in ogni istante il sistema considera attivi sia lo stato più interno che l intera gerarchia diretta dello stesso, ed essendo attivi tutti questi stati saranno valutate tutte le rispettive transizioni e le rispettive azioni Detta architettura consente non solo di costruire una serie di regole di scope analoghe a quelle delle funzioni nei linguaggi di programmazione (le variabili del livello più interno sovrascrivono quelle esterne), ma, vista la corrispondenza della macchina a stati con l'intero schema simulink, consente di scambiare informazioni/variabili anche tra schemi di per se non connessi (tramite variabili ed eventi di scope globale). In caso di stati nidificati l'uscita da uno stato più esterno implica la simultanea uscita da qualsiasi stato interno in cui si trovi il sistema. Ad esempio la determinazione di un Fault meccanico su una macchina accesa, indipendentemente dallo stato di funzionamento specifico deve essere gestita con una protezione verso l utilizzatore (airbag? Manovre di sicurezza ), oppure spegnere la chiave comporta lo spegnimento

156 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica del motore, delle frecce e di qualunque altra azione fosse determinata dall insieme degli stati attivi. Come per gli stati di alto livello, ogni gerarchia ha necessità di specificare quale che sia lo stato di default che deve venire attivato quando si entra in uno stato padre, in aggiunta per le gerarchie di livello superiore a zero risulta possibile definire una transizione particolare denominata transizione storica (History Junction). La giunzione storica offre un meccanismo per ricordare quale stato era attivo nel momento di disattivazione di un macrostato. In particolare essa storica ricorda quale era sia stato attivo prima che una macchina a stati abbandoni il suo stato padre diretto. La giunzione storica consente quindi di ripartire direttamente da tale stato nel caso l evoluzione dinamica del sistema determini la riattivazione dello stesso stato padre. In un certo senso esse offrono un meccanismo per sospendere le attività di valutazione di un macrostato per poi riprenderle in uno stato successivo (un po come avviene nel multitasking di processi). Si supponga ad esempio di essere in grado di definire un macrostato in grado di determinare il comportamento di un giocatore di carte. La transizione storica aiuta in questo senso a generalizzare il comportamento del sistema quando il gioco passa di mano (verso un macrostato simile) consentendo di ripartire dalle stesse condizioni quando il sistema viene riattivato. Le giunzioni storiche possono essere utilizzate in moltissimi casi: sistemi che ricordano la configurazione (ad esempio i canali in un televisore), L esecuzione di operazioni di emergenza e ripristino (che devono quindi ripartire dalle condizioni sospese) Prima di procedere con maggiori dettagli vediamo un altro esempio:

157 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Si consideri il problema di realizzare uno stabilizzatore di temperatura per forni (ma anche ambienti o caldaie), che segua la regola di accendere e spegnere un bruciatore in funzione della temperatura rilevata da un sensore. Supponiamo inoltre di avere l opportunità di accendere e spegnere solo la resistenza di riscaldamento ma di non poter introdurre gradi di controllo aggiuntivi. L introduzione di una isteresi nel ciclo di controllo ci aiuta a inserire un elemento di stabilità a fronte di un margine di tolleranza. Garantendo in questo modo un intervallo minimo tra le operazioni di accensione e spegnimento. La macchina a stati che implementa questo sistema è riportata in figura, essa avrà due macrostati (forno acceso/forno spento), e due sottostati (resistenza spenta / resistenza accesa) che determinano cosa il sistema debba fare quando risulti acceso.

158 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Le transizioni in presenza di gerarchie di stato possono essere connesse in tutti i modi: da macrostato a macrostato, macrostato a sottostato, da sottostato a macrostato, da sottostato a sottostato. Nei casi una transizione finisca direttamente in un sottostato si ignorerà la definizione della transizione di default, mentre negli altri casi sarà tale transizione (o la transizione storica) a determinare quale sia lo stato da attivare. In aggiunta dobbiamo tener presente che specificando le condizioni di transizione come condizioni logiche risulta sempre possibile un caso di ambiguità tra le transizioni da scegliere, in questo caso il sistema sceglierà per noi secondo una regola implicita (che preferiamo non riportare per spingere lo studente a una pulizia di programmazione) la transizione da seguire. È quindi opportuno che le transizioni di uscita non risultino ambigue, valide simultaneamente per le medesime condizioni, è tuttavia possibile chiedere al sistema di evidenziare i casi di ambiguità e di mostrare per ognuno di essi quale transizione abbia priorità maggiore. Dalla versione 2009, matlab ha introdotto due nuovi eventi in grado di generare a- zioni: l evento TICK e l evento AFTER: L evento TICK consente di monitorare il numero di cicli di analisi in cui il sistema persiste in uno stato; L evento AFTER risulta invece vero dopo che il sistema sia rimasto in uno stato per un intervallo di tempo definito (tipicamente secondi). Tra gli eventi, dal 2009 in poi Matlab scoraggia l impiego di Eventi globali, in quanto questi sono fonte di ambiguità per le macchine a stati presenti in sottosistemi non abilitati e che si dichiarano sensibili a un evento di tale tipo (vanno aggiornate o no?). Come abbiamo visto, una parte fondamentale del comportamento è determinato dalle transizioni, esse in generale possono avere una sintassi più complessa di quanto visto finora consentendo in questo modo di generare comportamenti più complessi, per capirne il comportamento vediamo una implementazione alternativa : In questo caso l operazione da compiere per accendere l elemento resistivo è stata riportata sulla transizione. Ogni transizione ammette infatti una sintassi condizionale definita come segue:

159 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica evento[condizione]{azione su condizione;}/ azione su transizione; La sintassi delle transizioni e divisa in quattro parti: Gli eventi che possono essere generati esternamente o sollevati tramite comandi speciali; Le condizioni, discusse in precedenza e generalmente simili al codice riportato in parentesi dopo un if (in linguaggio C). Le condizioni identificano una condizione logica che se vera abilita la transizione Le azioni su condizione vengono eseguite ogni qual volta il test sulla condizione risulta essere vero Le azioni su transizione vengono invece eseguite ogni volta che il sistema decide di effettuare la transizione (puo differire in caso di presenza di giunzioni) Abbiamo più volte sottolineato il fatto che perché una transizione avvenga non basta che la sua condizione logica sia vera. Infatti le transizioni possono essere composte tramite un elemento denominato giunzione (Junction, vedi figura precedente). Il sistema definisce che condizione necessaria affinché una transizione tra due stati sia possibile è che tutte le condizioni/eventi di transizione tra di essi siano veri. Se due stati sono interconnessi da una sola freccia di transizione allora la condizione degenera in quella logica di una singola transizione. Nella realizzazione di un sistema le giunzioni hanno diversi punti di affinità con gli stati, in particolare una giunzione può sia ricevere che propagare i flussi di controllo definiti tramite transizioni. A differenza degli stati, tuttavia le giunzioni non sono uno stato del sistema per cui non risulta possibile che in un tempo di valutazione il sistema decida di soggiornare in alcuna giunzione.

160 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Ad ogni passo di valutazione (richiamato da eventi o dal tempo di campionamento) il sistema di analisi valuterà quindi se esiste un percorso combinato di transizioni e giunzioni che possa essere completamente vero, e nel caso determina il passaggio dal primo stato al secondo. In caso negativo nessun cambiamento di stato potrà avvenire. Questa funzionalità mette in evidenza la differenza esistente tra azione da eseguirsi su condizione e azione da eseguirsi su transizione, la prima verrà eseguita ogni qualvolta il test deve essere esaminato e la condizione risulta verificata, la seconda solo dopo che il sistema abbia determinato che esistano le condizioni per una transizione tra due stati. Il flusso di controlli ed azioni che vengono effettuate in questa fase, avvengono tutte all interno del un passo di campionamento (non vi si soggiorna). Le giunzioni possono inoltre richiamarsi ricorsivamente, tramite transizioni e percorsi fatti completamente di giunzioni che ripassano per la medesima giunzione. In questo caso saranno esaminate tutte le condizioni in maniera seriale e eseguita una transizione solo se esista un percorso di uscita verso un altro stato. Ovviamente questa condizione può avvenire solo nel caso che esistano delle azioni su condizione che determini un cambiamento nelle variabili del sistema. Nel caso che un ramo di uscita di uno stato abbia delle giunzioni, esso verra selezionato se e solo se esiste una catena di controlli ed operazioni che conduce ad un altro stato in tal caso tali controlli/operazioni verranno tutti effettuati in un unico passo di valutazione. Le giunzioni trovano pertanto particolare valore rispetto agli stati quando si vuole implementare una procedura che deve essere eseguita a corpo e non divisa su diversi istanti di campionamento Occorre ri-sottolineare che a differenza di quanto avviene per l adozione degli stati tutti i passaggi composti da condizioni e azioni su giunzioni avvengono nel medesimo passo di campionamento. L uso di uno stato invece al posto di una giunzione determinerebbe viceversa una semantica completamente diversa del comportamento compiendosi in tal modo il completamento dell evoluzione in Npassi di valutazione piuttosto che uno solo. Un utile esempio dell impiego di giunzioni è la realizzazione di un ciclo for/while che deve essere eseguito interamente nell ambito di un passo di campionamento (ad e- sempio la ricerca di un minimo, somme, medie, ). L introduzione delle embedded Mfunction all interno di Stateflow, ha tuttavia a partire dal 2009 notevolmente semplificato questa operazione. Infatti nelle versioni precedenti di matlab, l uso di giunzioni era spesso necessario per la realizzazione di funzioni anche molto elementari (minimi, massimi ) ma che richiedessero alcuni skill di programmazione. I sistemi prodotti risultavano in genere poco espressivi (a causa della traduzione di concetti di programmazione elementari in diagrammi) e spesso anche poco potenti (a causa della mancanza di algebra e funzioni vettoriali). Con l introduzione delle EMFunction la leggibilità di questi sistemi è notevolmente migliorata. Si prenda in considerazione il seguente esempio:

161 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica La funzione ricerca il vettore di minima distanza tra un insieme parametrico di curve (bidimensionali) e una posizione esterna passata per riferimento. Essa definisce una coordinata curvilinea l che viene inizializzata alla posizione x(l=0), y(l=0) e tenuta in tale posizione fintantoché dal sistema non venga prodotta la condizione di runm. In fase di run, quindi essa insegue la posizione di riferimento utilizzando il prodotto distanza per gradiente. L uso di due Embedded Matlab function, in questo caso aiuta sia a semplificare la complessità della macchina a stati necessaria sia a poter generalizzare il tipo di ricerca dalla descrizione parametrica delle curve (in questo caso spline cubiche):

162 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Altra caratteristica interessante del formalismo grafico in esame risulta la possibilità di definire per ogni livello di gerarchia il tipo di decomposizione presente tra gli stati. Eseistono due tipi di decomposizione base: decomposizione serie e decomposizione parallela. Per decomposizione serie intenderemo quella vista finora, cioè un solo stato attivo alla volta e evoluzione regolata dalle transizioni. Se tuttavia la decomposizione viene definita parallela, tutti gli stati all interno di quel medesimo livello di gerarchia vengono marcati come attivi, e le loro funzioni di valutazione esaminate in parallelo. Nel formalismo grafico la decomposizione parallela di un livello viene marcata con un contorno tratteggiato degli stati del medesimo livello. Pur non esistendo concettualmente una vera decomposizione parallela (gli stati vengono valutati tutti nello stesso passo di campionamento ma in serie), il progettista dovrebbe realizzare il proprio codice senza affidarsi alla sequenza di valutazione. In caso di ambiguità comunque, un numero marcato all interno degli stati aiuta a comprendere quale che sia l ordine deciso dal programma: La decomposizione parallela offre alcuni vantaggi, in particolare i diagrammi che e- seguono in parallelo possono monitorare e condividere le stesse variabili che possono quindi regolarne il funzionamento. In questo modo ad esempio risulta possibile realizzare delle funzioni parallele in grado di monitorare continuamente lo stato di sicurezza del sistema, le condizioni di emergenza, o come nel nostro esempio la presenza di condizioni di rischio sui sensori del sistema. Tali condizioni, quanto espresse sulle condizioni di uscita di un macrostato, possono poi essere propagate verso lo stato che regola il sistema con un meccanismo di segnalazione analogo all effetto delle guardie. Le variabili e i meccanismi di scambio delle informazioni Esistono diverse forme di interscambi e definizione delle variabili. Ogni stato in particolare può indicare un insieme di variabili con una equipollenza quasi completa a

163 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica quella dei tipi numerici del linguaggio C: boolean, char, short int, insigne shot, long, float, double Come accennato in precedenza, quando le variabili sono definite locali la visibilità delle variabili medesime può essere ricondotta a quella del linguaggio C riconducendo il concetto di nidificazione delle funzione a quello di incapsulamento dei sottostati. Oltre alle variabili locali in SF risulta possibile dichiarare il presente insieme di variabili: ingressi, dati scalari o vettoriali prelevati dalle interconnessioni dei diagrammi di simulink. Bisogna tener però presente che quanto utilizzati nella sintassi di state flow, gli elementi dei vettori possono essere recuperati tramite l uso delle parentesi quadre (invece che tonde come in matlab) e impiegando indici zero based (invece che uno). Uscite, simili per tipologia agli eventi il valore delle uscite può venire assegnato all interno degli stati e delle azioni dello state flow. In questo caso sarà possibile definire nella semantica (tramite interfaccia grafica) il valore iniziale delle variabili che per default è posto a zero. E inoltre possibile introdurre dei meccanismi di sorveglianza sulle stesse in modo che siano limitate in valore a un intervallo. Costanti, differenti concettualmente dalle variabili locali per il fatto che una volta inizializzate non vengono più riassegnate all interno delle azioni, esse hanno una implementazione in codice molto efficiente (#define) con un minimo carico computazionale. Risultano in genere molto comode per codificare le condizioni di valutazione con delle espressioni logiche leggibili. Variabili dinamiche. Le variabili dinamiche sono come le variabili ordinarie, ma per queste è a disposizione un meccanismo che permette di specificare il valore della derivata della variabile usando la forma postfissa _dot. Per queste variabili matlab provvede autonomamente a integrare il valore delle variabili. Gli eventi, gli eventi vengono rappresentati come un vettore di segnali osservati dall esterno e che sono propagati alla macchina a stati quando si presenta il verificarsi di una particolare condizione sui segnali. Variabili temporanee, utilizzate all interno delle SFunction, sono in genere invisibili a livelli esterni; Variabili globali, esistono alcune variabili come la variabile tempo (t) che sono accessibili da qualsiasi blocco. DataStore Memory (DSM), esiste un meccanismo di importazione dentro state flow per offrire visibilità degli elementi DSM di simulink. Il meccanismo non è ancora perfezionato (ci si aspetta migliori nelle prossime versioni) in quanto esso richiede che

164 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica vengano manualmente specificate le associazioni di tipo e dimensione delle variabili, e qualora inesatte vengono prodotte condizioni di errore. In maniera analoga alle embedded M function, matlab ha messo di recente a disposizione anche un altro meccanismo similare le embedded S function che permettono di codificare le funzioni di comportamento come se fossero degli schemi. Come per le embbedded MFunction anche questo meccanismo è ancora allo stato embrionale nel senso che l utente dovrà garantire (pena errori durante la simulazione) la coerenza tra i parametri passati che sono definiti in due ambienti separati. Esempio (Da Barbarisi)

165 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica

166 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Generazione e automazione del codice Diversi ambienti di sviluppo (Matlab, Scicos, Labview) permettono di automatizzare le fasi di generazione del codice a partire da una sua descrizione grafica/fisica. Come visto a lezione questo processo non risulta eccessivamente complicato a partire da una descrizione fisica/grafica del sistema, ma richiede tuttavia una elevata accuratezza nel raccogliere le informazioni di interazione tra i sottosistemi che vogliamo simulare. L evoluzione dei sistemi di sviluppo, e soprattutto la recente abilità di questi ultimi di implementare caratteristiche tipiche di sistemi operativi realtime ha notevolmente migliorato l adozione di tecniche automatiche per la generazione del codice. Nel seguito di questo paragrafo esamineremo in particolare due caratteristiche: l integrazione di codice utente all interno del codice di simulazione e la generazione di programmi ed applicativi per piattaforme target. Matlab integra due diversi meccanismi per compiere queste funzionalità: le SFunction e il Realtime Workshop. Prima di esaminare queste caratteristiche eseguiamo da linea di comando l istruzione Mex setup Difatti tutte queste procedure richiedono a matlab di poter interagire con gli strumenti di compilazione disponibili sulla piattaforma target. L istruzione di cui sopra vi permettera` di scegliere tra uno dei compilatori installati ovvero quello distribuito con matlab stesso (LCC).

167 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica In quest ultimo caso potremo compilare solo codice C (non C++). Integrazione del codice utente Vi sono diverse situazioni in cui l integrazione del codice utente all interno di uno schema simulink risulta più opportuno o talora indispensabile rispetto all uso dei blocchi predefiniti: Condizioni di estrema efficienza e/o accesso a risorse proprie e non standard dell architettura di calcolo; Accesso a primitive e funzioni messe a disposizione dal sistema operativo: comunicazioni seriali, ethernet, chiamate di sistema, vedremo a lezione la possibilità di accedere ad esempio ai meccanismi di memoria condivisa; L accesso a procedure e driver per il controllo dell hardware montato sul PC. Questo meccanismo consente in particolare di sviluppare moduli/blocchi di I/O reali verso le schede di sistema (in un PC) oppure direttamente sull hardware della piattaforma target; In taluni casi, quando in particolare l algoritmo da sviluppare ha una forma tale da rendere preferibile una implementazione in codice (ad esempio ricorsione, minimizzazioni, ); Quando sia necessario operare su strutture dati molto complesse (accesso a DBase) sia in ingresso che in uscita; Quando siano necessarie funzioni di visualizzazione molto sofisticate che non siano naturalmente supportate dagli scope di matlab (ad esempio per integrare simulazioni nel WEB, grafica 3D, ) In Matlab/Simulink esiste un unico (molto flessibile) strumento di integrazione del codice utente: la SFunction. Le SFunction sono oggetti shared molto particolari, essi vengono caricati dinamicamente dal sistema operativo e sono acceduti tramite un insieme standard di chiamate di funzione. Ogni SFunction è composta dalla seguente struttura: Definizione del nome: tramite una opportuna define #define S_FUNCTION_NAME your_sfunction_name_here #define S_FUNCTION_LEVEL 2 #include "simstruc.h" Definizione della rappresentazione ISO (TC e/o TD) Eventuali metodi per cambiare la rappresentazione ISO (setinputportwidth, SetoOutputPortWidth, ) Inizializzazione dei tempi di campionamento Metodo opzionale di avvio (mdlstart) MetodoOpzionale di inizializzazione degli stati (serve se ci sono subfunction con trigger/enable) Metodo opzionale di parsing dei parametri (medprocessparameters) Metodo opzionale di aggiornamento degli stati discreti (mdlupdate)

168 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Metodo opzionale di aggiornamento degli stati continui (mdlderivatives) Metodo opzionale di terminazione (clear di variabili) Alcune funzioni di Defult delle SFunctions mdlcheckparameters, verifica che i parametri siano settati correttamenti, essa può essere chiamata anche durante la simulaizone per un aggiornamento dei parametri richiesto dall utente. Questo metodo può essere chiamato a qualsiasi punto di mdlinitializesizes, ma dopo che siano stati settati il numero dei parametri. Durante la simulazione il cambio dei parametri può avvenire sia all inizio che durante un passo di simulazione, solitamente la chiamata avviene due volte, la prima per verificare la correttezza dei parametri, la seconda a termine del passo di simulazione per sostituire con i nuovi parametri. Di default tutti i parametri possono essere cambiati (tunable) durante la simulazione. Parametri fissi devono essere impostati con la chiamata sssetfcnparamtunable durante mdlinitialize- Sizes. mdlinitializesizes, il metodo informa Simulink sulle caratteristiche di IO esibite dall SFunction. Essa imposta il numero degli stati (continui e discreti), degli ingressi e delle uscite, il loro tipo, ed il numero di variabili temporanee richieste dalla SFunction (che vengono allocate per ogni istanza (blocco) presente nella simulazione. Alcuni di questi possono essere posti a DYNAMICALLY_SIZED che indica la presenza di un etodo (mdlsetworkwidths) che imposta la loro dimensione. mdlsetinputportwidth, questo metodo (di esempio) viene chiamato quando si è impostata l opzione DYNAMICALLY_SIZED su una delle caratteristiche della SFunction. Essa deve determinare se le dimensioni nuove siano accettabili per la SFunction, altrimenti generare un errore. mdlinitializesampletimes, questo metodo specifica i tempi di campionamento per la nostra SFunction, sono possibili tempi di campionamento tempo continui (valore 0) oppure tempo discreti (valore determinato), oppure ereditati qualora la funzione possa lavorare a qualsiasi tempoo di campionamento. Alternativamente possono essere specificati tempi di campionamento separati per inputs e outputs. mdlinitializeconditions, questa funzione inizializza solitamente gli stati di una SFunction e/o di un blocco. La funzione può essere chiamata anche più volte durante la simulazione quando il blocco si trovi all interno di un gruppo con esecuzione condizionale (trigger di abilitazione/reset). mdlstart, questa funzione viene chiamata una sola volta all inizione della esecuzione del modello, essa può essere il posto giusto per fare delle inizializzazioni

169 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica che devono essere eseguite singolarmente (ad esmepio allocazioni di memoria, inizializzazione di schede, aperture di canali di comunicazione, ) mdloutputs, questa funzione calcola le uscite della funzione, essa viene chiamata subito (all inizio di un passo di simulazione) se il sistema non ha il DirectFeedthrough settato, altrimenti viene chiamata dopo che I suoi ingress siano disponibili. mdlupdate, questa funzione è chiamata una volta ogni passo maggiore di integrazione, l aggiornamento degli stati discrete di solito viene inserito in questa funzione, me può essere impiegata anche per fare altro. mdlderivatives, calcola il vettore Xpunto della funzione dinamica del sistema i. Il posto in cui memorizzare le derivate può essere determinato con la chiamata ssgetdx(s). mdlterminate, chiamata al termine di una simulazione utile per schemi simulink embeddati in controllori più complessi per fare pulllizia/rispristino del sistema al termine delle procedure di controllo specifiche (esempio chiudere porte di comunicazione, liberare risorse di memoria e I/O, ).

170 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Driver per motori L'elemento per generare segnali di potenza in grado di attuare motori, è l'amplificatore di potenza. Un componente fondamentale per la realizzazione di questi amplificatori è il transistor. Il transistore è un componente a semiconduttore dotato di tre piedini detti collettore, base ed emettitore. Esistono due tipologie di transistori: NPN e PNP: I transistori a differenza dell'elettronica di segnale possono essere incapsulati in packages ad alta potenza e montati insieme con alette di dissipazione per consentire la gestione di grossi carichi e grosse correnti. Un modo semplice per trasformare l'output di segnale generato da un operazionale in un output di potenza è dato dalla seguente configurazione denominata di push-pull.

171 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica I due transistori montati sull'uscita saranno operanti in maniera alternativa, ed in particolare quando la tensione in uscita dall'operazionale è maggiore di zero sarà a- perta la base dell' NPN e la tensione in uscita inseguirà quella data dall'operazionale a meno della caduta dovuta alla base. Quando invece la tensione in uscita dall'operazionale è minore di zero, si aprirà in conduzione il PNP, e la tensione in uscita, a meno della caduta sulla base risulta u- guale alla tensione in uscita dall'operazionale. In entrambi i casi, uno dei dure transistori, tramite il suo meccanismo di amplificazione provvederà a amplificare di un fattore Beta Forward la corrente di base dell'operazionale. Il sistema quindi amplifica la corrente ma genera sfortunatamente una zona morta pari a 2 (tensione di polarizzazione delle basi) nella quale nessuna uscita risulta disponibile. Per compensare questa non linearità vi sono due possibili soluzioni: 1. Aggiungere un ponte polarizzato con dei diodi per diminuire la zona morta; 2. Utilizzare un feedback per compensare con la retroazione l'ampiezza della zona morta.

172 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica La retroazione in quest'ultimo esempio aiuta a ridurre/eliminare la zona morta dovuta alle giunzioni base emettitore. Se il principio del corto circuito virtuale funziona allora sarà pari a, per cui l'amplificatore aggiusterà la propria tensione di uscita per compensare anche il di polarizzazione. Dividendo per A (>>1) e eliminando i termini trascurabili Stessa soluzione dell'amplificatore invertente perché risulta trascurabile. NOTA Si può applicare quindi il principio del corto circuito virtuale anche per questo tipo di schema. Tuttavia anche per la semplificazione di cui sopra, avremo dovuto verificare che, essendo presente la giunzione, la retroazione rimanga comunque negativa anche in presenza di una non linearità esponenziale. Per ridurre l'effetto di questa non linearità la soluzione 1 viene combinata insieme con la 2.

173 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica In amplificatori di tipo Push-Pull. I due diodi di cui sopra, connessi con l'ingresso del push-pull aiutano a ridurre la zona morta ed a far si che gli effetti di non linearità siano trascurabile. La resistenza R8 effettua la retroazione sul gruppo differenziale, mentre R6 serve a mantenere sempre attivi i diodi. È molto importante per una corretta accensione dei transistori dello stadio finale che le giunzioni dei diodi siano e- sattamente uguali a quelle dei transistori. Considerazioni di efficienza Nelle precedenti lezioni abbiamo visto che per controllare un motore risulta necessario provvedere ai suoi terminali una tensione o una corrente predeterminata in maniera da far sì che esso sviluppi una velocità ovvero una coppia ben precisa. Quando si utilizzano degli amplificatori lineari di potenza (come quelli visti in precedenza) per l'attuazione di un motore, si dirà che il pilotaggio è di tipo lineare. Un pilotaggio di tipo lineare consente di far corrispondere il segnale di controllo alla grandezza fisica del motore che vogliamo regolare (la velocità o la coppia). Se si dispone di una doppia alimentazione in grado di fornire tensioni simmetriche (positive e negative) più una massa, allora per il pilotaggio del motore basterà un solo amplificatore di potenza. Se invece, come più spesso accade, la nostra alimentazione è monopolare oppure fornita da una batteria, dovremo utilizzare una coppia di amplificatori lineari nella caratteristica configurazione detta a ponte. In questa configurazione entrambi i morsetti del motore sono connessi alle rispettive uscite degli amplificatori in modo tale che ogni amplificatore regoli la tensione di un morsetto. Inoltre i due amplificatori ricevono lo stesso ingresso di riferimento sui due terminali opposti (invertente e non invertente) in maniera da raddoppiare il range dinamico di tensioni utilizzabili.

174 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Per quanto riguarda la DDP ai morsetti del motore potremo dire che:, mentre il se- per cui, Il primo operazionale si comporta come un Buffer per cui condo in configurazione invertente amplifica -1, avremo detto avremo: In questo modo è possibile solo con tensioni positive di impostare tensioni positive e negative agli estremi del motore. Il difetto di questa configurazione è legato alla notevole dissipazione di potenza che avviene dentro gli operazionali. Considerazioni di efficienza Si prenda in considerazione la retta di carico seguente: dove per comodità considereremo il BJT come un semplice finale di potenza controllato dalla corrente che scorre nella giunzione Base Emettitore.

175 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Ovviamente sarà: La potenza assorbita dalla retta di carico sarà sempre pari a: Mentre quella trasferita al motore è invece dipendente dalla velocità di rotazione. Ne consegue che una grossa parte della potenza, per essere trasferita al motore, viene generata e dissipata all'interno del nostro transistore, il quale dovrà curarsi di eliminare tutta la parte di potenza non impiegata. Questa situazione rende problematico l'impiego di driver lineari quando la potenza del motore supera i pochi watt. Infatti la parte di potenza che viene dissipata nello stadio di uscita degli amplificatori diventa immediatamente considerevole. Nella configurazione presa in considerazione la situazione peggiore occorre quando metà della tensione di uscita viene prelevata dal motore. In tal caso metà dell'energia viene infatti dissipata sotto forma di calore dall'amplificatore. Nella realizzazione di driver per motori, troveremo spesso un uso abbondante di diodi. Il loro impiego è motivato dalla presenza degli avvolgimenti induttivi presenti nel motore, cioè di elementi in grado di generare extra-tensioni di apertura e chiusura anche elevate pur di mantenere costante la corrente che vi scorre. Questo fenomeno può diventare distruttivo soprattutto quando l'elettronica utilizzata è tal per cui i morsetti del motore vengono aperti e chiusi continuativamente. I diodi impiegati vengono scelti in base a due caratteristiche fondamentali: la velocità di apertura, in genere sono richiesti tempi di intervento dell'ordine delle decine di nanosecondi; e la sopportazione di correnti elevate. I driver PWM L'alternativa al controllo lineare è data dalla possibilità di utilizzare i transistori come interruttori digitali in grado cioè di aprire e chiudere i circuiti di carico connessi ai morsetti del motore. L'idea è quanto mai semplice (rappresentata in figura): la chiusura di un circuito di base trasmette un impulso di moto al motore, mentre la sua apertura ne interrompe il moto. Aprendo e chiudendo di seguito questo circuito si ha la possibilità di regolare corrente o velocità media di un motore.

176 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Qual'è il vantaggio? L'uso di un controllo ad interruttore consente nelle fasi di non utilizzo di non spendere energia per il controllo del movimento. Essendo infatti la corrente pari a zero,, mentre nelle fasi di chiusura dell'interruttore, essendo la differenza di tensione nulla avremo ancora V=0: Almeno in condizioni ideali un PWM dovrebbe non sprecare energia. Ma a quali condizioni un sistema di questo tipo può funzionare? Vediamo come definire una onda di questo tipo. Supponiamo dapprima che essa sia un'onda squadrata e di tipo periodica. Per caratterizzarne il suo profilo basteranno tre variabili: l'ampiezza, il periodo e il duty cycle. Il duty cycle è definito come il rapporto tra il periodo dell'onda ed il tempo per cui il suo valore rimane pari all'ampiezza. Il duty cycle è una variabile che può variare tra 0 e 1.

177 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica In termini di trasformata di Fourier, se il duty cycle è costante, il segnale PWM ha una forma periodica per cui la sua trasformata risulta di tipo impulsiva concentrata sulle frequenze multiple di quella reciproca del periodo, mentre i suoi valori sono calcolati in base alla funzione trasformata del rettangolo ((sin x)/x). Cosa succede ad un motore quando viene attraversato da una forma d'onda di questo tipo. Possiamo prendere in considerazione diverse possibilità: 1. ci interessa il movimento in velocità alle basse frequenze quando quindi si può trascurare la risposta del circuito RL. 2. Ci interessa la coppia trasmessa e non possiamo trascurare nemmeno il circuito RL Sia nel primo che nel secondo caso le soluzioni sono equivalenti. Per comodità considereremo il primo caso quando siamo in assenza di coppia esterna e il secondo quando siamo in assenza di rotazione. Nel primo caso l'equazione del motore diverrà: ovvero il motore si comporta come un filtro passa basso con polo (costante tempo) pari alla sua costante tempo meccanica (qualche millisecondo nel caso di micromotori). Nel secondo caso invece l'equazione del motore diviene: Anche in questo caso il motore si comporta come un filtro passa basso dove invece questa volta il suo polo è caratterizzato dalla costante tempo elettrica del circuito RL. E' evidente come in entrambi i casi, posta la frequenza del onda PWM adeguatamente maggiore del polo relativo del sistema risulti possibile controllare il comportamento del sistema. In questa situazione infatti il filtro passa basso costituito dal motore provvederà, dalla trasformata di Fourier del segnale a rilevare solo la componente continua e pari al valor medio del onda PWM. Descrizione di un H-Bridge Un H-Bridge è un componente utilizzato in elettronica per la generazione di onde PWM da inviare a motori. Esistono H-Bridge di potenza medio-bassa (realizzati su integrati). Così come H-bridge di elevata potenza. Realizzati a mosfet di potenza separati. Il principio di funzionamento di un H-bridge è illustrato nella figura seguente. 4 interruttori separati possono consentire di far circolare la corrente in un motore in entrambi i segni di alimentazione.

178 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Vi sono quattro modi di utilizzare il ponte: 1. Chiudendo gli switch A2 e B1 (come in figura) la corrente scorrerà nel motore da destra verso sinistra; 2. Chiudendo gli switch A1 e B2 la corrente scorrerà nel motore da sinistra verso destra con una differenza di potenziale agli estremi del motore esattamente opposta a quella del caso 1; 3. Chiudendo gli switch A1, B1 si creerà una d.d.p agli estremi del motore nulla, in quando entrambi i morsetti sono posti a Vcc (condizione di freno alto); 4. Chiudendo gli switch A2, B2 entrambi i morsetti vengono posti a massa (condizione di freno basso). Un H-Bridge, a seconda delle correnti interessate può essere implementato a componenti discreti (con transistor e diodi) oppure tramite ponti H integrati e quindi realizzati in un unico package DIP. Esistono decine di tipologie di ponti H integrati (LM18200, L298, L293, SN754410) che si differenziano per la presenza di diodi diversi, le correnti di picco, tempi di commutazione, possibilità di controllare più di un motore simultaneamente, range di tensioni cui possono lavorare. Essendo indicativamente nulla la caduta di potenziale prevista sull' H-Bridge quando i transistori (o i mosfet) sono aperti, questi dispositivi possono controllare motori anche con correnti medio-alte. Vediamo lo schema interno di un ponte:

179 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Internamente la logica di un H-Bridge integra una parte digitale con un gruppo di mosfet/transistor di potenza. Abbiamo pertanto due tensioni di alimentazione, la prima per la circuitistica digitale, la seconda per l'alimentazione da fornire al motore. Una coppia di AND, con ingressi invertiti, consente al sistema di evitare la condizione in cui entrambi gli switch di potenza siano attivi simultaneamente (condizione per cui eseguiremo un corto circuito tra alimentazione e massa). Inoltre un segnale di Enable, in ingresso a tutte le porte consente di attivare/disattivare tutti gli switch, facendo passare i morsetti del motore in alta impedenza. I segnali di controllo sono tre e possono avere le seguenti configurazioni: EN, I1, I0 Configurazione 0 X X Morsetti del motore in alta impedenza Condizione di freno basso Alimentazione positiva Alimentazione negativa Condizione di freno alto In aggiunta allo schema fornito di solito vengono posti quattro diodi a protezione dei transistor connessi tra collettore ed emettitore e orientati in maniera che siano polarizzati inversamente rispetto alla tensione di alimentazione. Il loro ruolo è appunto quello di garantire/evitare che in caso di extratensioni di apertura chiusura, si generino delle polarizzazioni inverse dei transistor che possono danneggiare il circuito stesso ed i circuiti esterni. Abbiamo precedentemente detto che un segnale PWM trasferisce una azione media sul sistema controllato di tipo proporzionale/lineare con il Duty cycle del segnale.

180 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Tuttavia, la presenza in questi sistemi di ritardi di azionamento, non linearità dei componenti, produce a sua volta delle non linearità che alterano la proporzionalità tra duty cycle ed intensità del segnale trasmesso. Per questo motivo tutti i ponti H consentono di prelevare l'uscita di corrente del ponte prima che questa sia connessa con la massa e di poterla utilizzare per effettuare una misura di corrente (Vs, s= sensing). A seconda quindi dell'intensità di picco delle correnti in gioco avremo quindi la possibilità di equipaggiare questo sistema con un sensore resistivo ovvero induttivo (sensore a effetto hall). In figura è rappresentato lo schema tipico con cui la misura di corrente può essere effettuata. Un resistore di shunt, la cui resistenza viene scelta adeguatamente in rapporto alle correnti massime ed alle tensioni da misurare, viene posto in serie al circuito del motore per generare una tensione proporzionale all'intensità di corrente. Un sistema di amplificazione eventualmente corredato da filtro elimina disturbi (dovuti alla natura intermittente del PWM) provvederà quindi a generare una tensione di riferimento per un eventuale controllo analogico o digitale.

181 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica In figura lo schema funzionale di un ST6203 in cui si evincono oltre alle funzionalità base anche alcuni circuiti ausiliari, di protezione e riferimento: una pompa di carico per accelerare le transizioni, dei driver di controllo per velocizzare le transizioni dei mosfet, un sistema termico di protezione e una derivazione di una tensione di riferimento. Tecniche di controllo Per generare i segnali di controllo di un PWM sono possibili diverse soluzioni. Alcuni dispositivi a semiconduttore (LM293) ad esempio consentono di ricevere in ingresso un segnale di riferimento e di generare il valore della coppia di indici I1 e I0 in funzione del risultato di una comparazione tra il valore di riferimento ed il valore determinato dal filtro posto sulla resistenza di sensing. Quando invece si ricorre ad un controllore digitale avremo noi la necessità di controllare l'onda PWM con una modulazione manuale degli indici e della abilitazione. Pilotaggio segno e modulo Durante il pilotaggio in segno e modulo, l'ingresso dell'onda PWM viene mandato all'enable, mentre la direzione di rotazione viene manovrata tramite i due ingressi di

182 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica controllo. Un not viene generalmente utilizzato in questi casi sia perché la configurazione di freno non viene utilizzata, sia per ridurre il numero di pin richiesti. Il segnale PWM alterna quindi fasi in cui il motore è connesso alla tensione nominale con fasi in cui il motore viene lasciato in alta impedenza. Duty Cycle Stato del motore 0% Motore a circuito aperto 50% Motore a mezza velocità 100% Motore sempre connesso a Vcc, velocità massima In alternativa è possible controllare un motore in PWM alternando le fasi in cui il motore è connesso a Vcc con fasi in cui il motore risulta frenato (configurazioni di Freno basso o alto). Duty Cycle Stato del motore 0% Motore cortocircuitato 50% Motore a mezza velocità 100% Motore sempre connesso a Vcc, velocità massima Questa configurazione risulta utile quando si vuole sfruttare la configurazione di freno meccanico per diminuire la banda del motore e rendere più stabile il controllo di velocità. PWM in opposizione di fase bloccata (Locked anti-phase PWM) In questa configurazione il segnale PWM viene inviato sui piedini degli indici in maniera negata (I0=!I1). L'enable viene invece controllato a parte. Per cui quando l'enable è abilitato, il motore risulta sempre connesso alla tensione di abilitazione. Duty Cycle Stato del motore 0% Motore connesso a -Vcc, velocità massima 50% Motore mediamente fermo 100% Motore connesso a Vcc, velocità massima Questa configurazione risulta utile per motori che non si devono fermare mai.

183 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Introduzione ai motori passo passo Un motore passo passo è un dispositivo elettromagnetico in grado di convertire gli ingressi espressi in forma di impulsi digitali (ovviamente di potenza) in movimenti di un albore motore. In determinate condizioni essi sono la categoria di motori che viene largamente preferita per alcune sue caratteristiche peculiari: bassi costi, alta affidabilità, grosse coppie alle basse velocità, stabilità intrinseca del movimento, assenza di parti striscianti e semplicità di sensorizzazione e controllo. Ovviamente presentano anche una serie di difetti che andranno tenuti da conto nella scelta della tipologia di motorizzazione più idonea per le nostre applicazioni, tra questi: effetti di risonanza nel moto, coppia debole e non controllabile alle alte velocità di rotazione, limitazione della accuratezza di posizione (in alcuni casi). Esistono tre tipi fondamentali di motori passo passo: i motori a riluttanza magnetica, sono motori che non usano magneti permanenti e per cui non si basano sul concetto di dente megnatico che vedremo tra poco. Questo tipo di motori non offre coppie elevate e le altre caratteristiche tipiche dei motori passo passo più diffuso e non viene pertanto utilizzato in ambiente industriale. Il vantaggio tuttavia di struttare la riluttanza magnetica è quella di consentire i micromovimenti angolari, alternativamente non possibili in motori passo passo tradizionali; I motori passo passo a magneti permanenti. Per la loro semplicità ed affidabilità sono di gran lunga i motori più impiegati nell'ambiente industriale e nella home automation. Essi vengono impiegati nel controllo di motori per cancelli, videoregistratori, pick-and-place in ambito industriale, macchine di taglio e di spostamento... li vedremo più in dettaglio tra breve. Motori ibridi con rotore in acciaio e/o con statore d'acciaio laminato. Sono motori che combinano le caratteristiche dei motori a riluttanza variabiule con quelle dei motori a magnati permanenti, consentendo la realizzazione di rotori a molti denti (tipicamente nei magneti permanenti sono 4 disposti ad angoli di 90 gradi). Nei motori ibridi, si arriva per costruzione fino a 200 denti disposti regolarmente su angoli di 1.8 gradi.

184 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Elementi costruttivi Ogni motore passo passo è caratterizzato da un numero di poli sullo statore ed un numero di denti sul rotore. Ad ogni dente viene associata (per costruzione) o indotta una polarità magnetica, che procede in maniera alternata (N-S-N-S-...) quando si considerino sequenze consecutive di denti. Ad ogni polo invece corrisponde un avvolgimento magnetico che può essere controllato dall'esterno in maniera da esercitare coppie di attrazione/repulsione verso i poli del rotore. E' ovvio che per costruzione un motore passo passo potrà produrre un numero finito di posizioni pari al minimo comune multiplo divisore tra il numero dei denti (M) ed il numero dei poli (N), ma più tipicamente pari al loro prodotto. Per muovere uno STEP moto di questo tipo bisognerà alimentare in sequenza i crcuiti ÄBCD, ABCD, per la rotoazione in un verso e e ADBC, ADBC, per ottenere la rotazione nella direzione inversa. Nel caso di figura avremo un numero minimo di passi pari a m.c.m(6,8)=24. Per cui la risoluzione di movimento del motore sarà pari a 360 /24 = 15.

185 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Gli avvolgimenti dei poli possono a loro volta, prima di essere resi disponibili verso l'esterno essere interconnessi tra di loro, inoltre per ogni polo è possibile la presenza di uno o più avvolgimenti: Collegamento unifilare: su ogni polo dello statore vi è un unico avvolgimento, per cui per invertire la polarità del polo sarà necessario invertire la polarità del segnale di controllo; collegamento bifilare: ogni polo ha due avvolgimenti identici ma opposti in orientazione, per invertire la polarità magnetica senza invertire la polarizzazione basterà alimentare l'avvolgimento opportuno. I motori di tipo unifilare escono tipicamente con quattro cavi, dove gli avvolgimenti interni sono stati già interconnessi in funzione di mantenere le polarità alternate tra i due circuiti (polo pari e polo dispari). I motori bifilari escono invece con sei i otto cavi per consentire connessioni di tipo serie / parallelo. Modi di funzionamento Definito il numero di passi, l'accuratezza angolare con cui potremo controllare il nostro motore sarà determinata dal numero di passi e dal modo di controllo. Un motore passo passo può essere controllato in diverse modalità di funzionamento: a passi, a semipassi e a micropassi. Nel controllo a passi, sono attivi solo due polarità alla volta in maniera da attirare una coppia di denti (opposta sullo rotore) verso una rispettiva coppia di poli dello statore. La polarizzazione è di tipo stabile, nel senso che per mantenere la posizione angolare del motore sarà necessario e sufficiente garantire una polarizzazione costante sugli avvolgimenti del motore. In motore passo passo in queste condizioni ha molte posizioni di equilibrio, ma risiede attualmente in un minimo locale. Tuttavia se perturbato con una coppia esterna da questa posizione di equilibrio può riequilibrarsi in una posizione differente (perdita di passi). Per determinare la coppia massima di tenuta (ovvero quella per cui il motore scivola ) sarà necessario regolare la corrente e quindi l'intensità dei campi magnetici generati dai poli. In questo caso l'angolo minimo di controllo sarà pari a. All'applicazione di ogni impulso sequenziale il rotore di un motore passo passo il rotore di un motore passo passo accelererà per raggiungere il nuovo punto di equilibrio più prossimo alla posizione corrente. Tuttavia questo movimento presenta delle sovra-elongazioni e delle oscillazioni rispetto al percorso angolare da effettuare in assenza di una forza di smorzamento adeguata. Questo comportamento può causare dei fenomeni di risonanza a determinate velocità di rotazione (frequenza di impulsi) che possono produrre una perdita di coppia od anche slittamenti del rotore rispetto alle posizioni previste. In tutti i casi i motori passo passo vanno sempre scelti in maniera che le loro frequenze di risonanza (e quindi le velocità di rotazione) siano ininfluenti nel campo di prestazioni richieste alla progettazione.

186 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Le sovra-elongazioni in esame sono tipicamente dovute a due fenomeni: l'effetto di chiusura del circuito su un'avvolgimento e l'effetto dovuto alla coppia (teoricamente nulla) esercitata all'equilibrio dal polo di attrazione. Per la risoluzione dei problemi di chiusura del circuito ci sono tipicamente due tipi di soluzione: l'uso di diodi in polarizzazione inversa e l'uso di condensatori che mantengono la polarizzazione. Talvolta quando i diodi sono particolarmente lenti le due soluzioni vengono utilizzate contemporaneamente. Tipicamente il dimensionamento del condensatore pone diveris problemi di progettazione. Per risolvere tale dimensionamento si usa adeguare la potenza immagazzinata nel condensatore con la potenza che dovrà essere immagazzinata nell'avvolgimento:. Ne consegue che il sistema LC formato da condensatore e induttanza di per se forma un gruppo risonante con costante tempo caratteristica ( e quindi frequenza di risonanza) pari a : La presenza dell'effetto di risonanza può provocare quindi degli effetti di distorsione della risposta in funzione del tipo di motore impiegato, ad esempio per un sistema a magneti permanenti di tipo unipolare avremo:

187 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Dove rispetto alla figura precedente sono evidenziati sia gli effetti della risonanza e- lettrica che quelli della risonanza meccanica. Statica di un motore passo passo detti S i radianti corrispondenti ad un passo, la posizione di equlibrio di uno step motor polarizzato è una funzione periodica dell'angolo con periodo 2S: La forma non ' esattamente sinusoidale, ma dipende dalla sommatoria di una serie di funzioni ed è collegata alla specifica implementazione tecnologica del motore. Tuttavia per questioni di semplicità essa può essere approssimata con una sinusoide di periodo 2S e valor massimo pari alla coppia di tenuta h. Ne consegue che all'equilibrio la coppia di tenuta è zero mentre cresce linearmente in funzione del carico del motore. Superata la regione di asintotica stabilità (e quindi la coppia h di tenuta) il motore slitterà. Elementi di controllo Esistono diversi modi di controllare un motore passo passo, il modo più semplice è quello per cui si controlla a passi interi (full-step), in queste condizioni vengono esercitate delle polarizzazioni sui terminali degli avvolgimenti in maniera da attrarre sempre un dente vero un polo. Considerando di avere un motore unifilare, il controllo delle polarità dovrà procedere in maniera alternata. Ogni avvolgimento avrà tre stati possibili di funzionamento: +Vc, 0, e -Vc, e la sequenza con cui le polarità verranno presentate al motore determinerà le sue rotazioni.

188 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Il segnale, come per gli encoder è diviso in 4 fasi, ma in questo caso i valori assegnati ai canali di controllo sono tre, in maniera che sia sempre uno e soltanto uno dei due avvolgimenti sotto tensione. Si possono utilizzare tipicamente divesi circuiti per attuare uno step motor. In particolare basterà avere a disposizione una serie di interruttori controllabili elettricamente come mostrato in figura: L'alimentazione utilizzata per il controllo dei motori sarà tipicamente dimensionata sulla tensione di alimentazione degli step motor, mentre una resistenza serie agli avvolgimenti potrà essere utile per ridurre i consumi insieme con la coppia massima di tenuta del sistema. Pertanto nel caso in cui le prestazioni del sistema siano vicini al mlimite indotto dalla costante L/R del sistema esistono dei circuiti equivalenti di limitazione della corrente che consentono di ridurre il tempo della risposta:

189 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica In questo caso, un transistore T1, sostituisce il ruolo della resistenza, tramite un coltaggio regolato ed una resistenza apparente pari a una frazione della resistenza originale: La resistenza serie tuttavia ha l'effetto indesiderato di ridurre la costante tempo L/R che individua la velocità di generazione del campo magnetico e quindi della risposta tempo. Nel caso degli step motor, questa costante tempo è molto significativa perché collegata con gli effetti elettrici di risonanza della risposta. Più tipicamente per il controllo degli step motor si usano gli stessi driver Hbridge visti per il controllo dei motori in corrente continua. In questo caso esistono delle verioni particolari di questi driver che permettono di controllare simultaneamente entrambi gli avvolgimenti di un motore unipolare (a due uscite). Alcuni dispositivi tipici sono: LM298, LMD18200, TC4467, IP1M10, IP3M12, TA7279, TA7288, LM293, IR210X,... In

190 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica questo caso, protezione termica e diodi di protezione contro la polarizzazione inversa sono integrati nei circuiti di controllo. Per il controllo dei motori Step dovremo utilizzare una coppia di Hbridge ciascuno connesso con un avvolgimento in accordo con la seguente tabella delle fasi: Vo V1 I11 I12 EN1 I21 I22 EN2 T0 0 V T1 V T2 0 -V T3 -V T0 0 V (soluzione preferibile perché evita la corsa delle variabili) Riportando i valori in nibble avrò: 0010 = = = = 4 In un controllo tramite micro-controllore dovremo collegare i piedini di uscita di una porta digitale ai rispettivi elementi di controllo di un Hbridge per muovere un motore come illustrato nello schema di figura.

191 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica un metodo di controllo alternativo prende nome di controllo a semipassi (half-step). Questo tipo di controllo consiste nell'alimentare simultaneamente due fasi in maniera da attrarre i denti del rotore verso il punto mediano di due poli. In un controllo di tipo half-step il campo risultante risulterà, per sovrapposizione degli effetti pari alla somma di due campi singoli quando sono accesi i poli separati: Ne risulta che con un controllo di tipo half-step sia possibile controllare un motore con precisione doppia rispetto i passi del motore. Lo svantagio di questo tipo di configurazione risulta nel consumo amplificato di corrente (e quindi dissipazione termica) nei semipassi, e nel irregolare controllo della coppia. Un estensione del half-step è il micro stepping, in questo modo le correnti che scorrono nei due avvolgimenti sono controllate in maniera analogica, interpolando i campi di attrazione dei denti in maniera continua e realizzando in tal modo una ampia varietà di posizioni possibili. Il diagramma coppia posizione, tuttavia è ideale e non tiene conto di due caratteristiche essenziali del comportamento della coppia ossia dell'attrito e della zona morta.in questi casi il microstepping che suppone un andamento lineare (sinusoidale) del comportamento della forza non potrà essere applicato. Per controllare uno step motor dovremo assicurarci di aver dimensionato il sistema in maniera per cui il motore sia sempre in grado di ruotare anche in presenza di una coppia esterna. Nel seguito supporremo che tale condizione sia assicurata e che in aggiunta l'intervallo tra due step successivi sia maggiore del tempo necessario alla rotazione del motore.

192 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Supponiamo di dover ruotare il motore dalla posizione a alla posizione b, dovremo allora realizzare una macchina sequenziale che va da a a b un passo alla volta manovrando di conseguenza i livelli logico-elettrici degli ingressi del motore: altrimenti V1,2(kT) = V1,2((k-1)T) se a-b < Step dove Fo è la funzione che descrive la sequenza di ingressi da dare al microcontrollore (2, 11, 13, 4) in funzione della modalità di controllo (full step, half step, micro step) e della situazione attuale.

193 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica TRASDUTTORI DI MISURA Capitolo in collaborazione con Paolo Tripicchio e Massimo Satler Un aspetto importante e a volte critico nell installazione di un sistema di controllo riguarda la scelta e l integrazione degli strumenti di misura. In particolare è necessario valutare la precisione statica e il comportamento dinamico dello strumento che si vuole utilizzare. L attenta scelta delle caratteristiche dello strumento, nonché la corretta localizzazione ed installazione garantiscono che i ritardi e i rumori di misura siano minimizzati. In generale un dispositivo di misura sarà caratterizzato da: Un elemento sensibile primario Un trasduttore che trasforma la natura del segnale Un amplificatore che aggiusta il livello/intensità del segnale per l integrazione con l unità di calcolo o altra elettronica Quindi quando si parla di trasduttore o sensore si intende un dispositivo che è in grado di convertire un segnale misurato (grandezza fisica) in un segnale elettrico. Oltre alle caratteristiche metrologiche fondamentali è opportuno considerare nella scelta/acquisto di un sensore il costo, la disponibilità, la robustezza rispetto all ambiente di lavoro, il tempo di vita, l alimentazione richiesta etc.. Generalità sulla misura Un sensore è quindi un elemento di misura in grado di convertire una grandezza fisica (detta misurando) in una grandezza elettronica o informatica (Detta misura). Misurando Misura Sensore Un sensore si dice ideale se risulta in grado di leggere e convertire in maniera esatta le grandezze che misura e che sono necessarie per la realizzazione del sistema di controllo. Tuttavia i sensori ideali, anche nei casi più semplici, non esistono. Se riportassimo difatti su un diagramma i valori ottenibili con misure ripetute di una grandezza in funzione del valore ideale del misurando, in genere otterremo una curva dalle seguenti caratteristiche:

194 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Dove si evidenzia che pur ripetendo gli stessi valori della grandezza misuranda, la misura sia soggetta a un errore di misura di tipo aleatorio ed in genere non predicibile. Per descrivere quindi il comportamento della grandezza misurata in funzione del misurando si è quindi soliti introdurre in metrologia alcune grandezze descrittive. La caratteristica di funzionamento (o relazione di taratura statica o funzione di taratura), è la relazione che lega fra loro i valori della grandezza in uscita dallo strumento a quelli in ingresso, stabilendo quindi una corrispondenza tra i valori di lettura dello strumento e i risultati della misurazione. Y Y i + u i Y i Y i - u i curva di taratura I i I Un metodo sperimentale di costruzione della caratteristica di taratura può essere realizzato dividendo l intervallo di misura in N punti di riferimento, e raccogliendo per ognuno di tali punti i campioni di misura offerti dal sensore. Data la nuvola di punti così acquisiti, per ogni punto dell intervallo potremo definire come valore della curva di taratura il valor medio delle misure sul punto, in formule:

195 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Dove ovviamente sono le misure raccolte per l ingresso. La linearità di un sensore indica quanto la misura offerta dal sensore si discosti o meno da una relazione lineare con la variabile che intende misurare. La linearità può essere espressa in modo assoluto, relativo o ridotto all intervallo di funzionamento. Vi sono diversi tipi di approssimazioni: linearità riferita allo zero (zero based linearity): la retta di riferimento passa per l estremo inferiore della curva di taratura, corrispondente all estremo inferiore del campo di misura, ed è tracciata in modo da rendere minimo il più elevato (in valore assoluto) degli scostamenti; linearità riferita agli estremi (end point linearity): la retta di riferimento congiunge i due estremi della curva di taratura corrispondenti ai due estremi del campo di misura; linearità secondo i minimi quadrati (least squares linearity): la retta di riferimento è quella che corrisponde al valor minimo della somma dei quadrati degli scostamenti; linearità indipendente (independent linearity): la retta di riferimento è quella che rende minimo il più elevato (in valore assoluto) degli scostamenti. Dato un sensore di misura, con accuratezza della misura si esprime quanto la misura si avvicini al valore effettivo del misurando. In generale si parla di incertezza assoluta come il massimo scostamento che possiamo individuare sulla curva di taratura; Incertezza relativa come il massimo rapporto (anche in percentuale) tra lo scostamento massimo ed il valor medio del misurando; Incertezza ridotta come lo scostamento massimo del valore assoluto quando ristretto sul intervallo di valori in cui il sensore

196 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica viene effettivamente impiegato. La mancanza di accuratezza è spesso causa di una cattiva calibrazione del sensore. Si definisce sensibilità di un sensore la sua capacità di percepire piccole variazioni di misura. La sensibilità statica si misura sulla curva caratteristica e può essere definita su dei campi di variazione tra la grandezza in uscita e quella in ingresso S=ΔU/ΔI, ovvero se la curva è derivabile come derivata puntuale. La sensibilità rappresenta in genere quindi il rapporto tra la variazione di misura e la variazione di misurando. Tale rapporto per sensori non lineari può in genere risultare una funzione del misurando. Mentre l accuratezza di un sensore descrive quindi la capacità del sensore di venire impiegato per spostamenti relativi, la sua sensibilità si associa alla capacità del sensore di rilevare solo variazioni rispetto a un punto misurato. In termini di controllo una maggior sensibilità risulterà in una migliore stima della derivata del segnale, risultando quindi in una più adeguata possibilità di realizzare controlli con componenti derivative. Una curva a sensibilità costante presenta una caratteristica lineare, quando questo non e verificato bisogna definire la sensibilità come funzione del punto di lettura. Si definisce risoluzione di un sensore la minima variazione necessaria sul misurando che causa una variazione sulla misura operata. La risoluzione è particolarmente importante in operazioni di misura che comportano una quantizzazione a soglie della variabile misurata.

197 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Si parla di risoluzione frequentemente per sensori digitali la cui uscita varia solo in presenza di una variazione di ingresso sopra soglia. Nel caso di convertitori ADC la risoluzione del sensore associato è generalmente pari alla variazione di misura corrispondente a un bit (Least significative bit - LSB). Occorre ricordare che quando il sensore funziona intorno allo zero, al termine risoluzione si preferisce spesso il termine soglia (threshold), intendendo così il valore minimo del misurando che fornisce un uscita apprezzabilmente diversa da zero (si suppone che a misurando nullo corrisponda uscita nulla). A volte si definisce anche l uscita con misurando nullo (zero measurand output, oppure offset), termine che non ha bisogno di precisazioni. Si definisce ripetibilità o precisione la capacità di un sensore di fornire la stessa lettura nel tempo quando la grandezza fisica misuranda ritorna uguale. Come per gli errori la ripetibilità può essere definita in maniera assoluta, relativa o ridotta. Un sensore con elevata ripetibilità tende quindi a fornire misure con una variabilità molto stretta. In generale poiché l inprecisione dipende deriva da errori casuali può essere diminuita effettuando medie successive delle letture. Fenomeni tipici di non ripetibilità sono: il drift, che indica l attitudine del sensore a polarizzare la misura con il tempo. Il drift è una variazione generale di accuratezza che risulti funzione di variabili non note (tempo, temperatura, campi EM, ) al rilievo; l isteresi caratterizza invece un fenomeno ripetibile per cui la sensibilità di un sensore risulta funzione della velocità del misurando in un punto. Essa produce in generale delle curve chiuse cui si da nome di ciclo di isteresi;

198 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica In caso di isteresi la curva di taratura non è più univoca ma si distingue in funzione della traiettoria compiuta per raggiungere la variabile misuranda. In generale l isteresi può essere definita o tramite le sue curve limite di discesa e di salita, ovvero con una caratteristica media che in caso la traiettoria non sia nota, in ogni punto minimizza l errore massimo teorico. una condizione molto limite di isteresi che produce non ripetibilità in funzione della velocità del misurando è il gioco o backlash, esso produce un errore noto costante dipendente dalla direzione della velocità. Tra le caratteristiche dinamiche più rilevanti di un sensore occorre evidenziare le sue risposte in frequenza e nel tempo, il suo ritardo di misura, i suoi zeri (che producono lettura incidentalmente nulla) e i poli di risonanza (che producono una lettura instabile). Caratterizzazione di un sensore lineare Dato un sensore definiremo caratterizzazione del medesimo il processo di analisi per trasformare la misura prodotta dal sensore nel corretto valore della grandezza stimata. Le caratterizzazioni possono essere: statiche, dinamiche, ambientali e di affidabilità. Quando un sensore può essere considerato lineare e tempo invariante, si definisce in genere retta di taratura, quella retta, funzione della variabile misuranda che descrive il rapporto con la misura:

199 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Dove in particolare la relazione di sopra può essere intesa sia scalarmente che vettorialmente. In tal caso la caratterizzazione di un sensore corrisponde alla stima dei parametri della varietà lineare descriventi la retta. Se sono quindi disponibili una serie di valori misurandi (di riferimento) e una serie di misure correlate tale determinazione può essere effettuata ricorrendo al metodo dei minimi quadrati e costruendo pertanto una funzione potenziale: E imponendo che A e B siano tali da minimizzare la suddetta funzione e quindi da annullare le sue derivate parziali: La risoluzione di questi due sistemi lineari conduce a una stima univoca per i valori di A e B: Calibrazione tramite Matlab Si prenda in considerazione il seguente script matlab: X=0:0.1:10; Y= *X; Ym= *X+(rand(1,101) -0.5)*4.5; [AB,C]=polyfit(X,Ym,1) Yr= AB(2)+AB(1)*X; plot(x,y,x,ym, '.',X,Yr); AB =

200 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Data una popolazione di valori e di misure associate, il comando polyfit è in grado di eseguire sempre una interpolazione ai minimi quadrati con un polinomio di grado arbitrario (1== lineare, 2==quadratico, ). Polyfit restituisce due valori, un vettore corrispondente all insieme dei coefficienti del polinomio cercato e una matrice descrivente lo spread di covarianza rispetto tale polinomio. Esercizio Cosa succederebbe se si volesse definire la parabola interpolante di taratura? Soluzione, si procede con lo stesso metodo definendo però tre derivate parziali, che essendo U quadratico nei parametri, definiscono ancora una volta un sistema lineare che risolve il problema. Sensori di posizione I microswitch L esempio più semplice di sensore di posizione per un dispositivo è costituito da microswitch. I microswitch sono dei sensori in grado di rilevare un segnale digitale binario corrispondente al verificarsi di una particolare condizione cinematica (passaggio, finecorsa, ). Sono disponibili sia per movimenti lineari che rotativi. Il tipo più semplice di micro-switch è costituito da un interruttore meccanico che quanto pressato da un contatto commuta il proprio livello logico/elettrico da un valore 0 a 1 o viceversa. Esistono comunque diverse tipologie di microswitch a seconda della tecnologia utilizzata: meccanici, optoelettronici, a riluttanza magnetica,... Quando non presenti resistenze di Pull-Up interne al microcontrollore, il circuito per connettere un microswitch all elettronica di controllo digitale è costituito da un accoppiamento a ponte (alto o basso) con una resistenza, a seconda del valore da associare al circuito chiuso.

201 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica In caso di switch optoelettronici e/o a riluttanza magnetica, il simbolo dell'interruttore verrà ovviamente sostituito da un equivalente coppia di led/fototransistor oppure magnete, sensore a effetto Hall. Gli interruttori contactless sono preferiti in ambiente industriali in quanto non hanno parti meccaniche in movimento, sono più resistenti all'usura ed ovviamente possono lavorare anche in presenza di polveri o liquidi. Potenziometri di posizione resistivi I sensori potenziometrici sono costituiti da un cursore di materiale conduttore, collegato all oggetto di cui si vuole misurare la posizione, che scorre su una pista resistiva. Il dispositivo funziona come un partitore di tensione in cui la variazione della resistenza è in relazione allo spostamento impresso dal sistema sul quale è montato. Uno dei possibili simboli circuitali utilizzati è: Le caratteristiche, che condizionano la scelta di un potenziometro, sono: la massima tensione che si può applicare (per esempio 60 V in corrente continua); la corsa elettrica, che determina la distanza massima di rilevamento (che va da alcuni millimetri fino a diversi metri); la velocità di spostamento, che esprime quanti metri il trasduttore è in grado di percorrere in un secondo; la precisione, legato alla ripetibilità della misura; la caratteristica di uscita, che riporta in percentuale, quanto i valori di uscita seguono una legge di linearità; la risoluzione, che indica la più piccola variazione di valori che il sensore è in grado di rilevare; il rumore, vale a dire il generarsi di valori di resistenza non desiderati; la durata, cioè la quantità di manovre che il trasduttore è in grado di svolgere, mantenendo inalterati tutti i valori. Solitamente la caratteristica reale del potenziometro non è perfettamente lineare, a causa di non linearità e di valori finiti di risoluzione. I sensori potenziometrici hanno presenza di attriti, presenza di effetti inerziali e soffrono di usura. In compenso sono facili da utilizzare, hanno un basso costo e forniscono un alto valore dei segnali d uscita. I sensori potenziometrici disponibili sul mercato si possono classificare in due grandi categorie: angolari e lineari.

202 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Un potenziometro lineare è normalmente composto da una resistenza e da un supporto di ceramica, ma è sempre più facile trovare dispositivi a plastica conduttiva. Questi ultimi non presentano i problemi di risoluzione dei potenziometri tradizionali, hanno effetti di attrito limitati, tempi di vita maggiori e basso rumore. I potenziometri angolari sono costituiti essenzialmente da conduttore avvolto di forma toroidale oppure da conduttori plastici di forma circolare e sono caratterizzati da una elevata precisione e risparmio di spazio. Da cui si ottiene che la tensione di uscita è pari a: Il teorema di Thévenin per le reti elettriche afferma che qualunque circuito lineare, comunque complesso, visto da due punti, è equivalente ad un generatore di tensione in serie ad una resistenza. L'equivalenza vale per quello che accade all'esterno della rete e non certo per quello che succede all'interno di essa. Calcolando la resistenza equivalente Thevenin si ottiene: Quindi le relazioni ingresso uscita hanno la forma:

203 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Se invece si adotta una configurazione del tipo : Dove R2 è la resistenza totale che si divide in kx e (R2-kx) si ha: Calcolando la resistenza Thevenin equivalente: I grafici ingresso uscita questa volta risultano: Facciamo ora un esempio di un sensore resistivo di temperatura(prc 100).

204 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Il PRC100 è una termo-resistenza il cui valore cambia in base alla temperatura. In particolare ha un valore di 100 ohm a 0 C e subisce una variazione di 3.85 milliohm/ C. R1 deve essere dimensionata in modo tale che la potenza termica i^2 R_prc sia molto inferiore alla potenza massima dissipabile dal PRC100 ovvero il calore autoindotto deve risultare trascurabile. Serve quindi una corrente di 10 ma per non dissipare più watt del consentito. L alimentazione può essere a 12V/5A oppure a 5V/6A. Nel primo caso si ricava R ohm, nel secondo caso R1 500 ohm. La prima soluzione presenta una non linearità minore: Nel primo caso si ottiene = 0.25% mentre nel secondo = 1% LVDT Con l acronimo LVDT (Linear Variable Displacement Transformer) si intende un trasformatore differenziale variabile costituito da un avvolgimento primario e due avvolgimenti secondari e capace di fornire una tensione in uscita proporzionale allo spostamento di un nucleo mobile.

205 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Principio di funzionamento: 1. L avvolgimento centrale viene alimentato con una tensione alternata (con valore efficace compreso tra i 5 e i 24 V) in modo da avere una variazione di flusso e quindi delle correnti indotte sugli avvolgimenti secondari (aventi la stessa frequenza di quella inducente e solitamente compresa tra 500 e 5000 Hz). 2. I due avvolgimenti secondari (da notare che il numero di avvolgimenti sui denti laterali è la stesso) vengono messi in serie e in opposizione di fase; 3. Quando il nucleo si trova al centro degli avvolgimenti la tensione d uscita è nulla; 4. Quando il nucleo si sposta dalla posizione centrale si ha in uscita una tensione proporzionale allo spostamento (le linee di forza si concentrano maggiormente nella direzione in cui si è spostato il nucleo). Per verificare il verso dello spostamento bisogna analizzare la fase. La relazione tra spostamento e tensione in uscita non è perfettamente lineare a causa della non perfetta opposizione di fase tra i due avvolgimenti secondari e degli errori nella fase di demodulazione, introdotta per ottenere dal segnale alternato in u- scita dal secondario un segnale continuo proporzionale alla misura (normalmente si hanno valori di non linearità inferiori allo 0,5%). La tensione del primario è data da: Le mutue induttanze tra primario e secondari valgono : Da cui si ottiene:

206 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Da cui Il coseno viene eliminato tramite il filtro passa basso mostrato in figura. Resolver Il resolver è un trasduttore elettromagnetico costituito da uno statore ed un rotore avvolti entrambi, Lo statore ha un avvolgimento sinusoidale con due fasi separate di 90 gradi, mentre il rotore ha un avvolgimento monofase. In pratica un resolver si comporta come trasformatore nel quale gli avvolgimenti secondari presenti sullo statore sono accoppiati all avvolgimento primario in funzione dell angolo di rotazione del resolver stesso. Di conseguenza la mutua induttanza tra primario e secondario è una variabile funzione dell angolo di rotazione. Nella forma più comune, un resolver consiste di un rotore ed uno statore ciascuno dei quali ha due avvolgimenti separati posizionati precisamente ad angolo retto tra di loro come visibile in figura.

207 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Poiché i due avvolgimenti statorici sono fisicamente ed elettricamente a 90 gradi tra di loro, non c è accoppiamento magnetico. Gli avvolgimenti statorici sono montati staticamente sul resolver. Ugualmente anche nel rotore non c è accoppiamento magnetico tra i suoi avvolgimenti. Gli avvolgimenti rotorici però sono montati su un albero di un motore e ruotano con esso. Il rotore è in grado di compiere qualsiasi rotazione così che è possibile posizionare gli avvolgimenti a qualsiasi angolo rispetto agli avvolgimenti statorici. Dal punto di vista delle equazioni avremo: Con angolo formato tra gli avvolgimenti rotorici e gli avvolgimenti statorici. La determinazione dell angolo di rotazione si può effettuare misurando i valori efficaci delle tensioni statori che e utilizzando la relazione algebrica esistente tra i due valori e l angolo medesimo. In pratica però una misura più efficiente può essere effettuata realizzando un dispositivo sensibile allo sfasamento (Phase Sensitive Device, PSD) in anello chiuso con un regolatore che annulli la fase. Lo schema complessivo di funzionamento di un resolver può essere sintetizzato nel seguente diagramma a blocchi: Dove, Il blocco Dem (demodulatore) elimina la pulsazione del segnale e si ottiene: Lo schema equivalente è quindi :

208 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica La banda può essere scelta liberamente modificando P e I. Da notare che il resolver permette di conoscere ma anche come variabile indiretta della retroazione, comportandosi in tal guisa anche come sensore di velocità. Per limitare al massimo gli attriti nei resolver in genere non sono presenti spazzole, ma l eccitazione sul rotore viene passata tramite un avvolgimento coassiale che trasmette quindi la corrente di eccitazione con variazione di flusso indipendente dall angolo di rotazione. Encoder L'encoder è un sensore di posizione molto accurato, ed economico, basti pensare che i primi mouse a rotella ne implementavano una coppia per rilevare i movimenti XY sul piano del mousepad. Un sensore encoder di tipo differenziale utilizza due coppie di switch optoelettronici per generare delle onde di riferimento della posizione. Il sensore è costituito da un

209 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica disco perforato come illustrato in figura, e da due coppie allineate di fotoemettitori, fotorilevatori per analizzare il passaggio (la rotazione) delle tacche del disco. Lo svantaggio degli encoder differenziali è che non esiste modo di conoscere la posizione del motore rispetto ad un sistema di riferimento assoluto senza introdurre alcun riferimento esterno, a tal fine esistono due tipologie di soluzioni: 1. prevedere un riferimento, un microswitch o una battuta meccanica che possa essere utilizzata sempre come posizione di azzeramento del nostro sensore; 2. utilizzare un encoder differenziale a tre canali che al suo interno prevede, una volta per angolo giro, un segnale sul terzo canale in grado di dare il riferimento di zero. E' ovvio che il disco aprirà e chiuderà i circuiti relativi ai fotorilevatori ogni volta che una tacca passerà davanti al circuito di rilevazione. Detto N il numero di tacche dell'encoder, i due circuiti di rilevazione sono quindi sfasati di un angolo pari a 360/(4*N), ovvero se 360/(2*N) è l'angolo relativo alla dimensione di una tacca, sono sfasati di metà di questo angolo. In questo modo le onde risultanti da una rilevazione risultano sfasate tra di loro così come mostrato in figura. L accuratezza del sensore dipende dunque dal numero di tacche N. A questo punto si può definire la risoluzione dell encoder come =360/(tec*N). Dove tec è la tecnica di ricostruzione che può assumere valore 1, 2 o 4 a seconda dell algoritmo di decodifica della lettura. Vediamo di analizzarne il comportamento: Oltre agli encoder differenziali esistono anche una categoria di encoder denominati assoluti, in grado cioè di trasmettere non solo due segnali per ogni posizione del motore ma una n-upla di segnali la cui combinazione indica in digitale la posizione angolare esatta del motore. La figura riporta un encoder assoluto a 3 strisce con codifica Gray. La sua risoluzione sarà dunque 360 / 2^3 = 45. Si possono avere encoder assoluti con qualsiasi codifica ma si preferisce utilizzare la codifica Gray che garantisce che tra una tacca e le tacche adiacenti ci sia una differenza di un unico bit di informazione. Decodifica dei segnali La decodifica di un segnale encoder è quel processo che date le variazioni dei canali AB risulta in grado di produrre uno stimolo per un contatore direzionale o una coppia di contatori tale per cui il valore del contatore (ovvero la differenza tra i due contatori) rappresenti il movimento dell encoder.

210 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Sono comuni 3 modalità differenti di decodifica denominate 1X, 2X e 4X. Nella modalità 1X ogni tacca dell encoder produrrà uno stimolo, portando così a una risoluzione discreta di angolo pari a dove N rappresenta il numero di tacche. Nella modalità 2X ogni tacca produrrà due stimoli ai contatori, con una risoluzione pari a. Nella modalità 4X la risoluzione sarà pari a. Per comprendere come tali modalità possono essere implementare riprendiamo in considerazione l evoluzione dei canali AB in funzione dell angolo: T1+ T1- T1+ T1-1X T1+ T1- T2+ T2- T1+ T1-2X T1 T2 T3 T4 T1 T2 T3 4X In figura sono rappresentate le evoluzioni dei canali AB e le associazioni che possono essere impiegate per codificare ogni transizione in un particolare cambio di valore. Nella modalità 1X, sarà sufficiente catturare le transizioni in salita di un canale (nell esempio A) ed associare il valore del canale B al segno che deve eseguire il contatore (nell esempio 0== +, 1== - ). È importante evidenziare come questa tecnica introduca inoltre un errore di misurazione (isteresi) tra i fronti in salita e i fronti in discesa pari alla dimensione di mezzo passo. A B Decode 1X int Pos = 0; byte B; INTERRUPT (A+){ read(&b); Pos += (B)? 1:-1; } Nella modalità 2X, si sfruttano le combinazioni di entrambi i fronti in salita dei canali AB per definire incrementi e decrementi della variabile d angolo. In questo caso sarà necessaria una logica di decodifica che decida il segno della variabile in funzione dai fronti. Sono possibili più associazioni, quella selezionata aiuta a diminuire il valore

211 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica dell isteresi indotta dal fatto che le transizioni di decremento non corrispondono agli angoli di incremento. Supponendo di poter implementare tale processo con un doppio contatore (di salita e di discesa), si verifica che tutti i fronti di A corrispondono a incrementi della variabile da prendere in considerazione solo se (d il fronte) A XOR B = 1. In maniera analoga si verifica che tutti i fronti di B provocano un decremento quando (dopo il fronte) A XOR B = 1, per cui il segnale A XOR B può essere impiegato come determinante del valore da aggiungere o sottrarre e il canale come segnale di direzione. Decode 2X int Pos = 0; byte B,A; INTERRUPT (A+){ read(&b); Pos += (B)? 1:0; } INTERRUPT (B+){ read(&a); Pos += (A)? -1:0; } Supponiamo di voler scrivere un programma per la rilevazione dei movimenti del nostro motore. Il principio di rilevazione è basato sul conteggio del numero di impulsi rilevati dai fotorilevatori. Esistono quindi almeno tre tecniche di ricostruzione denominate X1, X2 e X4. Di seguito considereremo la tecnica X4. Per poter sapere se si è avuto uno spostamento relativo e la direzione dello spostamento è necessario analizzare i valori dei canali A e B al passo precedente. Possiamo dunque costruire una tabella delle verità che ci permetta di identificare il verso di spostamento. In particolare potremo avere 4 casi come riportati in tabella: un incremento in direzione oraria, un incremento in direzione antioraria, una situazione di non movimento o una condizione che identifica una perdita di informazioni. In quest ultimo caso vorrà dire che la nostra routine di calcolo non è abbastanza veloce da leggere correttamente le transizioni da una tacca all altra ovvero abbiamo mal dimensionato il nostro hardware di lettura. A B Ao Bo incremento

212 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica X X X X Supponiamo che i valori dei segnali dei canali A e B siano passati al nostro programma in una coppia di variabili: int Pos = 0; byte A, B; byte olda, oldb; byte deltamov[16] = { 0, +1, -1, x, -1, 0, }; while (1){ read(&a, &B); Pos += deltamov[(a<<3) +(B<<2) +(olda<<1) +oldb]; olda=a; oldb=b; } Un circuito di lettura di un encoder incrementale realizzato in hardware è invece così costituito: Tuttavia è possibile avere dei problemi di lettura con questi sensori. Solitamente questi problemi sono dovuti alla banda del segnale in ingresso e alla stima della velocità di rotazione errata. L encoder funziona correttamente fino a quando avviene al-

213 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica meno un campionamento per intervallo di lettura. Ovvero è possibile scrivere la relazione: In commercio esistono già delle interfacce integrate per la ricostruzione del comportamento dell'encoder e la conversione in un segnale ad impulsi con segno (che come vedremo in seguito risulterà utile per le logiche dei microcontrollori). Nella figura seguente viene mostrata la connessione con un dispositivo prodotto dalla mls. Esistono ancora due tipologie diverse di encoder, quelli denominati single ended, a- venti una massa comune ed una uscita di tipo TTL e quelli differenziali, in grado di produrre un output elettrico su due linee e quindi di resistere meglio ai rumori ambientali. Encoder Magneto Ottici Gli encoder magneto ottici somigliano per costruzione agli encoder ottici ma a differenza di questi ultimi generano un segnale tramite un sistema di polarizzazioni magnetiche NS del disco rotante e di una coppia adeguatamente sfasata di rilevatori ad effetto Hall. I sensori ad effetto Hall funzionano sul fenomeno fisico che denomina lo stesso sensore. Si ottiene un effetto Hall quando una piastra metallica percorsa da corrente (cella di Hall) viene attraversata da un campo magnetico perpendicolare ad essa determinando una differenza di potenziale ai capi opposti della piastra (tensione Hall). L effetto si può spiegare nel seguente modo: il campo magnetico, perpendicolare al moto delle cariche, fa si che esse vengano deflesse dal loro originario cammino rettilineo determinando una dis-uniformità nella loro distribuzione. Il vantaggio rispetto agli encoder ottici consiste nella maggior precisione che si può avere interpolando le semionde di uscita (questa volta continua), ma a loro volta essi soffrono maggiormente i disturbi elettromagnetici di tipo ambientali. Inoltre l attuale precisione raggiunta dai processi ottico/fotografici (non più meccanici) consente di realizzare encoder ottici a risoluzioni centinaia di volte superiore a quella degli encoder magnetici, riducendo cosi commercialmente il ricorso a questo tipo di tecnologia. Sensori ad ultrasuoni

214 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica I sensori di posizione ad ultrasuoni si basano sulla tecnica del tempo di volo. Essa consiste nel misurare il tempo impiegato da un impulso acustico o da un onda acustica ad alta frequenza a percorrere lo spazio tra un trasmettitore ed un ricevitore. Quindi, conoscendo la velocità con cui l onda acustica si propaga nel mezzo interposto tra i trasduttori ultrasonici e l oggetto di cui si vuole misurare la posizione, si può calcolare la distanza dell oggetto: Con: c = velocità del suono nel mezzo, t = tempo di volo misurato, d = distanza dell oggetto rispetto ai trasduttori. Solitamente il trasmettitore e il ricevitore sono sensori piezoelettrici che funzionano ad impulso o ad onda continua. In questi casi un cristallo di quarzo, posto in vibrazione, emette un treno di impulsi a elevata velocità. L emettitore e il ricevitore possono trovarsi nello stesso contenitore o in contenitori diversi. Considerando il caso in cui ricevitore ed emettitore siano nello stesso contenitore, se non è presente un oggetto nel campo di intervento, il treno di impulsi si perde nell aria, mentre se l oggetto è presente il treno di impulsi viene riflesso e rilevato dal ricevitore che lo converte in un segnale elettrico. Se, invece, ricevitore ed emettitore sono in contenitori separati e non c è nulla nel campo di intervento il treno di impulsi arriva senza interruzioni al ricevitore, nell altro caso (cioè è presente un oggetto nel campo di misura) il treno di impulsi viene interrotto e cessa quindi il segnale elettrico in uscita. Alcuni materiali che riflettono gli ultrasuoni sono, per esempio, tutti gli oggetti metallici, il legno, la plastica e i liquidi. Alcuni materiali invece come la gommapiuma assorbono gli ultrasuoni. Per questi tipi di materiali viene installato nel lato opposto al sensore uno schermo riflettente. Quindi in assenza di oggetti è lo schermo ad essere rilevato mentre quando passa un oggetto, come la gommapiuma, gli impulsi sonori vengono assorbiti e non vengono più ricevuti. I sensori ad infrarossi hanno funzionamento analogo ma invece di utilizzare informazioni sonore utilizzano particolari frequenze ottiche. Sensori di velocità Dinamo tachimetrica Le dinamo tachimetriche sono sensori analogici che misurano e regolano la velocità. La loro caratteristica, e la loro funzione fondamentale è quella di fornire un accurata immagine della rotazione, indicando simultaneamente la velocità istantanea, la variazione di velocità, il passaggio per il punto di zero e la direzione di rotazione.

215 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Le qualità principali della dinamo tachimetrica sono: proporzionalità rigorosa tra la tensione di uscita e la velocità di rotazione in entrambi i sensi di rotazione, stabilità del segnale nel tempo e al variare della temperatura. Costruttivamente la dinamo tachimetrica è costituita da uno statore, che contiene degli induttori a magnete permanente, e da un rotore, composto di un circuito magnetico con un numero elevato di cave rotoriche. Per un ottimo funzionamento il collettore viene rifinito con utensili al diamante e le spazzole vengono provate e rodate prima della taratura, per avere un buon contatto tra spazzola e collettore. L equazione che ne descrive il funzionamento (analoga a quella del motore DC) è: Dove E rappresenta la forza controelettromotrice ed è proporzionale alla velocità. Derivazione del segnale di velocità da un encoder Gli encoder sono dei rilevatori di posizione soggetti a quantizzazione, per cui l uscita di un encoder risulta discontinua. In tali condizioni la derivazione dal segnale di uscita di un encoder del segnale di velocità risulta difficile in quanto la derivata del segnale campionato è identicamente tranne sui fronti in cui risulta impulsiva. In tali condizioni ciò che risulta possibile è fornire una approssimazione/stima del segnale di velocità che in quanto tale è soggetta a un errore. Vi sono tipicamente due procedure che possono essere seguite: Nel primo caso si definisce un intervallo di campionamento T c, si conta la variazione discreta di angolo durante l intervallo e si approssima la velocità pari al rapporto spazio/tempo:. Nel secondo caso si conta invece il tempo passato tra due fronti, stimando quindi la velocità in funzione di cosa abbia generato il fronte: se passa una impulso di salita o discesa (dove si è assunta una decodifica 4X), altrimenti se ripassa la stessa tacca. La scelta di quale metodo utilizzare dipenderà in particolare dai servizi disponibili sul nostro microcontrollore e dal rumore che risulterà in funzione delle velocità di riferimento. In particolare detta la velocità di rotazione del motore, il rumore di lettura risultante dal primo metodo sarà pari a:

216 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Tale rumore diminuisce all aumentare del tempo di campionamento e della velocità risultando tuttavia elevato per velocità basse (tendenti a zero). Sostituendo valori tipici (N=1000, Tc = 0.001) otteniamo una relazione tipo Nel caso invece di una conversione basata sul tempo che intercorre tra due passi, l errore di stima sarà pari a : Dove sostituendo i valori tipici con T clk = 100nS otteniamo: Risultando in un errore tanto più contenuto quanto piccola risulti la velocità angolare. I due metodi sono quindi complementari nel senso che il primo risulta più adeguato per grosse velocità angolari mentre il secondo risulta preferibile per velocità angolari ridotte. Combinando le due descrizioni di errore è anche possibile determinare una velocità di soglia (in inglese threshold) che discrimini quale metodo di derivazione sia più efficiente. Che usando i valori tipici impiegati in precedenza risulta in una velocità angolare (motore) pari a 25 giri al secondo (rps). Encoder con meno tacche, aumenteranno questo valore, mentre processori meno performanti diminuiranno un tale risoluzione di un fattore pari alle prestazioni. In generale timer e tempi di scheduling definiti su un microcontrollore (quando possibile) rendono preferibile il primo tipo di soluzione, viceversa, se (come per un PC) la risoluzione di Tc potrebbe essere affetta da errori dell ordine del ms potremo avere una velocità soglia pari a 0.25 r.p.s. Nell atto della progettazione del sistema dovrete sempre prendere in considerazione questi fattori e decidere di caso in caso, quando possibile, quale soluzione di derivazione sia più adeguata. Sensori di accelerazione

217 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Nella maggior parte degli accelerometri, il principio di funzionamento è il medesimo: si basa sulla rilevazione dell'inerzia di una massa quando viene sottoposta ad una accelerazione. La massa viene sospesa ad un elemento elastico, mentre un qualche tipo di sensore ne rileva lo spostamento rispetto alla struttura fissa del dispositivo. In presenza di un'accelerazione, la massa (che è dotata di una propria inerzia) si sposta dalla propria posizione di riposo in modo proporzionale all'accelerazione rilevata. Il sensore trasforma questo spostamento in un segnale elettrico acquisibile dai moderni sistemi di misura. Una prima classificazione si può così fare suddividendo questi strumenti a seconda del principio di funzionamento del sensore di posizione. L'accelerometro a ponte estensimetrico sfrutta come principio di rilevazione lo stesso delle celle di carico, cioè la variazione di resistenza di un estensimetro dovuta alla variazione della sua lunghezza. L'accelerometro a ponte piezoresistivo è una variante dell'accelerometro a ponte e- stensimetrico, dove al posto degli estensimetri sono utilizzati sensori piezoresistivi. Questi sensori si comportano in modo analogo agli estensimetri, ma permettono allungamenti e sensibilità superiori, pur avendo qualche problema di stabilità con la variazione di temperatura. L'accelerometro LVDT sfrutta, come principio per la rilevazione dello spostamento della massa, un sensore LVDT (Linear Variable Differential Transformer) integrato nella struttura dell'accelerometro stesso. L'accelerometro capacitivo sfrutta, come principio per la rilevazione dello spostamento della massa, la variazione della capacità elettrica di un condensatore al variare della distanza tra le sue armature. L'accelerometro piezoelettrico sfrutta, come principio per la rilevazione dello spostamento della massa, il segnale elettrico generato da un cristallo piezoelettrico quando è sottoposto ad una compressione. L'accelerometro laser è un tipo particolare d'accelerometro, usato quando è necessario effettuare misure estremamente precise, non ottenibili con altri tipi di strumenti. Il principio di funzionamento è concettualmente differente rispetto a quelli sopra esposti, e si basa sul principio fisico che l'accelerazione è una derivata della velocità nel tempo. Sensori di forza Il principio di funzionamento di un sensore di forza (o sensore di coppia) si basa su una misura indiretta, ovvero sulla misura di una deformazione, in genere assunta e- lastica e lineare, prodotta da un sistema di forze su un corpo. Le proprietà della misura dipendono quindi in maniera combinata dalla accuratezza della misura della deformazione e dalle proprietà di risposta meccaniche del corpo sottoposto a forze di stress/strain. In genere l elemento strutturale che viene deformato prende nome di spring (=molla) mentre il dispositivo di rilievo della deformazione viene denominato estensimetro. L estensimetro, come vedremo si comporta come una resistenza variabile la cui variazione induce una variazione di misura potenziale in genere proporzionale al-

218 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica la deformazione superficiale subita dallo SPRING lungo la direzione di incollaggio dell estensimetro. Comportamento dello spring Stress e Strain Lo stress e lo strain sono due grandezze che si riferiscono alla deformazione di corpi soggetti ad una forza. Dato il seguente cilindro sottoposto alla forza F si ha: Stress tensionale: F / A [ N / m2 ] Strain tensionale: l / l [adimensionale] Se il verso della forza è opposto a quello della figura si parla allora di stress compressionale e strain compressionale. Dato il cubo in figura soggetto ad una forza torsionale si definiscono: stress torsionale: F / A [N / m2] strain torsionale: x / l [adimensionale] Attraverso lo stress e lo strain si possono definire altre due grandezze: MODULO DI YOUNG E = stress compressionale / strain compressionale MODULO DI ELASTICITA M = stress torsionale / strain torsionale Si vuole ora dimostrare la relazione tra variazione di resistenza e strain. Dato un filo di rame di lunghezza l, sezione A e sottoposto ad una forza F la cui resistenza è: Se al filo di rame viene applicata una forza come in figura, si ottiene una variazione della lunghezza ( l) e una variazione dell area ( A). Il volume (V) rimane costante. Per cui:

219 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Se si applica la forza F allora cambia anche la resistenza del materiale: Comportamento dell estensimetro Un estensimetro è un sensore che ha la caratteristica di trasformare una sollecitazione meccanica in una variazione di resistenza. Costruttivamente esso è costituito da una griglia, composta da una delle leghe di rame-nickel e nickel-cromo aventi un aggiunta di alluminio e ferro, e da un supporto. Il supporto permette la manipolazione dell estensimetro, mette a disposizione una superficie per poter incollare l estensimetro all oggetto di cui si vuole misurare la forza applicata e isola la griglia con l oggetto in questione. La variazione di resistenza dell estensimetro può essere causata non solo dall applicazione di una forza ma anche dalla variazione di temperatura. Per questo motivo spesso questo sensore viene montato su un ponte di Wheatstone in modo tale da misurare solo le variazioni di resistenza dovute all applicazione di forze. Un evoluzione del precedente estensimetro è il trasduttore piezoresistivo. In esso viene sostituita la lamina metallica con un cristallo di silicio. In questo caso viene misurata la variazione di resistività di un elemento di silicio con drogaggio p oppure n. Gli estensimetri hanno un costo relativamente basso, sono di facile utilizzo, hanno una massa e dimensioni ridotte e sono disponibili in una differenziata varietà di configurazioni. Le applicazioni di questo sensore coprono l intero campo delle misure di forza e pesatura. Vengono inoltre utilizzati per il controllo dell allineamento di sistemi di irrigazione in agricoltura e come sensori tattili in robotica. La deformazione elastica dell elemento spring su cui vengono montati gli estensimetri viene letta tramite una configurazione a ponte di wheatstone. Bisogna però prestare attenzione perché il valore della resistenza dipende anche dalla temperatura.

220 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Il parametro che esprime la sensibilità di un estensimetro prende nome di Gauge Factor G, ed è definito come: Dove esprime la variazione normalizzata del valore della resistenza ed la deformazione associata che ha provocato tale variazione. Esempio Sia dato un corpo lineare sottoposto a stress/strain. Correlare le variazioni di misura al parametro G. Dalla seconda legge di Ohm si ha Con la resistività del materiale, l la lunghezza e s la sezione dell area. Da cui e infine =, dipende dal materiale, per una sezione rettangolare vale 2 µ (Modulo di Poisson). G = µ, per estensimetri metallici si ha che G 2.0, per quelli a semiconduttore G è di un ordine di grandezza superiore. Questi ultimi sono tuttavia più sensibili alle variazioni di temperatura. Negli estensimetri metallici il termine in genere non influisce, mentre il modulo di Poisson vale circa 0.4, per cui. Negli estensimetri a semiconduttore invece la variazione di resistività dipende molto dalla deformazione per cui G aumenta di un ordine di grandezza circa. Gli estensimetri a semiconduttore tuttavia hanno una minor stabilità (drift) con la variazione di temperatura, per cui quando presente e disponibile (misurata) è necessario provvedere con una compensazione dinamica della misura. La collocazione degli estensimetri ed il loro collegamento al ponte di misura (vedi in seguito) viene in genere effettuata in base alla sensibilità richiesta, necessità di dover compensare la temperatura, necessità di avere una elevata reiezione ai disturbi (componenti di forza/coppia su assi non interessati dalla misura). In base a queste considerazioni in genere si effettua una analisi dell elemento spring agli elementi finiti per individuare i punti dove il tensore di stress risulti meglio condizionato per la misura che intendiamo compiere.

221 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica In taluni casi, gli estensimetri vengono montati in coppia o a quattro, in maniera tale, che pur non risultando ottimamente condizionato il tensore di stress sul punto, lo risulti invece quello complessivo a causa delle compensazioni reciproche che si possono generare sul meccanismo in conseguenza delle deformazioni. Ad esempio nel caso di una trave a mensola come rappresentato in figura, se desiderassimo misurare solo la trazione e non la forza di flessione (P) un montaggio affacciato degli estensimetri consente di compensare (per differenza delle variazioni di resistenza) in maniera ottimale dovuti alla flessione. Lo stesso tipo di montaggio, con un accoppiamento sul ponte di WheatStone invertito, risulta altresì ottimale anche per la misura della sola flessione con reiezione alla forza di strain (N). In maniera analoga, estensimetri posizionati in punti vicini ma non soggetti a deformazione possono essere utilizzati per la compensazione attiva della temperatura, in quanto affetti dalla stessa legge di variazione di resistenza in funzione della temperatura. Ponte di Wheatstone Il ponte di Wheatstone è una configurazione circuitale utile a leggere una variazione di resistenza.

222 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Ipotizzando R1 = R2 = R3 = R e Rx = R + R : Linearizzando con sviluppo in serie di Taylor si ottiene che Quindi una variazione di resistenza crea uno sbilanciamento nel ponte pari a Vcc. Misuratori di portata L argomento dei trasduttori di flusso è vasto ed importante; purtroppo però anche piuttosto confuso, per l esistenza di un gran numeri di trasduttori diversi, con scarsa possibilità di generalizzazione. La loro scelta quindi, da parte del progettista, è complicata: i modelli più tradizionali hanno una lunga storia e vi è una buona conoscenza in merito, altri sono il risultato dello sviluppo di nuove tecnologie, in particolare dell'elettronica, e risultano sempre più diffusi. Il trasduttore ideale per la misura del flusso non dovrebbe alterare il flusso stesso, cioè dovrebbe essere un trasduttore non invasivo. Sfortunatamente ci sono ben pochi dispositivi che soddisfano a questi due requisiti, anche se qualcuno dei metodi più recenti ci riesce, almeno sotto alcune condizioni. La maggior parte dei trasduttori di flusso sono semplicemente dei modificatori, comprendenti piastre o ugelli che restringono parzialmente il flusso e provocano una caduta di pressione. Si tratta dell analogo di una misura di corrente elettrica fatta misurando la caduta di tensione ai capi di un piccolo resistore in serie. Alcuni dispositivi tipici sono i diaframmi forati, gli ugelli e il tubo venturi. In questi casi la portata è proporzionale alla radice quadrata della differenza di pressione, misurata da un opportuno trasduttore del tipo mo-

223 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica strato in seguito. Questi trasduttori sono lontani dall essere ideali, dato che bisogna inserirli nel tubo, ma sono tuttavia largamente utilizzati. I trasduttori di portata (noti anche come flussimetri o flussometri) possono riferirsi al flusso vettoriale, per il quale si chiede di conoscere intensità e direzione del flusso in un dato punto dello spazio, al flusso volumetrico, generalmente riferito al flusso nei tubi, ed al flusso di massa, misurato in termini di massa fluente al secondo. Possono inoltre riguardare sia corpi fluidi veri e propri che solidi. La misura della portata in una condotta viene effettuata per molteplici ragioni: controllo di processi industriali o chimici, riscaldamento o raffreddamento, controllo dei costi energetici, per fatturazione. Affidabilità ed accuratezza della misura, sono due degli elementi da tenere in considerazione nella scelta dello strumento di misura. Una misura errata può provocare danni nel caso di impianti industriali, mentre l'accuratezza è particolarmente importante nel caso di sistemi di distribuzione. Secondo il tipo di misura, i trasduttori di flusso si possono classificazione in: Misuratore di velocità; Misuratore di portata vera e propria. Ciascuno di questi può essere catalogato secondo la tecnica di misurazione: Misuratore statico, che misura l'effetto dello spostamento del corpo senza che le parti dello strumento siano in movimento. Misuratore a spostamento, con parti dello strumento in movimento (il fluido misurato provoca lo spostamento di suddette parti); Ci limiteremo qui a riassumere i metodi disponibili per il flusso vettoriale e volumetrico, dato che la maggior parte dei flussometri di massa comprende un flusso volumetrico, seguito da un misuratore di densità. Misuratori di velocità Per il calcolo della portata a mezzo di misuratori di velocità si sfrutta la relazione: dove Q è la portata, V la velocità del corpo, e S la sezione effettiva di passaggio, in unità coerenti. Nota la sezione di passaggio, ad una velocità misurata corrisponde quindi una ed una sola portata. Orifizio tarato, Se si interpone una strozzatura in un tubo all'interno del quale passa un fluido, si genera una perdita di carico localizzata nella zona della strozzatura: in altri termini, tra la sezione a monte ed a valle della strozzatura si stabilisce una diffe-

224 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica renza di pressione, che è proporzionale al quadrato della velocità nella strozzatura, si può quindi calcolare la portata. Nella pratica, la strozzatura è rappresentata da un disco, in cui è praticato un foro solitamente coassiale al tubo; il disco è stretto tra due flange nelle quali sono praticati dei fori che mettono in comunicazione le camere a monte ed a valle del disco con dei manometri (o con un singolo manometro differenziale). Essendo questo sistema di misura molto diffuso, esistono manometri con scala quadratica (la perdita di carico, come detto, è proporzionale al quadrato della velocità), sui quali è agevole leggere la portata. Questo sistema di misura della portata è probabilmente il più diffuso grazie alla sua ottima precisione, dell'ordine dello 0,5 % della misura, e a un ampio campo di portate (si adatta a misure di portate molto piccole fino a molto grandi ). Tubi venturi Questo sistema di misura, risulta simile agli orifizi tarati, ma sfrutta la legge di conservazione dell'energia nella forma dell'equazione di Bernoulli. Se in un tubo si pone una strozzatura graduale, si avrà un incremento di velocità. Secondo l'equazione di Bernoulli, nelle varie sezioni di una condotta si ha la relazione (a meno delle perdite di carico): dove P è la pressione nella generica sezione, d la densità del fluido, V la sua velocità, e g l'accelerazione di gravità media nella sezione. In accordo con la figura, nella strozzatura di sezione, ad un aumento di velocità corrisponderà una diminuzione di pressione, essendo la pressione data dalla relazione sopra scritta; nel tubo pieno di sezione (maggiore), la velocità sarà inferiore e quindi la pressione superiore. La differenza ( ) è proporzionale, ancora con legge quadratica, alla velocità nella strozzatura, da cui si calcola la portata. Il

225 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica vantaggio del tubo venturi rispetto all'orifizio tarato sta nella bassissima perdita di carico del tubo venturi, in cui un allargamento successivo alla strozzatura recupera l'energia cinetica in pressione statica; la regolarità della geometria interna ne rende anche difficile l'intasamento, consentendo così misurazioni su fluidi contenenti solidi in sospensione. Uno svantaggio notevole sta nella distanza tra le prese di pressione: mentre la presa di bassa pressione è nella strozzatura, quella di alta pressione deve essere posta a una certa distanza da questa, per non risentire degli effetti della vena contratta. Nella pratica, la presa di alta pressione si pone a 7-10 diametri interni del tubo a valle della strozzatura. Si comprende quindi che in un tubo DN 200 l'ingombro dello strumento sia di quasi tre metri. Il tubo Venturi dà misure di ottima precisione (generalmente superiore agli orifizi tarati) e si adatta a un vasto campo di portate, da pochi a molte migliaia. Tubo di Pitot, Lo strumento, che fu inventato nel 1732 dallo scienziato francese Henri Pitot, è utilizzato tipicamente per misurare la velocità di un fluido gassoso. In figura [fig:pitot-scheme] è mostrato un esempio di tubo di Pitot. Esso comprende un tubo cavo che agisce su un manometro inclinato, e che deve esser orientato fino ad ottenere la massima risalita del fluido. Più in generale, il principio di funzionamento del tubo di Pitot si basa sulla definizione di pressione totale. Un tubo di Pitot è infatti fornito di due prese di pressione, una all'estremità anteriore disposta perpendicolarmente alla corrente (presa totale) e una sul corpo del tubo disposta tangenzialmente al fluido (presa statica). Come da definizione, la differenza tra queste due pressioni, la pressione dinamica, ottenibile con l'utilizzo di un manometro differenziale opportunamente collegato alle due prese, risulta proporzionale al quadrato del modulo della velocità del fluido, quindi: dove, indica la pressione totale, la pressione statica, quella dinamica, la densità del fluido e v la sua velocità. L'utilizzo della formula precedente derivante dalla definizione di pressione totale, può essere evitata se si provvede al tracciamento di una curva di taratura per il Pitot utilizzato. La taratura del Pitot si effettua immettendo il tubo in una corrente di fluido di cui siano perfettamente note le proprie-

226 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica tà del fluido stesso e la velocità. Per un numero sufficiente di valori di velocità si andranno a registrare le corrispondenti differenze di pressione tra le due prese del Pitot, ottenendo una successione di punti che rappresentano la funzione di trasferimento dello strumento. Durante l'utilizzo quindi, si potrà utilizzare questa funzione di trasferimento (al giorno d'oggi, peraltro, facilmente implementabile in un codice di calcolo che interpoli la curva di taratura) per assegnare ad ogni valore di Δp la velocità corretta. Da notare che se la velocità è bassa, la differenza delle pressioni (totale - statica) risulta piccola e quindi difficilmente misurabile con accuratezza. Viceversa, se la velocità è alta (supersonica), vengono violate le assunzioni delle equazioni di Bernulli e quindi la misura anche in questo caso non risulta corretta. Il tubo di Pitot è utilizzato su tutti gli aeroplani e in automobilismo (tipicamente Formula Uno) come sensore per la determinazione della velocità rispetto all'aria e nelle gallerie del vento per la misurazione della velocità della corrente d'aria. Viene inoltre utilizzato nell'impiantistica delle bonifiche ambientali, in particolare per impianti tipo Soil Vapour Extraction (SVE), per monitorare le depressioni indotte dalle pompe di aspirazione nel terreno oggetto della bonifica e per misure di flusso di volume nei tubi, specialmente quando si vuole conoscere il profilo di corrente attraverso una sezione. I misuratori magnetici rappresentano quanto di meglio viene attualmente offerto nel campo delle misure di portata e sono largamente utilizzati per misure di portata di fluidi conduttivi. Si tratta di strumenti che non presentano parti in movimento e non prevedono protussioni all'interno della corrente, per questo motivo sono caratterizzati da perdite di carico trascurabili e sono quindi strumenti accurati ed affidabili (sono vicini al trasduttore ideale ). Se si fa passare un corpo conduttore attraverso un campo magnetico, viene generata una forza elettromotrice nel corpo conduttore, e questa forza è proporzionale alla velocità di spostamento. Quindi, se si sottopone

227 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica ad un campo magnetico trasversale un tubo (non conduttore) attraversato da un fluido, in questo fluido (se conduttore) passerà corrente. Due elettrodi isolati posti a contatto del fluido, se posti ad una certa distanza l'uno dall'altro, misureranno una differenza di potenziale proporzionale alla velocità del fluido; nota la sezione, si conosce così la portata volumetrica. La limitazione del misuratore magnetico sta, a parte la necessità di avere una alta conduttività del fluido, nell'essere tanto più preciso quanto maggiore è la densità del fluido: è quindi inutilizzabile sui gas. Si noti che gli elettrodi devono stare a contatto col fluido di processo. Se questo dovesse lasciare un deposito isolante su di loro, lo strumento non funzionerebbe più. Per ovviare a tale inconveniente sono stati prodotti misuratori magnetici nei quali gli elettrodi sono isolati dal fluido: la misura della f.e.m. indotta avviene con accoppiamento capacitivo tra elettrodi e fluido di processo. Misuratori a effetto Coriolis, In un sistema di riferimento uniformemente rotante, un corpo in movimento appare (ad un osservatore nello stesso sistema di riferimento), come soggetto ad una forza radiale rispetto al movimento del sistema, detta Forza di Coriolis. Se si fa quindi passare un fluido in un tubo circolare (solitamente a forma di U) si crea uno spostamento di questo tubo (solitamente mediante vibrazioni indotte) a causa della forza di Coriolis agente sul tubo stesso. Questo spostamento è proporzionale alla portata massica, che può così essere misurata. Misuratori ad ultrasuoni, Ve ne sono di due tipi. I più comuni sono quelli a riflessione; se si emette un'onda sonora dalla parete verso il centro di un tubo, questa verrà riflessa (in parte) dalla parete opposta. Se nel tubo vi è un fluido in movimento, questo sposterà l'onda sonora, che quindi compirà un percorso diverso per raggiungere il sensore. Misurando il tempo intercorso tra l'emissione dell'onda e la sua captazione si può risalire alla velocità del fluido. La precisione del sensore dipende dal fluido in gioco ed è bassa per fluidi a bassa densità. Misuratori a effetto Doppler, Sfruttando la variazione di lunghezza d'onda di un suono emesso verso un corpo in movimento (Effetto Doppler), si può conoscere la velocità di spostamento del corpo. Se questo corpo è una massa fluida in moto in un tubo a sezione costante, è possibile misurarne la portata.

228 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica La figura rappresenta schematicamente un flussometro laser ad effetto Doppler. Un forte raggio principale ed uno più debole di riferimento passano attraverso il fluido sotto angoli diversi. Una parte del raggio principale viene riflessa nella direzione del raggio di riferimento da qualsiasi piccola irregolarità o da particelle contenute nel fluido, che funzionano da riflettori Doppler: si ha così una piccola differenza di frequenza, proporzionale alla componente della velocità nella direzione del raggio principale. L'esempio riportato chiaramente funziona solo per fluidi trasparenti. Anemometro a filo caldo, È composto da una termo-resistenza, ovvero una resistenza il cui valore è proporzionale alla temperatura. La termo-resistenza è alimentata per mezzo di una corrente elettrica di intensità nota, tale da portarla ad una temperatura superiore a quella del fluido da misurare. Questa resistenza viene immersa nel fluido di cui si vuole misurare la velocità. Il fluido raffredderà la resistenza in maniera proporzionale alla sua velocità permettendo di risalire alla stessa. In un altra soluzione, un filo di cui è nota la caratteristica resistenza/temperatura costituisce un ramo di un ponte di misura. La corrente di riscaldamento può essere mantenuta costante, oppure si può usare un metodo alternativo che impiega un sistema a retroazione per tenere costante la temperatura del filo: in questo caso la corrente di riscaldamento diventa proporzionale al flusso. Il principale impiego di questo sensore è la misura della velocità dell'aria nelle condotte di ventilazione. I vantaggi di questo strumento sono principalmente dovuti alle ridottissime dimensioni che posso essere assunte dalla sonda. Questo permette di effettuare misure in varie posizioni nella tubazione, di disturbare in maniera minima il flusso del fluido, di avere un'elevatissima velocità di risposta (nell'ordine dei khz) che permette di rilevare anche le variazioni di velocità dovute alle turbolenze. Gli svantaggi sono legati alla dipendenza della taratura da vari fattori quali le caratteristiche del fluido, la sua pressione e la sua temperatura. Misuratori di portata Sono molto usati, specie come contatori (o totalizzatore) di portata di liquidi. Ne è esempio il contatore per il consumo idrico domestico, o il contatore posto nelle

229 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica pompe di benzina. Possono raggiungere altissime precisioni, con scarti anche inferiori allo 0,1 % del valore misurato. Si noti che, a rigore, un totalizzatore non è un misuratore di portata, ma di quantità; tuttavia è uso classificarli tra i primi (in effetti permettono una misura istantanea di portata, se solo dotati di un indice). Solitamente sono provvisti di quadranti multipli, ciascuno con un rapporto di 10:1 con il successivo, in modo da poter ricostruire quantità fluite anche rilevanti. I modelli più recenti sono dotati di contatori a decadi digitali, meccanici od elettronici, per una lettura più agevole. Ve ne sono essenzialmente tre tipi : Misuratore a turbina: sono i più comuni, il flusso incanalato viene fatto passare attraverso una piccola turbina idraulica la cui velocità di rotazione è proporzionale alla portata. Un cinematismo provvede a far ruotare un indicatore su un quadrante, mostrando così la quantità di liquido passata. In alternativa la rotazione della turbina può venir misurata inserendo nella stessa un magnete che viene fatto passare in prossimità di apposito sensore generando un impulso per ogni giro (lettura in forma digitale). Ha il vantaggio di dare un limitato disturbo e di poter lavorare in entrambe le direzioni. Misuratori volumetrici: sono simili ad una pompa volumetrica, in cui il fluido passante riempie delle cavità di volume noto; con sistemi vari, il numero di cavità riempite viene contato fornendo così la quantità di fluido passato. Misuratori a disco nutante: sono sostanzialmente anch'essi dei misuratori volumetrici. In questi misuratori un disco ha un movimento di nutazione attorno ad una sfera centrale, creando così una camera di volume noto; dato che la sfera centrale acquista un moto circolare, la misurazione è piuttosto semplice e alquanto precisa. Esistono molti altri tipi di misuratori di portata, di impiego più specialistico e quindi di uso più limitato. Tra questi il misuratore a filo caldo: Un filo metallico viene riscaldato per mezzo di una corrente elettrica in modo da portare la sua temperatura ad un valore noto. Misurando la variazione di temperatura del fluido a valle del filo, si può conoscere la portata, essendo noti alcuni parametri fisici del fluido (conducibilità termica). Misura della pressione Esistono una grande varietà di trasduttori di pressione per quanto riguarda sia i gas sia i liquidi. tra i più comuni vi sono: diaframmi, capsule, mantici, tubi a manometri, tubi Bourdon... Essi rilevano la variazione di altre variabili fisiche quali l'allungamento o lo spostamento provocati da una certa pressione. L'uscita di questi dispositivi viene, poi, accoppiata ad appropriati sistemi elettrici così da ottenere segnali elettrici elaborabili. Per quanto riguarda i tipi di misurazioni effettuate si possono distinguere tre categorie differenti: misuratori di pressione assoluta, ovvero riferita allo zero (vuoto); misuratori di pressione relativa, ovvero riferita alla pressione atmosferica;

230 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica misuratori di differenze di pressione, ovvero misurano la differenza tra due diverse pressioni. I metodi più comuni di misura della pressione utilizzano manometri e dispositivi meccanici. I manometri sono costituiti da tubi a U con un estremo chiuso, generalmente riempiti di mercurio, nei quali la differenza nell'altezza del mercurio fra i due lati è proporzionale alla pressione applicata all'estremo aperto. Inizialmente la parola manometro si riferiva solo a strumenti idrostatici con liquido a colonna, oggi chiamati manometri a U, poi fu esteso per abbracciare anche strumenti a quadrante o digitali. I trasduttori meccanici invece, possono consistere in tubi, diaframmi o soffietti, la cui variazione di posizione è misurata da un opportuno trasduttore di spostamento. Vi sono numerosi tipi di manometro adatti ad impieghi differenti. La maggior parte di questi tipi in realtà misura una pressione relativa, ossia la differenza tra la pressione atmosferica nel punto di misura e la pressione dell'ambiente di cui si desidera la misura. Questi includono i manometri a U, a membrana, Bourdon ecc.: Manometri a U, Sono costituiti da un tubo (di solito trasparente) curvato a U e riempito di un liquido di densità nota, vedi figura [fig:manometro]. Un'estremità del tubo è lasciata aperta all'atmosfera, mentre l'altra è in collegamento diretto con l'ambiente di misura. Il liquido contenuto nel tubo si sposterà verso l'alto in uno dei due rami della U di un valore tale che la differenza di peso tra le due colonne di liquido bilanci esattamente la pressione (o depressione) presente nell'ambiente di misura. Trasduttori di pressione di tipo elastico, Nelle misure di pressione sono stati molto usati i tubi di Bourdon. Essi consistono in un tubo appiattito, di sezione approssimativamente ellittica, piegato per esempio a C od a spirale, in modo che la sua estremità si sposti per effetto della pressione. Si è infatti notato che un tubo di tale forma tende ad aumentare il proprio raggio di curvatura all'aumentare della pressione interna al tubo; la misurazione del raggio dà la misura della pressione. Alcuni esempi sono rappresentati nella figura.

231 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Nella pratica, il tubo è collegato ad una estremità con un punto fisso, messo in connessione con l'ambiente di misura; l'altra estremità è connessa ad un leveraggio che ne amplifica lo spostamento, e lo traduce nel movimento circolare di un indice lungo una scala graduata. I manometri Bourdon costituiscono la stragrande maggioranza dei misuratori di pressione oggi usati. Si tratta di strumenti abbastanza lineari, almeno per piccoli spostamenti. Si usano anche i soffietti, che sono migliori come intervallo di misura e come linearità; sono strumenti reversibili, utili come trasduttori pressione-spostamento nei sistemi pneumatici. Altri manometri sono quelli a diaframma, anche detti a membrana poiché l'elemento deformabile è una membrana solitamente ondulata per accrescerne la flessibilità. La deflessione della membrana è misurata con metodi capacitivi od induttivi, od anche con estensimetri. Per deviazioni non superiori a metà dello spessore, lo spostamento x del centro della membrana dipende linearmente dalla pressione applicata p e vale: dove v è il coefficiente di Poisson, d è il diametro, E il modulo di Young e t lo spessore. In pratica, la membrana separa l'ambiente di misura dall'esterno, e si gonfierà se la pressione da misurare è maggiore di quella atmosferica, e viceversa. I diaframmi sono probabilmente i trasduttori più frequentemente adoperati. Vi sono molte varianti del manometro a membrana, generalmente usate come manometri differenziali.

232 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica La figura mostra un trasduttore differenziale con un diaframma in ferro dolce ed un trasduttore di spostamento a riluttanza variabile. Manometri piezoelettrici, sfruttano la proprietà di alcuni materiali, solitamente quarzo, di modificare la propria conducibilità quando al materiale stesso viene applicata una pressione. Poiché per questi materiali la conducibilità varia in modo proporzionale alla sollecitazione unitaria, un semplice Ponte di Wheatstone può dare indicazione della pressione. Misuratori di Temperatura Per trasduttori di temperatura si intendono quei dispositivi in grado di trasformare un segnale di temperatura in un segnale elettrico proporzionale alla temperatura stessa. Le due classi principali di trasduttori di temperatura sono costituite da quelli di tipo resistivo, metallici o a semiconduttore, e da quelli di tipo termoelettrico. I trasduttori resistivi (termistori e termo-resistenze) sono modulatori e quindi richiedono di un alimentazione, solitamente fornita tramite circuiti a ponte, per produrre un'uscita direttamente utilizzabile. I trasduttori termoelettrici (termocoppie) sono invece auto-generatori e quindi necessitano unicamente di circuiti di amplificazione del segnale prodotto. A queste due classi possono essere affiancati anche i trasduttori di temperatura realizzati con circuiti integrati che incorporano oltre all'elemento sensibile anche tutta la circuiteria necessaria per amplificare, linearizzare e normalizzare il segnale prodotto dal sensore. Premessa I trasduttori più comunemente impiegati per eseguire misure di temperatura sono le termocoppie, le resistenze variabili con la temperatura (RTD, Resistance Temperature Detector), i termistori e i sensori integrati monolitici (IC sensors). Resistance Temperature Detector (RTD), I metalli presentano la proprietà di aumentare la loro resistenza al crescere della temperatura. Una legge empirica che può rappresentare il fenomeno fisico è la seguente:

233 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Dove: è il valore della resistenza alla generica temperatura T ( C); è il valore della resistenza alla temperatura =0 C; è il coefficiente di temperatura, alla temperatura =0 C. Solitamente il coefficiente di temperatura è positivo, per cui all'aumentare della temperatura aumenta la resistenza, ma essendo la relazione approssimata ed inoltre considerando che varia al variare della temperatura, l'equazione transcaratteristica non risulta di tipo lineare. Li principali caratteristiche che deve possedere una termo-resistenza sono: coefficiente di temperatura elevato (buona risoluzione); trans-caratteristica indipendente dal tempo; buona lavorabilità meccanica. Questi requisiti hanno ristretto il campo dei materiali utilizzabili al Platino e al Nichel. Il Platino (Pt) per esempio, presenta riunite tutte le caratteristiche che ne fanno un trasduttore di temperatura eccellente. Infatti: La sua resistività è elevata (10, Ωm) pari a circa 6 volte quella del rame (1, Ωm): questo fatto consente di ottenere elevati valori della resistenza R 0 anche con fili di piccola lunghezza, quindi con piccolo ingombro complessivo. Il suo coefficiente di temperatura è elevato, (α=0, C -1 ) alla temperatura =0 C: in tal modo si ottiene un alta variazione di resistenza ΔR=(R T }-R 0 )=R 0 αt e quindi un alta sensibilità (in Ω/ C). Il coefficiente di temperatura del Platino varia poco con la temperatura e in modo praticamente lineare: a T = 0 C, =0,0039( 0 C -1 ), a T = 800 C, =0,0029 ( 0 C -1 ). Il Platino ha un ottima stabilità chimica. La sonda al Platino più diffusa è la PT100, con resistenza pari a 100 Ω a =0 C. Pertanto la sonda PT100 ha una variazione di resistenza con la temperatura pari a: I primi sensori RTD sono nati con una costruzione a filo avvolto, ma oggi si sono sviluppate e diffuse le versioni realizzate con un film di platino depositato in un substra-

234 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica to ceramico. Queste realizzazioni risultano più robuste e meno costose. Inoltre, essendo molto piccole, presentano una migliore prontezza nella risposta in transitorio. L'utilizzazione delle RTD comporta alcuni problemi originati dal fatto che la misura della resistenza R T richiede comunque un passaggio di corrente attraverso la resistenza stessa. In particolare, il passaggio di corrente provoca per effetto Joule un riscaldamento che si aggiunge a quello dell'ambiente nel quale si deve rilevare il valore della temperatura. In questo modo viene falsata la misura che in realtà corrisponderà alla somma degli effetti prodotti dalla temperatura ambiente e dall'autoriscaldamento della termo-resistenza. Inoltre si deve considerare che l'effetto termico interessa in modo del tutto analogo anche i conduttori di collegamento della termo-resistenza al circuito di misura. Tipicamente, in aria libera, si può rilevare un errore di 0,5 C per un milliwatt di potenza dissipata. Viceversa, in aria con velocità di 1 m/s, si può rilevare un errore di 0,1 C per un milliwatt. Per ovviare a questi inconvenienti, è possibile ricorrere ad alcuni metodi tra i quali ricordiamo: Limitare la corrente che percorre la RTD. In questo modo si può mantenere l'autoriscaldamento entro limiti tali per cui non si alteri significativamente il valore rilevato della temperatura incognita. Impiegare un ponte di Wheatstone. Con questo collegamento gli effetti termici dovuti all'autoriscaldamento dei conduttori A e B si compensano trovandosi su due lati consecutivi del ponte di misura. Usare una termo-resistenza a quattro morsetti ed un generatore di corrente costante. Se la corrente nel circuito si mantiene rigorosamente costante e la resistenza a quattro morsetti permette di render nulle le influenze delle resistenze di contatto le uniche variazioni della tensione V 0 sono originate dall'aumento o dalla diminuzione della temperatura da misurare.

235 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Le termocoppie sono trasduttori robusti ed economici che basano il loro funzionamento sull'effetto termoelettrico nota anche come effetto Seebeck. Questi, a differenza degli altri trasduttori di temperatura, sono trasduttori attivi, in quanto generano una tensione per effetto termoelettrico. Le termocoppie sono realizzate tramite la giunzione di metalli diversi. Sperimentalmente si osserva che in un circuito formato da due metalli diversi A e B le cui giunzioni si trovano a temperature diverse T 1 e T 2 si instaura la circolazione di una corrente I. Questo effetto è dovuto al fatto che quando vengono posti in contatto due materiali che presentano due livelli di energia diversi (livello di Fermi), nella zona di contatto si verifica un fenomeno che tende a uguagliare tali livelli attraverso la produzione di una forza elettromotrice. Siccome il valore della forze elettromotrice prodotta è proporzionale alla temperatura della giunzione, nel caso in cui il giunto calco sia una temperatura T 1 e il giunto freddo si trovi ad una temperatura T 2 minore, si avrà un circolazione di corrente originata appunto dalla differenza tra i valori delle forze elettromotrici che si producono nei due giunti. Se il circuito viene aperto, si manifesta ai suoi capi una differenza di potenziale e che dipende dalla differenza di temperatura delle giunzioni, attraverso un coefficiente di proporzionalità, detto coefficiente di Seebeck: Il coefficiente di Seebeck è espresso in e dipende dai due metalli; in realtà non è costante ma risulta a sua volta funzione della temperatura, vedi figura (per gli scopi pratici, la caratteristica di una termocoppia viene opportunamente linearizzata).

236 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Per misurare la tensione prodotta da una termocoppia faremo uso di un voltmetro ad alta impedenza, come rappresentato nello schema. Nella figura osserviamo che la termocoppia (A-B) ha una giunzione J x alla temperatura incognita T x mentre l altra giunzione J ref si trova alla temperatura di riferimento T_{ref}. La tensione ai terminali della termocoppia sarà dunque: e=s AB (T x -T ref ) e la misureremo portando i terminali del metallo A sulle boccole di ingresso (Hi e Lo) del voltmetro. Poiché, le boccole e i circuiti interni dello strumento sono realizzati in rame si formeranno in ingresso allo strumento due nuove giunzioni J Hi e J Lo, di tipo Cu- A, necessarie ma indesiderate, che potrebbero introdurre tensioni spurie. Con riferimento a questo aspetto, vale la seguente regola empirica: Legge dei metalli intermedi: Inserendo nel circuito della termocoppia (A-B) un terzo metallo (il rame Cu, nel circuito (A), se le due nuove giunzioni (Cu-A) si trovano entrambe alla stessa temperatura, allora la tensione totale e della termocoppia rimane invariata, essendo i due contributi in tensione uguali ed opposti. Tale proprietà consente di inserire il voltmetro nel circuito della termocoppia, senza modificarne le condizioni. Lo schema di misura fornisce un indicazione della temperatura incognita T x riferita alla temperatura T ref. Se volessimo riferire rispetto allo zero (0 C) le temperature misurate, si dovrebbe immergere la giunzione di riferimento a T ref in un recipiente contenente il ghiaccio fondente. Ma ciò non è pratico e si adottano tecniche di compen-

237 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica sazione del giunto freddo. Prima di discutere queste tecniche, osserviamo che il blocco isotermo sui morsetti in ingresso al voltmetro si trova normalmente alla temperatura ambiente (T iso =T a ). Dunque, se portiamo anche la giunzione di riferimento J ref sul blocco isotermo, allora la temperatura incognita T_{x} risulta riferita alla temperatura T iso =T a =T ref. D altra parte, ci troviamo nella situazione in cui sia la giunzione J Lo (Cu-A) sia la giunzione J ref (A-B) si trovano alla stessa temperatura. In queste condizioni, il loro contributo complessivo in tensione (per estensione della legge empirica dei metalli intermedi) risulta pari a quello della giunzione (Cu-B) alla temperatura T iso =T a. Consegue che il circuito (A) è equivalente a quello di (B). La compensazione del giunto freddo, Rimane da discutere la possibilità di fare le misure riferite allo zero (0 C). Si è detto che l indicazione in tensione della termocoppia è proporzionale a una differenza di temperatura e, per avere indicazioni di temperatura riferite allo zero, bisognerebbe che il giunto freddo fosse alla temperatura del ghiaccio fondente (0 C). Abbiamo anche detto che si può ottenere un risultato equivalente impiegando le tecniche di compensazione del giunto freddo, assai più pratiche. Queste tecniche di compensazione si basano su un altra regola empirica: Legge delle temperature intermedie Si consideri una termocoppia (A-B), che sviluppa la tensione e 12 quando le giunzioni si trovano alle temperature T 1 e T 2 mentre sviluppa la tensione e 23 quando le giunzioni si trovano alle temperature T 2 e T 3. Allora, quando le due giunzioni si trovano alle temperature T 1 e T 3 la tensione misurata risulta e 13 =e 12 +e 23. A rigore, tale regola vale solo se, nel campo delle variazioni di interesse per le temperature, si può ritenere costante il coefficiente di Seebeck S_{AB}. In tale ipotesi, risulta allora possibile fare misure di temperatura riferite allo zero, anche se la giunzione fredda si trova alla temperatura ambiente T a. La compensazione può essere realizzata sia con tecniche hardware che software. Compensazione hardware, Esistono molti tipi di circuiti che possono essere impiegati per realizzare la compensazione hardware del giunto freddo. Uno molto semplice è quello riportato in (A), che fa uso di uno schema a ponte. Il ponte è costituito da una tensione di alimentazione E, da tre resistenze uguali di valore R e da una resistenza di compensazione R t che varia con la temperatura del blocco isotermo T iso =T A. Il ponte introduce nel circuito di misura una tensione di compensazione e c che dipende dalle condizioni di squilibrio prodotte dalla resistenza R t.

238 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica La tensione della termocoppia alla temperatura ambiente T a risulta: e xa =S AB (T x -T a ). Se facciamo in modo che la tensione di compensazione sia: e c =S AB (T a -0 o C), allora la tensione totale a vuoto del sistema risulta: e x0 =e xa +e c =S AB (T x -T a )+S AB (T a -0)=S AB (T x -0) In tal modo la tensione e x0 totale corrisponde alla temperatura T x riferita allo zero (0 C). La resistenza di compensazione R t è variabile con la temperatura ambiente T a e pertanto il circuito può provvedere a compensare automaticamente anche le variazioni della temperatura ambiente. La resistenza R t è a sua volta un sensore di temperatura, che può essere realizzato impiegando, per esempio, un termistore oppure un sensore integrato monolitico. Bisogna infine osservare che le tecniche di compensazione hardware sono veloci (come in genere tutte le elaborazioni analogiche), tuttavia il circuito che le realizza deve essere modificato e adattato per ciascuno dei numerosi tipi di termocoppia. Compensazione software, Con i sistemi automatici di acquisizione dati, si preferisce fare la compensazione del giunto freddo mediante procedure software, sfruttando le potenzialità di calcolo dei PC. Questo metodo di compensazione risulta molto più flessibile in quanto, essendo programmabile, si adatta facilmente a tutte le termocoppie e consente anche di tener conto della non linearità del loro comportamento. Nella pratica si impiegano dei legami funzionali noti, sia diretto che inverso, fra la tensione e della termocoppia e la temperatura T riferita a 0 C. Queste funzioni sono date con opportuni sviluppi polinomiali: I coefficienti a k e c k che vi compaiono si trovano pubblicati a cura del National Institute of Standards and Technology (NIST) e sono diversi per i vari tipi di termocoppie. La compensazione software prevede innanzitutto la misura della temperatura ambiente T a tramite un sensore montato sul blocco isotermo. A tale scopo può essere impiegato ancora un termistore R t, opportunamente alimentato per ottenere la tensione v Rt da acquisire con la scheda, oppure si può impiegare direttamente un sensore di temperatura integrato con uscita in tensione. La misura della tensione v Rt consente di conoscere il valore della temperatura T iso =T a rispetto allo 0 C. Questa temperatura T iso viene convertita dal software nella tensione e iso che avrebbe la termocoppia alla temperatura T iso =T a. Infine, misurata la tensione della termocoppia e xa e valutata la tensione di riferimento e iso si ricava la tensione totale e x0 che la termocoppia avrebbe a 0 C: Da questa tensione e x0 si può ottenere la temperatura T x, tramite il loro legame funzionale. Il metodo non è immediato, ma consente la massima accuratezza, soprattutto se è elevato il grado n del polinomio che viene utilizzato. Inoltre è possibile tener conto anche della non linearità della termocoppia.

239 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Usualmente, le grandezze in gioco sono espresse: e in (mv) e T in ( C) riferita a (0 C). I metodi di compensazione software sono molto pratici quando si devono fare molte misure di temperatura con molte termocoppie, anche di diverso tipo. In tali casi si portano tutte le termocoppie sulla stessa morsettiera isoterma e, tramite un multiplexer o uno scanner vengono applicate in successione al voltmetro ad alta sensibilità. Per i casi in cui non si abbia a disposizione un sistema di acquisizione dati con PC, le termocoppie sono corredate da apposite tabelle fornite dal costruttore, che riportano i rilievi sperimentali della tensione in uscita (in mv) al variare della temperatura del giunto caldo (in C), avendo posto alla temperatura di 0 C quello freddo. Queste tabelle corrispondono alla rappresentazione polinomiale del loro comportamento. Le termocoppie commerciali, Le termocoppie commerciali sono classificate con una designazione ANSI di cui si riportano, nella tabella seguente, alcuni esempi: La Costantana è una lega al 60% Rame e 40% Nickel; Il Cromel è una lega al 90% di Nickel e 10% Cromo; L Alumel è una lega di Nickel con (fino al 5%) Alluminio, Manganese e Silicio. Come si vede dalla tabella precedente, le tensioni in uscita sono sempre piuttosto piccole, anche per alte temperature. A titolo d esempio, consideriamo una termocoppia di tipo K, molto diffusa. Una variazione di temperatura da 0 a 100 C comporterebbe, trascurando in prima approssimazione le non linearità, una escursione di tensione in uscita di 39,45 (μv/ C)*100 ( C) 4 mv. Inoltre, se vogliamo apprezzare il decimo di grado (0,1 C), la risoluzione e l accuratezza del voltmetro devono essere dell ordine di 4 μv. Con questi livelli di segnale e di risoluzione, il cablaggio di tutto il sistema deve quindi essere particolarmente accurato per evitare che i disturbi, sempre presenti, compromettano l integrità del segnale. I termistori (thermally sensitive resistor) sono dei trasduttori di temperatura il cui funzionamento è basato sulle proprietà tipiche dei materiali semiconduttori intrinseci. In pratica data l'elevata sensibilità alle impurità proprie del silicio e del germanio questi materiali sono scarsamente utilizzati e vengono viceversa impiegate miscele sintetizzate di ossidi di vari metalli quali ad esempio cobalto, nichel e manganese. Anche i termistori sono dispositivi che hanno la proprietà di variare la loro resistenza in funzione della temperatura. Tuttavia la legge di variazione della resistenza con la

240 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica temperatura può essere con andamento sia crescente (Positive Temperature Coefficient, PTC) che decrescente (Negative Temperature Coefficient, NTC). I dispositivi NTC sono ottenuti per sinterizzazione di ossidi metallici drogati ed hanno un coefficiente di temperatura negativo per cui all'aumentare della temperatura diminuisce il valore della loro resistenza. Questo effetto è dovuto sia alla natura dei materiali utilizzati, sia al basso drogaggio. Tra le caratteristiche ricordiamo l'elevata sensibilità, le piccole dimensioni e il campo di misura che si può estendere da -100 C fino a 400 C. In figura è riportato, a titolo indicativo, l'andamento non lineare delle caratteristiche di trasferimento di un NTC per diversi valori che la resistenza assume alla temperatura di riferimento T 0. I dispositivi PTC come accennato precedentemente, hanno un coefficiente di temperatura positivo in determinati intervalli di temperatura e solitamente più elevato in valore assoluto rispetto a quello degli NTC. I processi di produzione sono simili a quelli impiegati per gli NTC con la differenza che si utilizzano materiali semiconduttori fortemente drogati. Vengono impiegati ossidi di titanio e di bario che consentono di conferire al semiconduttore un coefficiente di temperatura positivo mediante un procedimento che comporta il loro riscaldamento in un atmosfera satura di ossigeno; durante la fase di raffreddamento gli atomi di ossigeno penetrano nel semiconduttore creando all'interno della struttura cristallina delle barriere di potenziale che conferiscono al semiconduttore le caratteristiche dei PTC. L'andamento tipico della transcaratteristica dei PTC è riportata di seguito:

241 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Come si nota facilmente il termistore presenta un coefficiente di temperatura positivo solo nella parte centrale che corrisponde alla zona nella quale la PTC può essere utilizzata in quanto tale; questa zona è delimitata da un estremo inferiore definito dalla temperatura T min a cui corrisponde il valore minimo della resistenza che può assumere il termistore (R min ). L'estremo superiore è invece solitamente ricavato in base ai valori riportati sui data-sheet e al tipo di applicazione prescelta. In pratica, per le misure di temperatura, sono più diffusi i termistori con coefficiente di temperatura negativo. Il maggior pregio dei termistori è la loro sensibilità, che risulta molto maggiore di quella ottenibile con le termocoppie e i sensori RTD. Questo fatto consente di superare i limiti nell uso del ponte di misura e dell ohmmetro a 4 morsetti, svincolando l impiego dei termistori dall esigenza di un elettronica analogica sofisticata e immune dai disturbi. La variazione di resistenza con la temperatura, come accennato, è fortemente non lineare. Una formula approssimata, valida per un campo ristretto (dell ordine di 50 C), può essere la seguente: dove: R T =R 0 e B(1/T-1/To) R T è la resistenza del sensore alla temperatura T (K); R 0 è la sua resistenza alla temperatura di riferimento (per esempio a 25 C, T 0 = (273,16+25)K); il coefficiente B è un parametro caratteristico del materiale, dipendente dalla temperatura. Il campo di lavoro di un termistore è limitato a C, assai più piccolo di quello delle termocoppie e dei sensori RTD. Tipicamente un termistore può avere una resistenza R 0 di 5000 Ω a 25 C e una variazione di tale resistenza dell ordine del 4%/ C. Per esempio, un grado di variazione di temperatura provoca una variazione di resistenza pari a 0,04 C Ω * 1 C = 200 Ω, quindi non ci sono problemi a rilevarla. Inoltre, se utilizziamo in serie dei cavetti di

242 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica estensione che abbiano una resistenza, poniamo, di 10 Ω, l errore corrispondente in termini di temperatura è di 10Ω/200(Ω/ C) = 0,05 C (trascurabile). Osserviamo infine che il termistore deve essere alimentato, per poterne misurare la variazione di resistenza, e pertanto anch esso è soggetto al fenomeno dell autoriscaldamento per effetto Joule, che va quindi debitamente contenuto. I termistori, essendo economici e versatili, trovano numerose applicazioni nel controllo negli impianti industriali e nei settori di produzione dei beni di largo consumo come, ad e- sempio, quello automotive e degli elettrodomestici. Sensori integrati monolitici, I trasduttori di temperatura integrati sono caratterizzati dai numerosi vantaggi che offre la tecnologia proprio dei circuiti integrati. Infatti presentano dimensioni ridottissime, bassa dissipazione di potenza, elevata affidabilità e notevole precisione. In commercio esistono diversi tipi di trasduttori di temperatura integrati. I sensori di temperatura integrati basano il loro funzionamento sulla proprietà dei semiconduttori, e in particolare delle giunzioni P-N e dei transistori, di variare il loro comportamento con la temperatura. Infatti la tensione base-emettitore V BE di un transistore bipolare dipende dalla temperatura assoluta T (K) secondo la relazione: V BE =ln(i c /I sat ) kt/q dove: k = 1, J/K è la costante di Boltzmann; q = 1, C è la carica dell elettrone; I C è la corrente di collettore; I sat è la corrente di saturazione. Consideriamo ora due transistori T 1 e T 2. La differenza fra le loro tensioni V BE sarà: ln(i C1 I sat2 /(I sat1 I C2 )) kt/q

243 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Introduzione ai microcontrollori L elettronica digitale nasce nel 1946 con il primo calcolatore elettronico digitale denominato ENIAC e composto esclusivamente di circuiti a valvole, anche se negli anni prima alcuni ricercatori avevamo proposto dei dispositivi di calcolo semplificati. Alla base dell elettronica digitale vi sono due concetti fondamentali: Algebra binaria, dove tutte le informazioni vengono codificate in sequenze di cifre a due valori (0,1); La quantificazione dei valori di tensione elettrici in fasce (TTL, ) TTL è un acronimo che sta per transistor transistor logic e rappresenta uno standard implementativo do logica digitale basata tramite una convenzione elettrica ed implementata tramite transistori. Tutti i circuiti con standard TTL operano con una tensione di alimentazione di 5V ed attribuiscono livello logico 0 a segnali di basso voltaggio, mentre livello logico 1 a segnali di alto voltaggio. In particolare in accordo con lo standard TTL un voltaggio viene definito di livello logico basso quando la sua tensione è minore di 0.8 Volt, mentre viene definito di livello logico alto se le sua tensione è superiore a 2.2 Volt. Esistono diverse variandti del TTL per ridurre i consumi di corrente e le velocità, in particolare a partire da metà anni 90, ha preso piede un riferimento di tensione logica alta pari a 3.3Volt (LVTTL) e recentemente di 1.1 Volt. Vi sono innumerevoli vantaggi nell impiegare sistemi di calcolo basati su elettronica digitale ed in particolare: Robustezza alla presenza di segnali di disturbo Facilita di implementazione di funzioni logiche Possibilita di realizzare memorie anche complesse (temporanee e permanenti) tramite l uso di elementi che mantengono il proprio stato fisico (bistabili o multistabili) I circuiti digitali si dividono in due fondamentali categorie: logiche combinatorie in cui il valore dell'uscita dipende soltanto dai valori dai bit applicati in ingresso; Le logiche sequenziali in cui il valore dell'uscita dipende sia dal valore dei bit in ingresso che da uno stato interno del sistema.

244 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Le logiche combinatorie Una rete combinatoria e quindi in grado in via di principio di realizzare alcune funzioni digitali i cui risultati siano algebricamente dipendenti dagli ingressi. Il teorema di Shannon ci consente tuttavia di affermare che qualisiasi funzione algebrica (binaria) e sempre rappresentabile tramite ua somma di prodotti degli ingressi o degli stessi negati. La risposta, abbastanza intuitiva si puo verificare con un esempio: I2 I1 I0 Y Y = I1 + I0 + /I2/I1/I0 Esistono diverse categorie di componenti logici combinatori(famiglia 74XXYY). Alcuni trai i piu comuni sono: encoder e decoder, multiplexer e demultiplexer in grado di convertire un segnale con indice i un numero binario e viceversa. Come vedremo questi dispositivi risulteranno particolarmente utili nella selezione di segnali e come maschere.

245 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica A B S Y Sommatori: sono elementi strutturali anche abbastanza complessi che consentono di effettuare la somma di due numeri a un numero di cifre arbitrario ma predefinito. I sommatori si compongono in via ricorsiva tramite l impiego di sommatori piu elementari ad un bito soltanto. Questi ultimi si distinuguono in FULL Adder o Half AD- DER a seconda del fatto che contino una cifra di riporto precedente o meno.

246 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Un insieme di reti combinatorie atte ad implementare in funzione di un comando specifico un set funzione algebriche anche complesse e detto ALU (Arithmetic Logic Unit) e risulta una parte essenziale di qualsiasi struttura di calcolo digitale. Se la unita logica aritmetica mette a disposizione anche capacita di calcolo in virgola mobile viene denominata FPU (Floating Point Unit). Come vedremo tra breve in quasi tutti i microcontrollori le operazioni vengono effettuate tra memorie digitali indirizzabili direttamente tramite un set di istruzioni. Tali memorie sono dette registri. Ogni qual volta sara necessario per lo sviluppo di un algoritmo ricorrere alla alu bisognera: Codificare numeri, variabili ed altro in una equivalente rappresentazione difitale (IEEE) Decomporre l algoritmo in operazioni elementari supportate dalla ALU Programmare in codice macchina la sequenza di istruzioni che prende i dati dai registri, li inoltra alla ALU, informandala della particolare istruzione da

247 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica eseguire (somma differenza, shift, prodotto o altro) Rimemorizzare i risultati cosi ottenuti in registri Controllare i flag della operazione per verificare l assenza di condizioni di eccezione che richiedano la nostra attenzione. Tipicamente queste operazioni venivano svolte manualmente dai programmatori di microcontrollori e lo sono tuttora qualora siano richieste una sequenza di prestazioni ed un controllo sul flusso di programma tale per cui sarebbe assurdo l impiego di altri strumenti di sviluppo. In tutti gli altri casi, come e ormai prassi, ci si potra affidare al compilatore C e ai programmi di rapid prototyping. Alcuni esempi Le logiche Sequenziali Le reti sequenziali sono invece piu adatte a rappresentare il comportamento di un sistema tempodiscreto o di una macchina. Tra le reti sequenziali più elementari di tutti ritroviamo i sistemi bistabili, logiche il cui stato interno può assumere solamente due valori: 0 e 1. Il più semplice dispositivo di memoria è il flip-flop Set-Reset. Esso possiede due ingressi denominati Set e Reset ed due uscite indicata con Q e /Q in quanto la seconda risulta essere la negazione della prima.

248 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica In figura sono stati rappresentati gli elementi caratteristici di un flip flop set reset, ovver: il suo simbolo circuitale, la tabella di verità che rappresenta l evoluzione del sistema in base agli ingressi ed allo stato precedente Q0, e la sua realizzazione circuitale a porte NOR. A patto di invertire gli ingressi (/S, /R) una rappresentazione esattamente equivalente può esssere implementata con porte NAND. Analisi del funzionamento: La combinazione 00 ha due stati stabili, si verifica sostituendo i NOR con due NOT in quanto S e R non sono significativi per l evoluzione. Lo stato assunto prima di andare in 00 risulta pertanto lo stato mantenuto dal sistema (in quanto stabile). Le soluzioni 01 e 10 forzano le uscite a 10 o 01, in quanto una delle uscite delle due porte è fissa e conosciuta a causa dell,ingresso diverio sa 0. La combinazione 11 non è accettabile in ingresso (anche se finché mantenuta porta in uscita i valori 00). I flip flop JK sono simili ai flip flop SR nel senso che JK hanno funzionamento analogo a set e reset, ma con due differenze fondamentali, un terzo ingresso CLOCK di validazione fa si che i valori che regolano il funzionamento (evoluzione) del dispositivo sono quelli di JK nei fronti in salita di CK. Inoltre in questa versione JK=11 è un ingresso valido e comporta l inversione dell uscita. In figura il simbolo circuitale e la tabella di verità relativa. La sintesi dei FF JK è alquanto più complessa dei FF SR in quanto per coordinare le azioni esattamente con i fronti dell ingresso CK e non con il suo valore è necessario che il dispositivo disponga di uno stato ausiliario in più. Un semplice diagramma degli stati di un FF JK è rappresentato in figura:

249 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Un D-Latch è un flip flop SR con un ingresso di abilitazione ed una porta not. Il suo compito è quello di portare in un uscita il segnale D di ingresso solo quando la porta C ha valore logico uno. Il rilevamento degli impulsi può essere effettuato con una rete di ritardo calibrata come mostrato in figura. In questo caso l'uscita permane a uno fintantoché l'ingresso non supera le tre porte not.

250 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Combinando questa soluzione con un D-Latch visto in precedenza si ha un sistema stabile per memorizzare segnali durante la presenza di fronti in salita di un segnale esterno (clock). Implementazione alternativa

251 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica I microcontrollori I sistemi meccatronici integrano all interno del dispositivo meccanico/fisico di interazione una parte di elettronica analogico digitale che ne consente l utilizzo/controllo ad alto livello (sistema embedded). La particolare integrazione di meccanica/elettronica realizzata in un sistema di questo tipo consente di ottimizzare ulteriormente i vincoli di progettazione in maniera da produrre sistemi compatti altamente performanti. I microcontrollori costituiscono un volume di mercato circa 100 volte più grande di quello dei micro processori e considerato che anche il costo delle singole unità di calcolo è di circa 1/100, il volume di vendita e di presenza nell ambito sociale e industriale di questi dispositivi è di circa 10000:1 rispetto ai microprocessori. Definizione di microcontrollore Un controllore è una dispositivo logico utilizzato per i processi di regolazione dei sistemi nell ambiente. Applicazioni tipiche possono essere sistemi di servoguida in automobile, il controllo delle testine e dei motori in un videoregistratore, termostati di ambiente o altro. Nel passato i controllori erano costruiti tramite componenti discreti, dapprima meccanici, poi elettromeccanici, quindi con dispositivi semielettronici (ad esempio relé a stato solido). In seguito con l avvento dei microprocessori, e grazie alla loro flessibilità molti sistemi di controllo sono stati realizzati con piccole schede di controllo composte dall integrazione della logica di calcolo offerta dal microprocessore con le relative componenti necessarie al suo funzionamento (memoria, dischi, clock,...) ed alla sua interazione con l ambiente (periferiche di acquisizione dati, di attuazione, e di comunicazione e controllo remoto). Man mano che questo processo di inegrazione e miniaturizzazione è continuato, tutte queste componenti sono state integrate in un unico dispositivo. Un microcontrollore è un chip integrato che include in sè molte delle componenti necessarie per la realizzazione di un sistema di controllo. Da un punto di vista computazionale, un microcontrollore è analogo ad un mocroprocessore (possiede una Central Processing Unit ed esegue istruzioni a

252 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica controlloo di programma su una memoria dati), ma rispetto a quest ultimo esso si differenzia per un certo numero di funzionalità integrate: 4. Integrazione della memoria di programma: spesso in forma di EEPROM, ma sempre più di frequente in PROM, ROM o FLASH, questi dispositivi hanno tutti una memoria statica di lunga durata, che sopravvive agli spegnimenti e riaccenzioni ed in grado di conservare il processo/programma di controllo da eseguire per tutto il tempo necessario. L integrazione della memoria programma nel dispositivo consente la rimozione delle memorie fisse esterne (Dischi, ROM, altro) riducendo l ingombro ed il costo del sistema di controllo ed accelerando in tal modo la prontezza del sistema ad eseguire i propri compiti. 5. Integrazione della memoria dati: la memoria dati, di più frequente accesso, anche se ridotta in dimensioni (considerati i compiti piuttosto semplici demandati ai microcontrollori) viene integrata in tutti i microcontrollori. Questa memoria in venere varia da poche decine di byte a qualche migliaio ed è sufficiente a memorizzare tutti i dati dinamici alla esecuzione dei processi di controllo. 6. Integrazione servizi di timing: molti micro integrano degli oscillatori interni in maniera da poter funzionare anche in assenza di un sistema di oscillazione esterna e richiedere quindi soltanto la connessione con l alimentazione ed i dispositivi da controllare. 7. Integrazione delle periferiche: il numero di periferiche implementate in un microcontrollore varia tantissimo da caso a caso, tutti i micro comunque integrano almeno delle porte digitali per il controllo (TTL) di alcune linee esterne. Il numero di periferiche integrate varia con i piedini disponibili nel package e molto spesso sono riconfigurabili in prospettiva della applicazione preposta. E` quindi immaginabile che rispetto ad una archiettura di controllo di sistema organizzata con microprocessori e periferiche, una architettura equivalente basata su microcontrollori consente di ridurre notevolmente la complessità dello schema circuitale in quanto molti dei servizi (memoria, I/O,...) sono inclusi nelle funzionalità base dei micro. L integrazione delle funzionalità non è comunque soltanto limitata ad un aspetto fisico (più sistemi in uno stesso chip) ma molto spesso integrata nella struttura di controllo in maniera da rendere semplice l accesso ed il controllo di tutte le periferiche di I/O riducendo in tal modo non solo la complessità di progettazione elettronica ma anche quella di programmazione digitale.

253 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Resistenza Elettrica Motore Valvole Pompa Cestello deg I-3 I-5 Power Drivers mv Vcc1 a1 b1 a2 b2 MCU Microcontroller a3 b3 a4 b4 P-10 I-6 I-7 I-8 I-9 Struttura di funzionamento di una Lavatrice In figura viene rappresentato l impego di un sistema a microcontrollore per il controllo della elettronica di potenza e non in una lavatrice. Tutti gli elementi di controllo e display (manopole e led/display) sono connessi direttamente ad un microcontrollore centrale, mentre la parte di elettronica di potenza (motora, valvole, scaldatore, pompa) sono interconnesse allo stesso processore tramite un sistema di condizionamento dei segnali che consente di governare le singole componenti tramite l I/O disponibile nel microcontrollore (Nello schema sono stati tralasciate le alimantazini dei sistemi). Compito del microcontrollore in questo caso sarà quello di coordinare gli elementi necesari per il lavaggio in funzione delle opzioni regolate nei controlli (tipo di lavaggio, temperatura, velocità della centrifuga e così via). Per la realizzazione del sistema di controllo sarà necessario: definire il comportamento del sistema in funzione della programmazione espressa tramite le manopole e dello stato corrente del lavaggio Codificare il comportamento del sistema in base ad un insieme di regole temporali. Definire le operazioni e la relativa sincronizzazione delgi elementi di potenza che effettueranno il lavaggio Implementare la sequenza di stimoli necessaria per ottenere la sincronizzazione Scrivere il programma di controllo da eseguire sul microcontrollore perché tale sequenza di stimoli sia correttamente prodotta ai piedini del microcontrollore. Struttura di un Microcontrollore La struttura di un microcontrollore (Micro Control Unit = MCU) è per certi versi simile a quella dei microprocessori (MPU) con i quali condividono la struttura logica di calcolo base. Il cuore dell unità di calcolo di una MCU è costituito da: Registri

254 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Unità logico aritmetica Contatore di programma Unità di fetch Decodificatore di istruzioni Memorie (dati, programma e dati statici) Moduli di I/O In figura è rappresentata una possibile organizzazione generale di un microcontrollore (sebbene molte poi siano quelle reali) da cui si intravede come queste componenti siano interconnesse. In un microcontrollore, tutte le unità principali comunicano mediante un BUS (4,8,16,32 bit) le cui dimensioni sono poi connesse con quella che vedremo sarà la tipologia di microcontrollore. Questo bus, essendo l unità di trasferimento base per tutti i dati, è collegato alla capacità di manipolare le informazioni all interno del microcontrollore. Quando ci riferiermo a microcontrollori a 8 bit, intenderemo che la capacità di gestione dati del microcontrollore è organizzata su strutture delle stesse dimensioni e quindi anche il BUS interno dovrà possedere le medesime linee. Le componenti in figura sono divise in due gruppi: alla destra del BUS tutte le componenti I/O modulari che offrono le funzionalità di controllo, alla sinistra la parte dedicata all elaborazione delle informazioni. La divisione non è solo grafica ma anche funzionale nel senso che ogni periferica comunica con la parte di calcolo tramite una porzione di memoria accessibile sul BUS e visibile nello spazio di memoria del processore. Programmare un dispositivo di IO diventa pertanto accedere in forma, modi e tempi particolari a determinate zone di memoria.

255 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Il funzionamento dei moduli di elaborazione è invece analogo a quello di un microcontrollore, con la differenza che le memorie necessarie al funzionamento sono già incluse nella architettura base (sebbene memorie aggiuntive possono essere connesse dall esterno). In questo modo il microcontrollore può divenire un elemento indipendente che funziona quando alimentato e connesso ad un oscillatore che ne genera il clock (talvolta incluso nel chip stesso). Il microcontrollore non ha la complessità di un computer, non ci sono firmware e/o sistemi operativi che ci aiutano a sviluppare il codice, ma si offrono al programmatore semplicemente con le loro caratteristiche hardware. Non è pertanto immaginabile di poter scrivere in un microcontrollore codice analogo a quello che scriveremo per un microprocessore, ad esempio la libreria base del linguaggio C, la stdio, in questo caso non ci servirebbe a nulla, perché non esistono schermi, file o quant altro necessario per il funzionamento. All accensione un microcontrollore provvede ad eseguire il codice programmato a partire da una determinata locazione di memoria (usualmente 0x0000) in accordo con il proprio codice mnemonico di istruzioni (identificato dalla unità di decodifica). Sebbene il meccanismo di funzionamento sia alquanto universale, per una migliore facilità di comprensione del funzionamento sembra opportuno specializzarne i contenuti su di una architettura particolare. Pertanto, per la descrizione dettagliata di come questa fase di esecuzione esecuzione ha luogo si rimanda al capitolo specifico sui processori ATMEL che introdurranno il problema su quella determinata tipologia di processore. Famiglie di Microcontrollori Mentre i produttori di microcprocessoni sono qualche decina, ciascuno con al più modelli differenti. Sul mercato esistono decine di migliaia di microcontrollori differenti. Provvedere qui una lista esaustiva sarebbe impossibile oltreché anacronistico. Tuttavia molti di questi modelli possono essere accorpati in gruppi affini per struttura del tipologia di IO, codice di programmazione e architettura delle unità di calcolo in esso presenti. In questo senso i microcontrollori possono essere ricondotti ad architetture comuni: Famiglia Descrizione Produttori / Esempi E l architettura impiegata eni primi power PC poi riutilizzata per lo sviluppo di sistemi di controllo. Nel 2010 la versione più evoluta era il con capacità di calcolo vettoriale in virgola mobile 32/64 bit. MPCxxx Frescale HC11 Motorola 8051 E stata la prima famiglia di successo dei microcontrollori, introdotta dalla intel verso la meta` degli anni 70 e poi consolidata storicamente in diverse migliaia di prodotti commerciali al punto che oggi risulta difficile micrare e sostituire completamente questa famiglia (nonostante la presenza di prodotti di qualita` su- ATMEL Intel Philips Siemens Fujitsu

256 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica TMSxxx AVR AVR32 PIC / DSPIC PXA ARM7-11 periore e costo inferiore) Introdotti dalla Texas questo è il codice impiegato per riferirsi ai DSP. Si distinguono in DSP applicati alla automazione (classe 2000) con ridotte capacità di calcolo vettoriale, e DSP dedicati alla visione ed analisi delle immagini (classe 5000, 6000) utilizzati in ambito telefonia e apparacchiature biomediche Microcontrollori di basso costo a 8 o 32 bit, con potenze di calcolo variabili da qualche megaflop a qualche 100. Prodotti dalla microchip hanno avuto un discrete successo negli anni 90 anche grazie alla politica aggressive di costi campioni del produttore. Sono sicuramente i prodotti piu diffusi tra gli hobbisti acausa della semplicita e del basso costo (anche di studio) di avvicinamento La famiglia di microcontrollori prodotta attualmente da Intel Uno standard di architettura per microcontrollori open, impiegato da diverse case produtrici dalla versione 9 introduce virgola mobile e 64 bit. Usato nei palmari e in controllori di alta fascia. TMSc2000 Texas TMSc5000 Texas TMSc6000 Texas Atmega Atmini Produttore ATMEL Solo Microchip Varie Famiglie PIC12 (4 bit) PIC14/16 (8 bit) PIC18/24 (8-16 bit) DSPIC /DSPIC32 Intel 32 / 64 bit ST INTEL ATMEL Frescale DEC Toshioba Lo scenario delle applicazioni di controllo moderno vede attualmente impiegato i microcontrollori di fascia alta solo in una gamma specifica dell elettronica di consumo e pertanto vede ridotta la disponibilita di mercato di micro altamente specializzati per il controlo robotico ad alte prestazioni (bisogna costruirsi schede ad-hoc).

257 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Tuttavia i recenti sviluppi della robotica sociale potranno nel giro di qualche anno portare ad una mutazione radicale di questo trend in quanto sui robot sono richieste sempre di più capacità percettive e cognitive che necessitano di molti IO ed alte capacità dfi calcolo. Molto dipenderà da come il mercato e l industria risponderanno a questo stimolo. Nel marzo 2010 ad esempio è uscito un nuovo DSP (TMSC200F28445) a 300 MHz con capacità di calcolo a virgola mobile a 32 bit integrate, RAM fino a 2Mbytes e 4 canali encoders gestibili separatamente. Da sottolineare che quando il costo di questi dispositivi aumenta, generalmente la struttura FLASH per la programmazione della ROM viene rimossa sia per questioni di velocità (la FLASH è più lenta) che per questioni di affidabilità, la flash assicura un numero massimo di operazioni di riscrittura (circa ) dopodichè il circuito di deteriora. Principi di programmazione di un Microcontrollore I microcontrollori vengono in generale programmati in moltissimi modi: talvolta direttamente tramite lo sviluppo in codice oggetto, talvolta utilizzando linguaggi di programmazione più sofisticati (C, C++, pascal, basic,...) e alcune volte addirittura in alcuni casi in linguaggi visuali, come ad esempio consentono alcuni tools sofisticati di sviluppo. Programmazione di microcontrollori Codice Oggetto (Variabile da MCU a MCU) Linguaggio C/C++

258 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Basic Linguaggi grafici Altri Nonostante l elevata disponibilità di tools di sviluppo sofisticati, la moggior parte del codice di programmazione viene sviluppata direttamente in codice oggetto. Ciò è maggiormente dovuto a due caratteristiche: l esiguità delle risorse disponibili all interno di un microcontrollore e la maggior efficacia (in termini di dimensioni del codice, ottimizzazione dei processi, velocità e consumi) dello sviluppo del software quando questo viene condotto direttamente nel codice oggetto dei microcontrollore; analogamente la semplicità dei compiti cui tali microcontrollori sono generalmente preposti rende semplice lo sviluppo di software in codice oggetto. Inoltre, per i programmatori esperti, la dimistichezza con lo sviluppo del codice, affiancata alla e- sperienza ed alle librerie che gli stessi sviluppatori via via si sviluppano, rendono relativamente poco complicata, la complessità aggiunta dallo sviluppo in un linguaggio di basso livello come il codice oggetto. A prescindere dal tipo di linguaggio utilizzato e dal tipo specifico di microcontrollore tutti i sistemi di questo tipo consentono due tipologie fondamentali di programmazione: la programmazione ad interruzione e la programmazione a controllo di programma: la programmazione a controllo di interruzione è associata a delle procedure che il sistema è in grad di eseguire in presenza di eventi segnalati dalle periferiche predisposte sul microcontrollore. La programmazione a controllo di programma viene invece svolta ordinariamente dal microcontrollore appena questo viene acceso. Vale la pena sottolineare che questi tipi di programmazione, sebbene simili a quelle che ordinariamente siamo abituati a conoscere per i sistemi operativi differiscono profondamente per semplicità di meccanismo, rendendo quindi possibile la descrizione dei principi di funzionamento almeno in linea generale. Nessun microcontrollore viene infatti provvisto con un sistema operativo come nel caso dei personal computer ed ogni tipo di esecuzione sullo stesso verrà dettagliatamente programmata dal suo sviluppatore. Appena alimentato tutti i microcontrollori eseguono una porzione di codice predefinita, procedendo nella sua esecuzione esaminando linearmente lo spazio di istruzioni del programma fino all occorrenza di eventi particolari. L esecuzione del codice può differire leggermente da microcontrollore ad un altro ed anche all interno di uno stesso microcontrollore in funzione del tipo particolare di programmazione effettuata. In tutti i casi, in base a questo principio risulta possibile definire (codificare) gli algoritmi di controllo del microcontrollore memorizzando le istruzioni in codice oggetto, a partire dal primo indirizzo di esecuzione per il microcontrollore. Qualora abilitate (via software o via programmazione), le interruzioni possono sospendere l esecuzione ordinaria del programma andando a richiamare delle procedure collocate in indirizzi specifici e ritornando alla esecuzione dello stesso al temine delle routine di servizio. Questo meccanismo consente la gestione delle operazioni di controllo collegate ai segnali ricevuti dalle periferiche minimizzando l attenzione che è richiesta per sorvegliare le stesse (si parla in questo caso di controllo attivo tramite polling).

259 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Meccanismi di controllo esecuzione Controllo di programma L esecuzione del codice di programma avviene ad eventi specifici (accensione, risveglio, reset), e prosegue in maniera non continuativa (in quanto le interruzioni possono sospenderla temporaneamente) fino a eventi specificati: interruzioni, spegnimento, reset, sleep Controllo di interruzione L esecuzione del codice di interruzione non avviene finché alcuni eventi (interrupt) specifici non vengono segnalati dalle periferiche Sleep mode L esecuzione del codice di programma è sospesa mentre alcune perfieriche (il cui funzionamento è scollegato dal processore) continuano a lavorare ed eventualmente segnalare la necessità di un risveglio al processore centrale. Alcuni microcontrollori (ad oggi quasi tutti) consentono inoltre di far addormentare il dispositivo e risvegliarlo solo in presenza di alcuni eventi da interruzione. Una tale funzionalità consente infatti di risparmiare energia in tutte quelle applicazioni di controllo dove la stessa è un bene prezioso (dispositivi portatili, orologi, telefoni, oppure mobili, spaziali, volanti,...). Lo sviluppo di software per microcontrollori Lo sviluppo del software per sistemi di questo tipo è molto delicato, l impossibilità di accedere con programmi specifici al software ed alla dignostica del funzionamento dei sistemi integrati rende critico il processo di sviluppo. E importante rilevare che sviluppare codice per un microcontrollore richiede inizialmente un grosso impegno in termini di bagaglio di conoscenze da acquisire per la gestione dei dispositivi integrati e della struttura del codice di esecuzione. Come per i processori e per i computer in generale, ogni microcontrollore presenta infatti un microcosmo di informazioni che è necessario conoscere per l esatta generazione del codice di funzionamento, la sua programmazione ed il suo debug. In quest ottica diventare uno sviluppatore di applicativi meccatronici potrebbe apparire un lavoro immane a prima vista, ma come vedremo (e come sarà meglio chiaro durante il corso), ci sono molti elementi che ci aiuteranno in questo compito: In primo luogo, ogni produttore di microcontrollori, cerca di sviluppare i propri sistemi in base ad una famiglia di architetture. Utilizzare il termine famiglia significa che, sebbene taluni microcontrollori possono risultare differenti, ci sono una serie di elementi genetici che accomunano i diversi membri della famiglia stessa e che facilitano lo sviluppo ed il porting di applicazioni tra i parenti. L utilizzo di una famiglia è di comodità sia per lo sviluppatore che in questo modo può apprendere i principi base di

260 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica programmazione e muoversi facilmente attraverso tutta la gamma dei prodotti disponibili, sia per il produttore che può ottimizzare la struttura della famiglia confidando in un ampia gamma di utilizzatori e che migliorie in un prodotto si riflettono automaticamente su tutta la linea. Tra gli elementi genetici che vale la pena sottolineare: il linguaggio di programmazione e l architettura della parte di microprocesso, le periferiche principali, la loro collocazione in memoria ed il loro utilizzo, l ambiente semplificato di sviluppo omogeneo per tutti gli elementi della stessa famiglia; Talvolta come è successo per alcuni microcontrollori particolarmente diffusi, l architettura di sviluppo è aperta, consentendo la costituzione di una famiglia che non è più limitata ad un solo produttore ma diffusa largamente tra più fornitori; Inoltre, come verrà descritto in seguito, ogni famiglia di microcontrollori viene supportata da una serie di tools di sviluppo, molto spesso forniti dallo stesso produttore e talvolta provvisti da compagnie di supporto. Tali strumenti consentono un accesso ed uno sviluppo semplificato del codice e delle infrastrutture necessarie per integrare un sistema microcontrollato, consentendo la simulazione, il debug, e lo sviluppo in un ambiente facilitato (talvolta in C, C++ o strumenti grafici) e lasciando che lo sviluppatore si concentri esclusivamente sugli obiettivi funzionali che gli interessa perseguire senza curarsi dei dettagli dell implementazione software. Al fianco degli ambienti integrati di sviluppo (IDE) che comprendono simulatori, compilatori ad alto livello, e talvolta anche tool di sviluppo grafico (ad icone, simile a quanto disponibile per Matlab), risulta spesso utile la disponibilità di un sistema di verifica rapida. Le schede di sviluppo sono dei sistemi elettronici assemblati che includono al fianco di un microcontrollore un numero ampio e variegato di interfacce di interazione connesse con le periferiche del microcontrollore. Ad esempio led e puldanti possono essere connessi alle porte digitali, le porte seriali sono adattate per la comunicazione con personal computer, gli ingressi analogici sono forniti di connettori di semplice utilizzo. Le schede di sviluppo in sostanza consento no di sperimentare il funzionamento del proprio codice anche in assenza di un vero e proprio progetto hardware di sistema. Le schede di sviluppo possono essere offerte dalla stessa casa produttrice (come avviene nel caso microchip, atmel, oppure possono essere offerte da produttori di terze parti come nel caso thompsom ad esempio). Anche per ciò che concerne il software di sviluppo una buona parte delle case produttrici si impegnano per corredare i proprio prodotti con compilatori, assemblatori e debugger, anche se spesso questo tipo di lavoro richiede lo sviluppo di competenze e la manutenzione di prodotto che molto spesso possono andare oltre le specifiche competenze del produttore. Per questo motivo molti produttori si affidano ad aziende di terze parti che per i loro sistemi producono la linea di sviluppo più idonea. Detti produttori (come la keil, la IAR ed altri) possono infatti trarre valore aggiunto dalla specializzazione ottenuta sull ambiente di sviluppo a prescindere dal tipo particolare di microcontrollore di riferimento. Altri produttori ancora si affidano all adozione di particolari standard di architetture che possono usufruire di prodotti di sviluppo già presenti sul mercato (philips, atmel, toshiba, siemens, samsung) e facendo così affi-

261 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica damento sulla possibilità per gli sviluppatori di riutilizzare sistemi di sviluppo e standard ormai acquisiti. Componenti di un microcontrollore I registri di sistema Il comportamento del processore (come macchina a stati di tipo complessa) è regolato non solo dalle istruzioni in codice macchina che esso incontra ma anche da un insieme di registri particolari. Diversi registri utente sono a disposizione dell utente, ogni volta che il programmatore avrà bisogno di manipolare dei dati egli potrà farlo tramite l utilizzo dei dati nei registri del microcontrollore. I core dei microcontrollori si dividono in due grandi categorie, quelli basati sull accumulatore e quelli basati sui registri. Nei core basati sull accumulatore esiste un registro di tipo particolare, denominato accumulatore appunto in gradi di effettuare un numero più esteso di operazioni, in particolare le operazioni matematiche. Nelle altre categorie invece tutti i registri sono equivalenti in termini di programmazione (approccio risc based). Tutte le operazioni possono essere effettuate tramite la memoria, la ALU ed i registri a disposizione del programmatore. Esistono poi alcuni registri particolari: Il registro di stato (STATUS REGISTER) contiene le informazioni relative al risultato delle istruzioni eseguite più di recente ed è aggiornato ogni volta che

262 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica la ALU effettua qualche elaborazione tra i registri. Tipici bit del registro di stato sono: GIE Global Interrupt Enable: quando questo bit viene messo a zero nessuna interruzione potrà sospendere il flusso di programma del processore, il bit viene messo a zero automaticamente durante l esecuzione delle procedure di interrupt e ripristinato a 1 dall istruzione RETI, ma può anche essere controllato manualmente con le istruzioni SEI e CLI. H: Half Carry Flag E il bit di semiriporto, utilizzato per vedere se un riporto è stato generato da o verso il nibble basso del registro su cui si effettua l operazione. Utile spesso nelle operazioni che richiedono l uso di Binary Coded Decimal. S: Sign Bit, S = N V Bit del segno V: Two s Complement Overflow Flag Overflow in modalità di complemento a due N: Negative Flag Bit meso a uno quant línterpretazione del risultato in complemento a 2 risulta negativo Z: Zero Flag Bit di zero, settato ogni volt ache il risultato dell ultima operazione è zero C: Carry Flag Bit del riporto Come vedremo tra le operazioni di un microprocessore, oltre alle operazioni matematiche esisteranno alcune operazioni di controllo flusso molto elementari (salti condizionati) che consentono la gestione del flusso ogni volta che ho un riporto, un risultato nullo o altro. Lo stack, anche detta pila, è una porzione di memoria utilizzta per la conservazioni di tati temporanei, ad esempio memorizzare il valore di rientro di una procedura oppure le variabili da ritornare al chiamante. Il puntatore allo stack è un registro che punta sempre alla cima dello stack (si noti che in questo caso lo stack è implementato come crescente dalla direzione più alta verso la più bassa, questo impleca che l inserimento di qualcosa nello stack faccia diminuire il valore del puntatore). La memoria dello stack viene collocata nella memoria SRAM del MCU e il suo valore è inizializzato dal programmatore in funzione delle proprie esigenze. Ovviamente esso dovrà puntare come valore minimo di partenza sopra l ultima delle locazioni riservate al processore (0x60). Il puntatore allo stack è implementato con dei registri, nei microcontrollori con meno di 256 byte di memoria solo 8 bit sono sufficienti. Il valore iniziale di questi registri è posto a zero e sarà cura del programmatore inizializzarli come dovuto. La programmazione dei fusibili I microcontrollori mettono a disposizione un area di memoria eeprom in cui programmare un insieme di configuazioni di default che regolano il successivo funzionamento del micro. Detti bit (generalmente nominati fuses) consentono di configurare alcuni comportamenti particolarmente rilevanti. Tipici fuses riguardano: La modalità di avviamento del microcontrollore (locazione di partenza, tipo memoria, interna/esterna, ) La protezione in lettura/scrittura del codice interno. Utilizzo di un oscillatore interno (se presente) Utilizzao dell interfaccia JTAG se presente

263 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Utilizzao del Watchdog ON: default NO Divistore di frequanza e PLL Ritardo di Start up Sorgente del Clock Eventuale Clock calibration byte La gestione delle interruzioni Ogni microcontrollore ha a disposizione numerose sorgenti di interruzione, ognuna di queste può essere collegata ad una procedura differente mediante una tabella in indirizzamento delle procedure di interruzione. Tipicamente inoltre ogni interruzione può essere singolarmente mascherata o abilitata tramite un apposito insieme di registri maschera. Per questo motivo oltra al bit di abilitazione delle interruzioni sui microcontrollori sono presenti numerosi bit per abilitare le interruzioni di ogni singola periferica. Tipicamente questi bit sono nei bytes di configurazione della periferica. In un microcontrollore, l esecuzione del codice avviene a controllo di programma ed a controllo di interruzione. All accensione, il microcotrollore procede a eseguire il codice in maniera lineare a partire dalla prima locazione di programma. L esecuzione prosegue quindi seguendo il flusso determinato dalle istruzioni programmate di salto. Tuttavia la presenza di una interruzione può far si che il processore sospenda la esecuzione del codice di programma per intraprendere quella di una routiine di servizio. Il ricorso alle procedure ad interruzione viene di solito utilizzato quando: Si ha la presenza di eventi non regolari; Una periferica di servizio (ad esempio la seriale o il convertitore ADC) gestisce buona parte del carico ed il processore può essere utilizzato per compiere altre analisi Si intende ridurre le attese attive del microcontrollore per dedicarle alla parte di calcolo e controllo. Si è alla presenza di eventi prioritari che devono comunque avere attenzione massima rispetto il normale funzionamento del microcontrollore. Le interruzioni infine possono essere classificate in interne, se generate da una periferica, ovvero esterne se generate da un dispositivo connesso elettricamente ad uno dei pin del microcontrollore. ESEMPIO, Interrupt in ATMEGA 169 NellÁTMEGA 169, gli elementi di controllo per le interruzioni sono i seguenti: GIE, Global Interrupt Enable. E il bit 7 del registro di stato, se il bit è messo a uno le interruzioni sono abilitate, se invece il bit vale zero il controllo di programa non può essere interrotto. La tabella di controllo delle interruzioni: Indice Offset Nome Descrizione 01 0x0000 RESET External, Power, Brown out, WDTimer, JTAG reset 02 0x0002 INT0 External interrupt request x0004 PCINT0 PIN Change request x0006 PCINT1 PIN change request 1

264 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica x0008 TIMER2COMP Compare match 06 0x000A TIMER2OVF Overflow 07 0x000C TIMER1CAPT Capture event 08 0x000E TIMER1COMPA Compare match A 09 0x0010 TIMER1COMPB Compare Match B 10 0x0012 TIMER1OVF Overflow 11 0x0014 TIMER0COMP Compare Match 12 0x0016 TIMER0OVF Overflow 13 0x0018 SPISTC SPI Serial Transper Complete 14 0x001A USART,RX USART Rx Complete 15 0x001C USARTUDRE USART Data register empty 16 0x001E USART,TX USART TX complete 17 0x0020 USI START USI Start Condiiton 18 0x0022 USI OVF USI Overflow 19 0x0024 ANALOG COMP Analog Comparator 20 0x0026 ADC ADC conversion complete 21 0x0028 EE READY EEPROM ready 22 0x002A SPM READY Store program memory ready 23 0x002C LCD LCD start of frame Il posizionamento della tabella di interruzione dipende da alcuni bit di configurazione (ISVEL e BOOTRST). La descrizione degli altri registri interessati alla configurazione delle interruzioni sarà data insieme con la descrizione delle periferiche rilevanti. Per installare una procedura di interruzione (oltre che ovviamente abilitare il processore alla gestione della interruzione medesima) bisognerà indicare nella rispettiva tabella la locazione della procedura in memoria. Ovviamente mentre questo può essere fatto in maniera alquanto agevole da linguaggio macchina, risulta più complesso in codice C. Fortunatamente le LIBC provviste insieme con Winavr consentono un rapido controllo di dette funzionalità. In particolare per installare una procedura basterà utilizzare la macro SIGNAL: /**************************************************************** * LCD Interrupt Routine * Returns : None * Parameters : None * Purpose: Latch the LCD_displayData and Set LCD_status. ****************************************************************/ SIGNAL(SIG_LCD){ Uint8_t statusregister; static int8_t displaypos = -6; statusregister = SREG; <USER CODE HERE> // return non è necessario SREG = statusregister; } Esiste anche una altra macro per installare una procedura ad interruzioni: INTER- RUPT. Quest ultima rispetto alla SIGNAL installa il corpo del nostro codice in maniera nuda, ovvero senza disabilitare prima le interruzioni. Per ognuno dei segnali in tabella il compilatore provvederà a impostare un ingresso nella IVT ed associarlo al codice da eseguire, inoltre qualora necessario provvederà al

265 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica salvataggio ed al ripristino del valore dei registri all ingresso ed in uscita del vettore di interruzione. /* Interrupt vectors */ #define SIG_INTERRUPT0 #define SIG_PIN_CHANGE0 #define SIG_PIN_CHANGE1 #define SIG_OUTPUT_COMPARE2 #define SIG_OVERFLOW2 #define SIG_INPUT_CAPTURE1 #define SIG_OUTPUT_COMPARE1A #define SIG_OUTPUT_COMPARE1B #define SIG_OVERFLOW1 #define SIG_OUTPUT_COMPARE0 #define SIG_OVERFLOW0 #define SIG_SPI #define SIG_USART_RECV #define SIG_USART_DATA #define SIG_USART_TRANS #define SIG_USI_START #define SIG_USI_OVERFLOW #define SIG_COMPERATOR #define SIG_ADC #define SIG_EEPROM_READY #define SIG_SPM_READY #define SIG_LCD _VECTOR(1) _VECTOR(2) _VECTOR(3) _VECTOR(4) _VECTOR(5) _VECTOR(6) _VECTOR(7) _VECTOR(8) _VECTOR(9) _VECTOR(10) _VECTOR(11) _VECTOR(12) _VECTOR(13) _VECTOR(14) _VECTOR(15) _VECTOR(16) _VECTOR(17) _VECTOR(18) _VECTOR(19) _VECTOR(20) _VECTOR(21) _VECTOR(22) L abilitazione della relativa periferica e del interrupt dovrà comunque essere eseguita manualmente in quanto il programmatore si può voler riservare la possibilità di abilitare e disabilitare perticolari routine di interruzione a seconda del flusso e dello stato del programma. La memoria In un microcontrollore possono essere utilizzati diversi tipi ci memoria: la memoria dati (SRAM), la memoria programma (Flash, EProm, Rom), La memoria dei dati stabili (EEPROM), o la memoria esterna (accesso parallelo o seriale). La programmazione delle porte digitali Di solito tutte (o quasi) i piedini disponibili di un microcontrollore possono essere associate a porte digitali. Una porta digitale è un gruppo di piedini del microcontrollore che possono essere singolarmente impostati come di ingresso oppure di uscita tramite configurazioni software. Nel caso il piedino sia impostato di ingresso essa sarà in grado di prelevare un segnale elettrico (secondo lo standard digitale di implementazione del microcontrollore) e di fornirlo al programma come valore binario associato ad un bit presente nella mappa di memoria. Nel caso in cui il piedino (o PIN) sia regolata per essere di output, avviene il processo inverso, ovvero il valore di un bit,

266 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica impostato da programma, viene regolarmente controllato ed utilizzato per definire il voltaggio da associare al bit di uscita. L uso delle porte digitali è il più frequente in applicazioni di microcontrollo i quanto poco affette dai disturbi elettromagnatici che possono intervenire in applicazioni a- nalogiche. Esse possono essere impiegate per rilevare i valori di tensione in ingresso così come per comandare eventuali switch di uscita. Tutte le porte digitali che siano di ingresso ovvero di uscita hanno la stessa struttura, riportata nella figura seguente. Per il controllo delle porte sono necessari una serie di indirizzi di memoria (detti registri), che nell ambiente di sviluppo corrispondono a delle variabili. La struttura di una porta di I/O è riportata in figura: Si possono distinguere quattro zone di controllo fondamentali (riconoscibili dalle a- ree di tratteggio e sfondo diverso) e una metazona di controllo delle funzioni accessorie corrispondente alla area trasversale indicata in verticale (bordo doppio).

267 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Partendo dall alto verso il basso incontriamo l area del pull-up. Questa area abilita tramite il controllo di un mosfet un transistore connesso alla tensione di alimentazione. Lo scopo di duesto transistore (come di tutti i pull-up) è quello di fornire un riferimento alle porte quando queste non sono connesse. In tal modo se una porta viene lasciata non connessa assume naturalmente il valore logico 1. Il valore della resistenza è impostato sufficientemente alto da non generare un source elevato nel caso in cui il pin di ingresso venga impostato a zero. Ovviamente il significato logico del pull-up sussiste solo se il pin è configurato di uscita. Gli elementi di controllo del pull-up sono tre: PUD (Pull up disable): un bit di sistema in grado di disabilitare tutti I pull-up simultaneamente; La direzione della porta (DDRxy), definita dal valore logico del bit di abilitazione del three-state nel secondo riquadro; Dal valore della porta (PORTxy) che nel caso in cui la direzione sia di input (ovvero il valore della porta non viene scritto), definisce se ci interessa o meno abilitare il pullup. Il secondo riquadro definisce la direzione del pin, le linee WDx e RDx corrispondono ai segnali logici di lettura e scrittura sul bus del relativo pin, mentre la linea che va nel D-latch corrisponde al valore scritto sul bus. Un valore logico pari a uno, abilita il three state e quindi imposta la porta come porta di uscita, un valore di zero lascia invece il three state in alta impedenza. Il terzo riquadro interessa invece lo stadio di uscita del pin. WR e RR rappresentano qui i segali di lettura e scrittura dal PIN PORTxy. Come per il bit di direzione i due segnali controllano rispettivamente un Dlatch in grado di memorizzare il valore da presentare in uscita e un threestate che ricopia sul bus il valore memorizzato. Qualora bilitata come porta di uscita il valore memorizzato sul Dlatch viene quindi ricopiato come segnale elettrico sulla porta di uscita. Se in tutti i casi (che sia abilitato o meno il Dlatch), l ultimo riquadro in basso raccoglie i valori elettrici presenti sul PIN di uscita ingresso, una coppia Dlatch e flip flop provvedono a stabilizzare il valore in ingresso in maniera tale che eventuali oscillazioni del segnale non corrispondano a letture spurie. Questi quattro blocchi principali sono (eventualmente) alterati nel funzionamento da una serie di multiplexer e porte logiche che consentono al sistema di operare sugli stessi pin anche delle funzioni esterne come ad esempio in PWM, le porte seriali o gli ingressi analgici. In questi casi, il valore di ingresso o di uscita viene sovrascritto dai segnali OE (override enable) e OV (override value). La presenza o meno di questi blocchi accessori dipende dalla singola porta e comunque non sono direttamente controllati dal programmatore se non attraverso la programmazione delle singole periferiche specifiche (che sarà vista più in avanti). L abilitazione della periferica a prendere il controllo del pin, corrisponde all attivazione dei segnali di override in maniera che le funzionalità normali della porta digitale non sono più accessibili.

268 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica ACCESSO E CONTROLLO IN ATMEGA 169 L Atmega169 mette a disposizione 53 PIN singolarmente configurabili com e di ingresso ovvero di uscita, raggruppati in 6 porte (A, B, C, D, E, F, G) di otto PIN ciascuna ed una porta (G) di 5 PIN. Per ogni porta i registri necessari sono i seguenti: PIN, PORT, DDR. Ad identificare e- sattamente il bit, e quindi il pin corrispondente nelle documentazioni ufficiali viene fornita la convenzione di completare i nomi suddetti con il numero della porta quindi quello del bit (ad esempio PORTA0, bit 0, porta A, registro PORT). La seguente tabella riporta gli indirizzi di I/O delle singole porte ed i relativi valori che esse assumono alla accensione del sistema. PIN DDR PORT A 0x00/N.A. 0x01/0x00 0x02/0x00 B 0x03/N.A. 0x04/0x00 0x05/0x00 C 0x06/N.A. 0x07/0x00 0x08/0x00 D 0x09/N.A. 0x0A/0x00 0x0B/0x00 E 0x0C/N.A. 0x0D/0x00 0x0E/0x00 F 0x0F/N.A. 0x10/0x00 0x11/0x00 G 0x12/N.A. 0x13/0x00 0x14/0x00 I registri possono essere acceduti dal codice macchina tramite le istruzioni IN e OUT, ovvero, avendo questi anche una mappatura in memoria, usando le istruzioni LD e ST ma previa aggiunta dell offset 0x20 che identifica lo spazio di IO dei microcontrollori AVR. Una descrizione dettagliata delle singole porte e dei moduli di override è data nel manuale (pagine 58-73). Un riassunto sommario delle funzioni prevalenti e dei valori attivi è riportato nella seguente tabella: P U O E P U O V D D O E D D O V PV OE A LCD 0 LCD LCD 0 - LCD B 0/SPE 0 o/spe 0 OCxSPE OcxSPI - PCINT 1 PCINT - C LCD 0 LCD LCD 0 - LCD D LCD 0 LCD LCD 0 - LCD E RS 0 RS - SPI -/SPI PCINT - PV O V PT O E DI E O E DI E O V DI AI O

269 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica F JTAG 1 JTAG JTAG 0 - ADC G LCD 0 LCD LCD 0 - LCD La descrizione fornita in tabella è solo indicativa in quanto spesso ad ogni pin sono associate una o più funzioni accessorie di IO (vedere descrizione della piedinatura ad inizio capitolo) ed i singoli pin di una medesima porta pososno avere funzionalità differenti. Le porte risultano pertanto disponibili solo se le relative interfacce non occupano di già con il loro comportamento il valore dei PIN di ingresso e/o di uscita. Programmazione in C di una porta Supposto che le relative funzionalità accessorie siano disabilitate, sarà possibile impostare una porta del sistema come porta di ingresso ovvero di uscita. Porta di Uscita: (C) DDRxy = 1 (CI) PORTxy = value Porta di ingresso senza pull-up 9. DDRxy = 0; 10. PORTxy = 0; 11. Value = PIN; Porta di ingresso senza pull-up 4. PUD = 0; 5. DDRxy = 0; 6. PORTxy = 1; 7. Value = PIN; Esempio tratto dal codice nativo della butterfly: i pulsanti del joystick sono parzialmente collegati alla porta B ed alla porta E secondo il seguente schema Bit PORTB DW UP OK PORTE RX SX #define PINB_MASK 0xD0 #define PINE_MASK 0x0C DDRB &= 0x20; PORTB = 0xD0; // Bit 7, 6, 4 DDRE = 0x00; PORTE = 0x0C; // Bit 3, 2

270 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Si potrebbe osservare che sono stati segnati in input più bit del necessario, questa è una pratica abbastanza comune (quella di tenere in ingresso tutte le porte inutilizzate), al fine di minimizzare i rischi di rompere accidentalmente una porta. Viceversa per le porte non usate sono stati disabilitati i pullup per limitare il consumo non intenzionale di corrente. Gli interrupt esterni Dopo le porte di IO digitali gestite a controllo di programma, il tipo più elementare di periferica disponibile nel sistema sono gli interrupt esterni. Questi interrupt sono gestiti dalle condizioni elettriche associate a diciassette piedini di ingresso: INT0 = PD1 PCINT0 = PE0-PE8 PCINT1 = PB0-PB8 Reg Mode BIT7 BIT6 BIT5 BIT4 BIT3 BIT2 BIT1 BIT PORTE Pcint0 PE7 PE6 PE5 PE4 PE3 PE2 PE1 PE0 PORTB Pcint1 PB7 PB6 PB5 PB4 PB3 PB2 PB1 PB0 EIMSK RW PCINT1IE PCINT0IE INT0 EIFR RW PCINT0IF PCINT1IF INT0IF EICRA RW ISC01 ISC00 PCMSK1 RW ChangeEn ChangeEn ChangeEn ChangeEn ChangeEn ChangeEn ChangeEn ChangeEn PCMSK0 RW ChangeEn ChangeEn ChangeEn ChangeEn ChangeEn ChangeEn ChangeEn ChangeEn Ovviamente il piedino può essere letto a controllo di programma, ma se vogliamo associare delle particolari procedure ogni volta che il piedino cambia valore allora possiamo programmarlo ad interrupt. A tal fine dobbiamo intervenire sui seguenti registri: EIMSK: i bit INT0, PCIE0, PCIE1 (0, 6, 7) consentono di abilitare separatamente gliinterrupt sulle porte INT0, PCINT0 e PCINT1. Come per GIE (che deve in questo caso ovviemente essere abilitato) un valore pari a 1 abilita gli interrupt e un valore pari a 0 li disabilita; EIFR: E un registro dei flag che descrive (valore uno le interruzioni pendenti). I bit INT0, PCIE0, PCIE1 (0, 6, 7) sono messi a uno quando vi è una richiesta di interruzione. Esso viene rimesso a zero o durante l avvio della procedura di interruzione (automaticamente dal processore) oppure a mano scrivendo un valore logico uno nel bit relativo; EICRA, i bit ISC01 e ISC00 (1 e 0) controllano il tipo di segnale su INT0 che può generare una interruzione (00= valore elettrico 0, 01 = un qualsiasi cambiamento di valore elettrico a livello logico, 10 = un fronte in discesa, 11= un fronte in salita). Gli interrupt su PCINT1 e 0 invece non sono configurabili e rilevano sempre ogni cambiamento di stato (fronti in salita e discesa); Due registri PCMSK1, PCMSK0 associati rispettivamente a PCINT1 e PCINT0 consentono di mascherare bit a bit i singoli piedini del microcontrollore, ed in particolare se il bit corrispondente viene messo a zero allora le interruzioni per quel pin sono disabilitate (in maniera analoga a PCIE, e GIE).

271 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica NOTA: il comportamento degli interrupt esterni non dipende dal fatto che il PIN medesimo sia configurato come di ingresso ovvero di uscita. Questa condizione consente di utilizzare lo stesso meccanismo come fonte per la generazione di interruzioni software. I Timer Le unità timer, in prima approssimazione servono per contare il tempo in termini di cicli macchina eseguiti dalla accensione del microcontrollore. In gergo queste unità vengono denominate Orologi, Contatori e generatori di onde a impulso perché come vedremo a seconda delle configurazioni lo stesso meccanismo interno sarà in grado di implementare tutte e tre le differenti funzionalità. Lo schema generale di questa periferica è rappresentato in figura: ESEMPIO TIMER 0 ATMEGA 169 OCR0, TCCR0 e TCNT0 sono tre registri del microcontrollore situati rispettivamente agli indirizzi 0x27, 0x24 e 0x26. Tuttavia per il programmatore non sarà necessario indirizzare direttamente questi registriin quanto il nostro Winavr avrà già provveduto a mapparli adeguatamente in variabili di memoria: /* General Timer/Counter Control Register */ #define GTCCR _SFR_IO8(0x23) /* Timer/Counter Control Register A */ #define TCCR0A _SFR_IO8(0x24) /* Timer/Counter Register */ #define TCNT0 _SFR_IO8(0x26) /* Output Compare Register A */ #define OCR0A _SFR_IO8(0x27)

272 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica La logica di controllo del sistema viene alimentata da una sorgente di temporizzazione interna (dal clock di sistema ridotto tramite un prescaler) oppure da un pin esterno T0 (PG4). La logica di controllo governa una unità contatore ilcui valore è sempre leggibile in TCNT0. A seconda del modo di conteggio impostato nella logica, il contatore viene azzerato, incrementato o decrementato ad ogni impulso in ingresso. Se l impulso è esterno questo corrisponde a utilizzare un contatore, se interno un timer. Le sequenze di conteggio e di generazione delle forme PWM vengono decise da quattro bit (COM0A1, COM0A0, WGM01 e WGM00) disponibili nel registro di controllo. Ad ogni ciclo di clock, il valore del contatore viene anche confrontato con il registro di controllo (OCR0A), e qualora il pin OCIE0A è posto a 1 viene conseguentemente generato un interrupt. In maniera analoga agli interrupt esterni, il flag OCF0A viene impostato e ripristinato durante le interruzioni. Il registro di controllo inoltre usa una tecnica di double buffer per far si che il valore di confronto venga aggiornato solo in corrispondenza di un confronto (top o bottom) e quindi per prevenire conteggi incompleti o non simmetrici (nel caso di onde PWM). La gestione del pin di uscita nel caso di utilizzo in PWM avviene mediante sovrascrittura del valore di uscita di PORT, prima del Data Direction Register, ciò ovviamente consente di utilizzare il DDR per abilitare in uscita il PWM. Modalità di operazione Il registro di controllo è composto dai seguenti 8 bit: BIT 7 FOC0A è un bit utile solo quando si una l unità in modalità non PWM, il suo significato logico è Force Output compare e serve per manipolare il tipo di forma d onnda in uscita (no interrupt, no reset del contatore). BIT 3,6 -> WGM1:0 corrispondono ai bit 3 e 6 (Fare attenzione all'ordine dei BIT) del registro di controllo del timer, essi definiscono quattro modi di operazione del Timer in base ai quali cambia il meccanismo di controllo del counter, la seguente tabella descrive le relative modalità: Modo Nome TOP Dbuffer TOV0 F Commento

273 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Normale 0xFF Imm MAX Il conteggio è sempre incrementale da 0 a 255, le variazioni di periodo possono essere fatte solo tramite prescaler eventualmente il bit TOV può essere usato com nono bit ma va messo a zero manualmente, con le unità di confronto ed overflow si possono generare interrupt regolari. 1 PWM Fasato Fcont= Fclock/256 0xFF TOP BOT Il PWM a correzione di Fase prevede un doppio conteggio per ogni ciclo e la possibilità di settare a 1 l uscita della forma d onda solo quando il conteggio ha un valore superiore nel confronto. Questa tecnica migliora leggermente la qualità di forma d onda in uscita in quanto simmetrica rispetto agli interrupt generati dal TOP, e quindi senza ritardi rispetto una eventuale procedura di controllo. 2 CTC OCR0 A Fcont= Fclock/510 Imm MAX Il conteggio è sempre crescente ma il timer viene azzerato su confronto con OCR0A. Per cui il periodo vale OCRA+1. Un interrupt può essere generato ad ogni confronto, la frequenza di conteggio vale pertanto: Fcont=Fclock/(N(1+OCR)) 3 FastPWM 0xFF TOP MAX Questa combinazione è simile al conteggio normale eccettuato il double buffering del registro di confronto e le funzionalità di settare il pin di uscita sul confronto e di resettarlo invece sul azzeramento. La frequenza di ciclo è ovviamente Fclock/(N*256) dove N è dato dal prescaler BIT 5,4 COM0A1, COM0A0 Questi bit regolano il comportamento del piedino in uscita, il preciso significato del comportamento dipende simultaneamente sia dal valore impostato che dal tipo di conteggio attivo, la seguente tabella riporta le modalità di funzionamento: V Non PWM (WGM=2,4) Fast PWM (WGM=3) PWM Fasato (WGM=1) 0 Piedino disconnesso Piedino disconnesso Piedino disconnesso 1 Inverti su confronto Riservato Riservato 2 0 su confronto 0 su confronto, 1 su TOP LVALUE(counter<OCR0A) 3 1 su confronto 1 su confronto, 0 su TOP LVALUE(counter>OCR0A) * LVALUE risultato del test logico 1 = true, 0 = false BIT 2:0 denominati CS2:0 servono per impostare il divisore del prescaler, valgono i seguenti valori (codificati ovviamente in binario nei rispettivi bit) Value Descrizione 0 Nessun clock ovvero unità disabilitata 1 Usa il clock di sistema (8 MHz nel caso del corso) 2 Clock / 8 (1 MHz) 3 Clock / 64 (125 KHz) 4 Clock / 256 (62.5 KHz) 5 Clock / 1024 (8KHz circa) 6 Fronti in discesa sul pin di ingresso T0 7 Fronti in salita sul pin di ingresso T0 Ovviamente il pin T0 può essere configurato come di uscita consentendo in questo modo un controllo diretto del conteggio. Altri byte di controllo sono: TCNT0 e OCR0A già ampiamente discussi. TIMSK0, registro ci controllo delle interruzioni per il timer 0, i bit 1 e 0 consentono rispettivamente di eseguire interruzioni sul confronto ovvero sulla condizione di o- verflow. I relativi indirizzi di esecuzone sono stati descritti nella sezione relativa alle interruzioni. Nel registro TIFR0 è rispettivamente possibile accedere ai flag di stato delle interruzioni.

274 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Uso del Prescaler Il prescaler è condiviso tra i vari moduli di Timer ma ognuno può disporre di impostazioni personalizzate che consentono 5 diverse configurazioni interne per il clock sorgente (N=1, 8, 64, 256, 1024). Il prescaler gira quindi liberamente in maniera indipendente dai timer, ciò significa che all attivazione il primo periodo può essere diverso dal numero di cicli attesi (soprattutto per N=256 e 1024) e può risultare opportuno l uso del prescaler rese per sincronizzare i periodi facendo attenzione però che un reset influenzerà tutti i timer/counters. Un registro unico consente il controllo del prescaler: il GTCCR (General Timer Counter control Register), il suo funzionamento segue: BIT 7 Timer Synchronizatiom mode (Azzera e ferma il contatore del prescaler mantenendo attivo il valore scritto in PSR2 e PSR10) BIT0 PSR10 (Prescaler Reset Timer Counter 1,0) quando messo a 1 azzera il prescaler counter, se usato in congiunzione con TSM può bloccare il contatore del prescaler. Estensione multi timer e 16 bits

275 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Modalità PWM COM Non PWM Fast PWM PWM Fasato 0 Piedino disconnesso Piedino disconnesso Piedino disconnesso 1 Inverti su confronto il pin relativo WGMxx= 15, OC1A è invertito su match e OC1B è disconnesso. In altri valori entrambi i pin sono disconnessi. WGMxx= 9 o 14, OC1A viene invertito su compare, OC1B è disconnesso. Altri valori hanno i pin disconnessi. 2 0 su confronto 0 su confronto, 1 su TOP LVALUE(counter<OCR1X) 3 1 su confronto 1 su confronto, 0 su TOP LVALUE(counter>OCR1X) Il convertitore ADC Quasi tutti i microcontrollori sono dotati di un convertitore analogico digitale integrato. La struttuare di operazione di queste interfacce viene descritta a partire dalla implementazione effetuata per i uc ATMEL:

276 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Lo schema del convertitore (per approssimazioni successive tramite DAC) è riportato in figura. La conversione fatta dalla logica utilizza un clock fornito da un prescaler. Il prescaler deve fornire un segnale al ADC che deve oscillare tre 50 e 200 KHz, valori più elevati riducono l accuratezza della conversione. Una conversione normale per 10 bit richiede 13 cicli di clock mentre la prima conversione (per poter inizializzare la circuitistica analogica) richiede circa 25 cicli di clock. Il circuiti di ingresso prevede un campionatore con sample e hold (SH) avente una resistenza serie ed una capacità per mantenere il valore del segnale. La presenza di questi due elementi in presenza di alte velocità di conversione limita il valore delle impedenze di ingresso che possano essere attaccata al pin (altrimenti non si riesce a caricare bene il condensatore).

277 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica La conversione presenta i valori che variano tra 0 e Vref dove Vref può essere un voltaggio fornito dall esterno oppure il voltaggio di riferimento interno (1.1Volt) Tipici registri di controllo: Reg Mod BIT7 BIT6 BIT5 BIT4 BIT3 BIT2 BIT1 BIT0 e ADMUX RW REFS1 REFS0 ADLAR MUX4 MUX3 MUX2 MUX1 MUX0 ADCSRA WR ADEN ADSC ADATE ADIF ADIE ADPS2 ADPS1 ADPS0 ADCH RW - / ADC9 - / ADC8 - / ADC7 - / ADC6 - / ADC5 - / ADC4 ADC9 / 3 ADC8 / 2 ADCL RW ADC7 / 1 ADC6 / 0 ADC5 / - ADC4 / - ADC3 / - ADC2 / - ADC1 / - ADC0 / - ADCSRB RW - ACME ADTS2 ADTS1 ADTS0 DIDR0 RW ADC7D ADC6D ADC5D ADC4D ADC3D ADC2D ADC1D ADC0D UBRRL RW UBR7 UBR6 UBR5 UBR4 UBR3 UBR2 UBR1 UBR0 Le porte seriali Quasi tutti i uc mettono a disposizione diverse porte seriali (sia sincrone che asincrone) per le comunicazioni con dispositivi remoti. In particolari due tipi principali di periferiche sono disponibli: le porte seriali sincrone di cui vedremo qualcosa più a- vanti (i2c, TWI, SPI) e le porte seriali asincrone. Nonostante la comune dicitura di porta seriale asincrona (UART) bisogna fare sempre attenzione ai livelli elettrici adottati nella implementazione (1.1V, 3.3V, 5V, - +12V) che rischiano di compromettere l integrità della periferica stessa. In questi casi sono necessarie delle interfacce che operino come traslatore di livello per la comunicazione sui livelli elettrici dell host remoto. In generale ogni porta seriale è composta di tre unità: il generatore di velocità, il trasmettitore ed il ricevitore.

278 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Lo schema prevede due moduli (uno di trasmissione e uno di ricezione) affiancati ad un generatore di temporizzazione.

279 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica I protocolli e le interfacce di comunicazione Le comunicazioni seriali Le comunicazioni seriali richiedono un minimo di due connessioni elettriche per comunicare dati in una direzione. Una linea dati (generalmente o di trasmissione o di ricezione) ed una linea per la massa. Lo standard più diffuso storicamente per le comunicazioni seriali è la RS232 anche se recentemente diversi standard elettronici più veloci ed affidabili si sono affermati. Lo standard RS-232 è uno degli standard storici per la comunicazione seriale tra periferiche e nasce dalla necessità di far comunicare telescriventi con sistemi modem. La sua specifica iniziale del 1962 prevedeva connessioni a bit al secondo su cavi di lunghezza di 20 mt, seguita nel 1969 dallo standard più diffuso chiamato RS-232C. Questo standard ha visto la sua diffusione principale con l introduzione nel primo PC dell IBM, e le sue evoluzioni più recenti del RS422/449 permettono di arrivare fino a 10Mbps su cavi di 2km. Nelle comunicazioni seriali le informazioni vengono passate dal dispositivo che trasmette al dispositivo che riceve un bit alla volta come valore logico/elettrico della linea di interconnessione. L informazione viene modulata come funzione del tempo discreta in accordo ad un grano temporale corrispondente alla durata di ciascun singolo bit. L inverso del tempo per trasmettere un bit (numero di bit per secondo) prende il nome di BAUD. La velocità di una connessione seriale viene quindi descritta in termini Il baud (rate). Storicamente queste interfacce furono inserite dalla IBM nei primi calcolatori elettronici, quindi nei primi personal computer (modello AT) nel 1980 circa, utilizzando un dispositivo denominato UART 8250 (universal Asynchronous Receiver Transmitter). La velocità di trasmissione dell UART 8250 può essere regolata in un campo frequenziale variabile da 110 a e nel suo modello successivo UART includeva frequenza complementari da a Le frequenze di una comunicazione seriale sono generalmente generate per divisione di frequenza da un clock principale, per cui non tutte le frequenze sono generalmente ottenibili ma solo quell corrispondenti a una divisione intera del clock principale, ad esempio per un clock principale pari a vale: Div Freq Div Freq Div Freq 1: : : : : : : : : : : La frequenza base di oscillazione in questi PC venica ottenuto da un quarzo oscillante a Mhz, nel caso del moltiplicato per 8 tramite un PLL. Oggi invece

280 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica (quando ancora presente) viene derivata (per approssimazione con PLL e divisori di frequenza) dalla frequenza base del bus di un PC. Generalmente le interconnessioni delle porte seriali sono definite su due connettori standard: il DB9 ed il DB 25, i cui segnali fondamentali sono: 2 TD 3 3 RD 2 4 RTS 7 5 CTS 8 6 DSR 6 7 GND 5 20 DTR 4 DB25 DB9

281 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Per un protocollo minimo di comunicazione basta utilizzare tre connessioni: il segnale di trasmissione, ilsegnale di ricezione (che vanno incrociati sui connettori) e la massa che deve essere portata a comune. Comunicazione a controllo di flusso Nel protocollo esteso di comunicazione seriale si possono usare i cavi aggiuntivi: RTS messo ad 1 dal DTE per inviare CLS è la risposta del DCE al RTS del DTE DTR è proposta del terminale per indicare di essere pronto a ricevere DSR è la risposta del DCE

282 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica In questo caso la porta seriale prevede l utilizzo delle linee accessorie per il controllo del flusso di comunicazoine. Il controllo del flusso della RS232 può avvenire secondo tre diverse modalità: Nessuno: in questo caso si cerca l inizio del bit di start sul canale di ricezione. Con questo sistema si usano solo 3 fili. Hardware: vengono usati i fili RTS/CTS per l invio dal DTE al DCE e DTR/DSR per la ricezione dal DCE Software XON/XOFF: si usano due caratteri 17 (CTRL+Q) e 19 (CTRL+S) per iniziare la La soluzione più semplice per l invio in RS232 consiste nell uso di soli tre fili RD/TD/GND Attesa del bit di start uguale a 0 Campionamento dei valori T0 + TB/2 + n TB Controllo del bit di parità 1 Controllo del bit di stop (1,1.5,2) di valore pari a 0 Quando si vuol connettere due periferiche (ad esempio due PC) si può procedere ad una configurazione Null-modem. La configurazione Null-modem può essere effettuata in vari modi a seconda del tipo di handshaking scelto, che può essere assente o completo, sulla base del tipo di comunicazione scelta e della velocità massima. La soluzione minimale senza handshaking è la seguente Segnali e livelli elettrici I livelli elettrici della RS232 sono compresi tra i 5 ed i 25 volt, ma i valori codificati assumono 5,10,12 e 15V. I bit vengono codificati con valori negativi per l 1 logico (marking) e valori positivi per lo 0 logico (spacing), mentre i valori vicini allo zero non sono associati a valori logici. Il numero di cavi dello standard è costituito da 22 con un connettore 25-pin D ma nella normale comunicazione tra personal computer solo 9 vengono usati e per questa ragione si è diffuso il connottore a 9 pin. Nella denominazione della RS232 si parla di DTE per Data Terminal Equipment e di DCE Data Communications Equipment, dove il DTE corrisponde al personal computer evoluzione dell antico typewriter ed il DCE corrisponde al modem.

283 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Il cui circuito elettrico equivalente è: Poichè I segnali elettrici (livelli di tensione) utilizzati sono molto maggiori rispetto ai livelli utilizzati nei dispositi digitali quali microcontrollori per poter adoperare correttamente la comunicazione seriale tra dispositivi integrati sono nati. In genere i segnali utilizzati dai sistemi digitali variano tra 0 e 5 V e non sono quindi direttamente compatibili con la standard EIA RS-232. In commercio esistono appositi traslatori di livello che hanno il compito di fornire sia in trasmissione che in ricezione gli opportuni livelli pur non modificando la forma del segnale trasmesso. Alcuni integrati (per esempio i classici MC1488 e MC1489, introdotti sul mercato dalla Motorola, rispettivamente un trasmettitore ed un ricevitore, ambedue a quattro canali) sono molto usati in sistemi in cui è presente (oltre all'alimentazione logica di 5 V o 3.3 V) un'alimentazione duale a +/- 12 V. Questo integrato, come praticamente tutti i circuiti di questo tipo, contiene un inverter per ciascun canale e quindi nel segnale in uscita o in ingresso uno zero logico appare come 0 volt, cioè in quella che a molti sembra essere la rappresentazione ovvia dei segnali digitali.

284 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica L'uso di questi integrati è semplice ma non è sempre attuabile a causa della necessità di disporre di tre alimentazioni: si pensi per esempio alle apparecchiature alimentate a batteria. Il MAX232 (ed integrati simili, fu introdotto dalla Maxim ma è attualmente prodotto da molte ditte di semiconduttori) è un circuito integrato che permette il collegamento tra logica TTL o CMOS a 5 V e le tensioni EIA RS-232, partendo solo da un'alimentazione a 5 V. Il protocollo di comunicazione Tutte le tramissioni seriali hanno incapsulato un protocollo per rendere più affidabile la comunicazione. In particolare il protocollo provvede un meccanismo di allineamento per far si che pur trasmettettendo in maniera completamente asincrona le due unità possano sincronizzarsi dirante la trasmissione ricezione. A tal fine ogni byte viene trasmesso in una sequenza più lunga e controllabile denominato FRAME e che in particolare comprende: un segnale elettrico aggiuntivo denominato START, un segnale elettrico terminale denominato STOP e un eventuale segnale di controllo denominato PARITY. Il segnale di start, nelle comunicazioni seriali deve assumere per convenzione il valore elettrico del segnale logico 0 (-12 per RS232, 0Volt per TTL). Il segnale di STOP deve viceversa assumere il valore elettrico logico 1 (5/12Volt). Questa prima convensione base assicura che prima di ogni inizio di trasmissione il valore elettrico della linea sia alto. E che a termine di ogni trasmissione la linea sia riportata sul valore logico alto.

285 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Per cui l inizio di una trasmissione può essere tracciata con la sola presenza di un bit di start. E la verifica della corretta terminazione dalla presenza dei rispettivi bit di STOP. Una eccezione a questa regola prova di norma nei dispositivi di comunicazione quello che si chiama Frame Error. Il bit di Parità è invece un bit di controllo che entra nel merito dei segnali trasmessi come conta dei segnali Accuratezza di trasmissione Uno dei problemi possibili nel caso della comunicazione seriale è costituito dalla precisione del baud rate. Si supponga che sorgente e destinazione abbiano due fonti di clock diverse che si discostano per un errore percentuale pari a delta. Sarà pertanto (1+delta) = T2/T1. I campionamenti del segnale sul ricevente (effettuati ai tempi T2, 2T2, 3T2, ) prvocheranno un errore di allineamento rispetto alla trasmissione pari a: T2-T1 =delta*t1 2*T2-2*T1 = 2* delta*t1 3*T2-3*T1 = 3* delta*t1 4*T2-4*T1 = 4* delta*t1 5*T2-5*T1 = 5* delta*t1 Errori via via crescenti man mano che il frame procede. E chiaro che l errore massimo sara` raggiunto sull ultimo bit (N=lunghezza del frame). E perché sia rispettata la condizioni di integrita` di ricezione dovrà essere : da cui delta * N* < T/2 delta <.5/N Nel caso dei microcontrollori tale errore va conteggiato per assicurarsi che sia trascurabile poichè il baudrate è stabilito attraverso una formula analitica collegata al timer (MCU) del controllore. Nel caso di una trasmissione tipo 8N1 (8bit no parity, 1 bit di stop) delta<5%. Inoltre per tener conto che anche la sorgente di trasmissione possa avere un errore percentuale bisognera tenersi lontano dal limite del 5%. Comunicazione con PC Windows Per utilizzare la porta seriale all interno di sistemi operativi non potremo accedere direttamente all Hardware ma dovremo fare uso di alcune delle funzioni di sistema. In particolare all interno di Windows èsarà necessario introdurre alcuni concetti e funzioni base. Il primo è quello di HANDLE. L handle è un descrittore che punta a una

286 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica struttura che a sua volta fa riferimento ad una risorsa del sistema operativo. Ogni operazione sulle periferiche gestite da Windows deve essere effettuata tramite opportuni HANDLE. L Handle in sostanza è uno strumento che viene usato per comunicare le operazioni desiderate su tale risorsa, La creazione di un Handle viene fatta con una procedura simile all apertura di un file di dati, quando si apre un file si ottiene un HANDLE della risorsa e la stessa viene riservata all utilizzo da parte del processo che ne ha fatto richiesta. La risorsa viene invece rilasciata quando l HANDLE viene chiuso. L Handle corrisponde al descrittore di file dei sistemi Unix con la differenza che non è un intero bensì un puntatore. La comunicazione con le porte seriali avviene attraverso specifici HANDLE che vengono individuati da stringhe di apertura univoche. CreateFile è la funzione di sistema che consente di inizializzare correttamente la risorsa ed ottenere un HANDLE di gestione. La stringa passata alla CreateFile, quando non corrispondente a un file reale sul sistema viene quindi interpretata come un percorso speciale che identifica una risorsa, quale COM1: per le porte seriali, CONIN$ e CONOUT$ per la console. Per aprire una porta in lettura: hfile = CreateFile("COM1: ", // open Serial Port 1 GENERIC_WRITE GENERIC_READ,// open for RW 0_SHARE_READ, // do not share NULL, // no security OPEN_EXISTING, // existing device only FILE_ATTRIBUTE_NORMAL, // normal file NULL); // no attr. template La gestione di tutte le porte seriali sotto Windows avviene attraverso l interfaccia file vista sopra specificando il file speciale COM#: dove il cancelletto deve essere sostituito dal numero di periferica seriale disponibile. Tale interfaccia funziona anche quando la porta seriale è virtuale, simulata cioè da un protocollo software che incapsula la trasmissione seriale su protocolli USB, Bluetooth, Ethernet o altro, e consente in questo modo di far vedere come seriali classiche interfacce che in effetti utilizzano protocolli diversi. In generale sarà sempre necessario impostare alcuni parametri di comunicazione prima di iniziare a trasmettere e/o ricevere. L impostazione di questi parametri può essere fatta tramite diverse procedure più o meno complicate, ed in particolare esse possono essere specificate tramite il comando SetCommState che accetta una struttura dati di tipo DCB contenente i parametri quali il baud rate, i bit di parità, dati e di start. Per semplificare l inizializzazione della DCB di può utilizzare la funzione BuildCommDCB che accetta una stringa. DCB settings; HANDLE hfile = CreateFile ("COM1:", GENERIC_READ GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0,NULL); BuildCommDCB("baud=57600 parity=n data=8 stop=1", &settings); SetCommState(hfile, &settings); Dove la frequenza BAUD deve essere nel campo dei sottomultipli interi di come identificato nella tabella di cui ai paragrafi precedenti.

287 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica La lettura di dati da seriale è bufferizzata, nel senso che il calcolatore si occupa tramite procedure ad interruzione di assicurarsi che un numero anche ampio di bytes possa essere trasmesso al calcolatore senza intervento alcuno da parte del programma di lettura, e questi essere poi letti di colpo tramite trasferimento diretto tra buffer di memoria nella memoria del programma di lettura. La lettura avviene attraverso la funzione ReadFile che accetta un HANDLE di file, un buffer di memoria dimensionato ed un puntatore dove memorizzare il numero di bytes letti. bresult= ReadFile(hFile, &inbuffer, nbytestoread, &nbytesread, NULL); Dove ovviamente il numero di bytes letti può essere inferiore alla richiesta qualora intervenga un timeout in lettura (SetCommTimeouts) e deve essere inferiore alla dimensione del buffer. Il comando di scrittura è simile: bresult= WriteFile(hFile,&outBuf,nBytesToWrite,&nBytesWritten,NULL); L accesso alle porte seriali può essere implementato anche in S-Function di Simulink tenendo presente che la lettura può risultare (qualora non diversamente programmata con tecniche specifiche) bloccante per tutto il processo di simulazione e che quindi potrebbe creare anche delle situazioni di deadlock. In generale bisognerà: Inizializzare la S-Function con mdlinitializesizes descrivendo ed associando le dimensioni dei dati da trasmettere/ricevere con quelle delle variabili di simulink e definire i tempi di campionamento opportuni con cui la trasmissione/ricezione debba essere eseguita; Aprire le porte nella mdlstart, che viene invocata all avvio del modello; Leggere e scrivere la seriale nelle funzioni mdloutputs e mdlupdate; Disattivare la trasmissione (CloseHandle) nella mdlterminate, quando termina l esecuzione del modello. L interfaccia JTAG JTAG è un acronimo per Joint Test Action Group, ed ad oggi risulta in un consorzio di più di 200 imprese costruttrici di circuiti stampati ed integrati. L idea alla base dello JTAG è qyella di definire un protocollo semplice e leggero per consentire di analizzare con test funzionali i dispositivi di controllo. Lo standard è omologato IEEE con il nome di IEEE In generale si dice che il JTAG è uno standard debole, in quanto il protocollo pur definendo in maniera accurata la sintassi di comunicazione di canale, lascia ampia libertà al costruttore di definire il contenuto delle informazioni passate. In questo modo risulta possibile interconnettere e diagnosticare più dispositivi anche di costruttori diversi tramite JTAG sebbene ognuno di essi richieda poi un diverso programma per la corretta interpretazione dei dati.

288 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Un dispositivo JTAG può essere acceduto dall esterno tramite quattro PIN la cui nomenclatura ed il cui comportamento fa parte dello standard: TMS: selezione del modo di test (Test Mode Select) TCK: Test clock utilizzato per operazioni di comunicazioni sincrone TDI: test data in. Linea seriale di input TDO: test data out. Linea seriale di output. (Fonte Wikipedia) La connessione avviene quindi in Daisy Chain. La trasmissione è di tipo seriale sincrona seguendo lo standard del protocollo SPI ed utilizza il CLOCK generato dal master che viene applicato contemporaneamente a tutti i dispositivi SLAVE. La frequenza di clock varia da 10 a 100 MHz per bit ed in generale viene determinata dal dispositivo più lento della catena. Lo standard JTAG prevede inoltre una linea aggiuntiva TRST non fornita su alcuni modelli per forzare la condizione di reset del dispositivo. Nei microcontrollori la JTAG non è sempre operativa perché gli stessi piedini potrebbero essere impiegati per scopi differenti, in questo caso, l abilitazione della componente JTAG deve essere programmata tramite la sezione fusibili (JTAGEN). Entrati nel modo di test JTAG in generale si può accedere ad ogni pin dei circuiti integrati e si può comandare il loro funzionamento, alterare il modo di uscita (I/O) cambiarne il valore, ciò anche per simulare come l uscita di un dispositivo alteri poi il funzionamento degli altri. Molte JTAG consentono inoltre una modalità diagnostica interna del dispositivo in generale chiamata Boundary Scan tramite la quale risulta possibile interrogare ed alterare sul dispositivo anche il comportamento dei registri interni (memoria, periferiche, interfacce, ). Ovviamente il dialetto del boundary scan è fortemente collega-

289 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica to con l implementazione da parte del costruttore e bisognerà utilizzare i suoi programmi oppure utilizzare la sua documentazione tecnica di supporto. Ogni dispositivo in standard JTAG deve avere: delle Boundari CEll associate ad ogni piedino di IO, uno scan PATH o una catena di scan che connette queste celle insieme in maniera seriale, 4/5 piedini addizionali per manovrare i segnali JTAG, una porta di accesso (TAP: test access port) per controllare i segnali JTAG durante il boundary testing, una macchine a stati finiti (in genre 16) che controllo le operazioni del JTAG. Alcune connessioni JTAG inoltre possono costituire in alcuni casi (sempre più frequenti) una porta di accesso riservata per programmare il firmware dei dispositivi (Flash/eeprom interne) oppure per intervenire in debugging sui programmi interni. Un esempio di come l architettura JTAG operi è riportata nella seguente figura: (fonte: Tutti i segnali tra il CHIP e la logica sono intercettati tramite alcuni registri di funzionamento chiamati Boundary SCAN Registers (BSR) e richiamati in figura come C0, C1, C2, C3, C4. In configurazione normale questi registri sono completamente trasparenti al sistema e diventano invisibili.

290 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Quando invece il dispositivo viene posizionato in JTAG test mode, i valori di ingresso e di uscita di questi registri possono essere alterati tramite operazione su alcuni multiplexer disposti nel sistema. È in particolare possibile alterare le abilitazione dei gates (three-states) per bailitare il registro a leggere o scrivere valori di IO su ogni singolo piedino del sistema. I vantaggi del Boundary Scan test includono la riduzione delle componenti elettroniche e dei punti di campionamento fisici per il test di una scheda (ogni singolo pin di un integrato JTAG può essere impiegato come oscilloscopio o generatore di segnale ad esempio), la possibilità di incrementare la complessita e la densità dei componenti su scheda, tempi di diagnostica ridotti per i problemi di integrazione Macchina a stati finiti per il controllo della porta JTAG Le proprietà e le capacità di ogni singola periferica JTAG sono fissate dal Boundary Scan Description Language (BSDL), una sintassi definita in alcuni file distribuiti dal produttore del dispositivo per essere impiegati nella generazione di algoritmi per le operazioni di boudary scan dei propri dispositivi.

291 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Initialization Requirements for Boundary Scan Test The F2833x DSPs use the JTAG port for boundary scan tests, emulation -- capability and factory test purposes. To use boundary scan test, -- the following pin configuration must be used: -- EMU1 = 0 -- EMU0 = 1 -- XRSn = 1 -- TRSTN = 0 -> 1 ( transitioning to a 1 will latch the device into -- boundary scan mode ) TRSTN is a reset to the JTAG state machine (active low), hence it has -- to be pulled high before any JTAG scans are made F33x Devices have two taps - one for the CPU and one for boundary scan. -- The boundary scan IR size is 3 bits Device Pins not testable by Boundary Scan The following pins cannot be tested through boundary scan: -- EMU0, EMU1, XCLKIN, X1, X2, TEST1, TEST2, XRSn and all the analog pins entity TMS320F28335 is generic(physical_pin_map : string := "ZJZ"); port ( OMISSIS OMISSIS OMISSIS ); ADCINA : linkage bit_vector(7 downto 0); ADCINB : linkage bit_vector(7 downto 0); ADCLO : linkage bit; GPIO32 : inout bit; GPIO33 : inout bit; GPIO34 : inout bit; GPIO9 : inout bit; TDI : in bit; TMS : in bit; TCK : in bit; TDO : out bit; TRSTn : in bit; EMU0 : in bit; use STD_1149_1_2001.all; -- Get IEEE attributes and definitions attribute COMPONENT_CONFORMANCE of TMS320F28335 : entity is "STD_1149_1_1993"; attribute PIN_MAP of TMS320F28335 : entity is PHYSICAL_PIN_MAP; constant ZJZ : PIN_MAP_STRING := "ADCINA :(K1,K2,L1,L2,L3,M1,M2,M3)," & "ADCINB :(N6,M6,N5,M5,N4,M4,N3,P3)," & "ADCLO : N2," & "ADCRESEXT: P6," & "ADCREFIN : P7," & "ADCREFP : P5," & "ADCREFM : P4," & "VDD : (D4,D5,D8,D9,E11,F4,F11,H4,J4,J11,K11,L8),"& "X2 : H14," & "XCLKIN : G13"; attribute TAP_SCAN_IN of TDI : signal is true; attribute TAP_SCAN_MODE of TMS : signal is true; attribute TAP_SCAN_OUT of TDO : signal is true; attribute TAP_SCAN_CLOCK of TCK : signal is ( e+06, BOTH); attribute TAP_SCAN_RESET of TRSTN : signal is true; attribute COMPLIANCE_PATTERNS of TMS320F28335 : entity is "( " & " EMU1," & " EMU0," & " XRSn ) "& " ( 011)";

292 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica attribute INSTRUCTION_LENGTH of TMS320F28335 : entity is 3; attribute INSTRUCTION_OPCODE of TMS320F28335 : entity is "extest (000)," & "bypass (111)," & "sample (001)," & "idcode (100)," & "highz (101)"; attribute INSTRUCTION_CAPTURE of TMS320F28335: entity is "001"; attribute IDCODE_REGISTER of TMS320F28335: entity is "0001" & -- Version Number " " & -- Part Number " " & -- Manufacturer ID "1"; -- Required by IEEE Std attribute REGISTER_ACCESS of TMS320F28335: entity is "BOUNDARY (extest, sample), " & "DEVICE_ID (idcode), " & "BYPASS (bypass, highz)"; attribute BOUNDARY_LENGTH of TMS320F28335 : entity is 268; attribute BOUNDARY_REGISTER of TMS320F28335 : entity is --- num cell port function safe [ccell disval rslt] "0 ( bc_4, GPIO30, input, X)," & "1 ( bc_1, GPIO30, output3, X, 2, 1, Z)," & "2 ( bc_1, *, control, 1)," & "3 ( bc_4, GPIO29, input, X)," & "4 ( bc_1, GPIO29, output3, X, 5, 1, Z)," & "5 ( bc_1, *, control, 1)," & "6 ( bc_4, GPIO0, input, X)," & "7 ( bc_1, GPIO0, output3, X, 8, 1, Z)," & "8 ( bc_1, *, control, 1)," & "9 ( bc_4, GPIO1, input, X)," & "10 ( bc_1, GPIO1, output3, X, 11, 1, Z)," & "264 ( bc_1, *, control, 1)," & "265 ( bc_4, GPIO31, input, X)," & "266 ( bc_1, GPIO31, output3, X, 267, 1, Z)," & "267 ( bc_1, *, control, 1)"; end TMS320F28335; Sunto TABELLA BSDL per l F28335 della TEXAS INSTRUMENTS I bus seriali: CAN, I2C e TWI Il numero crescente di sistemi di controllo distribuiti insieme con il costo crescente dei cablaggi ha nel corso degli ultimi 15 anni richiesto lo sviluppo di una tecnologia affidabile per la comunicazione e lo scambio di segnali e potenza tra le varie unità di controllo. Di conseguenza a partire dal 1989 alcuni ricercatori della BOSH svilupparono un protocollo poi standardizzato con ISO denominato CAN (Controller Area Network). Il primo dispositivo in grado di supportare il protocollo CAN fu l INTEL 82526, ad oggi comunque più di 110 implementazioni e controllori differenti sono disponibile da decine di costruttori differenti. Secondo le statistiche nel 2002 I chip venduti in grado di supportare il bus CAN sono stati più di 210 milioni. Ad oggi il CAN può essere considerato come uni degli stan-

293 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica dard seriali più diffusi per microcontrollori, da utilizzarsi in applicazioni di tipo embedded. Caratteristiche del protocollo CAN Oltre ovviamente alla sua disponibilità a basso costo il protocollo CAN offre una serie di funzionalità di alto livello: 8. Distribuzione dei messaggi con indirizzo. I messaggi sonoi inoltrati a tutti i nodi sul BUS ed ogni nodo può impostare dei filtri hardware o software per decidere se il messaggio sia di interesse per lui o meno. L identificatore di messaggio inoltre determina anche la sua priorità su rete e nei rispetti dell accesso del BUS consentendo in questo modo di trasmettere i messaggi ad alta priorità con latenze più ridotte. La lunghezza del identificatore varia da 11bit (2048 indirizzi) fino a 29bit (512Mindirizzi). 9. Trasmissioni multimaster: la trasmissione in un bus CAN può essere iniziata da ogni nodo nella rete fintantoché il BUS è quiesciente, questo significa che ogni nodo della rete può decidere di trasmettere con chiunque senza creare colli di bottiglia verso un nodo centrale. 10. Arbitraggio non distruttivo, un particolare algoritmo di sensing sui dati trasmessi (controllo effettivamente se ciò che trasmetto sia ciò che gli altri sentono) consente di determinare se vi siano conflitti sul bus e, grazie alla particolare codifica scelta per le priorità degli indirizzi, di risolvere i conflitti senza interrompere le trasmissioni ad alta priorità. Questo significa che i messaggi ad altissima priorità hanno una latenza massima di un pacchetto completo (130 bit). 11. Velocità di bus, il meccanismo di controllo dei conflitti,, associata alla velocità di trasmissione sulle linee del bus impongono una regola di velocità di trasmission integrata con la lunghezza del bus. Come regola di base per lunghezze superiori ai cento metri il prodotto lunghezza/velocità dati è costante ed è pari a 60 quando si considerino il baud rate espresso in Mbit e la lunghezza in metri. Ad esempio 1000 mt implica un baud rate di 60/1000= 0.06Mbit = 60Kbit/s. Lunghezze ridotte devono invece considerare anche i tempi di reazione dei chip sulla rete. 12. Formato dei messaggi: ogni pacchetto è costituito da un frame cosi descritto: Dominant Start 1bit Header/indirizzo Arbitration bit(richiesta/risposta ) Data fielda CRC End of Frame 11 bit 1 bit bit 15bit La lunghezza dei messaggi CAN viene determinata sulla base delle applicazioni specifiche Blocchi di dati più lunghi di 8 byte devono essere frammentati in più pacchetti, in questo modo il BUS riesce a garantire basse

294 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica latenze di trasmissione per messaggi ad alta priorità. Inoltre questo garantisce una migliore efficienza di trasmissione in ambienti ad alta rumorosità elettromagnetica. Per un BUS cablato a 1Mbit/sec il traferimento massimo di dati sul protocollo varia da 7.2 a 10 K pacchetti per secondo a seconda delle lunghezze dei pacchetti 4byte/8byte. Una delle caratteristiche più interessanti del protocollo è la sua capacità di identificare errori e di isolarli. In particolare il sistema è in grado di determinare nodi non funzionanti e di isolarli dalla rete. Infine il BUS CAN dispone di molti protocolli di alto livello basati su questa architettura iniziale. Alcuni dei più noti sono CANopen, DeviceNet, SDS utilizzato in applicazioni industriali, e CAL impiegato per applicazioni di comunicazione (standard SAE J1939). Il BUS I2C/TWI/SPI Il bus InterIntegratedCircuit, brevettato con il nome I2C è un bus per il controllo delle comunicazioni tra circuiti integrati. Esso è stato sviluppato dalla Philips nel 1980 per l interconnessionie di dispositivi di memoria (EEPROM) IO general purpose, convertitori AD e DA e CODEC di tutti i tipi. I bus SPI/TWI e I2C sono essenzialmente equivalenti, la distinzione maggiore è nel nome a cause dei termini di protezione legale posti dalla Philips sul I2C, per cui alcuni produttori evitano di utilizzarne il nome anche se elettricamente le specifiche dei due BUS sono completamente compatibili. La documentazione originale del bus I2C è disponibile al sito della Philips ( Questo Bus è costituito da due linee elettriche principali denominate SDA (serial Data) e SCL (serial Clock) ed una linea di massa (ovviamente). Tutti i dispositivi che utilizzano il bus sono connessi tramite un circuito di tipo open drain, in tal modo il bus va completato da un resistore di pull-up comune che deve essere dimensionato e- sternamente. La struttura open Drain consente a tutti i dispositivi connessi sul bus di poter intervenire sia come Master del bus sia come Slave. Il valore del resistore deve essere valutato in maniera tale da ricaricare adeguatamente le capacità di linea rispetto al tempo di clock della trasmissione, valori troppo bassi portano ovviamente ad alti consumi e probabilmente ad extracorrenti di drain che potrebbero danneggiare i dispositivi. Formule e valori devono quindi essere determinati in base ai valori dei cataloghi dei componenti interconnessi.

295 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Come per il CAN tutti i dispositivi sul bus possono interagire come Master o come slave. Come per il CAN i dispositivi hanno un indirizzo, questa volta di 7bit, i cui valori sono generalmente coordinati dalla Philips, e sono trasmessi sul bus per iniziare una comunicazione. I dispositivi sul bus sono inidirizzati trasmettendo questo indirizzo come primo byte della trasmissione (condizione di start). Il bit meno significativo indica se ciò che segue è una operazione di lettura o di scrittura sul bus in modo che lo slave si prepari a leggere o scrivere valori sul bus. Una opzione estesa del I2C consente di avere 10 bit di indirizzo. Il bus mette a disposizione tre velocità tipiche di comunicazione 100Kbps (modo standard), 400kbps (modo fast) e 3.4Mbps (modo high speed). Si tratta comunque solo di valori massimi non essendoci limite alcuno alla velocità minima di trasmissione. In commercio esistono numerosi dispositivi in grado di essre interconnessi come slave su bus TWI come le EEPROM della famiglia 24Cxx, ecco alcuni esempi dalla Philips: I²C Analog to Digital Converters PCF8591 PCF bit A/D and D/A, I²C bus buffers, real time clocks, Dip switch, Display drivers, General purpose IO, EEPROM, Lec controllers, microcontrollori, multiplexer, temperature sensor. Ogni periferica sul bus risponde a due possibili indirizzi consecutivi utilizzati uno er la scrittura e uno per la lettura. In gergo si parla quindi di 7 bit di indirizzamento e un bit che descrive l operazione. Nel caso più semplice un dispositivo master invia un pacchetto di tre byte: un indirizzo che contiene l informazione di lettura e/o di scrittura ed individua univocamente la periferica, un numero di registro locale che viene detto in gergo subaddress e che descrive l offset da scrivere / leggere, ed un byte indicante il valore. Ogni costruttore di periferica ha facoltà comunque di alterare la semantica con cui interpretare il valore dei byte dopo il byte di indirizzo. Tipicamente è quindi possibile avere al più 256 registri (subaddresses) a 16 o più bit. Alla ricezione di ogni byte la periferica risponde con un bit di conferma, in assenza del quale il master sospende la trasmissione. Nel casi di lettura, il master dopo avere inviato l indirizzo ed il subaddress pilota solo il clock (SCL) leggendo (e quindi trasformando la porta come porta di input) il valode dei dati. Dopo ogni byte il master in questo caso inviera un bit di conferma.

296 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Inviare un bit di start (S) 2. Inviare l indirizzo dello slave (7bit) 3. Inviare il bit lettura1/scrittura0 (1 bit) 4. Aspettare ACK 5. Inviare/Ricevere 8byte di servizio (DATA) 6. Aspettare/Inviare ACK secondo direzione 7. Sinviare codice di stop (1bit) La sequenza 5/6 può essere ripetuta in caso di trasferimento di blocchi multipli. Nel caso ini cui al master non servano più letture esso manda un non-ack (clock con linea alta) che indica allo Slave di smettere di trattenere la linea. Indirizzi particolari X Indirizzo generale (tutte le periferiche insieme) START byte Periferiche lente X CBUS address protocollo diverso X Riservato per bus di tipo differente X Riservato per estensioni future XX X Codice periferiche ad alta velocità XX X Riservato per estensioni XX X Indirizzamento a 10-bit Le condizioni di Start e Stop sono segnali unici che desono essere controllati solo dal Master del BUS. Alla ricezione della configurazione di Start tutti i dispositivi si resettano e sono pronti a rispondere anche se precedentemente pilotati in stato inconsistente. La condizione di Start è definita come Fronte in discesa dei data mentre il clock è alto. La condizione di Stop è definita come Fronte in salita della linea data mentre il clock è alto.

297 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Nei casi di comunicazione standard invece il clock è sempre basso mentre i dati vengono cambiati ei dati sono sempre costanti mentre avvengono i fronti (salita/discesa) del clock. In gergo si parlerà di Start ripetuto (SR) quando al posto di inviare uno stop si reinvia uno start. Il bit di conferma generato dal dispositivo che riceve indica l avvenuta ricezione, ma il clock viene sempre prodotto invece dal master del bus. Esempio Nel seguito considereremo di dover interfacciare il CHIP MMA 7455L avente interfaccia i2c/spi ed in grado di leggere l accelerazione biassiale nel campo 2/4/8g.

298 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Lo schema di funzionamento è rappresentato dal seguente diagramma a blocchi: E per focalizzarci sull aspetto di programazione nel seguito salteremo i dettagli sulla comprensione del funzionamento interno del dispositivo, della circuitistica di interconnessione e sul dimensionamento dei componenti. L interfaccia ha le seguenti modalità di sunzionamento: Test Selezione del campo di accelerazione Modo Standdy Modo misura

299 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica LDxx Enable Level detection PDxx Enable pulse detection INT1 interrupt assigned in Reg $18 INT2 Interrupt assigned by Reg $18 Mode: 0 STDBy, 1 Mesure, 2 Level Detect, 3 Pulse Detect GLV (GainLevel): 0 = 8g, 1=2g; 2=4g XDA,YDA,ZDA = X,Y,Z Disable LDPL = Level detection polarity 0 acc > Threshold, 1 acc<threshold THOPT= abs acceleration (0) or signed acceleration (1) threshold Ldth = Level detection threshold INTREG: 00 Registro memoriza il livello mentre INT2 gli impulse 01 Registro memorizza gli impulse mentre INT2 I livelli 02 Rileva i dippi impulsi Traduzione del protocollo digitale: I2C e SPI sono disponibili se CS e basso il modo è SPI se CS è alto il modo è i2c. Il dispositivo può operare solo come Slave ed il suo indirizzo è $1D. Possono essere possibili letture e scritture multiple. Non è supportato l indirizzamento a 10bit (una e- stensione del I2C).

300 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Lettura di un byte singolo Il chip ha un convertitore a 10 bit che può convertire e ritornare ogni dato dei sensori su richiesta. I Bit sono inviati sui fronti in discesa del clock. Il master inizia le comunicazioni inviando il codice di start (Pilota bassa la linea) Quindi di seguito l indirizzo ($1D) con il bit di scrittura messo a 0 per indicare una scrittura; il dispositivo risponde con un impulso di conferma al termine del clock la linea dati è alta. Poi il Master scrive l indirizzo in 8 bit del registro che vuole leggere Altro impulso di conferma dal dispositivo. Quindi il master ripete il codice di start (SR-Pilota linea dati basso) Ancora il Master invia di nuovo l indirizzo del dispositivo ($1D) ma con il bit messo a 1 per indicare una lettura. Lo slave manda un bit di conferma quindi invia gli otto bit richiesti. La conferma finale da parte del master non è richiesta. Letture Multiple In modo lettura multipla il dispositivo incrementa automaticamente il valore del registro da ritornare dopo che un comando è stato ricevuto. Valgono pertanto tutti i passi per una lettura singola ma nel caso in cui un ACK venga prodotto dal master il dispositivo continua con i bytes successivi.

301 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Scritture singole e multiple Sono molto simili con inversione dei bit di WRITE, si allegano solo i diagrammi: Variante di comunicazione SPI Il modo di comunicazione SPI usa più linee per indicare la comunicazione tra master e slave. In particolare le linee sono 4: Chip Select (CS), Serial Data In (SDI), Serial Data Out (SDO) e Serial Clock (SCK/SPC). Le linee SDI/SDO possono essere combinate in opendrain. Nel modo SPI ogni trasmissione singola è costituita da una coppia di byte la cui direzione è individuata dal tipo di operazione (Lettura/scrittura). In caso di scrittura il master invia due byte. In caso di lettura invia un byte e legge il secondo. Lettura nel modo a 3 linee

302 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Scrittura (modo a 3 e 4 Linee) Lettura nel modo a 4 Linee. Utilizzare il dispositivo con Atmel / AVR Il micro Atmega 128 mette a disposizione sia un interfaccia SPI che una interfaccia TWI. Il protocollo di comunicazione rispetta quello visto per il dispositivo, il Master inizia la comunicazione portando giù la linea /SS dello slave desiderato quindi master e slave preparano i dati tra MISO e MOSI (Master Out Slave In) scambiandosi il byte. Se l ATMEL viene configurato come Master non ha nessun controllo sulla linea SS che deve essere gestita direttamente dal codice utente prima di trasmettere un dato. Se invece il micro è configurato come Slave SCLK è una linea di ingresso ed il suo clock viene mascherato con /SS (NAND). La comunicazione in uscita (quando master) avviene con la scrittura di un byte nel registro dati. Possono essere trasmessi più byte, ma dopo ogni pacchetto il master potrà sincroniccare lo slave alzando la linea SS. Ciò consente di segnalare che la trasmissione è finita ovvere di ripristinare la comunicazione corretta in caso di disallineamento di pacchetto.

303 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Come per la trasmissione seriale vi è un coda di I/O che previene l interruzione di trasmissione. Tale coda è singola in uscita e doppia in entrata. Sarà comunque necessario che il dato in ingresso sia letto prima che il byte successivo sia completamente trasferito. La velocità massima di trasmissione è ben più elevata di quella della interfaccia seriale e può arrivare se la periferica slave lo consente finao alla metà del clock del processore. Essendo sincrona la comunicazione in questo caso non sarà necessaria una perfetta temporizzazione del clock di sistema (esempio tramite quarzi). Il sistema supporta anche una connessione a soli tre fili usando una sola linea (in questo caso open drain) per la trasmissione dati.

304 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Nelle interfacce seriali sincrone si è molto importante definire quando i dati sono resi disponibili sulla linea e quando invece questi vengono campionati. Si introducono pertanto due termini: Leading and Trailing. Essendoci infatti due diverse tipologie di operazioni da eseguire, e due diverse polarità attribuibili al segnale di clock, la comunicazione è producibile in 4 modi diversi secondo la seguente tabella. Perché master e slave comunichino correttamente è necessario essi effettuino fasi di setup e sampling coordinate. I registri di controllo: Reg Mode BIT7 BIT6 BIT5 BIT4 BIT3 BIT2 BIT1 BIT SPCR RW SPIE SPE DORD MSTR CPOL CPHA SPR1 SPR0 SPSR WR SPIF WCOL SPI2X DPIDR RW Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 SPIE: Interrupt Enable SPE: Device Enable DORD: Data Order (1=LSB first) WCOL: Write Collision CPOL: Clock polarity Vedi Tabella CPHA: Clock Phase Vedi Tabella SPI2X/SPR1/SPR0: Fosc / (0 4, 1 16, 2 64, 3 128, 4 2, 5 8, 6 32, 7 64)

305 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Two Wire Serial Interface L interfaccia TWI a due linee di ATMEL consiste sostanzialmente in SDA e SCL così come definito per I2C ed essenzialmente con una modalità di funzionamento quasi identica. Nella modalità TWI tutti i pacchetti dati sono costituiti da 9 bit corrispondenti a 8bit dati + un ACK oppure 7 bit indirizzo, 1 bit di direzione e un bit di ACK. Per cui per ogni trasmissione di pacchetto il clock darà sempre 9 impulsi. Il protocollo consente quindi di gestire fino a 128 dispositivi differenti in una topologia di bus. La frequenza massima di funzionamento dipende dalla capacità dei dispositivi sul BUS, dal numero di dispositivi massimo e dalla resistenza esterna di pull-up (R1/R2). La capacità massima tollerabile per ottenere i 400MHz di specifica dell I2C High Speed è di 400pF.

306 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Lo schema di funzionamento logico questa volta include un address detector che reagisce solo quando sia stato correttamente verificato l indirizzo di periferica (nel caso l unità sia programmata come Slave). La velocità di trasmissione è invece determinata da una formula: Tutte le interazioni avvengono a interruzione e/o a controllo di programma secondo il seguente schema logico: I registri del TWI Reg Mode BIT7 BIT6 BIT5 BIT4 BIT3 BIT2 BIT1 BIT TWBR RW Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 TWCR WR TWINT TWEA TWSTA TWSTO TWWC TWEC - TWIE TWSR RW TWS7 TWS6 TWS5 TWS4 TWS3 - TWPS1 TWPS0 TWDR RW Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 TWAR RW Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 TWCGE TWBR: Bit rate register (vedi la formula) TWINT: Interrupt flag TWEA: Enable Acknowledge TWSTA: Start condition bit TWSTO: Stop condition bit TWWC: Write collision Flag TWEN: Enable TWIE: Interrupt Enable TWS: Status map register for control flow

307 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica TWDR/TWAR: Address and Write Registers TWCGE General Call register. Receiver mode Esempio in codice C TWCR = (1<<TWINT) (1<<TWSTA) (1<<TWEN); // send a start While (!(TWCR&(1<<TWINT))); // Wait transmission of the start If ((TWSR&0xF8)!=START) ERROR(); // Status register should confirm the start TWDR = SLA_W; TWCR = (1<<TWINT) TWEN); Load Address and clear TWINT to start ADDR transmit While (!(TWCR&(1<<TWINT))); // Wait TWINT to confirm correct transmission If ((TWSR&0xF8)!=MT_SLA_ACK) ERROR(); // Status register should confirm ADDR Ack TWDR = DATA; TWCR = (1<<TWINT) TWEN); Load Address and clear TWINT to start DATA transmit While (!(TWCR&(1<<TWINT))); // Wait TWINT to confirm correct transmission If ((TWSR&0xF8)!=MT_DATA_ACK) ERROR(); // Status register should confirm ADDR Transmitter mode

308 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Altri tipi di Bus PCI (Peripheral Component Interconnect Bus) Bus di sistema tipico dei PC ma attualmente utilizzato anche da altre architetture (Apple, Sun,...). Il protocollo del Bus è proprietario ovvero bisogna pagare il consorzio per avere le specifiche e per poter sviluppare prodotti commerciali che lo utilizzino. Il BUS è stato sviluppato dalla Intel nel 1992 come evoluaizon del bus ISA. Attualmente esistono diverse versioni del BUS che nel corso degli anni sono state via via perfezionate: PCI, PCI 2.0, PCI 2.1, PCI 2.2, PCI-X, PCI-X DDR , PCI-E linee dati-indirizzi (sovrapposte) (multiplexed) Clock a MHz. Alimentazione 5 3,3 volts. Il trasferimento che avviene attraverso un bus PCI è un "burst", composto da una fase di indirizzamento e da una o più fasi di dato. L'uso e lo sviluppo di dispositivi basati su questo tipo di bus richiede tipicamente l'impiego di un chip denominato Arbitro da saldardi sulla vostra scheda di espansione

309 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica ed in gradi di maneggiare tutte le informazioni provenienti dal PC in accordo con lo standard supportato. Uno dei vantagi del protocollo è lapossibilità di poter impiegare sistemi basati su questo tipo di dispositivo come se il loro spazio di indirizzamento non appartenesse ad uno spazio di IO ma fosse parte integrante della memoria del vostro sistema. Questo viene fatto automaticamente dal sistema operativo tramite una interrogazione del vostro arbitro di BUS. Il PCI è anche disponibile tramite una serie di varianti industriali quali il PCI X, il PXI, il compactpci ed il PCIexpress. Il PCI X è un 'evoluzione del PCI con banda fino a 4 Gbyte al secondo. Pur avendo prestazioni molto più elevate del PCI è retrocompatibile con le periferiche PCI e quindi permette il riutilizzo delle schede PCI. Il PCI Express è in realtà un bus seriale che verrà utilizzato per sostituire il bus AGP fino ad ora in uso per le schede grafiche. Chiamato PCI-Express e' in genere abbreviato in PCIe o PCIx. L'architettura e' completamente differente dal bus PCI classico. Un canale PCIe (detto x1) ha una banda disponibile di 266 MBytes/sec. Ma un dispositivo potrà utilizzare fino a 16 canali PCIe per una banda complessiva di circa 4GBytes/sec (il doppio del bus AGP 8x). USB (Universal Serial Bus) L' USB è nato come bus per il collegamento di periferiche originariamente. Il BUS è statto progettato nella sua versione originale nel 1995 da un consorzio di imprese Compact, HP, Intel, Lucent, Microsoft, Nec, Philips, al fine di sostituire tramite questo bus monitor, tastiera e gli altri dispositivi (HCI) utilizzabili per fornire informazioni al sistema. La versione 1.0 aveva prestazioni massime di 1.5 Mbit al secondo e la caratteristica di implementare per la prima volta un protocollo PnP (Plug and Play) mediante il quale il sistema operativo era in grado di rilevare la connessione a caldo di dispositivi e di configurare automaticamente gli opportuni driver necessari per il controllo del dispositivo. Questo tipo di Bus ha una struttura topologica ad albero dove dal nodo radice (il computer) risulta possibile tramite opportuni HUB connettersi a una molteplicità di nodi di servizio ognuno dei quali viene indirizzato tramite una coppia di valori univoci. Il supporto comprende anche la possibilità di alimentare i dispositivi esterni (a 5V) tramite una corrente massima pari a 500mA). Il BUS ha un cavo composto da 4 conduttori: massa, alimentazione (5V), Dati+, Dati-.

310 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica La lunghezza dei cavi è limitata per lo standard a 5 metri per il protocollo FULL speed, e la potenza nominale assorbibile da ogni slot è di 100mA, mentre una porta può in generale provvedere fino a 5 slot di potenza 500mA. Nelle versione più recenti tale limite è stato superato (usb come ricarica di cellulari). Gli sviluppi succssivi del BUS hanno portato a versioni sempre più veloci (FULL SPEED and HIGH SPEED) la cui larghezza di banda risulta pari a: * USB 1.0 LOW SPEED: 1.5 Mbit/s; * USB 1.1 FULL SPEED: 12 Mbit/s; * USB 2.0 HIGH SPEED: 480 Mbit/s. * USB 3.0 XXXX Il sistema operativo è in grado di identificare automaticamente quale protocollo il dispositivo remoto sia in grado di implementare tramite la presenza di una coppia di impedenze standard tra massa, alimentazione e le linee di dati. Attualmente molte famiglie di microcontrollori implementano periferiche integrate per la gestione del BUS usb nella versione 1.0 e 1.1. Per accedere alla versione 2.0 sarà invece necessario progettare un sistema tramite un microcontrollore dedicato ovvero tramite una FPGA. I fronti in salita e discesa dei dati sono utilizzadi per mantenere la sincronia tra i pacchetti. Siccome una stringa continua di bit costanti potrebbe non generare più fronti lo standard specifica línserimento di bit di interruzione (cambiamenti di valore) in questi casi. In questo caso un bit, denominato stuffed bit viene aggiunto alla trasmissione. Per poter funzionare il trasmettitore ed il ricevitore devono sempre rimaner in sincronia. La comunicazione comincia con un byte di sincronia (80H) seguito da un identificatore di pacchetto (PID). Una volta attivata la comunicazione ci sono diversi tipi di pacchetti spedibili:

311 Carlo Alberto Avizzano, Laboratorio di Meccanica e Meccatronica Fonte UMBC, University of Maryland Ogni pacchetto ha una lunghezza massima limitata e un controllo numerico sulla correttezza per evitare errori di sincronia. Il bus ISA e PC104 Lo sviluppo di sistemi meccatronici non sempre viene effettuato tamite la programmazione di ucontrollori. Talora, quando i prerequisiti di sistema lo richiedano ed in funzione degli obiettivi di prestazione, portabilità, le soluzioni adottate possono essere più complesse fino a richiedere l'impiego di interi computer miniaturizzati. Ad esempio nel caso di impianti industriali e/o nello sviluppo di sistemi complessi o di grosse dimensioni (centrali elettriche, porti, sistemi di automazione di azienda, simulatori) dove i volumi di unità da produrre sono abbastanza contenuti, l impiego di tecnologie di tipo embedded basate su microcontrollori risulta alquanto onerosa rispetto ai margini di guadagno. Il costo di sviluppo di ogni sistema sarà infatti determinato dal bilanciamento di più fattori: Il costo dei componenti elettronici Il costo di interfacciamento delle unità Il costo di progettazione Il costo di manutenzione e sviluppo Il costo di riconfigurazione.

GIROSCOPIO. Scopo dell esperienza: Teoria fisica. Verificare la relazione: ω p = bmg/iω

GIROSCOPIO. Scopo dell esperienza: Teoria fisica. Verificare la relazione: ω p = bmg/iω GIROSCOPIO Scopo dell esperienza: Verificare la relazione: ω p = bmg/iω dove ω p è la velocità angolare di precessione, ω è la velocità angolare di rotazione, I il momento principale d inerzia assiale,

Dettagli

. Si determina quindi quale distanza viene percorsa lungo l asse y in questo intervallo di tempo: h = v 0y ( d

. Si determina quindi quale distanza viene percorsa lungo l asse y in questo intervallo di tempo: h = v 0y ( d Esercizio 1 Un automobile viaggia a velocità v 0 su una strada inclinata di un angolo θ rispetto alla superficie terrestre, e deve superare un burrone largo d (si veda la figura, in cui è indicato anche

Dettagli

Modulo di Meccanica e Termodinamica

Modulo di Meccanica e Termodinamica Modulo di Meccanica e Termodinamica 1) Misure e unita di misura 2) Cinematica: + Moto Rettilineo + Moto Uniformemente Accelerato [+ Vettori e Calcolo Vettoriale] + Moti Relativi 3) Dinamica: + Forza e

Dettagli

Forza. Forza. Esempi di forze. Caratteristiche della forza. Forze fondamentali CONCETTO DI FORZA E EQUILIBRIO, PRINCIPI DELLA DINAMICA

Forza. Forza. Esempi di forze. Caratteristiche della forza. Forze fondamentali CONCETTO DI FORZA E EQUILIBRIO, PRINCIPI DELLA DINAMICA Forza CONCETTO DI FORZA E EQUILIBRIO, PRINCIPI DELLA DINAMICA Cos è una forza? la forza è una grandezza che agisce su un corpo cambiando la sua velocità e provocando una deformazione sul corpo 2 Esempi

Dettagli

Soluzione degli esercizi sul moto rettilineo uniformemente accelerato

Soluzione degli esercizi sul moto rettilineo uniformemente accelerato Liceo Carducci Volterra - Classe 3 a B Scientifico - Francesco Daddi - 8 novembre 00 Soluzione degli esercizi sul moto rettilineo uniformemente accelerato Esercizio. Un corpo parte da fermo con accelerazione

Dettagli

Esercizi sul moto rettilineo uniformemente accelerato

Esercizi sul moto rettilineo uniformemente accelerato Liceo Carducci Volterra - Classe 3 a B Scientifico - Francesco Daddi - 8 novembre 010 Esercizi sul moto rettilineo uniformemente accelerato Esercizio 1. Un corpo parte da fermo con accelerazione pari a

Dettagli

Aprile (recupero) tra una variazione di velocità e l intervallo di tempo in cui ha luogo.

Aprile (recupero) tra una variazione di velocità e l intervallo di tempo in cui ha luogo. Febbraio 1. Un aereo in volo orizzontale, alla velocità costante di 360 km/h, lascia cadere delle provviste per un accampamento da un altezza di 200 metri. Determina a quale distanza dall accampamento

Dettagli

Q 1 = +3 10-5 C carica numero 1 Q 2 = +4 10-5 C carica numero 2 forza esercitata tra le cariche distanza tra le cariche, incognita

Q 1 = +3 10-5 C carica numero 1 Q 2 = +4 10-5 C carica numero 2 forza esercitata tra le cariche distanza tra le cariche, incognita Problema n 1 A quale distanza, una dall'altra bisogna porre nel vuoto due cariche (Q 1 =3 10-5 C e Q 2 =4 10-5 C) perché esse esercitino una sull'altra la forza di 200 N? Q 1 = +3 10-5 C carica numero

Dettagli

V= R*I. LEGGE DI OHM Dopo aver illustrato le principali grandezze elettriche è necessario analizzare i legami che vi sono tra di loro.

V= R*I. LEGGE DI OHM Dopo aver illustrato le principali grandezze elettriche è necessario analizzare i legami che vi sono tra di loro. LEGGE DI OHM Dopo aver illustrato le principali grandezze elettriche è necessario analizzare i legami che vi sono tra di loro. PREMESSA: Anche intuitivamente dovrebbe a questo punto essere ormai chiaro

Dettagli

TECNICO SUPERIORE PER L AUTOMAZIONE INDUSTRIALE

TECNICO SUPERIORE PER L AUTOMAZIONE INDUSTRIALE ISTRUZIONE E FORMAZIONE TECNICA SUPERIORE SETTORE INDUSTRIA E ARTIGIANATO TECNICO SUPERIORE PER L AUTOMAZIONE INDUSTRIALE STANDARD MINIMI DELLE COMPETENZE TECNICO PROFESSIONALI DESCRIZIONE DELLA FIGURA

Dettagli

Forze come grandezze vettoriali

Forze come grandezze vettoriali Forze come grandezze vettoriali L. Paolucci 23 novembre 2010 Sommario Esercizi e problemi risolti. Per la classe prima. Anno Scolastico 2010/11 Parte 1 / versione 2 Si ricordi che la risultante di due

Dettagli

Cap 3.1- Prima legge della DINAMICA o di Newton

Cap 3.1- Prima legge della DINAMICA o di Newton Parte I Cap 3.1- Prima legge della DINAMICA o di Newton Cap 3.1- Prima legge della DINAMICA o di Newton 3.1-3.2-3.3 forze e principio d inerzia Abbiamo finora studiato come un corpo cambia traiettoria

Dettagli

9. Urti e conservazione della quantità di moto.

9. Urti e conservazione della quantità di moto. 9. Urti e conservazione della quantità di moto. 1 Conservazione dell impulso m1 v1 v2 m2 Prima Consideriamo due punti materiali di massa m 1 e m 2 che si muovono in una dimensione. Supponiamo che i due

Dettagli

Controlli Automatici T. Trasformata di Laplace e Funzione di trasferimento. Parte 3 Aggiornamento: Settembre 2010. Prof. L.

Controlli Automatici T. Trasformata di Laplace e Funzione di trasferimento. Parte 3 Aggiornamento: Settembre 2010. Prof. L. Parte 3 Aggiornamento: Settembre 2010 Parte 3, 1 Trasformata di Laplace e Funzione di trasferimento Prof. Lorenzo Marconi DEIS-Università di Bologna Tel. 051 2093788 Email: lmarconi@deis.unibo.it URL:

Dettagli

Problemi di dinamica del punto materiale (moto oscillatorio) A Sistemi di riferimento inerziali

Problemi di dinamica del punto materiale (moto oscillatorio) A Sistemi di riferimento inerziali Problemi di dinamica del punto materiale (moto oscillatorio) A Sistemi di riferimento inerziali Problema n. 1: Un corpo puntiforme di massa m = 2.5 kg pende verticalmente dal soffitto di una stanza essendo

Dettagli

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI Indice 1 Le frazioni algebriche 1.1 Il minimo comune multiplo e il Massimo Comun Divisore fra polinomi........ 1. Le frazioni algebriche....................................

Dettagli

Forze, leggi della dinamica, diagramma del. 28 febbraio 2009 (PIACENTINO - PREITE) Fisica per Scienze Motorie

Forze, leggi della dinamica, diagramma del. 28 febbraio 2009 (PIACENTINO - PREITE) Fisica per Scienze Motorie Forze, leggi della dinamica, diagramma del corpo libero 1 FORZE Grandezza fisica definibile come l' agente in grado di modificare lo stato di quiete o di moto di un corpo. Ci troviamo di fronte ad una

Dettagli

L EQUILIBRIO UNIVERSALE dalla meccanica celeste alla fisica nucleare

L EQUILIBRIO UNIVERSALE dalla meccanica celeste alla fisica nucleare L EQUILIBRIO UNIVERSALE dalla meccanica celeste alla fisica nucleare Cap.4 giroscopio, magnetismo e forza di Lorentz teoria del giroscopio Abbiamo finora preso in considerazione le condizionidi equilibrio

Dettagli

Progetto La fisica nelle attrazioni Attrazione NIAGARA Dati Utili

Progetto La fisica nelle attrazioni Attrazione NIAGARA Dati Utili Progetto La fisica nelle attrazioni Attrazione NIAGARA Dati Utili Angolo di risalita = 25 Altezza massima della salita = 25,87 m Altezza della salita nel tratto lineare (fino all ultimo pilone di metallo)

Dettagli

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. Algoritmi 1 Sommario Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. 2 Informatica Nome Informatica=informazione+automatica. Definizione Scienza che si occupa dell

Dettagli

APPUNTI SU PROBLEMI CON CALCOLO PERCENTUALE

APPUNTI SU PROBLEMI CON CALCOLO PERCENTUALE APPUNTI SU PROBLEMI CON CALCOLO PERCENTUALE 1. Proporzionalità diretta e proporzionalità inversa Analizziamo le seguenti formule Peso Lordo = Peso Netto + Tara Ricavo = Utile + Costo Rata = Importo + Interesse

Dettagli

Cosa determina il moto? Aristotele pensava che occorresse uno sforzo per mantenere un corpo in movimento. Galileo non era d'accordo.

Cosa determina il moto? Aristotele pensava che occorresse uno sforzo per mantenere un corpo in movimento. Galileo non era d'accordo. Introduzione Cosa determina il moto? Aristotele pensava che occorresse uno sforzo per mantenere un corpo in movimento. Galileo non era d'accordo. riassunto Cosa determina il moto? Forza - Spinta di un

Dettagli

POLITECNICO DI TORINO

POLITECNICO DI TORINO NEWSLETTER N2 - I dispositivi elettronici posti a protezione degli operatori E stato indicato nella precedente newsletter che la sicurezza degli operatori in un contesto industriale è affidata a una catena

Dettagli

LE TORRI: DISCOVERY e COLUMBIA

LE TORRI: DISCOVERY e COLUMBIA LE TORRI: DISCOVERY e COLUMBIA Osservazioni e misure a bordo Le tue sensazioni e l accelerometro a molla 1) Nelle due posizioni indicate dalle frecce indica le sensazioni ricevute rispetto al tuo peso

Dettagli

Energia e Lavoro. In pratica, si determina la dipendenza dallo spazio invece che dal tempo

Energia e Lavoro. In pratica, si determina la dipendenza dallo spazio invece che dal tempo Energia e Lavoro Finora abbiamo descritto il moto dei corpi (puntiformi) usando le leggi di Newton, tramite le forze; abbiamo scritto l equazione del moto, determinato spostamento e velocità in funzione

Dettagli

Usando il pendolo reversibile di Kater

Usando il pendolo reversibile di Kater Usando il pendolo reversibile di Kater Scopo dell esperienza è la misurazione dell accelerazione di gravità g attraverso il periodo di oscillazione di un pendolo reversibile L accelerazione di gravità

Dettagli

F S V F? Soluzione. Durante la spinta, F S =ma (I legge di Newton) con m=40 Kg.

F S V F? Soluzione. Durante la spinta, F S =ma (I legge di Newton) con m=40 Kg. Spingete per 4 secondi una slitta dove si trova seduta la vostra sorellina. Il peso di slitta+sorella è di 40 kg. La spinta che applicate F S è in modulo pari a 60 Newton. La slitta inizialmente è ferma,

Dettagli

Come visto precedentemente l equazione integro differenziale rappresentativa dell equilibrio elettrico di un circuito RLC è la seguente: 1 = (1)

Come visto precedentemente l equazione integro differenziale rappresentativa dell equilibrio elettrico di un circuito RLC è la seguente: 1 = (1) Transitori Analisi nel dominio del tempo Ricordiamo che si definisce transitorio il periodo di tempo che intercorre nel passaggio, di un sistema, da uno stato energetico ad un altro, non è comunque sempre

Dettagli

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione in virgola mobile

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione in virgola mobile Problemi connessi all utilizzo di un numero di bit limitato Abbiamo visto quali sono i vantaggi dell utilizzo della rappresentazione in complemento alla base: corrispondenza biunivoca fra rappresentazione

Dettagli

Grandezze scalari e vettoriali

Grandezze scalari e vettoriali Grandezze scalari e vettoriali Esempio vettore spostamento: Esistono due tipi di grandezze fisiche. a) Grandezze scalari specificate da un valore numerico (positivo negativo o nullo) e (nel caso di grandezze

Dettagli

Esercitazione 5 Dinamica del punto materiale

Esercitazione 5 Dinamica del punto materiale Problema 1 Un corpo puntiforme di massa m = 1.0 kg viene lanciato lungo la superficie di un cuneo avente un inclinazione θ = 40 rispetto all orizzontale e altezza h = 80 cm. Il corpo viene lanciato dal

Dettagli

Transitori del primo ordine

Transitori del primo ordine Università di Ferrara Corso di Elettrotecnica Transitori del primo ordine Si consideri il circuito in figura, composto da un generatore ideale di tensione, una resistenza ed una capacità. I tre bipoli

Dettagli

13. Campi vettoriali

13. Campi vettoriali 13. Campi vettoriali 1 Il campo di velocità di un fluido Il concetto di campo in fisica non è limitato ai fenomeni elettrici. In generale il valore di una grandezza fisica assegnato per ogni punto dello

Dettagli

1. calcolare l accelerazione del sistema e stabilire se la ruota sale o scende [6 punti];

1. calcolare l accelerazione del sistema e stabilire se la ruota sale o scende [6 punti]; 1 Esercizio Una ruota di raggio R = 15 cm e di massa M = 8 Kg può rotolare senza strisciare lungo un piano inclinato di un angolo θ 2 = 30 0, ed è collegato tramite un filo inestensibile ad un blocco di

Dettagli

Capitolo 2. Operazione di limite

Capitolo 2. Operazione di limite Capitolo 2 Operazione di ite In questo capitolo vogliamo occuparci dell operazione di ite, strumento indispensabile per scoprire molte proprietà delle funzioni. D ora in avanti riguarderemo i domini A

Dettagli

Esame sezione Brevetti 2003-2004 Prova Pratica di meccanica

Esame sezione Brevetti 2003-2004 Prova Pratica di meccanica Esame sezione Brevetti 2003-2004 Prova Pratica di meccanica OGGETVO: Brevettazione dl un perfezionamento riguardante I pressatori per mescolatori dl gomma Egregio dottore, Le invio una breve relazione

Dettagli

Laboratorio di Meccanica e Meccatronica

Laboratorio di Meccanica e Meccatronica Università degli Studi di Pisa Appunti del corso di Laboratorio di Meccanica e Meccatronica Anno Accademico 2011-2012 Corso tenuto da Carlo Alberto Avizzano PERCRO-SSSA Versione: 1.13 Del 5 ott 2011 Carlo

Dettagli

Il concetto di valore medio in generale

Il concetto di valore medio in generale Il concetto di valore medio in generale Nella statistica descrittiva si distinguono solitamente due tipi di medie: - le medie analitiche, che soddisfano ad una condizione di invarianza e si calcolano tenendo

Dettagli

Introduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6

Introduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6 Appunti di Calcolatori Elettronici Esecuzione di istruzioni in parallelo Introduzione... 1 Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD...

Dettagli

DINAMICA DEL PUNTO MATERIALE E CONCETTO DI FORZA. Dinamica: studio delle forze che causano il moto dei corpi

DINAMICA DEL PUNTO MATERIALE E CONCETTO DI FORZA. Dinamica: studio delle forze che causano il moto dei corpi DINAMICA DEL PUNTO MATERIALE E CONCETTO DI FORZA Dinamica: studio delle forze che causano il moto dei corpi 1 Forza Si definisce forza una qualunque causa esterna che produce una variazione dello stato

Dettagli

LE FUNZIONI A DUE VARIABILI

LE FUNZIONI A DUE VARIABILI Capitolo I LE FUNZIONI A DUE VARIABILI In questo primo capitolo introduciamo alcune definizioni di base delle funzioni reali a due variabili reali. Nel seguito R denoterà l insieme dei numeri reali mentre

Dettagli

Programma dettagliato del corso di MECCANICA RAZIONALE Corso di Laurea in Ingegneria Civile

Programma dettagliato del corso di MECCANICA RAZIONALE Corso di Laurea in Ingegneria Civile Programma dettagliato del corso di MECCANICA RAZIONALE Corso di Laurea in Ingegneria Civile Anno Accademico 2015-2016 A. Ponno (aggiornato al 19 gennaio 2016) 2 Ottobre 2015 5/10/15 Benvenuto, presentazione

Dettagli

Amplificatori Audio di Potenza

Amplificatori Audio di Potenza Amplificatori Audio di Potenza Un amplificatore, semplificando al massimo, può essere visto come un oggetto in grado di aumentare il livello di un segnale. Ha quindi, generalmente, due porte: un ingresso

Dettagli

a t Esercizio (tratto dal problema 5.10 del Mazzoldi)

a t Esercizio (tratto dal problema 5.10 del Mazzoldi) 1 Esercizio (tratto dal problema 5.10 del Mazzoldi) Una guida semicircolare liscia verticale di raggio = 40 cm è vincolata ad una piattaforma orizzontale che si muove con accelerazione costante a t = 2

Dettagli

2. Leggi finanziarie di capitalizzazione

2. Leggi finanziarie di capitalizzazione 2. Leggi finanziarie di capitalizzazione Si chiama legge finanziaria di capitalizzazione una funzione atta a definire il montante M(t accumulato al tempo generico t da un capitale C: M(t = F(C, t C t M

Dettagli

Automazione Industriale (scheduling+mms) scheduling+mms. adacher@dia.uniroma3.it

Automazione Industriale (scheduling+mms) scheduling+mms. adacher@dia.uniroma3.it Automazione Industriale (scheduling+mms) scheduling+mms adacher@dia.uniroma3.it Introduzione Sistemi e Modelli Lo studio e l analisi di sistemi tramite una rappresentazione astratta o una sua formalizzazione

Dettagli

IL RISPARMIO ENERGETICO E GLI AZIONAMENTI A VELOCITA VARIABILE L utilizzo dell inverter negli impianti frigoriferi.

IL RISPARMIO ENERGETICO E GLI AZIONAMENTI A VELOCITA VARIABILE L utilizzo dell inverter negli impianti frigoriferi. IL RISPARMIO ENERGETICO E GLI AZIONAMENTI A VELOCITA VARIABILE L utilizzo dell inverter negli impianti frigoriferi. Negli ultimi anni, il concetto di risparmio energetico sta diventando di fondamentale

Dettagli

La distribuzione Normale. La distribuzione Normale

La distribuzione Normale. La distribuzione Normale La Distribuzione Normale o Gaussiana è la distribuzione più importante ed utilizzata in tutta la statistica La curva delle frequenze della distribuzione Normale ha una forma caratteristica, simile ad una

Dettagli

Basi di matematica per il corso di micro

Basi di matematica per il corso di micro Basi di matematica per il corso di micro Microeconomia (anno accademico 2006-2007) Lezione del 21 Marzo 2007 Marianna Belloc 1 Le funzioni 1.1 Definizione Una funzione è una regola che descrive una relazione

Dettagli

Complementi di Analisi per Informatica *** Capitolo 2. Numeri Complessi. e Circuiti Elettrici. a Corrente Alternata. Sergio Benenti 7 settembre 2013

Complementi di Analisi per Informatica *** Capitolo 2. Numeri Complessi. e Circuiti Elettrici. a Corrente Alternata. Sergio Benenti 7 settembre 2013 Complementi di Analisi per nformatica *** Capitolo 2 Numeri Complessi e Circuiti Elettrici a Corrente Alternata Sergio Benenti 7 settembre 2013? ndice 2 Circuiti elettrici a corrente alternata 1 21 Circuito

Dettagli

Seconda Legge DINAMICA: F = ma

Seconda Legge DINAMICA: F = ma Seconda Legge DINAMICA: F = ma (Le grandezze vettoriali sono indicate in grassetto e anche in arancione) Fisica con Elementi di Matematica 1 Unità di misura: Massa m si misura in kg, Accelerazione a si

Dettagli

Consideriamo due polinomi

Consideriamo due polinomi Capitolo 3 Il luogo delle radici Consideriamo due polinomi N(z) = (z z 1 )(z z 2 )... (z z m ) D(z) = (z p 1 )(z p 2 )... (z p n ) della variabile complessa z con m < n. Nelle problematiche connesse al

Dettagli

Calcolo del Valore Attuale Netto (VAN)

Calcolo del Valore Attuale Netto (VAN) Calcolo del Valore Attuale Netto (VAN) Il calcolo del valore attuale netto (VAN) serve per determinare la redditività di un investimento. Si tratta di utilizzare un procedimento che può consentirci di

Dettagli

Matematica 1 - Corso di Laurea in Ingegneria Meccanica

Matematica 1 - Corso di Laurea in Ingegneria Meccanica Matematica 1 - Corso di Laurea in Ingegneria Meccanica Esercitazione su massimi e minimi vincolati 9 dicembre 005 Esercizio 1. Considerare l insieme C = {(x,y) R : (x + y ) = x } e dire se è una curva

Dettagli

TECNICHE DI SIMULAZIONE

TECNICHE DI SIMULAZIONE TECNICHE DI SIMULAZIONE INTRODUZIONE Francesca Mazzia Dipartimento di Matematica Università di Bari a.a. 2004/2005 TECNICHE DI SIMULAZIONE p. 1 Introduzione alla simulazione Una simulazione è l imitazione

Dettagli

Introduzione all analisi dei segnali digitali.

Introduzione all analisi dei segnali digitali. Introduzione all analisi dei segnali digitali. Lezioni per il corso di Laboratorio di Fisica IV Isidoro Ferrante A.A. 2001/2002 1 Segnali analogici Si dice segnale la variazione di una qualsiasi grandezza

Dettagli

Dimensione di uno Spazio vettoriale

Dimensione di uno Spazio vettoriale Capitolo 4 Dimensione di uno Spazio vettoriale 4.1 Introduzione Dedichiamo questo capitolo ad un concetto fondamentale in algebra lineare: la dimensione di uno spazio vettoriale. Daremo una definizione

Dettagli

APPLICATION SHEET Luglio

APPLICATION SHEET Luglio Indice 1. Descrizione dell applicazione 2. Applicazione - Dati 3. Selezione del prodotto e dimensionamento 4. Soluzione Motovario 1. Descrizione dell applicazione Gli schermi per campi da cricket fanno

Dettagli

28360 - FISICA MATEMATICA 1 A.A. 2014/15 Problemi dal libro di testo: D. Giancoli, Fisica, 2a ed., CEA Capitolo 6

28360 - FISICA MATEMATICA 1 A.A. 2014/15 Problemi dal libro di testo: D. Giancoli, Fisica, 2a ed., CEA Capitolo 6 28360 - FISICA MATEMATICA 1 A.A. 2014/15 Problemi dal libro di testo: D. Giancoli, Fisica, 2a ed., CEA Capitolo 6 Lavoro, forza costante: W = F r Problema 1 Quanto lavoro viene compiuto dalla forza di

Dettagli

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo. DALLE PESATE ALL ARITMETICA FINITA IN BASE 2 Si è trovato, partendo da un problema concreto, che con la base 2, utilizzando alcune potenze della base, operando con solo addizioni, posso ottenere tutti

Dettagli

Circuiti amplificatori

Circuiti amplificatori Circuiti amplificatori G. Traversi Strumentazione e Misure Elettroniche Corso Integrato di Elettrotecnica e Strumentazione e Misure Elettroniche 1 Amplificatori 2 Amplificatori Se A V è negativo, l amplificatore

Dettagli

Capitolo 13: L offerta dell impresa e il surplus del produttore

Capitolo 13: L offerta dell impresa e il surplus del produttore Capitolo 13: L offerta dell impresa e il surplus del produttore 13.1: Introduzione L analisi dei due capitoli precedenti ha fornito tutti i concetti necessari per affrontare l argomento di questo capitolo:

Dettagli

Corso di. Dott.ssa Donatella Cocca

Corso di. Dott.ssa Donatella Cocca Corso di Statistica medica e applicata Dott.ssa Donatella Cocca 1 a Lezione Cos'è la statistica? Come in tutta la ricerca scientifica sperimentale, anche nelle scienze mediche e biologiche è indispensabile

Dettagli

CIRCUITI OLEODINAMICI ELEMENTARI

CIRCUITI OLEODINAMICI ELEMENTARI CIRCUITI OLEODINAMICI ELEMENTARI Un esame sistematico dei circuiti completi, anche se limitato a pochi tipi di macchine e di attrezzature, sarebbe estremamente complesso e vasto. Il raggiungimento del

Dettagli

FAM. 1. Sistema composto da quattro PM come nella tabella seguente

FAM. 1. Sistema composto da quattro PM come nella tabella seguente Serie 11: Meccanica IV FAM C. Ferrari Esercizio 1 Centro di massa: sistemi discreti Determina il centro di massa dei seguenti sistemi discreti. 1. Sistema composto da quattro PM come nella tabella seguente

Dettagli

Dispensa di Informatica I.1

Dispensa di Informatica I.1 IL COMPUTER: CONCETTI GENERALI Il Computer (o elaboratore) è un insieme di dispositivi di diversa natura in grado di acquisire dall'esterno dati e algoritmi e produrre in uscita i risultati dell'elaborazione.

Dettagli

Strutturazione logica dei dati: i file

Strutturazione logica dei dati: i file Strutturazione logica dei dati: i file Informazioni più complesse possono essere composte a partire da informazioni elementari Esempio di una banca: supponiamo di voler mantenere all'interno di un computer

Dettagli

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux Scheduling della CPU Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux Sistemi multiprocessori Fin qui si sono trattati i problemi di scheduling su singola

Dettagli

PROGRAMMAZIONE DIDATTICA ANNUALE. SETTORE TECNOLOGICO Indirizzo: Elettrotecnica ed Elettronica

PROGRAMMAZIONE DIDATTICA ANNUALE. SETTORE TECNOLOGICO Indirizzo: Elettrotecnica ed Elettronica ISTITUTO TECNICO INDUSTRIALE STATALE Basilio Focaccia via Monticelli (loc. Fuorni) - Salerno PROGRAMMAZIONE DIDATTICA ANNUALE SETTORE TECNOLOGICO Indirizzo: Elettrotecnica ed Elettronica Anno scolastico:

Dettagli

La pista del mio studio Riflettiamo sulla pista. Guida per l insegnante

La pista del mio studio Riflettiamo sulla pista. Guida per l insegnante Riflettiamo sulla pista Guida per l insegnante Obiettivi educativi generali Compito di specificazione - possiede capacità progettuale - è in grado di organizzare il proprio tempo e di costruire piani per

Dettagli

SymCAD/C.A.T.S. modulo Canali Schema

SymCAD/C.A.T.S. modulo Canali Schema SymCAD/C.A.T.S. modulo Canali Schema Il modulo Ventilazione Standard permette di effettuare la progettazione integrata (disegno e calcoli) in AutoCAD di reti di canali aria (mandata e ripresa). Il disegno

Dettagli

GEOMETRIA DELLE MASSE

GEOMETRIA DELLE MASSE 1 DISPENSA N 2 GEOMETRIA DELLE MASSE Si prende in considerazione un sistema piano, ossia giacente nel pian x-y. Un insieme di masse posizionato nel piano X-Y, rappresentato da punti individuati dalle loro

Dettagli

Convertitori elettronici di potenza per i veicoli elettrici

Convertitori elettronici di potenza per i veicoli elettrici Trazione elettrica veicolare: stato dell arte ed evoluzioni future Convertitori elettronici di potenza per i veicoli elettrici Veicoli elettrici L aumento crescente del costo del combustibile e il problema

Dettagli

IL SISTEMA INFORMATIVO

IL SISTEMA INFORMATIVO LEZIONE 15 DAL MODELLO DELLE CONDIZIONI DI EQUILIBRIO AL MODELLO CONTABILE RIPRESA DEL CONCETTO DI SISTEMA AZIENDALE = COMPLESSO DI ELEMENTI MATERIALI E NO CHE DIPENDONO RECIPROCAMENTE GLI UNI DAGLI ALTRI

Dettagli

19 Il campo elettrico - 3. Le linee del campo elettrico

19 Il campo elettrico - 3. Le linee del campo elettrico Moto di una carica in un campo elettrico uniforme Il moto di una particella carica in un campo elettrico è in generale molto complesso; il problema risulta più semplice se il campo elettrico è uniforme,

Dettagli

(Esercizi Tratti da Temi d esame degli ordinamenti precedenti)

(Esercizi Tratti da Temi d esame degli ordinamenti precedenti) (Esercizi Tratti da Temi d esame degli ordinamenti precedenti) Esercizio 1 L'agenzia viaggi GV - Grandi Viaggi vi commissiona l'implementazione della funzione AssegnaVolo. Tale funzione riceve due liste

Dettagli

Piattaforma. HINOWA SPA Via Fontana - 37054 NOGARA - VERONA (ITALY) Tel. +39 0442 539100 Fax +39 0442 88790 mbighellini@hinowa.it - www.hinowa.

Piattaforma. HINOWA SPA Via Fontana - 37054 NOGARA - VERONA (ITALY) Tel. +39 0442 539100 Fax +39 0442 88790 mbighellini@hinowa.it - www.hinowa. HINOWA SPA Via Fontana - 37054 NOGARA - VERONA (ITALY) Tel. +39 044 53900 Fax +39 044 88790 . CARATTERISTICHE PRINCIPALI E UNICHE. PESO La LightLift 47 è la più leggera piattaforma aeree della sua categoria.

Dettagli

Corso di Matematica per la Chimica

Corso di Matematica per la Chimica Dott.ssa Maria Carmela De Bonis a.a. 203-4 I sistemi lineari Generalità sui sistemi lineari Molti problemi dell ingegneria, della fisica, della chimica, dell informatica e dell economia, si modellizzano

Dettagli

Guida Compilazione Piani di Studio on-line

Guida Compilazione Piani di Studio on-line Guida Compilazione Piani di Studio on-line SIA (Sistemi Informativi d Ateneo) Visualizzazione e presentazione piani di studio ordinamento 509 e 270 Università della Calabria (Unità organizzativa complessa-

Dettagli

Appunti sulla Macchina di Turing. Macchina di Turing

Appunti sulla Macchina di Turing. Macchina di Turing Macchina di Turing Una macchina di Turing è costituita dai seguenti elementi (vedi fig. 1): a) una unità di memoria, detta memoria esterna, consistente in un nastro illimitato in entrambi i sensi e suddiviso

Dettagli

Le strumentazioni laser scanning oriented per i processi di censimento anagrafico dei patrimoni

Le strumentazioni laser scanning oriented per i processi di censimento anagrafico dei patrimoni CONVEGNO FACILITY MANAGEMENT: LA GESTIONE INTEGRATA DEI PATRIMONI PUBBLICI GENOVA FACOLTA DI ARCHITETTURA 06.07.2010 Le strumentazioni laser scanning oriented per i processi di censimento anagrafico dei

Dettagli

ALGEBRA DELLE PROPOSIZIONI

ALGEBRA DELLE PROPOSIZIONI Università di Salerno Fondamenti di Informatica Corso di Laurea Ingegneria Corso B Docente: Ing. Giovanni Secondulfo Anno Accademico 2010-2011 ALGEBRA DELLE PROPOSIZIONI Fondamenti di Informatica Algebra

Dettagli

bensì una tendenza a ruotare quando vengono applicate in punti diversi di un corpo

bensì una tendenza a ruotare quando vengono applicate in punti diversi di un corpo Momento di una forza Nella figura 1 è illustrato come forze uguali e contrarie possono non produrre equilibrio, bensì una tendenza a ruotare quando vengono applicate in punti diversi di un corpo esteso.

Dettagli

LEGGE DI STEVIN (EQUAZIONE FONDAMENTALE DELLA STATICA DEI FLUIDI PESANTI INCOMPRIMIBILI) z + p / γ = costante

LEGGE DI STEVIN (EQUAZIONE FONDAMENTALE DELLA STATICA DEI FLUIDI PESANTI INCOMPRIMIBILI) z + p / γ = costante IDRAULICA LEGGE DI STEVIN (EQUAZIONE FONDAMENTALE DELLA STATICA DEI FLUIDI PESANTI INCOMPRIMIBILI) z + p / γ = costante 2 LEGGE DI STEVIN Z = ALTEZZA GEODETICA ENERGIA POTENZIALE PER UNITA DI PESO p /

Dettagli

Funzioni in C. Violetta Lonati

Funzioni in C. Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Funzioni - in breve: Funzioni Definizione di funzioni

Dettagli

CORRENTE E TENSIONE ELETTRICA LA CORRENTE ELETTRICA

CORRENTE E TENSIONE ELETTRICA LA CORRENTE ELETTRICA CORRENTE E TENSIONE ELETTRICA La conoscenza delle grandezze elettriche fondamentali (corrente e tensione) è indispensabile per definire lo stato di un circuito elettrico. LA CORRENTE ELETTRICA DEFINIZIONE:

Dettagli

F 2 F 1. r R F A. fig.1. fig.2

F 2 F 1. r R F A. fig.1. fig.2 N.1 Un cilindro di raggio R = 10 cm e massa M = 5 kg è posto su un piano orizzontale scabro (fig.1). In corrispondenza del centro del cilindro è scavata una sottilissima fenditura in modo tale da ridurre

Dettagli

GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain.

GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain. *+33(GLWRU GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain. Il programma si basa su un architettura di tasti funzionali presenti

Dettagli

Le funzioni continue. A. Pisani Liceo Classico Dante Alighieri A.S. 2002-03. A. Pisani, appunti di Matematica 1

Le funzioni continue. A. Pisani Liceo Classico Dante Alighieri A.S. 2002-03. A. Pisani, appunti di Matematica 1 Le funzioni continue A. Pisani Liceo Classico Dante Alighieri A.S. -3 A. Pisani, appunti di Matematica 1 Nota bene Questi appunti sono da intendere come guida allo studio e come riassunto di quanto illustrato

Dettagli

Reti sequenziali sincrone

Reti sequenziali sincrone Reti sequenziali sincrone Un approccio strutturato (7.1-7.3, 7.5-7.6) Modelli di reti sincrone Analisi di reti sincrone Descrizioni e sintesi di reti sequenziali sincrone Sintesi con flip-flop D, DE, T

Dettagli

e-dva - eni-depth Velocity Analysis

e-dva - eni-depth Velocity Analysis Lo scopo dell Analisi di Velocità di Migrazione (MVA) è quello di ottenere un modello della velocità nel sottosuolo che abbia dei tempi di riflessione compatibili con quelli osservati nei dati. Ciò significa

Dettagli

Sia data la rete di fig. 1 costituita da tre resistori,,, e da due generatori indipendenti ideali di corrente ed. Fig. 1

Sia data la rete di fig. 1 costituita da tre resistori,,, e da due generatori indipendenti ideali di corrente ed. Fig. 1 Analisi delle reti 1. Analisi nodale (metodo dei potenziali dei nodi) 1.1 Analisi nodale in assenza di generatori di tensione L'analisi nodale, detta altresì metodo dei potenziali ai nodi, è un procedimento

Dettagli

Nome..Cognome.. Classe 4G 4 dicembre 2008. VERIFICA DI FISICA: lavoro ed energia

Nome..Cognome.. Classe 4G 4 dicembre 2008. VERIFICA DI FISICA: lavoro ed energia Nome..Cognome.. Classe 4G 4 dicembre 8 VERIFIC DI FISIC: lavoro ed energia Domande ) Energia cinetica: (punti:.5) a) fornisci la definizione più generale possibile di energia cinetica, specificando l equazione

Dettagli

Logica Numerica Approfondimento 1. Minimo Comune Multiplo e Massimo Comun Divisore. Il concetto di multiplo e di divisore. Il Minimo Comune Multiplo

Logica Numerica Approfondimento 1. Minimo Comune Multiplo e Massimo Comun Divisore. Il concetto di multiplo e di divisore. Il Minimo Comune Multiplo Logica Numerica Approfondimento E. Barbuto Minimo Comune Multiplo e Massimo Comun Divisore Il concetto di multiplo e di divisore Considerato un numero intero n, se esso viene moltiplicato per un numero

Dettagli

INTEGRATORE E DERIVATORE REALI

INTEGRATORE E DERIVATORE REALI INTEGRATORE E DERIVATORE REALI -Schemi elettrici: Integratore reale : C1 R2 vi (t) R1 vu (t) Derivatore reale : R2 vi (t) R1 C1 vu (t) Elenco componenti utilizzati : - 1 resistenza da 3,3kΩ - 1 resistenza

Dettagli

Moto circolare uniforme

Moto circolare uniforme Moto circolare uniforme 01 - Moto circolare uniforme. Il moto di un corpo che avviene su una traiettoria circolare (una circonferenza) con velocità (in modulo, intensità) costante si dice moto circolare

Dettagli

Capitolo V : Il colore nelle immagini digitali

Capitolo V : Il colore nelle immagini digitali Capitolo V : Il colore nelle immagini digitali Lavorare con il colore nelle immagini digitali L uso dei colori nella visione computerizzata e nella computer grafica implica l incorrere in determinate problematiche

Dettagli

Progetto La fisica nelle attrazioni Attrazione ISPEED

Progetto La fisica nelle attrazioni Attrazione ISPEED Progetto La fisica nelle attrazioni Attrazione ISPEED Dati utili Lunghezza del treno: 8,8 m Durata del percorso: 55 s Lunghezza del percorso: 1200 m Massa treno a pieno carico: 7000 kg Altezza della prima

Dettagli

FONDAMENTI DI CONTROLLI AUTOMATICI Ingegneria Meccanica. http://web.ing.unimo.it/~lbiagiotti/fondamenticontrolli1415.html SISTEMI ELEMENTARI

FONDAMENTI DI CONTROLLI AUTOMATICI Ingegneria Meccanica. http://web.ing.unimo.it/~lbiagiotti/fondamenticontrolli1415.html SISTEMI ELEMENTARI FONDAMENTI DI CONTROLLI AUTOMATICI Ingegneria Meccanica http://web.ing.unimo.it/~lbiagiotti/fondamenticontrolli1415.html SISTEMI ELEMENTARI Ing. e-mail: luigi.biagiotti@unimore.it http://www.dii.unimore.it/~lbiagiotti

Dettagli

L'impulso di una forza che varia nel tempo

L'impulso di una forza che varia nel tempo Lezione 13 approfondimento pag.1 L'impulso di una forza che varia nel tempo Un riassunto di quel che sappiamo Riprendiamo in esame il solito carrellino che si trova sopra la rotaia a basso attrito. Se

Dettagli