पीआईडी ​​लूप्स को ट्यूनिंग के लिए अच्छी रणनीति क्या है?


55

ट्यूनिंग नियंत्रक लाभ कठिन हो सकता है, एक सामान्य प्रणाली जो एक स्थिर प्रणाली को सही समाधान में परिवर्तित करने के लिए अच्छी तरह से काम करती है?


1
अधिक विशिष्ट प्रश्न पर लक्षित प्रश्न अधिक उपयोगी होगा। अन्यथा, आपको बस पीआईडी लेख को देखना चाहिए , ट्यूनिंग पर एक अनुभाग के साथ
21-12

2
मैंने हमेशा सिस्टम की विशेषताओं पर निर्भर रहने के लिए पीआईडी ​​ट्यूनिंग पाया है, यही वजह है कि मैंने कभी भी ऑटो-ट्यून सिस्टम को बहुत उपयोगी नहीं पाया है। वे मापदंडों के पहले पास, कम प्रदर्शन सेट के लिए ठीक हैं, लेकिन वे इष्टतम से बहुत दूर हैं , और आपको किसी भी सामान्य रणनीति के साथ वही समस्या होगी जो किसी दिए गए सिस्टम के यांत्रिक, विद्युत और नियंत्रण पहलुओं के लिए अनुकूलित नहीं है।
मार्क बूथ

जवाबों:


66

छोटी या कम गियरिंग वाली छोटी टॉर्क मोटरों के लिए, एक अच्छी बेसलाइन ट्यून प्राप्त करने के लिए आप जिस प्रक्रिया का उपयोग कर सकते हैं, वह यह है कि यह गड़बड़ी की प्रतिक्रिया है।

पीआईडी ​​ट्यून करने के लिए निम्नलिखित चरणों का उपयोग करें:

  1. सभी लाभ शून्य पर सेट करें।
  2. P लाभ बढ़ाएँ जब तक कि एक गड़बड़ी की प्रतिक्रिया स्थिर दोलन है।
  3. डी लाभ बढ़ाएं जब तक कि दोलन दूर न हो जाएं (यानी यह गंभीर रूप से भीग गया है)।
  4. जब तक डी लाभ नहीं बढ़ जाता है तब तक चरण 2 और 3 दोहराएं दोलनों को रोकना नहीं है।
  5. P और D को अंतिम स्थिर मान पर सेट करें।
  6. जब तक यह वांछित संख्या में दोलनों की संख्या के साथ सेटपॉइंट पर लाता है, तब तक मुझे लाभ मिलता है (सामान्य रूप से शून्य लेकिन अगर आपको ओवरशूट के कुछ दोलनों का बुरा नहीं लगता है तो एक त्वरित प्रतिक्रिया हो सकती है)

नियंत्रक का उपयोग किस तंत्र से जुड़ा है, यह किस गड़बड़ी पर निर्भर करता है। सामान्य रूप से सेटपॉइंट से दूर हाथ से तंत्र को स्थानांतरित करना और जाने देना पर्याप्त है। यदि दोलन बड़े और बड़े होते हैं तो आपको पी लाभ कम करने की आवश्यकता है।

यदि आप डी गेन को बहुत अधिक सेट करते हैं, तो सिस्टम चटकारना शुरू कर देगा (पी लाभ दोलन की तुलना में अधिक आवृत्ति पर कंपन)। यदि ऐसा होता है, तो रुकने तक डी लाभ कम करें।

मेरा मानना ​​है कि इस तकनीक का एक नाम है। मैं इसे यहाँ रखूँगा जब मैं इसे पाऊँगा।


2
Ziegler-Nichols की तरह लगता है: en.wikipedia.org/wiki/Ziegler%E2%80%93Nichols_method
Throwback1986

1
@ Throwback1986, यह निश्चित रूप से है नहीं ज़ेग्लर-निकोल्स जो केवल पी लाभ का उपयोग करता है और मैं और डी लाभ तो दोलन पी लाभ और oscilation अवधि से तदनुसार गणना कर रहे हैं, जहां
dm76

क्या आपके पास विशेष रूप से एक रोबोट बांह को ट्यूनिंग के लिए अतिरिक्त सलाह है जिसमें कई जोड़ों को ट्यूनिंग की आवश्यकता है? क्या आप आधार से शुरू करते हैं और अंत-प्रभावकार, या दूसरे तरीके से बाहर की ओर काम करते हैं, या इससे भी कोई फर्क पड़ता है?
adamconkey

1
एक शैक्षणिक या औद्योगिक सेटिंग में आप अधिक परिष्कृत नियंत्रण विधि चाहते हैं। एक शौक के लिए; गुरुत्वाकर्षण का एक दबाना प्रभाव होता है, इसलिए प्रत्येक जोड़ को उस कोण पर ट्यून करें जहां गुरुत्वाकर्षण मोटरों को कम से कम प्रभावित करता है। उदाहरण के लिए, हाथ सीधे ऊपर की ओर इशारा करते हुए ताकि गुरुत्वाकर्षण बीयरिंग पर कार्य कर रहा है न कि मोटर। आदेश मायने नहीं रखता। अपने नियंत्रण में फीडफ़र्ड ग्रेविटी मुआवज़ा शब्द जोड़ना संभवत: सबसे आसान सुधार है (यदि आप चाहते हैं कि प्रदर्शन न मिले तो धारावाहिक हाथ के लिए पुनरावर्ती न्यूटन-यूलर का उपयोग करें)।
२२

Pidtuner.com उपकरण मुझे दिया है बेहतर परिणाम ज़ेग्लर-निकोल्स विधि है, जिसमें कई ज्ञात कमियां हैं की तुलना में; Folk.ntnu.no/skoge/publications/2003/tuningPID/more/…
जुआन गोंजालेज बर्गोस

13

कॉलेज में पढ़ाया जाने वाला हंफमेक के उत्तर के लिए एक समान प्रयोगात्मक विधि:

  1. सभी लाभ 0 पर सेट करें।
  2. K d को तब तक बढ़ाएं जब तक सिस्टम दोलन न कर दे।
  3. 2-4 के कारक द्वारा कश्मीर को कम करें ।
  4. K p को लगभग 1% K d पर सेट करें ।
  5. K p को तब तक बढ़ाएं जब तक दोलन शुरू न हो जाएं।
  6. 2-4 के कारक द्वारा K p घटाएं ।
  7. K i को K p के लगभग 1% पर सेट करें ।
  8. K i बढ़ाएं जब तक दोलन शुरू नहीं हो जाते।
  9. 2-4 के कारक द्वारा K i घटाएं ।

ज़ेग्लर-निकोल्स विधि और अधिक सटीक अगर आप दोलन की अवधि के लिए एक सटीक संख्या प्राप्त कर सकते है। यह आम तौर पर दिए गए "क्लासिक पीआईडी" संख्याओं का उपयोग करके दोलनों का कारण बनता है, इसलिए यह हमेशा इष्टतम नहीं होता है।

वृद्धि समय पर प्रत्येक पद के प्रभाव पर सामान्य नियमों के लिए, निरीक्षण, स्थिर-राज्य त्रुटि, और स्थिरता, IEEE नियंत्रण प्रणाली में ली, आंग और चोंग द्वारा "पीआईडी ​​नियंत्रण प्रणाली विश्लेषण और डिजाइन" की तालिका 1 देखें। पत्रिका।


2
केडी पहले? मैंने हमेशा सोचा था कि केपी के साथ शुरुआत करना सबसे अच्छा था।
रॉकेटमैग्नेट

मैं पुरानी लेक्चर स्लाइड्स से ट्रांसक्रिप्शन कर रहा हूं, अगर ऐसा न करने का एक अच्छा कारण यह है कि मैं इसे सुनने के लिए उत्सुक हूं।
जो बेकर

1
यही एल्गोरिथ्म है कि मैं "पैंट की सीट" ट्यूनिंग की वकालत करता हूं। यह आपको सिस्टम के मॉडलिंग के बिना या उसकी प्रतिक्रिया को मापने के बिना जितना करीब हो सकेगा। (मॉडलिंग और / या मापने का एकमात्र तरीका है अगर आपको वास्तव में सही ट्यूनिंग की आवश्यकता है)।
टिमस्कॉट 21

ट्यूनिंग केडी पहले मेरे लिए कोई मतलब नहीं है, जैसा कि हर पीआईडी ​​में मैंने केडी का संकेत लागू किया है नकारात्मक है। इसका उपयोग नियंत्रण संकेत को कम करने के लिए किया जाता है जब त्रुटियों में बहुत बड़े परिवर्तन हो रहे हैं, संक्षेप में सिस्टम को नीचे दबाना। यदि आपके पास केवल केडी है, तो सिस्टम विपरीत दिशा में आगे बढ़ेगा, त्रुटि को बढ़ाएगा और समस्या को कम करेगा। यदि केडी पॉजिटिव है, तो जब भी त्रुटि का एक बड़ा परिवर्तन सही दिशा में होता है, तो आप इसे और भी तेजी से बदलने जा रहे हैं और अपने लक्ष्य का निरीक्षण करेंगे।
एंड्रयू कैपोडेसी

दरअसल, ट्यूनिंग डी गेन पहले कुछ समझ में आता है, लेकिन मैं यह मान रहा हूं कि "बढ़ते" डी लाभ का मतलब निरपेक्ष मूल्य बढ़ाना है और यह केवल भिगोना बढ़ रहा है। डी गेन के साथ सबसे बड़ी समस्या यह है कि यह उच्च आवृत्ति शोर को बढ़ाता है और पी लाभ के बिना उस प्रभाव को देखना अच्छा है। तो, आप अनिवार्य रूप से उन लाभों की तलाश में शुरू कर रहे हैं जिन पर यह भिगोना जैसा व्यवहार करना बंद कर देता है और शोर और अंतराल त्रुटि संकेतों को बढ़ाना शुरू कर देता है। मैं चरण 2 के लिए मान रहा हूं, आपको यह देखने के लिए कि क्या यह दोलन करता है, आपको अपने पौधे को प्रहार करने की आवश्यकता है।
DrRobotNinja

7

एंबेडेड.कॉम ​​ने मेरे लेख को फिर से स्थानांतरित कर दिया है, लेकिन यहां वह है जहां यह अब है। यह आपको दिखाता है कि पीआईडी ​​लूप कैसे लिखना है (यह पता लगाना है कि फ्लोटिंग पॉइंट के अलावा किसी अन्य चीज़ में इसे कैसे किया जाए) पाठक को एक अभ्यास के रूप में छोड़ दिया जाता है और इसे कैसे ट्यून किया जाता है।

बिना पीएचडी के पीआईडी

सबसे अच्छा तरीका आपकी क्षमताओं पर बहुत कुछ निर्भर करता है। सबसे अच्छा ट्यूनिंग पाने का तरीका , यह मानकर कि आप एक अनुभवी नियंत्रण प्रणाली हाथ हैं, यह पौधे की प्रतिक्रिया ("संयंत्र" == "आप जिस चीज़ को नियंत्रित कर रहे हैं") की प्रतिक्रिया को मापने के लिए है, फिर आप कैसे करते हैं इसके आधार पर माप संयंत्र के एक मॉडल को निकालता है और उस पर डिजाइन करता है, या माप को सीधे डिजाइन करता है।

कुछ कठिन पौधों के लिए, आप पाएंगे कि आप कभी भी संतोषजनक माप नहीं कर सकते हैं, इस स्थिति में आपको अकेले मॉडल द्वारा जाना होगा। वे दुर्लभ हैं, लेकिन संतोषजनक जब आप उन्हें काम कर रहे हैं।


5

सेबेस्टियन थ्रुन ने अपने "हाउ टू प्रोग्राम टू रोबोट कार" क्लास में पीआईडी ​​ट्यूनिंग के लिए एक सरल एल्गोरिथ्म प्रस्तुत किया। इसे "ट्वीडल" कहा जाता है, वह यहां इसका वर्णन करता है

स्थानीय मिदिमा को खोजने के लिए ट्वीडल बहुत प्रवण है - इसका मतलब है कि आप तीन स्थिरांक के एक सेट के साथ आ सकते हैं जो ठीक है, लेकिन स्थिति के लिए इष्टतम नहीं है। PID स्थिरांक को ट्यून करने की समस्या उपयोगिता को अधिकतम करने के लिए कुछ सामान्य खोज समस्या का एक सबसेट है (इस मामले में, PID एल्गोरिथम की त्रुटि को कम करते हुए)। आप इस समस्या के अन्य सामान्य समाधानों पर गौर कर सकते हैं, जैसे पहाड़ी-चढ़ाई, नकली annealing, आनुवांशिक एल्गोरिदम, आदि जो अधिक इष्टतम समाधान खोजने के लिए समाप्त हो सकते हैं।


4

अन्य दो उत्तरों के विपरीत, मैं कहूंगा कि पीआईडी ​​ट्यूनिंग का एक अच्छा मैनुअल तरीका केडी को अनदेखा कर रहा है। इसलिए 0 पर शुरू करें और जब तक आप लक्ष्य तक नहीं पहुंचते हैं, तब तक केपी बढ़ाएं, फिर स्थिर राज्य त्रुटि से छुटकारा पाने के लिए की बढ़ाएं।

केडी इस मुद्दे को भ्रमित कर सकता है क्योंकि यह शोर के लिए खराब प्रतिक्रिया करता है, फिर आप अपने एनालॉग इनपुट पर फिल्टर जोड़ना शुरू करते हैं और फिर सवाल करते हैं कि आपके नियंत्रण को धीमा करने के अलावा क्या करता है और पूरे काम को कठिन बना देता है ...

मुझे भ्रमित करने के लिए बाध्य एक और बात यह है कि यदि पीआईडी ​​समीकरण मानक रूप में या स्वतंत्र (विकिपीडिया में समानांतर) रूप में है। की का प्रभाव उलटा लगता है जब आप जो सोचते हैं वह गलत तरीका है। दोनों प्रकार का उपयोग स्वचालन में किया जाता है, कभी-कभी उनके बीच स्विच करने के विकल्प के साथ।


4

सिस्टम मॉडलिंग

बेशक प्रायोगिक ट्यूनिंग को अन्य उत्तरों में उल्लिखित किया जा सकता है, लेकिन यदि आप जो भी नियंत्रित करना चाहते हैं उसके लिए एक उचित गतिशील मॉडल को परिभाषित करने में सक्षम हैं और इसके मापदंडों की पहचान करने में सक्षम हैं , तो आपको अपने नियंत्रक को अच्छी तरह से डिजाइन करने में सक्षम होना चाहिए -निर्धारित मापदंड जैसे कि ओवरशूट , उदय समय , बसने का समय , स्थिर-राज्य त्रुटि और इतने पर।

MATLAB में और भी उपकरण हैं जो इन मानदंडों के संयोजन के लिए अनुकूलन करने के लिए आपके नियंत्रक को ट्यून करने में सक्षम हैं, जो इसे उपयोग करने के लिए और भी बेहतर बनाता है।

अपने नियंत्रक को जानें

पीआईडी ​​नियंत्रक में प्रत्येक पैरामीटर क्या करता है यह सीखना काफी उपयोगी है। सभी प्रयोगात्मक एल्गोरिदम इस तरह के ज्ञान पर आधारित हैं। यदि आप न केवल निर्देशों का पालन करते हैं, बल्कि खुद को महसूस करने में सक्षम हैं, तो आपको अपने नियंत्रक को मैन्युअल रूप से ट्यून करना आसान हो सकता है।

वास्तविक दुनिया की समस्याएं

इन चीजों में से एक मौका है, दूसरों के बीच में, अपने नियंत्रक को ट्यून करते समय अपने रास्ते पर मिलेगा: विंडअप , अपर्याप्त नमूनाकरण दर , संतृप्ति

निष्कर्ष

अंत में, यह सब इस बात पर निर्भर करता है कि आप वास्तव में अपने सिस्टम के साथ क्या कर सकते हैं कि यह कैसे काम करता है और किस तरह का प्रयोग किया जा सकता है। सबसे अच्छी बात यह है कि वास्तव में पीआईडी ​​नियंत्रकों और नियंत्रण सिद्धांत के बारे में अधिक जानने के लिए सामान्य, आईएमओ, लेकिन मैं पक्षपाती हूं :)


मुझे समझ नहीं आता क्यों लोगों का सुझाव रखना heuristics पीआईडी ट्यूनिंग, जबकि आजकल हम संयंत्र की पहचान और नियंत्रक डिजाइन है कि गहरे सैद्धांतिक पृष्ठभूमि की आवश्यकता नहीं है के लिए स्वत: उपकरण के बहुत सारे के साथ प्रदान की जाती हैं के लिए। इस जवाब के लिए तब थम्ब।
उगो पट्टिनी

3

मैं उन लोगों के लिए अपने अनुभव से थोड़ा विस्तार करने की कोशिश करूँगा जो दिलचस्पी ले सकते हैं। मुझे लगता है कि समस्या यह है कि हमारे पास बहुत सारे नियंत्रण सिद्धांत हैं जो कुछ हद तक दुर्गम हैं (और कभी-कभी उपयोगी नहीं हैं) और फिर हमारे पास अंगूठे के नियम हैं जो उन प्रणालियों के बारे में धारणा बनाते हैं जो अक्सर गलत होते हैं।

स्थिरता

आइए सबसे पहले बात करते हैं कि नियंत्रण छोर अस्थिर क्यों हो जाते हैं। इस चर्चा के लिए मैं एक लीनियर प्रणाली मानूंगा। अनौपचारिक रूप से इसका मतलब है कि यदि आपका नियंत्रण संकेत किसी दी गई आवृत्ति पर साइन की लहर है तो आपका मनाया गया आउटपुट समान आवृत्ति पर है और यदि आप अपने नियंत्रण प्रणाली के आयाम को बदलते हैं तो आपका आउटपुट उसी अनुपात में प्रतिक्रिया करता है। यह धारणा कई वास्तविक दुनिया प्रणालियों के लिए एक अच्छा सन्निकटन है और हमें अलगाव में अलग-अलग आवृत्तियों को देखने देती है।

यदि आप नियंत्रण पथ को देखते हैं तो आपके पास एक सेट-पॉइंट, आपका पीआईडी ​​नियंत्रक, आपका सिस्टम (उर्फ "प्लांट") है, और फिर आपका सेंसर है। अपने सेंसर से एक निश्चित सेट-पॉइंट और एक साइन लहर की कल्पना करें (यह सेंसर में एक वास्तविक दुनिया की गड़बड़ी के बराबर है, वापस खिलाया गया)। एक अस्थिर प्रणाली में आपकी प्रतिक्रिया नियंत्रण लूप को त्रुटि को बढ़ाने के बजाय इसे कम करने का कारण बनती है, जैसे ही समय बढ़ता है आपका आयाम बढ़ता है। ऐसा होने का कारण देरी है, या इस आवृत्ति के लिए इनपुट और आउटपुट के बीच एक चरण बदलाव है। किसी दी गई आवृत्ति के लिए हम उस खुले लूप (यानी कोई प्रतिक्रिया नहीं) शिफ्ट और आउटपुट के आयाम को देख सकते हैं और जब हम उन सभी को एक ग्राफ पर खींचते हैं तो हमें एक बोड प्लॉट जैसा कुछ मिलता है। यदि हमारे पास इस खुले लूप ग्राफ में एक स्थिति है जहां त्रुटि बढ़ रही है तो हमारे पास एक अस्थिर प्रणाली है। यदि विलंब 1/2 से कम है तो तरंग दैर्ध्य या लाभ X1 से कम है तो सिस्टम स्थिर होगा । व्यवहार में हम उस बिंदु (लाभ मार्जिन और चरण मार्जिन) से कुछ मार्जिन चाहते हैं यही कारण है कि आप मैनुअल / हेयूरिस्टिक विधियों में से कई में "बैकिंग ऑफ" देखेंगे।

उन मैनुअल तरीकों के साथ मुख्य समस्या यह है कि आप अंधे उड़ रहे हैं और आपको खराब नियंत्रण प्रणाली प्राप्त करने की बहुत गारंटी है।

यह भी ध्यान रखें कि पी, आई और डी का अर्थ आपके सेंसर को मापने और आपके द्वारा लागू किए जाने वाले नियंत्रण से संबंधित है। घर में निर्मित नियंत्रकों में एक आम गलती लोगों को यह सोचने के लिए है कि वे पी लागू कर रहे हैं जब वे वास्तव में नहीं होते हैं। मोटर नियंत्रकों में अक्सर एक पोजिशन लूप होता है, जो टॉर्क लूप पर चलने वाले वेग लूप से अधिक होता है। (एक झरना )

ठीक है, लेकिन यह हमारी मदद कैसे करता है?

पहला बिंदु मैं यह बताना चाहूंगा कि यदि आप अपना स्वयं का पीआईडी ​​नियंत्रक बना रहे हैं तो आपको ओपन लूप प्रतिक्रिया को मापने का एक तरीका भी बनाना चाहिए। अपने नियंत्रक के इनपुट पर एक आवृत्ति स्वीप करें और फीडबैक के साथ सेंसर के आउटपुट को मापें। फिर आप खुले लूप बोडे प्लॉट को आकर्षित कर सकते हैं और देख सकते हैं कि आपका सिस्टम स्थिर क्यों है और विभिन्न नियंत्रणों को बंद करने में सक्षम है। बंद लूप प्रतिक्रिया को मापने के लिए भी उपयोगी है और लूप बंद होने के दौरान आप अपने सेट-पॉइंट की आवृत्ति स्वीप करके किसी भी सिस्टम के साथ कर सकते हैं। ये दोनों उस कठिन नहीं हैं और सैद्धांतिक ज्ञान की बहुत आवश्यकता नहीं है।

यदि आप किसी भी समझ के बिना नियंत्रण को घुमा रहे हैं तो हुड के नीचे क्या चल रहा है, आप अपने सिस्टम को ऑप्टिमाइज़ नहीं कर पाएंगे। इन प्रणालियों के बारे में कुछ अंतर्ज्ञान का निर्माण करना उतना कठिन नहीं है। उदा। आनुपातिक लाभ का चरण पर कोई प्रभाव नहीं पड़ता है, लेकिन सभी आवृत्तियों पर खुले लूप का लाभ बढ़ जाता है। तो आप क्या कर रहे हैं जब आप उन सभी मैनुअल ट्यूनिंग विधियों में आनुपातिक लाभ में वृद्धि कर रहे हैं, जहां चरण -180 पर जाता है, आवृत्ति की खोज कर रहे हैं। अपनी आवृत्ति प्रतिक्रिया पर विभिन्न नियंत्रणों के प्रभाव के बारे में कुछ और विचार प्राप्त करने के लिए इसे देखें ।

काफी बार सबसे अच्छा बंद लूप प्रदर्शन हो रहा है जिसमें सिस्टम को जोड़ना और न केवल नियंत्रक लाभ शामिल हैं। आप जो चाहते हैं वह सिस्टम को "कठोर" बनाना है। यह आपको नियंत्रण मापदंडों को रैंप करने देगा और सबसे अच्छा खुला और बंद लूप बैंडविड्थ प्राप्त करेगा। मोटर नियंत्रण अनुप्रयोगों में मेरे अनुभव में आनुपातिक लाभ वह है जो "काम" और इंटीग्रेटर "आराम" में से अधिकांश करना चाहिए। मुझे नहीं लगता कि आपको एक डी शब्द की आवश्यकता है। कम पास फिल्टर और एक पायदान फिल्टर होने से उन स्थितियों में बहुत मदद मिलती है, जहां आपके पास कुछ यांत्रिक अनुनाद हो सकते हैं, लेकिन बिना बोड प्लॉट के उन्हें स्थापित करना बहुत मुश्किल है (बंद लूप के तहत आपके द्वारा देखे जाने वाले दोलन आवृत्ति खुले लूप एक से भिन्न हो सकती है)।

यदि सुरक्षा एक चिंता है (बहुत शक्तिशाली मोटर्स या एक प्रणाली जो नियंत्रण से बाहर जाने वाली मोटर द्वारा नष्ट हो सकती है) तो आपको सिस्टम की सुरक्षा के लिए ट्यूनिंग (जैसे वर्तमान सीमा, अधिकतम स्थिति त्रुटि) शुरू करने से पहले कुछ सीमाएं डालनी होंगी। फिर आपको मापदंडों की सीमा के लिए किसी प्रकार का अनुभव प्राप्त करने की आवश्यकता है। यदि आपकी प्रतिक्रिया में प्रति चक्कर 40 गिनती या रोटेशन की 4000 गणना है, तो आपके पैरामीटर किसी दिए गए सिस्टम के लिए 100 का कारक होगा। मेरा दृष्टिकोण सबसे पहले एक ऐसी सीमा को खोजना होगा, जहां आपके पास कुछ खराब नियंत्रणीयता है और फिर पी के साथ शुरू होने से रैंप पर है और फिर मैं (हालांकि फिर से आप अंधा हो रहे हैं)। बैकिंग इस स्थिरता मार्जिन बनाता है।

बंद लूप से परे

बंद लूप सिस्टम से त्रुटि को बाहर निकालने का प्रयास करता है। यह हमेशा कुछ हद तक सीमित प्रदर्शन करने वाला है। आप जो करना चाहते हैं वह त्रुटि आपके बंद लूप नियंत्रक को देखता है और ऐसा करने का एक तरीका है जो फ़ीड फॉरवर्ड नामक तकनीक के माध्यम से होता है। फीड-फ़ॉरवर्ड में आप कंट्रोलर के चारों ओर जाते हैं और सिस्टम पर सीधे कमांड चलाते हैं। इसका एक उदाहरण त्वरण फ़ीड-फारवर्ड होगा। यदि आप जानते हैं कि आप मोटर के टॉर्क स्थिर हैं और आप लोड को जानते हैं तो आप बहुत कुछ बता सकते हैं कि लोड के एक निश्चित त्वरण को प्राप्त करने के लिए आपको कितने करंट की आवश्यकता होती है। आप बस कमांड इनपुट त्वरण लेते हैं, इसे एक स्थिर से गुणा करते हैं और नियंत्रक ड्राइव कमांड में जोड़ते हैं। आप मूल रूप से वही कर रहे हैं जो सिस्टम को चलाने के लिए होगा यदि कोई नियंत्रक नहीं था और करीब आप कम त्रुटि प्राप्त कर सकते हैं जो आपके लूप को बाहर निकालना है और आपका सिस्टम बेहतर प्रदर्शन करेगा। यह अभ्यास में एक बड़ा अंतर बनाता है।


"मोटर नियंत्रण अनुप्रयोगों में मेरे अनुभव में आनुपातिक लाभ वह है जो" काम "और इंटीग्रेटर" आराम "में से अधिकांश करना चाहिए। मुझे नहीं लगता कि आपको एक डी टर्म की आवश्यकता है।" मैं इसके साथ ठेठ मोटर नियंत्रण आवेदन के लिए सहमत होगा। पी मुख्य काम करता है और मैं लंबी अवधि के बहाव / त्रुटियों के लिए क्षतिपूर्ति करता हूं। लेकिन यहां, क्वाडकॉप्टर बहुत सारे बाहरी अशांति के अधीन होगा, इसलिए डी शब्द को तेजी से प्रतिक्रिया प्राप्त करना महत्वपूर्ण है। जब तक क्वाड स्वायत्त नेविगेशन मोड में नहीं होता, तब तक मैं इस शब्द के लिए महत्वपूर्ण नहीं हूं।
dm76

@ dm76: मेरा अधिकांश अनुभव मोटर नियंत्रण के साथ है, और मैं उस अस्वीकरण को बना देता हूं ;-) मेरा अंतर्ज्ञान हालांकि यह कहता है कि क्वाडकॉप्टर एप्लिकेशन में मेरे लिए अभी भी जगह है और मुझे लगता है कि यदि पी बहुत अधिक है तो यह बाहरी गड़बड़ी से निपट सकता है (जैसे यह मोटर नियंत्रण में है)। मुझे वास्तव में क्वाडकॉप्टर्स के बारे में कुछ निश्चित कहने के लिए उन प्रणालियों पर करीब से नज़र डालने की ज़रूरत होगी ... मुझे लगता है कि जो मैं यहाँ कहता हूं वह बहुत कुछ लागू होता है (विशेषकर फ़्रीक्वेंसी डोमेन में आपकी ट्यूनिंग करते हैं और सिस्टम की खुली लूप प्रतिक्रिया होती है )।
गाइ सिरटन

1
@ dm76: और वास्तव में उन "अंगूठे के नियम" पीआईडी ​​ट्यूनिंग के परिणामस्वरूप मोटर्स में बहुत औसत दर्जे का प्रदर्शन होता है और संभवतः क्वाडकोप्टर में समान होता है। कभी-कभी एक अच्छी तरह से रखा हुआ पायदान फिल्टर परिमाण के अंतर का क्रम बना सकता है ...
गाइ सिर्टन

0

ज़िगलर-निकोल्स एक आसान मैनुअल विधि है। अधिक मजबूत तरीके भी मौजूद हैं - ये आमतौर पर गणितीय समाधान (विश्लेषणात्मक, पुनरावृत्ति अनुकूलन, आदि) पर निर्भर करते हैं

इसके अलावा, कुछ स्वचालित तकनीकों के लिए Google "स्व-ट्यूनिंग पीआईडी"। मेरा पसंदीदा पीआईडी ​​ट्यूनिंग के लिए तंत्रिका नेटवर्क का अनुप्रयोग है।


0

यदि आप एक सटीक PID गुणांक चाहते हैं:

  • अपनी आंकड़ा actuator डेटा प्राप्त करें (यानी collecting input voltages+ encoder pulsesएक स्थिरांक में अक्सर ( 0.01sec) के लिए समय 20secsएक के रूप में 3एक्स 2000मैट्रिक्स)
  • अपने एक्ट्यूएटर के ट्रांसफर फंक्शन (TF) को प्राप्त करें ( MATLAB में पहचान टूलबॉक्स का उपयोग करके )।
  • अंत में, MATLAB में PIDTool टूलबॉक्स का उपयोग करें और अपने ट्रांसफ़ॉर्म फ़ंक्शन को अपलोड करें।

या एक त्वरित और सरल तरीके से:

ज़िग्लर-निकोल्स नामक एक त्वरित दृष्टिकोण है : यहाँ छवि विवरण दर्ज करें

और इस छवि में PID पैरामीटर प्रभाव प्रदर्शित होते हैं :
पीआईडी ​​पैरामीटर प्रभाव

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.