使用STM8SF103 ADC采樣電壓(轉)


源:使用STM8SF103 ADC采樣電壓

硬件環境: STM8SF103 TSSOP20封裝

因為項目需要用到AD采樣電池電壓,於是便開始了使用STM8S ADC進行采樣,也就有了下文。

手冊上對STM8S ADC的管腳描述如下:

STM8SF103這款芯片是TSSOP 20管腳封裝,如下:

STM8SF103這款芯片能用的是5個AD采樣通道,分別是AIN2~AIN6。其實是還有一個通道AIN7,但手冊並沒有對其描述。

這里還有一個很奇怪的地方,從ST資料中找到一個與上面的表數據不同的地方,如:

很明顯的說STM8S103是存在這個AIN7通道的,再加上另外5個通道,應該是6個通道才對。

要做AD采樣,首先要解決的就是AD的參考電壓,之前查看手冊上並沒有描述AIN7通道,有的僅僅是幾個外部采樣通道。AIN7通道是內部通道,用於提供一個恆定的電壓參考值。

從別的資料找到下面這句話,很明顯是存在這么一個通道的,后面測試也證明這個是正確的。

第一步已經解決了,找到了一個參考電壓,但這個電壓到底是多少,手冊也沒有找到痕跡。只能是根據公式自己算出來。

Vin = (ADC * Vref) / 1024

Vref = Vin * 1024 / ADC (根據Vin這個恆定的值算出參考電壓,這里的參考電壓就是VCC且是變化的。實際上真正的參考電壓是由AIN7提供的1.22V)

使用VCC做為參考電壓,VCC很明顯可以使用萬用表先測出來,1024是因為STM8S這款的AD是10位精度。

我測試的VCC為3.19V,AD值基本上是出於穩定狀態392左右,392 * 3.19 / 1024 = 1.221171875 自然就算出了參考電壓值,這里取1.22。為了證明這個值是正確的,

使用電池供電,VCC為2.93V。分別采樣8次,計算每一次的VCC電壓。

n                            AD值                                  VCC

1                           432                                      2.89V

2                           429                                      2.91V

3                           429                                      2.91V

4                           429                                      2.91V

5                           430                                      2.90V

6                           430                                      2.90V

7                           430                                      2.90V

8                           431                                      2.89V

另外又使用3.19V進行測試,采樣值也是很接近的,平均3.20左右。

還有另外一款STM8S903也有該采樣通道AIN7,所有的AIN通道有8個,7個內部加上1個外部通道。如果沒有能夠提供參考電壓,則必須使用外部器件供一個參考電壓給AINx。可選用TL430。

 

由此可以看出: AIN7通道一定是存在於STM8S103的,並且參考電壓為1.22V。

 

后記:

經本人測試確實如以上網友所說。

 

參考:使用STM8SF103 ADC采樣電壓

我用STM32 AD大半年也沒有覺得哪里不好。只有設置和程序不對的問題,AD多通道,不同通道之間不需要延時等待。最多做了8通道加一溫度,數值都是對的。但是AD采樣的值不是固定的,有個上下波動。這個和參考電壓有關。加軟件濾波有助於改善波動。(具體版上有ADC值校准的帖子,可以搜下)

其次,ADC采樣多通道必須要用DMA傳輸,DMA傳輸要注意設置buffersize以及起始地址。AD多通道之間要排好順序。再則就是先使能DMA,再使能ADC轉換。順序不要錯了,否則有的你玩的。

 
 
http://blog.csdn.net/liuyu60305002/article/details/7071245
 
http://bbs.21ic.com/icview-107700-1-1.html
 
http://bbs.21ic.com/icview-812992-1-1.html
數字電源設計全過程(圖和代碼)
http://bbs.21dianyuan.com/188786.html#revert_content_729541
 
 
 

因為沒有外部基准電壓,而采用內部基准往往就是 VDDA的電壓,面對大批量產品,往往此電壓差異較大,如何消除此影響呢,

1、可以采用一路AD 連接一個類似 TL431的外部參考標准電壓來獲得 VDDA 的電壓 從而 消除VDDA的不定值對要測AD的影響。

2、VDDA上連接一個 與電源電壓相差不大的高精准電源,比如可以用TL431組成一個3.3v基准,但考慮TL431基准2.5,穩壓到3.3需要加電阻匹配,電阻的誤差也要考慮,所以此方案沒采用。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM