Salve a tutti dopo aver risolto un quesito per riconoscere e inserire i valori letti dal sensore HMC5883L vedi:http://arduino.cc/forum/index.php/topic,158157.0.html ora ho un ulteriore problema hardware.
Vado a spiegare: ho usato il sensore HMC5883L applicato su una parabola per sapere la posizione in cui si trova visionandola su un display vi faccio un esempio:
quando il sensore mi restituisce un valore fra -3 e +1 il satellite è Hotbird e così via.
Ora però ho notato che a spostamenti ampi della parabola fra 42°est e tornando a 13°est che sarebbe il valore detto sopra spesso il sensore mi restituisce valori differenti non ne margine impostato sopra ( esempio -7 -1) ciò mi invalida il riconoscimento per far scrivere sul display Hotbird.
Ho già provato a controllare se il sensore si spostasse anche di pochissimo ma ciò non avviene.
Ora le cose sono 2, o il sensore scelto da me non va bene per fare questo, oppure il sensore ha una precisione troppo approssimativa :~
Mi date una mano nello scegliere un sensore che possa fare al mio caso.
In pratica mi serve un sensore che faccia da bussola con una ottima precisione, oppure un consiglio o un'idea, grazie.
parapaolo:
In pratica mi serve un sensore che faccia da bussola con una ottima precisione, oppure un consiglio o un'idea, grazie.
Il problema è che serve una perfetta calibrazione del sensore, corretta me trattazione da un punto di vista matematico dei dati, l'eventuale compensazione degli errori introdotti da masse ferromagnetiche e campi magnetici nelle vicinanze.
L'HMC5883L è un buon magnetometro, però va usato nel giusto modo per ottenere risultati corretti, non ultimo anche che deve essere sempre perfettamente in bolla per fornire letture con variazione lineare rispetto all'angolo di rotazione, non a caso solitamente il magnetometro si usa in abbinamento con almeno un accelerometro a due assi per compensare l'inclinazione che anche se lieve può portare ad errori di svariati gradi nelle lettura dell'orientamento.
Altra cosa, hai tenuto conto della declinazione magnetica della tua zona e del fatto che il magnetometro indica il NORD magnetico e non quello reale ?
In pratica io non voglio leggere i valori in gradi precisi, su una posizione mi restituisce un valore che a me fa corrispondere a un satellite, io non voglio sapere i perfetti gradi del satellite un certo valore per me corrisponde a quel satellite. Sò già di essere preciso su quel satellite quando faccio la lettura per prelevare il valore restituito per poi inserirlo nel programma.
Più difficile è il problema di tenerlo in bolla, in quanto la parabola spostandosi assume una diversa posizione e non rimane perpendicolare, ruota su un ipotetico asse che cambia elevazione posizione e inclinazione.
Il sensore è attaccato a parti plastiche molto distante da parti metalliche, quello che non capisco è che io prendo in considerazione un solo valore del sensore che è quello della rotazione su un piano ma questo mi cambia anche se di poco facendo spostamenti ampi e tornando chiamiamolo così sullo zero (che per me è hotbird).
non ho uncampo magnetico vicino oppure qualcosa metallico che possa influenzarlo 