<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://devzone.nordicsemi.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>52833 adc deviation</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/95484/52833-adc-deviation</link><description>Hi 
 We are using 52833 adc, but the actual value of the adc is not within our expected value. We want to know the adc accuracy, can you give us some advice？ Thanks 
 sdk: sdk17.1.0 
 adc: 12bit NRF_SAADC_REFERENCE_INTERNAL NRF_SAADC_GAIN1_4 
 real voltage</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Sat, 14 Jan 2023 22:03:59 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/95484/52833-adc-deviation" /><item><title>RE: 52833 adc deviation</title><link>https://devzone.nordicsemi.com/thread/404898?ContentTypeID=1</link><pubDate>Sat, 14 Jan 2023 22:03:59 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6a869492-4c4c-4bce-9e7f-625828b1ad2f</guid><dc:creator>Hieu</dc:creator><description>&lt;p&gt;Hi&amp;nbsp;&lt;span&gt;Август,&lt;/span&gt;&lt;/p&gt;
[quote user="xinglog"]Maybe I didn&amp;#39;t express my thoughts clearly.&amp;nbsp;For example, I want to know the deviation value of 1/6 parameter adc without considering the temperature.[/quote]
&lt;p&gt;If you have an &lt;em&gt;actual&lt;/em&gt; adc_value == 628, then the&amp;nbsp;&lt;em&gt;ideal&lt;/em&gt; ADC reading would be between 609.71 (628/1.03) and 647.42 (628/0.97).&lt;/p&gt;
&lt;p&gt;As another example, supposed the ideal ADC reading would be 1000, the actual ADC reading would be between 970 and 1030.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
[quote user="xinglog"]Yes we need low power, we have to find a balance between power consumption and accuracy.[/quote]
&lt;p&gt;You might want to take a look at our low-power ADC example then. It is last updated for nRF5 SDK v17.0.2, but it should work for v17.1.0 without much modification.&lt;br /&gt;It can be found here:&amp;nbsp;&lt;a href="https://github.com/NordicPlayground/nRF52-ADC-examples/tree/master/saadc_low_power"&gt;https://github.com/NordicPlayground/nRF52-ADC-examples/tree/master/saadc_low_power&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: 52833 adc deviation</title><link>https://devzone.nordicsemi.com/thread/404685?ContentTypeID=1</link><pubDate>Fri, 13 Jan 2023 06:32:32 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7be432ee-7643-42e8-89e7-bd6a34f23e77</guid><dc:creator>Август</dc:creator><description>&lt;p&gt;&lt;span&gt;Hi Hieu,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;Maybe I didn&amp;#39;t express my thoughts clearly.&amp;nbsp;For example, I want to know the deviation value of 1/6 parameter adc without considering the temperature.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;My code get adc value I called it adc_value.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;adc_value = 628&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;The allowable deviation is adc_value * 6% = 37.68 right?&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;img style="max-height:240px;max-width:320px;" src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/pastedimage1673591353733v1.png" alt=" " /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;By the way, is power consumption a concern in your application?&amp;nbsp;Or perhaps is this just a test for the accuracy of SAADC?&lt;br /&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Yes we need low power, we have to find a balance between power consumption and accuracy.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: 52833 adc deviation</title><link>https://devzone.nordicsemi.com/thread/404630?ContentTypeID=1</link><pubDate>Thu, 12 Jan 2023 15:58:44 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:72d2c628-dc0c-4963-ae95-6b41bc319a05</guid><dc:creator>Hieu</dc:creator><description>&lt;p&gt;&lt;span&gt;Hi&amp;nbsp;&lt;/span&gt;&lt;span&gt;Август,&lt;/span&gt;&lt;/p&gt;
[quote user="xinglog"]I am not sure about the deviation of the red box below, is it the deviation of the adc value?[/quote]
&lt;p&gt;&lt;span&gt;Yes. It&amp;#39;s because of those that I&amp;nbsp;mentioned that the few least significant&amp;nbsp;bits of your measurement are not reliable.&lt;/span&gt;&lt;/p&gt;
[quote user="xinglog"]As far as I know adc oversampling can only be used for one channel, so I gave up on this method.[/quote]
&lt;p&gt;You are right. Oversampling cannot be combined with multiple channel.&lt;/p&gt;
&lt;p&gt;&lt;span&gt;There are two alternatives we can consider.&lt;/span&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span&gt;&lt;span&gt;Application layer level oversampling&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;Alternating between single channel sampling of each. Essentially&amp;nbsp;uninitialize and initialize SAADC channels each time.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;By the way, is power consumption a concern in your application?&amp;nbsp;Or perhaps is this just a test for the accuracy of SAADC?&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: 52833 adc deviation</title><link>https://devzone.nordicsemi.com/thread/404430?ContentTypeID=1</link><pubDate>Thu, 12 Jan 2023 01:19:42 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7294287b-a590-452e-a6e3-d5c16898e9c2</guid><dc:creator>Август</dc:creator><description>&lt;p&gt;Hi Hieu,&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;Thank you very much for informing the adc calibration method.&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;Because the adc value keeps jumping with this fixed resistor so I want to know the deviation of the adc not include temperature drift. If I konw the deviation I can use another way to solve this problem, such as android app and so on.&lt;/p&gt;
&lt;p&gt;I am not sure about the deviation of the red box below, is it the deviation of the adc value?&lt;/p&gt;
&lt;p&gt;As far as I know adc oversampling can only be used for one channel, so I gave up on this method.&lt;/p&gt;
&lt;p&gt;&lt;img style="height:auto;max-width:1040px;" alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/2080x0/__key/communityserver-discussions-components-files/4/pastedimage1673486075846v1.png" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img style="max-height:240px;max-width:320px;" src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/pastedimage1673486298582v2.png" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: 52833 adc deviation</title><link>https://devzone.nordicsemi.com/thread/404330?ContentTypeID=1</link><pubDate>Wed, 11 Jan 2023 13:31:19 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5624ea08-d9b3-437c-8dd6-f9458c152134</guid><dc:creator>Hieu</dc:creator><description>&lt;p&gt;Hi&amp;nbsp;&lt;span&gt;Август,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;In your implementation, I see there are a few things that can be improved:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span&gt;&lt;a href="https://infocenter.nordicsemi.com/topic/sdk_nrf5_v17.1.0/group__nrfx__saadc.html#gabebf4b2245bff5bc767b0e679702708d"&gt;Add calibration&lt;/a&gt;. It is recommended to perform calibration at least once before using SAADC, and every time the ambient temperature changed by 10°C&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Use a higher resolution. The nRF52833 is capable of 14-bit SAADC resolution if oversampling is used&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;Configure oversampling. In your code, it is unclear how much oversampling you are having&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Another point to consider is,&amp;nbsp;what is the actual exact value of the resistors you are using?&amp;nbsp;27k and 1M are just the nominal value.&amp;nbsp;There could be some tolerance that&amp;nbsp;you have&amp;nbsp;not accounted for.&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;All that is not to say that the SAADC on a nRF52833 is perfectly accurate. It is&amp;nbsp;not intended to be extremely accurate. You can usually expect some fluctuations in some of the LSBits of your ADC readings.&lt;/p&gt;
&lt;p&gt;Considering such fluctuations, the value in your Excel table doesn&amp;#39;t look too bad to me. What is the level of accuracy you are expecting?&lt;/p&gt;
&lt;p&gt;Hieu&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: 52833 adc deviation</title><link>https://devzone.nordicsemi.com/thread/404209?ContentTypeID=1</link><pubDate>Wed, 11 Jan 2023 01:18:55 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4d4b18f6-b6ac-4c56-a1ea-7a98619cd05f</guid><dc:creator>Hieu</dc:creator><description>&lt;p&gt;Hi&amp;nbsp;Август, just want to let you know that I have been assigned to support you with this case.&amp;nbsp;There are some details I need to double check first before I give you an answer. I will be back by the end of Thu Jan 12.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: 52833 adc deviation</title><link>https://devzone.nordicsemi.com/thread/403787?ContentTypeID=1</link><pubDate>Mon, 09 Jan 2023 09:51:05 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6bcb42e9-4827-482a-834e-055bbce2543a</guid><dc:creator>Август</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;The attachment is my code.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/communityserver-discussions-components-files/4/mt_5F00_adc.c"&gt;devzone.nordicsemi.com/.../mt_5F00_adc.c&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>