久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 11055|回復: 22
打印 上一主題 下一主題
收起左側

關于STC單片機的ADC問題請教

  [復制鏈接]
跳轉到指定樓層
樓主
20黑幣
各路大神,關于STC的51單片機的ADC有個問題一直不解。
以STC15W408AS-5V單片機為例,本身自帶10位ADC。
當單片機的供電是5V的情況下,ADC采回數值為0xFF的時候,基本代表被采集電壓是5V。
但是當單片機的供電電壓不足5V,例如低到手冊上的下限3.6V時,此時如果ADC采集數值是0xFF,那么這時候代表的電壓是5V還是3.6V?我的理解應該是3.6V。
3.3V的單片機是同理嗎?
我的場景是用電池直接供電,供電范圍是2.5V-3.5V。如果隨著電壓的變化,ADC滿量程代表的電壓值是一直在變化的,怎么確定基準電壓呢?用所謂的bandgap值可靠嗎?不想再增加 TL431之類的基準源。
對于各位的回復,感激不盡。

最佳答案

查看完整內容

stc官方的數據手冊說是1.27V左右,連它自己都是用"左右"這個詞語,可想而知它是有一定誤差的 不管你用多少電壓供電,10位ADC都是1024個數字量,就是0-1023 你想利用內部參考電壓來測量VCC,這個是可以的,但是,由于制造參數的誤差,最終的結果會有正負0.15V左右的誤差,這個是我實際使用測試得來的結果,一共測試了5PCS,沒有一個是完全在1.27V的 如果你要完全達到10位ADC的精度,那就得按照STC官方的方法:先測試內部電壓的ADC值,然后再以 ...
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:401564 發表于 2020-9-13 21:16 | 只看該作者
stc官方的數據手冊說是1.27V左右,連它自己都是用"左右"這個詞語,可想而知它是有一定誤差的
不管你用多少電壓供電,10位ADC都是1024個數字量,就是0-1023
你想利用內部參考電壓來測量VCC,這個是可以的,但是,由于制造參數的誤差,最終的結果會有正負0.15V左右的誤差,這個是我實際使用測試得來的結果,一共測試了5PCS,沒有一個是完全在1.27V的
如果你要完全達到10位ADC的精度,那就得按照STC官方的方法:先測試內部電壓的ADC值,然后再以這個值來計算,每個單片機都要測試
回復

使用道具 舉報

板凳
ID:213173 發表于 2020-9-14 06:38 | 只看該作者
10位ADC在供電是5V的情況下,ADC采回數值為0x03FF時基本代表被采集電壓是5V。當用電池供電時ADC滿量程的電壓值可能是變化的,每次采樣前必須利用基準電壓推算出現時VCC電壓值。否則難以獲取準確的AD值。基準電壓源既可以由外部提供也可以利用內部BandGap電壓來計算工作電壓VCC。
回復

使用道具 舉報

地板
ID:147710 發表于 2020-9-14 08:46 | 只看該作者
本帖最后由 XTXB 于 2020-9-14 10:16 編輯

用內部BandGap測電壓,0.01V精度沒壓力,具體操作可以看這個貼子:http://www.zg4o1577.cn/bbs/dpj-192371-1.html
回復

使用道具 舉報

5#
ID:612392 發表于 2020-9-14 09:25 | 只看該作者
wulin 發表于 2020-9-14 06:38
10位ADC在供電是5V的情況下,ADC采回數值為0x03FF時基本代表被采集電壓是5V。當用電池供電時ADC滿量程的電 ...

感謝回復,10位是0x03FF,0xFF是只取8位。
回復

使用道具 舉報

6#
ID:612392 發表于 2020-9-14 09:26 | 只看該作者
Y_G_G 發表于 2020-9-14 08:22
stc官方的數據手冊說是1.27V左右,連它自己都是用"左右"這個詞語,可想而知它是有一定誤差的
不管你用多少電 ...

感謝回復,所以說,利用TL431做一個基準電壓,對于電池供電的ADC是很有必要的了。
回復

使用道具 舉報

7#
ID:310961 發表于 2020-9-14 09:29 | 只看該作者
stc官方的數據手冊說是1.27V左右,連它自己都是用"左右"這個詞語,可想而知它是有一定誤差的
不管你用多少電壓供電,10位ADC都是1024個數字量,就是0-1023
你想利用內部參考電壓來測量VCC,這個是可以的,但是,由于制造參數的誤差,最終的結果會有正負0.15V左右的誤差,這個是我實際使用測試得來的結果,一共測試了5PCS,沒有一個是完全在1.27V的
如果你要完全達到10位ADC的精度,那就得按照STC官方的方法:先測試內部電壓的ADC值,然后再以這個值來計算,每個單片機都要測試
回復

使用道具 舉報

8#
ID:767423 發表于 2020-9-14 10:07 | 只看該作者
cjjdemon 發表于 2020-9-14 09:26
感謝回復,所以說,利用TL431做一個基準電壓,對于電池供電的ADC是很有必要的了。

有內部BandGap,就不TL431了,AD基準用VCC,用一路AD測內部BandGap,然后換算出當前的VCC。電池供電我不喜歡外接基準,增加功耗。
回復

使用道具 舉報

9#
ID:612392 發表于 2020-9-14 10:43 | 只看該作者
hsl32 發表于 2020-9-14 10:07
有內部BandGap,就不TL431了,AD基準用VCC,用一路AD測內部BandGap,然后換算出當前的VCC。電池供電我不 ...

是的,我也是基于功耗的考慮,不希望增加此類硬件。但用內部BandGap,樓上有人說有+/-0.15V的精度問題,你在實際使用BandGap作為參考,實際計算ADC采樣后的偏差會有多大呢?
回復

使用道具 舉報

10#
ID:401564 發表于 2020-9-14 11:28 | 只看該作者
cjjdemon 發表于 2020-9-14 09:26
感謝回復,所以說,利用TL431做一個基準電壓,對于電池供電的ADC是很有必要的了。

這0.15V的誤差是制造誤差,并不是精度誤差,要區分
單片機本身的ADC精度依然是保持著10ADC的精度,但BandGap的電壓并不是絕對的數據手冊上說的1.27V,它可能是1.17到1.37V之間,這個值在某個單片機中是固定的,最終的結果就會有0.15V左右的誤差
所以,如果你要使用內部的參考電壓測量的時候,要要按照官方的數據手冊上的方法去使用
先是在VCC為5.00V的高精度電源下測量到BandGap的AD值,就可以知道這個BandGap的電壓是多少了,以后計算就以這個計算得來的電壓做參考電壓
并不需要TL431的,也不用多次測量的,只要一個程序就可以了呀
回復

使用道具 舉報

11#
ID:612392 發表于 2020-9-14 20:11 | 只看該作者
Y_G_G 發表于 2020-9-14 11:28
這0.15V的誤差是制造誤差,并不是精度誤差,要區分
單片機本身的ADC精度依然是保持著10ADC的精度,但BandGa ...

謝謝,那如果這個產品量產,出貨前還需要對BandGap再進行1次校準,把準確值寫到EEPROM里,每次ADC采樣都進行一次修正。
回復

使用道具 舉報

12#
ID:401564 發表于 2020-9-14 23:23 | 只看該作者
cjjdemon 發表于 2020-9-14 20:11
謝謝,那如果這個產品量產,出貨前還需要對BandGap再進行1次校準,把準確值寫到EEPROM里,每次ADC采樣都 ...

可以在程序里寫入的,第一次運行,或者是按下某個按鍵就進行校準,然后就把這個值寫入EEPROM,以后都是按照這個值來作為參考就可以了
回復

使用道具 舉報

13#
ID:147710 發表于 2020-9-15 10:36 | 只看該作者
實際生產中,每片都要校準,感覺操作起來比較困難,實際上STC出廠時1.19V基準已校準,1%精度就是10mv左右,這個精度不知道能不能滿足你的需求,如果不能,外界基準源會更省事一些。


這個是我用內部BandGap做的電壓表:


回復

使用道具 舉報

14#
ID:401564 發表于 2020-9-15 12:00 | 只看該作者
XTXB 發表于 2020-9-15 10:36
實際生產中,每片都要校準,感覺操作起來比較困難,實際上STC出廠時1.19V基準已校準,1%精度就是10mv左右, ...

哥們,你說的這個應該是STC8G系列的吧,樓主用的是STC15W系列的,并不一樣的,而且,STC15W系列的官方手冊也是已經說明了利用內部參考電壓測量VCC的方法
而且,我在實際使用中也是測量到這個誤差的,但這是制造誤差而已,精度是有的,這個1.27V的參考電壓,有個別的是1.21V左右,誤差是0.05V左右,如果是3.6V的電壓,換算出來的VCC就會有0.15V左右
每次校準其實也沒有那么麻煩的,燒錄電壓準確就可以一次搞定的


回復

使用道具 舉報

15#
ID:147710 發表于 2020-9-15 16:05 | 只看該作者
Y_G_G 發表于 2020-9-15 12:00
哥們,你說的這個應該是STC8G系列的吧,樓主用的是STC15W系列的,并不一樣的,而且,STC15W系列的官方手冊也是 ...

多謝指點!是STC8G,平時用的精度要求沒那么高,所以沒怎么留意,原以為芯片出廠時保存的那個BGVx每個值都不一樣,應該是出廠時校準過的,想不到誤差竟然有這么大!之前一直還納悶,既然你已校準,干嘛還要我們再測量標定呢?
看了你的說明,看是不是這樣的操作思路:接個按鍵,在程序中加一段代碼,接上精準電源,按下按鍵,得到標定的BandGap值,自動存入eeprom,以后就利用這個標定值計算,而不用出廠BGVx值。
回復

使用道具 舉報

16#
ID:401564 發表于 2020-9-15 16:30 | 只看該作者
XTXB 發表于 2020-9-15 16:05
多謝指點!是STC8G,平時用的精度要求沒那么高,所以沒怎么留意,原以為芯片出廠時保存的那個BGVx每個值 ...

是這么搞的了
如果是要防止誤觸發,還會把一個已經校準過的標志位寫入EEPROM,說明已經校準過了,下次再按這個按鍵也不會觸發校準程序了
回復

使用道具 舉報

17#
ID:147710 發表于 2020-9-15 18:53 | 只看該作者
Y_G_G 發表于 2020-9-15 16:30
是這么搞的了
如果是要防止誤觸發,還會把一個已經校準過的標志位寫入EEPROM,說明已經校準過了,下次再按 ...

這個主意好!
回復

使用道具 舉報

18#
ID:612392 發表于 2020-9-15 19:08 | 只看該作者
Y_G_G 發表于 2020-9-15 16:30
是這么搞的了
如果是要防止誤觸發,還會把一個已經校準過的標志位寫入EEPROM,說明已經校準過了,下次再按 ...

都是有實戰經驗的大佬!!感謝,大概明白怎么處理了。謝謝
回復

使用道具 舉報

19#
ID:346329 發表于 2021-8-5 23:13 來自手機 | 只看該作者
cjjdemon 發表于 2020-9-14 20:11
謝謝,那如果這個產品量產,出貨前還需要對BandGap再進行1次校準,把準確值寫到EEPROM里,每次ADC采樣都 ...

挖個墳,這個值出廠已經校準過,并且寫到了eeprom里面了,內存里也有,你只要讀取就好了,根本沒看過手冊吧,燒錄的時候,日志里面也有顯示,廠家說的1.27左右,這個左右指的是對于芯片與芯片之間不固定,就是2顆芯片可能不同,單個芯片,這個值永遠是固定的
回復

使用道具 舉報

20#
ID:401564 發表于 2021-8-6 12:34 | 只看該作者
ploestar 發表于 2021-8-5 23:13
挖個墳,這個值出廠已經校準過,并且寫到了eeprom里面了,內存里也有,你只要讀取就好了,根本沒看過手冊 ...

STC的單片機并不是都像你說的那樣的
至少STC15W408AS不是,在數據手冊中并沒有讀取EEPROM內部參考電壓的例程
而且,下載那是你選擇之后會把參考電壓值寫入RAM,但并沒有說明那是精確的內部參考電壓
還有,如果是已經有了,那么,數據手冊中強調的一定要很精準的電源來干嘛?不是多此一舉嗎?
我讀取過程序存儲器最后的內部電壓,用來作為低電壓檢測功能,并不準確
所以,我現在用來DIY的單片機選擇了STC8G系列,這個系列的內部參考電壓是相對準確的
回復

使用道具 舉報

21#
ID:839875 發表于 2021-9-13 12:14 | 只看該作者
adc的基準電壓就是您單片機的供電電壓,所以供電電壓必須穩定
回復

使用道具 舉報

22#
ID:624769 發表于 2021-9-13 15:20 | 只看該作者
Y_G_G 發表于 2021-8-6 12:34
STC的單片機并不是都像你說的那樣的
至少STC15W408AS不是,在數據手冊中并沒有讀取EEPROM內部參考電壓的 ...

看你們挖墳挖的不亦樂乎,我也來兩鏟子,

STC15系列,已經有讀取內部參考電壓了,和8系列一樣,可以從RAM讀,也可以從CODE 讀,只不過,本來是記錄在ISP里面的,下載時夠選 末尾添加重要參數,才會寫入Code區,當然,不管是否寫入,單片機開機后,都能第一時間從RAM中讀出來,因為是兩個字節終究是需要讀出來再加工的,所以,我一般懶得再去CODE繞了,開機先用指針把基準電壓處理一下換個地方存好備用就是了。
關于準不準的問題,STC15系列,STC8系列都是 出廠時校準過的,我手里8PCS 15W408AS, 和30PCS 15W204S 其他一兩片的型號就不舉例了,分別讀取它們的出廠基準電壓,發現并不是完全相同的,說明確實是實際測量后寫入的,而不是隨便給個參考值。
而強調“精準電源”是基于你不用內部基準電壓校準的前提下。要是按你所說的邏輯去分析的話,STC8A 系列,STC8H系列,為什么還要外部基準電壓輸入引腳?是因為,STC8系列做到這些這些型號了,內部參考電壓反而不如8F系列 8G系列精準了?
回復

使用道具 舉報

23#
ID:151846 發表于 2024-2-3 08:26 | 只看該作者
Y_G_G 發表于 2020-9-14 11:28
這0.15V的誤差是制造誤差,并不是精度誤差,要區分
單片機本身的ADC精度依然是保持著10ADC的精度,但BandGa ...

燒錄stc15w單片機時不是有基準電壓顯示嗎?
回復

使用道具 舉報

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

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲精品99 | 精品久久99 | 91精品国产91久久久久久 | 91色视频在线 | 日韩中文不卡 | 91久久| 亚洲超碰在线观看 | 毛片网在线观看 | 亚洲一区二区三区四区五区中文 | 操操日| 91av在线视频观看 | 亚洲成a人片| 精品久久久网站 | 精品久久亚洲 | 欧美激情在线精品一区二区三区 | 男女羞羞视频大全 | 精品欧美一区免费观看α√ | 欧美日韩在线看 | 国产视频91在线 | 国产精品久久久久久久久久久新郎 | 中文字幕第一页在线 | 精品国产一区二区在线 | 超级碰在线 | 亚洲欧美日韩网站 | 久久久女女女女999久久 | 精品国产一区二区三区性色av | 久久伊人精品一区二区三区 | 国产综合视频 | 中文字幕国产 | 成人av一区二区亚洲精 | 欧美一区二区三区四区在线 | 久草在线青青草 | 日韩久久久久久 | av毛片 | 亚洲人成人一区二区在线观看 | 中文字幕爱爱视频 | 国产精品视频二区三区 | 三级黄色片在线观看 | 国产伦精品一区二区三毛 | 久久伊人精品一区二区三区 | 亚洲精品在线观 |