நடைமுறை எடுத்துக்காட்டுகளைப் பயன்படுத்தி Pid கட்டுப்பாட்டு கட்டுப்படுத்தி. விகிதாசார-ஒருங்கிணைந்த வேறுபாடு (PID) கட்டுப்பாடு சட்டம். விகிதாசார ஆதாயத்தை அமைத்தல்

விகிதாசார-ஒருங்கிணைந்த-வழித்தோன்றல் (PID) கட்டுப்படுத்தி- பின்னூட்டத்துடன் கட்டுப்பாட்டு வளையத்தில் உள்ள சாதனம். நிலையற்ற செயல்பாட்டின் தேவையான துல்லியம் மற்றும் தரத்தைப் பெறுவதற்கு ஒரு கட்டுப்பாட்டு சமிக்ஞையை உருவாக்க இது தானியங்கி கட்டுப்பாட்டு அமைப்புகளில் பயன்படுத்தப்படுகிறது. PID கட்டுப்படுத்தி ஒரு கட்டுப்பாட்டு சமிக்ஞையை உருவாக்குகிறது, இது மூன்று சொற்களின் கூட்டுத்தொகையாகும், அதில் முதலாவது விகிதாசாரமாகும் உள்ளீட்டு சமிக்ஞைக்கும் பின்னூட்ட சமிக்ஞைக்கும் உள்ள வேறுபாடு(பொருத்தமில்லாத சமிக்ஞை), இரண்டாவது பொருந்தாத சமிக்ஞையின் ஒருங்கிணைந்ததாகும், மூன்றாவது பொருந்தாத சமிக்ஞையின் வழித்தோன்றலாகும்.

சில கூறுகள் பயன்படுத்தப்படாவிட்டால், சீராக்கி அழைக்கப்படுகிறது விகிதாசாரமாக ஒருங்கிணைக்கிறது , விகிதாசாரமாக வேறுபடுத்துகிறது , விகிதாசார முதலியன

என்சைக்ளோபீடிக் YouTube

    1 / 4

    ✪ விகிதாசார கட்டுப்படுத்தி

    ✪ CodeSys 2.3 Aries PLC PID கட்டுப்படுத்தி பாடம் எண். 1

    ✪ CodeSys 2.3 Aries PLC PID கட்டுப்படுத்தி பாடம் எண். 3

    ✪ CodeSys 2.3 Aries PLC PID கட்டுப்படுத்தி பாடம் எண். 2

    வசன வரிகள்

பொதுவான செய்தி

விகிதாசார கூறு

விகிதாசார கூறு ஒரு வெளியீட்டு சமிக்ஞையை உருவாக்குகிறது, இது ஒரு குறிப்பிட்ட நேரத்தில் கவனிக்கப்பட்ட செட் மதிப்பிலிருந்து கட்டுப்படுத்தப்பட்ட மாறியின் விலகலை எதிர்க்கிறது. அதிக விலகல், பெரியது. என்றால் உள்ளீடுசமிக்ஞை குறிப்பிட்ட மதிப்புக்கு சமமாக இருக்கும் விடுமுறை நாள்பூஜ்ஜியத்திற்கு சமம்.

இருப்பினும், ஒரு விகிதாசாரக் கட்டுப்படுத்தியை மட்டுமே பயன்படுத்தும் போது, ​​கட்டுப்படுத்தப்பட்ட மாறியின் மதிப்பு ஒருபோதும் செட்பாயிண்டில் நிலைப்படுத்தப்படாது. நிலையான பிழை என்று அழைக்கப்படுவது உள்ளது, இது கட்டுப்படுத்தப்பட்ட மாறியின் அத்தகைய விலகலுக்கு சமம், இது வெளியீட்டு சமிக்ஞையை வழங்குகிறது, இது வெளியீட்டு மாறியை சரியாக இந்த மதிப்பில் உறுதிப்படுத்துகிறது. எடுத்துக்காட்டாக, வெப்பநிலை கட்டுப்படுத்தியில், வெப்பநிலை செட் புள்ளியை நெருங்கும்போது வெளியீட்டு சமிக்ஞை (ஹீட்டர் சக்தி) படிப்படியாக குறைகிறது, மேலும் கணினி வெப்ப இழப்புக்கு சமமான சக்தியில் நிலைப்படுத்தப்படுகிறது. வெப்பநிலை செட் மதிப்பை அடைய முடியாது, ஏனெனில் இந்த வழக்கில் ஹீட்டர் சக்தி பூஜ்ஜியமாக மாறும் மற்றும் அது குளிர்விக்கத் தொடங்கும்.

உள்ளீடு மற்றும் வெளியீட்டு சமிக்ஞை (ஆதாயம்) ஆகியவற்றுக்கு இடையேயான விகிதாச்சார குணகம் பெரியதாக இருந்தால், நிலையான பிழை சிறியதாக இருக்கும், இருப்பினும், ஆதாயம் மிகவும் அதிகமாக இருந்தால் மற்றும் தாமதங்கள் (லேக்) இருந்தால், கணினியில் சுய அலைவுகள் தொடங்கலாம், மேலும் மேலும் குணகத்தின் அதிகரிப்பு, கணினி நிலைத்தன்மையை இழக்கக்கூடும்.

ஒருங்கிணைக்கும் கூறு

ஒருங்கிணைக்கும் கூறு என்பது கட்டுப்படுத்தப்பட்ட மாறியின் விலகலின் நேர ஒருங்கிணைப்புக்கு விகிதாசாரமாகும். நிலையான பிழையை அகற்ற இது பயன்படுகிறது. காலப்போக்கில் நிலையான பிழையை கணக்கில் எடுத்துக்கொள்ள இது கட்டுப்படுத்தியை அனுமதிக்கிறது.

கணினி வெளிப்புற இடையூறுகளை அனுபவிக்கவில்லை என்றால், சிறிது நேரத்திற்குப் பிறகு கட்டுப்படுத்தப்பட்ட மாறி கொடுக்கப்பட்ட மதிப்பில் உறுதிப்படுத்தப்படும், விகிதாசார கூறுகளின் சமிக்ஞை பூஜ்ஜியத்திற்கு சமமாக இருக்கும், மேலும் வெளியீட்டு சமிக்ஞை ஒருங்கிணைக்கும் கூறுகளால் முழுமையாக வழங்கப்படும். இருப்பினும், ஒருங்கிணைக்கும் கூறு அதன் குணகம் தவறாக தேர்ந்தெடுக்கப்பட்டால், சுய-ஊசலாட்டங்களுக்கும் வழிவகுக்கும்.

வேறுபடுத்தும் கூறு

வேறுபடுத்தும் கூறு என்பது கட்டுப்படுத்தப்பட்ட மாறியின் விலகலின் மாற்றத்தின் விகிதத்திற்கு விகிதாசாரமாகும் மற்றும் எதிர்காலத்தில் கணிக்கப்படும் இலக்கு மதிப்பிலிருந்து விலகல்களை எதிர்க்கும் நோக்கம் கொண்டது. வெளிப்புற தொந்தரவுகள் அல்லது கணினியில் கட்டுப்பாட்டாளரின் செல்வாக்கின் தாமதம் ஆகியவற்றால் விலகல்கள் ஏற்படலாம்.

கோட்பாடு

PID கட்டுப்படுத்தியின் நோக்கம் செட் மதிப்பை பராமரிப்பதாகும் எக்ஸ்சில மதிப்பில் 0 எக்ஸ்மற்றொரு அளவை மாற்றுவதன் மூலம் u. பொருள் எக்ஸ் 0 அழைக்கப்படுகிறது கொடுக்கப்பட்ட மதிப்பு(அல்லது அமைத்தல், தொழில்நுட்பத்தில்), மற்றும் வேறுபாடு e = ( எக்ஸ் 0 - x) - எஞ்சிய(அல்லது [ஒழுங்குமுறை] பிழை, தொழில்நுட்பத்தில்), கொடுக்கப்பட்ட மதிப்பிலிருந்து மதிப்பின் பொருந்தாமை அல்லது விலகல். கீழே கொடுக்கப்பட்டுள்ள சூத்திரங்கள் அமைப்பின் நேரியல் மற்றும் நிலைத்தன்மையின் விஷயத்தில் செல்லுபடியாகும், இது நடைமுறையில் அரிதாகவே உண்மை.

ரெகுலேட்டர் வெளியீட்டு சமிக்ஞை uமூன்று விதிமுறைகளால் தீர்மானிக்கப்படுகிறது:

u (t) = P + I + D = K p e (t) + K i ∫ 0 t e (τ) d τ + K d e d t (\displaystyle u(t)=P+I+D=K_(p)\, (e(t))+K_(i)\int \ வரம்புகள் _(0)^(t)(e(\tau))\,(d\tau )+K_(d)(\frac (de)(dt )))),

எங்கே கே ப, கே ஐ, கே டி - ஆதாய காரணிகள்கட்டுப்படுத்தியின் விகிதாசார, ஒருங்கிணைத்தல் மற்றும் வேறுபடுத்தும் கூறுகள் முறையே.

PID கன்ட்ரோலர்களை டியூனிங் செய்வதற்கான பெரும்பாலான முறைகள் வெளியீட்டு சமிக்ஞைக்கு சற்று வித்தியாசமான சூத்திரத்தைப் பயன்படுத்துகின்றன, இதில் ஒருங்கிணைக்கும் மற்றும் வேறுபடுத்தும் கூறுகளும் விகிதாசார ஆதாயத்தால் பெருக்கப்படுகின்றன:

u (t) = K p (e (t) + K i p ∫ 0 t e (τ) d τ + K d p d e d t) (\displaystyle u(t)=K_(p)\left(\,(e(t)) +K_(ip)\int \limits _(0)^(t)(e(\tau))\,(d\tau )+K_(dp)(\frac (de)(dt))\right))

வெளியீட்டு சிக்னலைக் கணக்கிடுவதற்கான முறையின் தனித்துவமான செயலாக்கத்தில், சமன்பாடு பின்வரும் வடிவத்தை எடுக்கும்:

U (n) = K p E (n) + K p K i p T ∑ k = 0 n E (k) + K p K d p T (E (n) − E (n - 1)) (\displaystyle U( n)=K_(p)E(n)+K_(p)K_(ip)T\sum _(k=0)^(n)(E(k))+(\frac (K_(p)K_( dp))(T))(E(n)-E(n-1))),

எங்கே டி (\டிஸ்ப்ளே ஸ்டைல் ​​டி)- மாதிரி நேரம். மாற்றீட்டைப் பயன்படுத்துதல் K i d i s c r = K p K i p T , K d d i s c r = K p K d p T (\displaystyle K_(i)^(discr)=K_(p)K_(ip)T,K_(d)^(discr)=(\ frac (K_(p)K_(dp))(T)))எழுத முடியும்:

U (n) = K p E (n) + K i d i s c r ∑ k = 0 n E (k) + K d d i s c r (E (n) - E (n − 1)) (\displaystyle U(n)=K_(p )E(n)+K_(i)^(discr)\sum _(k=0)^(n)(E(k))+K_(d)^(discr)(E(n)-E(n -1)))

மென்பொருள் செயலாக்கத்தில், கணக்கீடுகளை மேம்படுத்த, அவை மீண்டும் மீண்டும் சூத்திரத்திற்கு மாறுகின்றன:

U (n) = U (n - 1) + K p (E (n) - E (n - 1)) + K i d i s c r E (n) + K d d i s c r (E (n) - 2 E (n - 1) + E (n - 2)) (\displaystyle U(n)=U(n-1)+K_(p)(E(n)-E(n-1))+K_(i)^(discr)( E(n))+K_(d)^(discr)(E(n)-2E(n-1)+E(n-2)))

பின்வருபவை பெரும்பாலும் PID கட்டுப்படுத்தி அளவுருக்களாகப் பயன்படுத்தப்படுகின்றன:

  • உறவினர் வரம்பு
P b = 1 K p (\displaystyle P_(b)=(\frac (1)(K_(p))))
  • காலத்தின் பரிமாணத்தைக் கொண்ட ஒருங்கிணைப்பு மற்றும் வேறுபாட்டின் மாறிலிகள்
T i = 1 K i p (\displaystyle T_(i)=(\frac (1)(K_(ip)))) T d = K d p (\displaystyle T_(d)=(K_(dp))\;)

வெவ்வேறு மூலங்கள் மற்றும் வெவ்வேறு ஒழுங்குமுறை உற்பத்தியாளர்களால் விதிமுறைகள் வித்தியாசமாகப் பயன்படுத்தப்படுகின்றன என்பதை நினைவில் கொள்ளவும்.

விண்ணப்ப நடைமுறை

PID கட்டுப்படுத்தியுடன் ஒரு அமைப்பை பகுப்பாய்வு செய்வதற்கான கோட்பாட்டு முறைகள் நடைமுறையில் அரிதாகவே பயன்படுத்தப்படுகின்றன. நடைமுறை பயன்பாட்டில் முக்கிய சிரமம் கட்டுப்பாட்டு பொருளின் பண்புகளை அறியாமை ஆகும். கூடுதலாக, கணினியின் நேரியல் மற்றும் நிலையற்ற தன்மை ஆகியவை குறிப்பிடத்தக்க சிக்கலை ஏற்படுத்துகின்றன. நடைமுறை கட்டுப்பாட்டாளர்கள் மேலே மற்றும் கீழே வரையறுக்கப்பட்ட வரம்பில் செயல்படுகிறார்கள், எனவே கொள்கையளவில், நேரியல் அல்லாதவை. இது சம்பந்தமாக, கட்டுப்பாட்டு பொருளுடன் இணைக்கப்பட்ட ரெகுலேட்டரை சோதனை முறையில் சரிசெய்வதற்கான முறைகள் பரவலாகிவிட்டன. அல்காரிதம் மூலம் உருவாக்கப்பட்ட கட்டுப்பாட்டு மதிப்பின் நேரடி பயன்பாடும் அதன் சொந்த பிரத்தியேகங்களைக் கொண்டுள்ளது. எடுத்துக்காட்டாக, வெப்பநிலை கட்டுப்பாடு பெரும்பாலும் ஒன்று அல்ல, இரண்டு சாதனங்களைக் கட்டுப்படுத்துகிறது, அவற்றில் ஒன்று வெப்பத்திற்கான சூடான திரவத்தின் விநியோகத்தைக் கட்டுப்படுத்துகிறது, மற்றொன்று குளிரூட்டலுக்கான குளிரூட்டியைக் கட்டுப்படுத்துகிறது. நடைமுறை கட்டுப்பாட்டாளர்களுக்கான மூன்று விருப்பங்கள் பெரும்பாலும் கருதப்படுகின்றன. கோட்பாட்டு விளக்கத்திற்கு மிக நெருக்கமான முதல் விருப்பத்தில், கட்டுப்படுத்தி வெளியீடு தொடர்ச்சியான அனலாக் வரையறுக்கப்பட்ட மதிப்பாகும். இரண்டாவது வழக்கில், வெளியீடு என்பது ஸ்டெப்பர் மோட்டாரை இயக்கக்கூடிய பருப்புகளின் ஸ்ட்ரீம் ஆகும். மூன்றாவது வழக்கில், கட்டுப்படுத்தி வெளியீட்டு கட்டுப்பாட்டு சமிக்ஞை துடிப்பு-அகல பண்பேற்றத்திற்கு பயன்படுத்தப்படுகிறது.

நவீன ஆட்டோமேஷன் அமைப்புகளில், ஒரு விதியாக, PLC இன் அடிப்படையில் கட்டமைக்கப்பட்டுள்ளது, PID கட்டுப்படுத்திகள் கட்டுப்பாட்டுக் கட்டுப்படுத்தியில் உள்ள சிறப்பு வன்பொருள் தொகுதிகளாக அல்லது சிறப்பு நூலகங்களைப் பயன்படுத்தி மென்பொருள் முறைகள் மூலம் செயல்படுத்தப்படுகின்றன. கட்டுப்படுத்தி உற்பத்தியாளர்கள் பெரும்பாலும் கட்டுப்படுத்தி குணகங்களை சரிசெய்ய சிறப்பு மென்பொருளை (ட்யூனர்கள்) உருவாக்குகிறார்கள்.

PID சட்டத்தை (விகிதாசார-ஒருங்கிணைந்த-வேறுபட்ட ஒழுங்குமுறைச் சட்டம்) பயன்படுத்துவதன் மூலம் ஒழுங்குமுறையின் துல்லியத்தை கணிசமாக மேம்படுத்தலாம்.
PID சட்டத்தை செயல்படுத்த, மூன்று முக்கிய மாறிகள் பயன்படுத்தப்படுகின்றன:
பி - விகிதாசார இசைக்குழு, %;
I - ஒருங்கிணைப்பு நேரம், கள்;
டி - வேறுபாடு நேரம், எஸ்.
PID கட்டுப்படுத்தியின் கையேடு டியூனிங் (P, I, D அளவுருக்களின் மதிப்புகளை தீர்மானித்தல்), தேவையான கட்டுப்பாட்டின் தரத்தை உறுதி செய்தல், மிகவும் சிக்கலானது மற்றும் நடைமுறையில் அரிதாகவே பயன்படுத்தப்படுகிறது. UT/UP தொடரின் PID கட்டுப்படுத்திகள் ஒரு குறிப்பிட்ட கட்டுப்பாட்டு செயல்முறைக்கு PID அளவுருக்களின் தானியங்கி சரிசெய்தலை வழங்குகின்றன, அதே நேரத்தில் அவற்றை கைமுறையாக சரிசெய்யும் திறனை பராமரிக்கின்றன.

விகிதாசார கூறு
விகிதாச்சார இசைக்குழுவில், குணகம் P ஆல் தீர்மானிக்கப்படுகிறது, கட்டுப்பாட்டு சமிக்ஞையானது செட்பாயிண்ட் மற்றும் அளவுருவின் உண்மையான மதிப்பு (பொருத்தமில்லாதது) இடையே உள்ள வேறுபாட்டின் விகிதத்தில் மாறும்:

கட்டுப்பாட்டு சமிக்ஞை = 100/P E,

E என்பது பொருந்தாதது.
விகிதாசார (ஆதாய) குணகம் K என்பது P க்கு நேர்மாறான விகிதாசார மதிப்பு:

விகிதாசார இசைக்குழு கொடுக்கப்பட்ட கட்டுப்பாட்டு செட்பாயிண்டுடன் தொடர்புடையதாக தீர்மானிக்கப்படுகிறது, மேலும் இந்த மண்டலத்திற்குள் கட்டுப்பாட்டு சமிக்ஞை 0 முதல் 100% வரை மாறுபடும், அதாவது, உண்மையான மதிப்பு மற்றும் செட்பாயிண்ட் சமமாக இருந்தால், வெளியீட்டு சமிக்ஞை 50% மதிப்பைக் கொண்டிருக்கும்.

இங்கு P என்பது விகிதாசார மண்டலம்;
ST - ஒழுங்குமுறை செட்பாயிண்ட்.
உதாரணத்திற்கு:
அளவீட்டு வரம்பு 0...1000 °C;
கட்டுப்பாட்டு தொகுப்பு புள்ளி ST = 500 °C;
விகிதாசார இசைக்குழு P = 5%, இது 50 °C (1000 °C இல் 5%);
475 °C மற்றும் அதற்கும் குறைவான வெப்பநிலையில், கட்டுப்பாட்டு சமிக்ஞை 100% மதிப்பைக் கொண்டிருக்கும்; 525 °C மற்றும் அதற்கு மேல் - 0%. 475...525 °C வரம்பில் (விகிதாசார இசைக்குழுவில்), கே = 100/P = 20 ஆதாயத்துடன் பொருந்தாத அளவின் விகிதத்தில் கட்டுப்பாட்டு சமிக்ஞை மாறும்.
விகிதாசார இசைக்குழு P இன் மதிப்பைக் குறைப்பது, பொருந்தாததற்குக் கட்டுப்படுத்தியின் பதிலை அதிகரிக்கிறது, அதாவது, ஒரு சிறிய பொருத்தமின்மை, கட்டுப்பாட்டு சமிக்ஞையின் பெரிய மதிப்பிற்கு ஒத்திருக்கும். ஆனால் அதே நேரத்தில், பெரிய ஆதாயத்தின் காரணமாக, செயல்முறை செட் மதிப்பைச் சுற்றி ஒரு ஊசலாடும் தன்மையைப் பெறுகிறது, மேலும் துல்லியமான கட்டுப்பாட்டை அடைய முடியாது. விகிதாச்சார இசைக்குழு அதிகமாக அதிகரித்தால், கட்டுப்படுத்தி அதன் விளைவாக ஏற்படும் பொருத்தமின்மைக்கு மிக மெதுவாக வினைபுரியும், மேலும் செயல்முறையின் இயக்கவியலைக் கண்காணிப்பதைத் தொடர முடியாது. விகிதாசார கட்டுப்பாட்டின் இந்த குறைபாடுகளை ஈடுசெய்ய, கூடுதல் நேர பண்பு அறிமுகப்படுத்தப்பட்டது - ஒருங்கிணைந்த கூறு.

ஒருங்கிணைந்த கூறு
இது ஒருங்கிணைப்பு நேர மாறிலி I ஆல் தீர்மானிக்கப்படுகிறது, இது நேரத்தின் செயல்பாடாகும் மற்றும் ஒரு குறிப்பிட்ட காலப்பகுதியில் ஆதாயத்தில் (விகிதாசார பட்டையின் மாற்றம்) மாற்றத்தை வழங்குகிறது.


கட்டுப்பாட்டு சமிக்ஞை = 100/P E + 1/I ∫ E dt.

படத்தில் இருந்து பார்க்க முடிந்தால், கட்டுப்பாட்டு சட்டத்தின் விகிதாசார கூறு பொருத்தமின்மையை குறைக்கவில்லை என்றால், ஒருங்கிணைந்த கூறு காலத்தின் I இல் ஆதாயத்தை சீராக அதிகரிக்கத் தொடங்குகிறது. ஒரு குறிப்பிட்ட காலத்திற்குப் பிறகு, இந்த செயல்முறை மீண்டும் நிகழ்கிறது. பொருத்தமின்மை சிறியதாக இருந்தால் (அல்லது விரைவாக குறைகிறது), பின்னர் ஆதாயம் அதிகரிக்காது மற்றும் அளவுரு மதிப்பு குறிப்பிட்ட அமைப்பிற்கு சமமாக இருந்தால், அது சில குறைந்தபட்ச மதிப்பை எடுக்கும். இது சம்பந்தமாக, ஒருங்கிணைந்த கூறு தானியங்கி கட்டுப்பாட்டு பணிநிறுத்தத்தின் செயல்பாடாக பேசப்படுகிறது. PID சட்டத்தின்படி ஒழுங்குபடுத்தும் விஷயத்தில், செயல்முறையின் நிலையற்ற பதில் அலைவுகளாக இருக்கும், அது படிப்படியாக செட் மதிப்பை நோக்கி சிதைகிறது.

வேறுபட்ட கூறு
பல கட்டுப்பாட்டு பொருள்கள் மிகவும் செயலற்றவை, அதாவது அவை பயன்படுத்தப்பட்ட செயலுக்கு (இறந்த நேரம்) தாமதமான பதிலைக் கொண்டுள்ளன மற்றும் கட்டுப்பாட்டு நடவடிக்கை அகற்றப்பட்ட பிறகு (தாமத நேரம்) தொடர்ந்து செயல்படுகின்றன. அத்தகைய பொருள்களில் உள்ள PID கட்டுப்படுத்திகள் எப்போதும் கட்டுப்பாட்டு சமிக்ஞையை ஆன்/ஆஃப் செய்வதில் பின்தங்கிவிடும். இந்த விளைவை அகற்ற, ஒரு வேறுபட்ட கூறு அறிமுகப்படுத்தப்பட்டது, இது வேறுபட்ட நேர மாறிலி D மூலம் தீர்மானிக்கப்படுகிறது, மேலும் PID கட்டுப்பாட்டு சட்டத்தின் முழு செயலாக்கம் உறுதி செய்யப்படுகிறது. வேறுபட்ட கூறு என்பது பொருந்தாத நேர வழித்தோன்றலாகும், அதாவது, இது கட்டுப்பாட்டு அளவுருவின் மாற்ற விகிதத்தின் செயல்பாடாகும். பொருத்தமின்மை நிலையான மதிப்பாக மாறும் போது, ​​வேறுபட்ட கூறு கட்டுப்பாட்டு சமிக்ஞையை பாதிக்காது.

கட்டுப்பாட்டு சமிக்ஞை = 100/P E + 1/I ∫ E dt + D d/dt E.

வேறுபட்ட கூறுகளை அறிமுகப்படுத்துவதன் மூலம், கட்டுப்படுத்தி இறந்த நேரத்தையும் தாமத நேரத்தையும் கணக்கில் எடுத்துக்கொள்ளத் தொடங்குகிறது, கட்டுப்பாட்டு சமிக்ஞையை முன்கூட்டியே மாற்றுகிறது. செட்பாயிண்ட் மதிப்பைச் சுற்றியுள்ள செயல்முறை ஏற்ற இறக்கங்களைக் கணிசமாகக் குறைக்கவும், நிலையற்ற செயல்முறையை விரைவாக முடிப்பதையும் இது சாத்தியமாக்குகிறது.
எனவே, PID கட்டுப்படுத்திகள், ஒரு கட்டுப்பாட்டு சமிக்ஞையை உருவாக்கும் போது, ​​கட்டுப்பாட்டு பொருளின் பண்புகளை கணக்கில் எடுத்துக்கொள்கின்றன, அதாவது. அளவு, கால அளவு மற்றும் மாற்ற விகிதத்திற்கான பொருத்தமின்மையை பகுப்பாய்வு செய்யுங்கள். வேறு வார்த்தைகளில் கூறுவதானால், PID கட்டுப்படுத்தி கட்டுப்பாட்டு சிக்னலுக்கு கட்டுப்படுத்தப்பட்ட பொருளின் எதிர்வினையை "எதிர்பார்க்கிறது" மற்றும் கட்டுப்பாட்டு நடவடிக்கையை மாற்றத் தொடங்குகிறது, அது நிர்ணயிக்கப்பட்ட மதிப்பை அடையும் போது அல்ல, ஆனால் முன்கூட்டியே.

5. எந்த இணைப்பின் பரிமாற்ற செயல்பாடு குறிப்பிடப்படுகிறது: K(p) = K/Tr

PID கட்டுப்படுத்தி

PID கட்டுப்படுத்தியின் செயல்பாட்டுக் கொள்கையை விளக்கும் வரைபடம். விளக்கத்தின் தெளிவுக்காக ஒருங்கிணைந்த மற்றும் வழித்தோன்றலுக்கு முன் உள்ள குணகங்கள் தவிர்க்கப்படுகின்றன.

விகிதாசார-ஒருங்கிணைந்த-வழித்தோன்றல் (PID) கட்டுப்படுத்தி- பின்னூட்டத்துடன் கட்டுப்பாட்டு வளையத்தில் உள்ள சாதனம். நிலையற்ற செயல்முறையின் தேவையான துல்லியம் மற்றும் தரத்தைப் பெறுவதற்கு ஒரு கட்டுப்பாட்டு சமிக்ஞையை உருவாக்க தானியங்கி கட்டுப்பாட்டு அமைப்புகளில் பயன்படுத்தப்படுகிறது. PID கட்டுப்படுத்தி ஒரு கட்டுப்பாட்டு சமிக்ஞையை உருவாக்குகிறது, இது மூன்று சொற்களின் கூட்டுத்தொகையாகும், அதில் முதலாவது விகிதாசாரமாகும் உள்ளீட்டு சமிக்ஞைக்கும் பின்னூட்ட சமிக்ஞைக்கும் உள்ள வேறுபாடு(பொருத்தமில்லாத சமிக்ஞை), இரண்டாவது பொருந்தாத சமிக்ஞையின் ஒருங்கிணைந்ததாகும், மூன்றாவது பொருந்தாத சமிக்ஞையின் வழித்தோன்றலாகும்.

சில கூறுகள் பயன்படுத்தப்படாவிட்டால், சீராக்கி அழைக்கப்படுகிறது விகிதாசார-ஒருங்கிணைந்த , விகிதாசார-வழித்தோன்றல் , விகிதாசார மற்றும் பல.

பொதுவான செய்தி

விகிதாசார கூறு

விகிதாசார கூறு ஒரு வெளியீட்டு சமிக்ஞையை உருவாக்குகிறது, இது ஒரு குறிப்பிட்ட நேரத்தில் கவனிக்கப்பட்ட செட் மதிப்பிலிருந்து கட்டுப்படுத்தப்பட்ட மாறியின் விலகலை எதிர்க்கிறது. அதிக விலகல், பெரியது. உள்ளீட்டு சமிக்ஞை குறிப்பிட்ட மதிப்புக்கு சமமாக இருந்தால், வெளியீடு பூஜ்ஜியமாகும்.

இருப்பினும், ஒரு விகிதாசாரக் கட்டுப்படுத்தியை மட்டுமே பயன்படுத்தும் போது, ​​கட்டுப்படுத்தப்பட்ட மாறியின் மதிப்பு ஒருபோதும் செட்பாயிண்டில் நிலைப்படுத்தப்படாது. நிலையான பிழை என்று அழைக்கப்படுவது உள்ளது, இது கட்டுப்படுத்தப்பட்ட மாறியின் அத்தகைய விலகலுக்கு சமம், இது வெளியீட்டு சமிக்ஞையை வழங்குகிறது, இது வெளியீட்டு மாறியை சரியாக இந்த மதிப்பில் உறுதிப்படுத்துகிறது. எடுத்துக்காட்டாக, வெப்பநிலை கட்டுப்படுத்தியில், வெப்பநிலை செட் புள்ளியை நெருங்கும்போது வெளியீட்டு சமிக்ஞை (ஹீட்டர் சக்தி) படிப்படியாக குறைகிறது, மேலும் கணினி வெப்ப இழப்புக்கு சமமான சக்தியில் நிலைப்படுத்தப்படுகிறது. வெப்பநிலை செட் மதிப்பை அடைய முடியாது, ஏனெனில் இந்த வழக்கில் ஹீட்டர் சக்தி பூஜ்ஜியமாக மாறும் மற்றும் அது குளிர்விக்கத் தொடங்கும்.

உள்ளீடு மற்றும் வெளியீட்டு சமிக்ஞை (ஆதாயம்) ஆகியவற்றுக்கு இடையேயான விகிதாச்சார குணகம் அதிகமாக இருந்தால், நிலையான பிழை சிறியதாக இருக்கும், இருப்பினும், ஆதாயம் மிக அதிகமாக இருந்தால், கணினியில் தாமதங்கள் ஏற்பட்டால், சுய-அதிர்வுகள் தொடங்கலாம், மேலும் மேலும் அதிகரிக்கும் குணகம், அமைப்பு நிலைத்தன்மையை இழக்கலாம்.

ஒருங்கிணைந்த கூறு

ஒருங்கிணைந்த கூறு என்பது கட்டுப்படுத்தப்பட்ட மாறியின் விலகலின் ஒருங்கிணைப்புக்கு விகிதாசாரமாகும். நிலையான பிழையை அகற்ற இது பயன்படுகிறது. காலப்போக்கில் நிலையான பிழையை கணக்கில் எடுத்துக்கொள்ள இது கட்டுப்படுத்தியை அனுமதிக்கிறது.

கணினி வெளிப்புற இடையூறுகளை அனுபவிக்கவில்லை என்றால், சிறிது நேரம் கழித்து கட்டுப்படுத்தப்பட்ட மாறி கொடுக்கப்பட்ட மதிப்பில் உறுதிப்படுத்தப்படும், விகிதாசார கூறுகளின் சமிக்ஞை பூஜ்ஜியத்திற்கு சமமாக இருக்கும், மேலும் வெளியீட்டு சமிக்ஞை முழுமையாக ஒருங்கிணைந்த கூறு மூலம் வழங்கப்படும். இருப்பினும், ஒருங்கிணைந்த கூறு சுய ஊசலாட்டங்களுக்கும் வழிவகுக்கும்.

வேறுபட்ட கூறு

வேறுபட்ட கூறு என்பது கட்டுப்படுத்தப்பட்ட மாறியின் விலகலின் மாற்றத்தின் விகிதத்திற்கு விகிதாசாரமாகும் மற்றும் எதிர்காலத்தில் கணிக்கப்படும் இலக்கு மதிப்பிலிருந்து விலகல்களை எதிர்க்கும் நோக்கம் கொண்டது. வெளிப்புற தொந்தரவுகள் அல்லது கணினியில் கட்டுப்பாட்டாளரின் செல்வாக்கின் தாமதம் ஆகியவற்றால் விலகல்கள் ஏற்படலாம்.

கோட்பாடு

PID கட்டுப்படுத்தியின் நோக்கம் செட் மதிப்பை பராமரிப்பதாகும் எக்ஸ்சில மதிப்பில் 0 எக்ஸ்மற்றொரு அளவை மாற்றுவதன் மூலம் u. பொருள் எக்ஸ் 0 அழைக்கப்படுகிறது கொடுக்கப்பட்ட மதிப்பு, மற்றும் வேறுபாடு இ = ( எக்ஸ் 0 - x) - எஞ்சிய, குறிப்பிட்ட மதிப்பிலிருந்து மதிப்பின் பொருந்தாமை அல்லது விலகல்.

ரெகுலேட்டர் வெளியீட்டு சமிக்ஞை uமூன்று விதிமுறைகளால் தீர்மானிக்கப்படுகிறது:

,

எங்கே கே ப, கே ஐ, கே டி - ஆதாய காரணிகள்கட்டுப்படுத்தியின் விகிதாசார, ஒருங்கிணைந்த மற்றும் வேறுபட்ட கூறுகள் முறையே.

PID கன்ட்ரோலர்களை டியூனிங் செய்வதற்கான பெரும்பாலான முறைகள் வெளியீட்டு சமிக்ஞைக்கு சற்று வித்தியாசமான சூத்திரத்தைப் பயன்படுத்துகின்றன, இதில் ஒருங்கிணைந்த மற்றும் வேறுபட்ட கூறுகளும் விகிதாசார ஆதாயத்தால் பெருக்கப்படுகின்றன:

வெளியீட்டு சிக்னலைக் கணக்கிடுவதற்கான முறையின் தனித்துவமான செயலாக்கத்தில், சமன்பாடு பின்வரும் வடிவத்தை எடுக்கும்:

,

மாதிரி நேரம் எங்கே. மாற்றீட்டைப் பயன்படுத்தி நாம் எழுதலாம்:

மென்பொருள் செயலாக்கத்தில், கணக்கீடுகளை மேம்படுத்த, அவை மீண்டும் மீண்டும் சூத்திரத்திற்கு மாறுகின்றன:

PID கட்டுப்படுத்தியைப் பயன்படுத்தி பின்னூட்டக் கட்டுப்பாட்டு அமைப்பு. கணினி மதிப்பைக் கட்டுப்படுத்துகிறது y(t), அதாவது மதிப்பைக் காட்டுகிறது y(t)வெளிப்புறமாக குறிப்பிடப்பட்ட மதிப்புக்கு u(t). PID கட்டுப்படுத்தி உள்ளீட்டிற்கு ஒரு பிழை அனுப்பப்பட்டது இ(டி), PID கட்டுப்படுத்தியின் வெளியீடு என்பது அளவைக் கட்டுப்படுத்தும் சில செயல்முறைகளுக்கான (கட்டுப்பாட்டுப் பொருளுக்கு) ஒரு கட்டுப்பாட்டுச் செயலாகும். y(t).

பின்வருபவை பெரும்பாலும் PID கட்டுப்படுத்தி அளவுருக்களாகப் பயன்படுத்தப்படுகின்றன:

  • உறவினர் வரம்பு
  • காலத்தின் பரிமாணத்தைக் கொண்ட ஒருங்கிணைப்பு மற்றும் வேறுபாட்டின் மாறிலிகள்

வெவ்வேறு மூலங்கள் மற்றும் வெவ்வேறு ஒழுங்குமுறை உற்பத்தியாளர்களால் விதிமுறைகள் வித்தியாசமாகப் பயன்படுத்தப்படுகின்றன என்பதை நினைவில் கொள்ளவும்.

PID (ஆங்கிலத்தில் P-proportional, I-integral, D-derivative) - ரெகுலேட்டர் என்பது பின்னூட்ட இணைப்புடன் கூடிய கட்டுப்பாட்டு வளையங்களில் பயன்படுத்தப்படும் ஒரு சாதனம் ஆகும். இந்த ரெகுலேட்டர்கள் தானியங்கி அமைப்புகளில் கட்டுப்பாட்டு சமிக்ஞையை உருவாக்கப் பயன்படுத்தப்படுகின்றன, அங்கு நிலையற்ற செயல்முறைகளின் தரம் மற்றும் துல்லியத்திற்கான உயர் தேவைகளை அடைவது அவசியம்.

PID கட்டுப்படுத்தியின் கட்டுப்பாட்டு சமிக்ஞை மூன்று கூறுகளைச் சேர்ப்பதன் மூலம் பெறப்படுகிறது: முதலாவது பிழை சமிக்ஞையின் அளவிற்கு விகிதாசாரமாகும், இரண்டாவது பிழை சமிக்ஞையின் ஒருங்கிணைப்புக்கு விகிதாசாரமாகும், மூன்றாவது அதன் வழித்தோன்றல் ஆகும். கூட்டல் செயல்பாட்டில் இந்த மூன்று கூறுகளில் ஏதேனும் ஒன்று சேர்க்கப்படவில்லை என்றால், கட்டுப்படுத்தி இனி PID ஆக இருக்காது, ஆனால் விகிதாசார, விகிதாசார-வேறுபாடு அல்லது விகிதாசார-ஒருங்கிணைத்தல்.

முதல் கூறு விகிதாசாரமாகும்

வெளியீட்டு சமிக்ஞை ஒரு விகிதாசார கூறு மூலம் வழங்கப்படுகிறது. இந்த சமிக்ஞை உள்ளீட்டு மதிப்பின் தற்போதைய விலகலை எதிர்ப்பதற்கு வழிவகுக்கிறது, இது செட் மதிப்பிலிருந்து கட்டுப்படுத்தப்படுகிறது. அதிக விலகல், அதிக சமிக்ஞை. கட்டுப்படுத்தப்பட்ட மாறியின் உள்ளீட்டு மதிப்பு குறிப்பிட்ட மதிப்புக்கு சமமாக இருக்கும்போது, ​​வெளியீட்டு சமிக்ஞை பூஜ்ஜியமாக மாறும்.

நீங்கள் இந்த விகிதாசார கூறுகளை மட்டும் விட்டுவிட்டு அதை மட்டும் பயன்படுத்தினால், கட்டுப்படுத்தப்பட வேண்டிய அளவின் மதிப்பு சரியான மதிப்பில் ஒருபோதும் நிலைபெறாது. கட்டுப்படுத்தப்பட்ட மாறியின் அத்தகைய விலகல் மதிப்புக்கு சமமான நிலையான பிழை எப்போதும் உள்ளது, வெளியீட்டு சமிக்ஞை இந்த மதிப்பில் உறுதிப்படுத்துகிறது.

எடுத்துக்காட்டாக, ஒரு தெர்மோஸ்டாட் வெப்ப சாதனத்தின் சக்தியைக் கட்டுப்படுத்துகிறது. விரும்பிய பொருளின் வெப்பநிலை நெருங்கும்போது வெளியீட்டு சமிக்ஞை குறைகிறது, மேலும் கட்டுப்பாட்டு சமிக்ஞை வெப்ப இழப்பின் மட்டத்தில் சக்தியை உறுதிப்படுத்துகிறது. இதன் விளைவாக, வெப்பநிலை ஒருபோதும் செட் மதிப்பை அடையாது, ஏனென்றால் வெப்பமூட்டும் சாதனம் வெறுமனே அணைக்கப்பட்டு குளிர்விக்கத் தொடங்கும் (சக்தி பூஜ்ஜியம்).

உள்ளீடு மற்றும் வெளியீடு இடையே ஒரு பெரிய ஆதாயம் ஒரு சிறிய நிலையான பிழை என்று பொருள், ஆனால் ஆதாயம் (அடிப்படையில் ஒரு விகிதாசார குணகம்) மிகவும் பெரியதாக இருந்தால், கணினியில் தாமதங்கள் ஏற்பட்டால் (அவை பெரும்பாலும் தவிர்க்க முடியாதவை), சுய-ஊசலாட்டங்கள் விரைவில் தொடங்கும். அதில், மற்றும் நீங்கள் குணகத்தை அதிகரித்தால் இன்னும் அதிகமாக இருக்கும் - கணினி வெறுமனே நிலைத்தன்மையை இழக்கும்.

அல்லது கியர்பாக்ஸுடன் மோட்டாரை நிலைநிறுத்துவதற்கான எடுத்துக்காட்டு. குணகம் சிறியதாக இருந்தால், வேலை செய்யும் உறுப்பு விரும்பிய நிலை மிகவும் மெதுவாக அடையப்படுகிறது. குணகத்தை அதிகரிக்கவும் - எதிர்வினை வேகமாக இருக்கும். ஆனால் நீங்கள் குணகத்தை மேலும் அதிகரித்தால், மோட்டார் சரியான நிலையை "ஓவர்ஷூட்" செய்யும், மேலும் ஒருவர் எதிர்பார்ப்பது போல் கணினி விரைவாக தேவையான நிலைக்கு நகராது. நாம் இப்போது விகிதாசார குணகத்தை மேலும் அதிகரித்தால், விரும்பிய புள்ளியைச் சுற்றி அலைவுகள் தொடங்கும் - விளைவு மீண்டும் அடையப்படாது ...

இரண்டாவது கூறு ஒருங்கிணைக்கிறது

பொருந்தாத மதிப்பின் நேர ஒருங்கிணைப்பு ஒருங்கிணைக்கும் கூறுகளின் முக்கிய பகுதியாகும். இது இந்த ஒருங்கிணைப்புக்கு விகிதாசாரமாகும். நிலையான பிழையை அகற்ற ஒருங்கிணைந்த கூறு துல்லியமாக பயன்படுத்தப்படுகிறது, ஏனெனில் கட்டுப்படுத்தி காலப்போக்கில் நிலையான பிழையை கணக்கில் எடுத்துக்கொள்கிறது.

வெளிப்புற இடையூறுகள் இல்லாத நிலையில், சிறிது நேரத்திற்குப் பிறகு கட்டுப்படுத்தப்பட வேண்டிய அளவு சரியான மதிப்பில் நிலைப்படுத்தப்படும், விகிதாசார கூறு பூஜ்ஜியத்திற்கு சமமாக இருக்கும் போது, ​​மேலும் வெளியீட்டின் துல்லியம் ஒருங்கிணைக்கும் கூறுகளால் முழுமையாக உறுதி செய்யப்படும். ஆனால் ஒருங்கிணைக்கும் கூறு, குணகம் சரியாகத் தேர்ந்தெடுக்கப்படாவிட்டால், பொருத்துதல் புள்ளியைச் சுற்றி அலைவுகளை உருவாக்கலாம்.

மூன்றாவது கூறு வேறுபடுத்துகிறது

ஒழுங்குபடுத்தப்பட வேண்டிய மதிப்பின் விலகலில் ஏற்படும் மாற்ற விகிதம் மூன்றாவது கூறு - வேறுபடுத்தும் கூறுக்கு விகிதாசாரமாகும். எதிர்காலத்தில் கணிக்கப்பட்ட சரியான நிலையில் இருந்து விலகல்களை (வெளிப்புற தாக்கங்கள் அல்லது தாமதங்களால் ஏற்படும்) எதிர்ப்பது அவசியம்.

நீங்கள் ஏற்கனவே புரிந்து கொண்டபடி, மற்றொரு மதிப்பின் u மதிப்பை மாற்றுவதன் மூலம் கொடுக்கப்பட்ட மதிப்பின் x0 மதிப்பை பராமரிக்க PID கட்டுப்படுத்திகள் பயன்படுத்தப்படுகின்றன. ஒரு செட்பாயிண்ட் அல்லது கொடுக்கப்பட்ட மதிப்பு x0 உள்ளது, மேலும் வேறுபாடு அல்லது முரண்பாடு (பொருத்தம்) e = x0-x உள்ளது. கணினி நேரியல் மற்றும் நிலையானதாக இருந்தால் (நடைமுறையில் இது சாத்தியமில்லை), பின்னர் பின்வரும் சூத்திரங்கள் u ஐக் குறிப்பிடுவதற்கு செல்லுபடியாகும்:

இந்த சூத்திரத்தில் நீங்கள் ஒவ்வொரு மூன்று சொற்களுக்கும் விகிதாசார குணகங்களைக் காண்கிறீர்கள்.

நடைமுறையில், PID கன்ட்ரோலர்கள் டியூனிங்கிற்கு வெவ்வேறு சூத்திரத்தைப் பயன்படுத்துகின்றன, அங்கு ஆதாயம் அனைத்து கூறுகளுக்கும் ஒரே நேரத்தில் பயன்படுத்தப்படுகிறது:

PID கட்டுப்பாட்டின் நடைமுறை பக்கம்

நடைமுறையில், PID-கட்டுப்படுத்தப்பட்ட அமைப்புகளின் தத்துவார்த்த பகுப்பாய்வு அரிதாகவே பயன்படுத்தப்படுகிறது. சிரமம் என்னவென்றால், கட்டுப்பாட்டு பொருளின் பண்புகள் தெரியவில்லை, மேலும் கணினி எப்போதும் நிலையற்ற மற்றும் நேரியல் அல்ல.

உண்மையில் வேலை செய்யும் PID கன்ட்ரோலர்கள் எப்போதும் கீழே மற்றும் மேலே இருந்து இயங்கும் வரம்பின் வரம்பைக் கொண்டிருக்கும், இது அவர்களின் நேரியல் தன்மையை அடிப்படையில் விளக்குகிறது. எனவே, கட்டுப்பாட்டுப் பொருள் கட்டுப்பாட்டு அமைப்புடன் இணைக்கப்பட்டிருக்கும் போது, ​​அமைப்பு எப்போதும் மற்றும் எல்லா இடங்களிலும் சோதனை முறையில் செய்யப்படுகிறது.

மென்பொருள் கட்டுப்பாட்டு அல்காரிதம் மூலம் உருவாக்கப்பட்ட மதிப்பின் பயன்பாடு பல குறிப்பிட்ட நுணுக்கங்களைக் கொண்டுள்ளது. உதாரணமாக, வெப்பநிலைக் கட்டுப்பாட்டைப் பற்றி நாம் பேசுகிறோம் என்றால், பெரும்பாலும் ஒன்று அல்ல, ஆனால் இரண்டு சாதனங்கள் தேவைப்படுகின்றன: முதலாவது வெப்பத்தைக் கட்டுப்படுத்துகிறது, இரண்டாவது குளிர்ச்சியைக் கட்டுப்படுத்துகிறது. முதல் சப்ளைகள் சூடான குளிரூட்டி, இரண்டாவது - குளிர்பதன. மூன்று நடைமுறை தீர்வுகளைக் கருத்தில் கொள்ளலாம்.

வெளியீடு ஒரு அனலாக் மற்றும் தொடர்ச்சியான மதிப்பாக இருக்கும்போது, ​​முதலாவது கோட்பாட்டு விளக்கத்திற்கு அருகில் உள்ளது. இரண்டாவது பருப்புகளின் தொகுப்பின் வடிவத்தில் ஒரு வெளியீடு ஆகும், உதாரணமாக ஒரு ஸ்டெப்பர் மோட்டார் கட்டுப்படுத்த. மூன்றாவது, ரெகுலேட்டரிலிருந்து வெளியீடு துடிப்பு அகலத்தை அமைக்க பயன்படுத்தப்படும் போது.

இன்று, கிட்டத்தட்ட அனைத்து ஆட்டோமேஷன் அமைப்புகளும் கட்டமைக்கப்பட்டுள்ளன, மேலும் PID கன்ட்ரோலர்கள் கட்டுப்பாட்டுக் கட்டுப்படுத்தியில் சேர்க்கப்பட்ட சிறப்பு தொகுதிகள் அல்லது நூலகங்களை ஏற்றுவதன் மூலம் பொதுவாக மென்பொருளில் செயல்படுத்தப்படுகின்றன. அத்தகைய கட்டுப்படுத்திகளில் உள்ள ஆதாயங்களை சரியாக உள்ளமைக்க, அவற்றின் டெவலப்பர்கள் சிறப்பு மென்பொருளை வழங்குகிறார்கள்.

ஆண்ட்ரி போவ்னி

நீங்கள் ஒரு குறிப்பிட்ட மட்டத்தில் வெப்பநிலையை வைத்து பணியை மாற்ற வேண்டும். ஒரு மைக்ரோகண்ட்ரோலர் உள்ளது, அதில் ஒரு வெப்பநிலை மீட்டர் இணைக்கப்பட்டுள்ளது, மேலும் சக்தி கட்டுப்பாட்டுக்கான ஒரு முக்கோணமும் உள்ளது. TAU அல்லது எதையும் பற்றி கவலைப்பட வேண்டாம், அதை எடுத்து ஒரு PID கட்டுப்படுத்தியை "தலைமையாக" உருவாக்குவோம்.

II. தத்துவார்த்த அறிமுகம்

PID கட்டுப்படுத்தி எவ்வாறு தயாரிக்கப்படுகிறது? தற்போதைய வெப்பநிலைக்கும் விரும்பிய வெப்பநிலைக்கும் இடையே உள்ள வித்தியாசத்தை நாங்கள் எடுத்துக்கொள்கிறோம், அதை சரிசெய்யக்கூடிய குணகத்தால் பெருக்கி, இந்த நேரத்தில் வெளியிடப்பட வேண்டிய சக்தியைப் பெறுகிறோம். இது ஒரு விகிதாசார கூறு, இது ஒரு பொருத்தமின்மை தோன்றும் தருணத்தில் வேலை செய்கிறது - அதாவது, செட்பாயிண்ட் மற்றும் பொருளின் நடத்தை ஆகிய இரண்டிற்கும் உடனடியாக பதிலளிக்கிறது. சூடு பிடிக்கத் தொடங்குகிறதா? சக்தி குறையத் தொடங்குகிறது. அதிக வெப்பமா? அது அணைக்கப்பட்டது, அல்லது குளிரூட்டும் சமிக்ஞையைக் கொடுத்தது. எல்லாம் நன்றாக இருக்கிறது, ஆனால் நிஜ வாழ்க்கையில் செல்வாக்கின் விளைவு தாமதத்துடன் தோன்றுகிறது, மேலும் பொருள் நம்மால் மட்டுமல்ல, சுற்றுச்சூழலாலும் பாதிக்கப்படுகிறது: சூடான உலை உள்ளே சூடாக இருப்பது மட்டுமல்லாமல், குளிர்ச்சியடைகிறது. அறைக்கு வெப்பம், எனவே மின்சாரத்தை அணைத்தவுடன், அது உடனடியாக குளிர்ச்சியடையத் தொடங்குகிறது. எனவே, ஒரு தூய விகிதாச்சாரக் கட்டுப்படுத்தி பராமரிப்புப் புள்ளியைச் சுற்றி ஊசலாடுகிறது, மேலும் சுற்றுச்சூழலுக்கு/உலை உள்ளடக்கங்களுக்கு வெளிப்படும் அளவுக்கு அதிக வலுவாக ஊசலாடுகிறது.

உலை மீது "வெளிப்புற" தாக்கங்களை ஈடுசெய்ய, சுற்றுக்கு ஒரு ஒருங்கிணைந்த கூறு சேர்க்கப்படுகிறது. கணினியில் இருந்த அனைத்து பொருத்தமின்மையும் ஒருங்கிணைப்பாளருக்குச் செல்கிறது (அதன்படி, நாம் அதிக வெப்பமடைந்தவுடன், அளவு குறைகிறது, அது குறைவாக வெப்பமடையும் போது, ​​அளவு அதிகரிக்கிறது). மற்றும் திரட்டப்பட்ட ஒருங்கிணைப்பு, அதன் குணகத்துடன், அதன் சொந்த அதிகரிப்பு அல்லது சக்தியைக் குறைக்கிறது. இந்த அணுகுமுறையின் விளைவாக, ஒரு நிலையான செயல்முறையுடன், சிறிது நேரத்திற்குப் பிறகு, சுற்றுச்சூழலின் இழப்பை ஈடுசெய்யும் சக்தியுடன் கூடிய தொகைக்கு அத்தகைய பங்களிப்பை ஒருங்கிணைப்பு தேர்ந்தெடுக்கிறது, மேலும் அலைவுகள் மறைந்துவிடும் - ஒருங்கிணைப்பு நிலையானது, எனவே வெளியீட்டின் அளவு சக்தி நிலையானது. மேலும், தேவையான வெப்பநிலை பராமரிக்கப்படுவதால், பொருந்தாத தன்மை இல்லை, விகிதாசார கூறு வேலை செய்யாது.

தாக்கத்திற்கும் சிஸ்டம் பதிலுக்கும் இடையில் ஏற்படும் தாமதங்களின் விளைவை ஈடுகட்ட, அமைப்பில் ஒரு வேறுபட்ட கூறு சேர்க்கப்படுகிறது. விகிதாசார சீராக்கி வெப்பநிலை விரும்பிய புள்ளியை அடையும் வரை எல்லா நேரத்திலும் சக்தியை வழங்குகிறது; ஒரு விகிதாசார-வேறுபட்ட சீராக்கி தேவையான புள்ளியை அடைவதற்கு முன்பு வழங்கப்பட்ட சக்தியைக் குறைக்கத் தொடங்குகிறது - பொருந்தாத தன்மை குறைவதால், எதிர்மறை வழித்தோன்றல் உள்ளது. விளைவு. இது பெரிய மாற்றங்களின் போது அதிக வெப்பத்தை குறைக்கிறது.

எனவே, நாம் உடல் அர்த்தத்தை வரிசைப்படுத்தியுள்ளோம், செயல்படுத்துவதற்கான அடிப்படை சிக்கல்களுக்கு செல்லலாம்.

III. ரெகுலேட்டரை யார் பயன்படுத்த வேண்டும்?

- தொழில்நுட்ப வல்லுநர்கள்.

இதிலிருந்து என்ன தெரிகிறது? இதிலிருந்து தொழில்நுட்ப வல்லுநர்கள் இயற்பியல் கூறுகளைப் புரிந்துகொள்கிறார்கள் மற்றும் வன்பொருள் PID ரெகுலேட்டர்களை அமைப்பதில் அனுபவம் பெற்றிருக்கிறார்கள். இதன் பொருள் மென்பொருளை செயல்படுத்துவது தொழில்நுட்ப வல்லுநர்களால் எளிதாக அமைக்கப்பட வேண்டும் - இயற்பியல் மாதிரியை மீண்டும் செய்வது. மேலும் இது மிகவும் முக்கியமானது! பெரும்பாலும், குறியீட்டை எளிமைப்படுத்த, குணகங்கள் மாற்றப்படுகின்றன, எடுத்துக்காட்டாக, அவற்றின் தலைகீழ் - பிரிவிலிருந்து விடுபட. இதன் விளைவாக, ட்யூனிங் ஒரு நரகமாகவும் கனவாகவும் மாறுகிறது, செயல்முறையைப் புரிந்துகொள்வதற்குப் பதிலாக அந்த குறிப்பிட்ட ரெகுலேட்டரை டியூன் செய்வதில் அனுபவம் தேவைப்படுகிறது. இங்கிருந்து, நமது குணகங்கள் - ஒருங்கிணைப்பின் மாறிலி மற்றும் வேறுபாட்டின் மாறிலி - நேரத்தின் பரிமாணத்தைக் கொண்டிருக்க வேண்டும், அதாவது வினாடிகளில் குறிப்பிடப்பட வேண்டும், மேலும் அவை செய்ய விரும்புவது போல் “1/s” இல் குறிப்பிடப்படவில்லை.

IV. செயல்படும் பகுதி.

நாங்கள் ஒரு உலகளாவிய சீராக்கியை உருவாக்க முயற்சிக்கிறோம், அதாவது இது சிறிய, வேகமான பொருள்கள் மற்றும் சக்திவாய்ந்த, பெரிய உலைகளில் வேலை செய்ய வேண்டும். அதாவது, ஒழுங்குபடுத்தப்பட்ட வெப்பநிலை பொதுவாக மீட்டரால் வரையறுக்கப்பட்டுள்ளது என்று நாம் கருத வேண்டும். பொதுவாகப் பயன்படுத்தப்படுவது XA(K) மற்றும் XK(L) ஆகும். அவற்றின் பொருந்தக்கூடிய வரம்பு 1200 டிகிரி செல்சியஸ் வரை இருக்கும். குளிரூட்டலுக்கு மிகவும் சிக்கலான உபகரணங்கள் (கிரையோஸ்டாட்கள்) தேவை, கூடுதல் குளிரூட்டலின் கட்டுப்பாடு (விசிறிகள் மற்றும் வெப்பமூட்டும் பெட்டிகளின் திறக்கக்கூடிய கதவுகள்) அரிதாகவே தேவைப்படுகிறது - அதாவது இப்போதைக்கு அதை கருத்தில் கொள்வதில் இருந்து விலக்குகிறோம். கட்டுப்படுத்தப்பட்ட வெப்பநிலை ~15°C முதல் ~1200°C வரை உள்ளது, மின்சாரம் மட்டுமே கட்டுப்படுத்தப்படுகிறது.

கட்டுப்பாட்டின் துல்லியம் முதலில், அளவீட்டின் துல்லியத்தால் தீர்மானிக்கப்படுகிறது: அளவுத்திருத்த அட்டவணைகள் 0.1 டிகிரிகளில் கொடுக்கப்பட்டுள்ளன; அட்டவணையில் உள்ள நேரியல், கொள்கையளவில், ஒழுக்கமானது, எனவே துல்லியம் முதன்மையாக பெருக்கி மற்றும் மின்னோட்ட மீட்டரால் வரையறுக்கப்படுகிறது. என் விஷயத்தில், நான் 0.1 டிகிரியை பராமரிக்கும் துல்லியத்தை அடைய விரும்பினேன், எனவே மீட்டர் 1/32 டிகிரிக்கு அமைக்கப்பட்டுள்ளது: இது 0.1 டிகிரிக்கு ~3 குவாண்டாவை வழங்குகிறது, இதனால், ஒழுங்குமுறை +-1 குவாண்டாவின் சாதாரண "சத்தம்" உள்ளது, நாம் அதே 0.1 டிகிரிக்குள் இருக்கிறோம். 1/32 ஐப் பயன்படுத்துவது ஒரு நிலையான புள்ளியுடன் வேலை செய்ய உங்களை அனுமதிக்கிறது - 5 பிட்கள் = பகுதியளவு பகுதி, மீதமுள்ளவை முழு எண். 16 பிட்களில் இதை 0 முதல் 2047 ° வரை குறிப்பிடலாம். எதிர்மறை எண்களுடன் வேலை செய்வதற்குப் பதிலாக, செல்சியஸுக்குப் பதிலாக கெல்வின்ஸில் வேலை செய்வோம், இவ்வாறு - 0 முதல் 2047 °K வரை குறிக்கும், இது -273 முதல் 1775 °C க்கு சமம்; 0.03125° அதிகரிப்பில்.

வி. அனுசரிப்பு வரம்பு.

ஒரு சக்திவாய்ந்த மின் உற்பத்தி நிலையத்துடன் ஒரு மைக்ரோ ரியாக்டரைக் கட்டுப்படுத்த, அதை 10 டிகிரி வெப்பமாக்க 1% சக்தி போதுமானது, அதே நேரத்தில் ஒரு பெரிய மந்த உலைக்கு, 100% வெப்பமூட்டும் சக்தி அதை வெப்பமாக்க போதுமானதாக இல்லை. பட்டம். (நிஜ வாழ்க்கையில், இது போல் தெரிகிறது - பல கைமுறையாக கட்டுப்படுத்தப்பட்ட ஹீட்டர்கள் உள்ளன - அவை ஒரு தனி சுவிட்ச் மூலம் இயக்கப்பட்டு ஆரம்ப வெப்பத்தை உருவாக்குகின்றன, பின்னர் தெர்மோஸ்டாட் இயக்க புள்ளியை பராமரிக்கிறது, மற்றொரு ஹீட்டரை கட்டுப்படுத்துகிறது, இது முழு சக்தியில் அதிகபட்சமாக உற்பத்தி செய்கிறது. +10 டிகிரி செல்சியஸ் வரை , அது தொடர்ந்து வெப்பமடைகிறது). இதன் அடிப்படையில், வரம்புக்குட்பட்ட விகிதாசார குணகம் 1 டிகிரிக்கு 100% சக்தி என்று கருதுவது தர்க்கரீதியானது. 0.1 டிகிரி கட்டுப்பாட்டை நாங்கள் விரும்புவதால் இனி அர்த்தமில்லை. எளிமைக்காக, நான் குறைந்தபட்ச தலைகீழ் - 100 டிகிரிக்கு 1% சக்தியை எடுத்தேன்.

நேர குணகங்களின் வரம்புகள் ரெகுலேட்டரின் எங்கள் இயக்க நிலைமைகளின் அடிப்படையில் கணக்கிடப்படுகின்றன. 0 ஐக் கடந்த பிறகு டர்ன்-ஆன் தருணத்தின் தாமதத்தைக் கணக்கிடுவதன் மூலம் முக்கோணத்தின் சக்தியைக் கட்டுப்படுத்துவதால், ரெகுலேட்டரின் அதிகபட்ச இயக்க அதிர்வெண் 50Hz ஆகும். பிளஸ் அல்லது மைனஸ் பொருட்படுத்தாத சக்தியை நாங்கள் கட்டுப்படுத்துகிறோம் என்பதில் உறுதியாக இருந்தால், நாம் 100 ஹெர்ட்ஸ் வேகத்தில் வேலை செய்யலாம், ஆனால் இது எப்போதும் அப்படி இருக்காது, எனவே நேர்மறை மற்றும் எதிர்மறை அரை-அலைகள் இரண்டையும் சமமாக அளவிடுவது நல்லது. ஒவ்வொரு முறையும். வாழ்க்கையை எளிதாக்க, நான் இயக்க நேரத்தை 25Hz ஆகக் குறைத்தேன், அதன் மூலம் கணக்கிடப்பட்ட எந்த தாக்கமும் 4 அரை-அலைகளுக்கு செயல்படும், மேலும் இந்த நேரத்தில் நான் ஒரு புதிய தாக்கத்தை கணக்கிட முடியும்.

எனவே, நேர மாறிலிகள் ஒவ்வொரு 1/25 நொடிக்கும், 0 முதல் ~2000 நொடி வரை அமைக்கப்படும் (2000*25 = 50000, வெறும் 16 பிட்களுக்குள் பொருந்தும்).

சரி, எங்களிடம் குறைந்தபட்ச மற்றும் அதிகபட்ச ஆற்றல் வரம்பு 0 முதல் 100% வரை உள்ளது.

VI. சக்தி மேலாண்மை.

இந்த தருணத்திலிருந்து, அனைத்து தத்துவார்த்த கணக்கீடுகளும் முடிவடைகின்றன, மேலும் கசப்பான நடைமுறை தொடங்குகிறது, இது ஒரு குறிப்பிட்ட செயல்படுத்தலுடன் இணைக்கப்பட்டுள்ளது.

எனவே, 0 ஐக் கடந்த பிறகு முக்கோணத்தைத் திறப்பதில் ஏற்படும் தாமதத்தைக் கட்டுப்படுத்துவோம் என்று நாங்கள் ஏற்கனவே முடிவு செய்துள்ளோம். எனவே, 0 தாமதமானது 100% சக்தி, எல்லையற்ற தாமதம் = 0% சக்தி.

கேள்வி: நாம் என்ன துல்லியத்துடன் செய்கிறோம் முடியும்அதிகாரத்தை நிர்வகிக்கவா? பொதுவாக, எங்கள் டைமரின் துல்லியத்துடன். மறுபுறம், எவ்வளவு சக்தி தேவை? 0.04 வினாடிகளுக்கு என்ன% மின்சாரம் வழங்கப்பட வேண்டும் என்பதைக் கணக்கிடுகிறோம். கொள்கையளவில், அனுபவத்தின் படி, 0.1 நொடி அதிர்வெண்ணில் 1% துல்லியத்துடன் கூட சக்தி கட்டுப்பாடு 1 டிகிரி வெப்பநிலையை பராமரிக்க போதுமானது. எங்கள் கட்டுப்பாடு 0.04 வினாடிகள் (2.5 மடங்கு வேகமாக). எனவே, பவர் டேபிளை அதிகபட்சமாக 1/250ல் (0.4% அதிகரிப்பில்) கணக்கிட முடிவு செய்யப்பட்டது. இது அட்டவணை மிகவும் பெரியதாக இல்லாமல் (500 பைட்டுகள்) இருக்க அனுமதிக்கிறது, அதே நேரத்தில் 1% க்கும் அதிகமான துல்லியம் உள்ளது. உங்கள் வழக்குக்கு அதிக துல்லியம் தேவைப்பட்டால், அதை மீண்டும் கணக்கிடுவது அவ்வளவு கடினம் அல்ல.

இப்போது இந்த அட்டவணையை கணக்கிடுவது பற்றி பேசலாம். முதலாவதாக, உள்ளது என்பதை கணக்கில் எடுத்துக்கொள்ள வேண்டும் பூஜ்ஜிய கடக்கும் சமிக்ஞை தூண்டப்படும் தருணம்.என் விஷயத்தில் - 12 வி. அதாவது, உள்ளீட்டு மின்னழுத்தம் 12V க்குக் கீழே குறையும் போது, ​​நான் 0 வழியாகச் செல்லும் சமிக்ஞையைப் பெறுவேன்.

அதாவது 100% சக்திக்கு, தொடக்க நேரம் = 12V பயண நேரம்.

சமன்பாடுகளின் அமைப்பைத் தீர்ப்போம்

; IntMoment:= 12V ; அதிகபட்சம்:= sqr(220*sqrt(2)) ; (Sqr(Sin(Pi/2)*K) = Max ; ( Sqr(Sin(X)*K) = IntMoment ; ; 2*k/MaxCode = 1 - cos(T*Pi) ; cos(T*Pi) = 1-2*k/MaxCode ; T*Pi = arccos(1-2*k/MaxCode) ; T = arccos(1-2*k/MaxCode) / Pi

எனது செயலி 32786 அதிர்வெண்ணில் இயங்குகிறது, பிஎல்எல் 384/2 ஆக அமைக்கப்பட்டுள்ளது, அரை-அலை 100 ஹெர்ட்ஸ் ஆகும், இதிலிருந்து T நேரத்திற்கான மாறிலியை டைமரில் ஏற்றுவதற்கான குறியீடு இதுபோல் தெரிகிறது:

65536-(டி*(32768*384/2)/100.0 + 773)

தாமத நேரத்தை நாம் கணக்கிட வேண்டும், இது சைனூசாய்டின் சேர்க்கப்பட்ட பகுதியின் பரப்பளவில் சீரான அதிகரிப்பு அளிக்கிறது. அதாவது, சக்தியில் சீரான அதிகரிப்பைக் கொடுக்கும் நேரங்கள் இருக்க வேண்டும். நாம் உற்பத்தி செய்யும் மொத்த சக்தியானது முழு சைன் அலையின் மீதும் ஒருங்கிணைந்ததாகும். [ஹப்பில் சூத்திரங்களை எவ்வாறு செருகுவது என்று யாருக்குத் தெரியும்? வழியில்லையா? நான் மேப்பிள் குறியீட்டில் எழுதுகிறேன்].

அதிகபட்சம் = int(sqr(sin(x)), x=0..Pi) int(sqr(sin(x)), x=0..T*Pi) = x/2 - sin(2*x)/ 4 + சி | 0..T*PI ​​= (T*Pi)/2 - sin(2*T*Pi)/4 (T*Pi)/2 - sin(2*T*Pi)/4 = Q*Pi/ 2

எனவே, கொடுக்கப்பட்ட துல்லியத்துடன் அனைத்து Q வழியாகவும் நாம் செல்ல வேண்டும், மேலும் அவை ஒவ்வொன்றிற்கும் T ஐக் கண்டறிய வேண்டும்.

இந்த முட்டாள்தனமான வழியில் நான் அதை நானே தீர்த்துக் கொண்டேன்:

பெர்ல் ஜெனரேட்டர்

#!/usr/bin/perl # (T*Pi)/2 - sin(2*T*Pi)/4 = Q*Pi/2 நிலையான PI => 4 * atan2(1, 1); $T = 1; ($i = 250; $i >= 0; $i--) ($int = $i*PI/2/250; $ev = ($T*PI)/2-sin(2*$T* PI)/4; while(abs($ev-$int) > 0.0005) ( $T -= 0.0001; $ev = ($T*PI)/2-sin(2*$T*PI)/4; ) #அச்சிடு $i."\t".$T."\n"; $குறியீடு = 65536-($T*(32768*384/2)/100.0 + 773); printf "DB 0%02Xh, 0%02Xh ; %04Xh = $i/250 சக்தி\n", $code%256, int($code/256), $code, $i; )

அவ்வளவுதான், வெளியீட்டில், 0 ஐக் கடந்து செல்வது பற்றிய சமிக்ஞையைப் பெற்ற பிறகு பற்றவைக்கும் தருணம் வரை டைமர் ஏற்றுதல் மாறிலிகளுடன் தொடர்புடைய 250 மதிப்புகளின் தட்டுகளைப் பெற்றோம் (இன்னும் துல்லியமாக, 12 வி மூலம், நான் மேலே கூறியது போல).

VII. உள்ளீட்டு தரவு அளவீடு

இந்தக் கேள்வியை நான் தவிர்க்கிறேன், ஏனெனில் இது அதன் சொந்த நீண்ட கட்டுரைக்கு தகுதியானது. வெப்ப எதிர்ப்பின் சிக்கலை நான் எவ்வாறு தீர்த்தேன் என்பதை எனது தாமதமான வலைப்பதிவின் காப்பகத்தில் காணலாம்.

நாம் தெரிந்து கொள்ள வேண்டிய முக்கிய விஷயம் என்னவென்றால், நமக்குத் தேவையான அதிர்வெண் (இந்த விஷயத்தில், 25 ஹெர்ட்ஸ்) மற்றும் தேவையான துல்லியத்துடன் தரவை அளவிடுகிறோம் (வெளியீடு 1/32 டிகிரியில் 0 முதல் 2048 டிகிரி கெல்வின் வரையிலான எண்). மேலும் அனைத்து கணக்கீடுகளுக்கும் தரவு ஏற்கனவே இயல்பாக்கப்பட்டதாக கருதப்படுகிறது.

யாராவது ஆர்வமாக இருந்தால், கருத்துகளில் எழுதுங்கள், அடுத்த முறை தெர்மோகப்பிள்களுக்கு இது எவ்வாறு செய்யப்படுகிறது என்பதை விவரிப்பேன்.

VIII. தாக்க கணக்கீடு

இப்போது அது நடந்துவிட்டது: இறுதியாக எதற்காகத் தொடங்கினோம் என்பதைச் செய்வதற்கான எல்லா தரவுகளும் எங்களிடம் உள்ளன: கட்டுப்பாட்டு உறுப்புக்கு எவ்வளவு மின்சாரம் வழங்கப்பட வேண்டும் என்பதைக் கணக்கிடுங்கள்.

PID கட்டுப்படுத்தியின் சூத்திரத்தை மீண்டும் நினைவுபடுத்துவோம்:

U = K * (Err + (1/Ti)*Int + Td*dErr)

  • யு- வழங்கப்பட வேண்டிய சக்தி;
  • கே- விகிதாசார குணகம் (குறிப்பு - இது அடைப்புக்குறிக்குள் எடுக்கப்பட்டது, ஏன் என்பதை கீழே விவரிக்கிறேன்);
  • தி- ஒருங்கிணைப்பு நேர மாறிலி. கணக்கீடுகள் பரஸ்பர மதிப்பைப் பயன்படுத்துகின்றன என்பதை நினைவில் கொள்க;
  • டி.டி- வேறுபாடு நேர மாறிலி
  • பிழை- தற்போதைய பொருத்தமின்மை (செட் பாயிண்ட் மற்றும் அளவிடப்பட்ட வெப்பநிலை இடையே வேறுபாடு
  • dErr- பொருந்தாத வழித்தோன்றல் (தற்போதைய மற்றும் முந்தைய பிழைக்கு இடையிலான வேறுபாடு)
  • Int- திரட்டப்பட்ட பொருந்தாத ஒருங்கிணைப்பு (நாம் பார்த்த அனைத்து பிழைகளின் கூட்டுத்தொகை)

பிரிவு III இல் எழுப்பப்பட்ட கேள்விக்கு நாங்கள் மீண்டும் வருகிறோம்: இது தொழில்நுட்ப வல்லுநர்களால் பயன்படுத்தப்படும். எனவே, அனைத்து செயலாக்கங்களின் உன்னதமான தவறைத் தவிர்ப்பது மிகவும் முக்கியமானது - "குணங்களின் பரிமாணம் அது மாறும்." நாங்கள் செய்கிறோம் சாதனம்ஓட்டுவதற்கு உடல்செயல்முறை, அதாவது மாதிரி ஒத்திருக்க வேண்டும்.

அனைத்து பரிமாணங்களையும் வெளியிடுவோம். ஓரளவு முன்னோக்கிப் பார்க்கிறேன், நான் ஏற்கனவே விவரித்துள்ளேன், ஆனால் இப்போது நாம் இன்னும் விரிவாக வெளிப்படுத்துவோம்:

  • யு- சக்தியின்% மதிப்பில் உள்ளது. இன்னும் துல்லியமாக - சக்தியின் 2/5 இல், எங்கள் அட்டவணை 100% இல் 1/250 வழியாக செல்கிறது.
  • பிழை- பொருத்தமின்மை, டிகிரிகளில் குறிப்பிடப்பட்டுள்ளது. இன்னும் துல்லியமாக - 1/32 டிகிரிக்குப் பிறகு.
  • Int- ஒருங்கிணைந்த என்பது நேரத்தின் டிகிரிகளின் கூட்டுத்தொகையாகும் - எனவே இது டிகிரி * நொடியின் பரிமாணத்தைக் கொண்டுள்ளது. இன்னும் துல்லியமாக - (1/32 டிகிரி)*(1/25 நொடி)
  • தி- 1/25 நொடிக்குப் பிறகு அமைக்கவும்
  • (1/Ti)*Int- கணக்கீட்டிற்குப் பிறகு அது ஒரு பரிமாணத்தை (1/32 டிகிரி) கொண்ட பங்களிப்பை அளிக்கிறது.
  • dErr- வழித்தோன்றல், டிகிரி/செகண்ட் பரிமாணம் அல்லது இன்னும் துல்லியமாக (1/32 டிகிரி)/(1/25 நொடி)
  • டி.டி- 1/25 நொடிக்குப் பிறகு அமைக்கவும்
  • Td*dErr- தயாரிப்பு பரிமாணத்திற்கு பங்களிப்பைக் கொண்டு வந்த பிறகு (1/32 டிகிரி)
  • (...) - எனவே, அடைப்புக்குறிக்குள் உள்ள அனைத்து சொற்களும் பரிமாணத்திற்கு (1/32 டிகிரி) குறைக்கப்படுகின்றன.
  • கே- ஒப்புக்கொள்கிறார் யுமற்றும் (...) , அதாவது இது ஒரு டிகிரிக்கு சதவீதம் என்ற பரிமாணத்தைக் கொண்டுள்ளது, இன்னும் துல்லியமாக (2/5)%/(1/32 டிகிரி)

விகிதாசார குணகம் ஏன் அடைப்புக்குறிக்குள் இருந்து எடுக்கப்படுகிறது என்பதை இப்போது நீங்கள் தெளிவாகக் காணலாம் - இது வேறுபட்ட மற்றும் எண்ணியல் குணகங்களை நேர மாறிலிகளாக விட்டுவிட உங்களை அனுமதிக்கிறது, இதன் விளைவாக, ஆபரேட்டரை அமைக்கும் போது எளிய மற்றும் புரிந்துகொள்ளக்கூடிய எண்களுடன் இயங்குகிறது - ஒரு டிகிரிக்கு சதவீதம் ஒருங்கிணைந்த மற்றும் வேறுபட்ட குணகங்களுக்கான விகிதாசார குணகம் மற்றும் வினாடிகள்.

புள்ளிகள் மற்றும் நேர பரிமாணங்களின் நிலையின் வசதியான தேர்வுக்கு நன்றி, இப்போது நாம் பார்ப்பது போல், அனைத்து கணக்கீடுகளும் கிட்டத்தட்ட நேரடியாக மேற்கொள்ளப்படுகின்றன.

ஒரு விஷயத்தைத் தவிர - எங்களிடம் அளவு உள்ளது தி, மற்றும் கணக்கீட்டிற்கு இது தேவைப்படுகிறது 1/Ti. ஒரு பெரிய பிரிவு செயல்பாடு மிகவும் விலை உயர்ந்தது. பெருக்கல் செயல்பாடு பல மடங்கு மலிவானது, எனவே பெருக்கத்தைப் பயன்படுத்தி மாறாத முழு எண்களால் பிரித்தல் என்ற சிறந்த கட்டுரையைப் பயன்படுத்துவோம். எல்லாவற்றிற்கும் மேலாக, எங்களிடம் உள்ளது கே / தி / டி.டிமிகவும் அரிதாகவே மாறுகிறது, எனவே அவை மாறிய பிறகு நாம் விரும்பும் அளவுக்கு அவற்றைத் திசைதிருப்ப முடியும், முக்கிய விஷயம் என்னவென்றால், முக்கிய கணக்கீட்டு சுழற்சி விரைவாக வேலை செய்கிறது.

எனவே அதற்கு பதிலாக திகணக்கீடுகளுக்கு அவற்றை ஒரு தொகுப்பாக வைக்கிறோம் Ti_m, Ti_sh1, Ti_sh2; ஒவ்வொரு சுழற்சியிலும் நாம் கணக்கீடு செய்கிறோம்:
T1 = MULUH(Ti_m, Int) Q = SHR(T1+SHR(Int-T1, Ti_sh1), Ti_sh2)

இப்போது நாம் பிட் சமநிலையை கணக்கிடுகிறோம். இதைச் செய்ய, முழு சூத்திரத்தையும் படிப்படியாக எழுதுவோம்:

  1. Eo = E; பிழையை கடந்து செல்ல வேண்டும். பிழைகள் - 16 பிட்
  2. E = Y-X ; புதிய பொருத்தமின்மையை நாங்கள் கணக்கிடுகிறோம். 16பிட்
  3. Int = Int + (E+Eo)/2 ; பிழையை ஒருங்கிணைப்போம். இந்த வழக்கில், வேறுபாட்டின் அரைத் தொகையை (வேறுபாடு திட்டம்) கணக்கிடுகிறோம். 32பிட் = 32பிட் + 16பிட்
  4. cI = Int * (1/Ti) ; ஒருங்கிணைந்த பங்களிப்பைக் கணக்கிடுகிறோம் - 32பிட் * 32பிட் => 32பிட்
  5. cD = Td * (E-Eo) ; வேறுபட்ட பங்களிப்பைக் கணக்கிடுகிறோம் - 16*16 => 32பிட்
  6. PID = E + cI + cD ; சுப்பர்; 16+32+32 => 32பிட்
  7. U = K*PID/256 ; கோஃப்; 32*16/8 பிட் => 40பிட்.

அனைத்து கணக்கீடுகளுக்கும், 7 வது படி வரையிலான புள்ளியின் நிலை வலதுபுறத்தில் இருந்து 5 வது இடத்தில் இருக்கும். கடைசி நேரத்தில், காதுகளில் ஒரு சுவாரசியமான உணர்வு ஏற்படுகிறது. K ஆனது முறையே 1/256 இல் அமைக்கப்பட்டது, பெருக்கத்திற்குப் பிறகு புள்ளி இடதுபுறமாக 5+8=13 வது இடத்திற்கு மாற்றப்படும், எனவே நாம் குறைந்த-வரிசை 8 பிட்களின் முடிவை நிராகரிக்க வேண்டும். மற்றும் 2/5% க்குப் பிறகு நமக்குத் தேவையான சக்தியானது முடிவின் மிகக் குறைந்த பைட் ஆகும். சக்தி 1/250 படிகளில் சமன் செய்யப்படுவதற்கு இது மற்றொரு காரணம் - இது முடிவை ஒரு பைட்டாக பேக் செய்ய அனுமதிக்கிறது மற்றும் விரும்பிய முடிவை அட்டவணையில் இருந்து எளிதாகப் பெறலாம்.

அடுத்து, 0 முதல் 250 வரையிலான சக்தியில் மட்டுமே நாங்கள் ஆர்வமாக உள்ளோம் என்பதை நினைவில் கொள்கிறோம் - எனவே கணக்கீடுகளின் 7 வது படி மிகவும் எளிதானது, எதிர்மறை எண்ணைப் பெற்றவுடன் - உடனடியாக uMin ஐச் சேர்க்கிறோம். எந்த உயர் பைட்டும் பூஜ்ஜியமாக இல்லை என்பதைக் கண்டறிந்தவுடன், உடனடியாக uMax ஐச் சேர்க்கிறோம். மேலும் வரம்பில் ஆற்றல் அதிகரித்தால் மட்டுமே, குறைவான uMin அல்லது அதிக uMax உள்ளதா எனச் சரிபார்க்கிறோம்.

யாராவது ஆர்வமாக இருந்தால்:

கணக்கீடுகளின் முழுமையான குழப்பம்

; PID கட்டுப்பாடு CalcMainEnd: ; கம்ப்யூட்டிங், கோ-கோ. CalcPid: ; 1. Eo = E | 16பிட் Pid1: MOV Err0H, ErrH MOV Err0L, ErrL ; 2. E = Y-X | 16பிட் Pid2: CLR C MOV A, SettingL SUBB A, ThermoL MOV ErrL, A MOV A, SettingH SUBB A, ThermoH MOV ErrH, A JNB OV, Pid2Ov JB ACC.7, Pid2Max Pid2Min, #MOV* (MOV ErrL5) 32) MOV ErrH, #HIGH(-500*32) SJMP Pid2End Pid2Max: MOV ErrL, #LOW(500*32) MOV ErrH, #HIGH(500*32) SJMP Pid2End Pid2Ov: Pid2CovN: Pid2CCov. கீழ்நோக்கிய கட்டுப்பாடு CLR C MOV A, ErrL SUBB A, #LOW(-500*32) MOV A, ErrH SUBB A, #HIGH(-500*32) JNC Pid2End ; > -500 => எல்லாம் சரியாக இருந்தால் SJMP Pid2Min Pid2OvP: CLR C MOV A, ErrL SUBB A, #LOW(500*32) MOV A, ErrH SUBB A, #HIGH(500*32) JNC Pid2Max ; என்றால்< 500 => எல்லாம் சரி Pid2End: ; 3. Int = Int + (E+Eo)/2 | 32பிட்+16பிட் Pid3: JNB PowerReady, Pid3End ; நெட்வொர்க் இல்லை என்றால், MOV A, ErrL ADD A, Err0L MOV R0, A ஆகியவற்றின் ஒருங்கிணைந்த பகுதியை நாங்கள் சேமிக்க மாட்டோம். தற்காலிகமாக MOV A, ErrH ADDC A, Err0H MOV C, ACC.7 ; அரை-தொகை எப்போதும் 16 பிட்களுக்கு பொருந்துகிறது, எனவே மாற்றும் போது RRC A இன் அடையாளத்தை பாதுகாக்க வேண்டியது அவசியம்; XCH A, R0 என்ற அடையாளத்தை இழக்காமல் பிரிப்போம்; A= குறைந்த-வரிசை பகுதி, R0 - உயர்-வரிசை அரை-தொகை RRC A ; JNB IntS, Pid3IntPos சேர்க்கப்பட்டது; Int எதிர்மறையானது, R0:Aக்கான அடையாளத்தை மாற்றுவோம், எனவே Int CLR C CPL A ADD A, #1 XCH A, R0 CPL A ADDC A, #0 XCH A, R0 Pid3IntPos: உடன் சேர்க்க முடியும். Int மற்றும் R0:A ஆகியவை இப்போது சீரான அறிகுறிகளைக் கொண்டுள்ளன, எனவே நாங்கள் வழக்கமான முறையில் ADD A, IntLL MOV IntLL, A MOV A, IntLH ADDC A, R0 MOV IntLH, A MOV A, R0 JB ACC.7, Pid3Neg ; எதிர்மறை வேறுபாட்டைச் சேர்த்தீர்களா? ; வித்தியாசம் நேர்மறையாக இருந்தால், நாம் JNC கேரி jPid3End ஐ வெறுமனே பிரச்சாரம் செய்கிறோம்; நாங்கள் ஒரு வார்த்தையைச் சேர்த்து, பரிமாற்றம் இல்லை என்றால், நாங்கள் எதுவும் செய்ய வேண்டியதில்லை. INC IntHL; MOV A, IntHL JNZ Pid3Endக்கு மேலே உள்ள கேரியை பிரச்சாரம் செய்யுங்கள்; பரிமாற்றம் 4வது பைட்டுக்கு செல்லவில்லை என்றால், எல்லாம் நன்றாக இருக்கிறது INC IntHH; நாங்கள் கேரியை மிக முக்கியமான பைட் MOV A, IntHH JNZ Pid3End க்கு நீட்டிக்கிறோம்; பரிமாற்றம் இன்னும் அதிகமாக செல்லவில்லை என்றால், எல்லாம் நன்றாக இருக்கும் MOV IntHH, #0FFh ; பரிமாற்றம் அதிகமாக இருந்தால், உச்சவரம்பு MOV IntHL, #0FFh MOV IntLH, #0FFh MOV IntLL, #0FFh jPid3End: SJMP Pid3End Pid3Neg: மூலம் ஒருங்கிணைப்பை வரம்பிடுவோம்; வித்தியாசம் எதிர்மறையாக இருந்தால், நீங்கள் இரண்டு முறைகளையும் தொடர்ந்து சேர்க்க வேண்டும், ஆனால் FFh MOV A, IntHL ADDC A, #0FFh MOV IntHL, A MOV A, IntHH ADDC A, #0FFh MOV IntHH, A JC Pid3End ; ஒரு கேரிஓவர் இருந்தால், ஒருங்கிணைப்பின் அடையாளம் CPL IntS மாறவில்லை; இடமாற்றம் இல்லை என்றால், ஒருங்கிணைப்பின் அடையாளம் CPL C மாறிவிட்டது; இதன் விளைவாக வரும் MOV A, #0 SUBB A, IntLL MOV IntLL, A MOV A, #0 SUBB A, IntLH MOV IntLH, A MOV A, #0 SUBB A, IntHL MOV IntHL, A MOV A, # என்ற எண்ணின் அடையாளத்தை மாற்றவும் 0 SUBB A , IntHH MOV IntHH, A ; அது எதிர்மறையாகிவிட்டதால், பரிமாற்றம் எப்போதும் இங்கே இருக்கும் Pid3End: ; 5. cI = Int*(1/Ti) | 32*32=>32பிட் Pid5: ; R3:R2:R1:R0 = Int*(1/Ti) JB Ti_sh1, Pid5Calc ; Ti_sh1=0 என்றால், 1/Ti=1 அல்லது Ti=0. நீங்கள் MOV A, Ti_mLL ORL A, Ti_mLH ORL A, Ti_mHL ORL A, Ti_mHH JZ Pid5Zero MOV R0, IntLL MOV R1, IntLH MOV R2, IntHL MOV R3, IntHL MOV R3, IntH5 AJP * R7:R6:R5:R4[:R3] = MULUH(Int*Ti_m) // R3 ஆனது MOV R2, #0 ; R7:R6 = IntHH*Ti_mHH MOV A, IntHH MOV B, Ti_mHH MUL AB MOV R7, B MOV R6, A ; R6:R5 += IntHL*Ti_mHH MOV A, IntHL MOV B, Ti_mHH MUL AB MOV R5, A MOV A, R6 ADD A, B MOV R6, A MOV A, R2 ; A=0 ADDC A, R7 MOV R7, A ; R5:R4 += IntLH*Ti_mHH MOV A, IntLH MOV B, Ti_mHH MUL AB MOV R4, A MOV A, R5 ADD A, B MOV R5, A MOV A, R2 ; A=0 ADDC A, R6 MOV R6, A MOV A, R2 ; A=0 ADDC A, R7 MOV R7, A ; R4:R3 += IntLL*Ti_mHH MOV A, IntLL MOV B, Ti_mHH MUL AB MOV R3, A MOV A, R4 சேர் A, B MOV R4, A MOV A, R2 ; A=0 ADDC A, R5 MOV R5, A MOV A, R2 ; A=0 ADDC A, R6 MOV R6, A MOV A, R2 ; A=0 ADDC A, R7 MOV R7, A ;; R6:R5 += IntHH*Ti_mHL MOV A, IntHH MOV B, Ti_mHL MUL AB ADD A, R5 MOV R5, A MOV A, R6 ADDC A, B MOV R6, A MOV A, R2 ; A=0 ADDC A, R7 MOV R7, A ; R5:R4 += IntHL*Ti_mHL MOV A, IntHL MOV B, Ti_mHL MUL AB ADD A, R4 MOV R4, A MOV A, R5 ADDC A, B MOV R5, A MOV A, R2 ; A=0 ADDC A, R6 MOV R6, A MOV A, R2 ; A=0 ADDC A, R7 MOV R7, A ; R4:R3 += IntLH*Ti_mHL MOV A, IntLH MOV B, Ti_mHL MUL AB MOV A, R3 MOV R3, A MOV A, R4 ADDC A, B MOV R4, A MOV A, R2 ; A=0 ADDC A, R5 MOV R5, A MOV A, R2 ; A=0 ADDC A, R6 MOV R6, A MOV A, R2 ; A=0 ADDC A, R7 MOV R7, A ;; R5:R4 += IntHH*Ti_mLH MOV A, IntHH MOV B, Ti_mLH MUL AB ADD A, R4 MOV R4, A MOV A, R5 ADDC A, B MOV R5, A MOV A, R2 ; A=0 ADDC A, R6 MOV R6, A MOV A, R2 ; A=0 ADDC A, R7 MOV R7, A ; R4:R3 += IntHL*Ti_mLH MOV A, IntHL MOV B, Ti_mLH MUL AB ADD A, R3 MOV R3, A MOV A, R4 ADDC A, B MOV R4, A MOV A, R2 ; A=0 ADDC A, R5 MOV R5, A MOV A, R2 ; A=0 ADDC A, R6 MOV R6, A MOV A, R2 ; A=0 ADDC A, R7 MOV R7, A ;; R4:R3 += IntHH*Ti_mLL MOV A, IntHH MOV B, Ti_mLL MUL AB ADD A, R3 MOV R3, A MOV A, R4 ADDC A, B MOV R4, A MOV A, R2 ; A=0 ADDC A, R5 MOV R5, A MOV A, R2 ; A=0 ADDC A, R6 MOV R6, A MOV A, R2 ; A=0 ADDC A, R7 MOV R7, A ;;; R3 > 7F என்றால் -- MOV A, R3 JNB ACC. 7, Pid5Shift ; R3 என்றால்<80 -- округление не надо ANL A, #7Fh JZ Pid5Round ; Если = 80 -- округляем до нечетного MOV A, #1 ADD A, R4 MOV R4, A MOV A, R2 ; A=0 ADDC A, R5 MOV R5, A MOV A, R2 ; A=0 ADDC A, R6 MOV R6, A MOV A, R2 ; A=0 ADDC A, R7 MOV R7, A SJMP Pid5Shift Pid5Round: MOV A, R4 ORL A, #01h MOV R4, A ;JMP Pid5Shift Pid5Shift: ; R3:R2:R1:R0 = (Int-R7:R6:R5:R4) > > 1 CLR C MOV A, IntLL SUBB A, R4 MOV R0, A MOV A, IntLH SUBB A, R5 MOV R1, A MOV A, IntHL SUBB A, R6 MOV R2, A MOV A, IntHH SUBB A, R7 RRC A ; >>1 கேரி MOV R3, A MOV A, R2 RRC A MOV R2, A MOV A, R1 RRC A MOV R1, A MOV A, R0 RRC A ;MOV R0, A R3:R2:R1:R0 += R7:R6:R5:R4 ;MOV A, R0 ADD A, R4 MOV R0, A MOV A, R1 ADDC A, R5 MOV R1, A MOV A, R2 ADDC A, R6 MOV R2, A MOV A, R3 ADDC A, R7 MOV R7, A ; இப்போது வலதுபுறம் sh2 க்கு நகர்த்தவும். ; sh2 16 வரை இருக்கலாம் (எங்கள் Ti 16-பிட் என்பதால்; 16-பிட் ஷிப்ட் தேவை என்பதைச் சரிபார்ப்போம்) MOV A, Ti_sh2 JNB ACC.4, Pid5ShiftUnder16 ; நாம் மாற்ற வேண்டும் >=16 -- 2 பைட்டுகள் movs MOV R0, 18h+2 மூலம் மாற்றப்படும்; R2, வங்கி 3 MOV R1, 18h+3; R3, bank 3 MOV R2, #0 MOV R3, #0 Pid5ShiftUnder16: JNB ACC. 3, Pid5ShiftUnder8 ; நாம் >=8 மூலம் மாற்ற வேண்டும் -- movs MOV R0, 18h+1 உடன் 1 பைட்டை மாற்ற வேண்டும்; R1, வங்கி 3 MOV R1, 18h+2; R2, வங்கி 3 MOV R2, 18h+3; R3, வங்கி 3 MOV R3, #0 Pid5ShiftUnder8: ANL A, #07h JZ Pid5End ; நீங்கள் பைட்டிற்குள் செல்லத் தேவையில்லை என்றால் - எல்லாம் MOV R4, A SJMP Pid5ShiftRight Pid5NextShift: CLR C ; இந்த கட்டத்தில் C இன்னும் சாத்தியமான குறிப்பிடத்தக்க உயர் பிட் உள்ளது! Pid5ShiftRight: MOV A, R3 RRC A MOV R3, A MOV A, R2 RRC A MOV R2, A MOV A, R1 RRC A MOV R1, A MOV A, R0 RRC A MOV R0, A DJNZ R4, Pid5NextShift ; அவ்வளவுதான், எல்லா மாற்றங்களுக்கும் பிறகு நமக்கு முடிவு கிடைத்தது; R3:R2:R1:R0 இல் கணக்கிடப்பட்டது என்பதை மறந்துவிடாதீர்கள் ; இப்போது எண் நேர்மறையாக உள்ளது, அதன் அடையாளம் IntS Pid5End: ; 4. PID += [ cD = Td * (E-Eo) ] | 16*16=>32பிட் Pid4: ; cD = R7:R6:R5:R4; ErrD = E-Eo CLR C MOV A, ErrL SUBB A, Err0L MOV DiffL, A MOV A, ErrH SUBB A, Err0H MOV DiffH, A MOV C, ACC.7 ; முடிவு MOV DiffS, C இன் அடையாளத்தை எடுத்துக் கொள்ளுங்கள்; E-Eo JNC Pid4Mul என்ற அடையாளத்தை வைத்துக் கொள்வோம்; வேறுபாடு -- எதிர்மறை, குறி தலைகீழ் MOV A, DiffL CPL A ADD A, #1 MOV DiffL, A MOV A, DiffH CPL A ADDC A, #0 MOV DiffH, A Pid4Mul: ; R7:R6 = DiffH*TdH ; MOV A, DiffH = எந்த நிலையிலும் A=DiffH MOV B, TdH MUL AB MOV R6, A MOV R7, B ; R5:R4 = DiffL*TdL MOV A, DiffL MOV B, TdL MUL AB MOV R4, A MOV R5, B ; R6:R5 += DiffH*TdL MOV A, DiffH MOV B, TdL MUL AB ADD A, R5 MOV R5, A MOV A, R6 சேர் A, B MOV R6, A MOV A, R7 ADDC A, #0 MOV R7, ஏ ; R6:R5 += DiffL*TdH MOV A, DiffL MOV B, TdH MUL AB ADD A, R5 MOV R5, A MOV A, R6 சேர் A, B MOV R6, A MOV A, R7 ADDC A, #0 MOV R7, ஏ ; 6. PID = E + cI + cD | 32பிட் Pid6: ; R3:R2:R1:R0 சமம் cI, IntS இல் உள்நுழைக; ; R7:R6:R5:R4 = cD; DiffS இல் உள்நுழைக; E in reverse two's complement JB IntS, ChkDiffN JNB DiffS, Pid6Add ; Int>0, Diff>0 => SJMP Pid6Sub ; Int>0, Diff<0 =>துணை ChkDiffN: JNB DiffS, Pid6Sub ; Int<0, Diff>0 => துணை ; Int<0, Diff<0 =>சேர் Pid6Add: ; அதே அடையாளம் => MOV A, R0 ADD A, R4 MOV R0, A MOV A, R1 ADDC A, R5 MOV R1, A MOV A, R2 ADDC A, R6 MOV R2, A MOV A, R3 ADDC ஆகியவற்றை ஓவர்ஃப்ளோ சரிபார்ப்புடன் சேர்க்கவும் A, R7 MOV R3, A JNC Pid6Err ; எடுத்துச் செல்லவில்லை எனில், சேர்த்ததன் விளைவாக MOV R3, #0FFh MOV R2, #0FFh MOV R1, #0FFh MOV R0, #0FFh SJMP Pid6Err Pid6Sub: ; அடையாளங்கள் வேறுபட்டவை - ஒன்றை மற்றொன்றிலிருந்து கழித்து, முடிவின் அடையாளத்தை CLR C MOV A, R4 SUBB A, R0 MOV R0, A MOV A, R5 SUBB A, R1 MOV R1, A MOV A, R6 SUBB A, R2 MOV R2, A MOV A, R7 SUBB A, R3 MOV R3, A JNC Pid6Err ; கடன் வாங்கவில்லை என்றால், முடிவின் அடையாளம் DiffS CPL DiffS இன் அடையாளத்திற்கு சமமாக இருக்கும்; கடன் வாங்கியிருந்தால், DiffS இன் அடையாளம் மற்றும் முடிவு MOV R6, #0 க்கு மாற்றப்பட வேண்டும் ; R6=0 MOV A, R0 CPL A ADDC A, R6 ; R6=0, C=1 => செயல் +1 MOV R0, A MOV A, R1 CPL A ADDC A, R6 ; +பரிமாற்றம் MOV R1, A MOV A, R2 CPL A ADDC A, R6 MOV R2, A MOV A, R3 CPL A ADDC A, R6 MOV R3, A Pid6Err: MOV R6, #0 ; R6=0 ; R3:R2:R1:R0 இல் -- cI+cD உள்ளது; DiffS இல் தொகை குறி; தலைகீழ் குறியீட்டில் எழுதப்பட்ட பிழையைச் சேர்க்க/கழிக்க வேண்டும்; Err இன் அடையாளத்தை DiffS MOV R4, ErrL MOV A, ErrH JB ACC.7, Pid6ChkDiffS JNB DiffS, Pid6SumErrNoInv என்று குறைப்போம் ; Err>0, Diff>0 => NoInv SJMP Pid6SumErrInv Pid6ChkDiffS: JNB DiffS, Pid6SumErrNoInv ; பிழை<0, Diff>0 => NoInv Pid6SumErrInv: ; Err DiffS இலிருந்து வேறுபட்ட அடையாளத்தைக் கொண்டுள்ளது - SETB C இன்வெர்ட் ; நிலை C MOV A, ErrL CPL A ADDC A, R6 ; A+=R6+C, R6=0 C=1 => A+=1 MOV R4, A ; R4=ErrL MOV A, ErrH CPL A ADDC A, R6 Pid6SumErrNoInv: MOV R5, A ; ErrH Pid6SumErr: ; எனவே, R5:R4 இல் Err உள்ளது, இதன் அடையாளம் DiffS உடன் ஒத்துப்போகிறது; ஆனால் தலைகீழ் நிரப்பு குறியீட்டில் MOV A, R0 ADD A, R4 MOV R0, A MOV A, R5 CLR F0 JNB ACC.7, Pid6SubErrPos SETB F0 MOV R6, #0FFh ; எதிர்மறையைச் சேர்க்கவும் => FFs Pid6SubErrPos ஐச் சேர்க்கவும்: ADDC A, R1 MOV R1, A MOV A, R2 ADDC A, R6 ; +நீட்டிப்பு MOV R2, A MOV A, R3 ADDC A, R6 ; +நீட்டிப்பு MOV R3, A MOV R6, #0 ; மொத்தத் தொகையின் அடையாளம் JNC Pid6ChkF0 JB F0, Pid7 மாறியுள்ளதா என்பதைச் சரிபார்க்க வேண்டியது அவசியம்; பிழை<0, был перенос =>அடையாளம் மாறவில்லை, SJMP Pid6SumOv வழிதல் இல்லை; பிழை>0, ஒரு பரிமாற்றம் => வழிதல் Pid6ChkF0: JNB F0, Pid7 ; பிழை> 0, கேரி இல்லை => வழிதல் இல்லை; SJMP Pid6SumUf ; பிழை<0, небыло переноса =>அடையாளம் Pid6SumUf: ; பிழை என்றால்<0 и небыло переноса =>அடையாளம் மாற்றப்பட்டது CPL DiffS MOV A, R0 CPL A ADD A, #1 ; C=?, எனவே வழக்கமான முறையில் MOV R0, A MOV A, R1 CPL A ADDC A, R6 MOV R1, A MOV A, R2 CPL A ADDC A, R6 MOV R2, A MOV A, R3 CPL A ஆகியவற்றைப் பயன்படுத்தி 1 ஐச் சேர்க்கிறோம். ADDC A, R6 MOV R3, A SJMP Pid7 ; முடிவு மற்றும் DiffS ஆகியவற்றின் அடையாளம் Pid6SumOv: ; நிரம்பி வழிந்தது => அதிகபட்சமாக MOV R0, #0FFh MOV R1, #0FFh MOV R2, #0FFh MOV R3, #0FFh ; 7. U = K*PID/256 | 32பிட்*16பிட்/8பிட் => 40பிட், ; | அவை 10பிட்டாக துண்டிக்கப்படுகின்றன; | Pid7 ஐ கணக்கிடும் போது: ; R3:R2:R1:R0 PID இன் முடிவைக் கொண்டுள்ளது, DiffS அதன் அடையாளத்தைக் கொண்டுள்ளது; நாம் K*PID/256ஐக் கணக்கிட வேண்டும், முடிவை 10 பிட்களாகக் கட்டுப்படுத்துகிறோம்; K எப்போதும் நேர்மறையாக இருக்கும், எனவே PID என்றால்< 0 =>குறைந்தபட்ச JB DiffS, Pid7Umin ; நாம் கண்டிப்பாக மேல் வரம்பை 16 பிட்களாக கட்டுப்படுத்தலாம் என்பதால், ; R3 != ​​0 => அதிகபட்சமாக MOV A, R3 JNZ Pid7Umax ; = ; R7=0 R6=0, என்பதை கணக்கில் கொண்டு கணக்கிடுகிறோம்; இல்லையெனில் நிரம்பி வழிகிறது, எனவே நாங்கள் R7 மற்றும் R6 ஐ தொடவே மாட்டோம்; ஆனால் முடிவை நாங்கள் சரிபார்க்கிறோம்; R7:R6 = R2*KH MOV A, R2 JZ Pid7S1 MOV A, KH JNZ Pid7Umax ; R2!=0 மற்றும் KH!=0 => R7:R6>0 => வழிதல் Pid7S1: ; R6:R5 = R2*KL MOV A, R2 MOV B, KL MUL AB MOV R5, A MOV A, B JNZ Pid7Umax ; R6 > 0 => அதிகமாக இருந்தால்; R6:R5 = R1*KH MOV A, R1 MOV B, KH MUL AB ADD A, R5 JC Pid7Umax ; R6 > 0 => MOV R5, A MOV A, B JNZ Pid7Umax நிரம்பினால்; R6 > 0 => அதிகமாக இருந்தால்; R5:R4 = R0*KH MOV A, R0 MOV B, KH MUL AB MOV R4, A MOV A, R5 ADD A, B JC Pid7Umax ; R6 > 0 => MOV R5, A ; R5:R4 = R1*KL MOV A, R1 MOV B, KL MUL AB ADD A, R4 MOV R4, A MOV A, R5 ADDC A, B JC Pid7Umax ; R6 > 0 => MOV R5, A ; R4:R3 = R0*KL MOV A, R0 MOV B, KL MUL AB RLC A ; C = R3>=0x80, Z=R3>0x80 MOV R3, #0FFh ; R3<>0x80 => எதுவும் இல்லை JNZ Pid7S2 MOV R3, #0FEh ; R3==0x80 => Pid7S2 வரை சுற்று: MOV A, R4 ADDC A, B ; நாங்கள் பெருக்கல், பதிவு மற்றும் கேரி-ரவுண்ட் ANL A, R3 ; மேலும் சமமாக வட்டமிட்டால், குறைவான முக்கியத்துவம் வாய்ந்த பிட் MOV R4, A MOV A, R5 ADDC A, R6 ஆகியவற்றை நிராகரிக்கிறோம்; JC Pid7Umax பெருக்கத்தின் போது நாங்கள் எதையும் சேர்க்காவிட்டாலும், நீண்ட காலமாக R6=0 ஐப் பெற்றுள்ளோம்; R6 > 0 => MOV R5, A ; R5:R4 => 16-பிட் வரையறுக்கப்பட்ட முடிவு; இப்போது நாம் R5:R4 ஐ Umax/Umin MOV A, UmaxL SUBB A, R4 என வரையறுக்க வேண்டும்; C=0 தற்போது MOV A, UmaxH SUBB A, R5 JC Pid7Umax ; R5:R4>Umax => R5:R4 = Umax MOV A, UminL SUBB A, R4 ; C=0 தற்போது MOV A, UminH SUBB A, R5 JNC Pid7Umin ; R5:R4 என்றால் R5:R4 = Umin ; பவர் கணக்கிடப்பட்ட MOV UH, R5 MOV UL, R4 SETB Uready AJMP CalcExit Pid7Umax: ; அதிகபட்ச சக்தி MOV UH, UmaxH MOV UL, UmaxL SETB Uready AJMP CalcExit Pid7Umin: ; குறைந்தபட்ச சக்தி MOV UH, UminH MOV UL, UminL SETB Uready AJMP CalcExit ஐ அமைக்கவும்

IX. செல்வாக்கின் பயன்பாடு.

எனவே எங்களிடம் கணக்கிடப்பட்ட தாக்கம் உள்ளது, அதைப் பயன்படுத்துவதே எங்கள் வேலை. இந்த நோக்கத்திற்காக, ஒரு பொது இயக்க சுழற்சி 50Hz அதிர்வெண்ணில் செயல்படுகிறது. சம சுழற்சியில், அளவீடு மற்றும் கணக்கீடு செய்யப்படுகிறது, ஒற்றைப்படை சுழற்சியில், செல்வாக்கு பயன்படுத்தப்படுகிறது. இவ்வாறு, பொதுத் திட்டம் பெறப்படுகிறது: சக்தி அமைக்கப்பட்டது, அளவீடுகள் மற்றும் கணக்கீடுகள் ஒரு சைனூசாய்டு மூலம் செய்யப்படுகின்றன, மேலும் புதியது மற்றொன்று மூலம் பயன்படுத்தப்படுகிறது.

X. பிட்ஃபால்ஸ்.

வேறுபாடு திட்டத்துடன் ஒப்பிடும்போது, ​​நேரடித் திட்டத்தில் மிகக் குறைவான ஆபத்துகள் உள்ளன, நான் பார்த்தவற்றின் பட்டியல் இங்கே:
  • பரிமாணங்களுக்கான கணக்கியல். மிக முக்கியமான மற்றும் மிகவும் பொதுவான தவறு. நீங்கள் U=K*(Err+Ki*Int+Kd*Diff)ஐ மட்டும் எடுக்க முடியாது, K, Ki, Kd என்றால் என்ன என்று குறிப்பிடாமல். மற்றும் என்ன துல்லியத்துடன்? நேரத்தின் தலைகீழ் பரிமாணத்தைக் கொண்ட Ki என்ற குணகத்திற்கு இது மிகவும் முக்கியமானது - செயல்பாடு முழு எண்களில் இருந்தால், நீங்கள் அதை வெறுமனே பெருக்க முடியாது - ஏனெனில் DIVISION இருக்க வேண்டும், மேலும் தலைகீழ் எண்ணை முழு எண்களில் குறிப்பிட முடியாது.
  • அடையாளத்திற்கான கணக்கியல். இரண்டாவது மிக முக்கியமான விஷயம், அடையாளத்தை கணக்கில் எடுத்துக்கொள்வது. அனைத்து செயல்பாடுகளும் கையொப்பமிடப்பட வேண்டும், ஒருங்கிணைந்த குறியைக் குவிக்க வேண்டும் - இது விகிதாசார கூறுகளை மாற்றுவது மட்டுமல்லாமல், வெளிப்புற தாக்கங்களை எதிர்க்கவும் அனுமதிக்கிறது, எடுத்துக்காட்டாக, கலவையிலிருந்து வெப்பத்தை வெளியிடுவது; பின்னர் அதன் அடையாளம் எதிர்மறையானது.
  • அதிகப்படியான கணக்கியல். 0% முதல் 100% வரையிலான சக்தியைப் பெறுவது அல்லது கணக்கிடப்பட்ட சக்தி 100%க்கு அதிகமாகவோ அல்லது 0%க்குக் குறைவாகவோ இருப்பது நமக்கு முக்கியம். எடுத்துக்காட்டாக, எதிர்மறையான துணை அடைப்புக்குறி முடிவைப் பெற்றால் அனைத்து கணக்கீடுகளையும் செய்ய வேண்டிய அவசியமில்லை. ஆனால் அதே நேரத்தில், ஒரு கூடுதல் தயாரிப்பின் போது ஒரு வழிதல் ஏற்படக்கூடும் என்பதை கணக்கில் எடுத்துக்கொள்வது முக்கியம் - மேலும் இது "100% க்கும் அதிகமானவை" என்று கணக்கில் எடுத்துக்கொள்ளப்பட வேண்டும், மேலும் எந்த வகையிலும் நிரம்பிய பிறகு முடிவை விட்டுவிடக்கூடாது . இது நிரம்பியுள்ளது, முதலில், தேவைப்படும் போது ஒழுங்குமுறை இல்லாதது - பொருள் தேவையான வெப்பநிலைக்குக் கீழே உள்ளது, மேலும் மின்சாரம் வழங்கப்படவில்லை
  • கணக்கீடு நேர கணக்கியல். பெரிய-பிட் பெருக்கல்களின் தேவை (வளைந்த செயலாக்கத்துடன், பிரிவுகளும்) நேரம் எடுக்கும், எனவே கணக்கீடுகளின் மோசமான பதிப்பின் செயல்பாட்டு நேரத்தை கணக்கிடுவது மிகவும் முக்கியமானது, மேலும் இது அளவீடுகளுக்கு இடையில் உள்ள இலவச நேரத்தை விட குறைவாக இருக்க வேண்டும். . அவ்வாறு செய்யத் தவறினால், நிர்வகிக்கப்படாத பொருள் "வேலை செய்வது போல் தோன்றுகிறது, ஆனால் எப்படியோ சரியாக வேலை செய்யாது".

XI. முடிவுரை.

இதன் விளைவாக, நேரடி செயலாக்கத் திட்டத்தில் அது போன்ற சிக்கல்கள் இல்லை, ஆனால் அதிக கணக்கீட்டு செலவுகள் தேவைப்படுகிறது. இருப்பினும், சரியாகச் செயல்படுத்தப்பட்டால், மலிவான 8-பிட் மைக்ரோகண்ட்ரோலர்களிலும் நேரடி சுற்று மிகவும் பொருந்தும், மேலும் கணிக்கக்கூடிய முடிவுகளை அளிக்கிறது.