資料介紹
描述
介紹
背景
在即將開展的項目中,我使用 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 通道的每個傳感器,我需要了解具體細節并適當地解釋讀數。
MCP3008 的接線非常簡單。芯片本身在一端標有一個槽口,代表引腳 1 和 16(參見此處的數據表)。
引腳 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,無需任何額外組件。
項目軟件
應用程序
我為此項目創建的應用程序是一個通用 Windows 應用程序,在主視圖中顯示兩個儀表。第一個儀表顯示在電位器電路上測量的當前電壓。第二個顯示來自水傳感器的讀數,該讀數被歸一化為 0 到 100 的值。該軟件還允許校準水傳感器。可以在頁面底部附近找到源代碼的鏈接。
MCP3008 庫
該軟件項目還包含一個單獨的項目,用于與 MCP3008 交互。此代碼可用于您的應用程序,以便輕松地將 MCP3008 芯片集成到您的項目中。
要使用它,首先聲明一個類對象如下:
private Mcp3008 _mcp3008 = null;
在OnNavigatedTo事件中添加以下代碼:
_mcp3008 = new Mcp3008(0);
要從通道 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 開始)。最左邊的兩個引腳位于電路板上的E3和F3中。最右邊的兩個引腳位于E22和F22
- 將 50K Ω 電位器置于 J56、J58 和 J60 位置,調節旋鈕朝向面包板的 5v 側
- 在I58和I53之間放置 10K Ω 電阻
- 將MCP3008放入E31 ~ E38和F31 ~ F38 (芯片有圓圈的角放在E31 )
- 可選:將黑色公對公跳線的一端放在G60位置(如果您使用的是萬用表,則將黑色表筆連接到此線)
- 可選:將紅色公對公跳線的一端放在G58位置(如果您使用的是萬用表,則將紅色導線連接到此線)
- 在F60和地之間連接一根藍色公對公跳線
- 在F58和C31 (MCP3008 的通道 1)之間連接橙色公對公跳線
- 在F53和3.3V+之間連接橙色公對公跳線
- 在J31和3.3V之間連接一根紅色公對公跳線
- 在J32和3.3V之間連接一根紅色公對公跳線?
- 在J33和地之間連接一根黑色公對公跳線?
- 在J34和A14之間連接一根綠色公對公跳線?
- 在J35和A13之間連接一根黃色公對公跳線?
- 在J36和A12之間連接一根白色公對公跳線?
- 在J37和J14之間連接一根綠色公對公跳線?
- 在J38和地之間連接一根黑色公對公跳線?
- 將藍色母對公跳線的母端連接到水傳感器上的S引腳。將公端連接到C32 (MCP3008 上的通道 1)
- 將紅色母對公跳線的母端連接到水傳感器上的針腳。將公端連接到?3.3V
- 將黑色母對公跳線的母端連接到?水傳感器上的-針腳。將公端接?地
- 可選:將第 6 步中的紅色導線連接到萬用表上的電壓端子(使用鉤夾式連接器以獲得最佳效果)
- 連接 Raspberry Pi 和 cobbler 之間的帶狀電纜
啟動應用程序
選擇調試、ARM配置和遠程機器。我必須指出,這個傳感器在水量和傳感器讀數之間沒有任何線性相關性或任何其他相關性。當有幾滴水時,它確實會產生較小的值,而當存在更多的水時,它會產生較高的值。我更多地使用線性儀表來幫助理解ADC的概念。可以像我連接光隔離交流電壓傳感器一樣連接水傳感器以產生可由 GPIO 引腳接收的高信號或低信號。該設備可以接線以提供濕信號或干信號。話雖如此,我將這個水傳感器連接到一個 ADC 上,因為我想檢測少量水和大量水之間的差異,而這個項目中概述的方法可以實現這個目標。
- OPT4060高速高靈敏度RGBW顏色傳感器數據表
- 使用MCP3008在Raspberry Pi上進行模擬輸入
- 超高靈敏度霍爾效應鎖存器MH188產品手冊 12次下載
- 高靈敏度脈搏血氧儀和心率傳感器max30102說明書 74次下載
- BH36U高靈敏度單極性開關霍爾傳感器數據手冊 14次下載
- BH09B-B高靈敏度鎖存型霍爾傳感器數據手冊 19次下載
- 高靈敏度單極霍爾開關電路傳感器HAL580 21次下載
- ADPD2214:低噪聲、高靈敏度光學傳感器數據表
- ADPD2212:低噪聲、高靈敏度光學傳感器數據表
- ADPD2211:低噪聲、高靈敏度光學傳感器數據表
- CMOS工藝中的高靈敏度垂直霍爾傳感器的資料詳細說明 1次下載
- 如何使用高靈敏度的CCD傳感器設計光電信號檢測系統 11次下載
- 高靈敏度薄膜生物傳感器應用 20次下載
- 高靈敏度微機械薄膜的設計、模擬與優化
- 高靈敏度光纖光柵壓力傳感器及其壓力傳感特性的研究
- 力敏傳感器的靈敏度單位是什么 2596次閱讀
- 氣敏元件的靈敏度隨氣體濃度的變化 887次閱讀
- 基于微芯圓環腔的空氣耦合高靈敏度MHz頻段超聲波探測方案 874次閱讀
- 具有超高靈敏度和超寬壓力范圍的新型柔性壓力傳感器 4902次閱讀
- 高性能圖像傳感器系列開發參考設計 871次閱讀
- 高性能圖像傳感器參考設計的核心集成與協作 828次閱讀
- 如何提高電感傳感器的測量精度和靈敏度 1.1w次閱讀
- 大連理工研制出了高可靠性低功耗高靈敏度的GaN納米線氣體傳感器 1769次閱讀
- 關于GPS接收機靈敏度的分析 1.4w次閱讀
- 巴斯大學和西北大學研制出新型傳感器靈敏度超當前類似傳感器的100倍 823次閱讀
- 高靈敏度防倒流智能水表的原理及設計 5487次閱讀
- 基于高強度導電水凝膠的線性高靈敏度應變傳感器 9386次閱讀
- 如何利用機器學習提高光學傳感器靈敏度? 4668次閱讀
- 雪崩光電二極管靈敏度如何 如何提高雪崩光電二極管靈敏度 8621次閱讀
- 移動電視前端的過載保護及高靈敏度設計 1225次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數據手冊
- 1.06 MB | 532次下載 | 免費
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費
- 5元宇宙深度解析—未來的未來-風口還是泡沫
- 6.40 MB | 227次下載 | 免費
- 6迪文DGUS開發指南
- 31.67 MB | 194次下載 | 免費
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費
- 8FP5207XR-G1中文應用手冊
- 1.09 MB | 178次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33566次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537798次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191187次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多