Un ecosistema per il controllo dei motori

L’ecosistema di STMicroelectronics, facendo leva su una profonda conoscenza e competenza acquisita nell’ambito delle soluzioni di sistema di potenza e digitali, è in grado di supportare qualunque tipo di motore grazie a una gamma molto ampia di prodotti innovativi che comprende Discreti di potenza, moduli intelligenti di potenza, circuiti integrati per il pilotaggio di motori fino agli ultimi microcontrollori digitali che uniscono elevate prestazioni di calcolo e un set unico di periferiche dedicate. Fin dal 2002, ST ha concentrato la sua attenzione sul controllo dei motori trifase e ha sviluppato soluzioni dedicate hardware e software tra cui kit per lo sviluppo di software Field oriented control per abbreviare i tempi necessari per portare sul mercato applicazioni di controllo del moto. La prossima versione dell’STM32 Pmsm Foc Sdk ed ST Workbench supporterà anche la serie di microcontrollori STM32F30x. Questi ultimi uniscono un core Arm Cortex-M4 a 32 bit, istruzioni Fpu e Dsp a 72 MHz con periferiche analogiche avanzate per garantire una maggiore flessibilità.

L’STM32F3 e i vantaggi del Foc
Il Field Oriented Control è una tecnica matematica che ottimizza molti aspetti del pilotaggio a velocità variabile dei motori trifase: offre la migliore risposta di coppia elettromagnetica come nei motori Dc durante i transitori, la migliore efficienza energetica e una buona silenziosità di funzionamento grazie alla regolarità della generazione della coppia e a forme d’onda di corrente sinusoidali. I requisiti hardware di base sono un microcontrollore, un inverter trifase, un sistema per poter misurare le correnti di fase (resistenze shunt, trasduttori isolati di corrente) e l’angolo del rotore (encoder, sensore ad effetto Hall, resolver, un algoritmo ad hoc). Le possibili applicazioni vanno dall’automazione di fabbrica (robot, Plc, Cnc) agli elettrodomestici (lavatrici, condizionatori) al settore industriale (pompe, ventilatori) e molti altri settori (apparecchiature medicali e per il fitness, per esempio) con -ovviamente- grandi variazioni nella potenza necessaria. Il microcontrollore STM32F30x di ST è stato studiato per essere un vero e proprio dispositivo per implementare il Foc, sfruttando l’esperienza acquisita con le famiglie STM32 nel settore del controllo dei motori. Ognuna delle sue caratteristiche garantisce il massimo delle prestazioni: il core Cortex-M4 con Floating Point Unit, Memoria Ram Ccm (Core-Coupled Memory), funzioni analogiche veloci integrate e periferiche digitali ancora migliori.

Floating Point Unit
L’unità per calcoli in virgola mobile a singola precisione, conforme alla Ieee 754, è un elemento fondamentale per il rapido sviluppo di applicazioni innovative: infatti, i numeri interi o a virgola fissa richiedono una progettazione particolarmente attenta e lenta che spesso scoraggia i progettisti a realizzare nuovi concetti interessanti, fino al punto che perfino modifiche relativamente marginali di progetti esistenti a volte sono considerate particolarmente rischiose – a ragione. D’altro canto, poter utilizzare una Fpu rassicura i programmatori: è possibile superare le eventuali difficoltà facendo un uso più rilassato di algoritmi matematici; le modifiche -e di conseguenza i prototipi e il collaudo- possono essere realizzati rapidamente e quindi si riescono a rispettare i tempi previsti per il progetto. Inoltre, la libreria software Arm Cmsis Dsp immediatamente pronta per l’uso, fornisce le più comuni funzioni di elaborazione di segnale tra cui i filtri digitali (Iir, Fir, Lms, convoluzione), trasformazioni e operazioni matematiche complesse. Inoltre, l’unità Fpu permette di sfruttare facilmente gli strumenti per la generazione automatica di codice embedded, come Embedded Coder di Mathworks. Qui, il progettista esperto di controllo dei motori potrebbe avere qualche difficoltà e pensare di non essere in grado di configurare e sincronizzare le periferiche a livello di bit: un’attività che richiede la precisione e la pazienza necessaria per maneggiare gli ingranaggi di un orologio antico. Probabilmente avrebbe ragione, ma Embedded Coder permette di utilizzare algoritmi i cui confini - le variabili di ingresso-uscita - vengono tracciati in modo che il codice generato (e ottimizzato per il nucleo centrale dell’F3) possa essere incluso in un contesto di firmware realizzato manualmente. Le conseguenze di questo approccio sono evidenti: è possibile verificare in maniera molto approfondita gli algoritmi nelle condizioni pessime con simulazioni di tipo Pil (Processor-In-the-Loop), aumentando notevolmente l’affidabilità del firmware e riducendo il tempo necessario per realizzare un nuovo prodotto da presentare al mercato.

Ram Ccm e dual Foc
L’architettura dell’STM32F303 comprende tutte le risorse più avanzate per sfruttare al massimo la potenza di calcolo del core Cortex-M4, indipendentemente sia dagli stati di attesa (per permettere alla memoria flash di adeguarsi alla frequenza della Cpu) che dalla frequenza di ripetizione dei task (per fare in modo che le porzioni di codice interessate siano statisticamente residenti all’interno dei buffer acceleratori). Una Ram Ccm (Core-Coupled Memory) da 8 Kbyte Ram è collegata al bus di istruzioni del Cortex-M4: le istruzioni collocate nell’area Ccm vengono prelevate senza alcuno stato di attesa, mentre si accede ai dati tramite il D-bus dalla Sram, in modo che il pipeline a tre stadi del processore possa funzionare al massimo della sua potenza. È stato valutato che 8 Kbyte è la dimensione ottimale per memorizzare -per esempio- le sezioni che richiedono la maggiore intensità di calcolo della libreria STM32F3 MC, come algoritmi sensorless, misure di corrente, Space Vector Modulation, regolatori Pid trasformazioni e filtraggio. Il posizionamento selettivo delle funzioni nell’area Ccm è semplificato dalle direttive #pragma o dalle keyword attribute disponibili in strumenti come Ewarm, Mdk-Arm e Gnu.
Alcune verifiche preliminari effettuate utilizzando la futura versione dell’STM32 Pmsm Foc Sdk v3.4 dimostrano che la durata dell’esecuzione del Foc - compreso l’algoritmo sensorless - si riduce del 29% a parità di macchina a 72 MHz. Ne consegue che l’implementazione di un doppio Foc simultaneo su STM32F303 è del tutto fattibile grazie alla ricchezza delle periferiche (come già detto nell’introduzione), all’accelerazione hardware brevettata, a un carico sulla Cpu accettabile, e alla consolidata implementazione firmware dell’STM32 Pmsm Foc Sdk.

Periferiche embedded migliorate
La nuova famiglia di microcontrollori STM32F30x è stata pensata e progettata per sfruttare una esperienza più che decennale nel controllo dei motori e va ad ampliare un’offerta già molto solida di prodotti dedicati a questo specifico tipo di applicazione. Oltre alla potenza di calcolo che è stato possibile ottenere grazie a un nucleo centrale (core) migliorato, sono state aggiunte nuove periferiche analogiche per ridurre il carico sulla Cpu e diminuire il numero di componenti esterni necessari per l’applicazione. Nel prodotto sono stati integrati quattro Pga (amplificatori a guadagno programmabile) collegati direttamente ai convertitori analogico-digitali. Questi amplificatori sono stati progettati con caratteristiche di ampiezza di banda e slew rate rispettivamente di 8,2 MHz e 4,7 V/µs tipici; valori adeguati per sfruttare al massimo le più avanzate tecniche di rilevazione della corrente del motore. Se è necessario, perché richiesto dalla tecnica di controllo utilizzata, è possibile modificare i guadagni dei Pga internamente tramite software scegliendo tra quattro diversi valori x2-x16, così come è possibile fissarli utilizzando una rete esterna. Nel microcontrollore sono stati integrati fino a sette comparatori veloci, con fino a 90 ns di ritardo tipico di propagazione. Ognuno può essere collegato direttamente a uno dei due ingressi di emergenza di ciascuna delle periferiche Pwm presenti nel prodotto per gestire funzioni di sicurezza come quelle necessarie nel caso di situazioni di sovra-corrente o sovra-tensione. La gestione di questi guasti rappresenta un aspetto critico dei sistemi di pilotaggio dei motori. Le sofisticate periferiche di temporizzazione utilizzate per generare le sei uscite Pwm (due nel caso della versione STM32F303) sono state migliorate con due canali extra che, in combinazione con la possibilità di attivare la conversione analogico-digitale, permettono di eseguire funzioni complesse senza l’intervento del nucleo centrale di elaborazione, riducendo il carico complessivo sulla Cpu. Infine le periferiche analogico-digitali (nel microcontrollore ne sono state integrate fino a quattro) sono state ulteriormente migliorate sfruttando una architettura brevettata di ST che utilizza una “coda di conversioni sincronizzate” per realizzare una accelerazione hardware delle misure di corrente del motore, progettata specificatamente per il pilotaggio duale.

Scheda duale per il controllo di motori
L’ecosistema per il controllo di motori di ST rende disponibili diverse soluzioni di stadi di controllo e potenza adatti per diverse potenze e differenti tipi di motori. La scheda Steval-IHM042V1 di prossima introduzione è un sistema completo per il pilotaggio di motori che dimostra come l’STM32F3 sia in grado di eseguire un pilotaggio di motori Foc duale in combinazione con due circuiti integrati Dmos per il pilotaggio di motori trifase L6230 con un’uscita di corrente di picco di 2,8 A. Ogni anno ST arricchisce l’ecosistema con nuove tecnologie e prodotti, e ne aumenta il valore grazie a un approccio sistemistico che permette di affrontare in modo adeguato le nuove tendenze nel controllo del movimento dal punto di vista dell’efficienza, integrazione, precisione e affidabilità.

Pubblica i tuoi commenti