如何監測土壤pH值和水分含量

  保持適當的土壤溼度和ph值是植物健康的基本要求,無論是大規模農業還是簡單的家庭菜園。然而,爲了測量這些土壤特性,開發人員需要設計成本效益高的精密模擬信號鏈,能夠將原始數據轉換成特定土壤測量應用所需的有用信息。

  實現這些精度目標的一種方法是使用適當靈活的軟件進行參考設計。該解決方案是一個很好的例子eval-cn0398-ardz板和軟件模擬裝置包。

  本文討論了應用程序和要求相關的土壤水分和pH監測之前推出的模擬設備cn0398板和參考設計。這篇文章解釋瞭如何使用的主要組成部分在cn0398設計解決關鍵的設計要求和檢驗他們在整體中的作用。文章最後通過展示如何開發人員可以使用cn0398板和相關的軟件包快速評估和定製土壤監測中的應用。


  準確測量土壤的必要性

  保持適當的土壤含水量和ph值是植物種植者在任何生產規模中的基本要求。土壤水分不足直接轉化爲任何植物的光合作用下降,以及其他重要的豆科作物如大豆的固氮等生物過程的下降。

  同樣,施肥或自然現象對土壤的影響會極大地影響土壤酸鹼度,從而導致基本微生物和土壤養分的減少。在一些作物中,早期生長階段土壤酸鹼度的不當導致生長速率和最終產量下降。

  如果沒有合適的土壤監測系統,土壤水分和pH值會轉移到不利的值,從而導致植物健康的最終惡化。在一起,模擬設備eval-cn0398-ardz板和軟件包提供了一個完整的土壤監測設計,開發者可以直接使用或修改以滿足他們的獨特需求。

  模擬裝置的cn0398板和參考設計是專門用於外部水分、pH值、溫度傳感器和土壤測量的應用。它的車載電路包括一個完整的多傳感器設計,需要通過串行接口訪問溼度和ph輸出數據。即使有廣泛的功能,設計最大功耗只有1.95毫安(mA)和提供了省電功能,包括使用脈衝寬度調製(PWM)爲外部傳感器。

  開發人員可以使用cn0398啓動自定義硬件設計或使用板與模擬設備eval-adicup360 Arduino兼容基板。設計爲一個Arduino盾的cn0398直接插入基板提供一個快速的應用程序開發平臺。

  爲了加快軟件開發,工程師可以利用模擬裝置的aducm360_demo_cn0398開源軟件包的設計與cn0398傳感器板,adicup360腳板和模擬裝置的crosscore嵌入式工作室。除了基本的驅動程序和系統的支持工具,該軟件包包括完整的C++源文件和頭文件,包括一個完整的土壤測量軟件的應用。

  模擬設備板集和軟件包的結合爲開發人員提供了一個完整的硬件設計和軟件應用程序,可以立即在土壤測量應用中使用。同樣重要的是,這cn0398硬件參考設計和樣本軟件提供了自定義的土壤測量系統能夠滿足這些應用的獨特要求快速發展的藍圖。


  傳感器的信號處理

  的cn0398硬件設計包括外在水分三個獨立的子電路,pH和溫度傳感器。每個子電路提供所需的所有不同類型的傳感器接口電路。因此,開發人員只需要插上每個傳感器到其相應的連接器上的cn0398板和傳感器提供電源,開始行動。這個功能是建立在模擬設備ad7124-8,將一個24位∑-Δ廣泛的信號調理前端(Σ-Δ)模數轉換器(ADC)(圖1)。

  模擬設備ad7124-8 ADC圖

  

  圖1:通過其集成的信號鏈和ADC,模擬設備ad7124-8簡化了多傳感器系統的土壤測量所需的設計。(圖像源:凱利訊半導體)

  的ad7124-8的信號多路複用器可以八路差分或15個單端輸入通過其集成的可編程信號鏈片上Σ-ΔADC轉換和調節數字濾波器。開發者使用ad7124-8串口設備連接到MCU主機設備控制和數據轉換。

  由於其廣泛的功能,開發人員可以滿足廣泛的設計要求,除了傳感器電路和穩定的電壓源的額外組件很少。爲cn0398參考設計,模擬設備使用adr3433參考電壓爲模擬電源(的AVDD)和基準電壓(內)(圖2)。如下文所述,三個傳感器電路中的每一個的設計只需要幾個額外的組件。

  模擬設備ad7124-8圖

  

  圖2:使用模擬設備ad7124-8,開發者可以使用一些額外的元件超出特定的傳感器輸入電路和精密電壓參考如模擬設備adr3433實現傳感器的設計。(圖像源:凱利訊半導體)


  水分測量

  土壤水分系統通常利用水的介電常數(80)與空氣(1)的差別來確定水分含量。對於這些系統,開發一個簡單的3線傳感器驅動如與激勵電壓產生的土壤水分含量成比例的輸出電壓TE連接測量專業hpp809a033傳感器。

  在cn0398設計、土壤水分的前端使用模擬設備adp7118-2.5低壓降(LDO)線性穩壓器提供穩定的勵磁電壓(vsensor)的傳感器(圖3)。供應LDO,開發商可以從adicup360踢腳線或從他們的定製設計中汲取力量。

  模擬設備cn0398設計圖

  

  圖3:模擬設備cn0398設計採用公司的adp7118-2.5低壓降(LDO)調節器提供一個穩定的一個電容式水分傳感器電壓vsensor源。(圖像源:凱利訊半導體)

  雖然adp7118可以提供連續的傳感器電壓,功耗問題和一些水分傳感器的具體要求決定脈衝源驅動傳感器的使用。爲了滿足這些需求,開發人員可以通過驅動微控制器的PWM輸出來驅動LDO的啓用(EN)端口,從而爲傳感器提供電壓脈衝。

  利用其集成的信號調理電路和ADC的ad7124-8可靠採樣和轉換一個溼度傳感器的電壓輸出。然而,對於土壤測量的應用,轉換傳感器數據和土壤溼度之間的關係可能是複雜的。

  在評估土壤水分、土壤健康專家通常比較土壤容積含水量土壤水分含量(VWC),其水量對土壤總體積之比。溼度傳感器製造商通常提供方程轉換爲他們的傳感器的輸出VWC。然而,土壤條件或應用程序本身的性質要求使用更適合自己獨特情況的轉換方程。

  模擬設備演示了在其示例軟件包中使用這兩種方法。通過使use_manufacturer_moisture_eq定義在cn0398。h頭文件,開發人員可以選擇使用製造商推薦的分段轉換公式或在軟件中提供的標準轉換方程。在這裏,樣品read_moisture()常規產生水分輸出取決於傳感器的輸出電壓範圍,如果use_manufacturer_moisture_eq定義(清單1)。如果定義是說在cn0398。H頭,常規可以轉換電壓水分使用提供的數學表達。

  浮cn0398::read_moisture()

  {

  浮子溼度=0;

  # ifdef moisture_sensor_present

  DioSet(adp7118_port,adp7118_pin);

  set_digital_output(P3,真的);

  (sensor_settling_time)睡眠定時器;

  int32_t數據= ADC值[ moisture_channel ] = read_channel(moisture_channel);

  DioClr(adp7118_port,adp7118_pin);

  浮動電壓=電壓[ 1 ] moisture_channel = data_to_voltage_bipolar(數據,1,3.3);

  # ifdef use_manufacturer_moisture_eq

  如果(伏< = 1.1){

  溼度= 10 *伏- 1;

  否則如果(電壓> 1.1和電壓< = 1.3){

  溼度= 25 *伏- 17.5;

  否則如果(電壓> 1.3和電壓< = 1.82){

  溼度= 48.08 *伏- 47.5;

  否則如果(電壓> 1.82){

  溼度= 26.32 *伏- 7.89;

  }

  其他#

  含水量= -1.18467 + 21.5371伏- 110.996 *(戰俘(伏,2))+ 397.025 *(戰俘(伏,3))- 666.986 *(戰俘(伏,4))+ 569.236 *(戰俘(伏,5))- 246.005 *(戰俘(伏,6))+ 49.4867 *(戰俘(伏,7))- 3.37077 *(戰俘(伏,8));

  # endif

  如果(溼度> 100)溼度=100;

  如果(溼度<0)溼度=0;

  # endif

  set_digital_output(P3,假);

  返回水分;

  }

  清單1:模擬設備cn0398軟件包提供了一個樣本含例程演示瞭如何開發人員可以使用製造商轉換公式或方程式將水分傳感器電壓爲有用的水分數據。(代碼來源:模擬設備)


  pH值測定

  一個典型的pH傳感器,如在SparkFun電子sen-10972 pH試劑盒具有高阻抗電壓源等效電路。即使使用集成信號調理前端的ADC,有經驗的開發人員通常也會在這些情況下在傳感器輸出和ADC輸入之間添加緩衝區。

  因此,在cn0398設計pH傳感器電路包括模擬設備ada4661-2運算放大器(圖4)。適合低功耗應用,如傳感器電路,該ada4661-2是精密運算放大器,採用單電源供電,低功耗,低失調電壓在整個工作電壓範圍。

  模擬設備ada4661-2運放圖

  

  圖4:在模擬設備cn0398設計,模擬設備ada4661-2運算放大器提供了一個典型的高阻抗pH傳感器和模擬設備ad7124-8模擬輸入之間的緩衝。(圖像源:凱利訊半導體)

  雖然設計依賴於單一的電源電壓,pH傳感器通常產生雙極性電壓輸出。然而在這種情況下,這提供了一個簡單的方法,ad7124-8偏置傳感器到一個合適的水平地面。的ad7124-8集成了一個內部偏置電壓發生器,設置一個AVDD / 2通道的共模電壓。在這種情況下,設計師可以使用一個ad7124-8輸出引腳提供偏置電壓的pH傳感器的低側(Vbias圖4)。開發人員可以輕鬆地將有偏見的輸入恢復到軟件中的雙極數字結果。

  的aducm360_demo_cn0398開源軟件包包括了一個樣本read_ph()例程說明將pH傳感器輸出電壓值的過程。與土壤水分常規一樣,ph採樣程序演示了使用兩種不同方法產生pH值(清單2)。

  浮cn0398::read_ph(浮動溫度)

  {

  漂浮PH值=0;

  # ifdef ph_sensor_present

  int32_t數據;

  set_digital_output(P2,真的);

  ADC值[ ph_channel ] =數據= read_channel(ph_channel);

  浮動電壓=電壓[ 1 ] ph_channel = data_to_voltage_bipolar(數據,1,3.3);

  如果(use_nernst)

  {

  pH = ph_iso -((伏zero_point_tolerance)/((2.303×阿伏伽德羅*(溫度+ kelvin_offset))/ faraday_constant));

  }

  其他的

  {

  浮M =(calibration_ph [ 1 ] [ 0 ] - calibration_ph [ 0 ] [ 0 ])/(calibration_ph [ 1 ] [ 1 ] - calibration_ph [ 0 ] [ 1 ]);

  pH = m *(伏calibration_ph [ 1 ] [ 1 ] + offset_voltage)+ calibration_ph [ 1 ] [ 0 ];

  }

  set_digital_output(P2,假);

  # endif

  返回值;

  }

  清單2:讀取pH傳感器值的模擬設備的例程說明了使用標準的能斯特方程,或內置的校準值將pH傳感器的電壓輸出值。(代碼來源:模擬設備)

  通過設置一個變量use_nernst樣品中包真的,開發者可以使用標準的能斯特方程產生的pH值。設置爲false,變導致日常使用兩點校準過程中創造的價值,以參考pH緩衝液如SparkFun sen-10972 pH試劑盒通常。示例軟件例程使用設置的默認校準值,使用NIST查找表,用於不同的pH緩衝溶液和溫度校正的pH值,範圍從0°C到95°C.開發人員可以用自己定製的校準數據替換默認值,或者輕鬆修改代碼以支持默認值和自定義值。


  溫度測量

  如上圖所示在清單2中,pH值對溫度的依賴關係,明確在能斯特方程,或隱含在自定義校準值。此外,溫度會影響傳感器的靈敏度和信號鏈。雖然ad7124-8集成溫度傳感器(又見圖1)可以解決這些問題,可靠的土壤測量依賴於精確的溫度讀數。因此,該cn0398溫度傳感器通道的目的是確保準確的讀數從外部線PT100鉑電阻溫度檢測器(RTD)如Adafruit產業3290。

  正如任何電阻式傳感器,RTDs需要一個勵磁電流允許的電壓變化測量的溫度依賴性。通常,使用電阻傳感器的開發人員需要增加外部驅動、調節器和電流傳感器的傳感器設計,以維持精確水平的勵磁電流。與ad7124-8,然而,開發人員只需要添加所需的支持線配置相應的無源網絡(圖5)。

  模擬設備cn0398設計圖

  

  圖5:驅動線電阻溫度檢測器(RTD),模擬設備cn0398設計採用可編程恆流源集成在模擬設備ad7124-8。(圖像源:凱利訊半導體)

  集成在ad7124-8,對恆流發生器提供了從50到1000微安在各種固定水平激勵(µ一),包括500μ用於cn0398設計水平。開發商設置的當前水平和設備的io_control配置登記通過編程ioutx和ioutx_ch比特輸出引腳,分別。作爲其初始化例程的一部分,該cn0398軟件包組ADC通道ain11和ain12作爲500個μ勵磁電流輸出引腳,IOUT1和IOUT2。

  雖然目前發電機的許多應用是足夠準確的,開發人員可以很容易地通過使用比率測量技術消除電流變化的影響。cn0398溫度傳感器的硬件電路如圖5所示使用這種方法。在這裏,同樣的IOUT1電流通過熱電阻與精密參考電阻RREF,導致比例測量。同時,IOUT2產生一個壓降RTD的RTD感鉛性取消壓降RTD +引線電阻。

  與溼度和pH傳感器一樣,電阻值轉換爲溫度需要適當的傳遞函數。對於典型的RTD,溫度和電阻之間的關係可以可靠地用數學表示。即便如此,兩種不同的數學表達式需要用上面和下面的0°C. aducm360_demo_cn0398開源軟件包支持方法的溫度,以及一個簡單的線性轉換(清單3)。

  浮cn0398::read_rtd()

  {

  浮子溫度=0;

  int32_t數據;

  ADC值[ rtd_channel ] =數據= read_channel(rtd_channel);

  抗浮=((static_cast <飄>(數據)- _2_23)* RREF)/(temp_gain * _2_23);

  # ifdef use_linear_temp_eq

  溫度= pt100_resistance_to_temp(電阻);

  其他#

  #定義(3.9083×pow(10,3))

  #定義B(5.775×pow(10,7))

  如果(電阻

  溫度= -242.02 + 2.228 *電阻+(2.5859×pow(10,3))*戰俘(電阻,2)-(48260×pow(10,6))*戰俘(電阻,3)-(2.8183×pow(10,3))*戰俘(電阻,4)+(1.5243×pow(10,10))*戰俘(電阻,5);

  其他的

  溫度=((- + sqrt(雙(戰俘(一、2)- 4 * b *(1 -抗性/ R0))))/(2×B));

  # endif

  回水溫度;

  }

  清單3:將電阻值的溫度,模擬設備樣品常規說明選擇基於靜態定義的適當方法的基本設計模式(use_linear_temp_eq)或動態值(電阻

  如清單3所示,樣品read_rtd()例程允許開發者選擇一個簡單的線性轉換宏,pt100_resistance_to_temp,在cn0398.cpp模塊定義。另外,開發人員可以使用在read_rtd()例程提供的更復雜的數學表達式。在這種情況下,0°C拐點選擇合適的表達是隱含在R0,這是在0°C. RTD電阻。


  結論

  爲了建立土壤測量系統,工程師們在硬件和軟件方面都面臨着一系列挑戰。硬件設計必須解決傳感器接口的要求,而軟件必須適應不同的方法,將原始數據轉換成有用的信息。

  模擬設備cn0398板和aducm360_demo_cn0398開源軟件包解決土壤測量系統設計方面。用於模擬裝置的Arduino兼容adicup360踢腳線的組合,cn0398板和軟件提供一個完整的土壤測量解決方案。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章