0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

ADS1115-16Bit ADC調(diào)試方案

云深之無(wú)跡 ? 來(lái)源:云深之無(wú)跡 ? 2023-10-21 17:45 ? 次閱讀

ADC這個(gè)東西好神奇,作為模擬到數(shù)字的樞紐,值得研究。我昨天寫了MCP,今天是TI的,其實(shí)手頭還有別的,但是沒(méi)有必要了,再寫一個(gè)SPI的就全了。

Ti.ADS1115-15Bit差分ADC

MCP3421-18bit ADC 調(diào)試

之前水平不高,寫的東西不太行,這篇其實(shí)是對(duì)之前的一個(gè)補(bǔ)充,其實(shí)15bit也沒(méi)有錯(cuò),因?yàn)橛行l件會(huì)丟失一位。

后面有一段計(jì)算,詳細(xì)的去看數(shù)據(jù)手冊(cè)。

5f31d916-6fe8-11ee-939d-92fbcf53809c.png

以ADS1115的框圖開始

增加增益還可以降低輸入?yún)⒖荚肼?,這在測(cè)量低電平信號(hào)時(shí)特別有用。調(diào)節(jié)PGA。

5f423680-6fe8-11ee-939d-92fbcf53809c.jpg

配置的時(shí)候需要三個(gè)字節(jié),在編程的時(shí)候需要注意

在從機(jī)發(fā)送模式下,主機(jī)發(fā)送的第一個(gè)字節(jié)是 7 位從機(jī)地址,后跟高 R/ W位。

該字節(jié)將從設(shè)備置于發(fā)送模式并指示正在讀取 ADS111x。

從機(jī)發(fā)送的下一個(gè)字節(jié)是寄存器的最高有效字節(jié),由寄存器地址指針位 P[1:0] 指示。

該字節(jié)后面是來(lái)自主機(jī)的確認(rèn)。然后,從機(jī)發(fā)送剩余的最低有效字節(jié),隨后是主機(jī)的確認(rèn)。主設(shè)備可以在任何字節(jié)之后通過(guò)不確認(rèn)或發(fā)出 START 或 STOP 條件來(lái)終止傳輸。

5f504d56-6fe8-11ee-939d-92fbcf53809c.png

A0 和 A1 的值由 ADDR 引腳決定

看我標(biāo)紅的地方,以前一直不理解為什么有高有低,現(xiàn)在我理解了,是因?yàn)檫@個(gè)地方兩個(gè)狀態(tài)都有可能,要看外部的設(shè)置。

5f596b16-6fe8-11ee-939d-92fbcf53809c.png

后面的兩位就是不確定的數(shù)據(jù)位

5f64fde6-6fe8-11ee-939d-92fbcf53809c.png

這些都是

5f79a3d6-6fe8-11ee-939d-92fbcf53809c.png

中間是范圍,周圍兩個(gè)是溢出的

5f8a4024-6fe8-11ee-939d-92fbcf53809c.png

看換算

5f956be8-6fe8-11ee-939d-92fbcf53809c.png

后面兩個(gè)位是要配置的

5f9c91f2-6fe8-11ee-939d-92fbcf53809c.png

前面的位都不管,后面的位是兩位,是寫明要操作的寄存器

5fb969da-6fe8-11ee-939d-92fbcf53809c.png

這個(gè)讀取的時(shí)候是很簡(jiǎn)單的,就是16個(gè)位

5fd62de0-6fe8-11ee-939d-92fbcf53809c.png

這個(gè)寄存器有點(diǎn)復(fù)雜

5fe38a4e-6fe8-11ee-939d-92fbcf53809c.png

這個(gè)是第一個(gè)OS,可寫可讀,上面已經(jīng)說(shuō)明作用了

5fece7e2-6fe8-11ee-939d-92fbcf53809c.png

這個(gè)是1115才有的多功能MUX

5ff807ee-6fe8-11ee-939d-92fbcf53809c.png

就是個(gè)多功能的開關(guān)

一個(gè)極接地,另外一個(gè)接輸入,也就是構(gòu)成了單端的輸入,因?yàn)橐欢我呀?jīng)是確定的。

60109e26-6fe8-11ee-939d-92fbcf53809c.png

這個(gè)是PGA的功能,他的粒度是比MCP的小的

6023b25e-6fe8-11ee-939d-92fbcf53809c.png

在這里

602e23a6-6fe8-11ee-939d-92fbcf53809c.png

還是得TI,16位干到了和MCP18位一樣的效果

60363866-6fe8-11ee-939d-92fbcf53809c.png

這個(gè)是一個(gè)轉(zhuǎn)換速率,通過(guò)這個(gè)合理的選擇可以抑制不少噪音

后面的我覺(jué)得沒(méi)有什么作用,好像我沒(méi)有想到有什么應(yīng)用。

604f4d74-6fe8-11ee-939d-92fbcf53809c.png

其實(shí)也不是完全沒(méi)有用,就是這里可以作為一個(gè)中斷的引腳來(lái)節(jié)省資源

60773ac8-6fe8-11ee-939d-92fbcf53809c.png

真實(shí)的連接可能是這樣的

ADS111x 的全差分電壓輸入非常適合連接具有較低源阻抗的差分源,例如熱電偶和熱敏電阻。盡管 ADS111x 可以讀取雙極性差分信號(hào),但這些器件不能接受任一輸入上的負(fù)電壓。 這句話有點(diǎn)拗口,意思可能是不可以直接接負(fù)電壓。單端口的情況下不可以直接接負(fù)電壓。

60814856-6fe8-11ee-939d-92fbcf53809c.png

在MCP里面也是

608c7bfe-6fe8-11ee-939d-92fbcf53809c.png

單端輸入不準(zhǔn)是負(fù)數(shù)

ADS111x 在轉(zhuǎn)換期間消耗瞬態(tài)電流。0.1μF 電源旁路電容器可提供電源所需的瞬時(shí)額外電流。 SDA 和 SCL 線上都需要上拉電阻,因?yàn)?I 2 C 總線驅(qū)動(dòng)器是漏極開路的。這些電阻器的大小取決于總線運(yùn)行速度和總線線路的電容。電阻值越高,功耗越低,但會(huì)增加總線上的轉(zhuǎn)換時(shí)間,從而限制總線速度。較低阻值的電阻可實(shí)現(xiàn)更高的速度,但代價(jià)是功耗更高。長(zhǎng)總線具有更高的電容,并且需要更小的上拉電阻來(lái)補(bǔ)償。不要使用太小的電阻,因?yàn)榭偩€驅(qū)動(dòng)器可能無(wú)法將總線拉低。 單端信號(hào)范圍從 0 V 到正電源或 +FS,以較低者為準(zhǔn)。 負(fù)電壓不能施加到這些器件,因?yàn)?ADS111x 只能接受相對(duì)于地的正電壓。 ADS111x 在輸入范圍內(nèi)不會(huì)失去線性度。 比較好玩的是這個(gè):通過(guò)適當(dāng)設(shè)置 MUX[2:0] 位,ADS1115 還允許 AIN3 作為測(cè)量的公共點(diǎn)。

60964b66-6fe8-11ee-939d-92fbcf53809c.png

那就是這個(gè),注意,不是直接接地

AIN0、AIN1 和 AIN2 都可以相對(duì)于 AIN3 進(jìn)行測(cè)量。在此配置中,ADS1115 通過(guò)輸入運(yùn)行,其中 AIN3 作為公共點(diǎn)。此功能提高了單端配置的可用范圍,因?yàn)楫?dāng)GND < V (AIN3) < VDD 時(shí)允許負(fù)差分電壓;然而,不提供共模噪聲衰減。

60a6c392-6fe8-11ee-939d-92fbcf53809c.png

這個(gè)地我也說(shuō)不明白

二極管的電流處理能力有限,并且長(zhǎng)時(shí)間超出電源軌約 300 mV 的模擬輸入電壓可能會(huì)永久損壞 ADS111x。防止過(guò)壓的一種方法是在輸入線上放置限流電阻。ADS111x 模擬輸入可承受高達(dá) 10 mA 的連續(xù)電流。

噪音什么的,我就不細(xì)說(shuō)了。

噪聲分量的幅度通常小于實(shí)際傳感器信號(hào)。使用截止頻率設(shè)置為輸出數(shù)據(jù)速率或高 10 倍的一階 RC 濾波器作為系統(tǒng)設(shè)計(jì)的一般良好起點(diǎn)。

高端的型號(hào)有引腳沒(méi)有全部使用,怎么辦?

浮動(dòng)未使用的模擬輸入,或?qū)⑽词褂玫哪M輸入連接到中間電源或 VDD。可以將未使用的模擬輸入連接到 GND,但可能會(huì)產(chǎn)生比以前的選項(xiàng)更高的泄漏電流??梢灾苯舆B到VDD浮動(dòng) NC(未連接)引腳,或?qū)?NC 引腳連接到 GND。如果未使用ALERT/RDY 輸出引腳,請(qǐng)將該引腳懸空或使用弱上拉電阻將該引腳連接至 VDD。

60ce14a6-6fe8-11ee-939d-92fbcf53809c.png

寫入配置寄存器以將 ADS111x 設(shè)置為連續(xù)轉(zhuǎn)換模式,然后讀取轉(zhuǎn)換結(jié)果,請(qǐng)按以下順序發(fā)送以下字節(jié)。

60d9047e-6fe8-11ee-939d-92fbcf53809c.png

基于電阻分流的電流測(cè)量解決方案廣泛用于監(jiān)測(cè)負(fù)載電流。低側(cè)電流分流測(cè)量與總線電壓無(wú)關(guān),因?yàn)榉至鞴材k妷航咏亍?/p>

60eee5e6-6fe8-11ee-939d-92fbcf53809c.png

負(fù)載電流通過(guò)測(cè)量分流電阻兩端的電壓來(lái)確定

61097370-6fe8-11ee-939d-92fbcf53809c.jpg

計(jì)算

對(duì)接地參考信號(hào)進(jìn)行電平轉(zhuǎn)換,以允許在使用單極電源時(shí)進(jìn)行雙向電流測(cè)量。

分流電阻器 V SHUNT兩端的電壓由共模電壓 V CM進(jìn)行電平轉(zhuǎn)換

612592f8-6fe8-11ee-939d-92fbcf53809c.jpg

也就是這樣的

6132240a-6fe8-11ee-939d-92fbcf53809c.png

也就是前面是控制OP在正常的工作范圍里面,后面是一個(gè)放大的同相

最后面加入ADC之前是一個(gè)RC濾波,要求在ADC 差分輸入電壓,定義成Vcm-Vout。

分流電阻器 (R SHUNT ) 是與負(fù)載串聯(lián)插入的精確電阻。

如果分流器兩端的絕對(duì)壓降 |V SHUNT | 占總線電壓的百分比較大,則壓降可能會(huì)降低整體效率和系統(tǒng)性能。

如果 |V分流| 太低,測(cè)量小電壓降需要仔細(xì)設(shè)計(jì)并正確選擇 ADC、運(yùn)算放大器和精密電阻。

確保分流端子處的絕對(duì)電壓不會(huì)導(dǎo)致違反運(yùn)算放大器的輸入共模電壓范圍要求。

由于電流流過(guò)分流電阻,分流電阻上的功耗會(huì)增加溫度。為了最大限度地減少溫度變化引起的測(cè)量誤差,選擇低漂移分流電阻。

為了最大限度地減少測(cè)量增益誤差,選擇具有低容差值的分流電阻。

要消除雜散接地電阻引起的誤差,使用四線開爾文連接的分流電阻。

61462dce-6fe8-11ee-939d-92fbcf53809c.png

R 12 3 4來(lái)調(diào)節(jié)運(yùn)放的共模電壓

如果 Vout連接到 ADC 正輸入 (AINP),且 Vcm連接到 ADC 負(fù)輸入 (AINN),則 Vcm將作為 ADC 的共模電壓出現(xiàn)。

如果 Vcm設(shè)置為中間電源 (Vdd / 2),則此配置允許偽差分測(cè)量并使用 ADC 的最大動(dòng)態(tài)范圍。

可以使用連接 VDD 和 GND 的電阻分壓器(后接緩沖放大器)來(lái)生成 V CM。經(jīng)典玩法

后面的濾波

61541966-6fe8-11ee-939d-92fbcf53809c.jpg

還添加了兩個(gè)共模濾波電容器(Ccm1和 Ccm2),以提供高頻共模噪聲分量的衰減。選擇比這些共模電容器至少大一個(gè)數(shù)量級(jí) (10 倍) 的差分電容器 Cdiff ,因?yàn)檫@些共模電容器的不匹配會(huì)將共模噪聲轉(zhuǎn)換為差分噪聲。

616f6dba-6fe8-11ee-939d-92fbcf53809c.png

看個(gè)RC就好了

6181a124-6fe8-11ee-939d-92fbcf53809c.png

自帶的數(shù)字濾波器也是差不多

618c7126-6fe8-11ee-939d-92fbcf53809c.png

完美

61a0ce0a-6fe8-11ee-939d-92fbcf53809c.png

地址最方便就是接地了,也就是0x48的地址

61bd3a54-6fe8-11ee-939d-92fbcf53809c.png

我們對(duì)最重要的配置寄存器來(lái)一些封裝吧

61e0f066-6fe8-11ee-939d-92fbcf53809c.png

最后的寄存器的樣子就是這樣

61eeaddc-6fe8-11ee-939d-92fbcf53809c.png

使用的時(shí)候可以這樣寫

6200ff28-6fe8-11ee-939d-92fbcf53809c.png

函數(shù)定義,函數(shù)名為ADS1115_init。這個(gè)函數(shù)接收三個(gè)參數(shù)

I2C_HandleTypeDef *hi2c:這是一個(gè)指向I2C句柄類型的指針,用于操作I2C設(shè)備。 uint16_t Addr:這是一個(gè)無(wú)符號(hào)16位整數(shù),表示ADS1115設(shè)備的地址。 ADS1115_Config_t config:這是一個(gè)ADS1115配置結(jié)構(gòu)體,包含了初始化ADS1115所需的配置信息。函數(shù)返回一個(gè)指向ADS1115_Handle_t類型的指針,這個(gè)指針指向一個(gè)ADS1115設(shè)備實(shí)例。通常來(lái)說(shuō),這個(gè)函數(shù)會(huì)創(chuàng)建一個(gè)新的ADS1115_Handle_t實(shí)例,然后使用傳入的配置信息對(duì)其進(jìn)行初始化,最后返回這個(gè)實(shí)例的指針。

620a94fc-6fe8-11ee-939d-92fbcf53809c.png

驅(qū)動(dòng)一個(gè)ADC,重要的事情是,IIC硬件的驅(qū)動(dòng),地址的確認(rèn),相關(guān)寄存器的操作,這個(gè)就是句柄了。

62223850-6fe8-11ee-939d-92fbcf53809c.png

需要的配置的和讀取的都這樣設(shè)計(jì)好

6236d2a6-6fe8-11ee-939d-92fbcf53809c.png

分配內(nèi)存空間,創(chuàng)建一個(gè)ADS1115_Handle_t類型的指針pConfig

注意最后的config,因?yàn)橹羔樖切枰獋鞒鋈サ?。其次就是結(jié)構(gòu)體是倒著看,hi2c給了等號(hào)左邊的元素。

623e4aea-6fe8-11ee-939d-92fbcf53809c.png

釋放一塊內(nèi)存

6270ec84-6fe8-11ee-939d-92fbcf53809c.png

接下來(lái)我們組裝一個(gè)函數(shù)

6290f9d4-6fe8-11ee-939d-92fbcf53809c.png

channel:通道選擇,通過(guò)左移6位后與config.channel進(jìn)行按位或操作; pgaConfig:增益配置,通過(guò)左移3位后與config.pgaConfig進(jìn)行按位或操作; operatingMode:工作模式,通過(guò)左移0位后與config.operatingMode進(jìn)行按位或操作。

62a59452-6fe8-11ee-939d-92fbcf53809c.png

這個(gè)是更新配置

62b6c704-6fe8-11ee-939d-92fbcf53809c.png

我寫程序的時(shí)候使用了中斷

62d906f2-6fe8-11ee-939d-92fbcf53809c.png

上面的封裝可以讓人很方便進(jìn)行配置

62e3c416-6fe8-11ee-939d-92fbcf53809c.png

中斷的時(shí)候需要在it文件的里面打開

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5294

    瀏覽量

    119814
  • ti
    ti
    +關(guān)注

    關(guān)注

    112

    文章

    7956

    瀏覽量

    212032
  • adc
    adc
    +關(guān)注

    關(guān)注

    98

    文章

    6391

    瀏覽量

    543762
  • 調(diào)試
    +關(guān)注

    關(guān)注

    7

    文章

    571

    瀏覽量

    33870
  • SPI
    SPI
    +關(guān)注

    關(guān)注

    17

    文章

    1688

    瀏覽量

    91201

原文標(biāo)題:ADS1115-16Bit ADC 調(diào)試.上

文章出處:【微信號(hào):TT1827652464,微信公眾號(hào):云深之無(wú)跡】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    ADS1115是什么意思呢

    內(nèi)部基準(zhǔn)、振蕩器和可編程比較器且兼容 I2C 的ADS111x、超小型、低功耗 860SPS、16ADC 。在操作之前,你需要一塊ads1115,一塊單片機(jī),CCS,還要會(huì)一點(diǎn)I
    發(fā)表于 11-29 08:11

    ADS1115簡(jiǎn)介

    ADS1115簡(jiǎn)介:ADS1115是TI生產(chǎn)的具有I2C接口的16ADC,內(nèi)置PGA和電壓基準(zhǔn),采樣率8~860SPS可調(diào),ALERT/RDY可作為可編程比較器的輸出引腳。參數(shù):內(nèi)部
    發(fā)表于 12-10 06:02

    ADS1115是什么?怎樣去使用ADS1115

    ADS1115是什么?ADS1115有哪些特性?怎樣去使用ADS1115呢?
    發(fā)表于 12-14 08:08

    【ROC-RK3568-PC開發(fā)板試用體驗(yàn)】使用ADS1115擴(kuò)展ROC-RK3568-PC開發(fā)板ADC功能

    。剛好,我手頭有一個(gè)ADS1115 ADC模塊,相當(dāng)?shù)牟诲e(cuò),某寶某店家介紹如下:不吹不擂,這個(gè)ADS1115 ADC模塊,那是相當(dāng)?shù)暮糜谩R还蔡峁┝?個(gè)輸入通道,
    發(fā)表于 11-15 21:21

    ADS8323,pdf (16-Bit, 500kSPS,

    The ADS8323 is a 16-bit, 500kSPS analog-to-digital converter (ADC) with an internal 2.5V reference.
    發(fā)表于 06-03 14:35 ?32次下載

    TI公司IIC接口16位AD模塊ADS1115

    TI公司16位的AD模塊ADS1115,IIC接口,四通道,本程序是基于msp430利用兩個(gè)IO口模擬IIC來(lái)驅(qū)動(dòng)ADS1115
    發(fā)表于 07-20 17:21 ?66次下載

    ADS1115用戶手冊(cè)

    ADS1113、ADS1114 和 ADS1115 是具有 16 位分辨率的高精度模數(shù)轉(zhuǎn)換器 (ADC),采用超小型的無(wú)引線QFN-10 封
    發(fā)表于 11-11 11:55 ?58次下載

    ads1115電壓測(cè)量范圍

     ADS1115 是具有16 位分辨率的高精度模數(shù)轉(zhuǎn)換器(ADC),采用超小型的無(wú)引線QFN-10 封裝或MSOP-10 封裝。ADS1115 在設(shè)計(jì)時(shí)考慮到了精度、功耗和實(shí)現(xiàn)的簡(jiǎn)易性
    發(fā)表于 10-23 08:42 ?1.6w次閱讀

    基于51的ads1115詳細(xì)程序介紹

     ADS1115 是具有16 位分辨率的高精度模數(shù)轉(zhuǎn)換器(ADC),采用超小型的無(wú)引線QFN-10 封裝或MSOP-10 封裝。以下將是基于51的ads1115詳細(xì)程序介紹:
    發(fā)表于 10-23 09:25 ?1.5w次閱讀

    ads1115使用方法

    ADS1113.ADS1114 和ADS1115 是具有16 位分旁粹率的高精度模數(shù)轉(zhuǎn)換器(ADC),采用超小型的無(wú)引線QFN-10 封裝或MSOP-10 封裝。
    發(fā)表于 10-23 10:15 ?4.2w次閱讀

    最小的ADS1115系列16ADC處理器

    ADS1115: 工業(yè)級(jí)最小尺寸16ADC
    的頭像 發(fā)表于 06-12 01:24 ?9502次閱讀
    最小的<b class='flag-5'>ADS1115</b>系列<b class='flag-5'>16</b>位<b class='flag-5'>ADC</b>處理器

    基于MSP430F5529單片機(jī)的ADS1115

    內(nèi)部基準(zhǔn)、振蕩器和可編程比較器且兼容 I2C 的ADS111x、超小型、低功耗 860SPS、16ADC 。在操作之前,你需要一塊ads1115,一塊單片機(jī),CCS,還要會(huì)一點(diǎn)I
    發(fā)表于 11-19 18:21 ?20次下載
    基于MSP430F5529單片機(jī)的<b class='flag-5'>ADS1115</b>

    基于STM32的ADS1115使用例程

    基于STM32的ADS1115使用例程
    發(fā)表于 12-02 20:51 ?118次下載
    基于STM32的<b class='flag-5'>ADS1115</b>使用例程

    使用ADS1115擴(kuò)展ROC-RK3568-PC開發(fā)板ADC功能

    。 剛好,我手頭有一個(gè)ADS1115 ADC模塊,相當(dāng)?shù)牟诲e(cuò),某寶某店家介紹如下: 不吹不擂,這個(gè)ADS1115 ADC模塊,那是相當(dāng)?shù)暮糜谩?一共提供了4個(gè)輸入通道,
    的頭像 發(fā)表于 11-18 09:10 ?3994次閱讀

    士模微推出低功耗高精度16位Sigma-Delta ADC CM1103,對(duì)標(biāo)ADS1115系列

    士模微推出對(duì)標(biāo)ADS1115系列的高精度低功耗Sigma-Delta ADC,精度可達(dá)16位峰峰值分辨率
    發(fā)表于 12-30 14:36 ?1620次閱讀