<progress id="jlsnq"><code id="jlsnq"></code></progress>

<strong id="jlsnq"><del id="jlsnq"></del></strong>
    <mark id="jlsnq"></mark>

    <legend id="jlsnq"><table id="jlsnq"></table></legend>
    <small id="jlsnq"></small>
  • <ruby id="jlsnq"><table id="jlsnq"></table></ruby>

      <strong id="jlsnq"></strong>

      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

      100kHz,400kHz,3.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地址(可選)

      0x48、0x49、0x4a,0x4b

        工作溫度

      -40°C?125°C

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

      ADS1115框圖

      數據表中的圖片

      ADS1115引腳排列

      ADS1115精度

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

      總誤差與輸入信號

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

      獲得錯誤,

      差分輸入誤差

      偏移誤差

      和噪音。

      ADS1115 I2C尋址

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

          0x48、0x49、0x4a,0x4b。

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

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

      ADS1115省電

      連續模式

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

      單發模式

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

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

      該芯片和模式非常適合需要精確度的電池供電設備。由于超小型封裝(X2QFN)的尺寸僅為2 mm x 1.5 mm x?0.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; //清除b0,b1。

      輸入多路復用器

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

      您可以在下圖的左側看到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值為5、67FSR256mV。

      因此,共有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:禁用警報就緒引腳?,F在,如果發生此錯誤,則芯片將正確重啟。

      復制草圖

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

      //讀取

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

      //

      //變更日志:

      // 初始版本

      //

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

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

      //輸出寄存器值。

      請輸入搜索關鍵字

      確定
      色鲁99热99re超碰精品_91精品一区二区三区无码吞精_亚洲国产欧洲综合997久久_一级a性色生活片久久无
      <progress id="jlsnq"><code id="jlsnq"></code></progress>

      <strong id="jlsnq"><del id="jlsnq"></del></strong>
        <mark id="jlsnq"></mark>

      <legend id="jlsnq"><table id="jlsnq"></table></legend>
      <small id="jlsnq"></small>
    1. <ruby id="jlsnq"><table id="jlsnq"></table></ruby>

        <strong id="jlsnq"></strong>