|
|
MLX90316
Rotary Position Sensor IC
Download MLX90316 Datasheet (PDF)
Subscribe To Updates
MLX90316 General Description
The MLX90316 is a CMOS Hall sensor that gives the angular position of a magnetic field parallel to the IC surface. It is designed for contactless rotary position sensors that are frequently required in both automotive and industrial applications. The MLX90316 detects the absolute angular position of a small magnet (diametrally magnetized) that is positioned and rotates above the device surface.
IMC An Integrated Magneto-Concentrator (IMC) concentrates the applied magnetic flux density parallel to the IC surface. At the boundaries of the IMC structure, an orthogonal component proportional to the applied flux density can be measured by two pairs of conventional planar Hall plates located orthogonally under the IMC and for each of the two directions parallel with the IC surface (X and Y). The first part of the sensor encodes a mechanical angle into two sinusoidal signals with 90° phase shift(sine and cosine). The two signals (Vx & Vy) proportional to the magnetic field are amplified, sampled and converted in the digital domain. The digital representations of the two signals are then used to calculate the angle through an Arctangent function applied on the ratio Vy/Vx. The Arctangent function is implemented by a look-up table.
Different output signals The current angle value represented by a digital value can be converted back into the analog domain through a D/A converter. However, the output signal can either be an analog signal, a PWM signal or a Serial Protocol digital signal. The output transfer characteristic is fully programmable (e.g. offset, gain, clamping levels). Typical applications of the MLX90316 are listed below. The MLX90316 can sense a rotary position without contact and over a wide range up to 360º (complete revolution).
MLX90316 Features and Benefits
- Absolute Rotary Position Sensor IC
- Simple & Robust Magnetic Design
- TriaxisTM Hall Technology
- Programmable Angular Range up to 360 Degrees
- Programmable Linear Transfer Characteristic
- Selectable Analog (Ratiometric), PWM, Serial Protocol
- 12 bit Angular Resolution
- 10 bit Angular Accuracy
- 40 bit ID Number
- Single Die - SO8 Package
- Dual Die (Full Redundant) - TSSOP16 Package
MLX90316 Environmental Information
This text will be replaced
MLX90316 Frequently asked Questions
MLX90316 Sensor Specs and Availability
Question
Is the MLX90316 commercially available? If so from where?
Does it operate in saturation mode? Or do I Have to have a very specific a) magnet size b) gauss (or Oersted) rating c) distance from the sensor?
Also, the datasheet states that the SOIC-8 package has one output. Analog is 12-bits resolution (so I'm assuming my 14-bit data acquisition unit will be able to see 0.088 degrees resolution). However for a full 14-bit resolution, some sort of serial protocol is required. Is there any simple way of doing this? I am using a national instruments USB data acquisition unit.
Answer
MLX90316 is commercially available and you can get it through our sales network. If you want to know the nearest one from your location, please browse to the following link:
http://www.melexis.com/contact.asp
Please refer to the datasheet to get an overview of the working principle of this Triaxis IC:
http://www.melexis.com/prodmain.asp?search=mlx90316&family=MLX90316
If the Integrated Magneto Concentrator (IMC) is not saturated, it will not introduce any significant non-linearity error. However, if you saturate it, the output of the IC will show a large non-linearity error (the signature of this error is 4 periods over a full 360 degrees revolution).
The saturation starts above 70 mT. In other words, you need to make sure the magnetic flux density at the IC level is less than 70 mT to avoid saturation effect.
Single / Two Die
Answer
I imagine you refer to the MLX90316.
This part is available in SOIC-8 w/ a single die and in TSSOP-16 w/ 2 dies. This special construction features actually 2 dies which are galvanically isolated and it can therefore be considered as a "full redundant" solution when the final position sensor application requires such a level of redundancy (i.e. so-called "safety critical" applications e.g. pedal position sensor, throttle position sensor...)
To answer your specific question, you can either use the Single or the Dual: there is not any difference in the functionality other than the dual die is a redundant version.
zero position
Question
Sir,please explain the zero/initial position programming in MLX90316.
Answer
The MLX90316 is typically programmed in the final application (through supply and output pins using a dedicated programming tool called PTC-04).
The transfer characteristic i.e. Output signal (either analog voltage, PWM duty cycle, SPI) vs. Angular position (in degrees) is fully configurable (see datasheet).
To proceed, you need first to mount the IC into the application facing the magnet (diametrally magnetized and located onto the throttle shaft).
Then you drive the application towards both mechanical stops or any other target positions. In those positions, you calibrate the transfer characteristic according to your output requirements (offset, slope,...)
You can also acquire MLX90316 which has been preprogrammed but this actually is only worth for 360 degrees application. In such a case, you get a 0.5V to 4.5V output characteristic for 0 ... 360 Degrees.
MLX90316 programming sequence
Answer
The best way to start programming the MLX90316 for your application is to use the user interface/ solver procedure.
Use the following sequence for a 2 point calibration:
- New device
- Set settings ( output , rotating direction,..)
- Characterize ( in case of analog output)
- Search RG
- Move the magnet to the first calibration point.
- Set point A ( angle point A= (360-100)/2=130deg; level point A = 10% )-> clamping low = 0..130; clamping high = 230..360 deg.
- Move the magnet 100 deg to the second calibration point.
- Set point B ( Level point B = 90%)
- Finish program cycle.
If you readback the EEPROM - Linear setup parameters, you will see the following results :
A_X = 130 deg; A_Y=10%, S0=A_S=(90-10)%/100deg=0.8%/deg;
B_X = 130+100deg; B_Y=90%; B_S= A_S
C_X= 360 deg ( not used)
MLX90316 programmer options?
Question
I’m a Norwegian engineer testing out your MLX90316 for use in a wind direction sensor application. Is it possible to program the device without the PTC-04? It seems like “overkill” for me to purchase the PTC-04 just to be able to test the MLX90316 to see if it’s useful for our application. I want to use it as a 360 degree sensor with analog output. What’s the device default state/configuration?
How is the resolution of 2SA-10?
Question
and how about the accuracy of 2SA-10 comparing with the MLX90316?
Answer
It is difficult to compare as the 2SA-10 delivers sine & cosine signals while the MLX90316 provides directly an angular information from 2 raw signals which are comparable to the sine and cosine signals of the 2SA-10.
Those raw signals have comparable accuracy although it should be mentioned the MLX90316 offers a larger compensation capability.
If you process the 2 signals from the 2SA-10 w/ an external circuit (ADC + CORDIC algorithm + linearity compensation), you should get similar results than the MLX90316 for which the signal processing is done on-chip in combination w/ EEPROM space for compensation.
In terms of figure, it is always worth separating the linearity error (at room temperature) and the thermal error.
The linearity error you can get from the MLX90316 is governed by the intrinsic linearity error (max. 1 Deg. over 360 Deg.) and the linearity error linked to the magnet position w/ respect to the IC. The MLX90316 provides a multi-point calibration which will lower the linearity error of the output transfer characteristic (the efficiency of this multi-point calibration is higher when the angualr stroke is smaller).
The thermal drift is mainly governed by the thermal offset drift. It will induce an angular drift of 0.3 Deg. Taking into account other contribution, the thermal error is limited to less than 0.5 Deg.
As mentioned earlier, this can be achieved w/ 2SA-10 using off-chip signal processing !...
90316 serial protocol
Question
I've realized a 120 deg. sensing using the MLX90316(dual die)
I used two outputs, one analog and the other is PWM, the system worked in a great way. Now I have a new project and I should read a 360 deg.
but in serial mode, I started trying and collecting data using analog output, the 360 deg. is acheived but I still have problems with serial protocol.
My microcontroller program acts as follows:
-the sequence AAFFh
is put on the out1 pin
-the same microcontroller pin is defined as input and 64 clocks are put on the clk pin
- no output data (on out1 pin)are displayed on the oscilloscope.
I don't know where the fault is, I give the higher probability for the program of the MLX,if anyone Knows how to implement serial communication please notify me.
Question
Another notice, if we use the ciruit drawn in the datasheet(page 26 & 27) with the stated control(page 23,timing diagram) at the MOSI output we will be forcing the MISO input to logic low level and the data will be lost.
and also the data sent as a request(AAh)
will be inverted and will be 55h, so what is the correct way to control the MLX90316.
Question
I took some data from the MLX90316 serially but checking bits after positive edges, when I recieved your reply,I tried the falling edges but no data is displayed, so I returned to my old method.But I have some errors in it, the errors are not repetitive (the time between erronous data is not constant, the magnitude of errors it not constant)
so if you have any idea about this phenomena please support me with.
Answer
Since the errors have been disappeared with adding a cap / resistor, the root cause of your problem is most likely the signal levels. As mentioned in my recommendations the levels on out1 & out2 of the MLX90316 should be in the range 0..5V, or actually between GND and VDD of the device. This should be checked using an oscilloscope. The MLX90316 has build in diagnostic features and monitors the level. In case the output level exceeds these threshold levels, the device is in error mode.
To guarantee good communication we recommend to add 2 resistors on out 1( 1K / 20K as a voltage divider) and a series resistor of 100 ohm between uC and voltage divider.
MLX 90316 eccentricity
Question
I'm trying the MLX90316 for measuring the angle of a hand made mechnical system, but I've noticed a constant error in output data which is repetitive at every cycle with the same form and magnitude, this made me think that the error is due to mechanical errors and especially eccentricity(centering of the magnet).So if a relation exists between eccentricity and output data please supply me with.
Max. speed in analog mode MLX90316
Question
I`m going to use integrated circuit MLX90316 (produced by your company) in my
design. I have one question, although the datasheet has been read by me.
1. Especially, I will have to measure high speed rotation up to 20000 rpm. So
that, what resolution per rotate will be achieved for this speed in analog (the
fastest) mode? Is this IC suitable for that hight speed and required resolution
about 6-7bits?
MLX90316 function description
Question
I've been asking myself , why the MLX90316 is called a TRIaxis Sensor.
To calculate the angle only Bx and By are used. So where's the third flux component ?
why parallel circuit RC at output analog of MLX90316
Question
Tn datasheet of MLX90316 a parallel circuit RC is used at the output analog, but the parallel circuit RC does not act as a filter here.I want to knox what'is its role here.
Thank you for help
Answer
The recommended application diagram in the datasheet exist out of 2 parts.
1) The min. required capacitor on the output pin of 90316. This is required for the stability of the analog output signal and for protection of the output.
2) The ECU is only an example. The pull down resistor (or pull up) is used to a definite a logic level if the MLX90316 is in diagnostic mode like broken Vss ( see pag 20).
[90316] - Preprogrammed
Question
Are the MLX90316 parts that are available from Digikey pre-programmed or not? There is no pre-programmed suffix on the part number. Does Digikey program them? How would I get 3 or 4 of these parts programmed? I am in Canada.
Question
I received one Evaluation baord of MLX90316 from Digikey.The Evaluation board data sheet suggest that by default it is programmed in analog mode for (o to 360degree)but i am not getting any response on output pin.Is it preprogrammed and locked in SPI mode? If yes the do you have any application code using which i can read values?Is it possible to program the chips of evaluationm board with PTC-04?
Please suggest soon as i have to make one Prototype using this IC.
Regards
Abhishek
MLX90316: Realtionship between angular poistion and linearity error
Question
I´ve got questions about the MLX 90316.
In the front-end calibration of MLX90316 is a figure (page 7) which shows the relationship between the angular position an the linearity error.
First question: Exists a formula to calculate the relationship between the field strength and the linearity error. For e.g. a field strength of 100 mT causes an linearity error of 7%
and a field strength of 120 mT causes an linearity error of ????
Second question: The conversion from linearity error to angular error. For e. g. a non-linearity error of 1% leads to an angular error of 0.15 degree
and a non-linearity error of 7% leads to an angular error of ????
Third question: What is under a field strength of 20 mT. You told me that the noise to signal ration will increase. Does also exists a relationship between the field strength and
the non-linearity. For e. g. a field strength of 10 mT causes an linearity error of 1% and so on. Exists a formula to calculate this relationship and to converse the non-linearity into an
angular error?
Last question: Can you send me the back-end calibration of MLX90316. I searched on the melexis homepage, but I didn`t find anything.
90316 firmware update
Question
I have a problem with my PTC-04 updates I have been doing over the last few weeks. I am using the PTC-04 to program the 90316. I now have gone to use the programmer for the first time after doing my updates and I get a conflict of firmware revision, specifically error message 'firmware revision too low, detected 1.36 required 1.45'. The firware I have is the only one I have ever had .. .. .. 'PTC04_mlx90316_firmware.hex'.
When I look for the updates I don not see any revision update to the 90316 firmware.
Any feedback would be appreciated.
90316 RG value
Question
I've got exactly the same problems as you, I neither can't read from any of my devices (MLX90316). I also get that error and I can't solve it in any way, I've tried 7 different devices, but they all just gives me that exact same error. I neither can't read the EEPROM in any of my devices!!
My programmer has been working just fine for a long period, but suddenly it started giving me these problems, so I guess that my programmer is broken, so I have just sent it to Melexis for repair.
I have tried EVERYTHING to fix it, but no luck, so I hope that it's the programmer that fails.
MPT
Question
I am now trying to connect PTC04 and MLX90316. But I can not run 'test programmer', there is no feedbak when I start test. My MPT revision is 1.29. How can I use this function?
Contactless Magnetic Angle Sensor
Question
in principle for absolute rotary position sensing Melexis can propose the MLX90316, which is a Rotary Position Sensor and which allows to measure the angular position of a magnetic field. However, in order to know if the MLX90316 is really the best solution, more information about the final application are needed. In order to get more information on the MLX90316 you can download the dedicated datasheet on this website.
For further support don't hesitate to contact us again.
MLX90316 SPI Interface
Question
I am starting to work with the MLX90316 part and I have implemented the recommended SPI circuit with the open drain/pull up configuration on the MISO/MOSI lines. I am finding that the MLX90316 side of the circuit is continuously driving the MISO/MOSI line low which does not allow it to wiggle. I remove the part and my circuit properly wiggles both lines. The part is virgin, the test pins are grounded and the Vdig pin is bypassed with a 0.1uF cap.
I’m looking for suggestions on what might be going on. I assume I’m missing a subtlety.
magnet for use with mlx90316
Answer
answer1
Recommended materials: Neofer (plastic bonded NdFeB) => good magnetic characteristic / all shapes are possible / cheap
Also possible:
NdFeB => good magentic characteristic
SmCo => good characteristic over a wide temperature range
answer2
Have a look at Magnet Application Note MLX90316 on www.melexis.com
link:
http://www.melexis.com/prodfiles/0005221_ApplicationNote_90316_Magnet_Rev001.pdf
answer3
Recommended magnet supplier: Magnetfabrik Bonn www.magnetfabrik.de
Further suppliers are published in the Magnet Application Note MLX90316
SPI com. with MLX90316 ???
Question
I have some problem to program your MLX90316 for my apps. Just SPI serial communication I needed. Could you show me the simple way or method to use SPI com?
Answer
To program the Melexis MLX90316 it is necessary to have a Melexis PTC04 Programmer. The device can not be simply programmed via SPI. It requires specific hardware and software to safely access and set the various options.
Please contact your local Sales Representative for a quote and delivery on the necessary hardware.
some question
Question
I am setting the mlx90316 with PTC04 by the tool "Main auto-calibration screen". The IC is mlx90316kgo.
When clicking the "New device" and "Set settings" buttons, it is ok. But when click the "characterize" button, an error dialog turns out: "PTC-04 received from the chip ACK/ERR=80h while writing to address 0072h". What is the reason? Could you please tell me how to solve it?
MLX90316 Value jumping
Question
I have a problem with the MLX90316 angle measurement.
My application is the measurement of the rotation angle from induction motor. Communication via SPI. Most of the angles are displayed correctly but sometimes the values jumping back. e.g. 338..339..321..322....360..0..
Errorcode is not detected!
Is this a known problem? What can I do?
about MLX90316 PWM mode.
Question
I tested the MLX90316 with PWM mode. and noticed the error of eeprom, error was "CRC programmed in the EEPROM is bad", when I find the error message in the EEPROM read state, MLX lock was activated, so, PWM frequency was not changed. but some chip of MLX90316 was not activated the MLX LOCK box, these chip was programmed PWM mode, frequency was changed sucessily.
the difference of each chip was code that marked in the surface of chip.
1.I want to know the chip marking method,
in the datasheet marking method was different with real chip. datasheet is nerest version. (october 2005 version)
2. what's means the CRC was programmed in the EEPROM is bad ?
3. why some chip was not activated MLX LOCK box in the eeprom screen and some chip was activated ?
Question
could you advise me, please, with which version of the MLX90316 you are actually working and what is mentioned on the package of the ICs, which are working, and on the ICs, which are not working.
MLX90316 output transfer characteristic
Question
I'm using MLX90316 as position sensor.
How could I get clockwise parameter of output transfer characteristic from the chip.
Does MLX90316KGO can use as negative slope output
Question
I have got a sample of MLX90316KGO. And I'd like its output curve as Die A is Positive and Die B is Negative. How can I do? I have tried many times but it seems the chip can not support negative curve. On the topside of chip it marks 316BAD, 850690 ,X5. Would you please help me with this question?
Answer
The 90316 (Chip mark : BAD) can indeed only have positive slopes. However the rotation direction is programmable, which means that we can convert a negative slope to a positive slope by inverting the original rotating direction.
Please also check pag 9 of the application note : Back-End Calibration of MLX90316
You did not mention your application angle span, so I will give a general programming procedure for a 90 degrees application with the 90316 User interface. ( See also AN)
Die A & B : New device
Die A & B : Select Clockwise ( or CCW) for both dies, and all other solver settings
Die B : Select neg(ative) slope !!!
Die A & B : Set Settings
Die A & B : Characterize , in case of analog output
Die A & B : Search RG
Die A : point A ( 135 deg , 10 % ) ( First programming point of die A will start at 10%)
Die B : point A ( 225 deg , 90 % ) ( First programming point of die B will start at 90%)
Die A : point B ( 90 % )
Die B : point B ( 10 % )
Die A & B : Finish program
Note : The linear graph will also not show the negative slope. You can check the EEPROM parameters and will notice that the rotating direction of Die A is different from Die B.
Locking the MLX90316
Question
Is there any harm in leaving the programming of the MLX90316 unlocked? We have an application where we may want to change the output curves in the field.
About the programming of MLX90316
Answer
1) The memlock function can be executed independently of the programming, but should be done after programming the MLX90316. Locking the device is a final operation and the EEPROM becomes un-programmable.
2) Every time the software is started, the software performs some checks like checking calibration date, firmware revision...
The user interface of PTC-04 has a test program that is made to perform a quick check of the hardware. It allows the user to verify if there is any hardware damage on his PTC-04 programmer. The test checks the functionality of the fixed power supplies, programmable power supplies, the internal voltmeter, etc…
To start, press the button “Test programmer” on the PTC-04 User Interface.
We also recommend performing a calibration of the PTC-04 every year.
MLX90316 in SPI mode
Question
I am going to make MLX90316 in SPI mode.I tested with MLX90316 and here output is analog mode.
How can i make it from analog to SPI mode ??
Do i have to configure in Hardware to make it in SPI mode ??
How can i make it slow to fast mode ??(Software & hardware)
Answer
The MLX90316 has to be programmed in SPI mode using the PTC-04 programmer. Same for the high speed mode. If your application is 360 degrees and if you do not need a calibration, you can also order the MLX90316 already preprogrammed in SPI mode. Otherwise you need the PTC-04 programmer.
Question
I think i got non-programmable MLX90316 device.In my application, I need only angle measurment (0 to 360) so i think i can order only MLX90316 preprogrammed in SPI mode.
Answer
Yes, if you order MLX90316 E/K/L DC/GO with option code SPI , then you will receive a pre-programmed 90316 device, locked for 360deg rotary position application in SPI mode (High Speed).
Please check the datasheet:Ordering information on pag 1 for more details.
MLX90316 mode
Question
Dear Sirs, I received few MLX90316 samples few months ago. They are marked as 316BAD X1. I wired it as it is in analog mode and I measured on the output pin 0.4V. According to one of your previous posts on the forum I assumed that device is in analog mode. But, after I applied magnetic field above device I didn’t measure any change on the output pin. Is it possible to determine in which mode is device without using PTC-04.
Serial protocol mode with MLX90316
Question
Hello sir,
I am using MLX90316 for my application.I have only MLX90316 part and now i want to do it with SPI ( in VHDL) interface.Do i need any extra part for making in SPI mode??
In my code,
i divide my clock in 80 cycle. when clock toggle on postive then i am sending one bit from Master to slave (10101010 so first bit is "0") and negative clock edge i am receiving one bit from slave to master. in second clock on positive edge, i am sending bit "1" and negative clock edge i am receiving bit from slave to master.
Is it correct method for SPI interface or not ??
Or i have to send 55H on first time (on every positive edge) and after this byte only i have to receive (No bit from master to slave / or send only "00"h) every positive clock edge..
Please, Help me out..
Thanking you.
LabView Support for programming
Question
I have MLX90316 sensor and now I would like to program this sensor using DLL LIB under LabView (with PTC-04). I have found some example on CD for the LabView but there are no SPI Mode (only Analog(2) and PWM(5-7)). I am using Demo_90316_solver_PSF.llb Can You any tips how can I solve this problem. Thanks
Setting Discontinuity Point (MLX90316)
Question
The datasheet for the MLX90316 states that the discontinuity point (DP) can be set by the user. The default value for the DP is 0. How is the DP value modified?
Answer
The DP is a value between 0-360 degrees and can be programmed manually or is calculated automatically with the point A of the solver sequence.
Also check AN "Back-End Calibration of MLX90316 ", pag 3 for more information.
http://www.melexis.com/Asset.aspx?nID=5288
Relation between Speed and Resolution
Question
I have only simple question.What is the relation between Speed and Resolution ?
MLX90316 in SPI mode has 14 bit and Analog or PWM mode has 12 bit..
Want to know which has higher speed ??
Relation between resolution and accuracy is invers..like slow mode has higher accuracy then Faster mode (SPI) (Is it correct ??)
Question
the frequency of the main clock of the MLX90316 is programmable. Two options are available: 7MHz (slow mode)or 20MHz (fast mode).
Depending on which mode is used the resolution of the ADC converter is reduced, i.e. if the slow mode is set, the resolution is 14 bits + sign, if the fast mode is set, the resolution is 13 bits + sign (as explained in the datasheet from April 07 on page 13/41).
Furthermore, some other parameters are also depending on the speed mode (see page 10/41 and 12/41 of the datasheet from April 07).
However, the resolution of the SPI output protocol is always 14 bits independently of the chosen speed mode. What is dependent, is the sampling rate (as explained in the datasheet from April 07, page 12/41).
demo_90316_PTC04.vi
Answer
There is a Labview example available on the CD PTC-04. Please check the directory:
CD_PTC04\MLX90316\Soft\application\labview
The example program demo90316BAD.exe was a development version, and only available as executable.
MLX90316 Vdig Pin
Question
What is the purpose of the Vdig pin on the MLX90316? What is the purpose of decoupling to ground? What happens if this connection is broke?
how to set AutoRG?
Question
Hello,
see the below
********************
CodeAGC=115 Enable automatic gain control
(MLX90316BF/CxL)
(pls see Page67 of PTC04_PSF_MLX90316.pdf)
********************
I can sucessfully set
CodeDRESONFAULT with the DLL method "SetEEParameter"now,meanwhile cannot set 'AutoRG',whose paramID is 115,correct?
what's wrong and how to set it?
Question
Could you help me to check the below:
1) "Reset On Fault" . I am referring to one item of "Calibration and Debug Modes"
of Melexis Toolbox ,its EEParamID=52, i.e. CodeDRESONFAULT=52 ;
2) Since it is named as "Disable Reset on Fault "@ Page65
of "PTC04_PSF_MLX90316.pdf",it will function ONLY when this bit is cleared
(bit=0).instead of set(bit=1)
correct?
Answer
1) There are 2 parameters that are linked to the diagnostic modes, `( datasheet 15. MLX90316 Self Diagnostic, pag 25:
In case of an error, the output will be switched to diagnostic mode.
The CPU Reset itself immediately or after recovery of the error
- CodeDRESONFAULT , ID = 52
- CodeDOUTINNFAULT, ID = 106
2) Indeed, you can disable these option by programming both parameters =1 and enable it by setting the value to 0.
MLX90316 Supply Voltage
Question
The MLX90316 is specified for 4.5V to 5.5V according to the datasheet. In the schematic drawing of the chip there is a 3V3 voltage regulator inside. I have a system with a board voltage of 3V6. To avoid energy loss when up converting to 5V, my question is if it is allowed to run the MLX90316 with 3V6. My testing showed that MLX90316 works well with 3V6 too.
MLX90316 BCG CharacterizeOutput
Question
I’ve got a problem with CharacterizeOutputDAC. The values I receive are wrong. For example, I receive:
Gain=1.027, Offset -2.3, MPT Toolbox reads Gain=1.004, Offset=-0.139. Especially the Offset is obviously wrong.
Previously, my programming routine in VC++ worked fine. Until this week, we used MLX90316-BAD, and now we want to switch to BCG.I now upgraded to the BCG-PSF, I upgraded the PTC-04 to the new firmware and installed new MPT Toolbox and UI module for BAD and BCG.
I also tried setting the chip version (is this necessary?) but the set_ChipVersion routine doesn’t exist in the Advanced object.
mlx90316
Question
I've received some analogue samples of the MLX90316 but the output is stuck at 0.4V. Do I need to program them with the PTC04 or am I doing something wrong? How much does the PTC04 cost?
resolution
Answer
I assume that you are referring to the MLX90316.
The theoretical resolution for the PWM output will indeed be 120 deg / 12 bit , or 0.03 deg. But if you talk about the final resolution at the output, this is related the noise to signal ratio, then it will depend on the gain and filter setting.
When the field is strong enough and you can apply a strong filter, then this should be feasible.
Difficulties programming MLX90316
Question
we’re programming the MLX90316 BCG with the PTC04. We want to switch the programming signals and VDD for the chip with relays. (Without the relays, everything works fine.)
With about 10% of all trys, there occur errors when calling programDevice(), sometimes when calling SetRoughGain(): the DLL returns an error. I did not find a function which gives more information than the return value representing ERROR....
Now I wonder what happens if I just call the failing functions again... Calling SetRoughGain() twice might not be problematic at all, how about programDevice()? I tested it twice, it worked both times. Can it be guaranteed that when I call programDevice() and it returns NO ERROR that the device is programmed correctly? Does that function read back what it wrote?
Qualification MLX90361
Question
I have a question about the qualification of the MLX90316. Is it AEC Q-100 qualified? If yes, for which grade?
Answer
Yes, Melexis is a main supplier for the automotive market and MLX90316 is AEC Q-100 qualified ( with MSL 3 preconditioning)
Answer
MLX90316 is qualified up to 150 C , so grade 0
MLX90316 - Output Capacitor
Question
We require our product to be programmable for either Analogue or PWM mode. However, revision 003 of your data sheet shows a capacitor of 100nF between Output and GND for Analogue mode (Fig. 17.1) and 4.7nF for PWM mode (Fig 17.3). This suggests that a hardware change would be necessary to change between the two modes, which is unacceptable to us.
However, your document ' 0005269_MLX90316_PTC04connection_Rev12_JCD_27Nov06.pdf ' shows an MLX90316 connected to a PTC-04. It is labelled ' Analogue/PWM application ' and shows a 47nF capacitor connected between the Output and GND.
Please confirm whether we can use a single capacitor value for both modes and, if so, what its value should be?
PTC-04
Answer
Answer: Please refer to the "Get_Started_With_MLX90316.pdf" document.
This error usually indicates that there is a problem with the connection between the MLX90316 device and the PTC04 device connector.
On the CD, delivered with the PTC04, there is a document called "Get_Started_With_MLX90316.pdf".
STEP 1: Please check that all 4 requirements, described on page 1 of the document, are fulfilled.
STEP 2: Check your connection with the diagram on page 2 of the document.
STEP 3: To verify that the connections are OK: start the MPT UI of the 90316, go to the measurement screen of the UI and select Vout, Idd and Vdd.
For un-programmed 90316 parts the Vout = 7...8%, Idd = 6...10mA, Vdd=5V.
The "Get_Started_With_MLX90316" document can also be found on softdist, or on:
http://www.melexis.com
Answer
Every DLL has a built–in type library, which fully describes the objects and their interfaces implemented by the DLL. Every compiler, which supports ActiveX, is able to read this type information. In C++, the directive #import reads the specified type library and generates header file with definitions. This header file is also automatically included so you do not have to do #include for it.
Example:
#import "C:\Program Files\Melexis\MPT\MLX90316\MLX90316PSF.dll"
Imports MLX90316PSF type library and includes the generated header file.
MLX90316
Answer
The MLX90316 features an EEPROM to store the calibration parameters (such as transfer characteristic offset, gain, clamping levels...). The IC can be programmed through the connector i.e. through the supply and output pins. To do so, you need a programming tools (PTC-04) and the necessary software running on a PC under Windows.
To acquire the full equipment, please contact our sales representative.
Question
I'm reading the datasheet and I have some question:
- what is the maximum speed of the magnet(and so the shaft)to get valid angle information (in fast or slow mode) when using the MLX90316 in SPI mode?
Answer
The sensors refresh the SPI buffer every 200 us (fast mode) and every 600 us (slow mode).
Since I believe you are interested in high speed requirements, 200 us will be the refresh rate. If you take the fastest timing to read the SPI telegram, it will also take something like 200 us.
Those 200 us need to be considered vs. your rotating speed and target accuracy for the reading.
Let's take the following example:
1200 RPM = rotation speed of the shaft and the magnet attached to it.
This will give a signal at 20 Hz i.e. 50 ms per period. One period corresponding to 360 degrees mechanical, 1 us will be equivalent 0.0072 degree and 200 us to 1.44 degree. If you can live w/ such accuracy specification, then 1200 RPM would be the max. speed.
If you need a better accuracy, then the max. speed will be lower. If you need a higher speed, the accuracy will be lower.
All the previous statements are of course linked to MLX90316.
Question
Thanks for your answer. I'm developing an absolute encoder with a resolution of 10 bits (1024 steps or 0.35 degree/step) at least 4000 rpm (6000 would be better)
I think MLX90316 isn't good for this application, with an accuracy of 0.35 degree maximum speed will be 300rpm, is it right?
For my purpose, as you said, a sin/cos sensor(and a cordic algorithm)would be better.Is there an alternative in melexis sensors?
Answer
You are right for the 300 RPM. We are then one order of magnitude off w/ the MLX90316 and it will therefore not be suitable for your application.
For the SIN/COS sensor, we can recommend you the 2SA-10 from the company SENTRON which is since 2 years a 100% subsidiary of Melexis. You can find the datasheet on the website www.sentron.ch and if you need samples, please send a small message to <sales_europe@melexis.com>. Please refer to this post on the forum for appropriate follow up.
Thanks for using Melexis.
Question
we are testing your MLx90316 ( soic 8 ) with the PTC04 .
Our objective is to realize a 360 degree rotary sensors with analog ouput .
In our testing we noted that in a very close zone around
359,8 .....360.....0....0,2 degree the ouput signal is not stable ( the value change in a grea manner )
Do you have a solution for this problem .
thank you .
Question
We've seen on the MLX90316 datasheet the parameter called FHYST (hysteresis filter).
Could you suggest us how to program and use this parameter (on the datasheet - page 15 - we can see only a table without detailed informations)?
Our target is to realize a 360 ° potentiometer without discontinuity point.
Finally, could you please better explain the following: "Please note that you can move the location of the discontinuity to any value that suit you if you have an application w/ less than 360 degrees stroke".
Answer
MLX90316 is an angular position sensor. All the errors referred to the output are then expressed in Degree. The following table summarizes the situation:
-1- Error at room temperature
==> Initial offset (on sine & cosine signals): +/- 0.32 Deg
==> Sensitivity mismatch (between sine & cosine): +/- 0.3 Deg
==> Orthogonality error (between sine & cosine): +/- 0.1 Deg
==> Non linearity of the raw signals (i.e. sine & cosine): +/- 0.1 Deg
TOTAL LINEARITY ERROR @ 25 Deg.C.: +/- 0.82 Deg
-2- Thermal Error
==> Thermal offset drift (on sine & cosine signals): +/- 0.32 Deg
==> Thermal Sensitivity drift mismatch (between sine & cosine): +/- 0.1 Deg
==> Orthogonality error (between sine & cosine): not measurable
==> Non linearity of the raw signals (i.e. sine & cosine): not measurable
TOTAL THERMAL DRIFT OF LINEARITY ERROR: +/- 0.42 Deg
-3- Hysteresis: not measurable
Note: This information will be part of an application note which will be released soon on the website.
Question
I test a MLX90316 (EVB90316-Rev001)for accuracy. The MLX90316 is preprogrammed from our distributor (as-electronic) with the following parameters.
-CCW
-Analog
-Filter 3
-Slow Mode
-Clamping 10%/90%
-Output 0°-360°
-Reset on Fault
Now my question. If i test the analog output with a reference device. i recognize between 0-approx. 3° (ref. device)the same voltage at the output from the MLX.
But from approx. 3° the output voltage decrease correctly. What can it be?
The original magnet ist centered with the ring on the pcb and had a distance from 3,8mm
Question
we consider using two MLX90316 on one PCB.
In the data sheet answers to the following questions could not be found:
a) How many MLC90316-GO can share one single SPI bus?
b) In the data sheet in figure „MLX90316 Dual Die – Serial Protocol Mode“ two SCLK lines are used. Why not share one single line?
c)In mass production the two MLX90316-GO must be programmed four times using PTC_04, which is very time-consuming. Can all of them be programmed in one step without needing to reconnect the programming connector?
If not:
Is there a possiblity that the master can programm the parameters via SPI?
d) The MLX90316 is a complex device. Can you provide numbers for failure rates?
e) The range for the allowed magnetic field is very small. Do you recommend to use the SPI mode for getting control over the optimal magnetic field intensity? In analog mode there is no warning if magnets are defective, there is only the feedback via the “diagnostic output level” MLX90316 “OK” or “fail”.
Question
I have a PTC04 and some MLX90316 for a transducer level indicator. I have calibrated the MLX90316 with the programmer (PTC04) and I have setted SPI as output because I need to reed the values though a microcontroller. With the programmer the device works.
When I try to read the values through a Microcontroller (SPI interface) I see that I have sent 0xAA followed by 9 0xff bytes (pag 23m of the datasheet). After I clock the device to reed the values (10 bytes) but the MLX90316 do not response. I don't know if I wrong something.
What are the programmers steps (for SPI interface)?
What is the configuration to control the device through SPI?
Do you have some library (c language) for microcontroller?
Question
I have done the steps but the device don't works.
The lines connected from the PTC04 and MLX90316 are VCC, GND e MOSI/MISO. In the 25 pole connector of the PTC04L, VCC is connected with the 1st
pin, MOSI/MISO with the 2nd and GND to the 4th.
With the programmer I do this steps:
- New Device
- "Output Mode" = SPI
- Click on "Set Settings"
- Set of "Angle point A"
- Set the value and click on "Search RG"
- Set the value and click on "Level point A"
- Set the value and click on "Level Point B"
- Click on "Finish program cycle (program)"
- Click on "EEPROM" and I see that the eeprom is programmed correctly
I have seen (in SPI mode), when PTC04 asks the angle values, that the VDD is about 7.5 V and it respond always on the MOSI/MISO line,
the CLK line don't clock the data. The PTC04 uses VCC GND and MOSI to program che 90316 and the response is on MOSI/MISO line.
After I disconnect the programmer and connect the 90316 with my controller (VDD = 5V).
I send, on MOSI/MISO pin, AAh and FFh and I put this pin in input (the time is rispected). the MOSI/MISO line always stay at 5 V (it is due to the
1Kohm pull-up) and the 90316 doesn't respond.
I have seen it with my scope.
What's the problem?
Can you give me an email where I can send a schematic of the connection between my controller and 90316?
I need this response because we won't change the hall sensor of my device with 90316 in about 1 month.
Answer
I think you are confusing the SPI communication protocol and the 90316 programming with the PTC-04, so let me first explain the 2 communication protocols. Maybe you already know this, but it was not so clear from the last reply.
PTC-04
The programming of the 90316 EEPROM is done using the supply and the output node of the 90316. This is called programming trough the connector ( PTC) and it requires only 3 cables as it is typical used for analog / PWM applications. For reading / writing data from / to the EEPROM, the power supply is raised to 7.5V and the output node is used as for the single wire communication protocol.
Based on your explanation you already succeeded in programming the device.
SPI
The Serial Peripheral Interface Bus or SPI bus is a synchronous serial data link standard designed by Motorola that operates in full duplex mode. The SPI protocol of the MLX90316 is a three wires protocol (/SS, SCLK, MOSI-MISO).
If you connect the SCLK ( pin 3 DB25) and /SS ( Pin 5 DB25) to the PTC-04, then you can also get the readings from the 90316 in the measurement screen through the SPI . The 90316 is considered as a slave node. (Requirements: UI 1.11 and DB 90316 rev 2.0)
If you connect the 90316 to your microcontroller ( See datasheet 90316 : pag 26) and respect the timings ( See datasheet 90316 : pag 22), then the 90316 should reply.
Please check that you send AAh & FFh to the 90316 and it is available during the negative going edge of your CLK signal. If you send me a scope plot of the SS, SCLK, MOSI-MISO signals, then I can verify what could be the problem.
90316 programming
The steps that you performed for the programming is correct for a 2 point calibration. If you want to program the 90316 as a 360 deg sensor, then I would replace the “Set the value and click on Level Point B" with a “overwrite default slopes, after point A with a value 100%/360deg = 0.2777 and click Set “
Question
I'm reading the UI_90316 and I have some question(on the UI_90316 - page 15):
(1)Pull up: Select if a pull-up resistor ( 5K6) to Vbat is required.
Pull down: Select if a pull-down resistor ( 10K) to Gnd is required.
I didn't find the Vbat and Gnd's physical position. Can you give me some detailed informations?
(2)PWM freq: Define the PWM frequency. (Disabled for MLX90316BAD)
Did you mean that the PWM function disabled to use?
Question
concerning your post, please find below some comments.
(1) The PTC-04 offers the option to connect (internally of the PTC-04) to the output pin of the MLX90316 a pull-up or a pull-down resistor. Those resistors are implemented on the Daughter Board of the PTC-04 so that you don't need to connect them externally. However, you have only the option to connect a 5k6 pull-up or a 10k pull-down resistor.
If enabled (either Pull-up or pull-down), the pull-up resistors is connected to Vbat_Norm, and the pull-down resistor is connected to Vbat_Low. Both, Vbat_Norm and Vbat_Low, can be defined by changing the corresponding values in the "Settings" menu of the User Interface 90316. Like this you are able to define the pull-up voltage and to simulate a pull-up or pull-down construction.
(Therefore, Vbat is a voltage source of the PTC-04).
(2) This is not the latest status. Apperently, you are working with an older revision of the UI_90316 document. In the new one, this has been corrected. The actual status is of course that you can chose the PWM frequency.
Question
I have another question. I want to use the SPI mode of MLX90316. When I am trying to program the MLX90316 with the PTC04(choose SPI mode),where are the pins /SS and SCLK should be linked? I just see the functional diagram about Analog/PWM application in the Get_Start_With_MLX90316.pdf document.
Question
in order to be able to establish a SPI communication between the PTC-04 and the MLX90316, you need a MLX90316-Daughterboard of revision 2.0 at least. Any older revision is not able to set up a SPI communication.
I would advise that you check the revision of your Daughterboard and if necessary that you order the latest revision.
In order to get the new UI_90316 document, please provide me your e-mail address.
Question
I have some questions when i use the MLX90316.Could someone help me to solve my problems?
1.When i'm trying the Serial Protocol mode of the MLX90316,how to make the
connection between the MISO and MOSI pins on the SPI Master.
2.How long is the time delay exactly when i get the angle data on the fast mode of the Serial Protocol?
Answer
1) The application diagram depends on the capability of your micro-controller. In the datasheet MLX90316 ( Pag 26) you will find an example of the connection for a micro-controller without open-drain capability and then you can use a BS170JK (or equiv). For a micro-controller with open-drain capability (for instance NEC V850ES series) you do not need the transistor.
2) In fast mode every 200 uSec a new angle value is calculated. The delay between the time that the sample is taken and sent through SPI is therefore 400-600 uSec.
Question
In the datasheet MLX90316(page 24) I saw that
the angle is calculated continously by the
slave every 350us in fast mode. What does it
mean?
And how can you calculate the delay?
Can you give a detailed steps?
Question
In the datasheet MLX90316(page 24) I saw that
the angle is calculated continously by the
slave every 350us in fast mode.What does it
mean?
And how can you calculate the delay?
Can you give a detailed steps?
Question
The datasheet rev.3 of mlx90316 describes a switch out function, it has two parameters,KD and KDHYST, but I don't find them in MLX90316BCG EEPROM parametes, and my qutestion is how to use this function, how to find the parameters.
Question
Thank you very much, My MLX90316BCG UI revision is 1.2, how to download the newest revision 90316BCG UI?
Question
what's the difference between the mlx90316 and the new mlx90333. i mean they use the same triaxis technology, right?!
which technology is used for production of these sensors, is it a cmos technology? cmos is mentioned in the data sheet, but which depth?
Question
Is it http://www.sotdist.melexis.com ?
Our company purchased 1kpcs mlx90316, marked flag is 316BCG P21439/X2 on its surface. I want to know they have the switch function.
Question
I am working on a project using multiple microcontrollers and multiple MLX90316 devices. The project uses SPI mode communications.
I am starting with a schematic produced by my German colleagues, and I have a question about how they implemented the SPI interface.
I believe that if the SPI interface inside the MLX90316 works like typical SPI devices, then the clock and data signals should be ignored if the slave select line is not active. The schematic I am basing my work on has multiple lines to ground out the clock to idle MLX chips, but I believe that these should not really be needed.
Can you confirm for me whether the operation of the device ignores clock and data lines when the slave select line is inactive?
Question
What's the performance of the sensor with the Integrated Magneto-Concentrator (IMC) ?
Is it the same that you specified in the Application note (Front-End Calibration of MLX90316 page 8 /8) ?
Do you have some measurements on the performances of MLX90316 with IMC following different magnets such as the Application Note: Magnet selection ?
With an IMC, is it possible to take the same waveform Flux density vs Axial distance (Application Note: Magnet selection figure 6 page 4 /7) ? The idea is to avoid a saturation of the sensor and Non-linearity.
Question
i am haveing problems using the SPI interface (to PIC18F1320) of the MLX90316. If your offer of help still stands, i would much appriciate it.
MLX90316 In System Programming
Question
Is it possibly to use the PTC04 programmer with a custom cable / adapter to program the MLX90316 on a board.
The PTC04 Connections REV12 diagram : "Functional Diagram SO – 3wires / SPI" suggests it may be possible.
Answer
,
Yes, most customers program the MLX90316 on the PCB. Please see the application note:
http://www.melexis.com/Assets/MLX90316_-_PTC04_connection_diagram_5269.aspx
MLX90316 US magnet suppliers
Question
Where can I get the diametrally magnetized magnet required by the MLX90316 in the US? Please suggest some US suppliers.
mass download&accuracy
Question
i have two questions about MLX90316:
1.how can i realize mass download the routins to devices without PTC04 while mass production?
2.as stated,the total linearity error@25 Centigrade is +/-0.82 deg, i'm not sure it's an absolute error or not. That is, does it mean that during the whole span(360 deg) the error is +/-0.82 deg,and if it is ranging from 0 to 90 deg, then the error will be quarter? or it'll be constanly +/-0.82 deg whatever the measurement range is?
Question
in fact, i'm not sure about mass production,how to operate? i just read some materials about MLX90316 and PTC04, but i haven't seen PTC04 yet, and it'll arrive tomorrow. So i'll learn about it myself, and i'll ask for more info whenever i meet difficulties.
Best regards
FISH TAIL
MLX90316 rotating direction
Question
One question:
in all of your materials about MLX90316, the magnet is rotating CCW,may it rotate CW? If so,will the accuracy decrease?
thank you!
90316 outputDAC characterize problem!
Question
while i'm trying to configure the MLX90316,First,i clicked "new device",then i set settings, after this,while i want to modify the output DAC gain and offset,they are disabled,the default values are 1.000000 and 0.000000 respectively,if i click "characterize",it shows a messagebox"PTC-04 received from the chip ACK/ERR=FFH.while writing to adress 0072h". then i verified the connection,first time i go to the measurement screen,all parameters such as Vout,Idd,Vdd are ok.Then i quit MPT,powered off PTC-04,and started once again,but the same problem occured.
Do you have some suggestions about this?
Buy MLX90316
|
|