AD5272 - how tall is the resistence per step ?

Hello dear forum users,

I'm new here and new at the topic digital potentiometer.

I need a digital potentiometer which I want control through I2C with my Arduino Uno to change the voltage at the LM723 voltage resistor feedback.

Now I need to know, how big is the resistance of the AD5272 per step.

Do you know how big is it ?

How all is the tolerance between the values?

How big is the difference between min, typically and max value ?

I hope you can help me or give a advice what to do better.

Sincerely,

Petr94

  • 0
    •  Analog Employees 
    on Jul 7, 2015 10:25 PM over 5 years ago

    Hi Petr94,

    Let us try to answer your questions:

    Q> Now I need to know, how big is the resistance of the AD5272 per step. Do you know how big is it ?

    A> That would depend on the variant of the part that you are using. There are 20kΩ, 50kΩ and 100kΩ variants which will typically have about approximately 19.5, 48.83, 97.65 of step size respectively. Keep in mind that there is a typical 35 wiper resistance.

     

    Q> How all is the tolerance between the values?

    A> The AD5272 offers 1% end-to-end resistor tolerance error by using the resistor performance mode. This mode activates a new, patented 1% end-to-end resistor tolerance that ensures a ±1% resistor tolerance on each code, that is, code = half scale and RWA = 10 kΩ ± 100 Ω. See Table 2, and Table 3 to check which codes achieve ±1% resistor tolerance. The resistor performance mode is activated by programming Bit C2 of the control register.

    Q> How big is the difference between min, typically and max value ?

    A> Generally speaking, there is no standard difference between minimum, typical, and maximum values. It means that ADI guarantees a part to have a certain minimum (typical, or maximum) value on a certain parameter.

     

    Regards,

    Mark

  • Hello Mark,

     

    thank you for the answer.

    I already guessed that the resistance per Step at 20kOhm could be 19,5 Ohm (20kOhm/1024steps)

    but I was not sure whether it is right or not.

    What you mean with the Wiper resistance ?

    So I need to add for every step 35 Ohm ? 19,5 Ohm + 35 Ohm = 54,5

    and 39 Ohm + 35 Ohm = 74 Ohm , right ?

     

    I never have worked with digital potentiometers, so Im glad if you can help me and give advices.

     

    Thanks,

     

    Petr

  • 0
    •  Analog Employees 
    on Jul 22, 2015 5:55 PM over 5 years ago

    Hi Petr,

    Apologies for the delay. The wiper resistance is the resistance as seen at the wiper terminal of the digipot. This is added on top of the computed resistance of the voltage divider. So if you calculated a midscale value of 10k ohms from a 20k ohm digipot,  you should expect an additional 35 ohms(typical) when you measure the resistance.

    Regards,

    Mark

  • 0
    •  Analog Employees 
    on Jul 23, 2015 12:33 AM over 5 years ago

    Hi Petr,

    A couple of questions:

    • What is the 7-bit I2C device address that you are using?
    • What are the states of pins A1 and A0?
    • How is the 0x2C address implemented?
    • Could you get a scope shot of the SDA and SCL lines of your circuits?
    • What is your digipot's end-to-end resistance value?

    Take note that the 16-bit word consists of two unused bits, which should be set to zero, followed by four control bits and 10 RDAC data bits (note that for the AD5274 only, the lower two RDAC data bits are don’t care if the RDAC register is read from or written to), and data is loaded MSB first (Bit 15).

    You would have to use command number 1 on Table 12 to be able to write to the RDAC.

    You will then compute for the approximate code for the digipot to have a value of 100 ohms. If you have a 20k ohm digipot, you may use code 3 or code 4 to have a resistance between approximately 93 ohms and 113 ohms, wiper resistance included.

    Regards,

    Mark

  • Hello Mark,

    thanks for your answer,

    actually I try to programm the digital potentiometer.

    How I have understand,

    xxccccdd dddddddd

    xx get ignored

    cccc are the commands

    dd dddddddd are for the data values in binary.

    I have asked about it already in a other forum, but dont understand why the code doesnt work.

    Arduino Code looks so:

    #include <Wire.h>
    
    
    void setup()
    {
      Wire.begin(); // join i2c bus (address optional for master)
    }
    
    
    void loop()
    {
      Wire.beginTransmission(44); // transmit to device #44 (0x2c)
      Wire.write(0b00000111);
      Wire.write(0b11111111);
      Wire.endTransmission();      // stop transmitting
      delay(2000);
    
    
      Wire.beginTransmission(44); // transmit to device #44 (0x2c)
      Wire.write(0b00000100);
      Wire.write(0b00000000);
      Wire.endTransmission();      // stop transmitting
      delay(2000);
    }
    

    It swichting between max and min, but I want get a value, like 100 Ohm, as example. which part I must change to get it and which commands I need for this.

    thanks,

    Petr