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.

PGA309 usage

Other Parts Discussed in Thread: PGA309EVM-USB, PGA309, TMP275

Hi,

 

I want to include PGA309 in my design. Bought an evaluation board (PGA309EVM-USB) and started to try how this thing works.

I'm still in very early stage of my design and got a problem when using it. I connected a full-bridge strain gauge to the EVM. Used pga309_calculator (sboc132) to determine the parameters I need and insert those parameters to EVM software. The followings are the setting from calculator and EVM software.

The output swing was set from 1.65 to 2.65V so I could get reading from both direction (both tension and compression). The real output should become 0.65 to 2.65V. I simulated this part by using the calculator when making the input (Vin1 - Vin2) from 13mV to -13mV. The corresponding output becomes 2.65V to 0.65V. My problem here is that in the EVM, the Vout is way too high. The desire voltage should be somewhere close to 1.65V but it always stays around 4.2V. Can anyone give me some hints here? Thank you very much.

  • One thing to consider:  The PGA309 has two ways it gets it’s register settings.  

     

    1. If the test pin is high, the PGA309 is in test mode.  In this case you can write directly into the registers using the block diagram or the register table.  This is the mode you want to be in for your initial experiments.  To get into this mode check the test mode box in the upper right side of the block diagram.
    2. If the test pin is low, the PGA309 runs out of the EEPROM.  In this case the PGA309 will continuously read the EEPROM.  Anything you write into the registers will be over-written by the contents of the EEPROM.  This is the mode your software is in, so this is probably the issue.

     

    Another thing to consider: 

     

    Make sure that you get the input voltage on the PGA309 that you need.  The PGA309EVM has the capability to get it’s signals from an external sensor or a built in sensor emulator.  The sensor emulator allows you to control the input voltage with software.  Make sure that your jumpers are set correctly according to your input signal requirement.

     

    Make sure that you try the Auto Calibration algorithm.  This will do the entire calibration automatically.  It will adjust gain and offset until you have a very precise output.  This is especially important if you do not know the precise output of your sensor.

     

    Try my recommendations out.  If you still have issues, give me a call for discussion.    

     

    Art Kay (520) 750-2190

  • Thanks for your help.

    I took your advice and used the built-in sensor emulator. And of course, adjusted all related jumpers. During test mode, the simulated output and actual output are still different.

    I also changed Vin in the block diagram to 13mV and -13mV, which should output 2.65V and 0.65V respectively. The measured output were 2.613V and 4.946V respectively. It not only outputted wrong voltages but also reversed the output.

  • Your procedure is correct.  You have found a error in the software.  New software will be posted as soon as possible under the PGA309EVM web landing page.  This will take a few days.  Sorry for the inconvenience.

     

    Best regards,

     

    Art Kay   

  • FYI.  The new software will be available on the web tommorow (6/3/10).

    Art Kay

  • Thank God ..finally there is some one discussing the PGA309, i have been dying to hear on this fascinating piece of semiconductor. I have been scouting the TI website extensively for helpful material on the PGA309, i have spent many days on PGA309 product data sheet, but not able to get hold of it, probably bcoz the chip has such Gr8 features that it eventually confuses me. I want to use the PGA with a Thermocouple bcoz i want to measure temp over a wide range for a ENgine. Now the data sheet only provides help on interfacing bridge sensor with the PGA, and i also felt that it doesn't maintain clarity regarding certain issues. Are there other documents available. I got one which shows microcontroller interfacing with the PGA but that is a very short doc, hence its not of much help.

    My basic idea is to use  an 8 bit microcontroller to master the PGA and interface a Thermocouple.

    Also for cold junction compensation i want to use the internal temp sense mode of PGA by placing it in close proximity with the cold junction, but i don't have any idea about how to arrange them such that the PGA ACCURATELY MEASURES the temp of cold junc..  Plz help

  • Muhammad,

    Sorry for the delay. There is a variety of ways that you can use the PGA309 to measure a Thermocouple. I think a good starting point is to get the transfer function set up. Using the calculator was a good starting point. Have you tried the new software yet?

    Other things to consider:

    1. Make sure that the input signal is in the common mode range of the PGA309.

    2. Will you do the cold junction compensation in the microcontroller software or using the look up table? I think it would be easer to use software to correct for cold junction error.

    3. Will you use I2C or one-wire to communicate with the microcontroller?

    Let me know how your project is progressing. If you have any specific questions about your design, I’ll help you out. Unfortunately, we do not have a reference design for a thermocouple at this time.

    Best regards,

    Art Kay

  •  

     

    Is the new software available....can you plz provide  a link to the software's.

     

    Regarding the thermocouple ....

           I want guidance regarding the interface of TC with the Mcontroller. i will connect the +ve terminal of the TC to the Vin1 of PGA via a LPF, similarly i will connect the -ve terminal to Vin2 via LPF, now what to do with the Vexc pin and TempIN pins of PGA. (like should i connect the Vexc pin to the -ve terminal of the TC for excitation.

     

    Q: Will you do the cold junction compensation in the microcontroller software or using the look up table? I think it would be easer to use software to correct for cold junction error.

    Ans. Yes i think the software option will be better and i will use the same. ( Also plz suggest me whether i should use the internal temp sensing mode of the PGA, or should i use a separate Temp sense IC like the TMP275 to sense the  cold junction temp and also suggest a method to interface the cold junction with the temp sensing device such that it accurately senses the temp of the cold junction.).

     

    Q. Will you use I2C or one-wire to communicate with the microcontroller?

    Ans: I will be using the I2C. But i am not sure how to interface the i2c bus of PGA and the Mcontroller, because the data sheet of PGA explains and illustrates a PGA being the master of an external eeprom, and it seems to be accessing it directly without the use of a Mcontroller for fetching the Temp coefficients. If i am interfacing the Mcontroller on the i2c port of the PGA how should I store those temp coefficients such that  the PGA can access them.

     

                      Thanking you for your generosity and help. And sorry for posting such long queries.

     

     

  • link to software:

    http://www.ti.com/litv/zip/sboc320a

     

    The important thing with cold junction compensation is to make sure that the cold junction sensor is isothermal with the cold junciton.  Some connection blocks are specificaly designed for good thermal conductivity near the wire connections (cold junction).  I recomend using a temperaure sensor that can be mounted iso-thermal to the terminal block.  If you can mount the PGA309 isothermal to the connection block then use the internal sensor.  Otherwise use an diode, or RTD.  The cold junciton voltage can be read with the PGA309 temp adc.

  • Hello Art,

                      I have one more query, but this time its regarding the peripheral hardware design. During researching all these days i often came across a note pertaining to thermocouple connection with the actual signal conditioner/isolater/isothermal block i.e if we are using a oarticular type of thermocouple for eg. type K then we should use accessories like cable and connectors of the same type. Otherwise these accesories while make a second thermocouple and junctions which will result in erroraneous outputs. All this can be taken care of by using the correct type of accesories but what about the connection between the connector on the terminal box and the PCB which has the signal conditioner, here the connector can be of the same type which will be soldered/connected to the i/p pins of the PGA309 via copper tracks on the PCB which will result in a mismatch of type causing formation of a thermocouple between the connector and the PCB tracks.

  • Hi Art,

                        A lot of time has passed since we last discussed the PGA & after so much of discussion and hours of learning the TI documents there is no sense of direction as to how can i use the PGA with a thermocouple, the TI user guide also mostly explains in great detail how to interface PGA with sensors like Bridge, RTD and thermistors, but the concept of thermocouple with PGA is completely sidelined. It could be of great help if TI can provide some technical documents or user guide for the PGA+Thermocouple.

  • The PGA309 was developed for bridge type sensors.  However, it should work for thermocouples and other applications as well.  Unfortunately we do not have a detailed reference design for this application at this point.  I’ll put it on my list of things to do.  Many of the fundamentals of thermocouple design are the same for any thermocouple design, so you might consider researching the web for general info.

     

    Best regards,

     

    Art

  •  

    Hi.

           Although the existing PGA user guide does have a section on Temperature measurement, but that section only considers sensors like RTD, Thermistor etc. That too the measurement takes place through the TempIN pin, which means the Onchip Temp ADC is doing the job, which i think is as good as using a TMP275 digital o/p temp sensor. Can we measure high temperature (800C)  with the TempAdc of PGA through the TempIN pin.

    There is another document from TI which shows interfacing PGA with a Ucontroller (SBOA108), in this doc the Abstract on the first page says "In this type of application, the PGA309 becomes a programmable sensor signal conditioner block that also measures temperature", does this mean that for measuring temp we need to use a Ucontroller.

  • Hello Art,

    We evaluated the PGA309 Evaluation module and we wanted to include PGA309 in our design. 

    We referred to the document "PGA309 Microcontroller Application" and followed all the steps to establish a Onewire communication between a microcontroller(we use PSOC) and PGA309.

    To write a byte to the PGA register 2, I send data frame as explained in the PGA309 user guide,

    ie, (the initialization byte, register address command, register address pointer, initialization byte, write command, data). 

    The data gets transmitted. I checked the signal on oscilloscope.

    To read a byte from the PGA register 2, I send the following data frames.

    (the initialization byte, register address, register address pointer), - this is for setting the PGA register address pointer 

    (the initialization byte, read register command) - this is for reading the PGA register 

    I incorporated a 1ms delay and then I read the PGA register. 

    I do not receive anything from PGA309. 

    Is there anything that I am missing? I needed your help in this regard.  If required, I can email the schematic that I have. I can also send the data frames as captured on oscilloscopes. 

    Thanks a lot for your help. 

    Regards, 

    Aishwarya

     

     

     

  • Register 2 is a good choice to test communications (read / write register).  Make sure that the test pin is held high when writing to this register.  You should be able to read what you have written.  If you cannot, you probably have an issue with your timing.  You could compare your timing to the EVM timing using the oscilloscope.  If it does not look the same, you should check your microcontroller firmware.  Below is some information about the firmware.

     

    The key to doing one-wire communication is to understand your microcontrollers UART commands.  One wire commands are done using standard UART I/O.  This is different on each microcontroller.  I implemented this using the TUSB3210 microcontroller (8051 type microcontroller).

     

    Below is some example code using the 8052 UART:

     

    Receiving:

     

          InitTimer();// LOOK FOR TIMEOUT ON DUT READS

          while(TI == 0); // WAIT FOR LAST TRANSMIT TO COMPLETE

          SCON = 0x52;// ENABLE RECIEVE

          disRead=0;

          RI=0;

          ReceiveUartByte(&bufIEP1Buffer[j]); //FROM DUT

          if (TF0==1)

          {

          sendUartString("Time out!\r\n");   

          bufIEP1Buffer[30]=0xAF;

                    }

     

    Transmitting:

     

          if (disRead!=1)  

          {

                SCON=0x42; // DISABLE RECIEVE

                disRead=1;

          }

          sendUartByte(pbXBufferAddress[j+7]); // byte1

     

     

  • sir,

    i using PGA309 EVM for my application. You mentioned the new software link http://www.ti.com/litv/zip/sboc320a. But i Cant Access it. Please give me a link  for the newer Version.

    Another question " What is the difference between  PGA309EVM software and PGA309EVM-USB software ?" please Explain