This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

LMP90080

Other Parts Discussed in Thread: LMP90080

Hi,

    I am trying to measure the temperature using the 3 wire RTD with LMP90080. It is mentioned in the datasheet that the Rref must be connected between the Vrefp and VrefN.

whether  RTD need to have voltage source connected to the VrefP or it needs proper Rref to do that.Can anyone reply me.

  • Hi,

        I have used the circuit which is in the LMP90080 datasheet in page no 46.This is for 3 wire RTD with single current source.

    I measured the voltage diff between Vin0 and Vrefn2, between Vin1 and Vrefn2 and also between Vrefp and vrefn2.I have got the same voltage difference in all points which i mentioned above.What i possibly do wrong,?

    The voltage diff between Vin0 and Vin1 is Zero,i have selected 1uA cuurent through ADC_AUXCN register.I am not using any resistors other than the line resistor.I ve connected 1k resistor for Rref. For diff current i ve chosen the voltage diff is again same which is 1.9mv.Might be the current source itself gone. is tat possible.?

    Help me out...

  • Hi Anbu,

    are you sure that you have done exactly the same circuit showed in the picture on page 46  (replacing the line resistance with real cable) ? If you do not read nothing between V0 and V1 it seems that you do not have connected any cable between V1 and the RTD. Thsi could explain what you are seeing "current source gone away".

    Once you have checked the hardware, please provide me wiht the piece of code where you configure the LMP90080.

    regards,

    Domenico

  • HI Domenico,

    I have checked the hardware,i checked the connectivity also.It seems right.I have given the code below.I have used the protocol mentioned in the figure 47 in page 33 to communicate.

    I used the same code to read thermocouple which is connected with LMP90080,it worked and i got the reading.So i request u to not to worry abt the functions ADC_Write and ADC_READING which i used to send the data to LMP90080 through SPI communication.

    I  connected 1st cable of the RTD to the pin Vin6, 2nd cable to the pin Vin7 and 3rd cable to the VREFP1.I have used VREFP1 AND VREFN1 as positive and negative reference points respectively.I  used 1K ohm as Rref.

    I might have done something wrong in the initialisation part..

    #define RW 0x10/*Read or write address.*/

    #define RDATA (0X01<<7)/*Read or write data.*/
    #define WDATA 0x00

    #define CH0 0x00/*No of channels in ADC*/
    #define CH1 0x01
    #define CH2 0x02
    #define CH3 0x03
    #define CH4 0x04
    #define CH5 0x05
    #define CH6 0x06

    #define SINGLEBYTE 0x00/*Size of the data to read or write.*/
    #define TWOBYTE 0x01<<5
    #define THREEBYTE 0x01<<6
    #define STREAMBYTE 0x03<<5

    /*Register address bytes.*/
    #define RESETCN 0x00/*Upper Address Byte and Lower Address Byte for reset control.*/

    #define UAB_ADC_RESTART (0x0F&0x00)/*UAB*/
    #define LAB_ADC_RESTART (0x0F&0x0B)/*LAB*/

    #define UAB_BGCALCN (0x0F&0x01)
    #define LAB_BGCALCN (0x0F&0x00)

    #define UAB_ADC_AUXCN (0x0F&0x01)
    #define LAB_ADC_AUXCN (0x0F&0x02)

    #define UAB_ADC_DONE (0x0F&0x01)
    #define LAB_ADC_DONE (0x0F&0x08)

    #define UAB_SENDIAG_FLAGS (0x0F&0x01)
    #define LAB_SENDIAG_FLAGS (0x0F&0x09)

    #define UAB_ADC_DOUT (0x0F&0x01)
    #define LAB_ADC_DOUT (0x0F&0x0A)

    #define UAB_CH_SCAN (0x0F&0x01)
    #define LAB_CH_SCAN (0x0F&0x0F)

    #define UAB_CHX_INPUTCN (0x0F&0x02)
    #define LAB_CHX_INPUTCN(n) ((0x0F&0x00)|(n*2))

    #define UAB_CHX_CONFIG (0x0F&0x02)
    #define LAB_CHX_CONFIG(n) ((0x0F&0x01)|(n*2))

    ADC_Write(RW, RESETCN, (WDATA|SINGLEBYTE|RESETCN), 0xC3);//reset
    ADC_Write(RW, UAB_BGCALCN, (WDATA|SINGLEBYTE|LAB_BGCALCN), 0x00);//BGCALCN
    ADC_Write(RW, UAB_CH_SCAN, (WDATA|SINGLEBYTE|LAB_CH_SCAN), 0x89); 
    ADC_Write(RW, UAB_CHX_INPUTCN, (WDATA|SINGLEBYTE|LAB_CHX_INPUTCN(CH0)), 0x08);
    ADC_Write(RW, UAB_CHX_CONFIG, (WDATA|SINGLEBYTE|LAB_CHX_CONFIG(CH0)), 0x7C);
    ADC_Write(RW, UAB_ADC_RESTART, (WDATA|SINGLEBYTE|LAB_ADC_RESTART),0x01); //adc restart
    ADC_Write(RW, UAB_ADC_AUXCN, (WDATA|SINGLEBYTE|LAB_ADC_AUXCN),0x01);

    ADC_Write(RW,UAB_CHX_INPUTCN, (WDATA|SINGLEBYTE|LAB_CHX_INPUTCN(CH0)), 0x37);
    ADC_READING(RW, UAB_ADC_DOUT, (RDATA|TWOBYTE|LAB_ADC_DOUT), (adc_ch_value));

    while(1)
    {
    do
    {
    ADC_READING(RW, UAB_ADC_DONE, (RDATA|SINGLEBYTE|LAB_ADC_DONE),(&drdyb_signal));
    delay_us_v(100);
    }while( drdyb_signal==0xff);

    ADC_READING(RW, UAB_ADC_DOUT, (RDATA|TWOBYTE|LAB_ADC_DOUT),(adc_ch_value));

    Regards

    Anbu

  • Hi Anbu,

    I found the issue, I've quoted your hardaware dascription "... I  connected 1st cable of the RTD to the pin Vin6, 2nd cable to the pin Vin7 and 3rd cable to the VREFP1.I have used VREFP1 AND VREFN1 as positive and negative reference points respectively.I  used 1K ohm as Rref. ..."

    In order to make this measuremnt you have to define 2 channels, in your case you should need VIN6-VIN7  and VIN-VREFP1. Unfortunately VREFP1 is just a reference pin and cannot be selected as an input pin to create a channel measurement. You have to implement your setup in a different way.

    The RRef needs to be placed between VREP2 and VREFN2. The first 2 pins of the RTD need to be conencted to any input channels of the LMP90080 and the third pin to VIN6 (which is also VREFP2).

    Refer to figure 66 on page  46 of the Datasheet.

    In this way you can implements 2 channels and the reference-

    regards,

    Domenico

  • Hi Domenico,

                  Thank u for ur reply, I understood the issue. But I ve one more issue to be solved.

    a)In my project, I ve to use 3 thermocouples and a RTD using single ADC (cost effective).The thermocouples are connected to the channel VIN0-VIN5. So, the LMP90080 is left with one differential input VIN6-VIN7.In this case, is there a way to connect the RTD else does the design have to be reconfigured..?

    b)As you said, Is it possible to connect 3 RTDs in 4 differential input available,by connecting the 3rd cable of all the RTDs to the VREFP2. (If i multiplex current source.)

    In this case, in programming, i have to select two channels.One channel is for differential i/p and the other channel is for VREFP2. Is it possible to select the reference pins through VREF_SEL bit in the CHx_INPUTCN register.

    c)Am I still need to connect 5v to  VREFP1 if suppose i am using only RTD (Not thermocouple)..?

    Kindly reply me..

    Regards,

    Anbu

  • Hi Anbu,

    regarding the first question (a),

    you should use the method described on page 45. In this case you have to leave the hardware as it is, but yuo have to enable both current sources Ib1 and Ib2. In this way  you need to configure just 1 channel to (VIN6-VIN7) to measure the RTD.

    The drawback of this approach is that you do not have any other inputs to conenct a voltage reference for the thermocouples. The ADC requires a voltage refrence to convert the analog votlage in to a digital code.

    The only solution that I see is that you need to leave one of the 2 current generators ON in order to create a reference voltage across the RRFEF.

    Regarding question (b), yes you can use this topology.

    Regarding question (c), the voltage reference is necessary when you connect the Thermocouples, but it is not needed when you connect the RTDs. In the case of the RTDs, the voltage drop across the RRFE (which is conencted between VREP and VREFN) generates the voltage reference for the ADC.

    Please give a look to the DS, we show all these connections.

    regards,

    Domenico

  • Hi Domenico,

           Yes tat was mentioned in the DS. I think i sorted all issues.

    Thank you for all your reply 

    Thanks & Regards

    Anbu

  • Hello Domenico,
    I got the design for the RTD with what we had discussed in this psot.I got a problem now.
    I connected RTD1 to one of the four lmp90080s VIN0 and VIN1, third line to the VREF2.I also connected RTD2 to VIN2 and VIN3, thirdline to the VREF2.
    When I read channels seperately(wiht anyone RTD not connected), I read correct values from ADC. But when I connected both the RTD and tried to read both simultaneously, I read incorrect values.
    I mentioned the register settings as below,
    Registers value

    RESETCN 0xC3
    BGCALCN 0X00
    RESTART 0x01
    AUXCN 0x0A
    CH_SCAN 0x80 FOR CH0
    CHX_INPUTCN 0x53 "
    CH_SCAN 0x89 FOR CH1
    CHX_INPUTCN 0x65 "
    I used delay wherever possible.

    Please help me with this situation.I checked the everything but i could not find what went wrong.
    (I also posted a seperate thread for this on last saturday for which I didnt get any reply so far.)


    Thanks and Regards
    Anbu
  • Hello somebody,
    I hope I would get reply from somebody for this post.
    In the above post I ve mentioned that I have connected a RTD to CH0, another RTD to CH1. When I try to read in ScanMode 2, ADC doesnt read properly.I then, changed the register setting to read single channel in ScanMode 2 in which case the ADC reads properly.I increased the delay as much as possible.
    Can somebody answer me and help me..?
    I really dont understand the internal channel multiplexing of LMP90080. Is there any minimum time I should wait before multiplexing the channel..? or should I keep on posting untill I find solution by myself..?

    Thanks in advance for the one who is gonna reply me.


    Regards
    Anbu