Che cos’è il «controllo in tempo reale» e perché è necessario?

Autori:
Marlyn Rosales Castaneda – C2000 Applications Engineer, Texas Instruments
Matthias Thoma – Robotics Systems Manager, Texas Instruments

Ogni giorno i consumatori interagiscono con sistemi che accedono all’ambiente circostante e che agiscono di conseguenza. Quando si preme il pedale dell’acceleratore, un veicolo accelera quasi istantaneamente, senza che si notino ritardi fra la pressione del pedale e l’accelerazione.

Per applicare questo esempio all’argomento di questo articolo, immaginando che il veicolo sia il sistema, l’ambiente circostante sia la pressione sull’acceleratore e l’output sia la velocità del veicolo, allora il sistema starebbe implementando ciò che è noto come «controllo in tempo reale». Il controllo in tempo reale è la capacità di un sistema a circuito chiuso di raccogliere dati, elaborarli e aggiornare il sistema nell’arco di una data finestra temporale. Se il sistema manca la finestra definita, si verifica un degrado della sua stabilità, della sua precisione e della sua efficienza. La riduzione del controllo può andare a discapito delle prestazioni del sistema, ad esempio non riuscendo a raggiungere le velocità necessarie o addirittura causando un surriscaldamento. In questo articolo verranno descritti i blocchi funzionali di un sistema di controllo in tempo reale, fornendo un esempio sulla base di un’applicazione nel campo della robotica.

Sebbene non siano necessariamente coinvolte nel controllo del sistema, le comunicazioni con altri componenti del sistema devono anch’esse coesistere con il loop di controllo principale. I blocchi funzionali primari coinvolti nel controllo in tempo reale sono il rilevamento (acquisizione dei dati), il controllo (interpretazione e utilizzo dei dati) e l’attuazione (aggiornamento del sistema) (Figura 1).

I blocchi funzionali primari di un loop di controllo in tempo reale

 

Diamo un’occhiata a questi componenti in maggiore dettaglio.

  • Il rilevamento si riferisce alla misurazione di fattori esterni, come tensione, corrente, velocità del motore o temperatura. Questi parametri fondamentali necessitano di misurazioni accurate e precise per fornire al sistema dati affidabili che si verificano in un dato momento temporale.
  • L’unità di elaborazione centrale applica tecniche di controllo ai dati in ingresso al fine di calcolare il successivo comando di uscita. I microcontroller (MCU) o i controller come le MCU C2000 in tempo reale, le MCU Sitara basate su Arm®, gli azionamenti motore CC brushless integrati e i controller CC/CC, dotati di elevate capacità di elaborazione, possono contribuire a far sì che il sistema centri la finestra temporale, che solitamente si misura in microsecondi o in pochi millisecondi.
  • L’attuazione consiste nell’applicare al sistema il comando di uscita calcolato, in modo da controllare l’uscita. Un esempio di attuazione è la modifica del duty cycle di un’unità a modulatore di larghezza di impulso (PWM) che aziona un sistema elettronico di potenza. I prodotti TI che contribuiscono a migliorare l’attuazione comprendono driver analogici, driver del gate isolati e transistor a effetto di campo al nitruro di gallio (GaN) con driver del gate integrati.
  • Infine, interfacce di comunicazione deterministiche ad alta velocità, come la Fast Serial Interface o Ethernet, permettono di ottenere una comunicazione tempestiva tra il sistema e i dispositivi esterni o i componenti interni.

Nella robotica, ad esempio, il controllo in tempo reale permette di controllare con precisione la posizione e la velocità del motore, posizionando un braccio robotizzato con un’accuratezza <100 µm. Tale accuratezza è possibile grazie alla misurazione costante delle correnti e delle tensioni dei motori, nonché della posizione dei motori. L’unità di elaborazione mette a confronto i valori misurati e i valori calcolati, come mostrato in Figura 2. Sulla base dei risultati, l’unità di elaborazione regola il segnale PWM inviato al motore. Inoltre, l’intero processo deve avvenire in pochi microsecondi al fine di soddisfare le esigenze di accuratezza e temporizzazione del sistema.

Diagramma del loop di corrente veloce

 

Il controllo in tempo reale, inoltre, costituisce la base per sistemi di alimentazione elettrica efficienti e affidabili. Ad esempio, il controllo in tempo reale contribuisce a mantenere stabile la potenza in uscita di una stazione di ricarica e regola la corrente che entra nella batteria di un’automobile per preservarne la vita utile ed evitare il surriscaldamento. La combinazione tra controllo in tempo reale con una MCU e nuove tecnologie come il GaN può aumentare la densità di potenza e l’efficienza, contribuendo a ridurre le perdite di potenza in un’applicazione.

Gli aumenti costanti a livello di prestazioni nei moderni sistemi di azionamento motore hanno portato di conseguenza a sempre maggiori requisiti in termini di controllo in tempo reale. Ad esempio, l’uso di macchine a controllo numerico computerizzato ad alta velocità e precisione (ossia macchine che controllano una vasta gamma di macchinari complessi, come rettificatrici e torni) permette di ottenere livelli di accuratezza <5 µm in rotazione a più di 20.000 giri al minuto. Questa funzionalità è realizzabile soltanto con loop di controllo estremamente veloci, il che significa che il ritardo fra la misurazione del segnale e la regolazione dei sistemi che si ottiene è tipicamente <1 µs.

A causa dell’elevato carico computazionale, fortemente sensibile al fattore tempo, molti progettisti utilizzano una combinazione di FPGA (field-programmable gate array), veloci convertitori analogico-digitali esterni ed MCU multiple. Le MCU C2000 e i processori Sitara di TI offrono tuttavia un maggiore livello di integrazione analogica, che permette loro di eseguire un loop di corrente in <1 µs, noto come loop di corrente veloce. Sfruttando il loop di corrente veloce in moderne topologie di controllo, i progettisti possono sviluppare sistemi più piccoli e dalle prestazioni superiori a costo inferiore.

Inoltre, è possibile ridurre ulteriormente i costi utilizzando una soluzione completamente integrata, come il driver motore MCF8316 di TI. Tali dispositivi dispongono di algoritmi di controllo motore CC brushless pre-programmati che necessitano soltanto di messa a punto, realizzabile tramite una semplice interfaccia I2C dalla MCU per configurare la memoria elettricamente cancellabile programmabile di sola lettura integrata durante la fase di progettazione del sistema. Inoltre, sono dotati di configurazione hardware che permette ai progettisti di sistemi di mettere a punto il motore senza una MCU. La MCF8316 integra sei transistor metallo-ossido-semiconduttore a effetto di campo per fornire corrente al motore, il che risulta in una soluzione completa di controllo motore in tempo reale in un package da 7 mm x 5 mm.

Il controllo in tempo reale è un elemento importante in settori di applicazione come l’infrastruttura di rete, gli elettrodomestici, i veicoli elettrici e ibridi, la distribuzione della potenza, gli azionamenti motore e la robotica. È sempre maggiore la necessità di soddisfare finestre di esecuzione più piccole per tutte queste applicazioni in modo da consentire tempi di risposta sempre più veloci. La gamma completa di tecnologie di rilevamento, elaborazione, controllo e comunicazione di TI offre efficienza energetica, prestazioni e tempi di risposta a bassa latenza per consentire la realizzazione di sistemi di controllo in tempo reale di minori dimensioni e più affidabili.

Per saperne di più sul blocco funzionale di rilevamento del controllo in tempo reale, leggete il prossimo articolo di questa serie «Tre consigli per ottimizzare l’affidabilità dei dati con sensori in sistemi di controllo in tempo reale».

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.

Menu