# PCF8591 Max Voltage of 4.33V not 5V [Solved]

Solved 7/6 - The solution was to remove the pull up resistor on R2. Now voltage is @ 5.3 max

I purchased a PCF8591 DAC-ADC dev board from ebay: http://www.ebay.com/itm/221783164880?_trksid=p2057872.m2749.l2648&ssPageName=STRK%3AMEBIDX%3AIT

And the wiring diagram for the board:

I wired it up using the below as a guide from Adafruit:

I then used the triangle wave code posted @ Tutorial – Arduino and PCF8591 ADC DAC IC | tronixstuff.com

// Example 52.1 PCF8591 DAC demo
// http://tronixstuff.com/tutorials Chapter 52
// John Boxall June 2013
#include "Wire.h"
#define PCF8591 (0x90 >> 1) // I2C bus address
void setup()
{
Wire.begin();
}
void loop()
{
for (int i=0; i<256; i++)
{
Wire.beginTransmission(PCF8591); // wake up PCF8591
Wire.write(0x40); // control byte - turn on DAC (binary 1000000)
Wire.write(i); // value to send to DAC
Wire.endTransmission(); // end tranmission
delay(10);
}

for (int i=255; i>=0; --i)
{
Wire.beginTransmission(PCF8591); // wake up PCF8591
Wire.write(0x41); // control byte - turn on DAC (binary 1000000)
Wire.write(i); // value to send to DAC
Wire.endTransmission(); // end tranmission
delay(10);
}
}

It works fine, but the voltage when measured on the VCC, SDA, or SLC pins are all 5.2V, yet when measuring @ VOUT the voltage maxes at 4.33V. Even if I hadcode

Wire.write(255);

which should be the max, I still get 4.33V.

My thought is that something is not right with the vref pin since it's my understanding that's what sets the max.

Here's what my setup looks like:

Ignore the PING((( sensor and LED as there for another project. Which still works as designed, but maxes at 4.33V. The picture shows a LittleBit bargraph and number module as this is part of the other project I'm working on. But I did measure with a multimeter as well for the above #s.
Ignore the MCP4725 DAC on the fritzing image as the outputs on the PCF8591 are very similar if not the same.

Any thoughts on whats going on here would be greatly appreciated!

what happens if you turn pot 1?

does it affect the output voltage?

Can you measure VCC on the board?
Does it need a separate power supply?

Datasheet (page 14.2) states VOUT from Vss to Vdd with no resistive load, schematic of module shows VOUT connected to LED and 470R resistor so that is drawing 4 - 5 mA. Can you easily disconnect the LED and see if that lets VOUT get up to VDD ?

Are you looking at the yellowish schematic that's for the dev board or my frittzing schematic?

The voit from the DAC is not connected to the LED or resistor. The LED is getting a pwm signal from pin 9 if my memory's correct.

There DAC is connected to pins a4 & a5. So the LED and resistor have no connection.

I can certainly remove them and see if it works, but I don't see how.

robtillaart:
what happens if you turn pot 1?

does it affect the output voltage?

Can you measure VCC on the board?
Does it need a separate power supply?

Pot1 had no effect on vout. My understanding is it's used for the ADC function.

VCC on the board is 5.2V

I should have said AOUT instead of VOUT.
I was looking at the schematic of the PCF8591 and the picture above it in your first post, the schematic shows D2 connected to AOUT thru a 470R resistor. The third pic shows the PCF8591 board with both LEDs burning, the fritzing diagram shows MCP4725 but no PCF8951. Which board do you have?

I was referring to this datasheet.

http://www.nxp.com/documents/data_sheet/PCF8591.pdf

I have the pcf8591 as a breakout board. It's the first picture

The second picture is the breakout boards schematic.

The fritzing diagram is my setup. I used the mcp4725 image as fritzing library doesn't have the pcf8951.

If your looking at the breakout board, I suppose I could cut the resistor, but that doesn't make much sense.

Hi,
You are looking at a triangular waveform coming out of Aout.
What are you measuring the amplitude with?
If it is a DMM then 4.33V is probably right for a 5V signal.

Tom.....

TomGeorge:
Hi,
You are looking at a triangular waveform coming out of Aout.
What are you measuring the amplitude with?
If it is a DMM then 4.33V is probably right for a 5V signal.

Tom.....

If DMM is digital multimeter then yes and set to 20v DC.

Would I need an amplifier or something to get the signal to 5v?

Ultimately this will be part of a littlebits range sensor module. So when an object is at 2cm to the sensor I need to output 5v.

Hi,

No you don't need an amplifier.

The output you are measuring is TRIANGULAR waveform, it is NOT DC, so your DMM is measuring the AVERAGE of the signal, which is varying from 0V to 5V in a TRIANGULAR waveform.

In DC mode a DMM is assumed to be measuring a CONSTANT voltage, TRIANGULAR is not.

So your TRIANGULAR waveform is probably 0V to 5V.

Tom.....

TomGeorge:
So your TRIANGULAR waveform is probably 0V to 5V

Tom, thanks for the explanation!

Is your quoted comment true even if Wire.write (255);?

How can I make the dac output a constant voltage rather than a triangle?

THANK YOU!

This past haa a similar issue to mine where vout is 85% of vref.

My tests show another frustration: A lower than expected analog output voltage. For a 4.88 volt supply the output is only 4.17 volts (85%) at maximum value setting. Since the maximum supply voltage is 8 volts, increasing the supply to 6 volts may get a 5 volt result.

According to the schematic @

it appears that there's a 470 ohm resistor on R2 going to the D2 LED connected to AOUT. My thought is that it's this resistor that's lowering the AOUT from 5 to 4.2. I'm going to de-solder the pull up resistor when I get home and we'll see if the issues resolved.

My suspicion was right and it was the R2 pull up resistor that was causing the drop in voltage. Project moves on now!!!

What'd I say?

jcallen:
schematic of module shows VOUT connected to LED and 470R resistor so that is drawing 4 - 5 mA. Can you easily disconnect the LED and see if that lets VOUT get up to VDD ?

You were right. I didn't understand which LED you were referring to. After learning about electronic symbols and reading over the diagram, I understood what you were talking about.

Thank you!