mahalagang bahagi. Proportional-integral differential (PID) - batas sa regulasyon

Mapapabuti mo nang malaki ang katumpakan ng regulasyon sa pamamagitan ng paglalapat ng batas ng PID (Proportional-Integral-Differential regulation law).
Upang ipatupad ang batas ng PID, tatlong pangunahing variable ang ginagamit:
P – proporsyonal na banda, %;
I – integration time, s;
D ay ang oras ng pagkita ng kaibhan, s.
Ang manu-manong pag-tune ng PID controller (pagtukoy sa mga halaga ng mga parameter P, I, D), na nagbibigay ng kinakailangang kalidad ng regulasyon, ay medyo kumplikado at bihirang ginagamit sa pagsasanay. Ang UT/UP series PID controllers ay nagbibigay ng awtomatikong pag-tune ng mga parameter ng PID para sa isang partikular na proseso ng kontrol, habang pinapanatili ang posibilidad ng manu-manong pagsasaayos.

Proporsyonal
Sa proportional band, na tinutukoy ng coefficient P, ang control signal ay magbabago sa proporsyon sa pagkakaiba sa pagitan ng setpoint at ang aktwal na halaga ng parameter (mismatch):

control signal = 100/P E,

kung saan ang E ay ang mismatch.
Ang coefficient ng proportionality (gain) K ay inversely proportional sa P:

Ang proporsyonal na banda ay tinutukoy na may kinalaman sa set ng control setpoint, at sa loob ng band na ito ang control signal ay nagbabago mula 0 hanggang 100%, ibig sabihin, kung ang aktwal na halaga at ang setpoint ay pantay, ang output signal ay magkakaroon ng halaga na 50%.

kung saan ang P ay ang proporsyonal na banda;
ST - set point ng regulasyon.
Halimbawa:
saklaw ng pagsukat 0…1000 °С;
control set point ST = 500 ° С;
proporsyonal na banda P = 5%, na 50 °C (5% ng 1000 °C);
sa halaga ng temperatura na 475 °C at mas mababa, ang control signal ay magkakaroon ng halaga na 100%; sa 525 °C at sa itaas - 0%. Sa hanay na 475…525 °C (sa proporsyonal na banda), magbabago ang control signal sa proporsyon sa mismatch value na may gain K = 100/P = 20.
Ang pagbabawas ng halaga ng proporsyonal na banda P ay nagpapataas ng tugon ng controller sa mismatch, ibig sabihin, ang isang maliit na mismatch ay tumutugma sa isang mas malaking halaga ng control signal. Ngunit sa parehong oras, dahil sa malaking pakinabang, ang proseso ay tumatagal ng isang oscillatory na karakter sa paligid ng halaga ng setpoint, at hindi makakamit ang tumpak na kontrol. Sa sobrang pagtaas ng proporsyonal na banda, masyadong mabagal ang reaksyon ng controller sa magreresultang mismatch at hindi nito masusubaybayan ang dynamics ng proseso. Upang mabayaran ang mga disadvantages na ito ng proporsyonal na kontrol, isang karagdagang katangian ng oras ang ipinakilala - ang mahalagang bahagi.

mahalagang bahagi
Ito ay tinutukoy ng integration time constant I, ay isang function ng oras at nagbibigay ng pagbabago sa gain (shift ng proportional band) sa isang naibigay na tagal ng panahon.


control signal = 100/P E + 1/I ∫ E dt.

Tulad ng makikita mula sa figure, kung ang proporsyonal na bahagi ng batas ng kontrol ay hindi nagbibigay ng pagbawas sa mismatch, kung gayon ang integral na bahagi ay nagsisimulang unti-unting tumaas ang pakinabang sa tagal ng panahon I. Pagkatapos ng isang tagal ng panahon I, ang prosesong ito ay paulit-ulit. Kung ang mismatch ay maliit (o mabilis na bumababa), ang pakinabang ay hindi tataas at, kung ang halaga ng parameter ay katumbas ng tinukoy na setting, tumatagal ng ilang minimum na halaga. Sa pagsasaalang-alang na ito, ang mahalagang bahagi ay tinutukoy bilang ang awtomatikong control shutdown function. Sa kaso ng kontrol ng PID, ang hakbang na tugon ng proseso ay mga pagbabago-bago na unti-unting nabubulok patungo sa setpoint.

Derivative term
Maraming mga control object ang medyo inertial, ibig sabihin, mayroon silang pagkaantala bilang tugon sa inilapat na aksyon (patay na oras) at patuloy na tumugon pagkatapos maalis ang kontrol na aksyon (oras ng pagkaantala). Ang mga PID controller sa mga naturang bagay ay palaging mahuhuli sa pag-on/off ng control signal. Upang maalis ang epektong ito, ipinakilala ang isang bahagi ng kaugalian, na tinutukoy ng pare-parehong oras ng pagkita ng kaibhan D, at ibinigay ang buong pagpapatupad ng batas sa kontrol ng PID. Ang differential component ay ang time derivative ng mismatch, ibig sabihin, ito ay function ng rate ng pagbabago ng control parameter. Kung sakaling magkaroon ng mismatch pare-pareho ang halaga, ang differential component ay humihinto sa pag-apekto sa control signal.

signal ng kontrol = 100/P E + 1/I ∫ E dt + D d/dt E.

Sa pagpapakilala ng bahagi ng kaugalian, ang controller ay nagsisimulang isaalang-alang ang patay na oras at oras ng pagkaantala, binabago ang control signal nang maaga. Ginagawa nitong posible na makabuluhang bawasan ang mga pagbabago sa proseso sa paligid ng halaga ng setpoint at upang makamit ang isang mas mabilis na pagkumpleto ng lumilipas.
Kaya, kapag bumubuo ng isang control signal, ang mga PID controller ay isinasaalang-alang ang mga katangian ng control object mismo, i.e. suriin ang mismatch para sa magnitude, tagal at rate ng pagbabago. Sa madaling salita, ang PID controller ay "inaasahan" ang reaksyon ng regulated object sa control signal at nagsisimulang baguhin ang control action hindi kapag naabot ang setpoint value, ngunit nang maaga.

5. Ang paglipat ng function kung saan ang link ay kinakatawan: K (p) \u003d K / Tr

Sa mga system na may ganitong paraan ng kontrol, dahil sa pagkakaroon ng hysteresis at ang limitadong signal ng kontrol, ang aktwal na halaga ng parameter ay palaging pana-panahong magbabago kaugnay sa itinakdang halaga, ibig sabihin, palaging magkakaroon ng hindi pagkakatugma. Posibleng bahagyang taasan ang katumpakan ng kontrol sa pamamagitan ng pagbabawas ng switching hysteresis, ngunit ito ay humahantong sa isang pagtaas sa dalas ng paglipat ng output relay at pagbaba dito. ikot ng buhay. Kaya, ang mga controllers ng ganitong uri ay hindi angkop para sa mga gawain kung saan ang control parameter ay lubos na dynamic at kung saan ang tumpak na pagpapanatili ng halaga ng kinokontrol na parameter ay kinakailangan. Posibleng aplikasyon ng mga limit controller - mga bagay na may mataas na pagkawalang-galaw at mababang mga kinakailangan para sa katumpakan ng kontrol.

Kontrol ng PID

Mapapabuti mo nang malaki ang katumpakan ng regulasyon sa pamamagitan ng paglalapat ng batas ng PID (Proportional-Integral-Differential regulation law).
Upang ipatupad ang batas ng PID, tatlong pangunahing variable ang ginagamit:
P – proporsyonal na banda, %;
I – integration time, s;
D ay ang oras ng pagkita ng kaibhan, s.
Ang manu-manong pag-tune ng PID controller (pagtukoy sa mga halaga ng mga parameter P, I, D), na nagbibigay ng kinakailangang kalidad ng regulasyon, ay medyo kumplikado at bihirang ginagamit sa pagsasanay. Ang UT/UP series PID controllers ay nagbibigay ng awtomatikong pag-tune ng mga parameter ng PID para sa isang partikular na proseso ng kontrol, habang pinapanatili ang posibilidad ng manu-manong pagsasaayos.

Proporsyonal
Sa proportional band, na tinutukoy ng coefficient P, ang control signal ay magbabago sa proporsyon sa pagkakaiba sa pagitan ng setpoint at ang aktwal na halaga ng parameter (mismatch):

control signal = 100/P E,

kung saan ang E ay ang mismatch.
Ang coefficient ng proportionality (gain) K ay inversely proportional sa P:

Ang proporsyonal na banda ay tinutukoy na may kinalaman sa set ng control setpoint, at sa loob ng band na ito ang control signal ay nagbabago mula 0 hanggang 100%, ibig sabihin, kung ang aktwal na halaga at ang setpoint ay pantay, ang output signal ay magkakaroon ng halaga na 50%.

kung saan ang P ay ang proporsyonal na banda;
ST - set point ng regulasyon.
Halimbawa:
saklaw ng pagsukat 0…1000 °С;
control set point ST = 500 ° С;
proporsyonal na banda P = 5%, na 50 °C (5% ng 1000 °C);
sa halaga ng temperatura na 475 °C at mas mababa, ang control signal ay magkakaroon ng halaga na 100%; sa 525 °C at sa itaas - 0%. Sa hanay na 475…525 °C (sa proporsyonal na banda), magbabago ang control signal sa proporsyon sa mismatch value na may gain K = 100/P = 20.
Ang pagbabawas ng halaga ng proporsyonal na banda P ay nagpapataas ng tugon ng controller sa mismatch, ibig sabihin, ang isang maliit na mismatch ay tumutugma sa isang mas malaking halaga ng control signal. Ngunit sa parehong oras, dahil sa malaking pakinabang, ang proseso ay tumatagal ng isang oscillatory na karakter sa paligid ng halaga ng setpoint, at hindi makakamit ang tumpak na kontrol. Sa sobrang pagtaas ng proporsyonal na banda, masyadong mabagal ang reaksyon ng controller sa magreresultang mismatch at hindi nito masusubaybayan ang dynamics ng proseso. Upang mabayaran ang mga disadvantages na ito ng proporsyonal na kontrol, isang karagdagang katangian ng oras ang ipinakilala - ang mahalagang bahagi.

mahalagang bahagi
Ito ay tinutukoy ng integration time constant I, ay isang function ng oras at nagbibigay ng pagbabago sa gain (shift ng proportional band) sa isang naibigay na tagal ng panahon.

control signal = 100/P E + 1/I ∫ E dt.

Tulad ng makikita mula sa figure, kung ang proporsyonal na bahagi ng batas ng kontrol ay hindi nagbibigay ng pagbawas sa mismatch, kung gayon ang integral na bahagi ay nagsisimulang unti-unting tumaas ang pakinabang sa tagal ng panahon I. Pagkatapos ng isang tagal ng panahon I, ang prosesong ito ay paulit-ulit. Kung ang mismatch ay maliit (o mabilis na bumababa), ang pakinabang ay hindi tataas at, kung ang halaga ng parameter ay katumbas ng tinukoy na setting, tumatagal ng ilang minimum na halaga. Sa pagsasaalang-alang na ito, ang mahalagang bahagi ay tinutukoy bilang ang awtomatikong control shutdown function. Sa kaso ng kontrol ng PID, ang hakbang na tugon ng proseso ay mga pagbabago-bago na unti-unting nabubulok patungo sa setpoint.

Derivative term
Maraming mga control object ang medyo inertial, ibig sabihin, mayroon silang pagkaantala bilang tugon sa inilapat na aksyon (patay na oras) at patuloy na tumugon pagkatapos maalis ang kontrol na aksyon (oras ng pagkaantala). Ang mga PID controller sa mga naturang bagay ay palaging mahuhuli sa pag-on/off ng control signal. Upang maalis ang epektong ito, ipinakilala ang isang bahagi ng kaugalian, na tinutukoy ng pare-parehong oras ng pagkita ng kaibhan D, at ibinigay ang buong pagpapatupad ng batas sa kontrol ng PID. Ang differential component ay ang time derivative ng mismatch, ibig sabihin, ito ay function ng rate ng pagbabago ng control parameter. Sa kaso kapag ang mismatch ay naging pare-pareho ang halaga, ang differential component ay hindi na makakaapekto sa control signal.

signal ng kontrol = 100/P E + 1/I ∫ E dt + D d/dt E.

Sa pagpapakilala ng bahagi ng kaugalian, ang controller ay nagsisimulang isaalang-alang ang patay na oras at oras ng pagkaantala, binabago ang control signal nang maaga. Ginagawa nitong posible na makabuluhang bawasan ang mga pagbabago sa proseso sa paligid ng halaga ng setpoint at upang makamit ang isang mas mabilis na pagkumpleto ng lumilipas.
Kaya, kapag bumubuo ng isang control signal, ang mga PID controller ay isinasaalang-alang ang mga katangian ng control object mismo, i.e. suriin ang mismatch para sa magnitude, tagal at rate ng pagbabago. Sa madaling salita, ang PID controller ay "inaasahan" ang reaksyon ng regulated object sa control signal at nagsisimulang baguhin ang control action hindi kapag naabot ang setpoint value, ngunit nang maaga.

Kapag lumilikha ng iba't ibang mga aparato ng automation, ang gawain ay madalas na magbigay ng isang naibigay na bilis ng pag-ikot ng baras ng motor, na independyente sa kasalukuyang pagkarga.

Hindi mahirap makita na ang bilis ng pag-ikot ng motor shaft ay nakasalalay hindi lamang sa boltahe sa motor, kundi pati na rin sa mga panlabas na hindi kilalang impluwensya sa motor, tulad ng variable friction force, pagbabago ng load, temperatura, kalidad ng pagpapadulas, at iba pang mga kadahilanan. Samakatuwid, ang gawain ng pagbibigay ng isang naibigay na bilis ng pag-ikot ng baras ng motor ay nabawasan sa gawain ng pagbuo ng tulad ng isang boltahe sa motor na magbibigay ng isang naibigay na bilis ng pag-ikot ng motor, na independyente sa impluwensya ng mga panlabas na random na kadahilanan.

Paglutas ng problemang ito nang walang teorya awtomatikong kontrol imposible. Ang solusyon sa problema ay binubuo sa pagkalkula at pagpapatupad PID speed controller. Ang mga Dean-Soft specialist ay may karanasan sa paglutas ng mga naturang problema.


Ang PID controller ay nagbibigay ng isang ibinigay na bilis sa actuator (motor), independiyente sa pare-pareho o dahan-dahang pagbabago ng load na kumikilos dito.


Ang PID controller ay isang proportional-integral-differential controller. Ang PID controller ay binubuo ayon sa pagkakabanggit ng proporsyonal ( K p ), integral ( K at / s ) at pagkakaiba ( K d s ) link, bawat isa sa kanila ay may sariling pakinabang (Larawan 1).

kanin. 1. Structural diagram ng isang control system na may PID controller.

dito: s ay ang Laplace operator (minsan ay tinutukoy bilang p ). Kung kami ay abstract mula sa Laplace transforms, pagkatapos ay ang mga talaan K p, K at / s at K d s ay dapat kunin lamang bilang isang pagtatalaga ng kaukulang link, at hindi bilang isang mathematical expression. At tiyak na hindi ka dapat maghanap ng kahulugan s , dahil, gaya ng nasabi na, ito ay isang operator, hindi isang variable.


Sa isang PID system, ang aktwal na bilis V(t) motor ay sinusukat gamit sensor.

Sa system input dumating ang speed setpoint V ass(t) sa parehong mga yunit bilang ang aktwal na bilis.

Feedback Adder binabawasan mula sa signal ng sangguniang bilis parang (t) totoong bilis ng signal V(t) at bumubuo ng error signal e (t) sa output:

Ang signal ng error ay ipinadala sa proporsyonal, integral at kaugalian mga link ng PID controller.

proporsyonal na link pinaparami ang error signal e sa isang factor K p at bumubuo ng isang output signal y p.

mahalagang link isinasama ang signal na e (t) sa paglipas ng panahon, dumarami sa isang salik K at at bumubuo ng isang output signal y at.

link ng kaugalian iniiba ang signal ng error na may paggalang sa oras e (t), pagpaparami ng resulta sa numero K d at paghubog ng signal ng output y d.


PID controller accumulator nagsusuma ng mga senyales y p(t), y at(t) at y d(t) at bumubuo ng isang output signal y(t):

PWM at switch ng kuryente idinisenyo upang ipadala ang kalkuladong output signal sa makina y(t).

Pagkalkula ng mga coefficient ng PID controller

Hindi mahirap makita na ang PID controller ay nailalarawan sa pamamagitan ng tatlong coefficient K p, K at at K d. Upang kalkulahin ang mga coefficient na ito, kinakailangang malaman ang mga parameter ng control object, sa kasong ito ang engine.


Istraktura at mga parameter ng control object

Mula sa punto ng view ng teorya ng awtomatikong kontrol, ang engine direktang kasalukuyang humigit-kumulang na inilarawan ng: dalawang aperiodic na link na may pare-parehong oras ng kuryente T e at mekanikal na oras pare-pareho T m. Pangkalahatang pakinabang ng motor K motor(Larawan 2). Sa katunayan, iskema ng istruktura ang makina ay mas kumplikado, ngunit ito ay hindi napakahalaga para sa amin sa kasong ito.





kanin. 2. Structural diagram ng engine mula sa punto ng view ng teorya ng awtomatikong kontrol.

Pag-andar ng paglipat ng motor, nakasulat sa mga tuntunin ng operator ng Laplace s, ang mga sumusunod:

Makakuha ng EngineK motor tinutukoy ang proporsyonalidad sa pagitan ng bilis ng pag-ikot ng baras ng makina sa idle at ang boltahe na inilapat sa input. Sa madaling salita, ang ratio ay katumbas ng ratio ng idle speed V xx at motor rated boltahe U n.

Ang boltahe sa motor sa teknolohiyang microprocessor ay nakatakda sa mga di-makatwirang yunit ng boltahe, at ang bilis ay kinukuha sa maginoo na mga yunit ng bilis.

Kung ang isang 7-bit na PWM ay ginagamit upang makabuo ng boltahe sa motor (tingnan sa ibaba), pagkatapos ay upang kalkulahin K motor ang halaga ng na-rate na boltahe ay 128 maginoo na mga yunit ng boltahe.

idle bilis w xx, na tinukoy sa data ng pasaporte ng makina, ay dapat na muling basahin sa maginoo na mga yunit ng bilis Vxx tinutukoy ng paraan kung paano ipinatupad ang speed sensor.


Halimbawa, ipagpalagay na ang isang incremental na encoder ay ginagamit upang sukatin ang bilis, na matatagpuan sa baras ng motor at may 512 na marka sa bawat rebolusyon. Hayaang sukatin ang bilis sa mga karaniwang yunit bilang bilang ng mga marka sa bawat cycle ng pagkalkula D t. Hayaang ang cycle ng pagkalkula, na nakuha sa pamamagitan ng pagsusuri sa pagganap ng algorithm, ay katumbas ng 0.001 sec. Hayaan ang engine idle speed w xx=5000 rpm.

Isalin natin ang bilis ng engine sa mga marka ng sensor, nakukuha natin: 5000x512 = 2560000 marks / min. I-convert natin ang mga minuto sa mga siklo ng pagkalkula:

Kung ang mga parameter ng engine ay hindi alam, kung gayon ang bilis ng idle ay tinutukoy sa eksperimento. Upang gawin ito, sa idle, ang maximum na boltahe ay inilalapat sa engine at ang mga pagbabasa ay kinuha mula sa sensor ng bilis V xx.


Ang mekanikal na oras ay pare-pareho T m depende sa sandali ng inertia ng motor shaft, gearbox, inertia aparatong tagapagpaganap. Karaniwang hindi posibleng kalkulahin ang halaga nito nang analytical. Samakatuwid, ito ay sinusukat sa eksperimento.

Upang gawin ito, ang pinakamataas na boltahe ay biglang inilapat sa engine sa rate ng pagkarga nito at ang lumilipas na proseso ng pagbabago ng bilis ay tinanggal. V(t).


Ang bilis ay kinukuha mula sa speed sensor sa mga discrete times, naitala sa RAM ng microprocessor, at pagkatapos ay inilipat sa isang personal na computer. Binubuo muli ng personal na computer ang graph ng pagbabago ng bilis V(t)(Larawan 3).




kanin. 3. Lumilipas na proseso sa isang DC motor.

Ayon sa lumilipas na graph, posibleng matukoy, una, ang idle speed V xx, at pangalawa, ang oras ng regulasyon t p. Ang oras ng kontrol ay tinutukoy ng oras ng pagtatapos ng lumilipas na proseso (ang oras kung kailan ang lumilipas na kurba ay naiiba nang mas mababa sa 1% mula sa steady na halaga ng estado).


Kung pabayaan natin ang maliit na impluwensya ng patuloy na oras ng kuryente T e, karaniwang isang pagkakasunud-sunod ng magnitude na mas maliit kaysa sa mechanical time constant T m, kung gayon ang lumilipas na proseso sa isang DC motor ay maaaring ituring na aperiodic na may pare-pareho T m.


Ito ay kilala na ang oras ng isang aperiodic transient na proseso ay limang beses na mas mahaba kaysa sa time constant nito. Yung.:

Kaya para sa aming kaso, nakukuha namin:

Sa aming kaso, ang oras ng kontrol t p, kung ihahambing sa graph, ay katumbas ng 1.5 seg. Pagkatapos ay pare-pareho ang mekanikal na oras T m= 1.5/5 = 0.3 seg.

Kaya, ang pag-plot ng transient process graph, nakita namin ang mekanikal na oras na pare-pareho T m.


Ang oras ng kuryente ay pare-parehoT e tinutukoy ang inertia ng motor armature magnetization at katumbas ng ratio ng motor armature inductance sa paglaban ng paikot-ikot nito:

Sa pagsasagawa, ang mga parameter ng armature inductance ay mahirap sukatin, at pagkatapos ay kinukuha nila ang pare-parehong oras ng kuryente sa isang pagkakasunud-sunod ng magnitude na mas mababa kaysa sa pare-pareho ng mekanikal na oras:

Ito ay totoo para sa karamihan ng mga makina.

Pagkalkula ng mga coefficient ng PID controller.

Upang kalkulahin ang mga coefficient ng PID controller, dapat lutasin ng isa ang kabaligtaran na problema ng dynamics. Upang gawin ito, abstract namin mula sa PID controller. Ipagpalagay namin na ang istraktura ng controller, i.e. paglipat ng function nito W p(s) , ay hindi alam sa amin. Para dito, ang paglipat ng function ng control object ay kilala Wdv(mga)(Larawan 4).


kanin. 4. Paunang pamamaraan para sa pagkalkula ng controller para sa isang DC motor.

Isinulat namin ang paglipat ng function ng closed system W s (s):


Tukuyin natin kung anong lumilipas na proseso sa system ang babagay sa atin? Medyo nasiyahan kami sa aperiodic transient na proseso sa system. Ganito dapat tumugon ang system sa mga pagbabago sa bilis at pagkarga.

Hayaan ang nais na oras na pare-pareho ng lumilipas T ay humigit-kumulang pantay T m. Yung. paglipat ng function ng nais na sistema w(s) ay katumbas ng:

Itumbas natin ang transfer function ng closed system sa transfer function ng nais na system:

Sa pamamagitan ng mga simpleng pagbabagong matematikal, ipinapahayag namin mula dito ang expression para sa paglipat ng function ng controller W p(mga):

Palitan ang halaga W motor(s):




Ipakilala natin ang mga coefficient:

Nakukuha namin:

Hindi mahirap makita na nakuha lang natin ang coefficient C 1, koepisyent sa harap ng integral na link MULA SA 2 at ang coefficient sa harap ng differentiating link C 3. Yung. nakuha namin ang klasikong istraktura ng PID controller na may mga parameter K p=MULA SA 1 , K at=C 2 at K d=C 3 :

Pagpapatupad ng isang PID controller sa isang digital microprocessor

Ang mga system na may mga PID controller ay kasalukuyang ipinapatupad lamang sa digital, at ang pagkalkula ng mga batas sa kontrol ay ginagawa ng mga murang microprocessor ng serye ng AVR o MCS -51. Tandaan na ang mga microprocessor ay integer at hindi sumusuporta sa mga pagpapatakbo ng floating point. Ito ay nangangailangan ng programmer na iakma ang mga algorithm nang naaayon.


Sa isang PID system, ang bilis ng motor ay sinusukat gamit ang isang sensor. Ang tunay na bilis ay sinusukat sa integer conditional units ng bilis. Karaniwan, ang mga nakasanayang yunit ng bilis ay pinipili sa paraang ang bilis sa c.u. nagbago sa hanay mula -127 hanggang 127 (isang byte), sa matinding mga kaso mula -15 hanggang 15 (ang bilis ay kinuha gamit ang margin). Ngunit sa anumang kaso, ang bilang ng mga pagtaas ng bilis ay hindi dapat mas mababa sa kinakailangang bilang ng mga bilis.


Ang bilis ay maaaring masukat ng mga sumusunod na sensor:

Ang tinukoy na bilis ay input sa system sa parehong maginoo na mga yunit bilang ang tunay na bilis. Ang nakatakdang bilis ay karaniwang ipinapadala mula sa isang mas mataas na antas ng control processor o isang personal na computer, at nakaimbak sa naaangkop na mga cell ng memorya ng microprocessor.


Feedback Adder binabawasan mula sa itinakdang bilis V ass tunay na bilis V at tumatanggap ng tinatawag na error signal e:

Isinasaalang-alang na ang bilis V ass at V ay mga integer sa hanay na -127 hanggang 127, ang operasyong ito ay ipinatupad nang simple sa isang integer microprocessor. Dapat mong tiyakin na ang resulta. Kung e<-127 , то e =127, а если e >12 7, pagkatapos ay e = 127.


Senyales ng error e pumapasok sa input ng PID controller, i.e. sa isang proporsyonal na link, integral at differential.


proporsyonal na link bumubuo ng output signal y p sa pamamagitan ng pag-multiply ng instant na error signal sa isang factor K p.

Coefficient K p karaniwang kumakatawan sa isang non-integer na halaga sa pagitan ng 0.5 at 2. Samakatuwid, upang i-multiply ang isang integer na one-byte na numero e para sa koepisyent na ito gamitin ang talahanayan K P,i, na kinakalkula nang maaga:

para sa i =-127...127

Bukod dito, isinasaalang-alang ng mga numero sa talahanayan ang paghihigpit sa resulta, na dapat ding maging one-byte, hindi lalampas sa halagang 127. Iyon ay, kung ang resulta ng multiplikasyon ay mas malaki kaysa sa 127, pagkatapos ay kunin ito katumbas ng 127, at kung ito ay mas mababa sa -127, pagkatapos ay kunin ito katumbas ng -127 .

Dapat maunawaan ng mga programmer na isinasaalang-alang ng processor ang isang nilagdaang numero i bilang isang unsigned table index, kaya ang mga elemento ng table na may mga index mula -128 hanggang -1 ay talagang nasa hanay ng index mula 128 hanggang 255.

Pagkatapos, multiplikasyon sa pamamagitan ng koepisyent K p pinalitan ng pagpili ng elemento ng talahanayan K P,i may index e :

Ang talahanayan ay karaniwang kinakalkula sa isang personal na computer at nag-flash sa memorya ng microprocessor.


mahalagang link bumubuo ng output signal y at sa pamamagitan ng pagsasama ng signal ng error e sa pamamagitan ng oras at pagpaparami ng isang koepisyent K at.

dito: T- oras mula sa simula ng trabaho.

Kinakalkula ng digital microprocessor ang integral sa pamamagitan ng step-by-step na pagsasama na may isang hakbang na katumbas ng clock cycle ng timer D t. Kaya, para sa discrete case, ang formula ay pinalitan ng:

Narito ang k ay ang bilang ng mga cycle ng pagkalkula na lumipas mula noong simula ng trabaho.

Isaalang-alang ang kabuuan ng lahat ek. Karaniwan, ito ay kabuuan lamang ng lahat ng mga halaga e , natanggap sa bawat cycle. Ang kabuuan na ito ay tinatawag na integral sum. S (hindi dapat malito sa s - ang operator ng Laplace). Ang integral sum ay ipinatupad bilang isang global variable at tinataasan sa bawat cycle ng kasalukuyang halaga ng signal ng error e :

Kapag kinakalkula ang PID controller, ang coefficient K at karaniwang nasa pagitan ng 0.05 at 2. Ikot ng pagkalkula D t mula 0.0001 hanggang 0.002 sec. Kaya, ang koepisyent K at D t ay mula 5·10 -6 hanggang 4·10 - 3 . kasi ang koepisyent na ito ay mas mababa sa 1, pagkatapos ay lumitaw ang problema ng pagpaparami ng integer nito, dahil pagkatapos ng multiplikasyon ay palaging magiging zero.

Upang malutas ang problemang ito, subukan nating i-multiply ang koepisyent K at D t para sa ilang malaking bilang A , at hatiin ang integral sum sa parehong numero:

Tukuyin ang produkto K at D t · A sa pamamagitan ng coefficient B :

Pumili tayo ng numero A , isang multiple ng 256 x upang ang koepisyent B ay nasa hanay mula 0.05 hanggang 5.


Upang makalkula ang ratio S/A , palawakin ang tanda ng numero S :

    ipatupad ang 16-bit na pagkalkula S, kung A =256;

    ipatupad ang 24-bit na pagkalkula S, kung A =256 2 ;

    ipatupad ang 32-bit na pagkalkula S, kung A =256 3 .

Hindi mahirap ipatupad ang pagdaragdag sa isang 16, 24, o 32-bit na sign na numero S nilagdaan ang 8-bit na numero e. Huwag kalimutan na kung e Kung ito ay positibo, pagkatapos ay pupunuin ng sign-extension ang mga high-order na bit ng mga zero, at kung negatibo, ang mga high-order na bit ay mapupuno ng mga ito. Upang limitahan ang akumulasyon ng integral sum, nagpapatupad kami ng upper at lower limit. Ito ay karaniwang ginagawa tulad ng sumusunod: kung ang pinaka makabuluhang (sign) bit ay hindi katumbas ng penultimate bit, kung gayon ang paglago ng integral sum ay dapat na masuspinde.


Alalahanin na ang dibisyon ng anumang numero sa pamamagitan ng numerong 256 x ay katumbas ng right shift by x bytes sa kanan. Gamitin natin ang panuntunang ito. Kunin lamang ang mataas na byte ng integral sum S : sa kaso ng isang 16-bit na bilang, ito ay katumbas ng isang shift ng isang byte, sa kaso ng isang 24-bit na bilang - sa pamamagitan ng dalawang byte, sa kaso ng isang 32-bit na bilang - ng tatlong byte.

Sa ganitong paraan:

saan: S mas matanda- mataas na byte ng numero S .

Multiplikasyon sa pamamagitan ng isang salik B ipatupad sa anyo ng isang talahanayan B i, katulad ng pagkalkula ng koepisyent ng proporsyonal na link:


link ng kaugalian

Kinakalkula ng derivative circuit ang output signal y d - e 0 ipinapatupad namin sa anyo ng isang talahanayan C i, tulad ng sa pagkalkula ng proporsyonal na link:

PID controller accumulator

Ang adder pagkatapos ng PID controller ay nagdaragdag ng mga agarang halaga ng mga signal y p, y at at y d at bumubuo ng isang output signal y:

Kapag nagsusuma, dapat mong tiyakin na ang resulta ay nasa hanay mula -127 hanggang +127, na nagpapatupad, halimbawa, ng 16-bit na pagsusuma. Kung ang resulta ay mas malaki kaysa sa 127, dapat itong kunin katumbas ng 127, at kung mas mababa sa -127, pagkatapos ay katumbas ng -127.

Ang signal ng PWM ay awtomatikong nabuo ng AVR microprocessors. Ang isang microprocessor ay may kakayahang makabuo ng hanggang 3 hardware na PWM signal. Bilang karagdagan, ang PWM signal ay maaaring mabuo ng programmatically sa pamamagitan ng timer.

Ito ay maginhawa upang bumuo ng isang 7-bit PWM. Sa kasong ito, ang control power switch ay maaaring konektado ayon sa diagram na ipinapakita sa Fig. apat.




kanin. 4. Ang paraan upang ikonekta ang power switch sa PWM output.

Mataas (sign) bit ng resulta y output sa pamamagitan ng anumang I / O pin sa isa sa mga input ng power switch, at ang natitirang 7 bits (ang huling bit ay nakatakda sa zero) nang walang anumang conversion ay maaaring mai-load sa PWM cutoff formation register.

Patunayan natin.

Q.E.D.