奇米狠狠去啦-嫩草在线视频-看污网站-超碰97av-欧美精品一区在线观看-九九久久精品视频-久久黄色一级片-久久国产美女-综合久久伊人-久久伊人中文字幕-国产香蕉视频在线-四虎网址在线观看-日韩蜜桃视频-久久一二三四区-四虎精品在永久在线观看

STM32測量外部電池電壓值時參考電壓解決方法

鉅大鋰電  |  點擊量:0  |  2020年04月29日  

STM32的ADC模塊是一個12位的逐次逼近型模擬數字轉換器。他有18個通道,可測量16個外部和2個內部信號源。各通道的A/D轉換可以單次、持續、掃描或間斷模式執行。ADC的結果可以左對齊或右對齊方式儲存在16位數據寄存器中。


其中,ADC的供電要求是2.4V到3.6V,ADC輸入范圍:VREF-鋰電池、LDO造成不同的參考電壓值,雖然STM32是可以正常工作,但是參考電壓的不同,也就造成我們使用ADC采集外部模擬信號值時,無法還原真實數據。所以,在這里介紹一下STM32的內部2個ADC通道。


STM32的ADC可以直接測量2個內部信號源,其中一個是溫度傳感器,一個是內部參考電壓。


其中,溫度傳感器和通道ADCx_IN16相連接。內部參考電壓VREFINT和ADCx_IN17相連接。


根據數據手冊中的數據,這個參考電壓值的典型值為1.20V,最小值為1.16V,最大值為1.24V。這個電壓基本不隨外部供電電壓的變化而變化。


其使用的具體為:在測量某個通道的電壓值之前,先讀出ADCx_IN17引腳參考電壓的ADC的測量數值,記為AD_REFINT,再讀出要測量通道的ADC的轉換數值,記為AD_CHX。則要測量的電壓數值為:


V_CHX=V_REFINT*(AD_CHX/AD_REFINT)


其中,V_REFINT為參考電壓:1.2V(典型值)。


在STM32供應的庫函數中,假如要開啟內部參考電壓功能,使用的庫函數和開啟溫度內部溫度傳感器的函數是相同的,只是在后面采集ADCx_Channel_x通道的時候不同而已。開啟函數為:ADC_TempSensorVrefintCmd(ENABLE);


注:必須設置TSVREFE位激活內部通道:ADCx_IN16(溫度傳感器)和ADCx_IN17(VREFINT)的轉換。


有關操作源碼,可以參考正點原子不完全手冊第二十一章內部溫度傳感器實驗,關于內部電壓值的測量和溫度傳感器的方法是相同的,只是使能的ADC通道不相同,其他都是相同的,所以,可以直接參考。


相關產品