اتصال سنسور NPK خاک به آردوینو (اندازه گیری نیتروژن، پتاسیم، فسفر)

محتویات
گیاهان شما نیز مانند شما به غذا نیاز دارند. برای اینکه گیاهان سالمتر و پربارتر باشند، به سه ماده مغذی ضروری نیتروژن، فسفر و پتاسیم نیاز دارند که به عنوان NPK نیز شناخته میشوند. اگر خاک باغ شما به اندازه کافی از این مواد مغذی نداشته باشد، گیاهان با پتانسیل کامل خود رشد نخواهند کرد. بنابراین، اندازه گیری سطوح N، P و K فعلی خاک برای تعیین مقدار مواد مغذی اضافی برای افزایش حاصلخیزی محصول ضروری است.
با استفاده از حسگر خاک NPK و آردوینو، می توانید به سرعت سطوح این مواد مغذی را در خاک تعیین کنید.
حروف NPK سه عنصر اصلی مورد نیاز گیاهان برای رشد و نمو هستند: نیتروژن، فسفر و پتاسیم.
- نیتروژن مسئول رشد و سبز شدن برگ های گیاه است.
- فسفر به گیاه کمک می کند تا ریشه ها، میوه ها و گل های قوی رشد کند.
- پتاسیم سلامت کلی و مقاومت گیاه را بهبود می بخشد.
سنسور JXCT خاک NPK
سنسور JXCT Soil NPK یک سنسور کم هزینه، سریع، دقیق و قابل حمل است. این سنسور به نظارت مواد مغذی NPK در خاک برای کشاورزی هوشمند کمک می کند. سنسور NPK خاک می تواند سطوح نیتروژن، فسفر و پتاسیم را در خاک (نه در آب) تشخیص دهد. این به تعیین حاصلخیزی خاک کمک می کند و امکان ارزیابی سیستماتیک تری از وضعیت خاک را فراهم می کند.
سنسور با ولتاژ 5-30 ولت کار می کند و برق بسیار کمی مصرف می کند. با توجه به دیتاشیت، قابلیت اندازه گیری نیتروژن، فسفر و پتاسیم با قدرت تفکیک تا 1 میلی گرم بر کیلوگرم (mg/l) را دارد.
این سنسور شامل یک پروب فولادی ضد زنگ است که مقاوم در برابر الکترولیت و مقاوم در برابر نمک است. بنابراین می توان آن را با هر نوع خاکی از جمله خاک قلیایی، خاک اسیدی، خاک بستر، خاک بستر نهال و … استفاده کرد.
پروب با رزین اپوکسی با چگالی بالا به بدنه مهر و موم شده است تا از ورود رطوبت به بدنه جلوگیری کند.
بهترین بخش این است که سنسور دارای رتبه IP68 است، به این معنی که از آن در برابر گرد و غبار و رطوبت محافظت می شود و به آن اجازه می دهد برای مدت بسیار طولانی به طور مناسب کار کند.
برای استفاده موثر در فواصل طولانی، سنسور دارای رابط ارتباطی RS485 است و از پروتکل استاندارد ارتباطی Modbus-RTU پشتیبانی می کند.
لازم به ذکر است که سنسور را نمی توان مستقیماً با آردوینو استفاده کرد. برای برقراری ارتباط با آردوینو، به یک ماژول فرستنده گیرنده RS-485 نیاز دارید که یک جریان سریال UART را به RS-485 تبدیل می کند.
مشخصات فنی
در اینجا مشخصات آمده است:
تغذیه | 5V-30V |
محدوده اندازه گیری | 0-1999 mg/kg (ml/l) |
دمای کاری | 5-45 °C |
رزولوشن | 1mg/kg (ml/l) |
دقت | ±2% F.S. |
سیگنال خروجی | RS485 |
ضد آب و گرد و غبار | IP68 |
سنسور NPK خاک JXCT یک سنسور هدایت الکتریکی (سنسور EC) است. این سنسور به طور مستقیم محتوای NPK خاک را اندازه گیری نمی کند، بلکه آن را بر اساس هدایت الکتریکی خاک تخمین می زند. توجه داشته باشید که این روش دشوار و مستعد ایجاد نتایج نادرست است.
دستورالعمل استفاده از سنسور
محل اندازه گیری مناسب را انتخاب کنید، از وجود سنگ پرهیز کنید، مطمئن شوید که کاوشگر فولادی با هیچ جسم سخت تماس نداشته باشد و سنسور را به صورت عمودی در خاک قرار دهید.
به صورت اختیاری، سنسور را می توان به صورت افقی در گودال قرار داد، در این صورت گودال قبل از اینکه به طور محکم پر شود، به صورت عمودی با قطر بیشتر از 20 سانتی متر حفاری می شود.
پین های سنسور خاک NPK
این سنسور دارای یک کابل 2 متری با سیم های مسی لحیم شده است. پین اوت در شکل زیر نشان داده شده است.
- VCC پین VCC است. اتصال به ولتاژ 5-30 ولت
- A یک سیگنال دیفرانسیل است که به پایه A ماژول MAX485 Modbus متصل می شود.
- B سیگنال دیفرانسیل دیگری است که به پایه B ماژول MAX485 Modbus متصل می شود.
- GND پین Ground است.
اتصال سنسور NPK خاک به آردوینو
همانطور که قبلاً گفته شد، سنسور NPK را نمی توان مستقیماً با آردوینو استفاده کرد. برای برقراری ارتباط با آردوینو، به یک ماژول فرستنده گیرنده RS-485 نیاز دارید که یک جریان سریال UART را به RS-485 تبدیل می کند، مانند آنچه در زیر نشان داده شده است.
خوب، پس بیایید به سیم کشی برسیم.
سنسور NPK خاک دارای چهار سیم است. سیم برق قهوه ای است و باید به برق 5-30 ولت وصل شود. سیم زمین سیاه است و باید به یک GND مشترک متصل شود.
سیم زرد سنسور NPK باید به پایه A ماژول RS485 و سیم آبی باید به پایه B ماژول RS485 متصل شود.
پایه های R0 و DI ماژول RS485 را به ترتیب به پین های دیجیتال 2 و 3 آردوینو متصل کنید. این پین های دیجیتال به عنوان خطوط سریال مجازی RX و TX استفاده خواهند شد.
توجه داشته باشید که اگر از برد آردوینو مگا یا Mega 2560 استفاده می کنید، باید از پین های دیجیتال 10 و 11 استفاده کنید، زیرا در آن برد ها پین های دیجیتال 2 و 3 از وقفه های Change پشتیبانی نمی کنند.
پایه VCC ماژول RS485 باید به خروجی 5 ولت آردوینو و پایه های DE و RE به ترتیب به پایه های دیجیتال 7 و 8 متصل شوند.
در نهایت، مطمئن شوید که مدار شما و آردوینو یک GND مشترک دارند.
سیم کشی در تصویر زیر نشان داده شده است.
Modbus چیست؟
در صورتی که نمیدانید Modbus چیست، احتمالاً ایده خوبی است که قبل از ادامه مقاله به آن توجه کنید.
Modbus یک استاندارد واقعی برای پروتکل های ارتباطی صنعتی است زیرا متن باز و بدون حق امتیاز است. برای انتقال داده، از رابط های RS-485، RS-422 و RS-232 و همچنین شبکه های اترنت TCP/IP (پروتکل Modbus TCP) استفاده می کند.
انواع مختلفی از Modbus وجود دارد. موارد زیر محبوب ترین انواع پروتکل ها هستند:
- Modbus RTU (که ما می خواهیم پیکربندی کنیم)
- Modbus ASCII
- Modbus TCP
پروتکل Modbus RTU
Modbus RTU یک پروتکل master-slave است. در این پروتکل، تنها دستگاه اصلی (در مورد ما، یک آردوینو) مجاز به شروع ارتباط است. سایر دستگاههای موجود در شبکه به عنوان Slave (در مورد ما حسگرهای NPK) شناخته میشوند و فقط میتوانند به درخواستها پاسخ دهند. Modbus RTU می تواند تا 247 دستگاه را در یک شبکه فیزیکی پشتیبانی کند.
دیتا فریم Modbus RTU
از طریق پروتکل Modbus، پیام ها بین master و slave در قالب فریم های داده رد و بدل می شوند. فریم های درخواست و پاسخ وجود دارد. درخواست پیامی است که Master برای یکی از Slave ها ارسال می کند. پاسخ پیامی است که Slave برای Master ارسال می کند.
این درخواست همچنین شامل یک Checksum است که برای اطمینان از خراب نشدن پیام ارسال شده در راه رسیدن به Slave استفاده میشود.
یک پیام معمولی Modbus RTU حاوی آدرس دستگاه SlaveID، کد عملکرد، دادههای مبتنی بر کد تابع و CRC جمعبندی کنترلی است.
در زیر نمونه ای از فریم درخواست Modbus RTU است که به Slave شماره 1 دستور می دهد تا مقدار یک ثبات واحد را که از آدرس 2 شروع می شود برگرداند.
همه Slave ها به جز Slave شماره 1 این پیام را نادیده می گیرند. Slave #1 سپس یک پیام پاسخ به شکل زیر ارسال می کند:
درخواست Modbus RTU برای خواندن حسگر NPK
در زیر سه درخواست متمایز Modbus RTU برای خواندن مقادیر نیتروژن (N)، فسفر (P) و پتاسیم (K) از حسگر NPK آورده شده است. اگر درخواست موفقیت آمیز باشد، سنسور یک پیام پاسخ حاوی خوانده شده ارسال می کند.
برای خواندن نیتروژن
درخواست Modbus RTU برای خواندن سطح نیتروژن:
پاسخ مشابهی دریافت خواهید کرد:
از پاسخ می توانید سطح نیتروژن را بدست آورید. به عنوان مثال، اگر پاسخ حاوی مقدار 0x0020 در فیلد داده باشد، سطح نیتروژن را می توان به صورت زیر محاسبه کرد:
Nitrogen = 0x0020HEX = 32DEC => 32 mg/kg
برای خواندن فسفر
به طور مشابه، درخواست Modbus RTU برای خواندن سطح فسفر:
پاسخ مشابهی دریافت خواهید کرد:
از پاسخ می توانید سطح فسفر را بدست آورید. به عنوان مثال، اگر پاسخ حاوی مقدار 0x0025 در فیلد داده باشد، سطح فسفر را می توان به صورت زیر محاسبه کرد:
Phosphorous = 0x0025HEX = 37DEC => 37 mg/kg
برای خواندن پتاسیم
مشابه دو درخواست قبلی، درخواست Modbus RTU برای خواندن سطح پتاسیم است:
پاسخ مشابهی دریافت خواهید کرد:
از پاسخ می توانید سطح پتاسیم را بدست آورید. به عنوان مثال، اگر پاسخ حاوی مقدار 0x0030 در فیلد داده باشد، سطح پتاسیم را می توان به صورت زیر محاسبه کرد:
Potassium = 0x0030HEX = 48DEC => 48 mg/kg
کد آردوینو سنجش نیتروژن، فسفر و پتاسیم
کد قرار داده شده در فایل دانلودی زیر مقادیر نیتروژن، فسفر و پتاسیم را از حسگر NPK خاک می خواند و آنها را روی سریال مانیتور چاپ می کند.
موارد موجود در فایل : سورس کامل
برای دانلود فایل ها باید حساب کاربری داشته باشید ثبت نام / ورود