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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1671|回復: 27
打印 上一主題 下一主題
收起左側(cè)

STC單片機用鋰電池供電讀電壓問題?

  [復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:322939 發(fā)表于 2024-8-29 20:10 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
STC用鋰電池供電并讀取電壓時會出現(xiàn)AD數(shù)據(jù)偏差大或不穩(wěn)定,根本識別不了,如果用5V供電就沒問題,不知道各位大佬有沒遇到過?是否有方法解決?請看下面硬件線路是否合理?

df16ed809e02dfd8efd657e088b5cc4.jpg (447.33 KB, 下載次數(shù): 15)

df16ed809e02dfd8efd657e088b5cc4.jpg
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:879348 發(fā)表于 2024-8-30 08:13 | 只看該作者
因為STC沒有內(nèi)部參考,當負載變化,ADC也會變化,最簡單的是供電2.5V LDO
不加也可以同時間讀取15通道,計算轉(zhuǎn)化一下
回復

使用道具 舉報

板凳
ID:1034262 發(fā)表于 2024-8-30 09:50 | 只看該作者
如果電池是接在單片機的VCC上,則讀ADC的15通道得到adc15,計算得到VCC電壓:
VCC = 1.19*1024/adc15,不需要外部電路,非常方便,準確度高。如果你的VCC波動大,加數(shù)字濾波即可穩(wěn)定。
回復

使用道具 舉報

地板
ID:277550 發(fā)表于 2024-8-30 09:57 | 只看該作者
哪個系列的單片機  
電路中其他的外設(shè)有多大影響

等等因素
回復

使用道具 舉報

5#
ID:322939 發(fā)表于 2024-8-30 13:56 | 只看該作者
這個型號的芯片讀內(nèi)部基準電壓沒有15通道 ,只能讀ROM,RAM和CHIPID這3種方式,真麻煩。
回復

使用道具 舉報

6#
ID:332444 發(fā)表于 2024-8-30 14:03 | 只看該作者
從外面建立比較電路作為開關(guān)量送給單片機或是光耦信號給單片機可參https://blog.csdn.net/xianfajush ... 1018.2226.3001.4450
回復

使用道具 舉報

7#
ID:401564 發(fā)表于 2024-8-30 14:32 | 只看該作者
LAW1100 發(fā)表于 2024-8-30 13:56
這個型號的芯片讀內(nèi)部基準電壓沒有15通道 ,只能讀ROM,RAM和CHIPID這3種方式,真麻煩。

圖片上的是STC8H1K08,這款是有內(nèi)部穩(wěn)定的參考電壓的
回復

使用道具 舉報

8#
ID:322939 發(fā)表于 2024-8-30 14:54 | 只看該作者

8H的是讀內(nèi)存里的電壓

51hei圖片_20240830145341.jpg (678.7 KB, 下載次數(shù): 15)

51hei圖片_20240830145341.jpg
回復

使用道具 舉報

9#
ID:322939 發(fā)表于 2024-8-30 16:07 | 只看該作者
用5V供電ADC讀出來沒問題,用電池供電讀出來卻是0
回復

使用道具 舉報

10#
ID:624769 發(fā)表于 2024-8-30 21:45 | 只看該作者
電池供電的話,直接讀15通道,就能算出電池電壓了.
回復

使用道具 舉報

11#
ID:322939 發(fā)表于 2024-8-31 08:40 | 只看該作者
188610329 發(fā)表于 2024-8-30 21:45
電池供電的話,直接讀15通道,就能算出電池電壓了.

沒用過這功能,
unigned int Temp=0;
unigned int  sum=0;
float voltage=0.0;
Temp=Get_Adc(15);//此數(shù)值17440(這是在5V供電下調(diào)試打印出來的數(shù)值)
voltage=(float)(1.19*1024)/Temp*100;放大100倍
voltage結(jié)果等于0.846V;這是VCC電壓??
回復

使用道具 舉報

12#
ID:322939 發(fā)表于 2024-8-31 08:41 | 只看該作者
ADC15通道能測量VCC電壓,那測量其它通道(如電流取樣電壓)是否可以測量?
回復

使用道具 舉報

13#
ID:624769 發(fā)表于 2024-8-31 09:26 | 只看該作者
LAW1100 發(fā)表于 2024-8-31 08:40
沒用過這功能,
unigned int Temp=0;
unigned int  sum=0;

STC8H 系列是 12位ADC  ADC讀值應(yīng)該是在 0~4095 之間,你17440是怎么來的?
正常情況下,讀取15通道,根據(jù)你電池供電電壓的不同,應(yīng)該得到 1100~1300左右的值,讀取 BGV 記錄得到 15通道電壓為:1193mv 左右的出廠測定的電壓值, 按 ADCValue 1300 為 1193mv 就可以逆算出 滿量程 4095 對應(yīng)的電源電壓為:3758mv
回復

使用道具 舉報

14#
ID:322939 發(fā)表于 2024-8-31 15:17 | 只看該作者
188610329 發(fā)表于 2024-8-31 09:26
STC8H 系列是 12位ADC  ADC讀值應(yīng)該是在 0~4095 之間,你17440是怎么來的?
正常情況下,讀取15通道,根 ...

我是用串口打印出來的(17440),8H系列AD有兩種,10位和12位,網(wǎng)上有的算法是分開算的(如AD10位就讀1024,12位的讀4096),不知能不能測量其它通道的電壓?如果不行就轉(zhuǎn)芯片了。多謝!
回復

使用道具 舉報

15#
ID:322939 發(fā)表于 2024-8-31 15:18 | 只看該作者
感謝各位大佬的意見!
回復

使用道具 舉報

16#
ID:322939 發(fā)表于 2024-8-31 15:36 | 只看該作者
unigned int Temp=0;
unigned int  sum=0;
float voltage=0.0;
unigned chai  i;
for(i=0;i<32;i++)
{
Temp+=Get_Adc(15);//
}
Temp= Temp>>5;//此數(shù)值濾波后2040(這是在5V供電下調(diào)試打印出來的數(shù)值)
voltage=(float)(1.19*4095)/Temp;
voltage結(jié)果等于2.38875V;如果這是VCC電壓那就相差太遠了,不知是不是算法問題還是其它問題?
回復

使用道具 舉報

17#
ID:624769 發(fā)表于 2024-9-1 19:31 | 只看該作者
LAW1100 發(fā)表于 2024-8-31 15:36
unigned int Temp=0;
unigned int  sum=0;
float voltage=0.0;

除非你的供電電池 真的是2.4V 電池,不然,你的代碼100%有問題,正常鋰電池供電 讀取15通道,瀆值應(yīng)當是 1200左右的, 你能讀出 2040 那么代碼肯定不對,就好像你之前說 讀出來17440 一樣,你還是仔細檢查你的代碼吧,不用折騰那些有的沒有的所謂濾波,你先確保你 ADC_Value 讀出來的東西 是對的。
回復

使用道具 舉報

18#
ID:401564 發(fā)表于 2024-9-2 00:13 | 只看該作者
LAW1100 發(fā)表于 2024-8-31 15:36
unigned int Temp=0;
unigned int  sum=0;
float voltage=0.0;

unigned int Temp=0;這個聲明看一下
你就知道怎么回事了
12位數(shù)據(jù)累加32次,會不會溢出呢?
回復

使用道具 舉報

19#
ID:71955 發(fā)表于 2024-9-2 22:02 來自手機 | 只看該作者
亮出你封裝的Get_Adc(15)函數(shù)就一目了然了,15通道ADc好像是二進過制1111,你搞個15上去是什么意思呢
回復

使用道具 舉報

20#
ID:71955 發(fā)表于 2024-9-2 22:34 | 只看該作者
不好意思小弟不才,忘記自己是初學者亂回復.15就是1111
回復

使用道具 舉報

21#
ID:322939 發(fā)表于 2024-9-3 14:42 | 只看該作者
15通道除了測量VCC外,不知能不能測其它通道的電壓?
回復

使用道具 舉報

22#
ID:1128898 發(fā)表于 2024-9-3 19:21 | 只看該作者
可能是封裝問題
回復

使用道具 舉報

23#
ID:541750 發(fā)表于 2024-9-4 11:12 | 只看該作者
你好,我看到你STC 1.19V基準電壓問題,后面解決了嗎?我也碰到這個問題了,能否向你請教 一下, 我的VX  13757468658
回復

使用道具 舉報

24#
ID:541750 發(fā)表于 2024-9-4 11:13 | 只看該作者
你好,我看到你STC 1.19V基準電壓問題,后面解決了嗎?我也碰到這個問題了,能否向你請教 一下,我輸入5V,測試出來輸出 為什么只有3.0V
回復

使用道具 舉報

25#
ID:541750 發(fā)表于 2024-9-4 12:22 | 只看該作者
#define ADC_Power 0x8f        //ê1ÄüADCÄ£¿é                ′ò¿aADC                ½«ADCòy½ÅéèÖÃμ½P55
#define ADC_Start 0x40        //¿aê¼ADC×a»»
#define ADC_Flag 0x20        //×a»»íê3é±ê־λ
#define ADC_SYS 0x2f        //½«ADCÏμí3ê±Öóé趨ÎaSYSclk/2/16  óò¶ÔÆë

unsigned int VDDA; // VDDAμÄμçÑ1Öμ μ¥λoá·ü
unsigned int *BGV; // Äú2¿2ο¼μçÑ1Öμ μ¥λoá·ü

void AD_Init()
{
//        ADC_RES = 0;
//        ADC_RESL = 0;
        P_SW2|= 0x80;
        ADCTIM=0x3f;
        P_SW2 &= 0x7f;
        ADCCFG=ADC_SYS;
        ADC_CONTR=ADC_Power;
        BGV = (unsigned int idata *)0xef;
        delay_ms(1);       
}

unsigned int ADC_Get()
{       
        unsigned int res;
        ADC_CONTR |= ADC_Start;
//        ADCCFG=ADC_SYS;
    _nop_();
    _nop_();
    _nop_();
    while((ADC_CONTR & ADC_Flag) == 0);   //μè′yíê3é
    ADC_CONTR &= ~ADC_Flag;     //Çå3yíê3é±ê־λ
        res =((unsigned int)ADC_RES << 8) | ADC_RESL;
        return res;

}

void Fetch_VDDA(void)
{
  unsigned int res=0;
  unsigned char i;

  ADC_CONTR = ADC_Power; // ê1ÄüADCÄ£¿é 2¢Ñ¡Ôñμú15í¨μà
  ADC_Get();
  ADC_Get();
  for(i=0;i<8;i++)
  {
    res+=ADC_Get();
  }
  res>>=3; // ¶áè¡8′Î è¡Æ½¾ùÖμ
  VDDA = (unsigned int)(1023L*(*BGV/res)); // μÃ3öμĽá1ûμ¥λêÇoá·ü
}
回復

使用道具 舉報

26#
ID:541750 發(fā)表于 2024-9-4 12:22 | 只看該作者
這個代碼測試出來的電壓是3069,錯在哪里?
回復

使用道具 舉報

27#
ID:71955 發(fā)表于 2024-9-4 23:26 來自手機 | 只看該作者
VDDA = (unsigned int)(1023L*(*BGV/res));改成VDDA = (unsigned int)(1023L*(1190/res));可以了。8H不支持內(nèi)存讀內(nèi)部參考電壓參
回復

使用道具 舉報

28#
ID:322939 發(fā)表于 2024-9-6 09:46 | 只看該作者
如果只能測量15通道VDD電壓而不能測量其它通道電壓,那就不合適這個項目,只能轉(zhuǎn)其它芯片了,多謝各位了!
回復

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲一区二区久久 | 日本色综合 | 久热国产在线 | 精品一二三区在线观看 | 亚洲综合久久精品 | 永久免费av| 中文字幕一区二区三区不卡 | 国产精品69毛片高清亚洲 | 五月槐花香 | 久久视频精品在线 | 国产福利在线播放 | 精品久久国产 | 亚洲视频免费在线观看 | 精品国产黄色片 | 久热久| 精品亚洲国产成av人片传媒 | 99精品视频在线 | 久久久91精品国产一区二区三区 | 亚洲精品丝袜日韩 | 日韩欧美在线视频 | 亚洲成人国产 | 黑人精品欧美一区二区蜜桃 | 日韩一区精品 | 一级做a爰片性色毛片16 | 日韩高清三区 | 日韩精品一区中文字幕 | 特黄特色大片免费视频观看 | 久久一起草 | av片网| 亚洲图片视频一区 | 国产精品91久久久久久 | 欧美精品一区二区在线观看 | 日本久久精 | 国产高清精品一区二区三区 | 久久久久久高潮国产精品视 | 亚洲精品一二三区 | 精品在线一区二区三区 | 成人av高清 | 日韩一| 欧美aa在线| 亚洲播放一区 |