create new tag
view all tags

The mcp4725 Digital to Analogue Converter


The digital to analogue converter is a device very often used in control applications. Some HV power supplies are controlled by a low voltage analogue signal level: 0V .. 10V → 0kV .. 10 kV. Some DACs convert fast enough such that they can we used to generate arbitrary wave forms.


The MCP4725 is a I2C based DAC with 12 bits resolution.

Exercise 1:

First find out on which I2C address the MCP4725 can be reached.

Write a program that allows you to send a 12 bit digital value to the DAC. Use the pigpio library to do this using the pigpiod interface. Make sure the pigpiod deamon is started:

sudo pigpiod

You must first the initialize the pigpio library with pigpio_start and open the i2c bus with i2c_open. Have a look at the pigpio library documentation for details.

Get a value to be sent to the DAC through command line arguments and check that the analogue level on the DAC output changes using a multi-meter.

Exercise 2:

Create a pulse generator capable of producing sine, rectangular, triangular and sawtooth wave forms.

Send these to the DAC. Make sure the time between 2 samples is always the same, independent of the wave form chosen.

-- Uli Raich - 2017-10-31


Topic attachments
I Attachment History Action Size Date Who Comment
PDFpdf dac.pdf r1 manage 1645.1 K 2017-11-27 - 10:38 UnknownUser  
PNGpng dac_front.png r1 manage 1097.6 K 2017-10-31 - 08:52 UnknownUser  
Edit | Attach | Watch | Print version | History: r2 < r1 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r2 - 2017-11-27 - uli
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback