ITK Engineering sviluppa un controller dentale con progettazione Model-Based - MATLAB & Simulink

ITK Engineering sviluppa un controller dentale con progettazione Model-Based

“La progettazione Model-Based con Simulink ci ha consentito di ridurre i costi e i rischi di progetto attraverso la verifica precoce, accorciare i tempi di immissione sul mercato di un sistema certificato IEC 62304 e fornire codice di produzione di alta qualità corretto fin dall’inizio.”

Sfida

Sviluppo e implementazione software di controllo Field-Oriented per motori CC brushless senza sensori da utilizzare nei trapani dentali

Soluzione

Uso della progettazione Model-Basedi con Simulink, Stateflow ed Embedded Coder per modellare il controller e l'impianto, eseguire simulazioni a circuito chiuso, generare codice di produzione e semplificare i test unitari

Risultati

  • Tempo di sviluppo ridotto del 50%
  • Problemi hardware scoperti in anticipo
  • Contratto acquisito, fiducia del cliente rafforzata
Trapani odontoiatrici dotati del controllo del motore brushless senza sensori di ITK Engineering.

I motori brushless CC (BLDC) senza sensori sono adatti all'uso nei trapani odontoiatrici. Funzionano con meno abrasione rispetto ai motori a spazzole e sono più affidabili, silenziosi e facili da manutenere e sterilizzare. Rispetto ai motori BLDC con sensori, i motori BLDC senza sensori sono meno costosi e più compatti. Tuttavia, lo sviluppo degli algoritmi complessi necessari per il controllo senza sensori richiede uno sforzo ingegneristico molto maggiore.

ITK Engineering ha risparmiato tempo e fatica utilizzando la progettazione Model-Based per sviluppare e implementare un controller per motori BLDC di produzione conforme allo standard IEC 62304 per il software per dispositivi medici.

“La progettazione Model-Based con Simulink ci ha consentito di progettare e ottimizzare il controller prima ancora che l'hardware del motore fosse disponibile per i test e quindi di generare il codice di produzione per il controller una volta ottenuto il motore”, afferma il dott. Michael Schwarz, ingegnere senior per i sistemi di controllo medicali presso ITK. “Sarebbe stato impossibile completare questo progetto nei tempi previsti se avessimo scritto il codice a mano.”

Sfida

I motori dei trapani odontoiatrici raggiungono velocità fino a 40.000 giri al minuto. L'algoritmo di controllo Field-Oriented per tali motori necessita di informazioni precise sulla posizione del rotore su un'ampia gamma di velocità. In un motore senza sensori, la posizione del rotore deve essere dedotta dalle variazioni di corrente nello statore causate dall'induzione elettromagnetica del magnete del rotore. Gli ingegneri ITK avevano bisogno di progettare e ottimizzare uno stimatore della posizione del rotore, nonché un sofisticato controllo a cascata per il motore del trapano dentale, che fosse conforme allo standard IEC 62304 per il software dei dispositivi medici.

Quando il progetto ebbe inizio, non era disponibile alcun prototipo di motore. Per rispettare la scadenza del progetto del cliente, ITK ha dovuto sviluppare il software del controller parallelamente all'hardware del motore. Gli ingegneri dell'ITK avevano bisogno di creare un modello accurato del motore e di sviluppare un controller che funzionasse con questo modello. Una volta disponibile il motore, avevano bisogno di implementare e testare rapidamente il loro software di controllo su un processore incorporato.

Soluzione

Gli ingegneri ITK hanno progettato, ottimizzato, implementato e testato il controller del motore BLDC senza sensori con la progettazione Model-Based.

Lavorando sulle schede tecniche dei motori esistenti e sulle informazioni fornite dal loro cliente, gli ingegneri hanno modellato il motore BLDC, compresi i suoi componenti elettrici e meccanici, in Simulink®.

Hanno sviluppato un modello di controller in Simulink e hanno utilizzato Stateflow® per modellare le modalità di avvio, arresto ed errore, nonché le modalità operative selezionabili dall'utente.

Il team ha eseguito simulazioni a circuito chiuso del modello dell'impianto e del modello di controllo iniziale, che si basavano su un segnale di posizione del rotore fornito dal modello dell'impianto.

Per sviluppare lo stimatore della posizione del rotore, il team ha utilizzato Symbolic Math Toolbox™ per risolvere equazioni algebriche, quindi ha perfezionato lo stimatore fino a quando i suoi risultati non hanno corrisposto al segnale effettivo della posizione del rotore proveniente dal modello dell'impianto.

Utilizzando le funzionalità di ridimensionamento automatico e di override del tipo di dati di Fixed-Point Designer™, gli ingegneri hanno convertito il progetto del loro controller a virgola mobile in virgola fissa. Hanno ripetuto le simulazioni per verificare il modello a punto fisso.

Il team ha sviluppato script MATLAB® che eseguivano test unitari in batch sui singoli componenti del modello. Hanno prodotto report di copertura del modello per questi test utilizzando Simulink Coverage™.

Il team ha generato più di 5000 righe di codice C dal loro modello di controller con Embedded Coder®. Hanno compilato il codice per un processore ARM® Cortex®-M3 con un compiler Keil.

Gli ingegneri hanno testato il controller su una scheda prototipo e su un motore, perfezionando il modello e rigenerando il codice più volte per ottimizzarne le prestazioni.

ITK ha consegnato al cliente i modelli Simulink del controller e dell'impianto, insieme al codice di produzione generato. Il controller e il motore BLDC senza sensori sono attualmente in produzione in serie nei trapani odontoiatrici.

Risultati

  • Tempo di sviluppo ridotto del 50%. “Abbiamo completato lo sviluppo del controller in circa quattro mesi”, afferma Schwarz. “Senza la progettazione Model-Based ci sarebbe voluto almeno il doppio del tempo, perché avremmo dovuto aspettare l'hardware, scrivere il codice a mano e testare più prototipi.”

  •  

  • Problemi hardware scoperti in anticipo. “Il nostro modello di impianto rifletteva accuratamente il comportamento del motore, il che ci ha consentito di verificare il nostro controller e l'hardware nelle prime fasi di sviluppo,” afferma Alexander Reiss, ingegnere di sistema presso ITK. “Abbiamo identificato rapidamente la causa principale di un errore sul primo prototipo hardware: I risultati misurati sull'hardware non corrispondevano ai risultati prodotti dal nostro modello Simulink verificato”.

  •  

  • Contratto acquisito, fiducia del cliente rafforzata. “Il nostro cliente voleva iniziare a lavorare immediatamente. “La progettazione Model-Based ci ha aiutato a ottenere il contratto perché ci ha consentito di iniziare lo sviluppo prima che l'hardware fosse disponibile,” afferma Reiss. “La progettazione Model-Based ha anche aumentato la fiducia dei nostri clienti nel nostro lavoro; abbiamo condiviso i nostri modelli e simulazioni Simulink, che ora utilizzano per apportare i propri miglioramenti”.