找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1046|回復(fù): 9
打印 上一主題 下一主題
收起左側(cè)

STM32F103ZET6可以用內(nèi)部參考電壓測量ADC嗎?

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:953770 發(fā)表于 2025-2-7 17:47 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
如果我打開內(nèi)部參考電壓ADC_TempSensorVrefintCmd(ENABLE);,那獲取的數(shù)據(jù)是ADCVALUE = 分壓/1.2V*4096?
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:404160 發(fā)表于 2025-2-9 12:50 | 只看該作者
STM32F103ZET6 的 ADC 模塊支持使用內(nèi)部參考電壓(VREFINT)來進行測量。內(nèi)部參考電壓是一個精度較高且相對穩(wěn)定的電壓源,其典型值為 1.2V ,在芯片內(nèi)部與 ADC 的輸入通道相連(一般對應(yīng) ADC 通道 17)。通過對該通道進行采樣,可以得到一個與內(nèi)部參考電壓對應(yīng)的 ADC 轉(zhuǎn)換值,利用這個值和 ADC 的分辨率等信息,就可以校準(zhǔn) ADC 的測量結(jié)果,進而準(zhǔn)確測量外部模擬輸入電壓。
回復(fù)

使用道具 舉報

板凳
ID:879809 發(fā)表于 2025-2-9 23:17 | 只看該作者
STM32 ADC真正的參考電壓是VCCA,而這個引腳在內(nèi)部實際上是跟VCC連接的,電阻在10~100歐之間,所以ADC讀數(shù)=(Vin/VCC)*4096。

至于所謂的Vref是個假的,不太準(zhǔn)的1.2V電壓,你用ADC去讀Vref,ADC讀數(shù)=(Vref/VCC)*4096,根據(jù)此公式,認(rèn)為Vref=1.2V倒推出VCC的值,再用ADC讀數(shù)=(Vin/VCC)*4096推算Vin電壓。
回復(fù)

使用道具 舉報

地板
ID:1143695 發(fā)表于 2025-2-10 10:34 | 只看該作者
當(dāng)你啟用內(nèi)部參考電壓(`ADC_TempSensorVrefintCmd(ENABLE);`)時,ADC的輸入電壓會參考一個固定的內(nèi)部參考電壓(通常為1.2V)。這樣,ADC讀取的值將與這個內(nèi)部參考電壓進行比例計算。

如果你要根據(jù)ADC讀取的值來計算電壓,可以使用以下公式:

\[
ADCVALUE = \frac{V_{in}}{V_{ref}} \times 4096
\]

其中:

- `V_in` 是輸入電壓(即你測量的電壓)。
- `V_ref` 是參考電壓,對于內(nèi)部參考電壓通常為1.2V。
- `4096` 是12位ADC的分辨率(2^12 = 4096)。

所以,如果你測量的電壓是 `V_in`,并且使用內(nèi)部1.2V參考電壓,那么你可以通過以下公式來計算對應(yīng)的ADC值:

\[
ADCVALUE = \frac{V_{in}}{1.2V} \times 4096
\]

因此,獲取的數(shù)據(jù)是一個基于1.2V參考電壓的比例值。

如果你要從ADC值計算電壓,可以反過來用這個公式:

\[
V_{in} = \frac{ADCVALUE}{4096} \times 1.2V
\]

這樣就能得到輸入電壓。
回復(fù)

使用道具 舉報

5#
ID:373388 發(fā)表于 2025-2-10 18:37 | 只看該作者
VCCA是ADC模塊電源,不是參考電壓;Vref電壓精度能不能滿足你的需求而定
回復(fù)

使用道具 舉報

6#
ID:953770 發(fā)表于 2025-2-11 11:21 | 只看該作者
飛云居士 發(fā)表于 2025-2-9 12:50
STM32F103ZET6 的 ADC 模塊支持使用內(nèi)部參考電壓(VREFINT)來進行測量。內(nèi)部參考電壓是一個精度較高且相對 ...

我的意思是我不是要用內(nèi)部參考電壓校準(zhǔn)電壓,我就是想要我的ADC參考的基準(zhǔn)電壓是1.2V,這樣可以嗎?但是實際上行不通,我打開了內(nèi)部參考電壓,最終ADC的測量結(jié)果還是已3.3V作為參考的基準(zhǔn)電壓
回復(fù)

使用道具 舉報

7#
ID:953770 發(fā)表于 2025-2-11 11:28 | 只看該作者
rundstedt 發(fā)表于 2025-2-9 23:17
STM32 ADC真正的參考電壓是VCCA,而這個引腳在內(nèi)部實際上是跟VCC連接的,電阻在10~100歐之間,所以ADC讀數(shù)= ...

您的意思是反推實際電壓嗎?我不是想要反推電壓,我想要實際1.2V作為參考的基準(zhǔn)電壓可以的嗎?比如我的分壓是0.1V,如果以3.3V作為參考基準(zhǔn)電壓,那算出來的值0.1/3.3*4096 = 124可能有點小,如果直接用1.2V作為參考基準(zhǔn)電壓,那算出來的值就大點0.1/1.2*4096=341,當(dāng)然主要原因還是VREF這個電壓會隨著負(fù)載的波動而波動,影響很大
回復(fù)

使用道具 舉報

8#
ID:879809 發(fā)表于 2025-2-12 16:07 | 只看該作者
biubiuyou 發(fā)表于 2025-2-11 11:28
您的意思是反推實際電壓嗎?我不是想要反推電壓,我想要實際1.2V作為參考的基準(zhǔn)電壓可以的嗎?比如我的分 ...

不可以,STM32 ADC的參考電壓必須是VCCA,因為內(nèi)部已經(jīng)有小電阻了,實際上就是VCC,硬件已經(jīng)接死了,天王老子來了,也改不了。
回復(fù)

使用道具 舉報

9#
ID:122775 發(fā)表于 2025-2-13 09:03 | 只看該作者
還是外部加個高精度電壓基準(zhǔn)源比較好。
回復(fù)

使用道具 舉報

10#
ID:953770 發(fā)表于 2025-2-17 08:56 | 只看該作者
rundstedt 發(fā)表于 2025-2-12 16:07
不可以,STM32 ADC的參考電壓必須是VCCA,因為內(nèi)部已經(jīng)有小電阻了,實際上就是VCC,硬件已經(jīng)接死了,天王 ...

好吧,我也覺得不行,謝謝大佬
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表