Vai al contenuto
LF Lomazzi Federico

Home/Appunti/Elettronica

Elettronica

Edge AI dentro gli elettrodomestici: cosa può fare Microchip senza mettere una NPU in ogni lavatrice

Lomazzi Federico 10 min di lettura

Microchip sta portando l'Edge AI anche dentro dispositivi nei quali costi, spazio e consumi non permettono di installare processori potenti. PIC18, dsPIC33 ed MCU a 32 bit possono eseguire localmente piccoli modelli di Machine Learning per riconoscere anomalie, analizzare sensori, identificare carichi e gestire comandi, mentre MPLAB Machine Learning Development Suite si occupa di costruire ed ottimizzare modelli compatibili con le risorse realmente disponibili.

Microcontrollori Microchip per Edge AI, domotica ed elettrodomestici intelligenti

Ma serve davvero una NPU dentro una lavatrice?

Se avete seguito quello che sta succedendo nel settore dell'Edge AI, saprete certamente che la prima immagine che viene in mente è quasi sempre quella di processori relativamente potenti, acceleratori neurali e parecchia memoria. Ma dentro una lavatrice, una macchina da caffè, un frigorifero oppure un piccolo dispositivo domotico il problema è completamente diverso, perché bisogna fare i conti con pochi centimetri quadrati di circuito stampato, consumi ridotti ed un costo per componente sul quale anche qualche decina di centesimi può avere importanza quando vengono prodotti centinaia di migliaia di pezzi. Ed è proprio qui che l'approccio di Microchip diventa curioso: invece di domandarsi quanta potenza bisogna aggiungere per fare AI, prova anche a domandarsi quanto PICCOLA possa diventare l'AI necessaria a risolvere quel particolare problema.

Questo concetto va chiarito perché un PIC18 non contiene una NPU nascosta e non diventa improvvisamente un processore neurale. Microchip utilizza invece MPLAB Machine Learning Development Suite per costruire modelli ML a basso ingombro, ottimizzandoli in funzione della memoria e delle capacità del dispositivo sul quale dovranno essere eseguiti. La stessa azienda oggi descrive esplicitamente un percorso nel quale si può iniziare con semplici proof of concept persino su MCU ad 8 bit ed arrivare, quando il problema cresce, ai suoi dispositivi a 16 oppure 32 bit. È quindi un modo molto diverso di pensare l'Intelligenza Artificiale, perché non stiamo cercando di far girare ChatGPT nel frigorifero ma di affidare ad un piccolo modello UNA SOLA COSA, possibilmente facendola bene e direttamente dove vengono prodotti i dati.

PIC18-Q20, piccolo sì, ma prima bisogna chiarire cosa può realmente fare

Un componente interessante in questo scenario è la famiglia PIC18-Q20, presentata da Microchip come la prima famiglia di MCU LPC (Low Pin Count) dotata di supporto I3C. Sono microcontrollori ad 8 bit disponibili in package da 14 e 20 pin, con versioni che arrivano a soli 3 x 3 millimetri e Flash da 16, 32 oppure 64 Kbyte. Il clock interno arriva a 64 MHz e troviamo fino a due interfacce I3C, DMA, ADC con capacità di elaborazione, PWM, CLC (Configurable Logic Cells), touch capacitivo, UART, SPI ed I2C, quindi dentro un componente minuscolo c'è già parecchio di quello che serve per stare vicino ai sensori e controllare piccole funzioni in tempo reale.

Qui però correggerei una semplificazione che si incontra facilmente parlando di questa famiglia: il PIC18-Q20 è sicuramente interessante nell'ecosistema Microchip Edge AI perché gli MCU ad 8 bit rientrano nel percorso supportato dalla MPLAB ML Development Suite, ma Microchip presenta specificamente il Q20 soprattutto come MCU compatto per SENSOR INTERFACING, controllo, touch, comunicazione I3C e gestione di sistemi con domini di tensione differenti. Non lo definirei quindi il nuovo processore AI di una lavatrice, sarebbe attribuirgli un ruolo che la documentazione ufficiale non gli assegna. È molto più interessante pensarlo come componente intelligente vicino ai sensori, capace di acquisire, pre-elaborare e gestire dati ed eventualmente ospitare quei modelli ML sufficientemente piccoli da rientrare nelle sue risorse.

I3C e MVIO risolvono problemi molto meno spettacolari dell'AI, ma tremendamente concreti

Se dentro un elettrodomestico cominciamo ad avere accelerometri, sensori ambientali, dispositivi touch ed altri piccoli sensori digitali, dobbiamo farli comunicare ed è qui che I3C diventa interessante. Il PIC18-Q20 integra fino a due periferiche I3C in modalità target ed arriva a supportare il funzionamento I3C ad 1 V, offrendo una comunicazione pensata per sensori moderni con velocità maggiore e consumi inferiori rispetto alle soluzioni più vecchie. Non significa naturalmente che I3C sia una tecnologia AI, significa però poter spostare più facilmente i dati dai sensori al punto nel quale quei dati devono essere elaborati.

A questo Microchip aggiunge MVIO (Multi-Voltage I/O), cioè domini di I/O alimentabili separatamente che permettono al PIC18-Q20 di comunicare con dispositivi funzionanti a tensioni differenti senza riempire la scheda di traslatori di livello esterni. In un prototipo da laboratorio può sembrare poca cosa, in un prodotto costruito in grandi quantità significa invece togliere componenti, piste, spazio, costo e possibili punti di guasto. È uno di quei casi nei quali una caratteristica che non finirà mai scritta in caratteri enormi sulla scatola dell'elettrodomestico può essere parecchio più importante per chi quell'elettrodomestico deve progettarlo.

Le periferiche continuano a lavorare mentre la CPU fa altro

C'è poi un'altra caratteristica tipica dei PIC recenti che in questo contesto assume ancora più senso, ovvero le CIP (Core Independent Peripherals). L'idea è quella di spostare determinate funzioni dal firmware alle periferiche hardware, quindi timer, PWM, logica configurabile, conversione analogica ed altre operazioni possono continuare a lavorare senza costringere continuamente la CPU ad intervenire. Nel PIC18-Q20 troviamo fra le altre cose quattro CLC, quattro canali DMA, due PWM duali a 16 bit ed un ADCC (Analog-to-Digital Converter with Computation) a 10 bit.

Non direi che queste periferiche "eseguono la sicurezza lasciando la CPU all'AI", perché sarebbe una generalizzazione eccessiva, ma il vantaggio pratico è comunque evidente: se una parte dell'acquisizione, della temporizzazione e della logica deterministica viene svolta in hardware, il processore dispone di più tempo per eseguire il firmware applicativo ed eventualmente l'inferenza ML. In un dispositivo con risorse molto piccole non serve necessariamente rendere la CPU più veloce, a volte basta semplicemente evitare di farle fare lavori che una periferica sa già svolgere da sola.

Quando arrivano vibrazioni, motori ed analisi più pesanti entrano in gioco i dsPIC33

Se dal piccolo sensore intelligente passiamo alla lavatrice, al compressore, alla pompa oppure ad un motore, la situazione cambia ed i dsPIC33 diventano probabilmente ancora più interessanti. Microchip indica esplicitamente dsPIC33C e soprattutto i più recenti dsPIC33A per l'inferenza Edge AI, perché qui non abbiamo soltanto una CPU ma un DSC (Digital Signal Controller) con un motore DSP progettato per eseguire molto velocemente operazioni matematiche come MAC (Multiply-Accumulate), cioè esattamente il genere di calcolo che ricorre continuamente nell'elaborazione dei segnali e nei modelli ML.

I dsPIC33C arrivano a 100 MHz mentre la famiglia dsPIC33A arriva a 200 MHz ed aggiunge una FPU hardware in doppia precisione. Microchip mette inoltre a disposizione librerie DSP ottimizzate e periferiche strettamente collegate al core, riducendo il tempo che passa fra acquisire un segnale, elaborarlo, eseguire l'inferenza e prendere una decisione. Qui l'idea di mettere l'AI dentro un elettrodomestico diventa parecchio più concreta, perché corrente assorbita dal motore, vibrazioni, rumore ed altri segnali possono essere analizzati localmente mentre lo stesso dispositivo continua a svolgere il controllo in tempo reale.

Una lavatrice che si accorge che qualche cosa sta cambiando

Pensiamo ad esempio al cestello di una lavatrice. Un sistema tradizionale può controllare velocità, corrente e magari vibrazioni confrontandole con soglie stabilite dal progettista, ma un modello ML può essere addestrato a riconoscere differenti condizioni di funzionamento osservando il segnale nel suo insieme. Microchip mostra già una dimostrazione di manutenzione predittiva sui motori nella quale MPLAB Machine Learning Development Suite costruisce un classificatore capace di distinguere il funzionamento normale da condizioni come carico sbilanciato e cuscinetto danneggiato, analizzando la corrente Iq del motore.

Trasportato nel mondo degli elettrodomestici il concetto è molto interessante. Non significa che il frigorifero possa prevedere magicamente il giorno nel quale si romperà il compressore, ma significa poter riconoscere che il comportamento elettrico oppure meccanico si sta allontanando da condizioni conosciute. Una lavatrice potrebbe riconoscere uno sbilanciamento anomalo, una pompa potrebbe mostrare una firma diversa ed un compressore potrebbe iniziare a iniziare a produrre segnali incompatibili con quelli osservati durante il funzionamento normale, consentendo di segnalare il problema PRIMA che diventi semplicemente "funziona" oppure "non funziona più".

Anche la sicurezza elettrica può diventare un problema di classificazione

Un altro esempio particolarmente interessante arriva dall'Arc Fault Detection, cioè il riconoscimento dei guasti da arco elettrico. Un arco provocato da un collegamento deteriorato oppure da un conduttore danneggiato può generare segnali difficili da distinguere dai disturbi prodotti durante il normale funzionamento di alcuni carichi, quindi affidarsi esclusivamente a soglie e regole fisse può produrre falsi positivi oppure non riconoscere correttamente determinate condizioni.

Microchip ha realizzato una reference demo basata su dsPIC33AK nella quale acquisizione ad alta velocità, DSP ed inferenza ML lavorano localmente per classificare questi eventi. La società dichiara fino al 98% di accuratezza sul modello addestrato per quella dimostrazione ed una rilevazione sotto il millisecondo, senza dipendere dal cloud. Le applicazioni indicate da Microchip comprendono soprattutto fotovoltaico, sistemi di accumulo, caricabatterie EV, data center, smart ignition ed impianti industriali, ma nella propria documentazione compare anche la sicurezza domestica. È quindi una tecnologia molto interessante anche pensando alla casa, facendo però attenzione a non trasformare una reference demo in una certificazione automatica per qualsiasi elettrodomestico.

Comandi vocali locali, senza mandare continuamente il microfono su Internet

Microchip include inoltre il keyword spotting fra le proprie soluzioni Edge AI, cioè il riconoscimento locale di wake word e brevi comandi vocali. Anche qui il vantaggio è facile da capire: se devo riconoscere "accendi", "spegni" oppure una parola di attivazione non c'è necessariamente bisogno di registrare audio, spedirlo attraverso Internet, aspettare un server e ricevere indietro una risposta. L'inferenza sul dispositivo riduce latenza e traffico ed aumenta la privacy proprio perché l'audio può restare localmente.

Bisogna però distinguere ancora una volta le capacità delle diverse famiglie. Microchip mostra oggi il keyword spotting fra i casi d'uso dei dsPIC33 ed ha anche soluzioni più potenti basate su MPU come SAMA7. Non attribuirei quindi automaticamente un riconoscimento vocale completo al piccolo PIC18-Q20 soltanto perché appartiene ad una famiglia supportabile dagli strumenti ML. Nell'Edge AI la domanda corretta non è "questo microcontrollore supporta l'AI?", ma "QUESTO modello, con QUESTI dati e QUESTI tempi di risposta, entra nella Flash e nella RAM di questo microcontrollore ed inferisce abbastanza velocemente?". È una differenza enorme.

MPLAB Machine Learning Development Suite è ciò che tiene insieme il sistema

Il collegamento fra questi dispositivi è MPLAB Machine Learning Development Suite, che attraverso AutoML permette di partire dai dati dei sensori, estrarre le caratteristiche utili, costruire e validare modelli ed ottimizzarli tenendo conto dei vincoli di memoria del target. Questo è probabilmente il passaggio più importante dell'intero ecosistema, perché rende possibile partire da un MCU economico e verificare concretamente se il problema entra nelle sue risorse invece di scegliere immediatamente un processore molto più potente per prudenza.

Microchip ha inoltre portato nel proprio ambiente il supporto a partner come Edge Impulse e SensiML. Un esempio ufficiale particolarmente istruttivo utilizza il SAMD21 Machine Learning Evaluation Kit, basato sulla famiglia Arm Cortex-M0+ a 32 bit, con Edge Impulse per classificare dati provenienti da un'IMU a sei assi. Nel progetto dimostrativo pubblicato da Microchip l'applicazione occupa circa 104 Kbyte di ROM e circa 9 Kbyte di RAM, con un'inferenza completa nell'ordine di 379 millisecondi a 48 MHz. Non è un benchmark di domotica, ma fa capire molto bene le dimensioni reali che può avere un'applicazione TinyML su un Cortex-M0+ senza alcuna NPU.

Dal PIC da pochi pin al controllo intelligente dell'elettrodomestico

Alla fine la cosa che trovo interessante nell'approccio Microchip è proprio il fatto che non esista un unico "chip AI per elettrodomestici". Il PIC18-Q20 può stare vicinissimo ai sensori, occupare pochissimo spazio, gestire I3C, touch e domini di tensione differenti ed eventualmente eseguire modelli compatibili con le sue risorse; salendo verso i dsPIC33 abbiamo DSP, maggiore potenza matematica ed un'architettura molto più adatta ad analizzare motori, vibrazioni, correnti ed altri segnali complessi in tempo reale, mentre dispositivi a 32 bit come SAMD21 permettono di affrontare modelli TinyML differenti e sono già integrati anche con ecosistemi esterni come Edge Impulse.

È un'idea di Edge AI che personalmente trovo più interessante di tante dimostrazioni spettacolari fatte con hardware sovradimensionato, perché qui il problema diventa far stare l'intelligenza DENTRO un prodotto che deve continuare a costare poco. Una lavatrice non ha bisogno di sapere tutto, un frigorifero non deve conversare di filosofia ed una presa intelligente non deve riconoscere un gatto in una fotografia, ma possono imparare a riconoscere alcune condizioni molto specifiche osservando vibrazioni, corrente, suono ed altri segnali che possiedono già. Ed a quel punto mettere un piccolo modello direttamente vicino al sensore significa prendere quei dati e trasformarli in una decisione senza mandarli necessariamente da nessuna parte, USANDO L'AI SOLTANTO DOVE SERVE!

7 visite

Fonti

  1. Microchip Technology - PIC18-Q20 Microcontrollers www.microchip.com
  2. Microchip Technology - First Low Pin Count MCU Family With I3C Support www.microchip.com
  3. Microchip Technology - Edge AI www.microchip.com
  4. Microchip Technology - Edge AI/ML Inferencing on dsPIC33 DSCs www.microchip.com
  5. Microchip Technology - Machine Learning AI Based Arc Fault Detection Reference Demo www.microchip.com
  6. Microchip Technology - Smart Predictive Maintenance www.microchip.com
  7. Microchip Technology - Motor Control AI/ML Predictive Maintenance Demonstration www.microchip.com
  8. Microchip Developer Help - SAMD21 Machine Learning Evaluation Kit con Edge Impulse developerhelp.microchip.com
  9. Microchip Developer Help - Machine Learning Partners Plugin developerhelp.microchip.com
  10. Microchip Technology - Production-Ready Full-Stack Edge AI Solutions www.microchip.com

Commenti

Nessun commento, per ora.

Per commentare serve un accesso. Qui siamo tutti tecnici e colleghi!

Accedi per commentare

Scarica