IoT è chi IoT lo fa: dall’idea al prototipo

Progettare è un’arte ed è davvero necessario essere un po' artisti per riuscire a farlo correttamente. Quando si crea un progetto, diventa indispensabile immaginare tutto, preventivare ogni singola funzione, ogni comportamento, sia esso dell'utente o del sistema, ed è fondamentale anche specificare ogni variabile di interesse per poter avere un pieno controllo dell'intero ciclo di vita del progetto. Per raggiungere questi obiettivi bisogna comprendere completamente le richieste del cliente, pianificare le risorse necessarie, organizzare in maniera precisa e puntuale i tempi di esecuzione e verificare ogni singola fase. In questo articolo inizieremo a vedere insieme alcuni casi di progettazione ed esperimenti di rapid prototyping grazie ai quali comprenderemo meglio quali sono le sfide principali cui si va incontro durante la realizzazione di un progetto. Il tutto, ovviamente, mediante esempi pratici e sperimentazione in casi reali. Ciò indicherà la strada, a partire dal più semplice fino al più complesso progetto IoT. Siete pronti?

INTRODUZIONE

La progettazione è probabilmente una delle mansioni più complesse e variegate che esistano. A prescindere da ciò che si sta progettando, infatti, ad un progettista è sempre richiesto di avere una visione d'insieme completa, puntuale e capace di tener conto e traccia di ogni singola problematica, del perché è emersa e soprattutto di come è stata eventualmente risolta. L'evoluzione tecnologica, ma anche quella della conoscenza, ha consentito alla tecnica di diventare sempre più rapida ed efficace, tuttavia le esigenze di base non sono cambiate. In questo contesto si afferma il cosiddetto rapid prototyping, un insieme di tecniche, strumenti e procedure che puntano ad accelerare ed ottimizzare parti del processo di progettazione. Prima di arrivare a questo, però, si sono attraversate diverse fasi storiche che è importantissimo comprendere e conoscere.

LE RIVOLUZIONI INDUSTRIALI

L'automazione ha ragioni storiche e la si può convenzionalmente far risalire alla fine del 1700 con l'introduzione della macchina a vapore all'interno dell'industria tessile nell'antica Gran Bretagna. All'epoca i lavori di tessitura, che erano tra i lavori di manifattura più pregiati e ricercati nel mondo, venivano prevalentemente fatti a mano o con l'ausilio di macchine che però avevano meccanismi di automazione davvero rudimentali.

Figura 1. Macchine da cucire d'epoca

La macchina a vapore cambiò tutto. L'invenzione di un meccanismo automatico che sfruttava la forza del vapore apparve in quel momento storico davvero rivoluzionario. Certamente gli uomini del tempo pensarono a quanto queste macchine potessero essere veloci e quanto potessero fare di più rispetto a prima. Molto probabilmente non gli fu chiaro fin da subito che stavano per cambiare il mondo in una maniera tale che indietro non si sarebbe mai più tornati.

Figura 2. Macchinari e valvole di controllo all'interno di una fabbrica

Agli inizi del '900, in una fabbrica di automobili americana, Henry Ford decise di mettere in pratica il concetto di catena di montaggio. Gli operai hanno dei compiti ben precisi, li eseguono in sequenza, manipolano solo quello che si trova davanti a loro e la postazione, piuttosto che la fabbrica in quanto tale, diventa il loro luogo di lavoro. Vengono diminuiti gli spostamenti, ottimizzata la logistica, assegnati staticamente i compiti. È l'inizio della produzione di massa. Da quel momento in poi, gli storici individuano un incremento sempre maggiore della velocità di espansione e di ottimizzazione degli strumenti automatici all'interno della nostra società. L'industria non si basa più sull’agrario ma sulla manifattura, l'economia diventa prevalentemente di settore terziario e di servizi. Fino ai giorni nostri, quando l'industria manifatturiera incontra il mondo digitale. Nasce cosi' il concetto di digitalizzazione dei processi produttivi e la tecnologia cambia ancora.

E qui arriviamo ai giorni nostri, in cui si parla di Industry 4.0. Ma cos’è?

Con il termine "Industry 4.0" si fa riferimento ad un programma quadro lanciato dal governo tedesco nell'ambito di un progetto di digitalizzazione dell'intero comparto industriale europeo da parte dell'Unione Europea. Lo scopo è quello di seguire alcune direttrici nel processo di sviluppo:

  1. innovazione di processo, ovvero ammodernamento, digitalizzazione, ottimizzazione continua di tutto quello che ha a che fare con ciascun processo industriale. Gestione del magazzino, approvvigionamento merci, spostamenti e logistica, assemblaggi, test, verifiche, anche di qualità;
  2. innovazione di prodotto, ovvero adattamento tecnologico dei prodotti industriali al fine di incontrare i più aggiornati criteri in termini di compatibilità ambientale, eliminazione di sostanze pericolose e standard di funzionamento e sicurezza;
  3. complessiva riduzione delle emissioni di CO2 e di altre sostanze pericolose nell'atmosfera entro il 2020;
  4. utilizzo di fonti energetiche rinnovabili per raggiungere l'abbattimento dei costi di produzione e generazione di energia.

Questi, e molti altri ancora, rappresentano gli assi portanti della rivoluzione digitale che abbiamo di fronte a noi e che sono oggi il vero motore propulsore dell'innovazione e del rinnovamento che stiamo osservando.

IL PROCESSO INDUSTRIALE

Il processo industriale è, in via del tutto generale, descrivibile identificando alcune fasi fondamentali:

  1. il pensiero, ovvero il momento in cui viene immaginato e descritto ed, in via preliminare, progettato il sistema o la soluzione di riferimento. Probabilmente si tratta della fase più importante, quella in cui tutto ciò che il sistema si pensa debba poter fare, viene delineato. In generale, in questa fase il sogno comincia a prendere forma. Tutto parte, di solito, da un'idea, ma il pensiero è probabilmente la fase operativa nella quale qualcosa di cui fino a quel momento si era soltanto parlato, comincia a prendere forma per diventare reale;
  2. il progetto, ovvero il momento in cui la semplice descrizione non basta più e bisogna cominciare operativamente a stabilire numeri e intervalli di interesse, in definitiva fare i conti. In questa fase tutte le specifiche tecniche e funzionali cominciano a diventare concrete e si realizza quel compromesso tra l'idea fantasiosa iniziale ed il prodotto vero e proprio che verrà creato. In questa fase è necessario essere estremamente concreti, disponibili al compromesso ma soprattutto adattabili a concertare le varie esigenze;
  3. la fabbricazione, ovvero la fase in cui uno stabilimento fatto da persone, oggetti, materie prime e strumenti di lavoro, diventa la fucina della nostra idea. Qui tantissime persone, spesso non consapevoli di quello che stanno facendo nel complesso, eseguono compiti che contribuiranno a tirar fuori il prodotto finito, ovvero contribuisce a creare un oggetto tramite azioni elementari come avvitare una vite o controllare, mediante ispezione visiva, che un pezzo sia lucido o del giusto colore;
  4. la distribuzione, che naturalmente è una fase che cambia tantissimo in funzione di cosa stiamo producendo. Oggi ad esempio, non c'è più bisogno di recarsi fisicamente nei negozi per comprare un software su un supporto fisico come un CD-ROM. L'evoluzione tecnologica ha garantito connessioni Internet molto veloci anche per utenze domestiche e quindi è possibile scaricare una copia del software in digitale mediante download diretto grazie ad un sito dedicato. In realtà, anche per prodotti fisici si potrebbe fare lo stesso ragionamento, dal momento che esistono tante aziende che si occupano di effettuare spedizioni in ogni parte del mondo in tempi brevi, entro 24 o al massimo 48 ore.

La domanda, dunque, può diventare: cosa c'è da ottimizzare in tutto questo? Le risposte, in verità, sono tantissime, perché è possibile ottimizzare tempi, costi e prototipi intesi come risultato delle singole fasi intermedie di prototipazione che il progetto attraversa. Naturalmente la semplice voce “tempi”, vuol dire poco. Per tempi si intendono, ad esempio, i tempi di assemblaggio, di approvvigionamento delle merci e di spedizione. Ma si tratta anche dei tempi inerenti alle procedure all'interno di una fabbrica. Anche la voce costi è polivalente, perché il costo non è semplicemente l'ammontare di denaro speso per l'acquisto delle materie prime ma può essere anche il numero di persone necessarie affinché un singolo processo venga completato. Tra i costi non incide solo il capitale umano, ma anche la pulizia di uno stabile, le ispezioni e le verifiche per il controllo di qualità e, non ultimo, l'adeguamento a nuove normative. Per ora, quindi, stiamo parlando in linea generale. In base allo specifico prodotto, processo, azienda o prototipo, sarà possibile declinare in maniera precisa e puntuale tutte queste voci, nel dettaglio.

VIRTUAL PROTOTYPE

Quanto detto fino a questo momento riguarda, in generale, la prototipazione, la progettazione e l'impianto industriale così come lo conosciamo oggi. Naturalmente, però, il nostro interesse quando parliamo di tecnologie di rapid prototyping è molto più specifico. Ad esempio, la nostra comunità su Elettronica Open Source è prevalentemente composta da ingegneri, hobbisti, makers che si occupano di prototipazione elettronica, informatica e programmazione più in generale. Questo tipo di figure professionali spesso ha a che fare con il concetto di prototipo virtuale, altrimenti noto come digital mock-up. È indubbio che creare un prototipo significa non andare sul mercato con la prima realizzazione di un progetto. Esso sicuramente avrà problemi di funzionamento, anche di ordine pratico, sarà poco utilizzatabile, probabilmente non avrà un design particolarmente accattivante. Il concetto della prototipazione e della realizzazione di un prototipo virtuale, dipende dal fatto che è necessario che un prodotto possa essere presentato, analizzato e testato relativamente ai parametri fondamentali inerenti il suo processo. In particolare, ci stiamo riferendo a:

  • progettazione
  • ingegnerizzazione
  • manutenzione
  • smaltimento

È importante comprendere che su un prototipo virtuale è possibile effettuare delle operazioni che servono a testare l'oggetto virtuale come se fosse un oggetto fisico. La scelta di strumenti software opportuni fa parte di quelle voci di design di cui abbiamo parlato in precedenza. Nel concreto, se vogliamo creare una scheda elettronica integrata che si occupi di elaborare dei segnali, il nostro prototipo virtuale molto probabilmente sarà realizzato in ambiente CAD elettronico, grazie a strumenti come KiCAD, OrCAD, ma anche EAGLE, Altium Design e simili. Se vogliamo sviluppare una soluzione software per la gestione del database di un sistema di accessi controllato, il nostro prototipo virtuale sarà in realtà un codice lungo un certo numero di righe, scritte in un determinato linguaggio e  che verrà redatto da uno sviluppatore in un IDE come Visual Studio, Eclipse o altri.

OPEN SOURCE MANUFACTURING

L'Open Source è in generale una filosofia, ma rappresenta nel concreto una vera e propria opportunità per le aziende. L'esempio principale di questo è il sistema operativo Mac OS di Apple. Interamente basato su Linux, il sistema operativo si avvantaggia dell'esperienza decennale degli utenti della community Open Source per creare una soluzione proprietaria, venduta a costi sostenuti, che però viene ottimizzata in house. Apple ha ereditato l'intero know-how della comunità globale dell'Open Source che si è occupata di Linux dall'inizio fino ad oggi per poter partire avvantaggiata e creare una serie di applicazioni e servizi che venissero specificatamente ottimizzati. Il vantaggio di avere Mac OS non è soltanto questo, dal momento che l'ecosistema Apple gode di un'ottima fase di sviluppo condotta da tutti gli ingegneri informatici che all'interno dell'azienda hanno continuativamente mantenuto la soluzione, implementando funzionalità via via più avanzate. Esistono altri esempi di come l'Open Source rappresenti una vera e propria opportunità commerciale. In generale, quello che possiamo dire è che la produzione industriale che si basa sui prodotti della comunità Open Source di solito si avvantaggia anche di una community. Quando un progetto viene reso disponibile on-line, la creazione della community di utenti è davvero un valore aggiunto. Gli utenti che scrivono sui forum, rispondono sui blog oppure creano dei progetti derivati, rappresentano una vera e propria risorsa non soltanto perché le aziende possono fare scouting di persone talentuose, ma anche e soprattutto perché questo tipo di interazioni funziona quasi meglio del beta testing dal momento che gli utenti rispondono ed interagiscono su specifiche problematiche. Oltre alla risoluzione di problemi ed alla loro individuazione in via preventiva, vengono anche suggerite le possibili espansioni del software. Quali funzioni mancano? Quali gli utenti preferirebbero? Quali sviluppare prima e dopo? Sono tutte domande importantissime alle quali un'azienda deve rispondere. Molto spesso, per farlo, è indispensabile fare indagini di mercato, coinvolgere personale delle risorse umane, interagire con un campione di utenti, parlare con chi si occupa del marketing e così via dicendo. Una community di utenti snellisce questo processo, abbatte i costi di realizzazione e propone anche altri vantaggi minori.

DALLA TEORIA ALLA PRATICA

Making Hardware

Nella prototipazione rapida di sistemi elettronici integrati, come ad esempio schede embedded, le sfide progettuali si possono affrontare in fasi successive. Prima di tutto, infatti, è indispensabile comprendere quali sono le specifiche di progetto. Dall'idea è necessario derivare tutte le caratteristiche funzionali, i tipi di interazioni con il sistema, le tipologie di segnali ma anche le possibilità di espansione. La prima fase, ovvero quella della descrizione generale del progetto, in cui ciò che immaginiamo che il progetto dovrà fare viene scritto su carta, viene seguita da una fase di stesura delle specifiche tecniche del sistema. Una volta definito l'insieme di tutte le specifiche tecniche e funzionali che il sistema deve poter garantire, sia lato utente nell'interazione, sia lato sviluppatore per la possibilità di espandere la scheda, ovvero montare nuovi componenti piuttosto che collegare periferiche esterne, si passa alla scelta dei componenti. Questa fase è davvero critica perché la scelta di un componente condiziona moltissimo non soltanto il fatto che si rispettino le specifiche correnti, ovvero, della versione del sistema che si vuole realizzare, ma anche e soprattutto la possibilità di espandere le funzionalità nel futuro. Prendiamo come esempio il caso di Arduino. Nella sua versione Uno, la scheda prevede l'utilizzo di un microcontrollore, in particolare l’ATMega328p, il quale viene collegato ad uno zoccolo (socket) che a sua volta accetta collegamenti verso: una tensione di alimentazione, ovvero un collegamento duale al potenziale più alto ed al potenziale di massa, che naturalmente nei circuiti digitali in logica TTL 5 V è sempre 0, una serie di collegamenti ancora rimasti fluttuanti per le periferiche di input/output (I/O) esterne, alcuni altri collegamenti per l'interfacciamento tramite seriale e quindi il collegamento USB. La configurazione minima che consente la messa in funzione di Arduino nella sua versione Uno è la seguente:

Figura 3. Configurazione minima per l'avvio di un ATMega328

Ovviamente, in questa versione, la scheda non è assolutamente bella da vedere, certamente non è ingegnerizzata ma propone le specifiche iniziali di progetto della scheda ovvero mettere in funzione un microcontrollore. Questo è un chiaro esempio di mock-up del progetto dove il progetto è, a sua volta, una scheda di prototipazione che diventi la base per mock-up di progetti elettronici. Sembra un paradosso, ma vale la pena sottolineare che il ruolo centrale della scheda a microcontrollore obbliga ad eseguire tutti i passi di progetto di cui abbiamo parlato fino a questo momento per essere sicuri che la scheda, nella sua versione finale, funzioni esattamente come deve. Completato il mock-up, si passa al test ed alla verifica, ovvero si provano le funzionalità di base, si verificano i livelli di tensione e quelli di corrente. Dopo aver fatto questo, è indispensabile procedere nell'aggiunta successiva di funzionalità e, pertanto, vale la pena di provare i singoli collegamenti sui singoli pin, in funzione della loro specifica. Una volta realizzato il circuito in vitro, ovvero su breadboard, in fase prototipale, si può passare alla formalizzazione dello schematico su CAD. Ovviamente la scelta del CAD di riferimento è molto importante e soprattutto è soggettiva. I progettisti che si occupano di sbroglio hanno molte preferenze in tal senso e scelgono in maniera elettiva il loro CAD di riferimento per potersi specializzare nel suo utilizzo, personalizzare le routine per effettuare lo sbroglio ed impostare l'ambiente di lavoro così da ottimizzare la loro produttività ed in ultimo il processo. Dalla realizzazione del circuito, poi, si passa allo sbroglio vero e proprio in cui tutti e soli i componenti che servono per implementare le funzionalità previste vengono messi insieme, disposti in maniera tale da occupare il minor spazio possibile, connessi ottimizzando al meglio la lunghezza ed il numero dei collegamenti. A questo segue la fase di realizzazione vera e propria della scheda. Se non volete utilizzare delle tecniche fai da te, nonostante la bellezza del Do-It-Yourself, potete certamente rivolgervi a servizi online per un preventivo. Una volta che avrete realizzato un circuito stampato, sarà la volta del posizionamento dei componenti. Questa è una fase molto critica e deve essere eseguita con grande precisione, soprattutto quando le dimensioni dei circuiti e degli integrati di riferimento diminuiscono. L'elettronica integrata ha dato una notevole spinta ed un grande impulso allo sviluppo di tecniche avanzate per la gestione di componenti microelettronici. Questo vuole anche dire che risulta difficile creare le proprie schede a casa, ovvero andare oltre la fase dello sbroglio. Quando la scheda è completa, montata, ripulita da eventuali residui della saldatura, può essere testata. Il testing deve essere fatto verificando ogni singola funzionalità, ogni possibile interazione e, possibilmente, andando anche oltre quelli che sono i limiti funzionali imposti. Ad esempio è indispensabile testare i livelli di tensione di funzionamento effettivamente supportati perché condizioni di sovralimentazione devono poter essere documentate. Le domande alle quali rispondere arrivati a questo punto sono:

  • in che condizioni la scheda smette di funzionare in maniera ottimale?
  • quali sono i possibili errori dovuti alle condizioni di malfunzionamento?
  • quali sono tutte le condizioni di malfunzionamento possibili?
  • ci sono particolari precauzioni da utilizzare?

Tutte queste domande servono per poter scrivere una sorta di manuale.

Making software

Con il software la cosa procede in maniera non dissimile ma forse appena più facile da visualizzare e comprendere. Se il focus è l'interazione con l'utente, il mock-up di un progetto software, infatti, molto facilmente potrebbe essere il front end di un portale web più in generale. Il mock-up di software CAD potrebbe essere l'interfaccia con la quale l'utente interagisce per azionare i vari comandi oppure accedere alle varie funzioni, come una dashboard. Naturalmente, in un mock-up con questa funzione, si sottintende che tutti i pulsanti, tutte le interazioni e tutti i servizi sono gestiti da un corrispondente servizio operante nella sezione di back end. Un progetto software attraversa le stesse fasi della prototipazione hardware [...]

ATTENZIONE: quello che hai appena letto è solo un estratto, l'Articolo Tecnico completo è composto da ben 4648 parole ed è riservato agli ABBONATI. Con l'Abbonamento avrai anche accesso a tutti gli altri Articoli Tecnici che potrai leggere in formato PDF per un anno. ABBONATI ORA, è semplice e sicuro.

Scarica subito una copia gratis

Scrivi un commento

Seguici anche sul tuo Social Network preferito!

Send this to a friend