電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>Arduino ESP32 DIY水位傳感器和液位指示器

Arduino ESP32 DIY水位傳感器和液位指示器

2022-10-26 | zip | 0.01 MB | 次下載 | 2積分

資料介紹

描述

儲水箱用于多種用途,例如在大篷車或露營車或植物澆水裝置等中。通常無法直接看到水箱中的可用水量。有多種方法可以測量水箱中的水位,您可以以高價購買或自己制作!

相反:帶上你自己的設(shè)備 -> 制作你自己的設(shè)備!

我決定制作一個水位傳感器和一個 5 個級別的水位指示器。

在這里你可以看到結(jié)果:

第 1 步:制作水位傳感器

DIY 傳感器由簡單的材料制成:

  • 6 根電線(1 個,5 毫米銅,黑色 PVC 包層),兩端剝?nèi)ゼs 1 厘米
  • 一根 3/4 英寸的電力管,長度與水庫的深度相匹配
  • 1 個 PVC 3/4 英寸延長管
  • 一個 1 nF 電容器(用于噪聲抑制)
  • 一塊雙面原型PCB
?
poYBAGNYf5WAN40KAAt1QIezve8820.jpg
用于水位傳感器的組件
?

請注意,在管道上鉆一些 5 毫米的孔是必不可少的。

水位傳感器的工作原理是基于水的導(dǎo)電特性。鹽度越高,電導(dǎo)率越高,相當(dāng)于電阻越低。我所在地區(qū)供應(yīng)的自來水的平均電導(dǎo)率值約為 35 mS/m。水中的銅探針越多,梯形網(wǎng)絡(luò)的電阻就越低。這個較低的電阻值會導(dǎo)致 ESP32 的 GPIO 引腳上的 12 位 ADC 的輸入電壓更高。通過這種設(shè)置,可以測量 5 種不同的水位。

傳感器的電子方案如下:

?
poYBAGNYf5eAT6JgAABPpbcRH6c683.png
6*680 KOhm電阻的梯形網(wǎng)絡(luò)
?

所有零件都組裝并焊接在一起:

?
pYYBAGNYf6CAARM0ABKf7VaSiTc544.jpg
完成的傳感器組件
?

將組件放入 3/4 英寸的延長管中,并填充透明硅膠以使其防水。

用于將傳感器連接到 Arduino 的電纜是來自當(dāng)?shù)?ACTION 商店的廉價音頻電纜

?
pYYBAGNYf6aAVm72AAC6pCct8_c866.png
用于傳感器連接的電纜
?

完全組裝好的水位傳感器見下圖:

?
pYYBAGNYf6-ASF0IABg8dkHpyko152.jpg
完成的傳感器
?

第 2 步:制作水位指示器

該指標(biāo)使用的組件是:

  • 一塊深灰色切菜板(來自 ACTION),上面有孔,如下圖所示,并使用銼刀將孔打成方形
  • 一條由 5 個 WS2812 LED 組成的 LED 燈帶(從較長的燈帶上切下)
  • 打印 5 個級別的照片紙(1%、25%、50%、75%、100%)
  • 一塊用于保護印刷品的透明箔
  • 鋁箔作為蓋子(不是很容易處理,但這是我用的)
?
pYYBAGNYf7mAeK58ABUf_tRv2gY744.jpg
用于電平指示器的部件
?

組裝工作的最終結(jié)果如下圖所示:

?
pYYBAGNYf8GAdyq1ABVbm9dRwwo438.jpg
完成的水位指示器
?

第 4 步:電子設(shè)置

面包板設(shè)置如下圖所示:

?
poYBAGNYf8qAbsUsABRs1YPW1uk103.jpg
用于測試和軟件開發(fā)的面包板設(shè)置
?

在這個設(shè)置中,我使用了 ESP 32s(節(jié)點 MCU)。做出這種選擇的原因是,我計劃擴展此設(shè)置,使其具有制作具有在線監(jiān)測和警告功能的完整植物澆水系統(tǒng)的功能。(ESP 32 板載 WiFi 和藍牙)。

電路圖(用Fritzing制作)如下:

?
pYYBAGNYf8yALom8AAERrAS1x0w047.png
水位測量系統(tǒng)的電子設(shè)置
?

ESP 32 由 USB 端口提供 5 V 電源,并且板載 3、3V 穩(wěn)壓器。一個輸出 GPIO 引腳直接連接到水位傳感器,并向傳感器發(fā)送 3、3 V 信號,持續(xù)時間僅為 200 毫秒。這是為了避免水中的電解效應(yīng),從而避免腐蝕銅端。

傳感器的輸出連接到兩個 1 M Ohm 電阻器,它們與傳感器和軟件中的比較器陣列形成“虛擬惠斯通電橋”。

我使用了這個設(shè)置,因為梯形網(wǎng)絡(luò)在水中作為水位函數(shù)的行為是非線性的(見下圖):

?
poYBAGNYf86AeCzjAAAtVbCAlHs712.png
傳感器的近似輸出值(0 - 4095 位)
?

理論上,當(dāng)傳感器不在水中時,傳感器引腳上的測量值約為 1,0855 V,相當(dāng)于 1347 位。與圖表的偏差可以用電阻器的公差、傳感器線中的電阻、ESP 32 的 3,3 伏電源的偏差以及 ESP32 的 12 位 ADC 中的一些非線性以及一些電路中的噪聲。

電平指示器中使用的 5 個 LED 的 5V 電源直接來自 5V 引腳(連接到 USB 端口的 5V 輸入);

在我的實驗中,結(jié)果證明使用 5V 電話充電器與 PC 的 5V USB 端口或 5V 移動電源的結(jié)果不同。移動電源雖然提供了穩(wěn)定的結(jié)果,但會在短時間內(nèi)關(guān)閉(睡眠模式),因為系統(tǒng)消耗的電流很低。

第 3 步:制作軟件

Arduino Sketch 中的循環(huán)函數(shù)很簡單,只包含調(diào)用 2 個函數(shù):

void loop(){
 MEASUREWATERLEVEL ();
 INDICATEWATERLEVEL ();
 delay(1000);                            // Check for new value every 1 sec;

1 秒測量僅用于實驗和演示目的。在實際應(yīng)用中,這種情況會少得多(取決于水庫中水的使用速度)

ARDUINO IDE 的繪圖監(jiān)視器以及串行監(jiān)視器在實驗過程中非常有用。下面給出了繪圖監(jiān)視器圖的視圖。

?
poYBAGNYf9CABdB4AAAw6er_hDs330.png
ARDUINO IDE 繪圖監(jiān)視器圖
?

該圖顯示了傳感器上下進入水中的(1 秒)測量值(綠線);紅線代表 LEVELarray [] 中設(shè)置的參考值。這些值已通過實驗確定,并清楚地顯示了傳感器的非線性行為。

//                      0    1    2    3    4    5
int LEVELarray [6] = {1125,1245,1450,1720,2080,2630} ; 

“0”級適用于蓄水池?zé)o水,“5”級適用于蓄水池滿水。

傳感器的非線性行為可以通過制作具有非均勻分布電阻值的梯形網(wǎng)絡(luò)來校正。

我得出的結(jié)論是,在軟件中處理這個問題要容易得多。

此外,測量傳感器值上存在的自然抖動可以通過允許測量值的容差(例如 4%)在軟件中輕松消除(另請注意與兩個 1 M 歐姆電阻器并聯(lián)的 220nF 電容器)

for (int i = 0; i < 6 ; i++)
   {
if ((WaterLevelValue > (LEVELarray[i] * 0.96)) && (WaterLevelValue < (LEVELarray[i] * 1.04))) 
// allow a margin of 4% on the measured values to eliminate jitter and noise
     {
     level = i;
     } 

最后,上面確定的水位用于在水位指示器上用顏色顯示水位,感謝 庫,這很容易:

redVal = color_scheme[level*3];   
greenVal = color_scheme[level*3 + 1];
blueVal = color_scheme[level*3 + 2];
strip.setPixelColor(level-1, strip.Color(redVal, greenVal, blueVal) ); 
strip.show();

要通過 USB 端口將草圖下載到 ESP 32,需要按住Boot按鈕。

筆記:

當(dāng)使用常規(guī)的 ARDUINO(例如 UNO)而不是 ESP 32 時,需要在代碼中進行一些更改,例如:

  • 引腳分配
  • LEVELarray 中的值,考慮到 UNO 有一個 10 位 ADC(在引腳 A0 上);第一個最佳猜測是將值除以 4
  • 傳感器的 5V 觸發(fā)脈沖(而不是 3、3V)不應(yīng)產(chǎn)生影響

與 Fritzing 圖相比,您可能會在面包板上的實際設(shè)置中發(fā)現(xiàn)一個額外的 680 kOhm 電阻。這是因為最初,我想讓“0”傳感器線從梯形網(wǎng)絡(luò)斷開(出于實驗原因),所以我還使用了 3 線傳感器電纜,而在最終設(shè)計中只需要 2 根。

我很想知道是否有人真的要復(fù)制這個項目。

由 Pierre Pennings 開發(fā)和制作(2018 年 12 月)。


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
  2. 1.06 MB  |  532次下載  |  免費
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費
  5. 3TC358743XBG評估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費
  9. 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費
  11. 6迪文DGUS開發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費
  13. 7元宇宙底層硬件系列報告
  14. 13.42 MB  |  182次下載  |  免費
  15. 8FP5207XR-G1中文應(yīng)用手冊
  16. 1.09 MB  |  178次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關(guān)電源設(shè)計實例指南
  8. 未知  |  21549次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅(qū)動電路設(shè)計》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191187次下載  |  免費
  13. 7十天學(xué)會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費