Circuit loading is causing your issue. Use an op-amp to buffer the voltage output.
Did you ..._Start() the VDAC?
The second statement should be VDAC_2_SetRange(VDAC_2_RANGE_4V);
Also the 3 statement sets VDAC_1 to 0 V out, the 4'th to full scale once you correct
the second statement.
Thank you all for your reply.
Answering to your comments:
I attached the external (external to PSOC chip, I mean) circuitry at the output of the DACs. As you can see, I have an OA with gain of 2.
Yes, I Start de VDAC_1 & VDAC_2
Regarding the sentences, you are right Dana, It was an errata. I have corrected it but no 4.080V at the output:
Any other suggestion?
Thanks in advance,
DACs_External OA.PNG 17.1 K
The output of the VDAC is resistive, 16K typ for 4 V range. So either
get rid of the 10K at the input to your external OpAmp or use an OpAmp
buffer inside of PSOC to buffer the VDAC output as previously discussed.
PSOC VDAC Output.jpg 38.0 K
Joaquin : Here is a program it sets the input of the Adc to 0V and max 4 volts . you need to jumper the P0-0 to P3-7 to get the voltage follower output to the input of the ADC. Press C on you terminal keyboard program such as PUTTY or some other terminal program for 0.0mv . Press S on your terminal program keyboard for max output. I have to ask why you didn't use a PSOC 5 op-amp for your follower. That's the best part of PSOC all of the components at your fingertips.
Thank you all.
I didn´t realize of the resistive output of the VDAC so, as soon as I removed the resistance out of the PSOC chip, it started to work normally.
Thank you again for your support. This kind of help makes life a little bit easier.
I had the same issue because I placed a 20 k resistor at the output of the DAC as a pull-down for the OP-Amp non-inverting input on which I connected the DAC.
I was reading 2 V when writing 0xFF with Set_Value() command.
These post have been quite useful for me.