极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

楼主: galaxy

使用 u8g 庫 + 5110 顯示器 + ADS1115 (16 bit ADC) 的電壓電壓流表

[复制链接]
 楼主| 发表于 2017-9-29 11:05:42 | 显示全部楼层
yuqingshan 发表于 2017-9-29 09:55
谢谢楼主分享好资源!请楼主可否分享测量电压、电流的电路?我用MEGA ADK +ADS1015结果显示是V=3.***,I=32. ...

不好意思原電路搞丟了,有空畫好再 PO上來.
這電路無法和待測電路共電~會量不準的!!
1.跳動的問題...好像是你的地沒有接好。
  (多少都會跳動,只是跳得厲不厲害...若要像電表那樣穩定就難了,就要加微積分電路了,這就難倒我了)

2.分壓分流的電阻要慎選!! (這也會影響跳動)
   分壓電阻最好使用  0.1% 的誤差 溫度飄移 25 ppm

3.分流電阻  使用的是 VISHAY WSR5R0150FEA  0.015Ω ±1% ±20ppm/℃ 5W
  原先是使用 0.01Ω 5W 普通的電阻 (約350 ppm),因為跳動問題才改用  VISHAY 20ppm的電阻

儀表真的很不好搞,在校正的過程還動用到 四線式電表 (HP 34401A) 來校正
回复 支持 反对

使用道具 举报

发表于 2017-9-29 12:38:12 | 显示全部楼层
galaxy 发表于 2017-9-29 11:05
不好意思原電路搞丟了,有空畫好再 PO上來.
這電路無法和待測電路共電~會量不準的!!
1.跳動的問題...好 ...

谢谢楼主!本来拍ADS1015的商家也有一些资料:adafruit-4-channel-adc-breakouts.pdf;ads1115.pdf 无奈自己水平太烂,E文还是看不踏实,测量电压、电流的例程又不清楚。现在想用锂电做个简单带显示的实验电源。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-9-30 21:57:04 | 显示全部楼层
>>你的单片机是什么型号的?
我使用的是 arduino nano   328P (5V 的版本)

>>为什么精度是*0.1875
這...真的忘了,給我一點時間查一下為什麼用 0.1875 ???
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-9-30 22:26:14 | 显示全部楼层
本帖最后由 galaxy 于 2017-9-30 22:52 编辑
15156883102 发表于 2017-9-30 15:19
非常感谢楼主的热情分享。我最近也是在看这方面的资料。我的adc1015接的是arduino nano上的3.3v,我是按* ...


我查了一下 adc1015的規格...

特徵
超小型X2QFN封裝:2 mm×1.5 mm×0.4 mm
12位無噪聲分辨率
寬電源範圍:2.0 V至5.5 V
低電流消耗:150μA(連續轉換模式)
可編程數據速率:128 SPS至3.3 kSPS
單循環結算
內部低漂移電壓基準
內部振盪器
I 2 C接口:四個引腳可選地址
四路單端或兩路差分輸入(ADS1015)
可編程比較器(ADS1014和ADS1015)
工作溫度範圍:-40°C至+ 125°C

輸入範圍(最小)(V)   0
輸入範圍(最大)(V)   5.5
-----------------------------------------------------------------------------

以妳的用法 adc1015 是使用 3.3V 的電壓那 AIN0 ~ AIN3 的輸入測量電壓就不能高過 3.3V (adc1015的供電電壓)。 若高過 3.3V 可能會損壞 adc1015,或是會量不準。  小心一點使用,畢竟這模塊也不便宜

*3mV .....範例在程序中是最大值了,別再上去了,會損壞 adc1015的

   // The ADC input range (or gain) can be changed via the following
   // functions, but be careful never to exceed VDD +0.3V max, or to
   // exceed the upper and lower limits if you adjust the input range!
   // Setting these values incorrectly may destroy your ADC!


//
-  // ads1015.setGain(GAIN_TWOTHIRDS);  // 2/3x gain +/- 6.144V  1 bit = 3mV (default)
+  //                                                                ADS1015  ADS1115
+  //                                                                -------  -------
+  // ads.setGain(GAIN_TWOTHIRDS);  // 2/3x gain +/- 6.144V  1 bit = 3mV      0.1875mV (default)
------------------------------------------------------------------------------------------------------------------------------

我想起來了,當初一開始就 0.1875 來試~ 結果誤差不是很大(有用 HP 34401A來校正)...就這樣一路用下來了

提醒妳 : 分壓 , 分流電阻要用低溫漂的電阻(會比較貴)....不然跳動問題會讓妳會瘋掉的
儀表真的很不好搞,那時候解決一個問題後又出現另一個問題...搞到快瘋掉了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-10-1 16:26:42 | 显示全部楼层
本帖最后由 galaxy 于 2017-10-1 17:08 编辑

以下這些網址是我當初參考外國人的~~

http://arduinotronics.blogspot.t ... uino-raspberry.html

https://www.circuitar.com/nanoshields/modules/adc/

http://henrysbench.capnfatz.com/ ... g-started-tutorial/
==================================================

剛才找到疑似當初分壓,分流電阻的電路圖....待我檢查ok之後再po上來
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-10-1 20:59:33 | 显示全部楼层
本帖最后由 galaxy 于 2017-10-1 21:21 编辑
yh666 发表于 2017-8-8 13:43
I2 = tempI2 / 0.01626 ;}  // 使用的分流器為0.015Ω ±1% ±20ppm/℃ 5W 的電阻
这个分流电阻怎么接的 ...


分壓及分流電阻的接法
圖中的 A2 , A3 是接到 ads1115模塊上,
不是接到 arduino 的 A2,A3 腳位

分壓,分流電阻必需很講究 (低誤差,低溫漂)

r.jpg
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-10-6 11:11:17 | 显示全部楼层
今早已經用 power point 畫好電路圖補上,供大家參考
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-10-6 21:44:16 | 显示全部楼层
wsy0315 发表于 2017-9-18 19:53
5110不错,我也有一个不过好久没用过了

不使用時要用防靜電袋裝好~
我已經用壞三個5110了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-11-21 18:45:59 | 显示全部楼层
>>供電方式為 手機的充電器供電 (剛好 5V)
若是用usb接在電腦上供著電來實驗...
萬一不小心...實驗模塊燒了就算了,還把電腦給...
就划不來了

>>有沒有存在電壓隨著電源而波動...
我猜妳的供電方式是和待測端共電(而又沒有超過5V),
才會這樣吧

>>採樣結果可靠性不高..
遇過一次,就是和待測端共電,導致量不準~
那一次待測端是12V輸入(經7805降壓供電)
...結果量到的只有4~5V,
後來把供電獨立就ok了

在校正過程有用到 FLUKE 76 及 HP 34401A同時校正,
來降低出錯的機率

供電方式請另外單獨供電,不要和待測端共電,
會量不準的
回复 支持 反对

使用道具 举报

发表于 2017-11-24 19:44:47 | 显示全部楼层
按照你的程式,把DHT22换成了DHT11,把V ,I换成中文显示的电压电流,显示屏换成了OLED的。目前还没搭建电路实验,也还不知道怎么横流调压,有大神做过的给点提示。
222222.jpg
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-11-24 21:03:18 | 显示全部楼层
本帖最后由 galaxy 于 2017-11-24 21:28 编辑

不錯哦~轉換成 iic 介面的 oled 屏幕...讚

>>目前还没搭建电路实验,
必需搭配相關的 ADC 才能正常動作,
請參考電路圖...

>>也还不知道怎么横流调压
這ADC 芯片就內涵一定精度的參考電源
只要把握幾個重點
1.不可從待測端降壓供電,會量不準的。
   一定要單獨供電 (把它視為掌上型電表,要裝電池的)
2.供電 5V 即可,我在實驗過程是用手機的充電器來供電的
   剛好 5V
回复 支持 反对

使用道具 举报

发表于 2017-12-1 17:47:05 | 显示全部楼层
本帖最后由 504835618 于 2017-12-1 17:55 编辑
galaxy 发表于 2017-11-24 21:03
不錯哦~轉換成 iic 介面的 oled 屏幕...讚

>>目前还没搭建电路实验,


谢谢回复,模电基础差了,只有慢慢研究了
目前做成一个表头,精度也够了,测试了下,精度还可以
现在对可调电源还没一点概念。
这个显示的数字是我用我另外一个恒流恒压的电源输出5.10V,测量的数字,如果输出5.00V,显示的数字是4.98v,不好看才调到5.10V的
1.jpg
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-12-2 09:50:24 | 显示全部楼层
本帖最后由 galaxy 于 2017-12-2 10:02 编辑

>>目前做成一个表头,精度也够了,测试了下,精度还可以
使用 arduino 本身內部的參考電壓 (1.1V).精度大約在小數點下一位還可以,
小數點下二位就很抱歉了。這也算是arduino本身的限制

>>现在对可调电源还没一点概念。
其實我也很想買一台像樣一點的可調電源,無奈都太貴....
到目前都還使用自制的可調電源 (2A的傳統 EI鋼片變壓器 + LM317 可調穩壓 IC + 大電流功率管)
可調電壓從 1.25V ~ 17V.........這樣的電壓範圍也夠我用了

傳統 EI鋼片變壓器的電源還是有其好處的...最大的特色就是沒有開關式電源的雜訊,
這樣實驗起來也比較穩定,單純,不會因雜訊影響而誤動作~~
這就少掉很多除錯的時間。

>>这个显示的数字是我用我另外一个恒流恒压的电源输出5.10V,测量的数字,如果输出5.00V,显示的数
>>字是4.98v,不好看才调到5.10V的
排除電表的誤差...剩下的就是電源的壓降,表頭的誤差 (arduino本身的解析度 + 分壓,分流電阻的誤差)

電源的壓降...太大的負載也會造成電源的壓降.
若只是接上目前實驗的模塊就造成這0.1V的壓降...那還是換個電流大一點的電源來實驗.
確保實驗的正確性

看您用的分壓電阻...1%的還 ok
分流電阻...這可能是350 ppm 的功率電阻 (要注意跳動問題)
回复 支持 反对

使用道具 举报

发表于 2017-12-2 10:32:55 | 显示全部楼层
本帖最后由 504835618 于 2017-12-2 11:01 编辑
galaxy 发表于 2017-12-2 09:50
>>目前做成一个表头,精度也够了,测试了下,精度还可以
使用 arduino 本身內部的參考電壓 (1.1V).精度大 ...

我现在是用的这种数控电源, M8 PWM DP V7 - sch.pdf (37.27 KB, 下载次数: 5)
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-12-2 13:28:01 | 显示全部楼层
>>我现在是用的这种数控电源,   M8 PWM DP V7 - sch.pdf (37.27 KB, 下载次数: 1)
我在google上查不到這電源的圖片,不知道這是多少電壓電流輸出的..?
但是看這 pdf 檔...感覺輸出電壓 ±5V,電流不是很大,約1A....
然後是固定式電壓不可調...

>>不知道能不能把现在这个表头换上去?
您目前用arduino改好的這個表頭給換上去....
在 ±5V 的電源上我沒有這樣實驗過~
我想應該要用兩組獨立的arduino 表頭,及兩組獨立的5V電源供應這兩組arduino
避免互相干擾,(接錯時可能會互相燒)

>>在请问下这里用的ADS1115是不是这是做一个数模转换,没其他的用?
對,它就是單純的 ADC .....16 bit 的 ADC
因為 arduino 內的 ADC 解析度太低了,想要測個什麼電壓又不是很精準,
所以才會想玩這 16 bit 的看看。
結果碰上一堆當初沒想到的問題....(跳動,分壓分流電阻的精度,ppm)

>>实验电源功率够大了,现在是输出0~20V,0~5A的,可能校准误差大了点。
這樣容量來實驗~很夠用了

>>手上还有一个串口TFT2.8寸双路的表头一直没用,这个最大电压在30V,
>>5A我手上一个48V,10A的电源一直没敢接
這表頭還真漂亮~~~

>>就是想把LCD2004的屏换下来,换上TFT的屏,这样又上了一个档次也好看多了,无奈自已水平太差
>>了。后来想下反正是业余玩玩,也就没过于的去追求精度和美观,但东西放哪里还是想利用起来。
這表頭換上檔次提高,爽度提高....
搞個獨立的電源給這表頭使用,將 LCD2004給換下來......爽度立即提升

>>最近玩ESP8266的时间多(机智云平台),也就是看见你在这个表头文章个人觉得好玩又才把
>>ARDUINO拿出来玩玩。
>>看你的文字好像不是大陆的样,全繁体字
謝謝您的抬愛....小弟住台北市,所以使用繁體字
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊 ( 浙ICP备09023225号 )

GMT+8, 2020-7-4 20:52 , Processed in 0.052784 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表