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.

TPL0102-100: How to use TPL0102 WRA WRB as a individual variable Resistor for application

Part Number: TPL0102-100

Hello TI,

I am Using TPL0102 Digital POT in my application circuit 

1.Is it possible to use WRA and WRB resistor individually in TPL0102...? if yes please share some reference for development

2.TPL0102 WRA work when i use 0x00 and WRB work when i use 0x01 for instruction, how to use both resistor parallel for different application ...?

3.I want to use both resistor for different application, can i use TPL0102 like this ...?

i am sharing my Schematic circuit and application code 

#include <Wire.h>

void setup() {
Wire.begin(); // join i2c bus (address optional for master)
Serial.begin(9600);
}

//byte val = 0;

void loop() {
Wire.beginTransmission(0x50); // transmit to device address 0x50
// device address is specified in datasheet
Wire.write(byte(0x00)); // sends instruction byte WRA
Wire.write(byte(0x01)); // sends potentiometer value byte
Wire.endTransmission(); // stop transmitting

//val++; // increment value
// if (val == 256) { // if reached 255th position (max)
// val = 0; // start over from lowest value
//}

//delay(500);
}

  • Hi Rahul,

    Thank you for your query. The A and B resisters are independent of each other and can be used in parallel as long as the voltage and current limits specified in the datasheet are respected. I see that you have 1K resistors in series with the DPOTs. But in case the amplifier saturates, there is a chance that the current through the DPOT exceeds 2mA limit if the DPOT resistance value is set at a low value. It is a better idea to increase th series resistance.

    Hope that helps.

    Regards,
    Uttam Sahu
    Applications Engineer, Precision DACs
  • Hello Uttam,

    I change that series resistance current value of the resistance is 10K, which is used in series with DPOT

    But my question is can I use both reistnace at a time, if yes then what i need to change in code side or Hardware side
    Can i need to change change Wire.write(byte(0x01)); // sends potentiometer value byte ....?

    thanks for your valuable response uttam

    Thanks and regards,
    Rahul Surawase
  • Hi Rahul,

    You can use both the resistors simultaneously.

    In Arduino, in order to control the A resistor, you need to write:

    Wire.beginTransmission(TPL0102_ADDR); // slave address
    Wire.write(0x00); //register address
    Wire.write(0x88); // value of resistance A
    Wire.endTransmission(); // stop bit

    In order to control resistor B:

    Wire.beginTransmission(TPL0102_ADDR); // slave address
    Wire.write(0x01); //register address
    Wire.write(0x88); // value of resistance B
    Wire.endTransmission(); // stop bit

    Hope that works.

    Regards,
    Uttam
  • Hello Uttam,

    Yes, i want to use both resistor simultaneously
    for that what i need to set Wire.write(0x01); //register address .....?

    Thanks and regards,
    Rahul Surawase
  • Rahul,

    The register address 0x00 id for the A - resistor and the address 0x01 is for the B - resistor.

    You can change both of them by writing them individually with two I2C write.

    You can also change them at the same time by using a continuous I2C (section 7.5.2.2 of datasheet) like as follows:

    Wire.beginTransmission(TPL0102_ADDR); // slave address
    Wire.write(0x00); //register address of resistor A
    Wire.write(0xAA); // changes the value of resistor A
    Wire.write(0xAA); // changes the value of resistor B. No need to specify the register address again. It increments automatically
    Wire.endTransmission(); // stop bit

    Regards,
    Uttam
  • Hello Uttam,

    It's working fine, Thanks for your valuable support
    I can Control DPOT A and B Simultaneously

    Thanks and Regards,
    Rahul Surawase