<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>

電子發燒友App

硬聲App

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
創作中心

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

3天內不再提示
電子發燒友網>電子資料下載>電子資料>MCP3008上的高靈敏度水傳感器

MCP3008上的高靈敏度水傳感器

2023-07-10 | zip | 0.29 MB | 次下載 | 免費

資料介紹

描述

介紹

背景

在即將開展的項目中,我使用 MCP3008 來監控多個傳感器。在這個項目中,我想介紹在帶有 SPI 接口的 MCP3008 8 通道 10 位 ADC 上使用 Phantom YoYo 高靈敏度水傳感器與 Raspberry Pi 2、Windows 10 IoT Core 和 C# 的詳細信息。

使用 MCP3008

ADC 是模數轉換器。模擬信號被轉換為數字并讀入您的應用程序。MCP3008 是一個 10 位 ADC,這意味著它使用 10 位來表示通道上的值。該值將表示為 0 到 1023 之間的數字(總共 1024 個可能值)。然后將該數字轉換為有意義的值。例如,假設我想測量其中一個通道上的電壓,從該通道讀取的值為 523。我知道最大電壓為 3.3V。通道上的電壓使用以下公式計算

Value / Max Value * Vref

解決我的電壓我得到

523 / 1023 * 3.3

其值為1.687V 。我通過首先對讀數進行歸一化,然后將歸一化讀數乘以已知最大值 3.3V 來計算該值。

當獲得準確的電壓測量值很重要時,我強烈建議測量 Raspberry Pi 的實際電壓,并在計算中使用該值以從 ADC 獲得更準確的轉換。當我測量我的時,我發現輸出是 3.301V(在源代碼中找到的值)。然而,與實際情況相差不遠,其他類型的電路板可能差異更大。

當然,當我想計算電壓時,這是有道理的,但每個傳感器都有不同的含義。對于連接到 MCP3008 通道的每個傳感器,我需要了解具體細節并適當地解釋讀數。

?
poYBAGOlBJOAXnTxAAHb2w7Dj1Q048.png
?

MCP3008 的接線非常簡單。芯片本身在一端標有一個槽口,代表引腳 1 和 16(參見此處的數據表)。

?
pYYBAGOlBJiAO16_AAGfOUi1BkQ073.png
?

引腳 1 到 8 是八個輸入引腳,被稱為通道 0 到 7。通道 0 是引腳 1。引腳 16 是 Vdd,連接到電壓源(Raspberry Pi 上為 3.3V 或 5V)。引腳 9 連接到 Raspberry Pi 上的接地引腳。引腳 15 和 14 用于參考模擬電路。引腳 15 是 Vref,MCP3008 使用它來確定其中一個通道上的最大電壓是多少。在我的示例中,我將此引腳連接到 Raspberry Pi 上的 3.3V 電源。當向其中一個通道施加電壓時,MCP 會調整讀數,使 1023 代表 3.3V,0 代表 0V。這允許我在上面使用的計算工作。引腳 14 是模擬接地引腳。在我的示例中,我將它連接到 Raspberry Pi 上的接地引腳。如果需要保持模擬電路與數字電路隔離,那么該引腳將在模擬電路上接地。其余四個引腳(10 到 13)是用于與 Raspberry Pi 通信的 SPI 串行接口引腳。我在這個項目中包含的接線圖顯示了如何將這些引腳連接到 Raspberry Pi。

在這個項目中,我包含了一個簡單的電壓測量來演示這個概念。水傳感器讀數將展示對從通道讀取的值的另一種解釋。

項目概況

傳感器

在這個項目中,我將兩個電路合二為一。第一個是一個簡單的電位器,它允許在 MCP3008 的一個引腳(通道 0)上改變電壓。這只是為了演示 MCP3008 的工作原理。第二個電路是連接到 MCP3008 上第二個通道(通道 1)的水傳感器。

Phantom YoYo 水傳感器具有三個引腳。第一個引腳接地(在設備上標記為“-”),它將連接到 Raspberry Pi 上的接地引腳。下一個引腳是電源(在設備上標記為“+”),它將連接到 Raspberry Pi 上的 3.3V 引腳(該設備也可以連接到 5V)。第三個也是最后一個引腳是信號(在設備上標記為“s”。此引腳的電壓信號會根據設備上的水量而變化。請注意,此設備不是水位傳感器。它只是感知變化與設備接觸的水量。源極引腳將連接到 MCP3008 的輸入之一。

電路

支持傳感器的電路非常簡單。該設備直接連接到電路板 Raspberry Pi,無需任何額外組件。

?
?
?
?
poYBAGOlBKGAD1r6AAF8DlzR3Rk871.jpg
?
1 / 5 ? Cobbler 分線套件
?

項目軟件

應用程序

我為此項目創建的應用程序是一個通用 Windows 應用程序,在主視圖中顯示兩個儀表。第一個儀表顯示在電位器電路上測量的當前電壓。第二個顯示來自水傳感器的讀數,該讀數被歸一化為 0 到 100 的值。該軟件還允許校準水傳感器。可以在頁面底部附近找到源代碼的鏈接。

MCP3008 庫

該軟件項目還包含一個單獨的項目,用于與 MCP3008 交互。此代碼可用于您的應用程序,以便輕松地將 MCP3008 芯片集成到您的項目中。

要使用它,首先聲明一個類對象如下:

private Mcp3008 _mcp3008 = null;

OnNavigatedTo事件中添加以下代碼:

_mcp3008 = new Mcp3008(0);

await_mcp3008.Initialize();

要從通道 0 讀取電壓,請使用以下代碼行:

float voltage = _mcp3008.Read(Mcp3008.Channels.Single0).AsScaledValue(3.3f);

請注意,使用Channel.Single0 which 表示該值是從一個通道讀取的。可以指定設備讀取兩個引腳之間的差異。這可以指定為Mcp3008.Channels.Differential0 指示測量應被視為通道 0 和通道 1 之間的差異,其中通道 0 為正,通道 1 為負。源代碼是文檔,將提供解釋每個值的工具提示。

當您使用完該對象后,通常會在您的OnNavigatedFrom事件中處理該對象。

_mcp3008.Dispose();

_mcp3008 = null;

入門

組裝電路

使用本指南組裝電路,同時使用頁面底部附近的圖表作為指南(請注意,電線的顏色是可選的,并且已被選擇以幫助使電路在構建時易于遵循)。

注意:該項目使用可選的萬用表來測量電位器兩端的電壓。這樣做是為了將值與 MCP3008 讀取的值進行比較。請注意這是可選的。如果您沒有萬用表,則無法比較此電壓。這樣做是為了表明 MCP3008 讀取的值與萬用表讀取的值相同。將萬用表設置為測量直流電壓,如下圖所示(您的萬用表可能看起來不同)。
  • 將 T 形補鞋匠放在吟游詩人的左端(數字從 1 開始)。最左邊的兩個引腳位于電路板上的E3F3中。最右邊的兩個引腳位于E22F22
  • 將 50K Ω 電位器置于 J56、J58 和 J60 位置,調節旋鈕朝向面包板的 5v 側
  • 在I58I53之間放置 10K Ω 電阻
  • 將MCP3008放入E31 ~ E38F31 ~ F38 (芯片有圓圈的角放在E31
  • 可選:將黑色公對公跳線的一端放在G60位置(如果您使用的是萬用表,則將黑色表筆連接到此線)
  • 可選:將紅色公對公跳線的一端放在G58位置(如果您使用的是萬用表,則將紅色導線連接到此線)
  • 在F60之間連接一根藍色公對公跳線
  • 在F58C31 (MCP3008 的通道 1)之間連接橙色公對公跳線
  • 在F533.3V+之間連接橙色公對公跳線
  • 在J313.3V之間連接一根紅色公對公跳線
  • 在J323.3V之間連接一根紅色公對公跳線?
  • 在J33之間連接一根黑色公對公跳線?
  • 在J34A14之間連接一根綠色公對公跳線?
  • 在J35A13之間連接一根黃色公對公跳線?
  • 在J36A12之間連接一根白色公對公跳線?
  • 在J37J14之間連接一根綠色公對公跳線?
  • 在J38之間連接一根黑色公對公跳線?
  • 將藍色母對公跳線的母端連接到水傳感器上的S引腳。將公端連接到C32 (MCP3008 上的通道 1)
  • 將紅色母對公跳線的母端連接到水傳感器上的針腳。將公端連接到?3.3V
  • 將黑色母對公跳線的母端連接到?水傳感器上的-針腳。將公端接?
  • 可選:將第 5 步中的黑色導線連接到萬用表的公共端子(使用鉤夾式連接器以獲得最佳效果)
  • 可選:將第 6 步中的紅色導線連接到萬用表上的電壓端子(使用鉤夾式連接器以獲得最佳效果)
  • 連接 Raspberry Pi 和 cobbler 之間的帶狀電纜
?
?
?
?
poYBAGOlBMaAFz73AATQhABbpA4016.jpg
?
1 / 7 ?整個面包板視圖
?

啟動應用程序

選擇調試、ARM配置和遠程機器。我必須指出,這個傳感器在水量和傳感器讀數之間沒有任何線性相關性或任何其他相關性。當有幾滴水時,它確實會產生較小的值,而當存在更多的水時,它會產生較高的值。我更多地使用線性儀表來幫助理解ADC的概念。可以像我連接光隔離交流電壓傳感器一樣連接水傳感器以產生可由 GPIO 引腳接收的高信號或低信號。該設備可以接線以提供濕信號或干信號。話雖如此,我將這個水傳感器連接到一個 ADC 上,因為我想檢測少量水和大量水之間的差異,而這個項目中概述的方法可以實現這個目標。


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

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數據手冊
  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元宇宙深度解析—未來的未來-風口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費
  11. 6迪文DGUS開發指南
  12. 31.67 MB  |  194次下載  |  免費
  13. 7元宇宙底層硬件系列報告
  14. 13.42 MB  |  182次下載  |  免費
  15. 8FP5207XR-G1中文應用手冊
  16. 1.09 MB  |  178次下載  |  免費

本月

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

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉中文版)
  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十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費
亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>