久久精品综合视频,一区二区三区日韩免费播放,chinese熟女老女人和小伙,贱奴主人惩罚臀缝红肿

24小時聯系電話:18217114652、13661815404

中文

您當前的位置:
首頁>
電子資訊>
技術專題>
使用ADS1115

技術專題

使用ADS1115


使用ADS1115

ADS1115是一款精密的16ADC,具有四個多路復用輸入-您可以單獨使用每個輸入,也可以成對使用每個輸入進行差分測量。它具有內部校準的基準,可實現高精度。

這個ads1115教程向您展示如何設置庫來驅動芯片,以及如何使用不同的PGA增益設置獲取讀數。它還介紹了即使僅使用單電源供電的設備也能夠測量負電壓的方法。這使其可用作電流吸收器或電流源測量設備。

有關芯片的重要信息:

具有16位分辨率。

可以根據PGA設置檢測到0.187mV7.8uV

可以采樣8860 SPS

具有內部參考電壓。

具有內部PGA(可編程增益放大器)。

該設備的典型精度為0.01%(但最大精度為0.15%)。該精度包括所有誤差源(參考電壓,增益誤差,失調和噪聲)。

ADS1115接線板

ADS1115詳細信息

ADS1115規格

  范圍

價值

  電源電壓(V DD

2V0?5V5

  絕對最大V DD

-0.3V?7V0

  測量范圍

-300mV?Vdd + 300mV

  界面

I2C

  I2C

100kHz400kHz3.4MHz

  解析度

16位(±15位)

  數據速率

8?860 SPS

  多路輸入的數量

4

  有功電流

?150uA(最大200uA

  掉電電流

0.5uA(最大2uA

  偏移誤差[1]

±3 LSB

  積分非線性(INL[1]

1 LSB

  增益誤差[1][2]@ 25°C

0.01%(典型值)0.15%(最大)

  I2C地址(可選)

0x480x490x4a0x4b

  工作溫度

-40°C?125°C

[1] FSR±2.048V
[2]
包括來自參考電壓和PGA的所有誤差。

ADS1115框圖

數據表中的圖片

ADS1115引腳排列

ADS1115精度

有趣的圖顯示了設備的真正功能,數據表中的圖19所示:

總誤差與輸入信號

注意系統的準確性如何包括所有錯誤源:

獲得錯誤,

差分輸入誤差

偏移誤差

和噪音。

ADS1115 I2C尋址

您可以使用四個地址之一來設置ADS1115,因此可以在單個I2C總線上放置4ADS1115芯片:

    0x480x490x4a0x4b

尋址控制是不常見的,因為您只需要使用一個輸入引腳作為地址控制引腳即可。

通常,您需要兩個輸入才能在4個地址之間切換,但是ADS1115 16ADC使用的是巧妙的方案。對單個地址輸入進行連續采樣,如果將其連接到GNDVDDSDASCL,則可以分別從0x480x490x4a0x4b設置地址。

ADS1115省電

連續模式

在連續轉換模式下,ADS1115的靜態電流高達150uA。在這種模式下,您可以讓ADS11158Hz860Hz之間采樣。

單發模式

ADS1115的默認模式是單次模式,該模式下器件喚醒,進行測量然后返回睡眠狀態。睡眠時,該芯片僅消耗0.5uA的典型電流。由于設備在上電時進入此模式,因此不會產生啟動電流的激增。

注意:命令界面在掉電模式下仍處于活動狀態,因此您仍然可以從芯片中獲取數據!

該芯片和模式非常適合需要精確度的電池供電設備。由于超小型封裝(X2QFN)的尺寸僅為2 mm x 1.5 mm x0.4毫米

性能與噪聲之間的權衡

低速平均

如果以低速運行ADS1115,則內部采樣率不會降低,因為這是delta sigma轉換器通過過采樣操作的方式。內部振蕩器設置為1MHz,并降低至ADC時鐘的250kHz

在活動模式下,將連續收集樣本。這些樣本在內部進行平均,從而改善了噪聲性能。這也節省了您的處理時間,即您不必在微控制器中執行平均。

因此,如果要獲得最佳的噪聲性能,請以8Hz(最低采樣率)運行采樣率。

低采樣率的唯一缺點是設備必須連續開啟,因此必須始終使用電源。如果您更關心節省功率,而又不太擔心噪聲性能,則可以實施突發模式操作。

高速Speed Burst模式

在微控制器的控制下,您可以實現突發模式以節省功耗。數據表建議您使用連續模式下使用功率的1/100。這樣您就可以平均使用1.5uA的電流。

這類似于焦耳小偷電路,在該電路中,存儲在電感器中的能量突發會在短時間內使LED產生脈沖。您可以獲得足夠的可用光,但平均功率降低了。

為了如上所述模擬8SPS速率,您將使ADS1115125ms1 / 125e-3 = 88 Hz拍攝一次單次信號(您可以通過微控制器代碼中的計時器設置此重復率)。

您還可以將ADS1115SPS速率設置為860Hz,以獲得高速捕獲。當然,您可以將兩次捕獲之間的時間間隔更改為每秒或每小時,以進一步節省電量。

ADS1115處于低電流模式時,單次讀數僅需花費1.2ms的時間,剩下的時間就不存在了。這是ad1115轉換延遲,并在數據表中進行了說明。

注意: ADS1115大約需要25us上電-很好!

使用ALERT / READY引腳

ALERT / Ready引腳有兩種用途。第一個是比較器閾值警報(默認模式)。第二個是“ ADC讀取準備就緒警報。您必須設置一些寄存器以操作ADC就緒ALERT模式。

閾值檢測

ADS1115有一個內部比較器,可將信號輸出到ALERT引腳(默認模式)。您可以使用此功能自動檢測超出范圍的條件(由閾值寄存器設置)。COMP_QUE寄存器允許您指定斷言警報之前有多少轉換超出上限或下限。

ALERT引腳為開漏引腳,因此需要上拉電阻。

比較器有兩個閾值(高和低)。當輸入信號在閾值之間時,ALERT信號設置為高電平(窗口比較器模式)。您可以使用COMP_POL反轉Alert輸出信號。

ADC就緒中斷信號

該引腳的另一種用途是用作ADC就緒信號。如果將引腳設置為ADC就緒信號,則可以將其饋入微控制器上的外部中斷引腳,以便獲取ADC讀數。

檢測ADC是否已完成的另一種方法是讀取寄存器值(配置寄存器位15),但是由于要進行I2C事務,因此這當然會花費更多的時間。

注意:轉換就緒信號是一個8us寬(高)脈沖,表示轉換在下降沿可用。

要將芯片設置為轉換就緒模式,請設置以下寄存器:

將高閾值寄存器的MSB設置為1
    [
例如,Hi_thresh = 0x8000]
將低閾值寄存器的MSB設置為0
    [
例如,Lo_thresh = 0x0000]
將比較器隊列控制位設置為000x11以外的任何值)
    [
例如COMP_QUE [10] = 0]
   
配置寄存器&=配置寄存器0x0003; //清除b0b1

輸入多路復用器

您可以使用輸入多路復用器在4個單端輸入0?FSR或兩個差分輸入±FSR之間選擇。但是,還有另一種MUX模式,該模式使用AIN3作為AIN0AIN1AIN2的參考作為該參考的差分輸入。

您可以在下圖的左側看到MUX

從圖中還不清楚,但是MUX具有3種模式:
輸入信號參考地(所有4個輸入都是可選的)
    AIN0
+)?GND-),
    AIN1
+)?GND-),
    AIN2
+) ?GND-)。
    AIN3
+)?GND-)。
兩個差分輸入:
    AIN0
+)?AIN1-),
    AIN2
+)?AIN3-)。
三個參考輸入:
    AIN0
+)?AIN3-),
    AIN1
+)?AIN3-),
    AIN2
+)?AIN3-)。
請參見數據表配置寄存器以控制此操作。

PGA增益設定

ADS1115中的增益設置寄存器確實具有標準值,例如x2 x4等(除了最大的2/3值),更容易想到滿量程讀數的分辨率和量程功能。數據表的排列方式是這樣的-因為該器件使用內部固定的基準電壓源。

您只需要選擇接近所測信號的最佳范圍即可(或在前面添加一個放大器來設置范圍)。

您不能像其他ADC一樣通過添加外部基準電壓來更改FSR值。范圍和分辨率如下表所示。

滿量程FSR

重塑(1 LSB

  ±6411毫伏

187.5uV

  ±4096毫伏

125uV

  ±2048毫伏

62.5微伏

  ±1024毫伏

31.25uV

  ±512毫伏

15.625uV

  ±256毫伏

7.8125微伏

滿量程分辨率

盡管ADS1115具有16位分辨率,但它使用二進制補碼來表示一個值(MSB表示符號位)。這實際上是一個15位分辨率的ADC,能夠進行負電壓和正電壓測量(在GNDV DD的電源范圍內!

這樣,從GND到正滿量程電壓的輸入信號就具有15位的分辨率,而從GND到負滿量程電壓的分辨率則為15位。但是,ADS1115只能測量低于地面的-300mV

當使用差分模式和電平轉換運算放大器將輸入信號移至GDNV DD范圍內時,才真正使用±15bit分辨率。有一個例外:

要獲得±FSR,您可以使用256mV范圍,或使用輸入運算放大器來對輸入進行電平轉換和縮放,或者使用差分輸入)。或者,將一個輸入用作其他兩個輸入的參考。

注意:從上表中可以看到,15位分辨率仍然是非常準確的分辨率。

如上所述,可測量的輸入電壓下降到負300mV

在最低PGA增益值下,您可以使用器件的滿量程分辨率(±256mV),這也適合ADS1115-300mV測量能力。

因此,即使僅使用單個電源芯片,您也可以制造一種能夠測量灌電流和灌電流的電流測量設備。為此,您將使用合適的測量電阻器并對其進行差分測量。負電壓能力測試結果在這里。

選擇較高的PGA增益仍然可以讓您以較低的分辨率測量負值。

關于PGA設置的注意事項

可編程增益設置寄存器(PGA)允許8個值,但最后3個值均提供相同的增益,因此對于PGA值為567FSR256mV

因此,共有6種可用設置,允許FSR分別為±6.144V±4.096V±2.048V±1.024V±0.512V±0.256V

輸入電壓范圍

絕對最大電壓輸入為:

     -0.3V?7V

測量電壓范圍是:

    GND-0.3V?VDD + 0.3V

請記住,測量范圍是固定的,因此最大可測量輸入電壓為±6.144V

測試負電壓輸入

我曾是 不確定是否可以測量負電壓,尤其是使用ADS1115的單電源供電時。數據表確實表明它能夠在-256mV的范圍內進行測量,并且在-300mV以上的電壓下不會爆炸。

事實證明這是對的,因為我通過將-5V電源小心地連接到10k電位計并調整抽頭(確保其不低于-300mV)來測試輸入,其值是-100mV-260mV 

這是-260mV輸入的結果:

A1-260.437mV PGA6144 mv acc187.5uV

A1-260.375mV PGA4096 mv acc125uV

A1-260.375mV PGA2048 mv acc62.5uV

A1-259.969mV PGA1024 mv acc31.25uV

A1-259.234mV PGA512 mv acc15.625uV

A1-256.016mV PGA256 mv acc7.8125uV

警報/ RDY 0

這是-100mV(大約)輸入的結果:

A1-104.625mV PGA6144 mv acc187.5uV

A1-104.500mV PGA4096 mv acc125uV

A1-104.500mV PGA2048 mv acc62.5uV

A1-104.531mV PGA1024 mv acc31.25uV

A1-104.484mV PGA512 mv acc15.625uV

A1-104.499mV PGA256 mv acc7.8125uV

警報/ RDY 0

對于-260mV測量,您可以看到256mVFSR達到了滿量程,這是您所期望的-這是針對256mVPGA增益設置(因為260mV高于256mV的量程能力)。

您還可以看到,對于所有PGA增益,都正確測量了-100mV讀數。

因此,這證實了ADS1115無需單獨的電源即可讀取低至-256mV最小測量能力的負電壓。

注意:此輸出的ADS1115 arduino代碼可在頁面的下方找到。

ADS1115 ADC FSR

正輸出的滿量程值為:

        0x7FFF

負輸出的滿量程值為:

        0x8000

ADC的正值是0x0001,負值是0xFFFF(負20xFFFE)。

警告:對于單端測量,在測量0V時,由于器件失調,您仍然會獲得負ADC值。

差速器怎么處理?

一種 差分測量使用兩個輸入,一個用于低端,一個用于高端電壓,因此您可以測量電路中任何一點的電壓差。正常的單端測量(Ardiuno ADC)只能測量參考到地的電壓。

您可以具有一組差分輸入或一組差分輸入(如下所示):

兩個差分輸入:
    AIN0
+)?AIN1-),
    AIN2
+)?AIN3-)。

其他配置在這里。

通常,您需要跨小而準確的電阻進行測量以確定電流。ADS1115可以測量正負電壓。

差分測量是通過使用設備內的差分放大器(運算放大器)實現的瞬時測量。此測量的最大優勢在于,由于跨被測元件的噪聲信號相同,因此消除了共模噪聲誤差。因此,噪聲被減去。

使用差分測量的另一個原因是,您可能希望測量未參考到地的電壓,例如,電流檢測電阻器未在一側接地,而是在電路中的其他位置。這就是所謂的高端測量,即兩個測量電壓都遠不接近零。

軟件

Arduino IDE:版本1.8.9+

I2Cdev

I2Cdevlib具有ADS1115庫代碼以及許多其他設備的代碼。

該庫具有很多功能,受支持的芯片,并且可以在多個處理器上運行,但是安裝涉及更多一點,因此您不能使用自動Arduino zip文件安裝程序。

ADS1115 Arduino

解壓縮文件(ic2devlib-master),然后導航到ic2devlib-master中的Arduino目錄。將目錄ADS1115I2Cdev復制到Arduino庫目錄(通常在Windows上):

    C\ Users \ <用戶名> \ Documents \ Arduino \ libraries

庫代碼警告

256mV范圍的常數已設置為四舍五入的值。

導航至ADC1115.h并更改以下行:

    #define ADS1115_MV_0P256 0.007813
    #define ADS1115_MV_0P256B 0.007813
    #define ADS1115_MV_0P256C 0.007813

   

    #define ADS1115_MV_0P256 0.0078125
    #define ADS1115_MV_0P256B 0.0078125
    #define ADS1115_MV_0P256C 0.0078125

硬件

組件

Arduino Uno R3

ADS1115轉接板。

連接線。

100nF電容器。

1萬鍋。

連接數

為了進行測試,請使用Arduino Uno并按如下所示進行連接:

Arduino

ADS1115

  5

VDD

  地線

地線

  A5

SCL

  A4

SDA

  地線

地址

  2

警報

  10k鍋的雨刷器。

A1

注意:將10k電位器的兩端連接到5VGND
5VGND之間連接100nF電容器。 

ADS1115面包板布局

使用ADS1115Arduino示例

草圖示例1

您可以使用以下程序通過輪詢來測試ADS1115

要查看注冊狀態信息,請對ads1115.h進行編輯,以通過取消注釋以下行來允許調試輸出:

    //define ADS1115_SERIAL_DEBUG

在串行監視器中鍵入字母s以查看寄存器狀態。

注意:我更改了pollAlertReadyPin()代碼,以便在失敗時重新初始化ads1115。打開和關閉PC時,將重置寄存器,并將隊列寄存器設置為11:禁用警報就緒引腳。現在,如果發生此錯誤,則芯片將正確重啟。

復制草圖

// I2C設備類(I2Cdev)演示ADS1115類的Arduino草圖

//讀取

ADS1115的兩個差分輸入并以mV表示值的示例// // Eadf2016-03-22

//

//變更日志:

// 初始版本

//

//修改了JFM,以重新初始化和輸出多個PGA分辨率,以便

//比較讀數。同樣,當調試處于活動狀態時,串行接收's'

//輸出寄存器值。

請輸入搜索關鍵字

確定