- Elettronica Open Source - https://it.emcelettronica.com -

Personal robots e Automotive electronics

Robot in grado di operare a distanza di migliaia di chilometri, coadiuvando la mano del chirurgo [1], sono già una realtà. Applicazioni ancora più stupefacenti, capaci di portare possibilità diagnostiche, chirurgiche o farmaci all’interno del corpo umano, esattamente dove ce n’è bisogno, sono prossime, fondendo meccanica, scienza dei materiali, medicina, microelettronica, biologia, nanotecnologie. In questo articolo si vuole presentare qualche ragionamento circa macchine che possiamo immaginare più vicine alla nostra vita quotidiana ed il loro possibile rapporto con tecnologie esistenti. Coglieremo anche l’occasione per dare un’occhiata da vicino all’industria automotive (elettronica per auto in particolare) e familiarizzare con le sue peculiarità. 

Varie ragioni inducono a credere che assisteremo entro un paio di decenni a una massiccia diffusione di robot domestici destinati a rendere simili molte case a set di film di fantascienza degli anni 50/60. Stiamo probabilmente vivendo, più o meno consapevoli, l’alba di una nuova rivoluzione tecnologica, dagli effetti simili all’invenzione delle telecomunicazioni e del computer. Le applicazioni possibili di queste macchine come supporto alla vita quotidiana di esseri umani sono molto vaste, divertimento, pulizia, sicurezza, comunicazione, assistenza alla persona. Possiamo dire che scopo comune a tutte è assistere o, in vari gradi, sostituire gli esseri umani nelle attività quotidiane, includendo in queste la cura della casa e del benessere delle persone. Due linee ben distinte di macchine potrebbero creare la futura offerta di robot domestici. Una serie di macchine non antropomorfe già si sta diffondendo nelle nostre case sotto forma di robot giocattoli, aspirapolvere, lavapavimenti. Questa classe di macchine si candida a costituire l’evoluzione degli attuali elettrodomestici bianchi e della relativa industria manifatturiera, naturalmente. Potremmo quindi vedere lavatrici, cucine, frigoriferi, connessi in rete tra loro, in grado di ottimizzare i consumi, gestire scadenza e quantità di cibi, provvedere alla preparazione automatica di pasti interi, programmare lavaggio e stiro in funzione delle necessità di abiti. Certo nessuno affiderebbe al proprio frigorifero l’accesso alla carta di credito, ma la compilazione della lista della spesa e la sua eventuale trasmissione al supermercato di fiducia, sono nell’elenco delle cose ipotizzabili. La seconda linea di macchine che possiamo immaginare abbia possibilità di ampia diffusione, è più antropomorfa e dotata di maggiore flessibilità e versatilità nel movimento. Questa classe comprenderebbe assistenti personali, domestici se ci piace la definizione, mobili nell’ambiente occupato dagli esseri umani ed in grado di prendersi carico di una serie di incombenze della vita domestica, alleviandone esseri umani troppo occupati nel fare attività più gratificanti o in difficoltà per ragioni di salute o età. In particolare, l’aumento dell’età media della popolazione nei paesi cosiddetti avanzati, pone una serie di crescenti problemi di assistenza. Nonostante il miglioramento delle condizioni di vita e delle cure mediche disponibili, è spesso inevitabile un progressivo indebolimento ed una difficoltà a svolgere autonomamente mansioni domestiche anche semplici, quali gestire la preparazione dei pasti, la cura della casa, la giusta dose di movimento giornaliero, protocolli medici che possono prevedere vari farmaci diversi a ore distribuite nella giornata, sicurezza nella gestione di energia elettrica e gas, per non parlare di sicurezza nei confronti di persone estranee. Certamente nessuno si augura di trascinarsi tristemente verso la fine dei propri giorni circondato da macchine, senza il conforto ed il calore di esseri umani intorno a se. Possiamo però chiederci se la tecnologia non sia prossima a poter esprimere applicazioni in grado di coadiuvare efficacemente care-givers, probabilmente essi stessi non più giovani e/o in numero insufficiente a far fronte alle necessità, per varie ragioni. La famiglia allargata in grado di prendersi cura dei propri membri più deboli è ormai estinta da tempo. Non porsi il problema di come assistere una popolazione anziana in una società che la vede maggioritaria, è nascondere la testa sotto la sabbia, ma anche rinunciare a potenziali benefici della tecnologia, in grado di migliorare ed estendere capacità e qualità della vita. Una delle applicazioni in sviluppo consiste ad esempio, in un esoscheletro, struttura di rinforzo esterna, da indossare come una tuta, anche se probabilmente più invasiva. Locomozione, manipolazione di oggetti, indipendenza nella mobilità potrebbero trarne giovamento, estendendo l’autonomia personale di alcuni soggetti ben oltre le capacità attualmente possibili.

La maggiore sofisticazione meccanica e presenza di organi di movimento fa di queste macchine un buon candidato per la diversificazione di prodotto dell’industria automobilistica. Già ora prototipi come Asimo non a caso portano la firma di produttori di veicoli come Honda. E’ giusto rilevare anche il forte impulso dato venti anni fa alla robotica industriale da parte dell’industria automobilistica, comprendendo anche l’italiana FIAT/COMAU, tra le altre. Forse non è molto noto tra il grande pubblico ma oggi una matura e robusta industria robotica è una realtà consolidata. E’ opinione dell’autore che un tale connubio tra industria dell’auto e robotica abbia cittadinanza anche nell’elettronica, con benefici e vantaggi per entrambe le aree di attività tecnica ed economica, come si argomenterà nel seguito dell’articolo.

CARATTERISTICHE DELLE APPLICAZIONI ROBOTICHE

Un  modo forse non originale, ma efficace, per farsi un’idea delle caratteristiche delle macchine di larga diffusione futura è l’osservazione di tecnologie evolute disponibili già oggi. Se ci pensiamo, tecnologie nate per applicazioni in ambienti molto difficili, tipicamente aerospaziali e militari, trovano modo di trasformarsi in prodotti di larga diffusione in qualche decennio. E’ stato cosi per la tecnologia CMOS, il GPS, i sistemi di comando fly-by-wire, Roomba è stato sviluppato da un’azienda attiva nel settore militare. Possiamo aspettarci che la medesima tendenza verrà confermata anche nel futuro sviluppo della robotica. Ecco perché analizzeremo come sistema robotico una creata molto ambiziosa, il robot esploratore marziano Spirit ed il suo gemello Opportunity, naturalmente (vedi Rif. 1). Spirit è un robot mobile su ruote sofisticate, adatte a terreni ostili ed è progettato per condizioni ancora più ostili, come temperature estreme e sbalzi termici notevoli. L’alimentazione è costituita da accumulatori ricaricati da celle solari, rendendo l’esploratore autonomo da fonti di energia esterne. Pur essendo sostanzialmente telecomandato, l’intelligenza a bordo gli permette di gestire in autonomia una vasta serie di attività di basso livello, quali navigare a breve raggio evitando urti e cadute, capacità indispensabili se non altro a causa del ritardo nella comunicazione tra Marte e Terra. Sensori lo aiutano nella navigazione e nella realizzazione dei piani di missione trasmessi da terra. Telecamere multiple [2] sono usate come organi di senso principale. Spirit è dotato di strumentazione scientifica complessa, sotto il controllo del calcolatore di bordo ed in grado di far pervenire a Terra le informazioni raccolte, servendosi dei sistemi di telecomunicazione disponibili. Oltre al sistema di locomozione, la meccatronica di bordo comprende anche un braccio usabile per analisi ravvicinate di rocce o formazioni nel terreno interessanti. Realizza un sistema sensore-cpu-attuatore-comunicazione ai massimi livelli della tecnologia esprimibile nei primi anni 2000 e certamente ancora molto avanzato anche oggi. La sua architettura, a ben guardare, è tipica di ogni applicazione embedded, architettura che incontreremo nuovamente nel seguito dell’articolo. E’ facile ipotizzare che, l’insieme sensori – intelligenza – attuazione – comunicazione sarà la base dei robot futuri, come del resto, già avviene per i robot esistenti, destinati ad applicazioni varie. L’ambiente in cui Spirit lavora, l’impossibilità di procedere a riparazioni, il costo della missione, concorrono a rendere il fattore affidabilità fondamentale per questo tipo di applicazioni. Altra dote preziosa è la flessibilità, data dalla capacità di aggiornare in remoto il software di gestione, oltre all’intrinseca capacità di svolgere missioni diverse tipica dell’architettura meccanica e di sistema.

CARATTERISTICHE DELLE APPLICAZIONI AUTOMOTIVE

Se dovessimo scegliere un solo requisito fondamentale per descrivere l’ambiente automotive, certamente questo sarebbe l’affidabilità. La realizzazione di applicazioni elettroniche per l’automobile è guidata dall’attenzione costante all’affidabilità in ogni fase, dalla progettazione, alla linea di produzione fino alla consegna dei pezzi. I clienti di un’automobile moderna si aspettano maggiore sicurezza, ad esempio sistemi anticollisione e assistenza alla guida notturna. Si aspettano maggiore comfort, come climatizzazioni personalizzate, azionamenti automatici dei tergicristalli pilotati da sensori di pioggia, auto adattamento delle luci interne ed esterne alla luminosità ambientale. Si aspettano un’elevata disponibilità d’informazione per l’autista ed intrattenimento dei passeggeri, traendo pieno vantaggio da telematica. GPS, cruscotti head-up in stile aeronautico e, tra poco, dalla comunicazione veicolo-veicolo e terra-veicolo, con tempestive informazioni circa le condizioni della strada e del traffico (no, non sarà possibile inviare insulti ad un altro conducente, sono previste solo comunicazioni tra macchine, senza intervento alcuno degli esseri umani). I clienti si aspettano anche crescente attenzione ai consumi di carburante e al rispetto di normative ecologiche sempre più stringenti imposte dalle legislazioni, con conseguente controllo sempre più accurato del funzionamento del propulsore ed attenta gestione dei sistemi energetici di bordo. Tutto questo comporta un notevole aumento del numero di apparecchiature e componenti elettronici, il contenuto di elettronica cresce ben più rapidamente che il numero di auto prodotte. La probabilità di avere un difetto in un’auto è un multiplo della probabilità di guasto dei singoli componenti e quindi cresce in accordo con il trend appena visto. Clienti e fabbricanti di auto non possono accettare difettosità in aumento e quindi l’affidabilità di ogni singolo componente deve essere incrementata, come misura fondamentale per garantire l’affidabilità del sistema automobile. Le cose sono complicate dalla continua evoluzione nella miniaturizzazione dei prodotti, le necessità di una produzione di massa e dall’esigenza di comprimere I costi, in un segmento di economia maturo e ad elevata competitività. Dispositivi progettati oggi devono inoltre anticipare le aspettative future per avere possibilità di successo nel mercato di un bene relativamente durevole, la cui vita utile si suppone essere di vari anni. L’auto è certamente uno degli ambienti operativi più difficili per l’elettronica. Le apparecchiature operano all’aperto in una vasta gamma di condizioni di temperatura ed umidità. Possono essere chiamate a funzionare per ore consecutivamente, lavorano in un ambiente elettricamente ”sporco”, sono soggette a vibrazioni meccaniche e dipendono per l’alimentazione essenzialmente da una batteria sostenuta dalla ricarica di un alternatore. Le temperature operative vanno da -40C a circa 70C ma possono salire oltre 120C per l’elettronica a contatto diretto con il motore. Il movimento ed il contatto con gli esseri umani generano frequenti fenomeni ESD, cui si sommano le interferenze generate dall’elettromeccanica di bordo o dall’ambiente attraversato. Come vedremo nel seguito, tutto questo rende le procedure di collaudo e qualifica dei componenti e sottosistemi lungo e complesso. Cerchiamo di dare un’occhiata da vicino a qualche applicazione automotive significativa. Difficilmente si trovano informazioni dettagliate e schemi elettrici di applicazioni automotive. Ogni costruttore difende naturalmente il suo know-how, divulgando le prestazioni ed i vantaggi del proprio prodotto, svelando al tempo stesso il meno possibile del modo i cui tali performance sono realizzate in pratica. Un modo per farsi un’idea, consiste nel procurarsi i documenti ‘Automotive Selection Guide’ dei principali produttori di circuiti integrati. Il nome di tali documenti può cambiare leggermente, ma ogni produttore ha documenti simili che non solo elencano i prodotti disponibili, ma spesso li classificano anche per applicazione, fornendone gli schemi a blocchi. Ad esempio, sfogliando l’Automotive Solution Guide di Infineon, possiamo notare come l’architettura delle varie apparecchiature presenti in una moderna auto, sia basata su una struttura generale ben definita, sensore-cpu-attuatore-comunicazione. In particolare CPU e linee di comunicazione sono sempre presenti, sensori ed attuatori caratterizzano la singola applicazione. Troviamo sensori e relative interfacce per le più svariate grandezze elettriche e fisiche:

Gli opportuni attuatori sono gestiti sotto il controllo di algoritmi software alimentati dai dati ricavati dai sensori, in uno schema tipico di controllo automatico. Vediamo quindi il pilotaggio di organi di comando e segnalazione attraverso:

CPU e microcontrollori presenti nei cataloghi automotive offrono periferiche integrate e capacità di calcolo adeguate al trattamento dei dati acquisiti, spesso massicce. Completano l’offerta, componenti adatti alla gestione dell’alimentazione delle singole unità, driver di potenza, driver dei bus di comunicazione, operazionali per il trattamento segnali, componenti di protezione e parte degli stessi sensori. Tutti questi componenti sono realizzati secondo i requisiti fondamentali delle applicazioni automotive:

L’ultimo elemento della lista, il più recente ma non ultimo come importanza, richiede qualche commento aggiuntivo, quindi gli dedicheremo il prossimo paragrafo. Tutte queste caratteristiche sono intrinseche nell’automotive, dovendo coesistere in un moderno autoveicolo decine di applicazioni a microcontrollore spesso cooperanti.

SICUREZZA FUNZIONALE (SAFETY)

La richiesta di sicurezza funzionale cresce di pari passo con la sofisticazione dei veicoli ed il trasferimento all’elettronica di funzioni e responsabilità nell’attuazione dei comandi impartiti dal guidatore. Un buon esempio sono i sistemi drive-by-wire. Ereditati dall’industria aeronautica, come già ricordato, sostituiscono trasmissioni meccaniche di forze, ad esempio allo sterzo, con trasmissione dell’opportuna informazione dall’organo di comando (volante) all’attuatore (motore elettrico sullo sterzo). Sicurezza in questo contesto significa ridurre al minimo la probabilità di guasti o difetti (cioè elevati livelli di affidabilità), capacità di rilevare tempestivamente problemi (autodiagnostica fine) e mettersi in condizioni che eliminano i rischi per le persone e cose conseguenti al difetto rilevato. In poche parole, si tratta di garantire l’integrità nell’esecuzione delle funzioni dedicate. In avionica, dove la pressione sul costo è molto meno avvertibile, la sicurezza dei sistemi critici viene garantita stressando l’affidabilità di ogni componente e sotto-sistema, ridondando i comandi critici (fino a quattro sistemi in parallelo), adottando architetture dedicate che integrano l’autodiagnostica e reazione al problema nei componenti critici. Anche in automotive ed altri settori, le ricette sulla sicurezza sono importate, sia pur tenendo conto delle diverse esigenze. La normativa internazionale IEC 61508 si occupa dell’argomento, definendo l’analisi di rischio come parte integrante della progettazione di un sistema. La norma definisce il concetto di “functional safety” per esempio di un’Unità Elettronica di Controllo come parte della sicurezza complessiva del sistema, cioè della sua capacità di reagire in modo corretto in risposta agli input ricevuti. Ogni parte del sistema è valutata in termini di specifiche richieste e rischi associati e sono definiti quattro “Safety Integrity Levels” (SIL), caratterizzati dal massimo numero di fallimenti accettati (Mean Time To Failure, MTTF). La norma fissa per I sistemi riconosciuti critici in automotive, una copertura autodiagnostica minima del 99% ed un SIL3, tipicamente. Per dare un’idea delle conseguenze, microcontrollori convenzionali non sono in grado di raggiungere SIL3 ed architetture dedicate sono state sviluppate ad hoc. Questi chip garantiscono l’integrità dei dati calcolati, della trasmissione sui bus interni e delle operazioni da verso memoria, oltre che la corretta ritenzione del dato nelle memorie stesse. Situazioni pericolose possono essere determinate, secondo la norma citata, da:

Per un sistema elettronico, la valutazione del rischio e la garanzia della sicurezza di funzionamento comprendono:

Le richieste che ne risultano verso la progettazione di circuiti integrati sono:

PANORAMICA DI ALCUNI COMPONENTI AUTOMOTIVE

Diamo un’occhiata più approfondita ad una gamma di componenti automotive ed alle loro caratteristiche più significative per lo scopo che ci prefiggiamo, il loro riutilizzo in robotica.

ALIMENTAZIONE

Iniziamo il nostro tour dall’alimentazione, come si conviene, dando un’occhiata ai regolatori di tensione Troviamo a catalogo sia regolatori lineari sia switching. Tipicamente la tolleranza sulla tensione di uscita dei regolatori lineari è il 2%. Sono caratterizzati dal basso consumo intrinseco ed in condizioni di standby, dall’ampia gamma di tensione accettabile in ingresso, fino a 40V per sopportare le fluttuazioni della tensione di batteria e sono sempre provvisti di protezione contro il corto circuito e protezione termica. I dispositivi sono in grado di sopportare i transienti provenienti dal sistema batteria/circuito di ricarica. Spesso sono integrate nello stesso IC funzioni di supporto al microprocessore, quali soglie di tensione per avvertire tempestivamente in caso di anomalie nella tensione d’ingresso, watchdog, circuito di reset con rilascio solo una volta garantito l’esaurimento del transitorio di accensione. Le basse correnti in stand-by sono molto importanti per prevenire la scarica della batteria a veicolo fermo. I dispositivi più moderni si portano automaticamente in stand-by quando rilevano la caduta di consumo dovuta ad esempio ad un microprocessore entrato in modalità low-power. In tali condizioni il consumo del regolatore può ridursi a pochi microampere. Spesso più regolatori sono disponibili nello stesso IC Altra interessante caratteristica è la capacità di far fronte a transienti di corrente nel carico senza bisogno di grandi condensatori in uscita, a beneficio di costo ed affidabilità. Capacità autodiagnostiche e l’integrazione di driver per linee di comunicazione CAN e LIN sono pure presenti in qualche dispositivo, destinato a costituire con pochi passivi esterni, tutto il sottosistema alimentazione di una centralina di controllo.

SENSORI

Le applicazioni in automotive di sensori di campo magnetici ad effetto Hall comprendono l’affidabile sostituzione di potenziometri, beneficiando di assenza di attrito meccanico e resistenza agli agenti ambientali (umidità, temperature, polvere, vibrazioni). I sensori Hall sono usati per rilevare posizioni lineari ed angolari come la posizione fisica di un pedale, nel controllo delle sospensioni, di valvole, livelli ed angoli di curvatura. Possono essere impiegati anche come sensori di correnti elevate nella supervision delle batterie, di motori elettrici o nella realizzazione di fusibili elettronici. Le principali caratteristiche sono Alimentazione singola 4.5 - 5.5 V, Temperatura operative da -40 °C a 150 °C con bassa deriva e compensazione in temperature, bassa deriva con l’invecchiamento. I parametri fondamentali sono memorizzati in modo permanente attraverso fusibili (guadagno, fondo scala, offset, opzioni, coefficiente di temperatura individuale del componente) Il sensore è protetto da corto circuiti sull’uscita, inversione di polarità e sovratensioni su tutti I pin. Il sensore riconosce inoltre la rottura dei fili componenti i cablaggi. E` interessante analizzare come questa funzione sia implementata nel sensore senza costi aggiuntivi. In condizioni normali, la tensione di uscita potrebbe assumere qualsiasi valore tra 0V e 5V ma per realizzare la funzione di diagnostica, la gamma di tensione di uscita è limitata al range 0.5 – 4.5V (Clamping). In caso di rottura o corto circuito delle connessioni otterremo tensioni di uscita entro le fasce di errore (da 0 a 0.5V o tra 4.5 e 5V), consentendo cosi di riconoscere che un problema si è verificato, senza circuiteria o componenti aggiuntivi. Funzionalità simili sono disponibili nei sensori di temperatura e pressione usati sia per liquidi sia per aria. I sensori di posizione angolare rilevano l’orientamento di un campo magnetico attraverso due ponti di misura formati da resistori magnetostrittivi integrati Le componenti seno e coseno sono trasmesse come dato digitale su interface seriali sincrone, SPI compatibili. Trovano applicazioni tipiche nei sistemi di sterzo (Electric Power Steering EPS), controllo di motori elettrici, commutatori a rotazione. Integrano resistori calibrati per simulare posizioni note per funzioni diagnostiche, lavorano con alimentazione singola nella gamma di temperature -40°C to +150°C. Sono in grado di misurare qualsiasi angolo tra 0 - 360° con rappresentazione su sedici bit. Sono garantiti immuni da latch-up. Sensori di pressione dell’aria basati su rilevatori capacitivi sono disponibili come circuiti integrati che comprendono anche la circuiteria di condizionamento del segnale La misura è fornita come tensione continua, destinata ad essere convertita in parole digitali da convertitori ADC. I sensori sono caratterizzati da elevata precisione, ampia gamma di temperatura, linearizzazione della misura e compensazione della temperatura. I sensori sono calibrati individualmente al termine del processo produttivo ed I parametri di taratura sono scritti in memorie non volatili, protette da Error Correction Code. I dispositivi riconoscono interruzioni o cortocircuiti nei collegamenti e li segnalano fornendo misure fuori dal range di tensioni legali per la misura, analogamente a quanto visto. Per la loro flessibilità, gli stessi sensori sono venduti per applicazioni industriali, elettromedicali, altimetri e stazioni meteorologiche.

MICROCONTROLLORI

Varie famiglie di Microcontrollori a 8, 16 e 32 bit sono oggi prodotti per applicazioni auto motive. Microprocessori e veri e propri Sistem-on-Chip sono invece impiegati dove occorra trattare massicce quantità di dati, come in applicazioni di elaborazione di immagine, navigazione, intrattenimento a bordo auto. I microcontrollori integrano nella maggior parte dei casi tutta la memoria dati e programma necessaria, ma esistono anche soluzioni con bus esterno, rendendo la distinzione tra microcontrollore e microprocessore abbastanza arbitraria. Spesso infatti anche CPU nate per fare calcoli sono coadiuvate nello stesso chip da un set di periferiche hardware di controllo e/o comunicazione. Le frequenze di clock impiegate vanno da pochi megahertz a varie centinaia di megahertz. Tipicamente un microcontrollore per automotive contiene la CPU, ovviamente, memoria programma (quasi sempre FLASH), memoria dati (RAM e FLASH) con le relative protezioni da scrittura accidentale ed Error Correction Code. Le memorie FLASH raggiungono dimensioni di qualche megabyte e le RAM di varie decine di kilobyte, dimensioni considerevoli per memorie integrate in un singolo chip con cpu e periferiche. Sono normalmente disponibili istruzioni assembler per l’esecuzione di moltiplicazioni e divisioni, sia pur in un numero di cicli macchina variabile secondo la famiglia. Sono presenti i circuiti di generazione del clock per CPU e periferiche, spesso costituiti da oscillatore a cristallo e moltiplicatore di frequenza a PLL. Spesso ci sono oscillatori RC per risparmiare componenti ed energia, per le applicazioni meno sofisticate e per supportare le modalità a basso consumo. Cristalli a 32 kHz possono essere usati per le stesse finalità quando sia interessante mantenere un orologio Real Time. Anomalie o perdita della sorgente di clock sono rilevate nei componenti più moderni, cosi come codici operativi illegali ed accessi ad aree di memoria protette. Circuiti di generazione e gestione del reset sono integrati per garantire la corretta inizializzazione di tutto il chip all’accensione (Power On Reset, POR). Filtraggio dell’ingresso reset, protezione da momentanee anomalie nei livelli di alimentazione (brown-Out) e watchdog sono implementate per aumentare la robustezza del sistema. Accesso diretto alla memoria (DMA) e schemi di interrupt sofisticati sono usati nella gestione di periferiche per ridurre il carico di lavoro della CPU e per supportare sistemi operativi. Un convertitore ADC ad esempio può riempire i buffer di memoria a lui destinati in DMA, senza intervento della CPU in operazioni di copia, dispendiose dal punto di vista temporale. Le periferiche a bordo sono normalmente gestite attraverso un’interfaccia a registri. Ogni microcontrollore offre un certo numero di linee digitali, programmabili individualmente come input, output, output open-drain, spesso vi sono output ad elevata capacità di pilotaggio (relativamente parlando, ovviamente). Sono sempre presenti sofisticati timer capaci di misurare tempi, generare impulsi e treni di impulsi con precise temporizzazioni, nei casi più sofisticati sono quasi dei coprocessori che richiedono minimo intervento della CPU. Altra sofisticata periferica spesso presente è il convertitore analogico-digitale (ADC), multicanale, con risoluzioni da 8 a 12 bit con riferimento di tensione integrato e spesso capacità autodiagnostiche (auto calibrazione, rilevamento connessioni interrotte). Una vasta gamma di periferiche di comunicazione seriale sono usate nel modo auto. Troviamo la vecchia semplice IIC (Inter Integrated Circuit), la classica UART, LIN (Local Interconnect Network), CAN (Controller Area Network), SPI (Serial Peripheral Interface), Flexray bus ad elevate prestazioni nato come evoluzione del CAN. Più interfacce sono normalmente disponibili nel medesimo microcontrollore, supportate da buffer in ricezione e trasmissione ed una serie di interrupt verso la CPU quando richiesto. Sono in commercio microcontrollori con due CPU identiche indipendenti, capaci di lavorare in parallelo all’esecuzione dello stesso codice realizzando la ridondanza richiesta dai requisiti di Safety, o lavorare in modo indipendente aumentando la potenza di elaborazione disponibile al sistema. Ampie gamme di temperature operative sono garantite anche per i microcontrollori (-40 to 125 °C). La programmazione delle memorie FLASH ed il debug del codice, e parte del test in produzione, sono gestiti attraverso interfacce JTAG a 5 fili, riducibili a due in qualche componente particolarmente ottimizzato. E’ possibile il test di connettività sulla board attraverso la stessa JTAG, per la verifica della corretta saldatura dei componenti e come supporto al collaudo della board applicativa completa.

INTERFACCE DI COMUNICAZIONE

Gli High Speed CAN-Transceiver sono circuiti integrati che realizzano l’interfaccia fisica del bus CAN ad alta velocità (1 Mbaud), rendendo disponibili un driver e receiver differenziali compatibile con ISO 11898. Sono anche disponibili driver per il bus CAN standard limitato a velocità inferiori a 250 kbaud. Sono disponibili componenti per interfacciare microcontrollori alimentati a 3.3V e 5V. I transceiver CAN per impieghi automotive sono caratterizzati da basse emissioni elettromagnetiche ed elevata immunità. I dispositivi possono essere messi in stand-by per ridurre la potenza dissipata, lavorano nella gamma di temperatura -40 C up to 150 C e sono dotati di protezione termica. I pin del bus CAN sopportano il corto circuito verso massa e la tensione di batteria, sia 12V sia 24V. Alcuni componenti consentono di passare in configurazione singolo filo quando rilevato un guasto sul bus. Questo consente di mantenere attiva la comunicazione, sia pur con prestazioni degradate. Sovratensioni fino a 40V sono sopportate sulle alimentazioni. Il bus LIN è un bus di comunicazione bidirezionale a singolo filo, usato nelle reti veicolari destinate al controllo ed integrazione delle applicazioni meno critiche. I LIN transceiver sono l’interfaccia tra il microcontrollore ed il bus fisico. Il trasmettitore si fa carico di ottimizzare lo slew rate dei segnali per ridurre le emissioni elettromagnetiche della rete LIN. Il ricevitore recupera I dati trasmessi e comprende un filtro del rumore di bus che aumenta l’immunità elettromagnetica. LIN ha un’architettura Master/Slave, con Master singolo e velocità fino a 20 kbaud. Garantiscono consumi molto bassi in sleep mode e correnti di leakage molto basse sul bus. Il pin bus sopporta il corto circuito verso massa e verso la tensione di batteria, sia 12V sia 24V. I dispositivi hanno protezioni termiche, detector di bassa tensione di alimentazione e sono molto robusti verso le ESD, sono disponibili dispositivi in grado di tollerare oltre 10 kV (positivi o negativi).

DRIVER MULTICANALI PROGRAMMABILI

Esiste un’ampia gamma di Driver di Potenza, basati su transistor MOSFET o transistor a giunzione a bassa tensione di saturazione, usati per pilotare carichi di varia natura sia connessi al positivo di alimentazione (high-side driver), sia chiudendo la connessione a massa (low-side driver). I carichi più comuni sono motori in continua o stepper, ad esempio per l’alzacristalli o i tergicristalli, lampade ad incandescenza, sempre più spesso sostituite da LED. Altre applicazioni con esigenze di maggiori potenze comprendono il pilotaggio di ventole di raffreddamento, pompa dell’acqua, sistemi elettrici e oleodinamici per lo sterzo. E’ possibile trovare sia driver con i transistor finali integrati, sia driver per finali esterni, consentendo potenze disponibili maggiori, a spese della compattezza dell’insieme. I driver più flessibili consentono di essere configurati in high o low-side o un mix delle due configurazioni, secondo la necessità della specifica applicazione. Questa flessibilità torna utile anche nella costruzione di pilotaggi di motori realizzati come full-bridge o half-bridge. I driver lavorano in tal caso tipicamente in PWM, modo usato anche ad esempio per regolazione della luminosità di LED (dimming). Sono spesso controllabili gli slew rate e ritardi volti ad impedire l’attivazione contemporanea dei due rami del ponte con conseguente picco di corrente istantanea. Il comando dei carichi è effettuato dal micro attraverso interfacce SPI, usata anche per riportare diagnostiche per cortocircuito ed apertura del carico. I dispositivi hanno protezioni da sovratensioni integrate, clamp della tensione di uscita e ogni uscita ha protezione termica. Tipicamente sei o otto driver indipendenti sono integrati, un input di enable/disable di tutte le uscite contemporaneamente è disponibile come opzione. Tutte le caratteristiche citate possono essere presenti non contemporaneamente in componenti magari appartenenti a generazioni un pò datate. La tendenza è comunque basso consumo, vaste capacità autodiagnostiche, buone capacità di comunicazione, resistenza agli stress ambientali. Altra caratteristica comune a tutti i moderni componenti, è il rispetto delle normative di tutela ambientale e l’aderenza in particolare a ROHS, con eliminazione del piombo ed altre sostanze inquinanti dai prodotti finiti e da tutti i processi di fabbricazione (Green components).

QUALITÀ ED AFFIDABILITÀ IN AUTOMOTIVE

Abbiamo detto che caratteristica fondamentale del mondo automotive è la cura riservata a Qualità ed Affidabilità. Cosa si intende esattamente con questi termini? Proviamo a definirli. Qualità esprime l’aderenza alle specifiche, la solidità e ripetibilità di procedure e processi di progettazione, produzione, collaudo, consegna al cliente, documentazione. Notiamo che non implica un giudizio circa il contenuto delle specifiche. Qualità implica l’aderenza alla specifica, entro margini dichiarati, verificati e ben noti, di tutti i componenti di quel tipo prodotti. Un’altra considerazione che possiamo fare, riguarda il fatto che tutte le fasi dalla concezione alla consegna al cliente sono oggetto di attenzione, misura, applicazione delle lezioni imparate e continua innovazione per rilevare ed eliminare qualsiasi possibile causa di difetti e problemi. Naturalmente, non è sufficiente garantire l’aderenza alla specifica del componente nuovo di fabbrica, va garantita per tutta la vita utile del dispositivo, di questo si occupa l’Affidabilità. Se pensiamo per un attimo alle condizioni di lavoro riscontrabili per i componenti elettronici in un’automobile e ad una vita media di dieci anni, possiamo farci un’idea della complessità della cosa. Complessità accresciuta dalla veloce dinamica dell’industria dei semiconduttori che, in ossequio alla legge di Moore, in media rinnova le sue linee di diffusione ogni due anni. Questo è in contrasto con la naturale richiesta dell’industria dell’auto di mantenere in produzione un dispositivo inalterato per cinque o più anni. Qualità ed Affidabilità sono i due pilastri su cui si fondano i programmi “Zero Defect” che praticamente tutti i produttori automotive perseguono da qualche tempo, volti a garantire un numero bassissimo di guasti del componente una volta installato sull’auto. I numeri richiesti dai produttori di auto, ed indirettamente, da noi acquirenti di auto, sono dell’ordine di poche unità guaste su vari milioni di pezzi (0 parti per milione). Questi obiettivi sono continuamente aggiornati e resi più severi, sotto la spinta della crescente presenza di elettronica e del costo di gestione delle eccezioni (difetti, guasti in garanzia, richiami in officina, nei casi più gravi). Le aziende automotive adottano standard internazionali in materia di garanzia della qualità, come ISO9001 e la sua estensione specifica per automotive ISO/TS 16949. In tal modo riferimenti riconosciuti a livello internazionale sono utilizzati ed enti esterni sono chiamati a ispezionare e certificare le procedure di qualità (audit), rendendole più solide e riconosciute dall’insieme dell’industria. Gli obiettivi zero difetti alla consegna e zero difetti durante la vita dell’applicazione sono perseguiti attraverso procedure di progettazione attente alle esigenze del collaudo e della produzione (Design for Testability, Design for Manufacturability). Tutte le gate logiche ed i flip flop appartenenti ad un dispositivo sono resi collaudabili attraverso apposite circuiterie di test, percorsi di accesso seriale accessibili solo in particolari modalità (Test Modes). Estese simulazioni, verifiche funzionali e verifiche su modelli sono realizzate prima di autorizzare la costruzione di prototipi su silicio. I prototipi sono sottoposti a collaudi con finalità multipla. Vi sono verifiche della rispondenza alla specifica, in cui ogni parametro del datasheet è controllato. Vi sono poi validazioni estese oltre I parametri da datasheet per valutare I margini disponibili. Altre serie di test riguardano le verifiche funzionali in applicazione del componente. Se I parametri di base sono corretti, si caratterizza ogni parametro nel range di tensione di alimentazione minima e massima, temperatura minima e massima. Sono inoltre valutati dispositivi ottenuti forzando per costruzione i limiti estremi di parametri chimico/fisici nel processo di fabbricazione, ad esempio la lunghezza di canale dei transistori MOS. In questo modo si verifica la robustezza del progetto verso la naturale variabilità dei parametri in produzione e, per inciso, anche la producibilità con profitto del componente. Prima di autorizzare la produzione in serie, i dispositivi sono sottoposti a qualifica, cioè una serie di prove accelerate che simulano la vita operativa del dispositivo in un periodo limitato, esasperando le condizioni di stress. Un campione statisticamente significativo è sottoposto ad una serie di prove di funzionamento continuo ad alta tensione e temperatura, corrosione, resistenza all’umidità, prove di emissione/suscettibilità elettromagnetica, resistenza a scariche elettrostatiche, assenza di latch-up e cosi via. Il lungo elenco è codificato e normalizzato da normative che l’industria si è data, quali AEC-Q100 (Automotive Electronic Council standards). Eventuali difetti rilevati sono analizzati e pilotano azioni correttive per rimuoverne le cause e garantirne l’eliminazione dalle prove successive. Una volta che il dispositivo è in produzione in volume, il test di ogni singolo componente è ripetuto più volte, sia su wafer sia su pezzo nel package finale. L’area operativa definita da tensione e temperatura minime e massime sono esplorate attraverso test nelle condizioni estreme, per eliminare eventuali componenti difettosi o al limite prima della consegna al cliente. Esercizi di qualifica sono inoltre costantemente ripetuti a campione sui lotti di produzione. Occorre tenere conto del fatto che l’affidabilità può solo essere espressa come bassa probabilità di guasto, non è possibile garantirne l’assenza completa, anche se ci si può avvicinare tanto da rendere la differenza inavvertibile. La tipica casistica dei guasti nei semiconduttori è quindi stata analizzata, identificando la tipica curva a “vasca da bagno” (vedi figura 1). Si può notare come la probabilità di guasto sia molto maggiore nelle prime ore di funzionamento del componente. Un test chiamato “burn-in” è quindi inserito nel collaudo del 100% della produzione, almeno su prodotti nuovi. Il test fa lavorare ogni componente in condizioni di stress, alta temperatura ed alta tensione, per parecchie ore in modo da evidenziare guasti potenziali e discriminare componenti deboli o al limite. Analisi sono anche condotte a livello di lotto di produzione, componenti provenienti da un lotto che presenti difettosità superiore a limiti predefiniti non verranno spediti al cliente. Il risultato è la consegna al cliente di pezzi con bassissimo rischio di guasto nell’applicazione o peggio, sull’auto, quindi “zero defect”, come desiderato. Le complesse procedure qui brevemente accennate sono descritte in dettaglio nei “Reliability Manuals”, vedi ad esempio Rif.2.

Figura 1: probabilità di guasto in funzione del tempo di funzionamento

Figura 1: probabilità di guasto in funzione del tempo di funzionamento

CENNI SUL SOFTWARE

Questo articolo si occupa fondamentalmente di aspetti hardware, ma il mondo Automotive ha molto da offrire in termini di qualità ed affidabilità anche dal punto di vista software. L’argomento viene qua solo accennato, rinviando ai riferimenti per approfondire, ma molto è stato fatto nel settore a partire ad esempio da modellizzazioni avanzate e generazione automatica del codice, MISRA, AUTOSAR. MISRA C, ad esempio, fu definito come sottoinsieme ad elevata affidabilità e predicibilità per il Linguaggio C, disciplinando o sanzionando l’uso di costrutti legali nello standard del linguaggio ma pericolosi dal punto di vista robustezza del codice. Oggi esistono programmi di analisi, detti MISRA C checkers, in grado di leggere un sorgente e segnalare le discordanze dallo standard MISRA, cioè potenziali punti deboli per il sorgente specifico. AUTOSAR definisce un’architettura software aperta e robusta, con una definizione di livelli di astrazione che consentono la creazione di librerie che incapsulano i dettagli dell’hardware.

ROBOT VERSO AUTOMOTIVE

Osservando lo schema a blocchi di un robot mobile, rifacendoci a quanto visto a proposito di Spirit, notiamo molte analogie con le applicazioni automotive. Anche qui abbiamo un vasto parco sensori connesso con una o più sofisticata unità di elaborazione, a loro volta connesse con driver di potenza ed attuatori di varia natura. L’alimentazione è rigorosamente a batterie, almeno per i robot mobili, ponendo ancora più requisiti di basso consumo, attenta gestione dell’energia e della ricarica delle batterie stesse. Anche le caratteristiche ambientali sono simili in termini di vibrazioni meccaniche, inquinamento elettrico ed ambientale (polvere, liquidi), meno stringenti dal punto di vista temperature operative. I robot destinati al lavoro in casa potrebbero trovarsi ad operare tra qualche grado sotto zero fino a 40/45C, mentre robot destinati ad operare all’esterno avranno gli stessi requisiti dell’elettronica per gli abitacoli dell’auto (diciamo tra -40 °C e 70°C). Naturalmente, i requisiti di affidabilità sono i benvenuti in tutte le apparecchiature complesse, robot compresi, dove l’affidabilità complessiva è fondata sull’affidabilità di ogni componente. Un po’ come una catena presenta la resistenza del più debole dei suoi anelli. Ha quindi qualche fondamento rivolgerci a cataloghi automotive nella selezione di componenti per applicazioni robotiche.

CONCLUSIONI

Accertato che lo “scaffale componenti” automotive ha molto da offrire a chi si occupa e si occuperà di robotica, possiamo ora chiederci se tutto quanto visto sia sufficiente ad assicurare la sicurezza ed affidabilità che desideriamo da macchine che vivono tra noi. E’ opinione dell’autore che, pur considerando l’automotive una solida piattaforma di partenza, già in grado di offrire componenti in grado di soddisfare molte esigenze in campo robotico , qualche cosa ancora manchi. L’automobile è affidata a persone in certo modo certificate, attraverso un addestramento ed il riconoscimento del possesso delle caratteristiche fisiche e mentali, atte a renderle adatte alla guida. Tutti noi siamo addestrati ad evitare di invadere l’ambiente riservato agli autoveicoli, le strade. Pur nell’ampia varietà di imprevisti possibili, ostacoli sulla strada, pedoni che attraversano dove non dovrebbero eccetera, l’ambiente in cui l’automotive opera presenta una variabilità assai inferiore rispetto alle abitazioni, cioè gli ambienti in cui umani e robot dovrebbero coesistere. Anche l’insieme delle situazioni in cui le macchine si verrebbero a trovare è decisamente più complesso. Pensiamo ad esempio ad un essere umano che cade accidentalmente, certo vogliamo essere ben certi che il suo assistente robotico si “renda conto” dell’anomalia e non crei ulteriori danni nel tentativo di aiutarlo. Probabilmente, siamo vicini all’integrazione nell’hardware, software e sistema robot di una qualche forma delle tre leggi della robotica, enunciate con tanta lungimiranza da Isaac Asimov. Il robot dovrebbe avere una qualche consapevolezza (forse è più appropriato parlare di “emulazione di consapevolezza”?) delle conseguenze delle proprie azioni ed un filtro che ne abiliti o impedisca l’attuazione. Un’implementazione a livello cognitivo è oggi ancora impensabile, ma non è probabilmente necessario sia cosi sofisticata. Rivestimenti morbidi delle superfici esterne del robot, tali da attenuare l’effetto di involontari urti, sensori di presenza ravvicinata di esseri umani in grado di attivare limitazioni della velocità di spostamento degli arti e focalizzare i sensori del robot sul comportamento dell’umano, potrebbero tutti essere piccoli passi nella direzione auspicata. Una massiccia applicazione dei concetti e delle architetture “safety” accompagnata da una vasta attività di modellizzazione di ambienti e simulazione del comportamento dei robot, sono strade promettenti verso macchine in grado di muoversi tra ed interagire con noi. Probabilmente, evoluzioni più o meno coordinate di safety, sicurezza intrinseca, “consapevolezza” ed un’inevitabile semplificazione degli ambienti in cui i robot saranno chiamati ad operare, coopereranno a delineare la tecnologia di queste macchine. Per inciso, la sinergia con automotive funziona in entrambi i sensi, architetture parallele ad alta tolleranza di guasti, consapevolezza dell’ambiente ed adattabilità a situazioni esterne che coinvolgano umani, sarebbero interessanti per aprire ed evolvere nuovi campi applicativi anche in automotive. Le sinergie non sono ovviamente limitate all’automotive, pensiamo ad esempio all’elettronica per elettromedicali che sta a sua volta conoscendo l’alba di una nuova era.