i.faccia Interfaccia dispositivi software\dispositivi hardware. Francesco Melis su uictech, 21\01\2013, h. 02.01. d. Per la domanda che sto per porre forse passerò per ignorante, non so, ma se non chiederò mai non otterrò mai una risposta per capire. La mia domanda riguarda più che altro la robotica, ma considerando il fatto che mi riferisco anche al software penso rientri nel tema della lista. Dunque, mi sono sempre chiesto come fa un software a muovere meccanicamente un hardware. Per esempio, mettiamo caso che io abbia una mano robot e che abbia anche un software programmato per far muovere le dita della mano meccanica... Come fa materialmente il software a muovere le dita di ferro della mano? Cioè, qual è il punto di congiunzione tra software e hardware? Presumo che i movimenti dell'hardware avvengano mediante elettricità, ma ciò che mi chiedo è: come fa l'elettricità ad interpretare correttamente il volere del software, che potrebbe dare varie disposizioni? Cioè, muovere il dito destro invece del sinistro o tenere il dito pollice in alto come per dire ok, ecc. Anche l'elettricità considera il sistema di numerazione binaria come descritto magnificamente dal bravo Francesco Melis, dato che si tratta di impulsi? Inoltre, immagino che l'elettricità possa spostare del ferro leggero, ma se il ferro è molto più pesante, come certi macchinari presenti in certe industrie, come fa il software a generare una forza tale da spostare nella maniera corretta il pezzo di ferro specifico? Aumentando la potenza dell'elettricità? Ma anche considerando il fatto che l'elettricità comprenda il sistema binario informatico o uno più o meno simile, come fa a sua volta la stessa elettricità a dare la direzione giusta al mezzo meccanico? Per esempio, se ho una mano meccanica e tramite il software dico che voglio far muovere il dito indice, con il sistema binario stabilirò la direzione della corrente elettrica verso un determinato filo che arriverà al dito prescelto? E questo filo poi cosa farà per sollevare il dito? Darà forse una scarica elettrica al metallo con cui sarà a contatto? Dico questo per via di deduzione personale, ma penso sempre che mi manchi un passaggio per capire bene la cosa... Mi rendo conto di aver fatto una domanda un po' particolare, ma tutta la conoscenza è utile nella vita, no? Spero che qualcuno di voi riesca a darmi una risposta chiara e completa. r. Bella domanda di Fabrice, i tuoi dubbi nascono dalla mancanza di qualche elemento conoscitivo che non ti consente di raccordare il tuo ragionamento che parte dal software e finisce con il pilotare un hardware come un robot che solleva il pesante motore di una macchina in un'industria automobilistica. Ci sono dei dispositivi che si chiamano campionatori, convertitori analogico-digitale, convertitori digitale-analogico, attuatori, trasduttori, che fanno il lavoro di raccordo fra il mondo del software ed il mondo dell'hardware. Per farla breve, molto breve, il robot, essendo una macchina programmabile fa sempre la stessa cosa: quello che gli dice il programma caricato in quel momento, cioè saldare sempre lo stesso punto, montare la portiera della macchina sempre con lo stesso gesto ecc... Domani magari avrà caricato un programma che monta i pistoni ed un altro le bielle eccetera. L'hardware in qualche modo riceve un insieme di bit dal computer che governa il robot che gli dice per esempio di ruotare il polso. Il robot, o in generale l'hardware, contiene un'elettronica, in questo caso convertitori digitale-analogico, che converte i numeri espressi in bit in grandezze analogiche, per esempio delle tensioni elettriche che sono in grado di comandare anche motori di grande potenza. Quando il polso del robot ha raggiunto la coordinata spaziale determinata dalle istruzioni digitali inviategli si ferma. Il robot ovviamente si muove in un suo spazio determinato da un sistema cartesiano tridimensionale che è tutto il suo mondo ed in cui è in grado di raggiungere tutti i punti sapendo le coordinate. Gli attuatori sono i dispositivi che "mettono in pratica" le azioni determinate da questi impulsi digitali che arrivano dal computer di governo. Viceversa: supponiamo che l'hardware debba gestire un serbatoio a pressione e si debba fermare di pompare gas quando ha raggiunto una certa pressione determinata. I rilevatori di pressione, (manometri), misurano pressioni che sono grandezze analogiche espresse per esempio in Pascal o atmosfere. Un convertitore analogico-digitale converte che so, i 760 millimetri di mercurio di pressione nel serbatoio dell'apparato in un numero binario. Questo numero binario viene memorizzato continuamente in un registro (piccola memoria che può contenere pochi bit, per esempio 8 bit di un byte) presente nello stesso hardware. Il calcolatore testa ciclicamente, (polling), il valore binario di questo registro e quando vede che ha raggiunto il valore desiderato manderà un dato binario ad un altro registro dell'hardware per segnalare lo stop. L'hardware stesso, essendo intelligente, a sua volta controlla questo valore, lo converte in analogico, per esempio corrente o tensione, e magari da il comando di spegnimento del compressore. Insomma, per riassumere, fra il mondo dei numeri del calcolatore ed il mondo delle macchine operatrici ci dev'essere qualcosa che fa la conversione. Quando il ricevente ha capito che tipo di azione gli ha indicato di fare il software saranno i suoi motori a dare la potenza necessaria e quindi non è il software direttamente che esercita la forza. Il software gli può mandare un numero e il ricevente lo interpreta ed agisce tramite gli attuatori con la potenza che gli è caratteristica. Del resto ci avete pensato ad esempio alla sequenza di boot dei computers? all'accensione escono tutte quelle segnalazioni del bios che dicono se l'hardware è sano o se c'è qualche guasto. La logica di funzionamento impone che l'hardware a corredo del computer come la tastiera, la porta seriale, la porta parallela, ecc... siano a loro volta dispositivi intelligenti. Anche questi dispositivi, in piccolo, sono essi stessi dei computers in grado di dialogare con il computer centrale inteso come il microprocessore della macchina altrimenti come potrebbe questo capire che c'è un guasto e di che tipo? Facciamo un esempio terra terra di un dispositivo periferico generico. Il dispositivo, anche la porta seriale, dispone di un certo numero di registri interni cioè celle di memoria che possono contenere facciamo un byte (8 bit). Questi registri si trovano "mappati" a certi indirizzi di memoria. In altri termini questi registri si comportano esattamente come se fossero celle di memoria Ram e quindi si trovano a certi indirizzi della memoria, ovviamente nel range destinato alle periferiche. Il programma del bios controlla all'accensione queste speciali celle che in effetti sono registri delle periferiche e se non ci sta scritto quello che si aspetta di trovare poi segnala che c'è un guasto. Ovviamente la periferica, essendo intelligente, se non fa la pazza provvede lei stessa nei limiti del possibile a scrivere nei suoi registri il suo "status". Questo status viene quindi esaminato dal programma del bios che ne trae le conclusioni, per esempio segnalazione di buon funzionamento o guasto di qualche tipo. Ho fatto questo esempio per chiarire il fatto che i dispositivi software ed hardware in qualche maniera si debbono interfacciare in maniera coerente. Poi la tecnologia specifica farà in modo di stabilire questo dialogo in maniera coordinata e potrebbe darsi che ogni singolo bit del byte del registro di status dia una segnalazione del funzionamento o meno di un qualche dispositivo interno. Del resto lo abbiamo visto: con un byte si possono rappresentare 256 valori diversi. Di seguito incollo qualche piccola definizione presa da Wikipedia. Attuatore. Un attuatore è un meccanismo attraverso cui un agente agisce su un ambiente, inoltre l'agente può essere o un agente intelligente artificiale o un qualsiasi altro essere autonomo (umano, animale). In senso lato, un attuatore è talvolta definito come un qualsiasi dispositivo che converte dell'energia da una forma ad un'altra, in modo che questa agisca nell'ambiente fisico al posto dell'uomo. Anche un meccanismo che mette qualcosa in azione automaticamente è detto attuatore. Esempi Alcuni esempi di attuatori sono: Umano - braccia, mani, dita, gambe parti di un robot che interagiscono con l'esterno - meccanismi di presa, bracci meccanici, muscoli pneumatici ed altre parti in movimento. server di e-mail - software di aggiornamento Ingegneria Valvola a farfalla con attuatore. In ingegneria gli attuatori sono capaci di trasformare un segnale in input (tipicamente elettrico) in movimento, come esempi di attuatori sono i motori elettrici, pistoni idraulici, relè, polimeri elettroattivi, attuatori piezoelettrici, ecc... . I motori sono usati soprattutto quando si richiedono movimenti circolari, ma possono essere impiegati per applicazioni lineari trasformando un movimento da circolare a lineare utilizzando un trasduttore a vite senza fine. D'altra parte alcuni attuatori, come quelli piezoelettrici, sono intrinsecamente lineari. Microattuatori. Gli attuatori trovano un largo utilizzo anche nella microelettronica, infatti esistono vari tipi di attuatori MEMS, i principali sono: microattuatori elettrostatici, elettromagnetici, idraulici. Elettrici. Gli attuatori elettrici trovano utilizzo nell'automazione civile ed industriale, il loro principio di funzionamento è molto semplice, permettono il comando di un relè attraverso un input solitamente elettrico, possono essere gestiti in configurazione singola o multipla, tale gestione può avvenire tramite protocolli BUS o Wi-Fi, per la gestione singola si provvede a gestire ogni attuatore attraverso l'utilizzo del protocollo BUS che prevede un collegamento fisico tra tutti i componenti dell'impianto, mentre per la configurazione Wi-Fi vengono abolite le connessioni fisiche, ma la gestione viene fatta esclusivamente senza fili permettendo una flessibilità estrema dell'impianto. Elettrostatici. I microattuatori elettrostatici sono semplici da realizzare su wafer di silicio e con essi si possono ottenere elevate velocità di rotazione. Le applicazioni vanno dagli interruttori elettromeccanici e relays, agli interruttori ottici, display, valvole, ad attuatori per il controllo di flusso. Sono costituiti da due piatti piani paralleli il cui principio di funzionamento si basa direttamente sul principio della forza di Coulomb. Queste forze che definiscono un'attrazione fra due corpi aventi cariche opposte, tendono a riallineare i piatti dopo che tra di essi è avvenuto uno spostamento relativo. Elettromagnetici. Gli attuatori elettromagnetici sono i più diffusi poiché offrono grandi vantaggi: permettono il controllo della forza e della velocità sia in corrente che in tensione, hanno una risposta veloce, una bassa impedenza d'ingresso, un basso rumore e il loro assemblaggio non pone particolari problemi. Il loro principio di funzionamento si basa sulla forza di Lorentz. I problemi legati all'uso di questo dispositivo sono soprattutto relativi alla sua realizzabilità. L'intensità del campo magnetico generato è proporzionale al numero di spire che costituiscono l'avvolgimento ed alla corrente circolante. Le dimensioni molto ridotte dei cavi elettrici fanno si che a parità di tensione, aumentando il numero di spire, si diminuisce la corrente circolante; nella maggior parte dei casi si è deciso quindi di utilizzare una bobina costituita da una singola spirale. Per realizzare bobine di questo tipo si utilizza la tecnica LIGA. Un altro degli inconvenienti più significativi degli attuatori magnetici è la dissipazione di energia, che avviene nelle spire durante il mantenimento di una forza ad un valore costante. Questi tipi di attuatori (con un diametro di 1,5 mm) sono in grado di generare una coppia di 1,2 N·m. Idraulici. Gli attuatori idraulici riescono a generare una forza maggiore (a parità di volume) rispetto agli altri attuatori. Si distinguono in tre tipi: a pistone, a camera elastica, a turbina. Il tipo a pistone ha lo svantaggio di introdurre attriti ed ha la necessità di essere sigillato. Gli attuatori elastici sono formati da un tubo cilindrico al cui interno sono ricavate tre camere parallele e le cui pressioni vengono controllate separatamente. Una differente pressione nelle camere fa sì che il tubo si incurvi verso la camera a minore pressione. Questo tipo di attuatore idraulico non soffre dei problemi dovuti all'attrito. Gli attuatori del tipo a microturbine infine sono molto facili da realizzare ma hanno un'efficienza ridotta e riscontrano a causa dell'attrito. Trasduttori Il trasduttore è un dispositivo di qualsiasi genere destinato a trasmettere dell'energia da un punto ad un altro punto alterandone alcune delle caratteristiche che la identificano. I trasduttori presentano una grandezza (o segnale) in entrata e una grandezza (o segnale) in uscita. La grandezza in uscita varia al variare della grandezza in ingresso ed è legata ad essa mediante una funzione matematica più o meno complessa. Questa funzione è chiamata caratteristica del trasduttore o funzione di trasferimento del trasduttore. Conoscendo la funzione di trasferimento e la grandezza in uscita è quindi possibile conoscere il valore della grandezza in ingresso. Talvolta il termine "trasduttore" è utilizzato come sinonimo del termine "sensore", sebbene nella terminologia tecnica abbiano un significato differente. Grandezze di entrata Alcuni esempi di grandezze in entrata di un trasduttore sono: accelerazione, campo elettrico, campo magnetico, densità, forza, livello, peso, pH, portata, posizione angolare, posizione lineare, pressione, radiazione, segnale elettrico, temperatura, velocità, viscosità, umidità. Grandezze di uscita Le grandezze di uscita dei trasduttori in genere sono: forza, spostamento, variazione di impedenza o segnale elettrico/elettronico.Torna all'indice