Go Down

Topic: DAC0/DAC1: voltage level (Read 374 times) previous topic - next topic

Funkenflug

Hello Community,

while working with the Arduino Due, I've noticed that the voltage output is slightly different than expected.

Analog Input: 0 ... 3.3 V -> 0 ... 4095
Analog Output: 0 ... 4095 -> 0.55 ... 2.75 V

Does anyone know why it doesn't generate an 0 ... 3.3 V output signal?

I've changed the analog read/write resolution to 12 bit.

minimal code:
Code: [Select]

analogWrite(DAC1, 0);


Code: [Select]

analogWrite(DAC1, 4095);


(voltage measured with a digital oscilloscope)

What came in my mind:
0 ... 3.3 V would be 1.65 +- 1.65 V
0.55 ... 2.75 V would be 1.65 +- 1.10 V

So the "middle" voltage is always 1.65 V and just the +- part is only 2/3.

Any ideas who to fix that?

ard_newbie

#1
Oct 04, 2016, 05:04 pm Last Edit: Oct 04, 2016, 05:22 pm by ard_newbie
This issue can't be fixed, see Sam3x datasheet Tab  45.44  page 1412.

Edit : see https://create.arduino.cc/projecthub/ArduPic/how-to-modify-analog-output-range-of-arduino-due-6edfb5

phr3ak

if you want you can reach the 0V level by turning off the dac

dacc_reset(DACC_INTERFACE);

HermannSW

#3
Oct 12, 2016, 09:22 am Last Edit: Oct 12, 2016, 09:28 am by HermannSW
> Analog Output: 0 ... 4095 -> 0.55 ... 2.75 V
>
there are many threads on this, answer is simple that DAC output is in range 1/6...5/6 of 3.3V.
And that cannot be changed.

https://forum.arduino.cc/index.php?topic=178453.0

Go Up