![]() |
發布時間: 2022-6-30 19:29
正文摘要:有一個負載需要監控電流 精度需要精確到0.1MA-0.01MA的程度 使用ACS712試一試,感覺是沒問題的 至少在用萬用表測的時候沒有問題 然后使用STC8 AD采集 發現AD值一直在波動,波動幅度還很大 并了一個104電容效果 ... |
一夜暴富 發表于 2022-7-4 19:51 ![]() |
Hephaestus 發表于 2022-7-4 19:26 隔離用串口光耦可以詳細說一下嗎,有點不是很理解,感謝! |
一夜暴富 發表于 2022-7-4 19:01 你要精度那么高還不如直接上采樣電阻,如果需要隔離,那就單片機處理完畢后用串口光耦把數據傳出來。 |
wulin 發表于 2022-7-1 20:21 感謝,那天是我口胡說錯了。非常抱歉 讓大佬費心查看資料了 其實我想說的是10ma左右的誤差都是可以接受的 我看了下,大概有50ma左右的誤差 還勉強可以靠軟件中值中衡一下 |
17337161031 發表于 2022-7-1 19:26 一般AD采集布線有什么原則需要遵循嗎,大佬能否細說一下 |
Y_G_G 發表于 2022-7-1 18:56 ![]() 10ma我試了下,精度還勉強可以接受,加了RC濾波后跳變也比較穩定 |
STC8系列單片機的ADC最高12位,理論上只能檢出最小1mV電壓(但實際是做不到的)。ACS712流過0.1mA電流只能輸出0.0185mV電壓,遠小于單片機ADC分辨率。根據手冊,ACS712零電流輸出電壓=1/2VCC。樓主“測出來的數是在0.00 0.03 0.12 0.20這四個數之間跳來跳去”說明硬件選擇和軟件編寫都存在問題。
![]() ![]() |
硬件過程中的那一部分布線可能也會影響 |
一夜暴富 發表于 2022-7-1 09:41 我的意思是ACS712不能檢測到那么高精度的電流(OUTPUT輸出是有問題的!!!!!!!!!) 單片機不能用ACS712檢測到0.1mA的電流 你的單片機ADC出來的值只是ADC誤差和干擾而已,跟電流壓根就沒有關系 你的理解,跟我說的,壓根就是相反的! 如果是正負5A量程ACS712,那么,1A的輸出電壓就是185mV 0.1mA的輸出就是185/10000=0.0185mV=18.5uV 你去看一下單片機的分辨率,你覺得還能測量到這么小的電流嗎? 我不知道你"感覺沒有問題"的依據是什么 |
Y_G_G 發表于 2022-6-30 23:37 您的意思是,OUTPUT輸出是沒問題的,主要還是因為AD受到外部干擾了所以才跳動嗎? |
Hephaestus 發表于 2022-6-30 21:13 你好,我試過了。如果用穩壓源直接輸入2.5V,他只會變化0.01V這樣子。 但是用芯片的OUTPUT,就會波動的厲害 |
因為我不會英文,所以,以為這個是內置取樣電阻的采樣芯片 但這原理是一樣的 你看數據手冊就可以計算出0.1mA能輸出的電壓有多少了 可以認為,acs712基本沒有電壓輸出,單片機的ADC結果不過是ADC誤差和基點一定干擾的結果而已,跟電流一點關系都沒有 這個是acs712量程對應的輸出電壓 你參考一下 ![]() |
Hephaestus 發表于 2022-6-30 23:24 好的,你是對的 |
Y_G_G 發表于 2022-6-30 23:17 說話要嚴禁,霍爾傳感器哪來的取樣電阻,只要是導線就有電阻,1.2 mΩ只是導線電阻而已。 |
這個IC內部的取樣電阻是1.2 mΩ 你用來測量0.01mA的電流,你計算過這個電流在在1.2 mΩ 上能有多少壓降嗎? 5A的時候,這個芯片的輸出電壓是185mV,那0.1mA的時候,輸出會是多少呢? 我感覺你單片機ADC結果跳動的數據只是外部的一點干擾而已,跟電流一點關系都沒有 你可以試一下測量一個300mA或者1A的電流,驗證一下程序 |
去掉ACS712 兩個電阻分壓得到你想要的電壓,并聯104電容到這個電壓上 把這個電壓連接到單片機 觀察是否還有跳變。 單片機本身是個大規模數字電路,是模擬信號的強干擾源,內部集成的ADC有跳變是正常的,能穩定才奇怪了。 |