Recommendation for a DAC to use with an Arduino Nano to control a DIY E-Load? - Page 1
Forum section: electronics / general

author: t1d
author_rank: Super Contributor
timestamp: October 25, 2023, 11:46:27 am
content: I am very much a MCU novice. I am thinking of adding a Nano to control and read my DIY Electronic Load.The Nano does not have a DAC. I see other Arduino DIYers using the MCP4725, for this application. However, I also read that the 4725 is an older design and that it is not so well documented. Additionally, at $1.30 each, it is not what I personally would call dirt cheap.I am thinking 10, or 12, bit will be sufficient. Non-volatile EEPROM is good, too.Here is the E-Load Schematic. I have not started adding the Arduino adaptations, yet.Here is the thread, where many gracious contributors and I developed the E-Load circuit:https://www.eevblog.com/forum/projects/electronic-load-project-ltv171-irfp250-with-kicad-files/It seems to me that, in this application, a Digital Pot might be used as a voltage divider in a very similar manner to control the E-Load. After all, we are just changing the reference voltage on the op amp. Thoughts?Thanks for your help with DAC recommendations. Feel free to add any tips for implementing it into the E-Load, as well.

author: MarkF
author_rank: Super Contributor
timestamp: October 25, 2023, 11:59:58 am
content: I've been using the MCP4822 which has a SPI interface.They are 8, 10 or 12 bit dual DACs.https://ww1.microchip.com/downloads/en/DeviceDoc/20002249B.pdfNot cheap but dual DACs. Depends whether you want a SPI or I2C interface.I don't do Arduino. But, I find programming a SPI device easier to implement than I2C.There is also the MCP4821 which is a single 12-bit DAC. Also, 8 and 10-bit DACs available.

author: Nominal Animal
author_rank: Super Contributor
timestamp: October 25, 2023, 01:52:20 pm
content: MCP4725A0T-E/CH is the cheapest 12-bit or higher DAC Mouser currently has in stock (180,000+ units) at 0.986€ per chip in lots of 25.MCP4716A0T-E/CH is the cheapest 10-bit DAC Mouser currently has in stock (a few thousand units) at 0.837€ per chip in lots of 25.LCSC has these in stock also, for 0.831€ and 0.7503€ per chip in lots of ten, respectively.JLCPCB has these in stock also as an extended part for their assembly service, for $0.9450 and $0.8960 per chip.(All prices and stock availability as of 2023-10-25.)This means they are cheap, easily available, and obviously popular chips; explaining why they're so popular among Arduino hobbyists too.As to the documentation, theMCP4725 datasheetseems to be complete in my opinion –– that is, would be sufficient for my own designs (like using a DAC to control a BJT-based backlight LED circuit without PWM/PDM flickering). Granted, I too prefer SPI bus over I²C (and thus selected MCP4801T-E/SN without EEPROM but with internal reference instead for that backlight circuit, 8-bit ample for my needs), because I've found SPI easier to level-shift (TI TXU0304) and cheaper to isolate (TI ISO6741) than I²C (TI ISO1640). When so desired, putting the DAC (and optionally a buffer opamp for higher current output) isolated and sharing the target ground is quite useful.

author: PCB.Wiz
author_rank: Super Contributor
timestamp: October 26, 2023, 02:41:12 am
content: Quote from: t1d on October 25, 2023, 11:46:27 amDigital pots do not come in 12bits, 1024 steps seems to be the highest common resolution.If you want full linear range from your function generator input, you need a multiplying DAC, tho most function generators have their own signal levels controls, so maybe you can skip that ?.More common is for low cost DACs to define VREF ranges from something like 1V ~ Vcc, so you would need to check how they perform for VREF going to zero.EEPROM is less common in DACs but more common in Digital Pots.An alternative is to find an Ardunio with a DAC (latest model has 12b DAC) or use a MCU with a DAC and use the on chip memory as storage (with 'enough' cycles endurance ?)MCUs like EFM8BB52 have 10b DAC and EFM8BB3/EFM8LB1 have 12b DACsAddit: I see the MCP4726 family has an external VREF pin and EEPROM, that does spec VREF to 0V, so it could be used with a Signal generator, up to the bandwidth spec.