国产无码黄电影_麻豆av一区二区三区不卡_伦理在线视频免费观看视频_九九热这里只有精品33_亚洲av中文无码乱人伦在线播放_国产成人精品aa毛片久久_成人欧美一区二区三区的电影在线_78精品国产综合久久香蕉_亚洲日本成本人在线观看

0 賣盤信息
BOM詢價(jià)
您現(xiàn)在的位置: 首頁 > 電子資訊 >基礎(chǔ)知識(shí) > 51單片機(jī)ads1115中文資料

51單片機(jī)ads1115中文資料

來源:
2025-05-13
類別:基礎(chǔ)知識(shí)
eye 3
文章創(chuàng)建人 拍明芯城

一、ADS1115模塊概述

ADS1115是德州儀器(TI)推出的一款16位高精度、低功耗模數(shù)轉(zhuǎn)換器(ADC),采用I2C通信協(xié)議,具備四通道單端輸入或兩通道差分輸入能力。其核心特性包括:

  • 分辨率:16位二進(jìn)制補(bǔ)碼輸出,滿量程范圍對(duì)應(yīng)±6.144V(PGA增益為1時(shí)),最小分辨率為0.1875mV。

  • 采樣速率:支持8SPS至860SPS可調(diào),滿足不同場(chǎng)景的實(shí)時(shí)性需求。

  • 輸入范圍:通過可編程增益放大器(PGA)提供±256mV至±6.144V多檔量程選擇,適配微弱信號(hào)與高電壓信號(hào)采集。

  • 低功耗設(shè)計(jì):連續(xù)轉(zhuǎn)換模式下功耗僅150μA,單次轉(zhuǎn)換模式可進(jìn)一步降低待機(jī)功耗。

  • 集成功能:內(nèi)置低漂移電壓基準(zhǔn)、比較器及數(shù)字濾波器,簡(jiǎn)化外圍電路設(shè)計(jì)。

該模塊廣泛應(yīng)用于工業(yè)自動(dòng)化、醫(yī)療設(shè)備、環(huán)境監(jiān)測(cè)等領(lǐng)域,尤其適合需要多通道、高精度信號(hào)采集的嵌入式系統(tǒng)。例如,在工業(yè)自動(dòng)化中,可同時(shí)監(jiān)測(cè)溫度、壓力、流量等多路傳感器信號(hào);在醫(yī)療設(shè)備中,可精確采集生理電信號(hào)。

image.png

二、硬件連接與電氣特性

1. 引腳定義與功能

ADS1115采用10引腳QFN封裝,關(guān)鍵引腳功能如下:

  • AIN0~AIN3:四通道模擬輸入,支持單端或差分模式配置。

  • VDD/GND:電源輸入,工作電壓范圍2.0V~5.5V,典型值3.3V。

  • SCL/SDA:I2C通信接口,支持標(biāo)準(zhǔn)(100kHz)、快速(400kHz)、高速(3.4MHz)三種模式。

  • ADDR:地址選擇引腳,通過連接至GND、VDD、SDA或SCL,可配置四個(gè)不同I2C地址(0x48~0x4B)。

  • ALERT/RDY:數(shù)據(jù)就緒或比較器輸出引腳,低電平有效,可用于中斷觸發(fā)或閾值報(bào)警。

2. 硬件連接示例

以51單片機(jī)(如STC89C52)為例,典型連接方式如下:

  • 電源:VDD接3.3V電源,GND接地。

  • I2C接口:SCL接單片機(jī)P2.0,SDA接P2.1,需外接4.7kΩ上拉電阻。

  • 地址配置:ADDR引腳接地,I2C地址為0x48(寫)或0x49(讀)。

  • 模擬輸入:AIN0接溫度傳感器輸出,AIN1接壓力傳感器輸出,AIN2~AIN3懸空或接其他信號(hào)源。

3. 電氣特性參數(shù)

  • 輸入阻抗:典型值10MΩ,可直接連接高阻抗傳感器。

  • 共模抑制比(CMRR):差分模式下≥86dB,有效抑制共模噪聲。

  • 溫度漂移:基準(zhǔn)電壓漂移±15ppm/°C,確保長(zhǎng)期穩(wěn)定性。

三、軟件驅(qū)動(dòng)與寄存器配置

1. I2C通信協(xié)議實(shí)現(xiàn)

51單片機(jī)需通過軟件模擬I2C時(shí)序與ADS1115通信,關(guān)鍵步驟包括:

  • 起始信號(hào):SCL高電平時(shí),SDA由高變低。

  • 停止信號(hào):SCL高電平時(shí),SDA由低變高。

  • 應(yīng)答信號(hào):每傳輸8位數(shù)據(jù)后,接收方需拉低SDA表示確認(rèn)。

示例代碼(基于C51):


void I2C_Start(void) {

SDA = 1; SCL = 1;

delay_us(4);

SDA = 0;

delay_us(4);

SCL = 0;

}



void I2C_WriteByte(uint8_t data) {

for (uint8_t i = 0; i < 8; i++) {

SDA = (data & 0x80) ? 1 : 0;

data <<= 1;

SCL = 1; delay_us(2);

SCL = 0; delay_us(2);

}

SDA = 1; SCL = 1;

uint8_t ack = SDA;

SCL = 0;

}

2. 關(guān)鍵寄存器配置

ADS1115通過四個(gè)16位寄存器實(shí)現(xiàn)功能控制與數(shù)據(jù)讀取:

  • 配置寄存器(0x01)

    • OS位:?jiǎn)?dòng)單次轉(zhuǎn)換(寫1觸發(fā))。

    • MUX[2:0]:選擇輸入通道(如0x00對(duì)應(yīng)AIN0-GND單端模式)。

    • PGA[2:0]:設(shè)置增益(如0x00對(duì)應(yīng)±6.144V量程)。

    • MODE位:選擇工作模式(0為連續(xù)轉(zhuǎn)換,1為單次轉(zhuǎn)換)。

    • DR[2:0]:設(shè)置采樣速率(如0x03對(duì)應(yīng)64SPS)。

  • 轉(zhuǎn)換寄存器(0x00):存儲(chǔ)最近一次轉(zhuǎn)換結(jié)果,二進(jìn)制補(bǔ)碼格式。

  • 閾值寄存器(0x02~0x03):配置比較器高低閾值,需與配置寄存器中的比較器模式配合使用。

3. 初始化與數(shù)據(jù)讀取流程

  1. 初始化I2C接口:配置單片機(jī)引腳為開漏輸出,并啟用上拉電阻。

  2. 寫入配置寄存器:設(shè)置通道、增益、采樣率等參數(shù)。

  3. 啟動(dòng)轉(zhuǎn)換:若為單次模式,需向OS位寫1觸發(fā)轉(zhuǎn)換。

  4. 輪詢DRDY引腳或查詢轉(zhuǎn)換寄存器:判斷數(shù)據(jù)是否就緒。

  5. 讀取轉(zhuǎn)換結(jié)果:從轉(zhuǎn)換寄存器讀取16位數(shù)據(jù),并轉(zhuǎn)換為實(shí)際電壓值。

示例代碼(讀取AIN0通道電壓):


#define ADS1115_ADDR 0x48  

#define CONFIG_REG 0x01  

#define CONVERSION_REG 0x00  



void ADS1115_Init(void) {

uint8_t config_high = 0xC3; // OS=1, MUX=0, PGA=0, MODE=0, DR=3  

uint8_t config_low = 0x83;  // 64SPS, 傳統(tǒng)比較器模式  

I2C_Start();

I2C_WriteByte(ADS1115_ADDR << 1); // 寫地址  

I2C_WriteByte(CONFIG_REG);

I2C_WriteByte(config_high);

I2C_WriteByte(config_low);

I2C_Stop();

}



float ADS1115_ReadVoltage(void) {

uint8_t data[2];

I2C_Start();

I2C_WriteByte((ADS1115_ADDR << 1) | 0x01); // 讀地址  

I2C_WriteByte(CONVERSION_REG);

I2C_Start();

I2C_WriteByte((ADS1115_ADDR << 1) | 0x01);

data[0] = I2C_ReadByte(1); // 應(yīng)答  

data[1] = I2C_ReadByte(0); // 非應(yīng)答  

I2C_Stop();



int16_t raw_value = (data[0] << 8) | data[1];

float voltage = raw_value * 0.1875 / 1000.0; // 轉(zhuǎn)換為伏特  

return voltage;

}

四、應(yīng)用場(chǎng)景與實(shí)戰(zhàn)案例

1. 多通道溫度監(jiān)測(cè)系統(tǒng)

需求:同時(shí)監(jiān)測(cè)四個(gè)熱敏電阻輸出的模擬電壓,并通過LCD1602顯示實(shí)時(shí)溫度值。
實(shí)現(xiàn)步驟

  1. 將四個(gè)熱敏電阻分別連接至AIN0~AIN3,并配置分壓電路。

  2. 初始化ADS1115,設(shè)置增益為±6.144V,采樣率為64SPS。

  3. 周期性讀取四通道數(shù)據(jù),并通過查表法將電壓值轉(zhuǎn)換為溫度值。

  4. 將溫度值顯示在LCD1602上,并設(shè)置超溫報(bào)警閾值。

2. 工業(yè)壓力傳感器數(shù)據(jù)采集

需求:采集壓力傳感器輸出的0~5V信號(hào),并通過串口上傳至上位機(jī)。
實(shí)現(xiàn)步驟

  1. 將壓力傳感器輸出連接至AIN0,配置增益為±2.048V(通過分壓電阻調(diào)整輸入范圍)。

  2. 初始化ADS1115,設(shè)置采樣率為860SPS,啟用連續(xù)轉(zhuǎn)換模式。

  3. 在中斷服務(wù)程序中讀取轉(zhuǎn)換寄存器數(shù)據(jù),并通過UART發(fā)送至上位機(jī)。

  4. 上位機(jī)使用Python腳本解析數(shù)據(jù)并繪制實(shí)時(shí)曲線。

3. 閾值報(bào)警與中斷觸發(fā)

需求:監(jiān)測(cè)電池電壓,當(dāng)電壓低于3.3V時(shí)觸發(fā)蜂鳴器報(bào)警。
實(shí)現(xiàn)步驟

  1. 將電池電壓通過分壓電路連接至AIN0,配置增益為±6.144V。

  2. 初始化ADS1115,啟用比較器模式,設(shè)置低閾值為0x2E80(對(duì)應(yīng)3.3V)。

  3. 將ALERT/RDY引腳連接至單片機(jī)外部中斷引腳,配置下降沿觸發(fā)。

  4. 在中斷服務(wù)程序中關(guān)閉負(fù)載電源,并通過LED提示報(bào)警狀態(tài)。

五、常見問題與調(diào)試技巧

1. 通信故障排查

  • 現(xiàn)象:I2C通信失敗,讀取數(shù)據(jù)全為0xFF。

  • 原因:上拉電阻缺失、地址配置錯(cuò)誤、時(shí)序不匹配。

  • 解決:檢查上拉電阻(4.7kΩ)、確認(rèn)ADDR引腳連接、使用邏輯分析儀捕獲I2C波形。

2. 數(shù)據(jù)異常處理

  • 現(xiàn)象:讀取電壓值波動(dòng)較大或超出量程。

  • 原因:輸入信號(hào)未適配增益、電源噪聲干擾、采樣率設(shè)置不當(dāng)。

  • 解決:調(diào)整PGA增益使輸入信號(hào)位于量程中心、增加RC濾波電路、降低采樣率。

3. 功耗優(yōu)化建議

  • 單次轉(zhuǎn)換模式:在非實(shí)時(shí)性場(chǎng)景中,使用單次轉(zhuǎn)換模式并配合低功耗單片機(jī)。

  • 降低采樣率:將采樣率從860SPS降至8SPS,功耗可降低約90%。

  • 關(guān)閉未使用通道:通過MUX位禁用未使用的輸入通道,減少噪聲耦合。

六、擴(kuò)展功能與高級(jí)應(yīng)用

1. 差分信號(hào)采集

ADS1115支持兩通道差分輸入(如AIN0-AIN1),適用于橋式傳感器或高共模噪聲環(huán)境。配置MUX[2:0]=0x01即可啟用差分模式,此時(shí)輸入范圍為±256mV(PGA=16)至±6.144V(PGA=1)。

2. 數(shù)字濾波與平均值算法

為提高抗干擾能力,可在軟件中實(shí)現(xiàn)滑動(dòng)平均濾波:


#define SAMPLE_NUM 16  

float voltage_buffer[SAMPLE_NUM];

uint8_t index = 0;



float Filter_Voltage(float new_value) {

voltage_buffer[index++] = new_value;

if (index >= SAMPLE_NUM) index = 0;



float sum = 0;

for (uint8_t i = 0; i < SAMPLE_NUM; i++) {

sum += voltage_buffer[i];

}

return sum / SAMPLE_NUM;

}

3. 與其他模塊的協(xié)同工作

  • 與OLED顯示模塊結(jié)合:通過I2C接口驅(qū)動(dòng)SSD1306 OLED,實(shí)時(shí)顯示多通道數(shù)據(jù)。

  • 與無線模塊集成:使用ESP8266或NRF24L01將采集數(shù)據(jù)上傳至云平臺(tái)。

  • 與PID控制算法聯(lián)動(dòng):根據(jù)ADS1115采集的溫度/壓力值,動(dòng)態(tài)調(diào)整加熱器或閥門開度。

ADS1115憑借其高精度、低功耗、多通道特性,成為51單片機(jī)系統(tǒng)中理想的ADC解決方案。通過本文的詳細(xì)介紹,讀者可掌握其硬件連接、寄存器配置、軟件驅(qū)動(dòng)及典型應(yīng)用方法。未來,隨著物聯(lián)網(wǎng)與工業(yè)4.0的發(fā)展,ADS1115將在智能家居、智慧農(nóng)業(yè)、智能電網(wǎng)等領(lǐng)域發(fā)揮更大作用。建議開發(fā)者結(jié)合具體需求,靈活調(diào)整增益、采樣率等參數(shù),并探索與傳感器融合、邊緣計(jì)算等技術(shù)的結(jié)合,以實(shí)現(xiàn)更智能、更高效的嵌入式系統(tǒng)設(shè)計(jì)。

責(zé)任編輯:David

【免責(zé)聲明】

1、本文內(nèi)容、數(shù)據(jù)、圖表等來源于網(wǎng)絡(luò)引用或其他公開資料,版權(quán)歸屬原作者、原發(fā)表出處。若版權(quán)所有方對(duì)本文的引用持有異議,請(qǐng)聯(lián)系拍明芯城(marketing@iczoom.com),本方將及時(shí)處理。

2、本文的引用僅供讀者交流學(xué)習(xí)使用,不涉及商業(yè)目的。

3、本文內(nèi)容僅代表作者觀點(diǎn),拍明芯城不對(duì)內(nèi)容的準(zhǔn)確性、可靠性或完整性提供明示或暗示的保證。讀者閱讀本文后做出的決定或行為,是基于自主意愿和獨(dú)立判斷做出的,請(qǐng)讀者明確相關(guān)結(jié)果。

4、如需轉(zhuǎn)載本方擁有版權(quán)的文章,請(qǐng)聯(lián)系拍明芯城(marketing@iczoom.com)注明“轉(zhuǎn)載原因”。未經(jīng)允許私自轉(zhuǎn)載拍明芯城將保留追究其法律責(zé)任的權(quán)利。

拍明芯城擁有對(duì)此聲明的最終解釋權(quán)。

下一篇: tic12400中文文檔
標(biāo)簽: 51單片機(jī) ads1115

相關(guān)資訊

資訊推薦
云母電容公司_云母電容生產(chǎn)廠商

云母電容公司_云母電容生產(chǎn)廠商

開關(guān)三極管13007的規(guī)格參數(shù)、引腳圖、開關(guān)電源電路圖?三極管13007可以用什么型號(hào)替代?

開關(guān)三極管13007的規(guī)格參數(shù)、引腳圖、開關(guān)電源電路圖?三極管13007可以用什么型號(hào)替代?

74ls74中文資料匯總(74ls74引腳圖及功能_內(nèi)部結(jié)構(gòu)及應(yīng)用電路)

74ls74中文資料匯總(74ls74引腳圖及功能_內(nèi)部結(jié)構(gòu)及應(yīng)用電路)

芯片lm2596s開關(guān)電壓調(diào)節(jié)器的中文資料_引腳圖及功能_內(nèi)部結(jié)構(gòu)及原理圖_電路圖及封裝

芯片lm2596s開關(guān)電壓調(diào)節(jié)器的中文資料_引腳圖及功能_內(nèi)部結(jié)構(gòu)及原理圖_電路圖及封裝

芯片UA741運(yùn)算放大器的資料及參數(shù)_引腳圖及功能_電路原理圖?ua741運(yùn)算放大器的替代型號(hào)有哪些?

芯片UA741運(yùn)算放大器的資料及參數(shù)_引腳圖及功能_電路原理圖?ua741運(yùn)算放大器的替代型號(hào)有哪些?

28nm光刻機(jī)卡住“02專項(xiàng)”——對(duì)于督工部分觀點(diǎn)的批判(睡前消息353期)

28nm光刻機(jī)卡住“02專項(xiàng)”——對(duì)于督工部分觀點(diǎn)的批判(睡前消息353期)

拍明芯城微信圖標(biāo)

各大手機(jī)應(yīng)用商城搜索“拍明芯城”

下載客戶端,隨時(shí)隨地買賣元器件!

拍明芯城公眾號(hào)
拍明芯城抖音
拍明芯城b站
拍明芯城頭條
拍明芯城微博
拍明芯城視頻號(hào)
拍明
廣告
恒捷廣告
廣告
深亞廣告
廣告
原廠直供
廣告