Closed bilalahmad333 closed 5 years ago
Dear bilalahmad333,
"I using the driver given on infineon official website" means you are using this libs? https://www.infineon.com/cms/en/product/evaluation-boards/tlv493d-a1b6-ms2go/#!tools
BR, Juan A
Yes, this one
Hi,
so you want to know if the noise on the value is acceptable for this sensor, right?
Ok, here we're talking about (highest) 3 LSB of noise. With a resolution of 0.098mT/LSB this would be ~0.3mT. In the datasheet of the sensor, there is specified a value of typically 0.1mT magnetic noise. Link to the datasheet: TLV493D - datasheet Also there are some other factors that may increase the sensor noise: There's an offset on the values, a sensitivity drift, magnetic hysteresis, etc. Regarding all this effects, I would say that 3LSB of noise are totally acceptable for an uncalibrated sensor.
If you want to have a more stable value, you can take the average of - let's say - 10 readouts to reduce the noise. Also you could implement some kind of offset-calibration to reduce your error. The offset-calibration would be to take the average of e.g. 1000 readouts with no magnetic field applied, and substract this value from every new measurement. If you want to be extremly precise, you can even apply a fixed known magnetic field to the sensor and calibrate the linearity of the sensor. But I would say for most applications it's enough to implement a rolling average, often not even that is necessary ;)
I will close the issue for now, if you have any further problems, please feel free to reopen.
Hello, I am bit mediocre to programming. Can u please give me some support, how you have interfaces the tlv493d driver code from infeneon with nrf52 sdk. I'm using sdk14. 2. I have tried but i dont know how to write power enable , powerdisable function code for nrf52 for adding in interface.h. Please help me with this. I will be gratefull
I have given nrf tx and nrfrx function for read and write operation. But i am getting the garbage data. Help me in procedure please
Hello, I am getting some measurement but they are quite random e.g my raw measurement i.e. converting data to signed 12 bit integer values are as follows
Bx = 0, By = 0 Bz = -1 temp = 342 Bx = 0, By = 1 Bz = 0 temp = 341 Bx = -2, By = 0 Bz = 1 temp = 342 Bx = 0, By = -1 Bz = 1 temp = 342 Bx = -1, By = -1 Bz = 0 temp = 342 Bx = 0, By = 1 Bz = 0 temp = 341 Bx = 1, By = 1 Bz = 1 temp = 343 Bx = -1, By = 2 Bz = 0 temp = 341 Bx = -1, By = -1 Bz = 0 temp = 342 Bx = -2, By = 1 Bz = 0 temp = 341 Bx = 2, By = 1 Bz = 0 temp = 342 Bx = 0, By = 0 Bz = 1 temp = 342 Bx = 0, By = -1 Bz = 0 temp = 341 Bx = 0, By = 1 Bz = 0 temp = 342 Bx = -1, By = 0 Bz = 0 temp = 342 Bx = 2, By = 1 Bz = 0 temp = 342 Bx = -2, By = 1 Bz = 0 temp = 341 Bx = -1, By = 0 Bz = 0 temp = 341 Bx = 0, By = 1 Bz = 0 temp = 341 Bx = 3, By = 0 Bz = 0 temp = 342 Bx = 1, By = 0 Bz = -1 temp = 342 Bx = 2, By = -1 Bz = 1 temp = 342
Now I am not sure whether I am reading the measurement wrong or these are the values expected from sensor. I am not touching the sensor and it is lying on the table. Additionally, I am using Nordic NRF52 controller, sensor TLV393D-A1B6 and I using the driver given on infineon official website.