|
|
MLX90609
Angular Rate Sensor
Download MLX90609 Datasheet (PDF)
Subscribe To Updates
MLX90609 General Description
The MLX90609 Angular Rate Sensor is a full gyroscopic system. A single SMD package contains a high performance Silicon micro machined sensor with signal conditioning circuitry. It operates from 5V supply and is designed for dead reckoning navigation applications. The MLX90609 delivers two output signals proportional to the angular rate orthogonal to the assembly surface. One of the output signals is in an analog voltage format (the output is 2.5V at zero angular rate and the full scale angular rate produces an output of 4.5V or 0.5V depending on direction of rotation) and the other one is in a digital SPI format.
MLX90609 Features and Benefits
- High resolution and dynamic range
- Both digital (SPI) and analog outputs
- Low acceleration and angular rate cross sensitivity
- Low zero rate output drift
- Cost effective and compact solution
- High-performance MEMS sensor in mono crystalline Si yielding a superior long-term behavior reliability and dynamic range
- Programmable bandwidth
- Built-in on demand and non disruptive continuous self tests
- Factory set full scale range: ±75 °/s, ±150 °/s or ±300 °/s.
- On chip EEPROM calibration
- Serial Number in EEPROM
- Small footprint (SMD CLCC32) with horizontal mounting
- Operating temperature range: -40°C to 85°C
MLX90609 Environmental Information
This text will be replaced
MLX90609 Frequently asked Questions
MLX90609N2's full datasheet
Question
The current datasheet of MLX90609N2 on your website is just 8 pages, is there datasheet with more details of this product?
MLX90609 layout/question
Question
I was looking for PCB layout guidelines for the MLX90609 part, and was unable to find them. Are they available somewhere?
Also, I was wondering if it was permissible to power only the analog portions of the chip, and not the digital ones (as I would have my own data converter.) Failing that, would there be some way to switch the digital portion to standby/low-power/low-noise from the SPI command set?
MLX90609 Datasheet
Question
I have been trying to find your full data sheet for the MLX90609 including SPI commands, but am unable to find it. Can you please point me in the right direction?
Answer
Hello Jerry,
Please find the Datasheet on the Melexis website:
http://www.melexis.com/Assets/MLX90609_(standard_version)_5359.aspx
Regards,
Nikolay
Question
Could you send me the full technical data of the MLX90609. The standard data sheet does not give much information about the Digital data, command and so how to translate the analog voltage to the meaningful data.
Answer
The standard data sheet includes data you need. Please, see the table 4 (page 6). You can find there the main parameters of the MLX90609 translated to the LSB of the embedded ADC (full scale, sensitivity, ZRO, ZRO drift). Some other "missing" parameters can be converted to the LSB by means of mentioned data. The page 12 includes two conversion formulas derived from the typical values from the Table 4. The next page describes the SPI-commands that are used to control the ADC and page 13 gives an example of the recommended SPI sequence to obtain the digital data from the ADC.
MLX90609 SPI protocol
Question
I can't find a document in which the SPI interface for the MLX90609 is explained. Also, what is the resolution of the ADC onboard? where do you post this information?
Question
Thanks for sending me the application note for the mlx90609. I've been able to retrieve the angular rate and temperature data through the SPI, but now that I've got the data I don't know how to convert it to real-world units. I didn't see a conversion in the datasheet or the application note, am I missing something?
Answer
A standard datasheet of the MLX90609 is already available on the public Melexis
website:
http://www.melexis.com/Sensor_ICs_Inertia/Sensor_ICs_Inertia/Angular_Rate_Sensor_582.aspx
MLX90609 basic connections
Question
I have connected a MLX90609 angular rate sensor to a Basic STAMP 2 Microcontroller, averything was going perfect, I could read the SPI interface until for some reason the sensor just freezed, the output read something constant, the same happened to another one I have, it worked well then it froze, then they both started working again, and freezed again after a while. I have only connected to VSS, VDD, MISO, MOSI, SCLK and SS out of a Sparkfun Breakout board for the MLX90609. Should I be grounding or connecting any of the other pins? (VREF, TEMP, RATE, ST, ERR, VCC, GND).
What else could be the problem here?
MLX90609 parameters
Question
We are going to use MLX90609 for mobile application so we would like to know some additional information concerning the paparameters:
1. The gravity sensitivity (G-sensitivity) [o/s/g]
2. Linear accelaration operating range [g]
IC Adapter
Answer
We use ZIF sockets from plastronics
The MLX90609 is packaged ic in a JESD compliant CQFN32.
So standard sockets should be available.
MLX90609 output noise
Answer
We are working on an updated set of web documents including the information which will be published in the next weeks.
The MLX90609 is, of course, a factory-calibrated device and the calibration parameters can not be changed in the application mode.
I think you can find all answers you need in the preliminary version of our standard data sheet I've sent to you.
Question
Please can you provide me the information on using the MLX90609 to determine the angular direction minimising the drift and errors.
Also, I would appreciate more details of the SPI protocol as described earlier in the thread.
I wonder if you could make available the source code (or at least the parts relevant to the demo) for the evaluation board?
Question
I am also interested in the information on the drift behaviour of the MLX90609.
The datasheet I have is rev004 dated Feb/07, if there's any update I also would like to receive it.
MLX90609 Technical info please
Question
could you please send me more information about the MLX90609 :
- SPI protocol
- current consumption
- all application notes you have
Because the datasheet on the web site is not enough for me to start my development.
MLX90609 socket
Answer
LCC Zero Insertion Force (ZIF) sockets are e.g. provided by "Plastronics":
http://www.locknest.com/newsite/products/lcc/index.htm
Pay attention: the MLX90609 features a 1mm (0.04") pitch => Part # P2032S
CLCC32 smaller socket availability?
Answer
Indeed, the ZIF sockets from Plastronics are not suitable to be used in the small and cheap electronic devices. In this case I'd suggest soldering the MLX90609 directly on the PCB. The appropriate footprint of the CLCC32 you can find at the end of the Datasheet:
http://www.melexis.com/Assets/MLX90609_(standard_version)_5359.aspx
General quesions for MLX90609
Question
I need complete version MLX90609 datasheet and any application note for this sensor. I need to start prototyping product with this sensor
Answer
You can find the MLX90609 datasheet here:
http://www.melexis.com/prodfiles/0005359_MLX90609_standard_datasheet.pdf
Question
Is there any way to procure samples or small quantities at a reasonable price of the MLX90609 or eval board in South Africa?
MLX90609 calibration
Question
I am querying a MLX90609 via the spi/adc interface. With the device taped to a table I am reading 2428 - 2444 mV which would translate to 2.7 d/sec - 2.1 d/sec counterclockwise rotation. I would like to be able to calibrate the device but am not sure exactly how to go about it, I was wondering if you could give some suggestions?
Answer
Calibration and temperature compensation of the MLX90609 is done at the Melexis' factory to guarantee the accuracy put into the MLX90609 datasheet. According to the datasheet the Zero Rate Temperature drift is limited by the value +/-5% of the typical FSout = 4V that means: Voutar = 2.5V +/- 200mV = 2.3V...2.7V for VDD=5V and full temperature range (-40C...+85C).
For the MLX90609EEA-N2 (FSin=75deg/sec that is your case) the +/-200mV inaccuracy can be estimated by the angular rate velocity: +/-200 / 26.67 = +/-7.5 deg/sec
Here I'd mention that all silicon gyros have quite big ZRO inaccuracy. That is why they usually need some algorithm fixing real zero value and/or providing autocalibration. The choice of the algorithm strongly depends on the type of the application. There are some examples:
- If your device is not rotated you can fix zero level at that moment. Good accuracy is important there, so averaging is recommended.
- For some applications the low angular rate is applied with high angular rate acceleration only. It makes possible to recognize the ZRO drift (low angular rate and low angular rate acceleration) and to remove it continuously.
- Some applications have GPS that can be used for autocalibration from time to time.
Answer
Indeed, in order to improve ZRO accuracy of the factory calibration you can use a look-up-table generated for the particular MLX90609. The EEPROM of the MLX90609 includes the look-up-table (3 temperature points only). But this approach is not still validated and hence we can not officially recommend it for the public use.
Nevertheless, you can characterize chips you have on your own in order to create the look-up-tables for each of them. Pay attention, the look-up-table should include ZROs versus TEMPOUT values (the absolute temperatures is not needed in the table). And please wait a settling time of the TEMPOUT before measuring of each temperature point. It's important. By the way, we can discuss possible algorithms directly through E-Mail.
SELFTEST/ERROR
Answer
I hope in the nearest future we'll release an Application Note that will describe the embedded SW of the Evaluating Board (including implementation of the toy-compass). There is only one real obstacle here - the embedded code was written without taking into account possible publishing. In other words, it has to be adapted to be published - e.g. C-style, comments... Some parts (time critical irqs) were written on assembler... And even the main C-code has some specific features related to the used microcontroller (C8051F310 from the Silicon Labs Inc). Also in order to extract some more interesting general parts from the code, it's necessary to provide a completeness and reliability of the resultant examples. It will take time and manpower.
As the MLX90609 is an angular rate sensor it can not measure angles directly. In order to implement a "compass" the SW has to integrate angular rate over time to get an angle.
A time measurement is an important point because time is used for the integration. For example, the microcontroller of our EVB uses a crystal oscillator to care about the real time and to start the ADC every 200us (it's ensured by timer's interruption). The obtained data are being filtered before the integration. In the EVB a slide median filter (5 samples only) was used to reject possible spikes on the output. However, I had never seen the spikes, so it seems the median filter could be removed without a harm. The resultant data is being stored into a circular buffer that is used afterwards for the next programmable averaging (again - based on the slide approach) to define the final value of the angular rate. Pay attention, the averaging is not used for the integration (for the "compass" angle) because any integration includes an intrinsic averaging. So the data coming from the median filter is being directly used for the integration.
Another crucial issue for integration is a precise ZRO. Even a small ZRO error will yield a big error of the angle after integration. Special algorithms are usually used to improve the accuracy of the Sensitivity and especially ZRO accuracy. The simplest example of that is a ZRO setting without applied angular rate. But ZRO can drift because of the temperature and supply deviations. More complex example of the correction is e.g. a Kalman filter that is very popular and efficient for the navigation applications. The choice of the correcting algorithms depends on the application requirements. No special tricks/algorithms was used in the EVB to reduce the ZRO drift.
Note: Sometimes it's not so easy to do perfect zeroing because of the noise. One can use e.g. averaging (simplest approach) to improve the result of the ZRO-setting. In the EVB almost whole circular buffer is used for averaging during zeroing (200 values that cover 200 ms of the average time, where 1ms includes 5 filtered samples every 200us).
In order to reduce a noise we also recommend to use a linear power supplies instead of switched regulators.
Narrow bandwidth (bigger value of the Cflt) will reduce the noise as well.
MLX90609 freezing at constant SPI output
Question
I am hoping that you will have some suggestions for how I can solve my problem with the MLX90609. I hooked it up for SPI as indicated in the datasheet, and yesterday I was able to successfully request and receive gyro data using a dsPIC. After unplugging it for the night and coming back in this morning, however, I have been unable to get a meaningful response from the gyro. I actually have three of the gyros on the same bus (X, Y, and Z) and all three exhibit the same behavior - no matter what SPI command I send, they send back a constant response. The strange thing is that each of the three sends back a different constant:
X sends back 0x2207
Y sends back 0x2247
Z sends back 0x2200
The rate analog pins give the correct output, so I know that the gyros are working. Is there any way that the ADC could get turned off? Do you have any suggestions for ways I can reset the SPI interface?
MLX90609 Gyro SPI to a Basic Stamp
Question
I am having difficult communicating a MLX90609 Gyro with a Basic Stamp BS2. Would anyone have some sample code that works with this over the SPI. I tried my own but a cant get it to work
MLX90609: Clerification of the Data sheet
Question
Another question about the MLX90609:
Is it advisable to have to seperated power supplies for analog and digital, or can these two pins be connected, like seen in Fig 6-3.
MLX90609 SPI on PIC18F2455
Question
I'm wondering if you have any sample code for the MLX90609 using SPI on the PIC18F microcontroller. We are currently implementing multiple gyros seeking to achieve dead-reckoning navigation, but there seems to be no sample code available. I can't seem to find any sample progs on your site.
MLX90609 Product Code
Answer
An extra lid marking is used for the MLX90609-E2 (150deg/s range) and the MLX90609-R2 (300 deg/s range).
Let's place the MLX90609 to read the name by the normal way. In this case:
- MLX90609-N2 ( 75deg/s sensitivity) has no additional marking
- MLX90609-E2 (150deg/s sensitivity) has 2 gold dots at the left and right bottom corners
- MLX90609-R2 (300deg/s sensitivity) has 1 silver dot at the right top corner
However, this marking can be not reliable, as it can be erased.
If it happened, you can even manually estimate the sensitivity by turning your PCB with the MLX90609 over a given angle (e.g. 90 deg or halve or full turn) and then by integrating the value "OUTAR minus ZRO" over time. Most scopes (e.g. Agilent) have a built-in integration function. The result should give an angle with taking into account the actual MLX90609's sensitivity. As the angle is known one can derive the sensitivity.
MLX90609EEA-R2 Algorithm Question
Question
Do you have any documented high level algorithm to work with the MLX90609EEA-R2 Angular Rate Sensor?
I bought 3 of these to build a 3 axis gyro cluster and have set them to work at 36.4Hz Bandwidth.
I am currently using the analog interface and I can see a voltage variation when I rotate the sensors however how do I translate this into an angle ?
Answer
At the moment we have no documented high level algorithms you asked about. I hope in the nearest future we'll release an Application Note that will describe the SW that was written for our Evaluating Board. A toy-compass implementation is a part of the SW.
The formula given on the page 8 of the Data Sheet can be used to convert the analog output to the angular rate: AngularRate (deg/sec) = (Voutar - Bias) / Gain
Voutar is an output voltage at the OUTAR-pin in mV, Bias = ZRO = 2500 mV (typ)
Gain = Scale Factor = Sensitivity = 6.67 mV per deg/sec (typ) for your MLX90609EEA-R2
Please take into account possible ZRO and Sensitivity drift given by the table 4 of the Data Sheet. Special algorithms are usually used to improve the accuracy of the Sensitivity and especially ZRO accuracy. The simplest example of that is a ZRO setting without applied angular rate. More complex example is e.g. a Kalman filter that is very popular and efficient for the navigation applications. The choice of the correcting algorithms depends on the application requirements.
If you need an angle, you will need to integrate an angular rate over time. Note: even small ZRO error after integration will yield a big error of the angle. In other words, the precise ZRO-setting during a static condition is really crucial here. Sometimes it's not so easy to do perfect zeroing because of the noise. One can use e.g. averaging to improve the result of the ZRO-setting. A time measurement is another important point because time is used for the integration as well. For example, the microcontroller of our EVB uses a crystal oscillator to care about the real time and to start the ADC every 200us (it's ensured by timer's interruption).
Thus, the initial precise zeroing together with accurate time scale are two crucial conditions for the integration.
Answer
By the way for navigation usually more sensitive gyro range is used. Actually The MLX90609EEA-N2 destined for that.
Regards,
Extending Full Scale Range
Answer
We do not recommend changing a gain by the external resistor because it will distort a factory bias calibration and temperature compensation. Melexis can produce MLX90609s with a different sensitivity range in case of ordered big volume.
Answer
I wish you luck in implementing your idea ;)
I forgot to mention about another disadvantage. According to the MLX90609 Data Sheet the OUTAR load has to be more than 200 kO. The OUTAR overload causes additional output nonlinearity. Too big overload (more than 25 mA) may cause also permanent damage. The last one is not your case, but the first... With external resistor you will be close to the limit we set. So I suggest using e.g. an external output OPA in the follower mode.
Buy MLX90609
|
|