標題: STM32F103ZET6可以用內(nèi)部參考電壓測量ADC嗎? [打印本頁]

作者: biubiuyou    時間: 2025-2-7 17:47
標題: STM32F103ZET6可以用內(nèi)部參考電壓測量ADC嗎?
如果我打開內(nèi)部參考電壓ADC_TempSensorVrefintCmd(ENABLE);,那獲取的數(shù)據(jù)是ADCVALUE = 分壓/1.2V*4096?

作者: 飛云居士    時間: 2025-2-9 12:50
STM32F103ZET6 的 ADC 模塊支持使用內(nèi)部參考電壓(VREFINT)來進行測量。內(nèi)部參考電壓是一個精度較高且相對穩(wěn)定的電壓源,其典型值為 1.2V ,在芯片內(nèi)部與 ADC 的輸入通道相連(一般對應 ADC 通道 17)。通過對該通道進行采樣,可以得到一個與內(nèi)部參考電壓對應的 ADC 轉換值,利用這個值和 ADC 的分辨率等信息,就可以校準 ADC 的測量結果,進而準確測量外部模擬輸入電壓。
作者: rundstedt    時間: 2025-2-9 23:17
STM32 ADC真正的參考電壓是VCCA,而這個引腳在內(nèi)部實際上是跟VCC連接的,電阻在10~100歐之間,所以ADC讀數(shù)=(Vin/VCC)*4096。

至于所謂的Vref是個假的,不太準的1.2V電壓,你用ADC去讀Vref,ADC讀數(shù)=(Vref/VCC)*4096,根據(jù)此公式,認為Vref=1.2V倒推出VCC的值,再用ADC讀數(shù)=(Vin/VCC)*4096推算Vin電壓。
作者: moonsbody    時間: 2025-2-10 10:34
當你啟用內(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參考電壓,那么你可以通過以下公式來計算對應的ADC值:

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

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

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

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

這樣就能得到輸入電壓。
作者: xhaity    時間: 2025-2-10 18:37
VCCA是ADC模塊電源,不是參考電壓;Vref電壓精度能不能滿足你的需求而定
作者: biubiuyou    時間: 2025-2-11 11:21
飛云居士 發(fā)表于 2025-2-9 12:50
STM32F103ZET6 的 ADC 模塊支持使用內(nèi)部參考電壓(VREFINT)來進行測量。內(nèi)部參考電壓是一個精度較高且相對 ...

我的意思是我不是要用內(nèi)部參考電壓校準電壓,我就是想要我的ADC參考的基準電壓是1.2V,這樣可以嗎?但是實際上行不通,我打開了內(nèi)部參考電壓,最終ADC的測量結果還是已3.3V作為參考的基準電壓
作者: biubiuyou    時間: 2025-2-11 11:28
rundstedt 發(fā)表于 2025-2-9 23:17
STM32 ADC真正的參考電壓是VCCA,而這個引腳在內(nèi)部實際上是跟VCC連接的,電阻在10~100歐之間,所以ADC讀數(shù)= ...

您的意思是反推實際電壓嗎?我不是想要反推電壓,我想要實際1.2V作為參考的基準電壓可以的嗎?比如我的分壓是0.1V,如果以3.3V作為參考基準電壓,那算出來的值0.1/3.3*4096 = 124可能有點小,如果直接用1.2V作為參考基準電壓,那算出來的值就大點0.1/1.2*4096=341,當然主要原因還是VREF這個電壓會隨著負載的波動而波動,影響很大
作者: rundstedt    時間: 2025-2-12 16:07
biubiuyou 發(fā)表于 2025-2-11 11:28
您的意思是反推實際電壓嗎?我不是想要反推電壓,我想要實際1.2V作為參考的基準電壓可以的嗎?比如我的分 ...

不可以,STM32 ADC的參考電壓必須是VCCA,因為內(nèi)部已經(jīng)有小電阻了,實際上就是VCC,硬件已經(jīng)接死了,天王老子來了,也改不了。
作者: szgoldenking    時間: 2025-2-13 09:03
還是外部加個高精度電壓基準源比較好。
作者: biubiuyou    時間: 2025-2-17 08:56
rundstedt 發(fā)表于 2025-2-12 16:07
不可以,STM32 ADC的參考電壓必須是VCCA,因為內(nèi)部已經(jīng)有小電阻了,實際上就是VCC,硬件已經(jīng)接死了,天王 ...

好吧,我也覺得不行,謝謝大佬




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1