2

I am trying to produce a 0-5V variable output from a Raspberry Pi using:

  1. adafruit MCP4725 DAC breakout (https://www.adafruit.com/product/935)
  2. SparkFun PCA9306 level translator breakout (https://www.sparkfun.com/products/15439) to shift between the Pi 3.3V logic and the 5V I want at the MCP4725

Between GND and VIN/VREF on the MCP4725 breakout I have 5.17V, but with the DAC raw value set at maximum 4095, I have only 3.23V between GND and VOUT. Varying the DAC raw value does vary VOUT but between 0-3.23V. All connections seem good visually.

To debug I have tried running the VIN/VREF from 3.3V rail which gives 3.26V between GND and VIN/VREF but maximum 2.12V between GND and VOUT.

What am I doing wrong?

circuit diagram

import board
import busio
import adafruit_mcp4725
i2c = busio.I2C(board.SCL, board.SDA)
dac = adafruit_mcp4725.MCP4725(i2c)

dac.raw_value = 4095  # (0-4095)
toolic
  • 5,637
  • 5
  • 20
  • 33
  • Are you sure that the schematic link of PCA9306 is the "same" (5 pins at right)? https://cdn.sparkfun.com/datasheets/BreakoutBoards/PCA9306_Breakout.pdf – Antonio51 Jan 16 '23 at 12:15
  • So the right ground is not connected ... Connect it on the left ground of PCA9306. – Antonio51 Jan 16 '23 at 12:21
  • This is the schematic of the PCA9306 breakout I'm using, it has 5 pins at right, I'm not using the top EN pin. https://cdn.sparkfun.com/assets/0/1/7/0/9/SparkFun_Level_Translator_PCA9306.pdf – user2075343 Jan 16 '23 at 13:17
  • The left and right ground are connected through the PCB of the PCA9306 breakout. I have just validated that and also tried connecting the two with a jumper as you suggested but the result is the same. Thanks for your help. – user2075343 Jan 16 '23 at 13:20
  • It is interesting that the ratio of Vout to Vref is the same in both cases - 63%. What are the outputs at midscale? – Peter Smith Jan 16 '23 at 13:56

1 Answers1

1

It seems that DAC voltage output is dependent of Rload (must be > 5 kOhm, fig 2-15).

Antonio51
  • 11,004
  • 1
  • 7
  • 20