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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 5270|回復(fù): 16
打印 上一主題 下一主題
收起左側(cè)

使用單片機(jī)ACS712芯片測(cè)電流AD值一直跳變?

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
有一個(gè)負(fù)載需要監(jiān)控電流
精度需要精確到0.1MA-0.01MA的程度
使用ACS712試一試,感覺(jué)是沒(méi)問(wèn)題的
至少在用萬(wàn)用表測(cè)的時(shí)候沒(méi)有問(wèn)題
然后使用STC8 AD采集
發(fā)現(xiàn)AD值一直在波動(dòng),波動(dòng)幅度還很大
并了一個(gè)104電容效果不大
軟件上技術(shù)欠佳,也不知道該怎么濾波比較好。
電流實(shí)際情況在0.16ma的時(shí)候
測(cè)出來(lái)的數(shù)據(jù)反而是在0.00 0.03 0.12 0.20這四個(gè)數(shù)之間跳來(lái)跳去
電路圖和單片機(jī)代碼如下


單片機(jī)源程序如下:
  1. #include<STC8.H>
  2. #include "LCDINT.h"
  3. #include "LCD.h"
  4. #include "PIC.h"
  5. #include "intrins.h"
  6.         float t;
  7.   float p;
  8.   float u;



  9. #define ADCTIM  (*(unsigned char volatile xdata *)0xfea8)

  10. int main(void)
  11. {
  12.     P0M0 = 0x00;
  13.     P0M1 = 0x00;
  14.     P2M0 = 0x00;
  15.     P2M1 = 0x00;
  16.     P3M0 = 0x00;
  17.     P3M1 = 0x00;
  18.     P1M0 = 0x00;                                //設(shè)置P1.0為ADC口
  19.     P1M1 = 0x01;
  20.                 ADCCFG = 0x0f;                              //設(shè)置ADC時(shí)鐘為系統(tǒng)時(shí)鐘/2/16
  21.     P_SW2 |= 0x80;
  22.     ADCTIM = 0x3f;                              //設(shè)置ADC內(nèi)部時(shí)序
  23.     P_SW2 &= 0x7f;
  24.           ADC_CONTR = 0x80;                           //使能ADC模塊
  25.         LCD_Init();//LCD初始化
  26.         LCD_Fill(0,0,LCD_W,LCD_H,BLACK);
  27.         while(1)
  28.         {
  29.         ADC_CONTR |= 0x40;                      //啟動(dòng)AD轉(zhuǎn)換
  30.         _nop_();
  31.         _nop_();
  32.         while (!(ADC_CONTR & 0x20));            //查詢ADC完成標(biāo)志
  33.         ADC_CONTR &= ~0x20;                     //清完成標(biāo)志
  34.         t = ADC_RES;                           //讀取ADC結(jié)果
  35.         p=t/256*3300;
  36.                  if(p<=2475)
  37.                  {p=2475;}

  38.        u=(p-2475)/185;
  39.         _nop_();
  40.         _nop_();
  41.                 LCD_ShowChinese(60,70,"電子",WHITE ,BLACK,32,0);
  42.                 LCD_ShowString(32,100,"cccc",RED,BLACK,16,0);
  43.           LCD_ShowIntNum(120,100,p,4,RED,BLACK,16);
  44.                 LCD_ShowFloatNum1(90,130,u,4,RED,BLACK,16);
  45.                 LCD_ShowPicture(40,120,40,40,gImage_1);
  46.                         }
  47.                 }

復(fù)制代碼



分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:883242 發(fā)表于 2022-6-30 21:13 | 只看該作者
去掉ACS712
兩個(gè)電阻分壓得到你想要的電壓,并聯(lián)104電容到這個(gè)電壓上
把這個(gè)電壓連接到單片機(jī)
觀察是否還有跳變。

單片機(jī)本身是個(gè)大規(guī)模數(shù)字電路,是模擬信號(hào)的強(qiáng)干擾源,內(nèi)部集成的ADC有跳變是正常的,能穩(wěn)定才奇怪了。
回復(fù)

使用道具 舉報(bào)

板凳
ID:401564 發(fā)表于 2022-6-30 23:17 | 只看該作者
這個(gè)IC內(nèi)部的取樣電阻是1.2 mΩ
你用來(lái)測(cè)量0.01mA的電流,你計(jì)算過(guò)這個(gè)電流在在1.2 mΩ 上能有多少壓降嗎?
5A的時(shí)候,這個(gè)芯片的輸出電壓是185mV,那0.1mA的時(shí)候,輸出會(huì)是多少呢?
我感覺(jué)你單片機(jī)ADC結(jié)果跳動(dòng)的數(shù)據(jù)只是外部的一點(diǎn)干擾而已,跟電流一點(diǎn)關(guān)系都沒(méi)有
你可以試一下測(cè)量一個(gè)300mA或者1A的電流,驗(yàn)證一下程序
回復(fù)

使用道具 舉報(bào)

地板
ID:883242 發(fā)表于 2022-6-30 23:24 | 只看該作者
Y_G_G 發(fā)表于 2022-6-30 23:17
這個(gè)IC內(nèi)部的取樣電阻是1.2 mΩ
你用來(lái)測(cè)量0.01mA的電流,你計(jì)算過(guò)這個(gè)電流在在1.2 mΩ 上能有多少壓降嗎? ...

說(shuō)話要嚴(yán)禁,霍爾傳感器哪來(lái)的取樣電阻,只要是導(dǎo)線就有電阻,1.2 mΩ只是導(dǎo)線電阻而已。
回復(fù)

使用道具 舉報(bào)

5#
ID:401564 發(fā)表于 2022-6-30 23:30 | 只看該作者
Hephaestus 發(fā)表于 2022-6-30 23:24
說(shuō)話要嚴(yán)禁,霍爾傳感器哪來(lái)的取樣電阻,只要是導(dǎo)線就有電阻,1.2 mΩ只是導(dǎo)線電阻而已。

好的,你是對(duì)的
回復(fù)

使用道具 舉報(bào)

6#
ID:401564 發(fā)表于 2022-6-30 23:37 | 只看該作者
因?yàn)槲也粫?huì)英文,所以,以為這個(gè)是內(nèi)置取樣電阻的采樣芯片
但這原理是一樣的
你看數(shù)據(jù)手冊(cè)就可以計(jì)算出0.1mA能輸出的電壓有多少了
可以認(rèn)為,acs712基本沒(méi)有電壓輸出,單片機(jī)的ADC結(jié)果不過(guò)是ADC誤差和基點(diǎn)一定干擾的結(jié)果而已,跟電流一點(diǎn)關(guān)系都沒(méi)有
這個(gè)是acs712量程對(duì)應(yīng)的輸出電壓
你參考一下


回復(fù)

使用道具 舉報(bào)

7#
ID:887186 發(fā)表于 2022-7-1 09:39 | 只看該作者
Hephaestus 發(fā)表于 2022-6-30 21:13
去掉ACS712
兩個(gè)電阻分壓得到你想要的電壓,并聯(lián)104電容到這個(gè)電壓上
把這個(gè)電壓連接到單片機(jī)

你好,我試過(guò)了。如果用穩(wěn)壓源直接輸入2.5V,他只會(huì)變化0.01V這樣子。
但是用芯片的OUTPUT,就會(huì)波動(dòng)的厲害
回復(fù)

使用道具 舉報(bào)

8#
ID:887186 發(fā)表于 2022-7-1 09:41 | 只看該作者
Y_G_G 發(fā)表于 2022-6-30 23:37
因?yàn)槲也粫?huì)英文,所以,以為這個(gè)是內(nèi)置取樣電阻的采樣芯片
但這原理是一樣的
你看數(shù)據(jù)手冊(cè)就可以計(jì)算出0.1m ...

您的意思是,OUTPUT輸出是沒(méi)問(wèn)題的,主要還是因?yàn)锳D受到外部干擾了所以才跳動(dòng)嗎?
回復(fù)

使用道具 舉報(bào)

9#
ID:401564 發(fā)表于 2022-7-1 18:56 | 只看該作者
一夜暴富 發(fā)表于 2022-7-1 09:41
您的意思是,OUTPUT輸出是沒(méi)問(wèn)題的,主要還是因?yàn)锳D受到外部干擾了所以才跳動(dòng)嗎?

我的意思是ACS712不能檢測(cè)到那么高精度的電流(OUTPUT輸出是有問(wèn)題的!!!!!!!!!)
單片機(jī)不能用ACS712檢測(cè)到0.1mA的電流
你的單片機(jī)ADC出來(lái)的值只是ADC誤差和干擾而已,跟電流壓根就沒(méi)有關(guān)系
你的理解,跟我說(shuō)的,壓根就是相反的!

如果是正負(fù)5A量程ACS712,那么,1A的輸出電壓就是185mV
0.1mA的輸出就是185/10000=0.0185mV=18.5uV
你去看一下單片機(jī)的分辨率,你覺(jué)得還能測(cè)量到這么小的電流嗎?
我不知道你"感覺(jué)沒(méi)有問(wèn)題"的依據(jù)是什么
回復(fù)

使用道具 舉報(bào)

10#
ID:329625 發(fā)表于 2022-7-1 19:26 | 只看該作者
硬件過(guò)程中的那一部分布線可能也會(huì)影響
回復(fù)

使用道具 舉報(bào)

11#
ID:213173 發(fā)表于 2022-7-1 20:21 | 只看該作者
STC8系列單片機(jī)的ADC最高12位,理論上只能檢出最小1mV電壓(但實(shí)際是做不到的)。ACS712流過(guò)0.1mA電流只能輸出0.0185mV電壓,遠(yuǎn)小于單片機(jī)ADC分辨率。根據(jù)手冊(cè),ACS712零電流輸出電壓=1/2VCC。樓主“測(cè)出來(lái)的數(shù)是在0.00 0.03 0.12 0.20這四個(gè)數(shù)之間跳來(lái)跳去”說(shuō)明硬件選擇和軟件編寫(xiě)都存在問(wèn)題。

ACS712.pdf (642.19 KB, 下載次數(shù): 10)


回復(fù)

使用道具 舉報(bào)

12#
ID:887186 發(fā)表于 2022-7-4 19:00 | 只看該作者
Y_G_G 發(fā)表于 2022-7-1 18:56
我的意思是ACS712不能檢測(cè)到那么高精度的電流(OUTPUT輸出是有問(wèn)題的!!!!!!!!!)
單片機(jī)不能用ACS712檢測(cè) ...

sorry!大哥,我說(shuō)錯(cuò)了,是10ma的精度,不是0.1ma,怪我說(shuō)錯(cuò)了。
10ma我試了下,精度還勉強(qiáng)可以接受,加了RC濾波后跳變也比較穩(wěn)定
回復(fù)

使用道具 舉報(bào)

13#
ID:887186 發(fā)表于 2022-7-4 19:00 | 只看該作者
17337161031 發(fā)表于 2022-7-1 19:26
硬件過(guò)程中的那一部分布線可能也會(huì)影響

一般AD采集布線有什么原則需要遵循嗎,大佬能否細(xì)說(shuō)一下
回復(fù)

使用道具 舉報(bào)

14#
ID:887186 發(fā)表于 2022-7-4 19:01 | 只看該作者
wulin 發(fā)表于 2022-7-1 20:21
STC8系列單片機(jī)的ADC最高12位,理論上只能檢出最小1mV電壓(但實(shí)際是做不到的)。ACS712流過(guò)0.1mA電流只能 ...

感謝,那天是我口胡說(shuō)錯(cuò)了。非常抱歉
讓大佬費(fèi)心查看資料了
其實(shí)我想說(shuō)的是10ma左右的誤差都是可以接受的
我看了下,大概有50ma左右的誤差
還勉強(qiáng)可以靠軟件中值中衡一下
回復(fù)

使用道具 舉報(bào)

15#
ID:883242 發(fā)表于 2022-7-4 19:26 | 只看該作者
一夜暴富 發(fā)表于 2022-7-4 19:01
感謝,那天是我口胡說(shuō)錯(cuò)了。非常抱歉
讓大佬費(fèi)心查看資料了
其實(shí)我想說(shuō)的是10ma左右的誤差都是可以接受 ...

你要精度那么高還不如直接上采樣電阻,如果需要隔離,那就單片機(jī)處理完畢后用串口光耦把數(shù)據(jù)傳出來(lái)。
回復(fù)

使用道具 舉報(bào)

16#
ID:887186 發(fā)表于 2022-7-4 19:51 | 只看該作者
Hephaestus 發(fā)表于 2022-7-4 19:26
你要精度那么高還不如直接上采樣電阻,如果需要隔離,那就單片機(jī)處理完畢后用串口光耦把數(shù)據(jù)傳出來(lái)。

隔離用串口光耦可以詳細(xì)說(shuō)一下嗎,有點(diǎn)不是很理解,感謝!
回復(fù)

使用道具 舉報(bào)

17#
ID:883242 發(fā)表于 2022-7-4 19:59 | 只看該作者
一夜暴富 發(fā)表于 2022-7-4 19:51
隔離用串口光耦可以詳細(xì)說(shuō)一下嗎,有點(diǎn)不是很理解,感謝!


回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 久久久亚洲精品视频 | 精品欧美色视频网站在线观看 | 日韩精品一区二区久久 | 免费一级黄色录像 | 久久国产日韩 | 一二三区在线 | 国产成人综合亚洲欧美94在线 | 国产精品美女久久久久aⅴ国产馆 | 四季久久免费一区二区三区四区 | av网站在线免费观看 | 色综合久久久 | 色综合视频 | 免费观看一级特黄欧美大片 | 中文字幕亚洲一区 | 亚洲人成人一区二区在线观看 | 欧美久久一区二区三区 | 久久久精品影院 | 亚洲精品在线播放 | 久久精品中文 | 久久一区二区三区四区 | 精品久| 中文字幕在线免费观看 | 瑟瑟视频在线看 | 黄色成人免费看 | 久久99精品久久久久久国产越南 | 最新免费视频 | 欧美综合国产精品久久丁香 | 日本成人免费观看 | 久久国际精品 | 亚洲视频精品 | 精品一区二区三区四区在线 | 午夜影院在线观看 | 亚洲视频在线免费 | 久久久久国产精品午夜一区 | 国产欧美视频一区二区三区 | 在线只有精品 | 日韩成人免费视频 | 亚洲精品久久久久久久不卡四虎 | 国产精品视频播放 | 亚洲综合电影 | 国内精品一区二区 |