কীভাবে একটি স্ব-টিউনিং পিআইডি-এর মতো নিয়ন্ত্রণকারী বাস্তবায়ন করবেন


15

আমি নিম্নলিখিত বৈশিষ্ট্য সহ একটি সিস্টেমে তাপমাত্রা নিয়ন্ত্রণের জন্য একটি মাইক্রো-নিয়ন্ত্রক প্রোগ্রাম লেখার চেষ্টা করছি:

  • নির্দিষ্ট চক্রের ফ্রিকোয়েন্সি (প্রতি ঘন্টা 2-10 ডলার) সহ আউটপুট কেবল চালু বা বন্ধ হতে পারে
  • উদ্ভিদটি সাড়া দিতে ধীর (তাপমাত্রায় পরিমাপযোগ্য পরিবর্তনগুলি দীর্ঘ সময়> 10 মিনিট সময় নেয়)।
  • পরিবেশগত অবস্থার উপর ভিত্তি করে গাছটি তাপমাত্রা হারাতে থাকে।
  • ব্যবহারকারীর চাহিদার ভিত্তিতে সেট-পয়েন্টটি বড় ধাপে পরিবর্তিত হতে পারে।

আমি এমন একটি নিয়ামক লিখছি যার লক্ষ্য ত্রুটি হ্রাস করা, পাশাপাশি ইনপুট হিসাবে প্রদত্ত চক্র-হারকে মেনে চলা।

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

সত্যিকারের পিআই বা পিআইডি ব্যবহারের প্রয়োজন হয় না। আমি যদি ফিজি-লজিকটি ব্যবহার করতে সহায়তা করি তবে এটি চিপটিতে একটি মেশিন-লার্নিং অ্যালগরিদম রাখে যা সিস্টেমের প্রতিক্রিয়া এবং তাপ-ক্ষতি (লিনিয়ার প্রায়।) মডেল করে যা মাপা পদক্ষেপের প্রতিক্রিয়া সম্পর্কে তথ্য প্রস্তাব করে । এই তথ্যটি দিয়ে কী করবেন তা কেবল জানেন না।

কয়েকটি পোস্ট পরামর্শ দেয় যে আমি মডেলিংয়ের ডেটা পিআই অন-লাইনে টিউন করতে ব্যবহার করতে পারি, পাশাপাশি ল্যাব-ভিউ ম্যানুয়ালটি প্রস্তাব দেয় যে আমি পিআই টিউন করতে ফাজি-লজিক ব্যবহার করতে পারি।

আমার প্রশ্ন হ'ল এই ধরণের দৃশ্যের জন্য সর্বোত্তম পন্থা (উদাহরণস্বরূপ পিআইডি, ফাজি-পিড, কনভোলশন ইত্যাদি) এবং আমি কীভাবে এটি সফ্টওয়্যার / অনুশীলনে বাস্তবায়ন করতে পারি।

আমি কোনও EE নই তাই কোনও ইনপুট প্রশংসিত হবে।


1
আমি আকর্ষণীয় হতে পারে রোবোটিকস এসইতে পিআইডি কন্ট্রোলারকে স্বয়ংক্রিয়ভাবে টিউন করতে একটি সিম্প্লেক্স অ্যালগরিদম ব্যবহার সম্পর্কে একটি উত্তর লিখেছিলাম ।
embedded.kyle

@ এম্বেডড.কাইল দুর্দান্ত, আমি সিমপ্লেক্স / গ্রেট-অ্যাসেন্ট বুঝতে পারি। আপনি কি বলতে পারবেন যে তিনি এক্স 1, এক্স 2 এর জন্য কী ব্যবহার করতেন? সেগুলি পিআইডি ধ্রুবকগুলির সাথে সম্পর্কিত করতে আমার সমস্যা হচ্ছে।
মান্দোম্যান্ডো

1
এটি কিছুক্ষণ হয়ে গেছে তবে আমি বিশ্বাস করি যে আমরা মহাকর্ষের কেন্দ্র x1 = P, x2 = I, x3 = D. x0 এর মতো কিছু ব্যবহার করেছি, স্থিরতার পরিমাপ আপনার কাছে সবচেয়ে গুরুত্বপূর্ণ যেটি। আমার অ্যাপ্লিকেশন, মোটর নিয়ন্ত্রণে, আমাদের দুটি লুপ ছিল। একটির x0 ছিল বেগ এবং অন্যটির জন্য x0 বর্তমান ছিল। আরও জন্য এখানে দেখুন।
embedded.kyle

@ এম্বেডড.কাইল আপনার মন্তব্যকে উত্তরে রূপান্তর করতে আপনার কি আপত্তি আছে? আপনি চান কোনও অতিরিক্ত তথ্য যুক্ত করুন। -থেক্স
ম্যান্ডোম্যান্ডো

একটি অনুগ্রহ? ওহ, ছেলে! কাজ ও সম্পন্ন.
এম্বেডড.কাইল 15

উত্তর:


7

পুরানো পিআইডি কল করতে আমি এতদূর যাব না। তবে অবশ্যই উন্নতির অবকাশ রয়েছে। আমি স্বতঃ-সুরযুক্ত পিআইডি কন্ট্রোল লুপগুলির একটি উপায় হ'ল নেল্ডার-মিড পদ্ধতিটি ব্যবহার করা যা এটি একটি ফর্ম form পাহাড়ী আরোহণের সিমপ্লেক্স অ্যালগরিদমের । এটি সময়ের সাথে সরানো একটি টার্গেট প্যারামিটারে রূপান্তর এবং পুনঃব্যবস্থা করতে সক্ষম হওয়ার সুবিধা রয়েছে।

নেলদার-মাংস পদ্ধতিতে পাহাড়ী আরোহণ

এই কাগজ থেকে :

উদাহরণস্বরূপ, পিআইডি পরামিতিগুলির ক্ষেত্রে টিউন করার ক্ষেত্রে {কে পি , কে আই , কে ডি } একটি সিম্পলেক্স হ'ল টেট্রহেড্রন। নেল্ডার – মাংস সিমপ্লেক্স হিসাবে সাজানো প্রতিটি পরীক্ষার পয়েন্টে পরিমাপ করা উদ্দেশ্য ফাংশনের আচরণকে এক্সট্রপোলেট করে সিমপ্লেক্সের একটি নতুন পরীক্ষার অবস্থান উত্পন্ন করে gene এরপরে অ্যালগরিদম এই পরীক্ষার পয়েন্টগুলির মধ্যে একটিকে নতুন পরীক্ষার পয়েন্টের সাথে প্রতিস্থাপন করতে পছন্দ করে এবং তাই প্রযুক্তিটি এগিয়ে যায়।

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

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

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

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


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

@ ম্যান্ডোম্যান্ডো আপনাকে অনেক ধন্যবাদ! এবং আমি সত্যিই 'ছায়া' পিআই নিয়ামক শব্দটি পছন্দ করি।
এম্বেডড.কাইল 16

3

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

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


1

প্রতি ঘন্টা 2-10 বার নিয়ন্ত্রণের স্থিতি (চালু বা বন্ধ) পরিবর্তন করতে সক্ষম হওয়ায় ডিউটি ​​সাইকেল নিয়ন্ত্রণে নিজেকে ধার দেয় না। পিআই লুপের আউটপুট একটি নিয়ন্ত্রণ সংকেত হতে চলেছে যা ত্রুটির ফাংশন হিসাবে আকারে পরিবর্তিত হয় এবং নিয়ন্ত্রণের 'ফ্রিকোয়েন্সি' হওয়ায় আপনার উদ্ভিদ (বাস্তববাদী) কেবল একটি বাইনারি ইনপুট (বন্ধ বা চালু) গ্রহণ করতে পারে গৃহীত শুল্কচক্রটি হার্টজ এর একটি ভগ্নাংশ।

আপনি জিনিসগুলি সরল করতে এবং হিস্টেরিক নিয়ন্ত্রণের সাথে যেতে চাইতে পারেন:

  • যখন তাপমাত্রা নিম্ন সীমাটি অতিক্রম করে তখন সিস্টেমটি চালু হয়
  • যখন তাপমাত্রা একটি উচ্চতর সীমা অতিক্রম করে তখন সিস্টেমটি বন্ধ হয়ে যায়
  • নিয়ন্ত্রণ আউটপুট বাড়াতে রোধ করতে উপরের এবং নিম্ন সীমাগুলির মধ্যে পর্যাপ্ত দূরত্ব রয়েছে

পিআই আউটপুটটি গ্রহণ করার ধারণাটি বলুন: 60% এবং সময় অনুসারে = 60% চক্র -> 0.6 x 30 মিনিট -> 18 মিনিটের সময় এবং 30 মিনিটের চক্রে 12 মিনিটের ছুটিতে রূপান্তর করুন। আপনার প্রস্তাবিত ব্যাং-ব্যাং নিয়ন্ত্রক প্রয়োজনীয় চক্র-হারের প্রতি (গতিবিধি চালু রাখুন, প্রতি ঘন্টায় n বারের বেশি নয়) এবং একই সাথে একটি ত্রুটি কম রাখার গ্যারান্টি দেয় না। অফ-টাইমের সময় ক্ষতির ভারসাম্য বজায় রাখতে সিস্টেমের জন্য কিছু সময়ের জন্য অস্থায়ীভাবে ওভারশুট করা প্রয়োজন হতে পারে।
মান্দোম্যান্ডো

1

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

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

সম্পাদনা: দুঃখিত, আমি কিছুটা ভুল পড়েছি। আপনি তাপমাত্রা নিয়ন্ত্রণের চেষ্টা করছেন যাতে আপনি যে "পরিবেশগত পরিস্থিতি" বলেছিলেন সেটি আপনার সময়সূচী প্যারামিটার হবে।


0

আপনি সম্পূর্ণরূপে পুনরাবৃত্তি হওয়া স্বল্প স্কোয়ারস কন্ট্রোলার, সিএফ অ্যাস্ট্রোম এবং উইটেনমার্ক , অ্যাডাপটিভ কন্ট্রোল যেতে পারেন, তবে মাইক্রোকন্ট্রোলারের কাছে এটি করার জন্য পর্যাপ্ত পরিমাণে অ্যামপ থাকবে কিনা তা আমি জানি না।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.