In questi giorni ho sperimentato con l’AS5600 encoder magnetico un sensore di tipo rotativo che misura l’intensità del campo magnetico determinando la posizione angolare.
Si tratta di un encoder rotativo, magnetico, assoluto tra caratteristiche davvero interessanti e che approfondirai nel corso di questo primo articolo descrittivo.
AS5600 encoder magnetico
l’AS5600 è un “contactless angle measurement” come definito sul sito del produttore ams
con interfaccia IIC o I2C che consente all’AS5600 encoder magnetico di restituire una precisione angolare di 0,0879° grazie alla risoluzione di 12 bit:
360° / 4096 = 0,0879
in molti progetti tale precisione è elevata e tenderemo ad arrotondarla, riportando la misurazione al grado, al 1/2 grado e fino al decimo ( 0,1° )
Raramente in un progetto maker vedrai impiegare la precisione assoluta di cui l’AS5600 encoder magnetico è capace.
La parola “assoluto”, o “posizione assoluta”, ritorna spesso quando si parla di questo encoder rorativo magnetico in quanto questo encoder restituisce sempre la posizione angolare assoluta del magnete rispetto alla sua posizione.
Questo comporta un enorme vantaggio in termini di spostamento angolare, perché potrai sempre conoscere la corretta posizione dell’angolo in cui si trova il componente, l’albero motore o la manopola a cui l’encoder è connesso.
Packaging AS5600
l’AS5600 è spesso montato e venduto in kit su un pcb simile al seguente:
che ti mette a disposizione i pin di connessione dell’AS5600 encoder magnetico in formato 2,54mm per l’impiego nei tuoi progetti.
Inoltre dispone delle resistenze, condensatori e header necessari al corretto funzionamento da subito.
Il piccolo magnete, in dotazione, è un magnete radiale, ossia i poli N ed S sono disposti in modo radiale rispetto al diametro, anche detto “magnete diametrale”:
che differisce dai più comuni magneti assiali:
in cui le due facce N ed S sono sovrapposte rispetto all’asse centrale del magnete stesso.
Uso dell’AS5600
Compreso che il montaggio du una basetta PCB rende davvero comodo l’impiego di questo encoder magnetico nei tuoi progetti è necessario che tu sappia che esistono diverse librerie per Arduino.
La libreria che ho utilizzato, con soddisfazione, per i miei test è quella rilasciata da Seeed Studio spesso base di partenza per altre librerie che aggiungono funzionalità a questa.
Inoltre questa libreria è stata usata nel progetto di scottbez1: AS5600Knob.
che ho ripreso per realizzare un mio progetto di test ed una sua evoluzione di cui leggerai a breve.
6 commenti
Vai al modulo dei commenti
Grazie Mauro per la condivisione della Tua esperienza e conoscenza. Complimenti sempre molto chiaro ed esaustivo. Mi piacerebbe vedere un approfondimento applicativo dell’ AS5600 utilizzato come fine corsa elettronico in sostituzione dei fine corsa meccanici,magnetici ecc. Provo a spiegarmi meglio immagina di avere una manopola per esempio anche gia motorizzata (motorino c.c.) che in senso orario o antiorario può solo fare un certo numero di giri e si deve bloccare anche se continua a ricevere il comando perché altrimenti farà danni all’apparecchiatura su cui è montata. Nel mio caso devo comandare una manopola per la messa a fuoco di un telescopio. Grazie per quello che potrai fare e ancora complimenti.
Giacomo Visone
Autore
Ciao Giacomo,
idea molto interessante, mi piacerebbe invitarti a provare da solo a impostare il progetto, che è molto più semplice di quanto immagini, si tratta di contare i giri e mettere un paio di if 🙂
Buongiorno Mauro, potrebbe essere utilizzato come bussola? Montandolo su una banderuola per determinare la direzione del vento? Utilizzando un esp32?
Autore
Ciao Alfredo,
certamente può essere utilizzato per determinare la direzione del vento e con un esp32, non penso che sia possibile usarlo come bussola in quanto non segue il polo magnetico terrestre.
Grazie Mauro,
ancora una domanda: se tutto il sistema si spegne, alla riaccensione riparte da 0 oppure dalla posizione reale in cui si trova?
Autore
Ciao Alfredo,
poiché è un encoder assoluto il valore di posizione dipende da dove si trova il magnete, questo comporta che se non lo sposti tra lo spegnimento e la riaccenzione ripartirai dal medesimo valore angolare.