সুচিপত্র:

ফল্ট-টলারেন্ট তাপমাত্রা সেন্সর নেটওয়ার্ক কন্ট্রোলার: 8 টি ধাপ
ফল্ট-টলারেন্ট তাপমাত্রা সেন্সর নেটওয়ার্ক কন্ট্রোলার: 8 টি ধাপ

ভিডিও: ফল্ট-টলারেন্ট তাপমাত্রা সেন্সর নেটওয়ার্ক কন্ট্রোলার: 8 টি ধাপ

ভিডিও: ফল্ট-টলারেন্ট তাপমাত্রা সেন্সর নেটওয়ার্ক কন্ট্রোলার: 8 টি ধাপ
ভিডিও: Lecture 59 : Milk Processing and Packaging Industries 2024, নভেম্বর
Anonim
ত্রুটি-সহনশীল তাপমাত্রা সেন্সর নেটওয়ার্ক নিয়ামক
ত্রুটি-সহনশীল তাপমাত্রা সেন্সর নেটওয়ার্ক নিয়ামক

এই নির্দেশযোগ্য আপনাকে দেখায় কিভাবে একটি Arduino Uno বোর্ডকে একক-উদ্দেশ্য নিয়ন্ত্রক রূপে DS18B20 তাপমাত্রা সেন্সরের একটি সেটের জন্য ত্রুটিপূর্ণ সেন্সরগুলির স্বয়ংক্রিয় বিচ্ছিন্নতায় সক্ষম করে।

নিয়ামক Arduino Uno দিয়ে 8 টি সেন্সর পরিচালনা করতে পারে। (এবং আরো অনেক কিছু Arduino মেগা বা সামান্য সফ্টওয়্যার পরিবর্তন সহ।)

ধাপ 1: পিছনের গল্প …

কয়েক বছর আগে আমি আমার পাই-ভিত্তিক হিটিং কন্ট্রোলারের জন্য আমার বাবার গ্রিনহাউসে একটি DS18B20 তাপমাত্রা সেন্সর নেটওয়ার্ক স্থাপন করেছি। দুর্ভাগ্যবশত, নিয়ন্ত্রকের নির্ভরযোগ্যতা প্রধানত ঘন ঘন সেন্সর বিভ্রাটের কারণে খারাপ ছিল। আমি একাধিক সেটআপের চেষ্টা করেছি - প্যারাসাইট পাওয়ার, ডাইরেক্ট পাওয়ার, নেটওয়ার্ককে পাই এর সাথে সংযুক্ত করার পাশাপাশি এটিকে অ্যাটমেগা -ভিত্তিক কাস্টম বোর্ডের সাথে সংযুক্ত করা (যার প্রাথমিক উদ্দেশ্য ছিল ভালভ মোটর চালানো)।

কী খারাপ, সেন্সর নেটওয়ার্কের নির্ভরযোগ্যতা প্রধানত শীতের রাতের সময় কমে যায় যখন গ্রীষ্মে প্রায় কোন সমস্যা ছিল না! নরক এখানে কি ঘটছে?

কোন সেন্সর সমস্যার কারণ তা খতিয়ে দেখতে, তাদের এক-এক করে চালু/বন্ধ করার বা তাদের যেকোনো সমন্বয় সক্ষম করার প্রয়োজন দেখা দিয়েছে।

ধাপ 2: এটি কিভাবে কাজ করে

DS18B20 (তাপমাত্রা সেন্সর) মালিকানাধীন 1-তারের প্রোটোকল ব্যবহার করে যা একাধিক সেন্সরকে সাধারণ ডেটা লিঙ্ক (যে একটি তারের) ভাগ করতে দেয়। এই সাধারণ ডেটা লিঙ্কটি Arduino এর GPIO পিনের একটি এবং একটি পুল-আপ রোধের মাধ্যমে + 5 V- এর সাথে সংযুক্ত-অসাধারণ কিছু নয়, অনেক নির্দেশিকা এই সেটআপটি কভার করে।

কৌশলটি হ'ল প্রতিটি সেন্সরের পাওয়ার লিডগুলি নিজস্ব (ডেডিকেটেড) জিপিআইও পিনের সাথে সংযুক্ত থাকে, যাতে সেগুলি আলাদাভাবে চালু এবং বন্ধ করা যায়। উদাহরণস্বরূপ, যদি একটি সেন্সরের Vcc সীসা পিন #3 এবং GND পিন #2 এর সাথে সংযুক্ত থাকে, তাহলে পিন #3 কে উচ্চতায় সেট করা সেন্সরের জন্য শক্তি সরবরাহ করে (অবাক হওয়ার কিছু নেই) যখন পিন #2 কে LOW সেট করা স্থল সরবরাহ করে আমাকে). উভয় পিনকে ইনপুট মোডে সেট করা (প্রায়) সেন্সর এবং তারের তারগুলি সম্পূর্ণরূপে বিচ্ছিন্ন করবে - এর ভিতরে যতই ব্যর্থতা (e। G। একটি শর্টকাট) ঘটুক না কেন, এটি অন্যদের সাথে হস্তক্ষেপ করবে না।

(ন্যায্যভাবে বলা যায় যে ডাটা ওয়্যারকে অন্য কোনভাবে Arduino এর সাথে সংযুক্ত করা আসলেই হস্তক্ষেপ করবে, কিন্তু আমার সেটআপের ক্ষেত্রে এটি প্রায় অসম্ভব)।

লক্ষ্য করুন যে DS18B20 1, 5 mA পর্যন্ত খরচ করে যখন একটি Arduino পিন 40 mA পর্যন্ত উৎস / ডুবে যেতে পারে, তাই এটি সরাসরি GPIO পিন দ্বারা পাওয়ার সেন্সরগুলির জন্য সম্পূর্ণ নিরাপদ।

ধাপ 3: উপাদান এবং সরঞ্জাম

উপাদান

  • 1 আরডুইনো ইউএনও বোর্ড
  • 3 টি মহিলা পিন হেডার: 1 × 4, 1 × 6 এবং 1 × 6 (বা আরও বেশি - আমি তাদের 1 × 40 হেডার থেকে কেটেছি)
  • একটি আঠালো
  • খালি কুপার তারের একটি টুকরা (কমপক্ষে 10 সেমি)
  • একটি অন্তরণ টেপ
  • সোল্ডারিং উপভোগ্য সামগ্রী (তার, ফ্লাক্স …)

সরঞ্জাম

  • সোল্ডারিং সরঞ্জাম (লোহা, ধারক, …)
  • ছোট কাটিং প্লেয়ার

ধাপ 4: একসাথে জিনিসগুলি ঠিক করুন

একসাথে জিনিস ঠিক করুন
একসাথে জিনিস ঠিক করুন

Arduino বোর্ড শিরোনামে মহিলা পিন হেডার আঠালো:

  1. "এনালগ" পিন হেডারের পাশে 1 × 4 হেডার, A0 – A4 পিনের সাথে পাশে
  2. প্রথম ডিজিটাল পিন হেডারের পাশে 1 × 6 হেডার, 2-7 পিনের সাথে পাশে
  3. দ্বিতীয় ডিজিটাল পিন হেডারের পাশে 1 × 6 হেডার, 8-13 পিনের সাথে পাশে

লক্ষ্য করুন যে আমার হেডারগুলি একটু বেশি লম্বা … এর কোন অসুবিধা নেই এবং আমার মনে হয় কোন প্রকার সুবিধা নেই।

ধাপ 5: ওয়্যার থিংস একসাথে

ওয়্যার থিংস টুগেদার
ওয়্যার থিংস টুগেদার
ওয়্যার থিংস টুগেদার
ওয়্যার থিংস টুগেদার

1-তারের বাস লাইনের তারের:

  1. খালি তারের একটি টুকরা সোল্ডার করে "ডিজিটাল" সাইডে (পিন 2–13 সংলগ্ন) আঠালো হেডারের সমস্ত লিড সংযুক্ত করুন
  2. এসসিএল পিন লিডে এই তারের শেষটি বিক্রি করুন (অভ্যন্তরীণভাবে A5 এর সাথে সংযুক্ত)
  3. খালি তারের একটি টুকরা সোল্ডার করে "এনালগ" সাইডে (পিন A0 – A3) আঠালো হেডারের সমস্ত লিড সংযুক্ত করুন
  4. এই তারের শেষটি A4 এবং A5 লিডে বিক্রি করুন (আমি A5 এবং A6 ব্যবহার করেছি কারণ আমার একটি বোর্ড আছে যার A6 এবং A7 আছে)
  5. এই তারের অন্য প্রান্ত এবং +5 V পিন সীসা মধ্যে একটি 4k7 প্রতিরোধক Solder

মন্তব্য:

  • পিন A0 – A5, যদিও "এনালগ" হিসাবে চিহ্নিত করা হয়েছে, GPIO ডিজিটাল পিন হিসাবেও ব্যবহার করা যেতে পারে।
  • "ডিজিটাল" সাইডে এসসিএল পিন "এনালগ" সাইডে এ 5 এর সাথে অভ্যন্তরীণভাবে সংযুক্ত; হেডারের সাথে সংযুক্ত, এটি 1-তারের বাস লাইন গঠন করে
  • A4 (এনালগ ইনপুট হিসাবে ব্যবহৃত) ডায়াগনস্টিক উদ্দেশ্যে বাসের ভোল্টেজ পরিমাপ করে। এ কারণেই এটি সরাসরি বাসের সাথে সংযুক্ত।
  • আমি A4 এর পরিবর্তে A6 ব্যবহার করেছি কারণ আমার একটি বোর্ড আছে যার A6 এবং A7; মূলত আমি A7 কে 1-ওয়্যার বাস মাস্টার হিসাবে ব্যবহার করতে চেয়েছিলাম কিন্তু এই দুটি পিন ডিজিটাল GPIO হতে কনফিগার করা যাবে না।
  • সেন্সর সংযোগকারীদের ভুল সংযোগ রোধ করতে আপনি প্রতিটি পুরুষ সংযোগকারী থেকে অব্যবহৃত যোগাযোগ (কোন তারের সাথে সংযুক্ত নয়) বাদ দিতে / কাটাতে পারেন এবং আঠালো পিন হেডারের সংশ্লিষ্ট গর্তে ুকিয়ে দিতে পারেন।

ধাপ 6: সেন্সর সংযুক্ত করা

সেন্সর সংযুক্ত করা হচ্ছে
সেন্সর সংযুক্ত করা হচ্ছে

আপনি মাত্র আট 2 × 2 সকেটের একটি অ্যারে তৈরি করেছেন। আপনি সোল্ডার এবং 2 × 2 ডুপন্ট সংযোগকারীগুলিকে সেন্সর তারের সাথে সংযুক্ত করতে এবং এই সকেটে সংযুক্ত করতে পারেন। সফ্টওয়্যারটি পিনগুলিকে কনফিগার করে যাতে এমনকি পিনগুলি GND পিন এবং বিজোড় পিনগুলি Vcc পিন হয়। প্রতিটি সেন্সরের জন্য, Vcc পিন হল শুধু GND পিন + 1. 2 × 2 সকেটের অন্য দুটি পিনের একটি (আঠালো ও সোল্ডার হেডারের মধ্যে দুটি) সেন্সরের ডাটা তারের জন্য। আপনি কোনটা ব্যবহার করেন সেটা কোন ব্যাপার না।

ধাপ 7: কন্ট্রোলার সফটওয়্যার

কন্ট্রোলার সফটওয়্যার
কন্ট্রোলার সফটওয়্যার

সিরিয়ালথার্মোমিটার স্কেচ নিয়ামক চালায়। আপনি এটি github এ খুঁজে পেতে পারেন। Arduino IDE ব্যবহার করে খুলুন এবং আপলোড করুন।

ধাপে ধাপে:

  1. আপনার Arduino IDE খুলুন এবং DallasTemperature লাইব্রেরি এবং তার সমস্ত নির্ভরতা স্কেচ | লাইব্রেরি অন্তর্ভুক্ত করুন লাইব্রেরি পরিচালনা করুন।
  2. ক্লোন গিট রিপোজিটরি। গিটের সাথে পরিচিত না হলে, এই জিপটি আপনার কম্পিউটারে ডাউনলোড করে আনপ্যাক করুন।
  3. আপনার Arduino IDE তে সিরিয়ালথার্মোমিটার স্কেচ খুলুন।
  4. আপনার পরিবর্তিত আরডুইনো বোর্ডকে আপনার কম্পিউটারে ইউএসবি কেবল দ্বারা সংযুক্ত করুন (স্ট্যান্ডার্ড উপায়)
  5. আপনার Arduino IDE ব্যবহার করে স্কেচ আপলোড করুন
  6. সরঞ্জামগুলির মাধ্যমে সিরিয়াল মনিটর খুলুন সিরিয়াল মনিটর
  7. আপনার ডায়াগনস্টিক আউটপুট দেখতে হবে যাতে বেশ কয়েকটি শারীরিক পরিমাপ থাকে যার পরে তাপমাত্রা রিডিং হয় - প্রতিটি সেন্সর সকেট একক লাইনে। যদি সেন্সর গণনা পৃথকভাবে চালু করা হয় এবং যখন সব একসাথে চালু হয়), সমাধান না হওয়া পর্যন্ত ডায়াগনস্টিক লুপ। কিন্তু কোন চিন্তা নেই, ডায়াগনস্টিক তাপমাত্রা পরিমাপ প্রদান করে!

ডায়াগনস্টিক আউটপুট সম্পর্কে আরো বিস্তারিত জানার জন্য টীকাযুক্ত ছবি দেখুন।

ধাপ 8: উপসংহার

আমার দৃ feeling় অনুভূতি আছে যে আমার সেন্সর নেটওয়ার্ক ব্যর্থতা আমার দীর্ঘ তারের উচ্চ ক্যাপাসিট্যান্সের কারণে ঘটেছিল - প্রতিটি সেন্সরের জন্য LIYY 314 (3 × 0, 14 mm²) তারের প্রায় 10 মিটার। আমার পরীক্ষাগুলি দেখিয়েছে যে 1-তারের বাস এবং মাটির মধ্যে 0.01 μF এর কাছাকাছি বা তার বেশি ক্যাপাসিট্যান্স থাকলে যোগাযোগ বিচ্ছিন্ন হয়, আমি মনে করি কারণ 4k7 পুল-আপ প্রতিরোধক প্রোটোকল সীমা মেনে চলার জন্য বাসকে + 5 V তে দ্রুত টানতে সক্ষম নয় ।

আমার সেটআপে এটি ঘটে যখন 3 টির বেশি সেন্সর একসাথে সংযুক্ত থাকে। তারপর, নিয়ামক ডায়াগনস্টিক চক্রের মধ্যে লুপ, তাপমাত্রা সেন্সর-বাই-সেন্সর পরিমাপ (যা খুব শীতল …)

কিন্তু 5 ম সেন্সর (28: ff: f2: 41: 51: 17: 04: 31) বেশ অসুস্থ দেখাচ্ছে (হয়তো ভুল সোল্ডারিং), তাই আমি আরও তদন্ত করতে পারি!

প্রস্তাবিত: