অর্ডিনো দিয়ে তাপমাত্রাটি সঠিকভাবে পরিমাপ করুন


10

আমি আরডুইনো দিয়ে থার্মোস্ট্যাট তৈরি করার চেষ্টা করছি। আমি মোবাইল ফোনের ব্যাটারি / চার্জার ব্যবহার করে এটি বিদ্যুত করতে চাই যা সিস্টেম ভোল্টেজকে বেশ পরিবর্তনশীল করে তোলে। এখনই আমি আরডুইনো ইউনো ব্যবহার করি তবে এটি শেষ হয়ে গেলে আমি এটি লিলিপ্যাডে বন্দরে রাখব will

প্রথমে আমি টিএমপি 36 তাপমাত্রা সেন্সর ব্যবহার করার চেষ্টা করেছি । এখনও পর্যন্ত এটি সম্পূর্ণ ব্যর্থতা ছিল। যদিও সেন্সরটি নিজেই খুব স্থিতিশীল বলে মনে হচ্ছে, আমি এর ভোল্টেজকে সঠিকভাবে পরিমাপ করার কোনও উপায় অনুমান করতে পারি না।

অ্যানালগ সেন্সরগুলির জন্য অন্তর্নির্মিত 5 ভি রেফারেন্সটি ব্যবহার করা মোটেও কাজ করছে না - এমনকি ইউএসবি আরডুইনো + 5 ভি থেকে চালিত আসলে + 4.8 ভি হয় (যা পরিমাপিত তাপমাত্রাকে কয়েক ডিগ্রি স্থানান্তরিত করে)। বোর্ডটি যখন ব্যাটারি থেকে চালিত হয়, তখন ভোল্টেজ প্রায় 4V তে নেমে যায় এবং পরিমাপ করা তাপমাত্রার আকাশ-রকেট। আমি বোর্ড থেকে রেফারেন্স হিসাবে + 3.3V ব্যবহার করার চেষ্টাও করেছি। বোর্ডটি যখন ইউএসবি থেকে চালিত হয় তখন এটি আরও স্থিতিশীল বলে মনে হয়, তবে ব্যাটারিটি চালিত হওয়ার সময় এর ভোল্টেজটি হ্রাস পায়।

সেন্সর আউটপুট ভোল্টেজ নির্ভরযোগ্যতার সাথে পরিমাপ করার অন্য কোনও উপায় আছে কি?

দ্বিতীয় পর্যায়ে আমি থার্মিস্টর ব্যবহার করার পরিকল্পনা করছি। কেবলমাত্র এই 20 কে থার্মিস্টরের কয়েকটিকে অর্ডার করেছেন ।

আমি যা বুঝি সেগুলি থেকে, আমি যদি ভোল্টেজ ডিভাইডার তৈরি করি এবং ADC এর জন্য রেফারেন্স ভোল্টেজ হিসাবে V_in ব্যবহার করি তবে এগুলি সঠিকভাবে পরিমাপ করা সহজ হওয়া উচিত।

তাদের সম্পর্কে কয়েকটি প্রশ্ন:

  • নির্ভুলতা বাড়াতে বিভিন্ন স্থির প্রতিরোধকের সাথে কয়েকটি ভোল্টেজ ডিভাইডার ব্যবহার করা কি বোধগম্য?
  • আমি ভি_ইন হিসাবে প্রোগ্রামেবল পিনটি ব্যবহার করতে পারি এবং কয়েকটি ভিন্ন ভোল্টেজের স্তর ব্যবহার করে তাপমাত্রা পরিমাপ করতে পারি। যদিও এটি আমার কাছে পরিষ্কার নয় যে এটি আসলে নির্ভুলতা বৃদ্ধি করবে কিনা।

আপনার তাপমাত্রা রূপান্তর কোড পোস্ট করুন।
জ্যামিতিকাল

আপনি "নির্ভুলভাবে" বলতে চাইছেন দয়া করে সংজ্ঞা দিন। আপনি কোন ধরণের তাপমাত্রা সমাধান এবং নিখুঁত নির্ভুলতা অর্জনের চেষ্টা করছেন?
জো হ্যাস

আমি প্রায় 1-2 ডিগ্রি রেজোলিউশন পেতে আশা করি। 1-2 ডিগ্রি এর সম্পূর্ণ ক্রমাঙ্কন ত্রুটিও ঠিক হওয়া উচিত। 0C-তে রেফারেন্স পয়েন্ট পাওয়ার তুলনামূলক সহজ আমি যা বুঝি সে থেকে এবং আমি অনুমান করি যে ক্রস-ক্যালিব্রেটিং সেন্সর দিয়ে ঘরের তাপমাত্রায় আমি দ্বিতীয় (অনেক বেশি রুক্ষ) পয়েন্ট পেতে পারি।
উসোভ

5-25C পরিসরে তাপমাত্রার জন্য 1-2 ডিগ্রি।
উসোভ

@ জ্যামিত্রিকাল আমার এখনই এটি হাতে নেই, তবে এটির মূলত সবার মতোই: প্রথম নমুনাটি ফেলে দিন, কয়েক মিলিস অপেক্ষা করুন, আরও কয়েকবার নমুনা এবং গড় নমুনা। তারপরে আপনি যা বিশ্বাস করেন আপনার রেফারেন্স ভোল্টেজ তা দিয়ে পুনরুদ্ধার করুন।
উসোভ

উত্তর:


2

দেখে মনে হচ্ছে আপনি রেফারেন্স ভোল্টেজ পরিবর্তনের সমস্যাটি সম্পর্কে সচেতন এবং আপনি যদি টিএমপি 36 (ফিক্সড 10 এমভি / ডিগিসি) এর মতো ডিভাইস ব্যবহার করেন তবে জিনিসগুলিকে স্থিতিশীল করতে চিপ থেকে ভোল্টেজ রেফারেন্স ব্যবহার করা ছাড়া আর কিছুই করতে পারবেন না।

তবে আপনি যদি আরটিডি বা থার্মিস্টর ব্যবহার করছেন তবে সমস্যা দেখা দেবে না। আপনি এডিসি একটি অনুপাতের পরিমাপ করছেন - এটি এডিসি ইনপুটটিকে তার রেফারেন্স ভোল্টেজ বিটের সাথে তুলনা করে, যদি আপনি একই রেফ ভোল্টেজ থেকে আরটিডি বা থার্মিস্টরকে (একটি উপযুক্ত রেজিস্টারের মাধ্যমে) পাওয়ার করেন তবে এটি পড়ার উপর প্রভাব ফেলবে না। যদি রেফ 10% উপরে যায় তবে ভোল্টেজটি এডিসিতে যায়।


4

আমার মনে হয় আপনি DS18B20 / DS18S20 এর মতো ডিজিটাল টেম্পারেচার সেন্সর ব্যবহার করা বিবেচনা করা উচিত কারণ এটি কোনও এনাওলগ সিগন্যাল পরিমাপ করতে আপনার এটিমেগা এডিসির যথার্থতার উপর নির্ভর করে না, এটি তাপমাত্রা প্রতিবেদন করতে 1-তারের ডিজিটাল প্রোটোকল ব্যবহার করে।

নিম্নলিখিত টিউটোরিয়াল পড়ুন
http://playground.arduino.cc/Learning/OneWire
http://www.hobbytronics.co.uk/ds18b20-arduino


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

একই লাইনে আমার নিজের উত্তর লেখার পরিবর্তে জো দ্বারা উত্থাপিত উদ্বেগের সমাধান করার জন্য আমি এই এটি সম্পাদনা করেছি।
রেডগ্রিটিব্রিক

@ জোহাস বাইরের নিবন্ধগুলির সাথে লিঙ্ক করার চেয়ে একমাত্র বিকল্প হ'ল উত্তরে কোডটি সংযুক্ত করা তবে আমার নিজের সংযুক্ত করার জন্য নিজস্ব কোড নেই এবং কারও সম্মতি ব্যতীত কোনও এলেস কোড সংযুক্ত করা আলাদা নয় fair লিঙ্কগুলি মরে গেলেও গুগল এবং ডিএস 18 বি 20-কে কীওয়ার্ড হিসাবে ব্যবহার করে আরডুইনোর জন্য একটি লাইব্রেরি সহজেই পাওয়া যায়। ব্যাখ্যা সম্পর্কে, এটি আমার ভুল ছিল, আমি ভেবেছিলাম যে সেন্সরটি ডিজিটাল তা উল্লেখ করা আমার বক্তব্যটি ব্যাখ্যা করবে।
অ্যালেক্সান_ই

মন্তব্যের জন্য ধন্যবাদ. কোনও কারণে ডিজিটাল সেন্সরগুলি খুঁজে পাওয়া বেশ কঠিন। স্থানীয় সরবরাহকারী (ম্যাপলিন) বা সস্তা (এর) অনলাইন ছেলেরা (আমি সর্পিলট্রনিক্স ব্যবহার করেছি) কোনও বিক্রি করে না। Pop 3 একটি পপ + বিতরণ এখনও এটি তুলনামূলকভাবে ব্যয়বহুল বিকল্প করে।
উসোভ

@ ইউসোভ আপনি যে লিঙ্কগুলি সরবরাহ করেছেন তা বিচার করে আমি ধরে নিই যে আপনি যুক্তরাজ্যে থাকেন live আমি সাধারণত এই উপাদানগুলি চীন থেকে সস্তায় কিনে থাকি তবে আমি এগুলি ইবে.উকে £ ১.৯৯ ডলারেও পেয়েছি , সম্ভবত তারা আপনার পক্ষে উপযুক্ত হবে
alexan_e

3

আপনার পরিমাপটি এডিসির জন্য রেফারেন্স ভোল্টেজের মতো ভাল হবে। আরডুইনো ডিফল্টরূপে সরবরাহ ভোল্টেজকে রেফারেন্স ভোল্টেজ হিসাবে ব্যবহার করে তবে আপনার ক্ষেত্রে সঠিক উপায়টি হ'ল আরডুইনোর আরেফ পিন ব্যবহার করা। আপনাকে "ভোল্টেজ রেফারেন্স" নামে একটি বিশেষ চিপ পেতে হবে এবং এটিকে আরেফ পিনের সাথে সংযুক্ত করতে হবে, তারপরে আড়ডিনো কোডে বাহ্যিক রেফারেন্সটি ব্যবহার করতে ADC সেট করুন ( analogReference(EXTERNAL))

রেফারেন্সের ভোল্টেজটি নির্বাচন করতে হবে যাতে আপনার তাপমাত্রা সংবেদকের পুরো সুইং রেফারেস ভোল্টেজের সাথে ফিট করে। TMP36 ~ 1.5V @ 100C আউটপুট দেবে, সুতরাং আপনাকে 100C অবধি তাপমাত্রা পরিমাপ করার জন্য 1.5V এর উপরে রেফারেন্স ব্যবহার করতে হবে। যথাসম্ভব রেজোলিউশন পেতে আপনার রেফারেন্সটি যথাসম্ভব সর্বোচ্চ ভোল্টেজ পরিমাপ করতে চান।

Atmega328p এর দুটি অভ্যন্তরীণ উল্লেখ রয়েছে যা কোনও বাহ্যিক উপাদান ছাড়াই ব্যবহার করা যেতে পারে। একটি হ'ল 1.1V, অন্য 2.56V। বাহ্যিক ডেডিকেটেড উপাদান ব্যবহার করে আপনি যা পাবেন তার চেয়ে এগুলি সাধারণত খানিকটা খারাপ নির্ভুলতা থাকে। অ্যানালগ রেফারেন্সের জন্য আরডুইনো ডকুমেন্টেশন এবং অভ্যন্তরীণ রেফারেন্স যথার্থতার জন্য Atmega328p ডেটাশিট পরীক্ষা করুন ।

আপনি যদি সত্যই বিভিন্ন রেঞ্জের সাথে বাদাম পেতে চান তবে আপনি বেশ কয়েকটি বাহ্যিক রেফারেন্স ব্যবহার করতে পারেন এবং 74hc4051 এর মতো এনালগ স্যুইচ ব্যবহার করে সেগুলি স্যুইচ করতে পারেন। অথবা আপনি দুটি অভ্যন্তরীণ উল্লেখের মধ্যে স্যুইচ করতে পারেন।

বোবা প্রতিরোধকের পরিবর্তে যদি আপনি একটি ধ্রুবক বর্তমান উত্স সেট আপ করেন তবে থার্মিস্টরের সাহায্যে আপনার আরও ভাল ফলাফল হবে। অন্যদিকে - একটি স্থির ভোল্টেজ রেফারেন্স থেকে চালিত বোবা প্রতিরোধক ঠিক কাজ করবে।

বাহ্যিক রেফারেন্স নির্বাচন করার সময়, ব্যাটারি এবং ব্যাটারিগুলি সমতল থেকে পাওয়ার করার সময় আপনার ড্রপ আউট ভোল্টেজের জন্য উপযুক্ত পর্যাপ্ত ভোল্টেজ রয়েছে তা নিশ্চিত করুন। ভেরেফ + ভিড্রপআউট <ভ্যাবট-মিনিট।


আপনার মন্তব্যের জন্য ধন্যবাদ. এটি আজ মূলত আমার একই মন্তব্য - জেনার ডায়োডে আমার নিজের রেফ ভোল্টেজ তৈরি করুন বা এআরএফের জন্য নিবেদিত লো-ভোল্টেজ নিয়ন্ত্রক পান।
উসোভ

ধ্রুবক বর্তমান এবং একটি থার্মিস্টারের সাথে আরও ভাল ফলাফল কেন?
জ্যামিতিকাল

2

স্থিতিশীল এডিসি রেফারেন্স না পাওয়া আসলে আপনার সার্কিটের অন্য কোনও সমস্যার লক্ষণ: আপনি বোর্ডকে উচ্চ পর্যায়ে ভোল্টেজ সরবরাহ করছেন না। এটি 5V সরবরাহ 4V এ নেমে যাওয়ার পাশাপাশি এবং 3.3V-তেও ড্রপিং দ্বারা নির্দেশিত।

আরডুইনো বোর্ডের ভোল্টেজ নিয়ন্ত্রণকারী (MC33269D-5.0 IIRC) এর একটি ড্রপআউট ভোল্টেজ ~ 1.0V ~, সুতরাং একটি স্থিতিশীল 5V আউটপুট পেতে আপনাকে কমপক্ষে 6V সরবরাহ করতে হবে। এএ ব্যাটারিগুলি 1.5-1.6V এ শুরু হয় এবং 1.1V এ প্রায় মৃত হয় তাই আপনাকে পুরো ব্যাটারি লাইফের উপর স্থিতিশীল আউটপুট জন্য কমপক্ষে 6 এএ ব্যাটারি সহ বোর্ডকে শক্তি প্রয়োগ করতে হবে।

সঠিকভাবে চালিত, আপনি অভ্যন্তরীণ এডিসি রেফারেন্স বা 5V বা 3.3V লাইন ব্যবহার করতে পারেন। যেহেতু তাপমাত্রা সেন্সরটি প্রতি ডিগ্রি সেলসিয়াসের প্রায় 10mV দ্বারা পরিবর্তিত হয়, আপনি সর্বাধিক প্রত্যাশিত সেন্সর আউটপুট ভোল্টেজের (যেমন 50 ডিগ্রি সেলসিয়াসের জন্য) রেফারেন্স ভোল্টেজ সেট করতে একটি ভোল্টেজ বিভাজক ব্যবহার করতে পারেন। এটি আরও সুনির্দিষ্ট পরিমাপ দেবে।

যদি আপনি 6 টি এরও কম ব্যাটারি ব্যবহার করতে চান তবে একটি ডিসি-ডিসি বুস্ট কনভার্টারের চেষ্টা করুন, যেমন https://www.sparkfun.com/products/10968 । লিঙ্কযুক্ত উদাহরণটি 1V - 4V লাগে এবং 5 ভি করে। আউটপুটটি তার নিয়ামককে বাইপাস করে সরাসরি আরডুইনোর 5 ভি পিনে খাওয়ানো হবে।

বোর্ডটি ব্যাটারিগুলিতে বেশি দিন চালিত হতে, সেন্সর পঠনের মধ্যে এমসিইউ রাখুন sleep Rocketscream কম শক্তি গ্রন্থাগার এই কাজের জন্য মহান। একটি দক্ষ নিয়ামক / ডিসি-ডিসি রূপান্তরকারী ব্যবহার করার সময় এটি কেবল সত্যই কার্যকর যখন স্ট্যান্ডার্ড আরডুইনো নিয়ন্ত্রক কেবল নিজের দ্বারা 10 এমএ ব্যবহার করে!


1

প্রশ্নের উত্তর উত্তর সেন্সর আউটপুট ভোল্টেজ নির্ভরযোগ্যতা পরিমাপ করার জন্য অন্য কোন উপায় আছে?

অ্যানালগ থেকে ডিজিটাল রূপান্তরকরণের জন্য এডিসি রেফারেন্স ভোল্টেজ ব্যবহার করে। সুতরাং যদি রেফারেন্স ভোল্টেজের পরিবর্তন হয় তবে রূপান্তরিত মানগুলি (অর্থাত্ ডিজিটাল মান) পরিবর্তন হবে। রেফারেন্স ভোল্টেজ পরিবর্তিত হলে একই অ্যানালগ ইনপুটটির জন্য ডিজিটাল মান পৃথক হবে।

একটি সহজ বিকল্প হ'ল আরডুইনোর অভ্যন্তরীণ রেফারেন্স ভোল্টেজ ব্যবহার করা (অর্থাত্ আতমেগা নিয়ামক)।

নীচের লিঙ্কটি দেখুন যেখানে অভ্যন্তরীণ এডিসি ব্যবহার করার জন্য একটি নমুনা কোড সরবরাহ করা হয়েছে (আরডুইনো ফাংশনের নাম - অ্যানালগ রেফারেন্স (ডিফল্ট))

http://tronixstuff.com/2013/12/12/arduino-tutorials-chapter-22-aref-pin/

আমি মনে করি এটি আপনার সমস্যার সমাধান করবে এবং থার্মিস্টরগুলির দিকে যাওয়ার দরকার নেই।


"হ্যাকিং ওয়াইফাই অনুসন্ধানকারী" কীভাবে প্রাসঙ্গিক তা আমি নিশ্চিত নই - আমি সেখানে প্রাসঙ্গিকতার কোনও কিছুই পাই না। অভ্যন্তরীণ এডিসি রেফারেন্স সম্পর্কে - আমি এটি সম্পর্কে লিখেছি। এমনকি আরডুইনো ইউএসবি থেকে চালিত হওয়ার পরেও এটি কাজ করছে না। এবং বোর্ডটি যখন সেল ফোনের ব্যাটারি থেকে চালিত হয় (3.7 - 4.5V) এটি আরও খারাপ।
উসোভ

দুঃখিত এটির একটি অনুলিপি / পেস্ট ভুল। শীঘ্রই লিঙ্কটি সংশোধন করবে!
রোবমন

@ উসভ লিঙ্ক সংশোধন!
রোবমন

এমেগা 328 অনুমান অনুসারে 1.1 ভি অভ্যন্তরীণ 10% এর বেশি ভেসে উঠতে পারে। এটি খুব নির্ভরযোগ্য রেফারেন্স বলে মনে হয় না।
উসোভ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.