The mcp4725 Digital to Analogue Converter

Goal:

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.

dac_front.png

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.

-- %USERSIG{UliRaich - 2017-10-31}%

Comments

 

I Attachment Action Size Date Who Comment
dac.pdfpdf dac.pdf manage 1 MB 27 Nov 2017 - 10:38 UnknownUser  
dac_front.pngpng dac_front.png manage 1 MB 31 Oct 2017 - 08:52 UnknownUser  
This topic: Embedded_Systems > WebHome > CourseExercises > DigitalToAnalogueConversion
Topic revision: 27 Nov 2017, uli