আমি সার্ডো-নিয়ন্ত্রিত ভালভ ব্যবহার করে গরম এবং ঠান্ডা নলের জল মিশ্রিত করতে একটি আরডুইনো লিওনার্দোতে একটি বেসিক পিআইডি অ্যালগরিদম বাস্তবায়নের চেষ্টা করছি। লক্ষ্যটি হ'ল তাপমাত্রা যতটা সম্ভব একটি নির্দিষ্ট পয়েন্টের কাছাকাছি রাখা। বিশেষত গুরুত্বপূর্ণটি হ'ল আউটপুট তাপমাত্রাকে ব্যবহারকারীকে পোড়া থেকে রক্ষা করতে সেটপয়েন্টটিকে ওভারশুট করা থেকে বিরত রাখা। দ্বিতীয়ত গুরুত্বপূর্ণটি হল পয়েন্টের কাছে তাপমাত্রা যত তাড়াতাড়ি সম্ভব পাওয়া।
তাপমাত্রায় সামান্য পরিবর্তনের জন্য, পিআইডি অ্যালগরিদমের একটি মানক বাস্তবায়ন ঠিক আছে বলে মনে হচ্ছে। তবে ভালভের কাছে পৌঁছানোর জন্য গরম জলের অপেক্ষা করার সময় যে দীর্ঘ বিলম্ব হতে পারে তার জন্য কীভাবে অ্যাকাউন্ট করবেন তা আমি জানি না, ভালভ অবস্থানগুলি পরিবর্তনের পরে এই বিলম্বগুলি স্ট্যান্ডার্ড বিলম্বের চেয়ে অনেক বেশি দীর্ঘ।
স্পষ্টতই গরম পানির সর্বশেষ ব্যবহারের পর থেকে গরম জলের রেখা এবং সময়ের দৈর্ঘ্যের উপর নির্ভর করে ভাল ভালভের কাছে পৌঁছতে একাধিক সেকেন্ড সময় নিতে পারে, সুতরাং এই সময়ের মধ্যে, জলের তাপমাত্রা কম তাপমাত্রায় মোটামুটি স্থির থাকে এবং গরম জল ভালভ শীঘ্রই 100% খুলবে। অবিচ্ছেদ্য উপাদানটি একটি বৃহত ত্রুটির মান জমা করতে শুরু করে।
যখন গরম জল অবশেষে ভাল্বের কাছে পৌঁছে যায় তখন সনাক্ত করা তাপমাত্রা সর্বাধিক গরম পানির তাপমাত্রায় খুব দ্রুত বৃদ্ধি পায়। বড় অবিচ্ছেদ্য ত্রুটির কারণে, গরম জলের ভালভটি তাপমাত্রা সেটপয়েন্টটি ছাড়িয়ে যাওয়ার পরে দীর্ঘ সময়ের জন্য 100% ধরে থাকে, অবিচ্ছেদ্য মানের জন্য অপেক্ষা করার কারণে স্বাভাবিক স্তরে হ্রাস করা যায়। সুতরাং ফলাফলটি কয়েক সেকেন্ডের দশকে সর্বোচ্চ তাপমাত্রার জল।
এই সম্ভাব্য দীর্ঘ বিলম্বের জন্য কীভাবে অ্যাকাউন্ট করবেন তা আমি নিশ্চিত নই । এই জাতীয় ক্ষেত্রে, সর্বাধিক প্রতিক্রিয়া সময় সীমাবদ্ধ করার জন্য, অবিচ্ছেদ্য ত্রুটি মানের উপর আবদ্ধ একটি উচ্চ (এবং নিম্ন) সেট করা কি বুদ্ধিমানের কাজ হবে? এটি অবিচ্ছেদ্য উপাদানটির উদ্দেশ্যকে পরাস্ত করে বলে মনে হচ্ছে এবং সেটপয়েন্টে পৌঁছানোর পরেও কিছুটা পিছিয়ে পড়বে ।
বা দীর্ঘ বিলম্বের পরে দ্রুত ইনপুট পরিবর্তনগুলি পরিচালনা করার আরও ভাল উপায় কি?
কোন পরামর্শের জন্য ধন্যবাদ!