Replies: 10 comments
-
Very interesting results. There's a minimum of 9 ENOB per the dataset, but that looks more 7.5 if my back of the envelope math is correct. Have you opened up a discussion on the RPI forums? The actual designers are active there and might be able to offer assistance. |
Beta Was this translation helpful? Give feedback.
-
I see the claim of 9 ENOB and I looked at the forums but found nothing. The latest datasheet still has this so I am waiting for more info.
I really like the RP2350 but often need an ADC for my projects but it looks like strike two for the ADC. |
Beta Was this translation helpful? Give feedback.
-
Here Is a SAMD21 ADC with Vref the internal 3V3. Better accuracy between 0.3 and 3.0 V. |
Beta Was this translation helpful? Give feedback.
-
Microchip has had a few more years than the RPI folks getting the analog portion right. Analog ASIC design is always a dark art practiced by wizards. 😆 Just spitballing, but is it possible to design a transfer function to get you closer to what you need? If multiple chips are repeatably off in the same way, is there a 4K entry lookup table that can map from ADC readout to actual physical value? I know you can't add information but maybe you can shift the errors around? |
Beta Was this translation helpful? Give feedback.
-
Probably a quadratic fit would be pretty good for the RP2350. I don't like the DNL jumps that many CPU chips have. I have lots of experience with ADC chips so if I need more accuracy I add a chip. I have written drivers for a number chips. For high accuracy I like the MCP342X family of 18 bit ADCs. They have a builtin reference and INL: 10 ppm of Full Scale Range. There are lots of good SAR 12 bit chips. For many years I have used the MCP320X family. |
Beta Was this translation helpful? Give feedback.
-
Here is an example of a 12-bit MCP3202 with a Pico 2. I just put the ADC and DAC chips on a bread board with no caps so there is a lot of noise. Most reading are within a millivolt. Since the least significant bit is 3000/4095 = 0.73 millivolt this is about as good as you can expect. I use three parts, MCP3202, 3.0 V reference, and a 220 ohm resistor. |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
The relevant difference is, that the pico 2 comes with a buck-boost regulator, which is more efficient and is able to power the pico down to 1.8V. That is great for battery powered applications! |
Beta Was this translation helpful? Give feedback.
-
I understand all of this. For my applications the Adafruit approach is better. For USB power I don't care about burning a little power. For most battery power applications I like the builtin LiPoly charger. There are options on the RP2350 for disabling the LDO regulator and the LiPoly charger to use the JST-PH battery port with non-LiPoly batteries, such as AA or AAA battery packs. Here are pages about power for the RP2040 and RP2350 Feather Boards that discuss power options. https://learn.adafruit.com/adafruit-feather-rp2040-pico/power-management https://learn.adafruit.com/adafruit-feather-rp2350/power-management |
Beta Was this translation helpful? Give feedback.
-
Hi. I measured the ADC accuracy of Pico/PicoW (RP2040) and Pico2/Pico2W (RP2350). To reduce measurement noise, I supplied the LDO voltage to ADC_VREF and additionally added a 10μF capacitor to the 3.3V power line (between pin36 and pin38). RP2350 has improved nonlinearity compared to RP2040, but discontinuities still remain. Furthermore, there is a significant variation between individual devices. |
Beta Was this translation helpful? Give feedback.
-
I am looking for other users experience with the Pico 2 ADC.
I found lots of noise when using USB power. I followed a suggestion and put a LM4040C30 3.0 volt reference from the Vref pin to ground. That improved the noise problem.
The DNL/INL problem is better but still not great.
I used a 16-bit AD5693 DAC to generate ADC input. I stepped from zero to 3.0 V in one millivolt steps. I get this error chart for the ADC at 12-bit resolution. I subtracted a large zero offset and adjusted for the 3.0 V reference.
The three big jumps are at these multiples of 512: 1536, 2048, 2560.
This is better than the RP2040. Here is an early example for a Pico 1. It has noise since I didn't use a voltage reference chip. It goes to 3.3v since 3V3 is the reference.
I checked the DAC performance with a 6 1/2 digit DMM. Here is the result:
Beta Was this translation helpful? Give feedback.
All reactions