icio:
Ma non leggi il datasheet ? O deve farlo qualcun altro al posto tuo?
Senti signor Saputello, se sei qui per darmi una mano sei il benvenuto; se invece sei qui per dimostrare quanto sono deficienti gli altri allora sei pregato di non intervenire perché non porti alcuna informazioni reale ed utilizzabile a chi, in futuro vorrà rileggere questa discussione.
Non ho mai utilizzato l'AS5600 (ovvero l'MLX90316); l'unica mia esperienza risale ad un rotary encoder incrementale qualche anno fa. Quindi non ho la presunzione di dire "si fa così" oppure "si fa cosà". Non so nemmeno quale protocollo userò (analogico, PWM o I2C) per la comunicazione, devo attendere la consegna delle schedine con l'AS5600 per fare dei test sul campo.
Nella mia applicazione particolare, e solo in alcune circostanze specifiche, mi sarebbe utilissimo accorgermi anche di piccole rotazioni (inferiori al grado) dall'attuale posizione di riposo. In questo senso per me contare l'arrivo di 5 tick/impulsi da un encoder incrementale, ovvero leggere il valore 346 che diventa in 351 da una comunicazione I2C cambia poco la sostanza.
Per me un "tick" è la minima variazione angolare rilevabile dal sensore. Calcolando il numero di "tick" posso sapere se questi hanno superato un certo valore di soglia impostato a programma. Nel mio caso, il "triggering" di questa soglia dovrebbe mandare in esecuzione una particolare parte di codice.
Se la risoluzione del DAC è 4096, ne consegue che la risoluzione angolare di ogni "tick" è 360°/4096 = 0,087°. Il che dovrebbe essere più che sufficiente per i miei (personalissimi) scopi.
Quello che ancora non mi è chiaro, ma che mi riprometto d'approfondire, è l'uso della cosiddetta "isteresi" per evitare che la lettura oscilli tra due valori anche se l'asse è sostanzialmente fermo.
Non ho capito se devo abilitare l'isteresi o meno e quanto questo possa pregiudicare la lettura delle piccola variazioni angolari, che magari sono difficili da distinguere da puri disturbi elettrici:
Hysteresis
To avoid any toggling of the output when the magnet is not
moving, a 1 to 3 LSB hysteresis of the 12-bit resolution can be
enabled with the HYST bits in the CONF register.
Non ho capito, all'atto pratico, cosa succede assegnando a questi bit uno dei quatto valori possibili...