Rotary Encoder senza contatto

Il crescente sviluppo di applicazioni in ambito automazione, fa si che la ricerca elettronica punti decisamente verso la ottimizzazione dei sistemi di controllo, in modo da ottenere sistemi dai costi più contenuti e dall’efficienza sempre maggiore. Uno dei settori che in tal senso è più attivo, soprattutto nel tessuto industriale del Nord Est, è il controllo motore industriale. Si presenta nel seguito uno dei dispositivi attualmente più interessante nella catena di controllo, ossia il sensore di feedback ad encoder.

Il controllo motore riveste oggi una importanza sempre maggiore, sia in ambito industriale che consumer, senza trascurare i settori appliance ed automotive. Quali esempi possiamo sicuramente citare i torni industriali figura 1, nei quali il controllo motore è divenuto sempr più evoluto, per poter garantire velocità di rotazione estremamente elevate, oltre a controllo di posizione del rotore precise al decimo di millimetro per le lavorazioni “di precisione”.

Figura 1: tornio industriale.

Figura 1: tornio industriale.

In ambito appliance, oggi le lavatrici per uso domestico o industriale figura 2 richiedono controlli sempre più ottimizzati, dati dall’esigenza di avere velocità di centrifuga sempre maggiori (in modo da ridurre i tempi ed i costi di asciugatura) senza però appesantire  il corpo lavatrice, per non gravare sui costi di trasporto e di gestione del prodotto finito.

Figura 2: Direct Drive.

Figura 2: Direct Drive.

Anche in questo caso il controllo motore si è rivelato fondamentale, con l’implementazione di una uova tecnica, chiamata “Direct Drive”, in cui il cestello viene controllato in modo diretto dall’asse rotore, senza l’ausilio di una cinghia di distribuzione. Grazie a tale accorgimento oggi si è in grado di superare abbondantemente i 1600 giri al minuto, velocità assolutamente impensabili sino a qualche anno addietro. Per finire, il mondo automotive è “invaso” da controlli motore elettrici, basti pensare a tutti i “Comfort tools” quali alzacristalli, regolatori sedili, specchietti automatizzati ed altro. Anche in questo caso l’efficienza, il basso consumo, la bassa rumorosità dei controlli motore evoluti possono garantire automatismi semplici, economici ed affidabili.

Descrizione del controllo  motore

Il  controllo motore risponde, dal punto di vista dello schema a blocchi, al classico controllo automatico retroazionato, in cui si ha un set point, che nel caso più semplice può essere rappresentato da un set point di velocità, seguito da un blocco sommatore, cui verrà successivamente sottratto il contrinbuto di feedback. Questo valore (Set-point - Errore) viene preso quale ingresso da un blocco regolatore, che ad oggi è molto spesso rappresentato da un regolatore Proporzionale - Derivativo - Integrale che viene realizzato nel software di controllo presente sul microprocessore. L’uscita di questo PID costituisce il vero e proprio ingresso per gli attuatori ad inverter, ossia per i devices elettronici che erogano corrente agli avvolgimenti dei motori. Tali inverter sono realizzabili con Mosfet oppure con IGBT, a seconda delle correnti da sottoporre all’avvolgimento e quindi direttamente dipendenti dalla coppia che si desidera applicare al carico. Chi poi va ad effettuare la “lettura” della velocità del motore e quindi a generare l’elemento di errore (velocità voluta - velocità reale) è un sensore, che può essere di diverse tipologie e costo. Lo schema comlpeto di controllo è quindi quello proposto in figura 3.

Figura 3: controllo in retroazione.

Figura 3: controllo in retroazione.

Tipologie  di sensori

Fra i sensori più semplici vi sono certamente i sensori  di hall, che in pratica sono in grado di fornire un feedback al passaggio di un magnete, che spesso viene calettato sull’albero motore (figura 4).

Figura 4: sensore di hall calettato in un motore

Figura 4: sensore di hall calettato in un motore

Questi sensori sono certamente a basso costo, ma presentano notevoli limitazioni, in quanto non funzionano bene ai bassi regimi e soprattutto non for niscono una informazione di tipo assoluto, ossia se si disalimenta il microcontrollore  ed il sistema e lo si riavvia non si ha una informazione assoluta della posizione del rotore. Una certa parte del buon funzionamento di questi sensori dipende dal tipo di magnete che si va ad utilizzare per sollecitare il sensore stesso. Come noto, infatti, vi sono notevoli differenze fra le diverse tipologie di materiale ferromagnetico utilizzabile per realizzare magneti ad uso industriale. Ad esempio, la ferrite costituisce un materiale largamente diffuso e a basso costo, ma dalle scarse proprietà magnetiche. Presenta infatti una densità magnetica ridotta e quindi il vettore induzione magnetica che è in grado di produrre è ridotto. Differentemente, materiali come il Samario Cobalto o il Neodimio Ferro Boro, noti con il nome di “terre rare”, sono certamente migliori, presentano ridottissima isteresi, quindi ben si prestano ad applicazioni di tipo industriale o di precisione. Un’altra tipologia di sensori molto nota ed utiliizzata sono gli encoder rotativi. Questi dispositivi, molto più costosi del citato Hall sensor, offrono una ottima affidabilità, elevata precisione e possono essere utilizzati in modalità assoluta, ossia possono garantire una corretta informazione di posizione anche se il sistema di controllo viene disalimentato. Spesso questi dispositivi sono realizzati con delle bande ottiche, come mostrato in figura 5.

Figura 5: encoder a bande ottiche.

Figura 5: encoder a bande ottiche.

Rotary  Encoder  Magnetico AS5030

Austriamicrosystems propone una soluzione molto interessante per il feeback in sistemi di controllo motore, attraverso una famiglia di dispositivi brevettati denominati “Magnetic Rotary Encoders”. Questa famiglia ha diversi device, che si differenziano per risoluzione (da 8 sino a 12 bit), per interfacciamento  (SPI, PWM, analogico, QEI ed altro) e infine per temperatura di funzionamento (esiste un modello capace di funzionare sino ai 150°C). Per semplicità, in questo articolo si prenderà in esame il più piccolo della familgia, ossia AS5030. Questo dispositivo, realizzato su silicio, presenta al suo interno 4 sensori di Hall, un piccolo DSP special purpose ed una interfaccia analogica. Il dispositivo necessitaper  il suo funzionamento di un solo magnete a due poli che ruoti sopra di esso. La misura effettuata è di tipo assoluto e fornisce in uscita una informazione ad 8 bit sulla posizione del magnete stesso. Chiaramente, avendo a disposizione 8 bit di risoluzione, si avrà una granularità di 1,4° meccanici per bit. Questo valore corrisponde infatti al rapporto fra 256 bit e 360°. Una volta acquisito il valore,  il DSP fornisce in uscita il valore digitale calcolato. A queso punto il dispsitivo può fornire al host microcontroller il dato in diveri modi, fra i quali un segnale PWM con frequenza proporzionale al dato, oppure nel classico formato SPI. L’interfacciamento in seriale sincorna, fra l’altro, consente di poter facilmente riprogrammare  i paramteri  interni del device, per cui si sfrutta una unica in terfaccia sia per i comandi che per i dati. In figura 6 viene riportato il  semplice schema di collegamento  attraverso il quale connettere AS5030 ad un host microcontroller.

Figura 6: schema a blocchi di AS5030.

Figura 6: schema a blocchi di AS5030.

Oltre alla informazione di posizione, questo dispositivo è anche in grado di fornire l’informazione di intensità di campo magnetico, sotto forma di dato a 6 bit. Questo dato si rivela importantissimo nella pratica, in quanto consente di mantenere sempre in “sicurezza meccanica” un controllo motore. Si pensi ad esempio ad un organo rotante che, per eventuali problemi legati alla struttura meccanica, si muova dal proprio asse. Facendo uso di questa informazione a 6 bit sarà possibile arrestare in sicurezza il  motore, evitando pericolosi guasti al sistema. Oltre a questo, il rotary encoder AS5030 consente anche una facile programmazione dello zero. Questa operazione, nota anche con il nome di homing, consente di allineare  il sensore al magnete e a fornire una condizione di “start”, dalla quale partiranno tutti i conteggi assoluti. L’operazione di homing è importante in tutti quei sistemi in cui si deve avere la certezza della posizione del rotore, come ad esempio in un apricancello, in cui è essenziale conoscere esattamente la posizione di “battuta” al montante. Un’ultima considerazione importante riguarda il consumo. Il dispositivo AS5030, infatti, è adatto ad applicazioni Low Power, grazie al suo intrinseco basso consumo e grazie alla caratteristica operativa “Power Down Mode”. Questa modalità, infatti, consente di porre attraverso un comando il dispositivo in modalità di bassissimo consumo. Per uscire dalla modalità Power Down sarà sufficiente che il magnete si muova, rendendo quindi il risvegli  molto simile alla modalità “interrupt driven” dei microcontrollori. A tiolo di esempio, si è sviluppata una piattaforma applicativa con un microcontrollore PIC16F690 Microchip, per capire le funzionalità del device, per ottenere un sistema affidabile e a basso costo e per poter usufruire di un sistema complessivamente a basso consumo. In questo test, il calcolo della corrente assorbita ha mostrato che, nell’ipotesi di sfuttare cicli di Read and Write e di invio comandi come descritti a figura 8, è possibile adattare il sistema per un utilizzo a batteria, qualora la velocità di rotazione asse non sia troppo elevata.

Figura 7: connessione di AS5030 ad un host microcontroller via SPI.

Figura 7: connessione di AS5030 ad un host microcontroller via SPI.

 

Figura 8: cicli di comando con PIC16F690.

Figura 8: cicli di comando con PIC16F690.

In particolare, supponendo di dover aggiornare la lettura ogni 4 secondi, si ha che il dispositivo AS5030 consuma 19mA nell stato di ON (necessari circa 1,5msec) e 1uA nel rimanente tempo di OFF (3998,5msec).  Il microcontrollore PIC16F690, invece, consuma 0,8mA quando è ON (nel software realizzato sono stati sufficienti 3msec, nei quali si gestisce  il rotary encoder ed un piccolo applicativo) e 2uA nel rimanente tempo di OFF. Grazie a tali caratteristiche, si ottine quindi un consumo medio del Rotary Encoder di circa 8,13uA e un consumo medio del PIC di circa 2,60uA. In una tale configurazione, ipotizzando l’utilizzo di una normale batteria da 1A/h, si possono garantire ben 10 anni di vita per l’applicazione!

 

 

 

 

Scrivi un commento

EOS-Academy