Re: DAC conversion
Posted: Tue Mar 21, 2017 2:24 am
First about the "kink" in the centre. That is because you haven't taken into account the internal resistance of the output ports of the Arduino. They are rather low, but not zero, so you should have taken all resistors a little bit lower.
But you see that only in the center you see an irregularity. This is because all the current of the bits 0...5 have to be supplied only by the current of bit 6 when you go from 011 1111 to 100 0000. There the influence of the internal resistance is largest. That is the reason.
You can quite simply correct this by placing a high ohmic resistor in parallel to the 1k. I should start with 220k, and look if the correction is large enough. If it is too large, take a higher value, e.g. 330k, if it is not large enough, take a lower value, e.g 100k. The precision of this correction resistor is not at all important, as long as the real 1k is stable.
On the other hand, it is not too bad, as the curve is still always rising. It is worse if there is a fall back in the centre. I am sure that you will NOT see any effect from this DAC as is.
But you see that only in the center you see an irregularity. This is because all the current of the bits 0...5 have to be supplied only by the current of bit 6 when you go from 011 1111 to 100 0000. There the influence of the internal resistance is largest. That is the reason.
You can quite simply correct this by placing a high ohmic resistor in parallel to the 1k. I should start with 220k, and look if the correction is large enough. If it is too large, take a higher value, e.g. 330k, if it is not large enough, take a lower value, e.g 100k. The precision of this correction resistor is not at all important, as long as the real 1k is stable.
On the other hand, it is not too bad, as the curve is still always rising. It is worse if there is a fall back in the centre. I am sure that you will NOT see any effect from this DAC as is.