Analog input design problem

Discussion in 'Homework Help' started by GergoT, Jul 24, 2017.

  1. GergoT

    Thread Starter New Member

    Jul 24, 2017
    I've got an assignnent, where I need to design a microcontroller based data acquisition system with Profibus DP connectivity. Since its going to be a Profibus network device, I chose to measure common industrial transmitter output signals (4-20mA and 0-10V). 4-20mA is no problem. But how would you solve the 0-10V measurement with the 3.3V input range ADC? I was adviced (by my teacher) to use programmable gain amplifier attenuating the signal. I couldnt find a similar solution though. So how would you guys do that?
    Thank you in advance!
  2. shteii01

    AAC Fanatic!

    Feb 19, 2010
    voltage divider
    GergoT likes this.
  3. OBW0549

    Distinguished Member

    Mar 2, 2015
    If all you're trying to do is scale a 0-10V input down to 0-3.3V, do as @shteii01 said: use a voltage divider (i.e, a pair of resistors). A 6.8 kΩ resistor from your 10V input to the ADC input pin, and a 3.3 kΩ resistor from the ADC input pin to ground, should do quite nicely.

    I can't understand your teacher's recommendation to use a PGA, unless there are other requirements you haven't mentioned. If not, using a PGA is completely unnecessary.
    GergoT likes this.
  4. MrAl

    AAC Fanatic!

    Jun 17, 2014

    I'd use a resistor voltage divider also, unless you needed auto ranging. You need the programmable gain device for that, but in this case you only have to attenuate so you can even roll your own with some analog switches.

    The reason a programmable gain amplifier would improve the design is because ADC's are bad at measuring relatively low input signals, and if you attenuate the signal with a constant attenuation factor, the signals that are already low get even lower. IF you can change the attenuation gain then If your program code detects a low input signal you can have it switch to less attenuation then therefore get a better reading on the lower signals too.

    For example, with a 10v input and 3.33v output with a constant voltage divider, the ADC will read maximum count, but as the signal goes down to 3.33v input then the output is only 1.11v, which only gives an ADC code of around 333 so we loose some significance. Of course the input then has to be clamped also.

    Many modern ADC's have programmable gain amps built right into the chip and the gain is selectable through program code.
    GergoT likes this.