2015-07-20 26 views
3

我有一個Arduino UNO。我有一個3.3V輸出的傳感器。爲了最大限度地提高ADC的精度,我已經跳線的3.3V Arduino的輸出到AREF和設置有針對ADC的Arduino 3.3v參考

analogReference(EXTERNAL); 

我有一個計時器設定定期打勾。當它,ADC將A1經由

analogRead(1) 

讀所以測試參考,我的跳線3.3V到A1的輸入。由於ADC是10位,所以我期望得到1023或接近1023的值。相反,它們在870-880之間變化。有什麼想法嗎?

回答

0

在AREF引腳上有一個內部32k電阻。所以你必須在AREF引腳放置一個電阻器,以便爲其提供3.3V完美輸入。您可以簡單地使用一個電阻和32k電阻,並提供完美的3.3V電壓。

+0

恐怕我不明白。內部電阻是分壓器的下臂。公式爲Vout =(Vin * R1)/(R1 + R2)其中R2是Arduino電阻。 Vin是3.3v,我想Vout是3.3v。因此,R1應該是零歐姆;即沒有電阻器。我錯過了什麼? – user3657408

+0

你可以做的是拿Vin作爲5v。在這種情況下,您的外部電阻會達到64kOhm。如果您想使用3.3v電源作爲Vin,請嘗試低至100歐姆或50歐姆的值。這不會給你3.3,但你的應用程序可以管理這麼多的容忍度。 –

+0

但是,如果我使用3.3 V輸入,爲什麼還需要任何電阻?它應該只是工作。 – user3657408