Biografier Kjennetegn Analyse

4 elementer i den lineære teorien om automatisk kontroll. TAU for de minste: et eksempel på implementering av PID-kontrolleren i Unity3D


Når spørsmålet om implementering av PID-kontrollere er noe dypere enn det ser ut til. Så mye at de unge selvlagde som bestemmer seg for å implementere en slik reguleringsordning, venter på mange fantastiske funn, og temaet er relevant. Så jeg håper dette opuset er nyttig for noen, så la oss komme i gang.

Prøv nummer én

Som et eksempel, la oss prøve å implementere et kontrollskjema ved å bruke eksemplet med svingkontroll i en enkel 2D-romarkade, trinn for trinn, fra begynnelsen (ikke glem at dette er en opplæring?).


Hvorfor ikke 3D? Fordi implementeringen ikke endres, bortsett fra at du må skru opp PID-kontrolleren for å kontrollere pitch, yaw og roll. Selv om spørsmålet om riktig bruk av PID-kontroll sammen med kvaternioner er veldig interessant, kanskje jeg vil innvie det i fremtiden, men til og med NASA foretrekker Euler-vinkler i stedet for kvaternioner, så vi klarer oss med en enkel modell på en to- dimensjonsplan.


Til å begynne med, la oss lage selve romskipspillobjektet, som vil bestå av selve skipsobjektet på øverste nivå av hierarkiet, feste et underordnet Engine-objekt til det (rent for spesialeffekters skyld). Slik ser det ut for meg:



Og på objektet til selve romfartøyet kaster vi inn inspektør alle slags komponenter. Når jeg ser fremover, vil jeg gi en skjerm av hvordan det vil se ut på slutten:



Men det er senere, men foreløpig er det ingen skript i det ennå, bare et standard herresett: Sprite Render, RigidBody2D, Polygon Collider, Audio Source (hvorfor?).


Faktisk er fysikk det viktigste for oss nå, og kontrollen vil bli utført utelukkende gjennom den, ellers ville bruken av en PID-kontroller miste sin betydning. La oss også la massen til romfartøyet vårt være 1 kg, og alle friksjonskoeffisientene og tyngdekraften er lik null - i verdensrommet.


Fordi i tillegg til selve romfartøyet er det en haug med andre, mindre intelligente romobjekter, så beskriver vi først foreldreklassen grunnkropp, som vil inneholde referanser til våre komponenter, initialiserings- og destruksjonsmetoder, samt en rekke tilleggsfelt og metoder, for eksempel for å implementere himmelmekanikk:


BaseBody.cs

bruker UnityEngine; ved hjelp av System.Collections; bruker System.Collections.Generic; navneområde Assets.Scripts.SpaceShooter.Bodies ( offentlig klasse BaseBody: MonoBehaviour ( readonly float _deafultTimeDelay = 0.05f; offentlig statisk liste _bodies = ny liste (); #region RigidBody offentlig Rigidbody2D _rb2d; offentlig Collider2D _c2d; #endregion #region Referanser offentlig Transform _myTransform; offentlig GameObject _myObject; ///

/// Objekt som vises når det blir ødelagt /// offentlig GameObject _explodePrefab; #endregion #region Audio offentlig AudioSource _audioSource; /// /// Lyder avspilt når skadet /// offentlig lydklipp _hitSounds; /// /// Lyder som spilles av når et objekt dukker opp /// offentlig lydklipp _awakeSounds; /// /// Lyder spilt før døden /// offentlig lydklipp _deadSounds; #endregion #region Eksterne kraftvariabler /// /// Ytre krefter som virker på objektet /// public Vector2 _ExternalForces = new Vector2(); /// /// Strømhastighetsvektor /// offentlig vektor2 _V = ny vektor2(); /// /// Nåværende gravitasjonskraftvektor /// offentlig vektor2 _G = ny vektor2(); #endregion public virtual void Awake() ( Init(); ) public virtual void Start() ( ) public virtual void Init() ( _myTransform = this.transform; _myObject = gameObject; _rb2d = GetComponent (); _c2d = GetComponentsInChildren (); _audioSource = GetComponent (); PlayRandomSound(_awakeSounds); BaseBody bb = GetComponent (); _bodies.Add(bb); ) /// /// Ødeleggelse av karakteren /// public virtual void Destroy() ( _bodies.Remove(this); for (int i = 0; i< _c2d.Length; i++) { _c2d[i].enabled = false; } float _t = PlayRandomSound(_deadSounds); StartCoroutine(WaitAndDestroy(_t)); } /// /// Vent litt før du ødelegger /// /// Ventetid /// offentlig IEnumerator WaitAndDestroy(float waitTime) ( yield returner ny WaitForSeconds(waitTime); if (_explodePrefab) ( Instantiate(_explodePrefab, transform.position, Quaternion.identity); ) Destroy(gameObject, _deafultTime/Delay); ) // /// Spill en tilfeldig lyd /// /// En rekke lyder /// Lydvarighet public float PlayRandomSound(AudioClip audioClip) ( float _t = 0; if (audioClip.Length > 0) ( int _i = UnityEngine.Random.Range(0, audioClip.Length - 1); AudioClip _audioClip = audioClip [_i]; _t _audioClip.length;_audioSource.PlayOneShot(_audioClip); ) return _t; ) /// /// Tar skade /// /// Skadenivå offentlig virtuell void Skade(float skade) ( PlayRandomSound(_hitSounds); ) ) )


Det ser ut til at de beskrev alt som trengs, enda mer enn nødvendig (innenfor rammen av denne artikkelen). La oss nå arve skipets klasse fra den skip, som skal kunne bevege seg og snu:


SpaceShip.cs

bruker UnityEngine; ved hjelp av System.Collections; bruker System.Collections.Generic; navneområde Assets.Scripts.SpaceShooter.Bodies ( offentlig klasse Ship: BaseBody ( public Vector2 _movement = new Vector2(); public Vector2 _target = new Vector2(); public float _rotation = 0f; public void FixedUpdate() ( float torque = ControlRotate( _rotation); Vector2 force = ControlForce(_movement); _rb2d.AddTorque(torque); _rb2d.AddRelativeForce(force); ) public float ControlRotate(Vector2 rotate) (float result = 0f; return result; ) public Vector2 ControlForce(Vector2 movement) ( Vektor2-resultat = ny Vektor2(); returner resultat; ) ) )


Selv om det ikke er noe interessant i det, er det for øyeblikket bare en stubbeklasse.


Vi vil også beskrive basisklassen (abstrakt) for alle BaseInputController-inngangskontrollere:


BaseInputController.cs

bruker UnityEngine; ved å bruke Assets.Scripts.SpaceShooter.Bodies; navneområde Assets.Scripts.SpaceShooter.InputController ( offentlig enum eSpriteRotation ( Høyre = 0, Opp = -90, Venstre = -180, Ned = -270 ) offentlig abstrakt klasse BaseInputController: MonoBehaviour ( offentlig GameObject _agentObject; offentlig Ship_agentBody; offentlig Ship_agentBody på skipslogikkkomponenten offentlig eSpriteRotation _spriteOrientation = eSpriteRotation.Up; //Dette skyldes den ikke-standardiserte //-orienteringen av spriten "opp" i stedet for "høyre" offentlig abstrakt void ControlRotate(float dt); offentlig abstrakt void ControlForce (float dt); offentlig virtuell void Start() ( _agentObject = gameObject; _agentBody = gameObject.GetComponent (); ) public virtual void FixedUpdate() ( float dt = Time.fixedDeltaTime; ControlRotate(dt); ControlForce(dt); ) public virtual void Update() ( //TO DO ) ) )


Og til slutt, spillerkontrollerklassen PlayerFigtherInput:


PlayerInput.cs

bruker UnityEngine; ved å bruke Assets.Scripts.SpaceShooter.Bodies; navneområde Assets.Scripts.SpaceShooter.InputController ( offentlig klasse PlayerFigtherInput: BaseInputController ( public override void ControlRotate(float dt) ( // Bestem posisjonen til musen i forhold til spilleren Vector3 worldPos = Input.mousePosition; worldPos = Camera.mainPoint. (worldPos); / / Lagre musepekerkoordinater float dx = -this.transform.position.x + worldPos.x; float dy = -this.transform.position.y + worldPos.y; //Pass vector2 direction target = new Vector2(dx, dy ); _agentBody._target = target; // Beregn rotasjon i henhold til tastetrykk float targetAngle = Mathf.Atan2(dy, dx) * Mathf.Rad2Deg; _agentBody._targetAngle = targetAngle + (float)_spriteOrientation; ) offentlig overstyring void ControlForce( float dt) ( //Pass bevegelse _agentBody._movement = Input.GetAxis("Vertical") * Vector2.up + Input.GetAxis("Horizontal") * Vector2.right; ) ) )


Det ser ut til å være ferdig, nå kan vi endelig gå videre til hva alt dette ble startet for, d.v.s. PID-kontrollere (ikke glem, håper jeg?). Implementeringen virker enkel til en skam:


bruker System; bruker System.Collections.Generic; bruker System.Linq; bruker System.Text; navneområde Assets.Scripts.Regulator ( // Dette attributtet kreves for at regulatorfeltene // skal vises i inspektøren og serialisert offentlig klasse SimplePID ( public float Kp, Ki, Kd; private float lastError; private float P, I, D ; public SimplePID() ( Kp = 1f; Ki = 0; Kd = 0.2f; ) public SimplePID(float pFactor, float iFactor, float dFactor) ( this.Kp = pFactor; this.Ki = iFactor; this.Kd = dFactor ; ) public float Update(float error, float dt) ( P = error; I += error * dt; D = (error - lastError) / dt; lastError = error; float CO = P * Kp + I * Ki + D * Kd ; returner CO; ) ) )

Vi vil ta standardverdiene til koeffisientene fra taket: det vil være en triviell enhetskoeffisient av proporsjonal kontrollloven Kp = 1, en liten verdi av koeffisienten for differensialkontrollloven Kd = 0,2, som skal eliminere forventede svingninger og en nullverdi for Ki, som er valgt fordi det i vår programvaremodell ikke er statiske feil (men du kan alltid introdusere dem, og deretter kjempe heroisk ved hjelp av integratoren).


La oss nå gå tilbake til SpaceShip-klassen vår og prøve å bruke skapelsen vår som romskipets rotasjonskontroller i ControlRotate-metoden:


public float ControlRotate(Vector2 rotate) ( float MV = 0f; float dt = Time.fixedDeltaTime; //Beregn feilen float angleError = Mathf.DeltaAngle(_myTransform.eulerAngles.z, targetAngle); //Få korrigerende akselerasjon MV = _angleController Oppdater (angleError, dt); return MV; )

PID-kontrolleren vil utføre nøyaktig vinkelposisjonering av romfartøyet ved å bruke dreiemoment alene. Alt er ærlig, fysikk og selvgående våpen, nesten som i det virkelige liv.


Og uten de dere Quaternion.Lerp

hvis (!_rb2d.freezeRotation) rb2d.freezeRotation = sant; float deltaAngle = Mathf.DeltaAngle(_myTransform.eulerAngles.z, targetAngle); float T = dt * Mathf.Abs(_rotationSpeed ​​​​/ deltaAngle); // Transform vinkelen til en Quaternion vektor rot = Quaternion.Lerp(_myTransform.rotation, Quaternion.Euler(new Vector3(0, 0, targetAngle)), T); // Endre rotasjonen til objektet _myTransform.rotation = rot;


Den resulterende Ship.cs-kildekoden er under spoileren

bruker UnityEngine; bruker Assets.Scripts.Regulator; navneområde Assets.Scripts.SpaceShooter.Bodies ( offentlig klasse Ship: BaseBody ( public GameObject _flame; public Vector2 _movement = new Vector2(); public Vector2 _target = new Vector2(); public float _targetAngle = 0f; public float _angle = 0f; public SimplePID _angleController = new SimplePID(); public void FixedUpdate() (float torque = ControlRotate(_targetAngle); Vector2 force = ControlForce(_movement); _rb2d.AddTorque(torque); _rb2d.AddRelativeForce(force); ) public float(force); rotate) ( float MV = 0f; float dt = Time.fixedDeltaTime; _angle = _myTransform.eulerAngles.z; //Beregn feilen float angleError = Mathf.DeltaAngle(_angle, rotate); //Få korrigerende akselerasjon MV = _angleController.Update ( angleError, dt); return MV; ) public Vector2 ControlForce(Vector2 movement) ( Vector2 MV = new Vector2(); //Piece of engine running special effect code for if (movement != Vector2.zero) ( if (_flame != null) ( _flame.SetActive(tru e); ) ) else ( if (_flame != null) ( _flame.SetActive(false); ) ) MV = bevegelse; returnMV; ) ) )


Alle? Skal vi hjem?



WTF! Hva skjer? Hvorfor snur skipet på en merkelig måte? Og hvorfor spretter den av andre gjenstander så skarpt? Fungerer ikke denne dumme PID-kontrolleren?


Ingen panikk! La oss prøve å finne ut hva som skjer.


I det øyeblikket en ny verdi av SP mottas, er det et skarpt (trinnsvis) hopp i mismatchen til feilen, som, som vi husker, beregnes slik: følgelig er det et skarpt hopp i den deriverte av feilen , som vi beregner i denne kodelinjen:


D = (feil - siste feil) / dt;

Du kan selvfølgelig prøve andre differensieringsordninger, for eksempel trepunkts, eller fempunkts, eller ... men det hjelper likevel ikke. Vel, de liker ikke derivatene av skarpe hopp - på slike punkter funksjonen er ikke differensierbar. Det er imidlertid verdt å eksperimentere med ulike differensierings- og integreringsordninger, men da ikke i denne artikkelen.


Jeg tror at tiden er inne for å bygge grafer for den forbigående prosessen: trinnhandling fra S(t) = 0 til SP(t) = 90 grader for en kropp som veier 1 kg, en kraftarm på 1 meter lang og et differensieringsgitter trinn på 0,02 s - akkurat som i vårt eksempel på Unity3D (faktisk, ikke helt, når man konstruerte disse grafene, ble det ikke tatt med i betraktningen at treghetsmomentet avhenger av geometrien til et stivt legeme, så den forbigående prosessen vil være litt annerledes, men fortsatt like nok for demonstrasjon). Alle verdier på grafen er gitt i absolutte verdier:


Hmm, hva skjer her? Hvor ble det av PID-kontrollerens respons?


Gratulerer, vi har nettopp støtt på "kick"-fenomenet. Selvfølgelig, på det tidspunktet når prosessen fortsatt er PV = 0, og settpunktet allerede er SP = 90, får vi med numerisk differensiering verdien av den deriverte i størrelsesorden 4500, som multipliseres med Kd=0,2 og legge opp med et proporsjonalt ledd, slik at vi ved utgangen får verdien av vinkelakselerasjonen på 990, og dette er allerede en form for misbruk av den fysiske modellen Unity3D (vinkelhastigheter vil nå 18000 grader / s ... I tror dette er grenseverdien for vinkelhastigheten for RigidBody2D).


  • Kanskje det er verdt å velge koeffisientene med knotter slik at hoppet ikke blir så sterkt?
  • Nei! Det beste vi kan oppnå på denne måten er en liten amplitude av hoppet til den deriverte, men selve hoppet vil forbli det samme, mens det er mulig å skru opp til den fullstendige ineffektiviteten til differensialkomponenten.

Du kan imidlertid eksperimentere.

Forsøk nummer to. Metning

Det er logisk det drivenhet(i vårt tilfelle, SpaceShips virtuelle manøvreringsthrustere) kan ikke regne ut noen store verdier som vår vanvittige regulator kan gi ut. Så det første vi gjør er å mette utgangen til regulatoren:


public float ControlRotate(Vector2 rotate, float thrust) ( float CO = 0f; float MV = 0f; float dt = Time.fixedDeltaTime; //Beregn feilen float angleError = Mathf.DeltaAngle(_myTransform.eulerAngles.z, targetAngle); / / Få korrigerende akselerasjon CO = _angleController.Update(angleError, dt); //Saturate MV = CO; if (MV > thrust) MV = thrust; if (MV< -thrust) MV = -thrust; return MV; }

Og nok en gang ser den omskrevne klassen Ship fullstendig slik ut

navneområde Assets.Scripts.SpaceShooter.Bodies ( offentlig klasse Ship: BaseBody ( public GameObject _flame; public Vector2 _movement = new Vector2(); public Vector2 _target = new Vector2(); public float _targetAngle = 0f; public float _angle = 0f; public float _thrust = 1f; public SimplePID _angleController = new SimplePID(0.1f,0f,0.05f); public void FixedUpdate() ( _torque = ControlRotate(_targetAngle, _thrust); _force = ControlForce(_movement); _rb2d.Adtorque); _rb2d.AddRelativeForce(_force); ) public float ControlRotate(float targetAngle, float thrust) ( float CO = 0f; float MV = 0f; float dt = Time.fixedDeltaTime; //Calculate error float angleError = Mathf.DeltaAngle.eulermyTransform .z, targetAngle); //Få korrigerende akselerasjon CO = _angleController.Update(angleError, dt); //Saturate MV = CO; if (MV > thrust) MV = thrust; if (MV< -thrust) MV = -thrust; return MV; } public Vector2 ControlForce(Vector2 movement) { Vector2 MV = new Vector2(); if (movement != Vector2.zero) { if (_flame != null) { _flame.SetActive(true); } } else { if (_flame != null) { _flame.SetActive(false); } } MV = movement * _thrust; return MV; } public void Update() { } } }


Det endelige opplegget med våre selvgående våpen vil da bli slik


Samtidig blir det klart at kontrolleren output CO(t) litt forskjellig fra prosessvariabelen MV(t).


Faktisk fra dette stedet kan du allerede legge til en ny spillenhet - drivenhet, der prosessen vil bli kontrollert, hvis logikk kan være mer kompleks enn bare Mathf.Clamp(), for eksempel kan du introdusere diskretisering av verdier​(for ikke å overbelaste spillfysikken med verdier​ bryter sjettedeler etter desimalpunktet), en dødsone (igjen, ikke det er fornuftig å overbelaste fysikk med ultrasmå reaksjoner), introduserer en forsinkelse i kontrollen og ikke-lineariteten (for eksempel et sigmoid) til stasjonen, og se hva som skjer.


Når vi starter spillet, vil vi oppdage at romskipet endelig har blitt kontrollerbart:



Hvis du bygger grafer, kan du se at kontrollerens reaksjon allerede har blitt slik:


Normaliserte verdier er allerede brukt her, vinklene er delt med SP-verdien, og kontrollerutgangen er normalisert i forhold til maksimalverdien der metning allerede finner sted.

Nedenfor er en velkjent tabell over påvirkningen av å øke parametrene til PID-kontrolleren ( hvordan redusere skriften, ellers passer ikke marengs-orddelingstabellen?):



Og den generelle algoritmen for manuell innstilling av PID-kontrolleren er som følger:


  1. Vi velger proporsjonalkoeffisientene med differensial- og integralkoblingene slått av til selvsvingninger begynner.
  2. Gradvis øker differensialkomponenten, vi blir kvitt selvsvingninger
  3. Hvis det er en gjenværende kontrollfeil (forskyvning), eliminerer vi den på grunn av den integrerte komponenten.

Det er ingen generelle verdier for PID-regulatorens parametere: spesifikke verdier avhenger utelukkende av prosessparametrene (dens overføringskarakteristikk): en PID-regulator som fungerer perfekt med ett kontrollobjekt vil være ubrukelig med et annet. Dessuten er koeffisientene ved proporsjonal-, integral- og differensialkomponentene også avhengige av hverandre.


Forsøk nummer tre. Nok en gang derivater

Etter å ha festet en krykke i form av å begrense regulatorens utgangsverdier, har vi ikke løst hovedproblemet til regulatoren vår - differensialkomponenten føles dårlig når feilen ved regulatorinngangen endres trinnvis. Faktisk er det mange andre krykker, for eksempel ved en brå endring i SP, "slå av" differensialkomponenten eller sette lavpassfiltre mellom SP(t) og en operasjon på grunn av hvilken en jevn økning i feilen vil oppstå, eller du kan snu deg helt rundt og skru inn et ekte Kalman-filter for å jevne ut inngangsdataene. Generelt er det mye krykker, og legg til observatør Selvfølgelig vil jeg det, men ikke denne gangen.


Derfor vil vi gå tilbake til den deriverte av mismatch-feilen igjen og se nøye på den:



Ikke merket noe? Hvis du ser nøye etter, vil du finne at SP(t) generelt sett ikke endres i tid (bortsett fra øyeblikkene av en trinnendring, når kontrolleren mottar en ny kommando), dvs. dens deriverte er null:





Med andre ord, i stedet for feilderiverten, som er differensierbar ikke overalt vi kan bruke derivatet av prosessen, som i den klassiske mekanikkens verden vanligvis er kontinuerlig og differensierbar overalt, og skjemaet til vår ACS vil allerede ha følgende form:




Vi endrer kontrollerkoden:


bruker System; bruker System.Collections.Generic; bruker System.Linq; bruker System.Text; navneområde Assets.Scripts.Regulator ( offentlig klasse SimplePID ( public float Kp, Ki, Kd; privat float P, I, D; private float lastPV = 0f; public SimplePID() ( Kp = 1f; Ki = 0f; Kd = 0.2f ; ) public SimplePID(float pFactor, float iFactor, float dFactor) ( this.Kp = pFactor; this.Ki = iFactor; this.Kd = dFactor; ) public float Update(float error, float PV, float dt) ( P = feil; I += feil * dt; D = -(PV - sistePV) / dt; sistePV = PV; flytende CO = Kp * P + Ki * I + Kd * D; return CO; ) ) )

Og la oss endre ControlRotate-metoden litt:


public float ControlRotate(Vector2 rotate, float thrust) ( float CO = 0f; float MV = 0f; float dt = Time.fixedDeltaTime; //Beregn feilen float angleError = Mathf.DeltaAngle(_myTransform.eulerAngles.z, targetAngle); / / Få korrigerende akselerasjon CO = _angleController.Update(angleError, _myTransform.eulerAngles.z, dt); //Saturate MV = CO; if (CO >< -thrust) MV = -thrust; return MV; }

Og-og-og-og ... hvis du kjører spillet, viser det seg at ingenting har endret seg siden forrige forsøk, som krevdes bevis. Men hvis vi fjerner metningen, vil regulatorresponsgrafen se slik ut:


hoppe CO(t) er fortsatt til stede, men det er ikke lenger så stort som det var helt i begynnelsen, og viktigst av alt, det har blitt forutsigbart, fordi leveres utelukkende av den proporsjonale komponenten, og er begrenset av den maksimalt mulige mistilpasningsfeilen og den proporsjonale forsterkningen til PID-kontrolleren (og dette antyder allerede at Kp det er fornuftig å velge mindre enn enhet, for eksempel 1/90f), men avhenger ikke av trinnet for differensiering (dvs. dt). Generelt anbefaler jeg på det sterkeste å bruke den deriverte av prosessen, og ikke feilene.


Jeg tror nå det ikke vil overraske noen, men du kan erstatte det med på samme måte, men vi vil ikke dvele ved dette, du kan eksperimentere selv og fortelle i kommentarene hva som kom ut av det (mest interessant)

Forsøk nummer fire. Alternative implementeringer av PID-kontrolleren

I tillegg til den ideelle representasjonen av PID-regulatoren beskrevet ovenfor, brukes standardskjemaet i praksis ofte, uten koeffisienter Ki Og kd, i stedet for hvilke midlertidige konstanter brukes.


Denne tilnærmingen skyldes det faktum at en rekke PID-innstillingsteknikker er basert på frekvensresponsen til PID-kontrolleren og prosessen. Faktisk dreier hele TAU seg rundt frekvenskarakteristikkene til prosesser, så for de som ønsker å gå dypere, og plutselig står overfor en alternativ nomenklatur, vil jeg gi et eksempel på den såkalte. standard skjema PID-kontroller:




hvor, er differensieringskonstanten som påvirker prediksjonen av systemets tilstand av regulatoren,
- integrasjonskonstant, som påvirker gjennomsnittsintervallet for feil ved den integrerte koblingen.


De grunnleggende prinsippene for å stille inn en PID-kontroller i standardform ligner på en idealisert PID-kontroller:

  • en økning i proporsjonal koeffisient øker hastigheten og reduserer stabilitetsmarginen;
  • med en reduksjon i den integrerte komponenten, avtar kontrollfeilen raskere over tid;
  • reduksjon i integrasjonskonstanten reduserer stabilitetsmarginen;
  • en økning i differensialkomponenten øker marginen for stabilitet og hastighet

Kildekoden til standardskjemaet finner du under spoileren

navneområde Assets.Scripts.Regulator ( offentlig klasse StandardPID ( public float Kp, Ti, Td; public float error, CO; public float P, I, D; private float lastPV = 0f; public StandardPID() ( Kp = 0.1f; Ti = 10000f; Td = 0.5f; bias = 0f; ) public StandardPID(float Kp, float Ti, float Td) ( this.Kp = Kp; this.Ti = Ti; this.Td = Td; ) public float Update(float feil, float PV, float dt) ( this.error = error; P = error; I += (1 / Ti) * error * dt; D = -Td * (PV - lastPV) / dt; CO = Kp * ( P + I + D); sistePV = PV; return CO; ) ) )

Standardverdiene er Kp = 0,01, Ti = 10000, Td = 0,5 - med disse verdiene snur skipet ganske raskt og har en viss stabilitetsmargin.


I tillegg til denne formen for PID-kontroller, den såkalte. tilbakevendende form:



Vi vil ikke dvele ved det, fordi. det er først og fremst relevant for maskinvareprogrammerere som jobber med FPGA-er og mikrokontrollere, hvor en slik implementering er mye mer praktisk og effektiv. I vårt tilfelle - la oss gjøre noe på Unity3D - er dette bare nok en implementering av PID-kontrolleren, som ikke er bedre enn andre og enda mindre forståelig, så nok en gang vil vi glede oss sammen hvor godt det er å programmere i koselig C #, og ikke i skumle og skumle VHDL, for eksempel.

i stedet for en konklusjon. Hvor ellers kan du legge til en PID-kontroller

La oss nå prøve å komplisere kontrollen av skipet litt ved å bruke to-sløyfekontroll: en PID-kontroller, som allerede er kjent for oss _angleController, er fortsatt ansvarlig for vinkelposisjoneringen, men den andre - den nye, _angularVelocityController - kontrollerer rotasjonen hastighet:


public float ControlRotate(float targetAngle, float thrust) ( float CO = 0f; float MV = 0f; float dt = Time.fixedDeltaTime; _angle = _myTransform.eulerAngles.z; //Rotasjonsvinkelkontrolleren float angleError = Mathf.DeltaAngle(_angle, targetAngle); float torqueCorrectionForAngle = _angleController.Update(angleError, _angle, dt); //Velocity Stabilization Controller float angularVelocityError = -_rb2d.angularVelocity; float torqueCorrectionForAngularVelocity,Velocity,Velocity,Velocity,Velocity,Velocity,Velocity. CO = torqueCorrectionForAngle + torqueCorrectionForAngularVelocity;//Diskret i trinn på 100 CO = Mathf.Round(100f * CO) / 100f;///Saturate MV = CO;if (CO > thrust) MV = thrust;if (CO< -thrust) MV = -thrust; return MV; }

Hensikten med den andre regulatoren er å dempe overflødige vinkelhastigheter ved å endre dreiemomentet - dette er beslektet med tilstedeværelsen av vinkelfriksjon, som vi slo av da vi opprettet spillobjektet. Et slikt kontrollskjema [kanskje] vil gjøre det mulig å oppnå en mer stabil oppførsel av skipet, og til og med klare seg med bare proporsjonale kontrollkoeffisienter - den andre regulatoren vil dempe alle oscillasjoner, og utføre en funksjon som ligner på differensialkomponenten til den første regulator.


I tillegg vil vi legge til en ny spillerinngangsklasse - PlayerInputCorvette, der svingene vil bli utført ved å trykke på venstre-høyre-tastene, og vi vil la målbetegnelsen ligge med musen for noe mer nyttig, for eksempel for å kontrollere tårnet. Samtidig har vi nå en slik parameter som _turnRate - som er ansvarlig for hastigheten / responsen til svingen (det er ikke klart hvor du skal sette den bedre i InputCONtroller eller fortsatt Ship).


offentlig klasse PlayerCorvetteInput: BaseInputController ( public float _turnSpeed ​​​​= 90f; public override void ControlRotate() ( // Finn Vector3-musepekeren worldPos = Input.mousePosition; worldPos = Camera.main.ScreenToWorldPoint Store(worldPosition //); av musepekeren float dx = -this.transform.position.x + worldPos.x; float dy = -this.transform.position.y + worldPos.y; // Pass i retning av musepekeren Vector2 target = new Vector2(dx, dy); _agentBody. _target = target; // Beregn rotasjon i henhold til tastetrykk _agentBody._rotation -= Input.GetAxis("Horizontal") * _turnSpeed ​​​​* Time.deltaTime; ) offentlig overstyring void ControlForce() ( //Pass movement _agentBody._movement = Input .GetAxis("Vertical") * Vector2.up; ) )

For klarhetens skyld kaster vi også et skript på knærne for å vise feilsøkingsinformasjon

navneområde Assets.Scripts.SpaceShooter.UI( public class Debugger: MonoBehaviour( Ship _ship; BaseInputController _controller; Liste _pids = ny liste (); Liste _names = ny liste (); Vector2 _orientation = new Vector2(); // Bruk dette for initialisering void Start() ( _ship = GetComponent (); _controller = GetComponent (); _pids.Add(_ship._angleController); _names.Add("Vinkelkontroller"); _pids.Add(_ship._angularVelocityController); _names.Add("Angular velocity controller"); ) // Oppdatering kalles én gang per frame void Update() ( DrawDebug(); ) .up; case eSpriteRotation.Left: return -transform.right; case eSpriteRotation.Down: return -transform.up; ) return Vector3.zero; ) void DrawDebug() ( // Vector3 rotasjonsretning vectorToTarget = transform.position + 5f * new Vector3(-Mathf.Sin(_ship._targetAngle * Mathf.Deg2Rad), Mathf.Cos(_ship._targetAngle * Mathf.Deg2Rad), 0f ); // Current Direction Vector3 heading = transform.position + 4f * GetDirection(_controller. _spriteOrientation); //Angular Acceleration Vector3 torque = heading - transform.right * _ship._Torque; Debug.DrawLine(transform.position, vectorToTarget, Color .white); Debug.DrawLine(transform.posisjon, overskrift, Color.green); Debug.DrawLine(overskrift, dreiemoment, Color.red); ) void OnGUI( ) (float x0 = 10; flyte y0 = 100; float dx = 200; flytende=40; floatSliderKpMax = 1; floatSliderKpMin = 0; floatSliderKiMax = .5f; float SliderKiMin = -.5f; floatSliderKdMax = .5f; float SliderKdMin = 0; int i = 0; foreach (SimplePID pid i _pids) ( y0 += 2 * dy; GUI.Box(new Rect(25 + x0, 5 + y0, dx, dy), ""); pid.Kp = GUI.HorizontalSlider(new Rect( pid.Ki = GUI.HorizontalSlider(new Rect(25 + x0, 20 + y0, 200, 10), pid.Ki, SliderKiMin, SliderKiMax); pid.Kd = GUI.HorizontalSlider(new Rect(25 + x0, 35 + y0, 200, 10), pid.Kd, SliderKdMin, SliderKdMax); GUIStyle style1 = new GUIStyle(); style1.alignment = TextAnchor.MiddleRight; style1.fontStyle = FontStyle.Bold; style1.normal.textColor = Color.yellow; style1.fontSize = 9; GUI.Label(new Rect(0 + x0, 5 + y0, 20, 10), "Kp ", style1); GUI.Label(new Rect(0 + x0, 20 + y0, 20, 10), "Ki", ​​​​style1); GUI.Label(new Rect(0 + x0, 35 + y0, 20, 10 ), "Kd", style1); GUIStyle style2 = new GUIStyle(); style2.alignment = TextAnchor.MiddleLeft; style2.fontStyle = FontStyle.Fet; style2.normal.textColor = Color.yellow; style2.fontSize = 9; GUI .TextField(new Rect(235 + x0, 5 + y0, 60, 10), pid.Kp.ToString(), stil2); GUI.TextField(new Rect(235 + x0, 20 + y0, 60, 10), pid. Ki.ToString(), stil2); GUI.TextField(new Rect(235 + x0, 35 + y0, 60, 10), pid.Kd.ToString(), stil2); GUI.Label(new Rect(0 + x0, -8 + y0, 200, 10), _names, style2); ) ) ) )


Skipsklassen har også gjennomgått irreversible mutasjoner og skal nå se slik ut:

navneområde Assets.Scripts.SpaceShooter.Bodies ( offentlig klasse Ship: BaseBody ( public GameObject _flame; public Vector2 _movement = new Vector2(); public Vector2 _target = new Vector2(); public float _targetAngle = 0f; public float _angle = 0f; public float _thrust = 1f; public SimplePID _angleController = new SimplePID(0.1f,0f,0.05f); public SimplePID _angularVelocityController = new SimplePID(0f,0f,0f); private float _torque = 0f; public float (retur _torque) ) ) private Vector2 _force = new Vector2(); public Vector2 _Force ( get (retur _force; ) ) public void FixedUpdate() ( _torque = ControlRotate(_targetAngle, _thrust); _force = ControlForce(_movement, _thrust); _rb2d.AddTorque( _torque); _rb2d.AddRelativeForce(_force); ) public float ControlRotate(float targetAngle, float thrust) ( float CO = 0f; float MV = 0f; float dt = Time.fixedDeltaTime; _angle = _myTransform.eulerAngles.z; //Connectroller; flytevinkelFeil = Mathf.DeltaAngle(_angle, targetAngle); float torqueCorrectionForAngle = _angleController.Update(angleError, _angle, dt); //Velocity stabilization controller float angularVelocityError = -_rb2d.angularVelocity; float torqueCorrectionForAngularVelocity = _angularVelocityController.Update(angularVelocityError, -angularVelocityError, dt); //Total kontrollerutgang CO = torqueCorrectionForAngle + torqueCorrectionForAngularVelocity; //Diskret i trinn på 100 CO = Mathf.Round(100f * CO) / 100f; //Mettet MV = CO; hvis (CO > skyvekraft) MV = skyvekraft; hvis (CO< -thrust) MV = -thrust; return MV; } public Vector2 ControlForce(Vector2 movement, float thrust) { Vector2 MV = new Vector2(); if (movement != Vector2.zero) { if (_flame != null) { _flame.SetActive(true); } } else { if (_flame != null) { _flame.SetActive(false); } } MV = movement * thrust; return MV; } public void Update() { } } }

Teori om automatisk kontroll(TAU) er en vitenskapelig disiplin som studerer prosessene for automatisk kontroll av gjenstander av ulik fysisk natur. Samtidig, ved hjelp av matematiske midler, avsløres egenskapene til automatiske kontrollsystemer og anbefalinger for deres design utvikles.

Historie

For første gang dukket informasjon om automater opp i begynnelsen av vår tid i verkene til Heron of Alexandria "Pneumatics" og "Mechanics", som beskriver automater laget av Heron selv og hans lærer Ctesibius: en pneumatisk automat for å åpne dørene til et tempel, et vannorgel, en automat for salg av hellig vann osv. Herons ideer var langt forut for sin tid og fant ikke anvendelse i hans tid.

Stabilitet av lineære systemer

Bærekraft- egenskapen til ACS å gå tilbake til en gitt eller nær stabil tilstand etter enhver forstyrrelse.

Bærekraftig ACS- et system der forbigående prosesser dempes.

Operatørform for å skrive en linearisert ligning.

y(t) = y munn(t)+y P=y vyn(t)+y St.

y munn(y vyn) er en spesiell løsning av den lineariserte ligningen.

y P(y St.) er den generelle løsningen av den lineariserte ligningen som en homogen differensialligning, dvs.

ACS er stabil hvis de forbigående prosessene y n (t) forårsaket av forstyrrelser vil bli dempet over tid, det vil si når

Ved å løse differensialligningen i det generelle tilfellet får vi komplekse røtter pi, pi+1 = ±ai ± jβi

Hvert par komplekse konjugerte røtter tilsvarer følgende komponent i den forbigående ligningen:

Fra de oppnådde resultatene kan det ses at:

Kriterier for bærekraft

Ruth kriterium

For å bestemme stabiliteten til systemet bygges tabeller av skjemaet:

Odds Strenger kolonne 1 kolonne 2 kolonne 3
1
2
3
4

For stabiliteten til systemet er det nødvendig at alle elementene i den første kolonnen har positive verdier; hvis det er negative elementer i den første kolonnen, er systemet ustabilt; hvis minst ett element er lik null, og resten er positive, så er systemet på grensen til stabilitet.

Hurwitz-kriteriet

Hurwitz determinant

Teorem: For stabiliteten til en lukket ACS er det nødvendig og tilstrekkelig at Hurwitz-determinanten og alle dens mindreårige er positive ved

Mikhailov kriterium

La oss erstatte , hvor ω er vinkelfrekvensen til svingninger som tilsvarer den rent imaginære roten til det gitte karakteristiske polynomet.

Kriterium: for stabiliteten til et lineært system av n-te orden er det nødvendig og tilstrekkelig at Mikhailov-kurven, konstruert i koordinater, passerer suksessivt gjennom n kvadranter.

Vurder forholdet mellom Mikhailov-kurven og tegnene på røttene(α>0 og β>0)

1) Roten til den karakteristiske ligningen er et negativt reelt tall

2) Roten til den karakteristiske ligningen er et positivt reelt tall

Faktoren som tilsvarer den gitte roten

3) Roten til den karakteristiske ligningen er et komplekst tallpar med en negativ reell del

Faktoren som tilsvarer den gitte roten

4) Roten til den karakteristiske ligningen er et komplekst tallpar med en positiv reell del

Faktoren som tilsvarer den gitte roten

Nyquist-kriterium

Nyquist-kriteriet er et grafanalytisk kriterium. Dens karakteristiske trekk er at konklusjonen om stabiliteten eller ustabiliteten til et lukket system gjøres avhengig av typen amplitude-fase eller logaritmiske frekvenskarakteristikk til et åpent system.

La det åpne systemet representeres som et polynom

så gjør vi en erstatning og får:

For mer praktisk konstruksjon av hodografen for n>2, bringer vi ligningen (*) til "standard"-formen:

Med denne representasjonen vil modulen A(ω) = | W(jω)| er lik forholdet mellom modulene til telleren og nevneren, og argumentet (fasen) ψ(ω) er forskjellen mellom deres argumenter. På sin side er modulen til produktet av komplekse tall lik produktet av modulene, og argumentet er summen av argumentene.

Moduler og argumenter som tilsvarer overføringsfunksjonsfaktorer

Faktor
k k 0
s ω

Deretter konstruerer vi en hodograf for hjelpefunksjonen, som vi vil endre for

På , og på (fordi n

For å bestemme den resulterende rotasjonsvinkelen finner vi forskjellen mellom argumentene til telleren og nevneren

Polynomet til telleren til hjelpefunksjonen har samme grad som polynomet til nevneren, noe som betyr at den resulterende rotasjonsvinkelen til hjelpefunksjonen er 0. Dette betyr at for stabiliteten til det lukkede systemet, er hodografen til hjelpefunksjonsvektoren skal ikke dekke henholdsvis opprinnelsen og hodografen til funksjonen et punkt med koordinater

Del 1. Theory of Automatic Control (TAU)

Forelesning 1. Grunnleggende begreper og definisjoner av TAU. (2 timer)

Enkle konsepter.

Kontrollsystemer for moderne kjemisk-teknologiske prosesser er preget av et stort antall teknologiske parametere, hvorav antallet kan nå flere tusen. For å opprettholde den nødvendige driftsmåten, og til slutt kvaliteten på produktene, må alle disse mengdene holdes konstante eller endres i henhold til en bestemt lov.

De fysiske størrelsene som bestemmer forløpet av den teknologiske prosessen kalles prosessparametere . For eksempel kan prosessparametere være: temperatur, trykk, strømning, spenning, etc.

Parameteren til den teknologiske prosessen, som må holdes konstant eller endres i henhold til en viss lov, kalles kontrollert variabel eller justerbar parameter .

Verdien av den kontrollerte variabelen på det aktuelle tidspunktet kalles øyeblikkelig verdi .

Verdien av den kontrollerte variabelen oppnådd på det aktuelle tidspunktet på grunnlag av dataene til en bestemt måleenhet kalles dens målt verdi .

Eksempel 1 Opplegg for manuell kontroll av temperaturen på tørkeskapet.


Det kreves manuelt å opprettholde temperaturen i tørkeskapet på nivået T ass.

Den menneskelige operatøren, avhengig av avlesningene til kvikksølvtermometeret RT, slår på eller av varmeelementet H ved hjelp av knivbryteren P. ¨

Basert på dette eksemplet kan du angi definisjoner:

Kontrollobjekt (forskriftsobjekt, OS) - en enhet hvis nødvendige driftsmodus må støttes fra utsiden av spesielt organiserte kontrollhandlinger.



Kontroll – dannelse av kontrollhandlinger som gir den nødvendige driftsmodusen til operativsystemet.

Regulering - en bestemt type kontroll, når oppgaven er å sikre konstansen til en hvilken som helst utgangsverdi for operativsystemet.

Automatisk kontroll - ledelse utført uten direkte deltakelse fra en person.

Inndatahandling(X)– innvirkning påført inngangen til systemet eller enheten.

Utgangshandling(Y)- støtet utstedt ved utgangen av systemet eller enheten.

Ytre påvirkning - påvirkningen av det ytre miljøet på systemet.

Blokkskjemaet for styresystemet for eksempel 1 er vist i fig. 1.2.


Ris. 1.3

Eksempel 3 Skjema av ACP-temperatur med en målebro.

Når temperaturen på objektet er lik den spesifiserte, er målebroen M (se fig. 1.4) balansert, inngangen til den elektroniske forsterkeren til EI mottar ikke et signal og systemet er i likevekt. Når temperaturen avviker, endres motstanden til termistoren R T og balansen i broen blir forstyrret. En spenning vises ved ED-inngangen, hvis fase avhenger av tegnet på temperaturavviket fra den innstilte. Spenningen som forsterkes i EU tilføres motoren D, som beveger motoren til autotransformatoren AT i riktig retning. Når temperaturen når settpunktet, vil broen være balansert og motoren slås av.


Definisjoner:

Sette innflytelse (det samme som input-handlingen X) - innvirkningen på systemet som bestemmer den nødvendige loven for endring av den kontrollerte variabelen).

Kontrollhandling (u) - påvirkning av kontrollenheten på kontrollobjektet.

kontrollenhet (CU) - en enhet som påvirker kontrollobjektet for å sikre den nødvendige driftsmodusen.

Forstyrrende påvirkning (f) - en handling som har en tendens til å bryte det nødvendige funksjonelle forholdet mellom innstillingshandlingen og den kontrollerte verdien.

Kontrollfeil (e = x - y) - forskjellen mellom de foreskrevne (x) og faktiske (y) verdiene til den kontrollerte variabelen.

Regulator (P) - et sett med enheter koblet til et regulert objekt og gir automatisk vedlikehold av den innstilte verdien av dens regulerte verdi eller automatisk endring av den i henhold til en viss lov.

Automatisk kontrollsystem (ACP) - et automatisk system med en lukket påvirkningskrets, der kontrollen (u) genereres som et resultat av å sammenligne den sanne verdien av y med en gitt verdi på x.

En ekstra forbindelse i blokkskjemaet til ACP, rettet fra utgangen til inngangen til den betraktede delen av påvirkningskjeden, kalles tilbakemelding (FB). Tilbakemeldinger kan være negative eller positive.

ACP-klassifisering.

1. Etter formål (etter oppgavens natur):

· stabilisere ACP - et system hvis operasjonsalgoritme inneholder en instruksjon om å opprettholde den kontrollerte verdien ved en konstant verdi (x = const);

· programvare ACP - et system hvis operasjonsalgoritme inneholder en instruksjon om å endre den kontrollerte variabelen i samsvar med en forhåndsbestemt funksjon (x endres av programvare);

· sporing av ACP - et system hvis operasjonsalgoritme inneholder en instruksjon om å endre den kontrollerte verdien avhengig av en tidligere ukjent verdi ved ACP-inngangen (x = var).

2. Etter antall konturer:

· enkeltsløyfe - som inneholder en kontur,

· multi-sløyfe - inneholder flere konturer.

3. I henhold til antall justerbare verdier:

· endimensjonale - systemer med 1 kontrollert variabel,

· flerdimensjonale - systemer med flere justerbare verdier.

Multidimensjonal ACS er på sin side delt inn i systemer:

a) urelatert regulering, der regulatorene ikke er direkte relatert og bare kan samhandle gjennom et felles kontrollobjekt for dem;

b) koblet regulering, der regulatorer av forskjellige parametere i samme teknologiske prosess er sammenkoblet utenfor reguleringsobjektet.

4. Etter funksjonelt formål:

ACP for temperatur, trykk, strømning, nivå, spenning, etc.

5. Etter arten av signalene som brukes til kontroll:

kontinuerlige,

Diskret (relé, puls, digital).

6. Av matematiske sammenhengers natur:

lineær, som prinsippet om superposisjon er gyldig for;

ikke-lineær.

Superposisjonsprinsipp (overlegg): Hvis flere inndatahandlinger brukes på inngangen til objektet, er reaksjonen til objektet på summen av inngangshandlingene lik summen av reaksjonene til objektet på hver handling separat:


L (x 1 + x 2) \u003d L (x 1) + L (x 2),

hvor L er en lineær funksjon (integrasjon, differensiering osv.).

7. I henhold til typen energi som brukes til regulering:

pneumatisk,

hydraulisk,

elektrisk,

mekanisk osv.

8. I henhold til reguleringsprinsippet:

· ved avvik :

De aller fleste systemer er bygget etter prinsippet om tilbakemelding – regulering ved avvik (se fig. 1.7).

Elementet kalles adder. Utgangen er lik summen av inngangene. Den svarte sektoren indikerer at dette inngangssignalet må tas med motsatt fortegn.

· av indignasjon .

Disse systemene kan brukes dersom det er mulig å måle forstyrrelsen (se fig. 1.8). Diagrammet viser K - forsterker med forsterkning K.

· kombinert - kombinere funksjonene til tidligere ACP-er.

Denne metoden (se fig. 1.9) oppnår en høy kontrollkvalitet, men dens anvendelse er begrenset av det faktum at den forstyrrende effekten f ikke alltid kan måles.


Grunnmodeller.

Virkemåten til reguleringssystemet kan beskrives muntlig. Så, i avsnitt 1.1, er systemet for å kontrollere temperaturen på tørkeskapet beskrevet. En verbal beskrivelse hjelper til med å forstå prinsippet om drift av systemet, dets formål, funksjoner, etc. Men viktigst av alt, det gir ikke kvantitative estimater av reguleringskvaliteten, og er derfor ikke egnet for å studere egenskapene til systemer og bygge automatiserte kontrollsystemer. TAU bruker i stedet mer presise matematiske metoder for å beskrive egenskapene til systemene:

statiske egenskaper,

dynamiske egenskaper,

· differensiallikninger,

overføringsfunksjoner,

frekvensegenskaper.

I hvilken som helst av disse modellene kan systemet representeres som et ledd med inngangshandlinger X, forstyrrelser F og utgangshandlinger Y

Under påvirkning av disse påvirkningene kan utgangsverdien endres. I dette tilfellet, når en ny oppgave mottas ved inngangen til systemet, må den gi, med en gitt grad av nøyaktighet, en ny verdi av den kontrollerte variabelen i stabil tilstand.

stabil er en modus der avviket mellom den sanne verdien av den kontrollerte variabelen og dens innstilte verdi vil være konstant over tid.

Statiske egenskaper.

statisk karakteristikk element er avhengigheten av steady-state-verdiene til utgangsmengden på verdien av mengden ved inngangen til systemet, dvs.

y munn \u003d j (x).

Den statiske karakteristikken (se fig. 1.11) er ofte avbildet grafisk som en kurve y(x).

statisk Det kalles et element som med en konstant inngangshandling etableres en konstant utgangsverdi over tid. For eksempel, når forskjellige spenningsverdier brukes på varmeinngangen, vil den varmes opp til temperaturverdiene som tilsvarer disse spenningene.

astatisk et element kalles, der, med en konstant inngangshandling, vokser utgangssignalet kontinuerlig med konstant hastighet, akselerasjon osv.

Lineært statisk element kalles et ikke-treghetselement med en lineær statisk karakteristikk:

y munn \u003d K * x + a 0.

Som du kan se, har den statiske egenskapen til elementet i dette tilfellet form av en rett linje med en skråningskoeffisient K.

Lineære statiske egenskaper, i motsetning til ikke-lineære, er mer praktisk å studere på grunn av sin enkelhet. Hvis objektmodellen er ikke-lineær, blir den vanligvis konvertert til en lineær form ved linearisering.

ACS kalles statisk , hvis ved en konstant inngangshandling tenderer kontrollfeilen e til en konstant verdi, avhengig av størrelsen på handlingen.

ACS kalles astatisk , hvis ved en konstant inngangshandling har kontrollfeilen en tendens til null, uavhengig av størrelsen på handlingen.

Laplace-transformasjoner.

Studiet av ASR er sterkt forenklet ved å bruke anvendte matematiske metoder for operasjonell beregning. For eksempel er funksjonen til et bestemt system beskrevet av en DE av skjemaet

, (2.1)

hvor x og y er inngangs- og utgangsmengdene. Hvis vi i denne ligningen i stedet for x(t) og y(t) erstatter funksjonene X(s) og Y(s) til den komplekse variabelen s slik at

Og , (2.2)

da er den opprinnelige DE under null startbetingelser ekvivalent med den lineære algebraiske ligningen

a 2 s 2 Y(s) + a 1 s Y(s) + a 0 Y(s) = b 1 X(s) + b 0 X(s).

En slik overgang fra en differensialligning til en algebraisk ligning kalles Laplace transformasjon , henholdsvis formler (2.2). Laplace transformasjonsformler , og den resulterende ligningen - operatørligning .

De nye funksjonene X(s) og Y(s) kalles Bilder x(t) og y(t) ifølge Laplace, mens x(t) og y(t) er originaler med hensyn til X(er) og Y(er).

Overgangen fra en modell til en annen er ganske enkel og består i å erstatte differensialtegnene med operatorer s n , fortegnene til integraler med faktorer , og x(t) og y(t) i seg selv med bildene X(s) og Y(s) ).

For den omvendte overgangen fra operatorligningen til funksjoner av tid, brukes metoden invers Laplace-transformasjon . Den generelle formelen for den inverse Laplace-transformen er:

, (2.3)

hvor f(t) - original, F(jw) - bilde ved s = jw, j - imaginær enhet, w - frekvens.

Denne formelen er ganske komplisert, så det ble utviklet spesielle tabeller (se tabell 1.1 og 1.2), som oppsummerer de vanligste funksjonene F(s) og deres originaler f(t). De gjør det mulig å avstå fra direkte bruk av formel (2.3).

Tabell 1.2 - Laplace-transformasjoner

Original x(t) Bilde X(er)
d-funksjon
t
t2
t n
spise
en. x(t) en. X(er)
x(t - a) X(er) . e - en s
s n. X(er)

Tabell 1.2 - Formler for den inverse Laplace-transformasjonen (addisjon)

Loven for endring av utgangssignalet er vanligvis en funksjon som skal finnes, og inngangssignalet er vanligvis kjent. Noen typiske inngangssignaler ble diskutert i avsnitt 2.3. Her er bildene deres:

en enkelttrinns handling har et bilde X(er) = ,

deltafunksjon X(er) = 1,

lineær handling X(er) = .

Eksempel. Løsning av DE ved bruk av Laplace-transformer.

Anta at inngangssignalet har form av en enkelttrinns handling, dvs. x(t) = 1. Da er bildet av inngangssignalet X(s) = .

Vi transformerer den opprinnelige DE i henhold til Laplace og erstatter X(er):

s 2 Y + 5sY + 6Y = 2sX + 12X,

s 2 Y + 5sY + 6Y = 2s + 12,

Y(s 3 + 5s 2 + 6s) = 2s + 12.

Uttrykket for Y er definert:

.

Originalen til den mottatte funksjonen er ikke i tabellen over originaler og bilder. For å løse problemet med søket, er brøken delt inn i summen av enkle brøker, med tanke på det faktum at nevneren kan representeres som s(s + 2)(s + 3):

= = + + =

Ved å sammenligne den resulterende brøken med den opprinnelige, kan vi komponere et system med tre ligninger med tre ukjente:

M 1 + M 2 + M 3 = 0 M 1 = 2

5 . M 1 + 3. M 2 + 2. M 3 \u003d 2 à M 2 \u003d -4

6. M 1 = 12 M 3 = 2

Derfor kan en brøk representeres som summen av tre brøker:

= - + .

Nå, ved å bruke tabellfunksjoner, bestemmes den opprinnelige utdatafunksjonen:

y(t) = 2-4. e -2 t + 2. e -3 t. ¨

overføringsfunksjoner.

Eksempler på typiske lenker.

Linken til systemet er dets element, som har visse egenskaper i dynamisk forstand. Linkene til kontrollsystemer kan ha et annet fysisk grunnlag (elektrisk, pneumatisk, mekanisk, etc. ledd), men tilhører samme gruppe. Forholdet mellom inngangs- og utgangssignaler i koblingene til en gruppe er beskrevet av de samme overføringsfunksjonene.

De enkleste typiske lenkene:

forsterker,

integrere,

Det å differensiere

aperiodisk,

oscillerende,

forsinket.

1) Forsterkende ledd.

Linken forsterker inngangssignalet med K ganger. Koblingsligningen y \u003d K * x, overføringsfunksjonen W (s) \u003d K. Parameteren K kalles gevinst .

Utgangssignalet til en slik kobling gjentar inngangssignalet nøyaktig, forsterket med K ganger (se fig. 1.15).

Eksempler på slike koblinger er: mekaniske transmisjoner, sensorer, treghetsløse forsterkere, etc.

2) Integrering.

2.1) Ideell integrator.

Utgangsverdien til en ideell integrator er proporsjonal med integralet til inngangsverdien.

; W(s) =

Når en handlingslink tilføres inngangen, øker utgangssignalet konstant (se fig. 1.16).

Denne lenken er astatisk, dvs. har ikke steady state.

2.2) Ekte integrator.

Overføringsfunksjonen til denne lenken har formen:

Den transiente responsen, i motsetning til den ideelle lenken, er en kurve (se fig. 1.17).

Et eksempel på en integrerende kobling er en likestrømsmotor med uavhengig eksitasjon, hvis statorforsyningsspenningen tas som inngangshandling, og rotorrotasjonsvinkelen tas som utgangshandling.

3) Å differensiere.

3.1) Den ideelle differensiatoren.

Utgangsverdien er proporsjonal med den tidsderiverte av inngangen:

Med en trinnvis inngang er utgangen en puls (d-funksjon).

3.2) Virkelig differensierende.

Ideelle differensierende lenker er ikke fysisk realiserbare. De fleste av objektene som er differensierende lenker, er ekte differensierende lenker. Den forbigående responsen og overføringsfunksjonen til denne koblingen har formen:

4) Aperiodisk (treghet).

Denne lenken tilsvarer DE og PF i skjemaet:

; W(s) = .

La oss bestemme arten av endringen i utgangsverdien til denne koblingen når en trinnhandling av verdien x 0 brukes på inngangen.

Trinnhandlingsbilde: X(er) = . Deretter bildet av utgangsmengden:

Y(s) = W(s) X(s) = = K x 0 .

La oss dekomponere brøken til enkle:

= + = = - = -

Originalen til den første brøken i henhold til tabellen: L -1 ( ) = 1, den andre:

Da får vi endelig:

y(t) = K x 0 (1-).

Konstanten T kalles tidskonstant.

De fleste termiske objekter er aperiodiske lenker. For eksempel, når spenning påføres inngangen til en elektrisk ovn, vil temperaturen endre seg i henhold til en lignende lov (se fig. 1.19).

5) Oscillerende ledd har DE og PF av formen

,

W(s) = .

Når en trinnvis handling med amplitude x 0 påføres inngangen, vil overgangskurven være

har en av to typer: aperiodisk (ved T 1 ³ 2T 2) eller oscillerende (ved T 1< 2Т 2).

6) Forsinket.

y(t) = x(t - t), W(s) = e - t s .

Utgangsverdien y gjentar nøyaktig inngangsverdien x med en viss forsinkelse t. Eksempler: bevegelse av last langs en transportør, bevegelse av væske gjennom en rørledning.

Koble tilkoblinger.

Siden objektet som studeres er delt inn i lenker for å forenkle analysen av funksjon, etter å ha bestemt overføringsfunksjonene for hver lenke, oppstår oppgaven med å kombinere dem til en overføringsfunksjon av objektet. Typen av overføringsfunksjonen til objektet avhenger av sekvensen for å koble koblingene:

1) Seriell tilkobling.

W omtrent \u003d W 1. W2. W 3 ...

Når leddene er koblet i serie, multipliseres overføringsfunksjonene deres.

2) Parallellkobling.

W omtrent \u003d W 1 + W 2 + W 3 + ...

Når koblingene er koblet parallelt, legges overføringsfunksjonene deres til.

3) Tilbakemelding

Overføringsfunksjon i henhold til oppgaven (x):

"+" tilsvarer negativt OS,

"-" - positivt.

For å bestemme overføringsfunksjonene til objekter med mer komplekse koblinger av koblinger, brukes enten sekvensiell forstørrelse av kretsen, eller de konverteres i henhold til Meson-formelen.

Overføringsfunksjoner til ASR.

For forskning og beregning bringes det strukturelle diagrammet til ASR til den enkleste standardformen "objekt - kontroller" ved hjelp av ekvivalente transformasjoner.

Dette er nødvendig for det første for å bestemme de matematiske avhengighetene i systemet, og for det andre brukes som regel alle tekniske metoder for å beregne og bestemme kontrollerinnstillingene for en slik standardstruktur.

I det generelle tilfellet kan enhver endimensjonal ACP med hovedtilbakemelding reduseres til denne formen ved gradvis å øke koblingene.

Hvis utgangen fra systemet y ikke brukes på inngangen, vil vi få et åpent kontrollsystem, hvis overføringsfunksjon er definert som produktet:

W ¥ = W p. W y

(W p - PF for kontrolleren, W y - PF for kontrollobjektet).

Det vil si at sekvensen av lenker W p og W y kan erstattes av en lenke med W ¥ . Overføringsfunksjonen til et lukket system er vanligvis betegnet som Ф(s). Det kan uttrykkes i form av W ¥ :

Denne overføringsfunksjonen Ф з (s) bestemmer avhengigheten til y av x og kalles overføringsfunksjonen til et lukket system langs kanalen til masterinnflytelsen (ved tilordning).

For ASR er det også overføringsfunksjoner for andre kanaler:

Ф e (s) = = - ved en feiltakelse,

Ф i (s) = = - ved forstyrrelse.

Siden overføringsfunksjonen til et åpent system i det generelle tilfellet er en brøk-rasjonell funksjon av formen W ¥ = , kan overføringsfunksjonene til et lukket system transformeres:

Ф з (s) = = , Ф e (s) = = .

Som man kan se, skiller disse overføringsfunksjonene seg bare i uttrykkene til tellerne. Nevneruttrykket kalles karakteristisk uttrykk for et lukket system og er betegnet som D s (s) \u003d A (s) + B (s), mens uttrykket i telleren til overføringsfunksjonen W ¥ kalles karakteristisk uttrykk for et åpent system B(er).

Frekvensegenskaper.

LCH eksempler.

1. Lavpassfilter (LPF)

Eksempel på LACH LPCH-krets

Lavpassfilteret er designet for å undertrykke høyfrekvente påvirkninger.

2. Høypassfilter (HPF)

Eksempel på LACH LPCH-krets

Høypassfilteret er designet for å undertrykke lavfrekvente påvirkninger.

3. Barrierefilter.

Fellefilteret undertrykker bare et visst frekvensområde.

Eksempel på LAFC og LFC krets



Stabilitetskriterier.

Bærekraft.

En viktig indikator på ACP er stabilitet, siden hovedformålet er å opprettholde en gitt konstant verdi av den kontrollerte parameteren eller endre den i henhold til en viss lov. Når den kontrollerte parameteren avviker fra den innstilte verdien (for eksempel under påvirkning av en forstyrrelse eller en endring i referansen), virker kontrolleren på systemet på en slik måte at dette avviket elimineres. Hvis systemet som et resultat av denne handlingen går tilbake til sin opprinnelige tilstand eller går over til en annen likevektstilstand, kalles et slikt system bærekraftig . Oppstår det derimot svingninger med stadig økende amplitude eller det oppstår en monoton økning i feilen e, så kalles systemet ustabil .

For å avgjøre om et system er stabilt eller ikke, brukes stabilitetskriterier:

1) rotkriterium,

2) Stodolas kriterium,

3) Hurwitz-kriterium,

4) Nyquist-kriterium,

5) Mikhailovs kriterium, etc.

De to første kriteriene er nødvendige kriterier for stabiliteten til individuelle lenker og åpne systemer. Hurwitz-kriteriet er algebraisk og er designet for å bestemme stabiliteten til lukkede systemer uten forsinkelse. De to siste kriteriene tilhører gruppen av frekvenskriterier, siden de bestemmer stabiliteten til lukkede systemer ved deres frekvenskarakteristikk. Deres funksjon er muligheten for applikasjon på lukkede systemer med forsinkelse, som er det store flertallet av kontrollsystemer.

rotkriteriet.

Rotkriteriet bestemmer stabiliteten til systemet ved form av overføringsfunksjonen. Den dynamiske egenskapen til systemet, som beskriver de viktigste atferdsegenskapene, er et karakteristisk polynom, som er i nevneren til overføringsfunksjonen. Ved å likestille nevneren til null kan man få en karakteristisk ligning, hvis røtter bestemmer stabiliteten.

Røttene til den karakteristiske ligningen kan være både reelle og komplekse, og er plottet på det komplekse planet for å bestemme stabilitet (se fig. 1.34).

(Symbolet angir røttene til ligningen).

Typer røtter til den karakteristiske ligningen:

Gyldig:

positiv (rotnummer 1);

negativ (2);

null (3);

Kompleks

komplekse konjugater (4);

rent imaginært (5);

I henhold til mangfoldet er røttene:

enkelt (1, 2, 3);

konjugat (4, 5): si = a ± jw;

multipler (6) s i = s i +1 = …

Rotkriteriet er formulert som følger:

En lineær ASR er stabil hvis alle røttene til den karakteristiske ligningen ligger i venstre halvplan. Hvis minst en rot er på den imaginære aksen, som er stabilitetsgrensen, så sies systemet å være på stabilitetsgrensen. Hvis minst én rot er i høyre halvplan (uavhengig av antall røtter i venstre), så er systemet ustabilt.

Med andre ord må alle reelle røtter og reelle deler av komplekse røtter være negative. Ellers er systemet ustabilt.

Eksempel 3.1. Overføringsfunksjonen til systemet har formen:

.

Karakteristisk ligning: s 3 + 2s 2 + 2,25s + 1,25 = 0.

Røtter: s 1 \u003d -1; s 2 \u003d -0,5 + j; s 3 \u003d -0,5 - j.

Derfor er systemet stabilt. ¨

Stodolas kriterium.

Dette kriteriet er en konsekvens av det forrige og er formulert som følger: Et lineært system er stabilt dersom alle koeffisientene til det karakteristiske polynomet er positive.

Det vil si at for girforholdet fra eksempel 3.1, i henhold til Stodol-kriteriet, tilsvarer det et stabilt system.

Hurwitz-kriteriet.

Hurwitz-kriteriet fungerer med det karakteristiske polynomet til et lukket system. Som du vet, ser strukturdiagrammet til ASR feilaktig ut (se fig.)

W p - overføringsfunksjonen til kontrolleren,

W y - overføringsfunksjon til kontrollobjektet.

La oss definere overføringsfunksjonen for fremmating (åpen sløyfe overføringsfunksjon, se avsnitt 2.6.4): W ¥ = W p W y .

.

Som regel har overføringsfunksjonen til et åpent system en brøk-rasjonell form:

.

Så etter substitusjon og transformasjon får vi:

.

Det følger at det karakteristiske polynomet til et lukket system (CPC) kan defineres som summen av telleren og nevneren W ¥ :

D s (s) \u003d A (s) + B (s).

For å bestemme stabiliteten i henhold til Hurwitz, er en matrise bygget på en slik måte at HPCD-koeffisientene fra en n +1 til en 0 er plassert langs hoveddiagonalen. Til høyre og venstre for den er koeffisientene skrevet med indekser til og med 2 (a 0, a 2, a 4 ... eller en 1, a 3, a 5 ...). Så for et stabilt system er det nødvendig og tilstrekkelig at determinanten og alle hoveddiagonale minorer i matrisen er større enn null.

Hvis minst én determinant er lik null, vil systemet være på stabilitetsgrensen.

Hvis minst én determinant er negativ, er systemet ustabilt uavhengig av antall positive eller null determinanter.

Eksempel. Gitt overføringsfunksjonen til et åpent system

.

Det er nødvendig å bestemme stabiliteten til et lukket system ved Hurwitz-kriteriet.

For å gjøre dette er HPLC definert:

D(s) = A(s) + B(s) = 2s 4 + 3s 3 + s 2 + 2s 3 + 9s 2 + 6s + 1 = 2s 4 + 5s 3 + 10s 2 + 6s + 1.

Siden graden av HPCD er lik n = 4, vil matrisen ha en størrelse på 4x4. HPLC-koeffisientene er а 4 = 2, а 3 = 5, а 2 = 10, а 1 = 6, а 0 = 1.

Matrisen ser slik ut:

(merk likheten til matriseradene: 1 med 3 og 2 med 4). Kvalifiseringer:

Δ1 = 5 > 0,

,

Δ 4 \u003d 1 * Δ 3 \u003d 1 * 209\u003e 0.

Siden alle determinanter er positive, så ACP stabil. ♦


Mikhailovs kriterium.

Stabilitetskriteriene beskrevet ovenfor fungerer ikke hvis overføringsfunksjonen til systemet har en forsinkelse, det vil si at den kan skrives som

,

hvor t er forsinkelsen.

I dette tilfellet er det karakteristiske uttrykket til det lukkede systemet ikke et polynom, og dets røtter kan ikke bestemmes. For å bestemme stabiliteten i dette tilfellet brukes frekvenskriteriene til Mikhailov og Nyquist.

Prosedyren for å bruke Mikhailov-kriteriet:

1) Det karakteristiske uttrykket for et lukket system er skrevet:

D s (s) \u003d A (s) + B (s) . e - t s .

Størrelse: px

Startvisning fra side:

transkripsjon

1 TEORI OM AUTOMATISK KONTROLL FOR "PLIKT" KYU Polyakov St. Petersburg 8

2 KYU Polyakov, 8 "På et universitet må du presentere materialet på et høyt faglig nivå. Men siden dette nivået er mye høyere enn hodet til en gjennomsnittlig student, vil jeg forklare med fingrene. Det er ikke veldig profesjonelt, men det er forståelig." Ukjent lærer Forord Denne håndboken er ment for første bekjentskap med emnet. Dens oppgave er å forklare "på fingrene" de grunnleggende begrepene i teorien om automatisk kontroll og å sørge for at du etter å ha lest den kan oppfatte faglitteratur om dette emnet. Du trenger kun å betrakte denne håndboken som et grunnlag, et startskudd for en seriøs studie av et seriøst emne som kan bli veldig interessant og fascinerende Det finnes hundrevis av lærebøker om automatisk kontroll. Men hele problemet er at hjernen, når den oppfatter ny informasjon, leter etter noe kjent, som det kan "hekte" på, og på dette grunnlaget "feste" det nye til allerede kjente konsepter. Praksis viser at det å lese seriøse lærebøker er vanskelig for en moderne student Det er ingenting å klamre seg til Ja, og strenge vitenskapelige bevis unngår ofte essensen av saken, som vanligvis er ganske enkel Forfatteren prøvde å "gå ned" til et lavere nivå og bygge en kjede fra "hverdagslige" konsepter til kontrollbegreper teori Presentasjonen synder med slapphet på hvert trinn, bevis er ikke gitt, formler brukes bare der det er umulig å klare seg uten dem. Matematikeren vil finne mange inkonsekvenser og utelatelser her, siden (i samsvar med målene i manualen) valget mellom strenghet og klarhet er alltid laget til fordel for forståelighet Leseren kreves å ha litt forkunnskaper Det er nødvendig å ha en idé om noen deler av kurset i høyere matematikk :) deriverte og integraler;) differensialligninger; 3) lineær algebra, matriser; 4) komplekse tall Anerkjennelser Forfatteren uttrykker sin dype takknemlighet til Ph.D. AN Churilov, Ph.D. VN Kalinichenko og Ph.D.

3 Kyu Polyakov, 8 Innhold GRUNNLEGGENDE KONSEPTER 4 Introduksjon 4 Kontrollsystemer4 3 Hva er kontrollsystemer? 7 MATEMATISKE MODELLER Hva trenger du å vite for å klare? Kobling av inngang og utgang 3 Hvordan bygges modeller? 4 Linearitet og ikke-linearitet 5 Linearisering av ligninger3 6 Kontroll 7 3 LINEÆRE OBJEKTMODELLER 3 Differensialligninger 3 Tilstandsrommodeller 33 Overgangsfunksjon 34 Impulsrespons (vektfunksjon) 4 35 Overføringsfunksjon 5 36 Laplace-overføringsfunksjon 6 8 frekvensrom 9 Respons 3 39 Logaritmiske frekvenskarakteristikk 6 KONTROLLSYSTEMANALYSE 47 6 Kontrollkrav 47 6 Utgangsprosess 47 63 Nøyaktighet Stabilitet 5 65 Stabilitetskriterier 57 66 Transient prosess 6 67 Frekvenskvalitetsestimater 63 68 Rotkvalitetsestimater 7 LASTER 6 9 Robusthet 65 Klasser Diagram 69 7 PID-kontrollere 7 73 Polplasseringsmetode 7 74 LAFC-korreksjon 7 75 Kombinert kontroll 75 76 Invarians 75 77 Mange stabiliserende kontroller 76 KONKLUSJON 79 LITTERATUR FOR VIDERE LESING 8 3

4 Kyu Polyakov, 8 Grunnleggende begreper Innledning Siden antikken har mennesket ønsket å bruke gjenstander og naturkrefter til sine egne formål, det vil si å kontrollere dem. Du kan kontrollere livløse gjenstander (for eksempel å rulle en stein til et annet sted), dyr (trening), mennesker (sjef underordnet) Mange kontrolloppgaver i den moderne verden er knyttet til tekniske systemer av biler, skip, fly, maskinverktøy. For eksempel er det nødvendig å opprettholde en gitt kurs for skipet, høyden på flyet, motorturtallet, temperaturen i kjøleskapet eller i ovnen Hvis disse oppgavene løses uten menneskelig innblanding snakker man om automatisk kontroll Ledelsesteori prøver å svare på spørsmålet "hvordan skal man klare seg?" Fram til 1800-tallet eksisterte ikke vitenskapen om kontroll, selv om de første automatiske kontrollsystemene allerede eksisterte (for eksempel "lærte" vindmøller å snu seg mot vinden) Utviklingen av kontrollteori begynte under den industrielle revolusjonen. For det første denne retningen i vitenskap ble utviklet av mekanikere for å løse kontrollproblemer, det vil si å opprettholde den innstilte verdien av rotasjonshastighet, temperatur, trykk i tekniske enheter (for eksempel i dampmotorer) Derav navnet "automatisk kontrollteori" Prosessene for kontroll og prosessering av informasjon i systemer av enhver art studeres av vitenskapen om kybernetikk. En av dens seksjoner, hovedsakelig relatert til tekniske systemer, kalles teorien om automatisk kontroll. I tillegg til de klassiske problemene med regulering, omhandler den også optimalisering av kontrolllover, Begrepet "automatisk styringsteori" og "automatisk styringsteori" brukes noen ganger som synonymer. For eksempel finner du i moderne utenlandsk litteratur kun ett begrep styringsteori Kontrollsystemer Hva består et kontrollsystem av? I kontrolloppgaver er det alltid to objekter, et kontrollert og et kontrollerende objekt. Det kontrollerte objektet kalles vanligvis kontrollobjektet eller rett og slett objektet, og kontrollobjektet er regulatoren. For eksempel ved styring av rotasjonshastigheten er styringen objektet er motoren (elektrisk motor, turbin); i problemet med å stabilisere kursen til et skip, et skip nedsenket i vann; i oppgaven med å opprettholde volumnivået til høyttaleren Regulatorer kan bygges på forskjellige prinsipper Den mest kjente av de første mekaniske regulatorene er Watt sentrifugalregulatoren for å stabilisere hastigheten til dampturbinen (i figuren til høyre) Når hastigheten øker, kulene divergerer på grunn av økningen i sentrifugalkraftspakene, spjeldet lukkes litt, noe som reduserer strømmen av damp til turbinen Temperaturkontrolleren i et kjøleskap eller termostat er en elektronisk krets som slår på kjøle- (eller oppvarmingsmodus) hvis temperaturen blir høyere (eller lavere) enn den innstilte. I mange moderne systemer er regulatorer mikroprosessorenheter, datamaskiner. De styrer med hell fly og romskip uten deltakelse av menneskelig damp til turbinen 4

5 Kyu Polyakov, 8 ka En moderne bil er bokstavelig talt "fylt" med kontrollelektronikk, opp til datamaskiner om bord. Vanligvis virker ikke regulatoren direkte på kontrollobjektet, men gjennom aktuatorer (aktuatorer) som kan forsterke og konvertere styresignal, for eksempel, et elektrisk signal kan "gå til en bevegelse av en ventil som regulerer drivstofforbruket, eller til å dreie rattet i en viss vinkel For at regulatoren skal "se" hva som faktisk skjer med en gjenstand, sensorer er nødvendig Sensorer måler oftest de egenskapene til et objekt som må kontrolleres. I tillegg kan kontrollkvaliteten forbedres dersom det innhentes tilleggsinformasjon måle de interne egenskapene til objektet Systemstruktur Altså inkluderer et typisk kontrollsystem et objekt, en regulator, en stasjon og sensorer Et sett av disse elementene er imidlertid ennå ikke et system For å bli til et system trengs det kommunikasjonskanaler, gjennom hvilke informasjon utveksles mellom elementene Informasjon kan overføres vha. elektrisk strøm, luft (pneumatiske systemer), væske (hydrauliske systemer), datanettverk Sammenkoblede elementer er allerede et system som har (på grunn av koblinger) spesielle egenskaper som enkeltelementer og enhver kombinasjon av dem ikke har.som objektet påvirkes av miljøet eksterne forstyrrelser som "hindrer" kontrolleren fra å utføre oppgavesettet. De fleste forstyrrelser er uforutsigbare på forhånd, det vil si at de er tilfeldige i naturen. I tillegg måler sensorene parametrene ikke nøyaktig, men med en viss feil, om enn en liten en. I dette tilfellet snakker de om "målingsstøy" i analogi med støy i radioteknikk som forvrenger signaler. Oppsummert kan vi tegne et blokkskjema over kontrollsystemet som følger: innstilling av regulator kontroll stasjonsobjekt eksterne forstyrrelser tilbakemelding sensorer målestøy For eksempel, i skipets kurskontrollsystem er kontrollobjektet selve skipet, i vann; for å kontrollere kursen brukes et ror som endrer retningen på vannstrømmen; digital datamaskin kontroller; drivstyringsenhet, som forsterker det elektriske kontrollsignalet og konverterer det til et ratt; sensorer målesystem som bestemmer den faktiske kursen; ytre forstyrrelser er havbølger og vind, som avviker skipet fra en gitt kurs; målestøy er sensorfeil Informasjon i kontrollsystemet ser ut til å "gå i sirkler": kontrolleren sender ut et styresignal til stasjonen, som virker direkte på objektet; så går informasjon om objektet gjennom sensorene tilbake til kontrolleren og alt starter på nytt De sier at systemet har tilbakemelding, det vil si at kontrolleren bruker informasjon om objektets tilstand for å utvikle kontroll Systemer med tilbakemelding kalles lukket, siden informasjon sendes langs en lukket sløyfe 5

6 Kyu Polyakov, 8 3 Hvordan fungerer regulatoren? Regulatoren sammenligner innstillingssignalet ("settpunkt", "settpunkt", "ønsket verdi") med tilbakemeldingssignalene fra sensorene og bestemmer misforholdet (kontrollfeilen) forskjellen mellom settpunktet og den faktiske tilstanden Hvis den er null, nei kontroll er nødvendig Hvis det er en forskjell, produserer kontrolleren et styresignal som har en tendens til å redusere mistilpasningen til null. Derfor kan kontrollerkretsen i mange tilfeller tegnes som følger: innstilling av misforhold (feil) kontrollalgoritme kontrolltilbakemelding En slik krets viser kontroll ved feil (eller ved avvik) Dette betyr at for at kontrolleren skal begynne å handle, er det nødvendig at den kontrollerte verdien avviker fra innstilt verdi. Blokken merket med fortegnet finner en mismatch I det enkleste tilfellet vil tilbakemeldingssignalet ( målt verdi) trekkes fra innstilt verdi Kan objektet styres slik at det ikke oppstår feil? I virkelige systemer, ingen Først av alt på grunn av ytre påvirkninger og støy som ikke er kjent på forhånd. I tillegg har kontrollobjekter treghet, det vil si at de ikke umiddelbart kan bytte fra en tilstand til en annen. Funksjonene til kontrolleren og stasjonene (det vil si kraften til kontrollsignalet) er alltid begrenset, så hastigheten til kontrollsystemet (hastigheten for overgang til en ny modus) er også begrenset. og den faktiske tilstanden til kontrollobjektet. Slik tilbakemelding kalles negativ, fordi tilbakemeldingssignalet trekkes fra mastersignalet.Kan det være omvendt? Det viser seg at ja.I dette tilfellet kalles tilbakemeldingen positiv, den øker mismatchen, det vil si at den har en tendens til å "ryste" systemet I praksis brukes positiv tilbakemelding for eksempel i generatorer for å opprettholde udempede elektriske svingninger 4 Åpen sløyfesystemer Er det mulig å styre uten å bruke tilbakemelding? I prinsippet er det mulig. I dette tilfellet mottar kontrolleren ingen informasjon om objektets virkelige tilstand, derfor må det være kjent nøyaktig hvordan dette objektet oppfører seg. Først da kan det på forhånd beregnes hvordan det skal styres (bygg ønsket styringsprogram) at oppgaven skal fullføres Slike systemer kalles programstyringssystemer eller åpne sløyfesystemer, siden informasjon ikke overføres langs en lukket sløyfe, men kun i én retning Programregulatorstyringsdrift gjenstand ytre forstyrrelser En blind og døv sjåfør kan også kjøre bil riktig beregne sin plass Inntil fotgjengere eller andre kjøretøy møtes på veien, som han ikke kan vite på forhånd Fra dette enkle eksempelet er det klart at uten 6

7 Kyu Polyakov, 8 tilbakemelding (informasjon fra sensorer) det er umulig å ta hensyn til påvirkningen av ukjente faktorer, ufullstendigheten av vår kunnskap Til tross for disse manglene, brukes åpne sløyfesystemer i praksis rotasjonshastighet Men fra et synspunkt av kontrollteori er åpne sløyfesystemer av liten interesse, og vi vil ikke lenger huske dem 3 Hva er kontrollsystemer? Et automatisk system er et system som fungerer uten menneskelig innblanding Det finnes også automatiserte systemer der rutineprosesser (innsamling og analyse av informasjon) utføres av en datamaskin, men hele systemet styres av en menneskelig operatør, som tar beslutninger. vil videre studere kun automatiske systemer 3 Kontrollsystemers oppgaver Automatiske kontrollsystemer brukes til å løse tre typer problemer: stabilisering, det vil si å opprettholde en gitt driftsmodus som ikke endres over lang tid (innstillingssignalet er konstant, ofte null ); programstyringsstyring i henhold til et tidligere kjent program (innstillingssignalet endres, men er kjent på forhånd); spore et ukjent hovedsignal Stabiliseringssystemer inkluderer for eksempel autopiloter på skip (holder en gitt kurs), Programkontrollsystemer er mye brukt i husholdningsapparater, for eksempel i vaskemaskiner Sporingssystemer tjener til å forsterke og konvertere signaler , de brukes i stasjoner og ved overføring av kommandoer via kommunikasjonslinjer, for eksempel via Internett 3 Endimensjonale og flerdimensjonale systemer Ved antall innganger og utganger er det endimensjonale systemer som har én inngang og én utgang ( de er vurdert i den såkalte klassiske kontrollteorien); flerdimensjonale systemer som har flere innganger og/eller utganger (hovedfaget for studiet av moderne styringsteori) Vi skal studere kun endimensjonale systemer, hvor både objektet og kontrolleren har ett inngangs- og ett utgangssignal en styringshandling (ror tur) og én justerbar verdi (overskrift) Men faktisk er dette ikke helt sant. Faktum er at når kursen endres, endres også rull og trim på skipet. I en endimensjonal modell neglisjerer vi disse endringene , selv om de kan være svært betydelige For eksempel, under en skarp sving, kan rullen nå en uakseptabel verdi. På den annen side kan ikke bare rattet, men også forskjellige thrustere, stabilisatorer osv. brukes til kontroll, det vil si at objektet har flere innganger. Dermed er det virkelige kurskontrollsystemet flerdimensjonale systemer en ganske vanskelig oppgave og ligger utenfor denne veiledningen. Derfor, i og i ingeniørberegninger prøver de noen ganger å forenkle et flerdimensjonalt system som flere endimensjonale, og ganske ofte fører denne metoden til suksess. diskret, der diskrete signaler (tallsekvenser) brukes, bare definert på bestemte tidspunkter; 7

8 Kyu Polyakov, 8 kontinuerlig-diskrete, der det er både kontinuerlige og diskrete signaler Kontinuerlige (eller analoge) systemer er vanligvis beskrevet av differensialligninger. Dette er alle bevegelseskontrollsystemer der det ikke er datamaskiner og andre elementer av diskret handling (mikroprosessorer) , logiske integrerte kretser ) Mikroprosessorer og datamaskiner er diskrete systemer, siden all informasjon lagres og behandles i dem i en diskret form. En datamaskin kan ikke behandle kontinuerlige signaler, siden den kun fungerer med tallsekvenser. Eksempler på diskrete systemer finnes i økonomi (referanseperiode kvartal eller år) og i biologi (modell "rovdyr-byttedyr") For å beskrive dem brukes differanseligninger. Det finnes også hybride kontinuerlig-diskrete systemer, for eksempel datasystemer for å kontrollere objekter i bevegelse (skip, fly) , biler osv.) I dem er noen av elementene beskrevet med differensialligninger, og noen med differanseligninger. og fra et matematikksynspunkt skaper dette store vanskeligheter for studiet deres, derfor reduseres kontinuerlig-diskrete systemer i mange tilfeller til forenklede rent kontinuerlige eller rent diskrete modeller. som alle parametere forblir konstante kalles stasjonære, som betyr " endrer seg ikke med tiden" Denne opplæringen tar kun for seg stasjonære systemer I praktiske problemer er ting ofte ikke så rosenrøde For eksempel forbruker en flygende rakett drivstoff og på grunn av dette endres massen. Dermed blir en rakett ikke-stasjonær objekt Systemer der parameterne av et objekt eller en kontroller endring over tid kalles ikke-stasjonære. Selv om teorien om ikke-stasjonære systemer eksisterer (formlene er skrevet), er det ikke så lett å bruke den i praksis på samme måte som ytre påvirkninger. I dette tilfellet snakker vi om deterministiske systemer som ble vurdert i den klassiske kontrollteorien. Men i reelle problemer har vi ikke eksakte data. Først og fremst gjelder dette ytre påvirkninger. For for eksempel for å studere rullen til et skip. i det første trinnet kan vi anta at bølgen har form som en sinus med kjent amplitude og frekvens. Dette er en deterministisk modell. Stemmer dette i praksis? Naturligvis nei. Ved å bruke denne tilnærmingen kan kun omtrentlige, grove resultater oppnås. I følge moderne konsepter beskrives bølgeformen tilnærmet som summen av sinusoider som har tilfeldige, det vil si ukjente på forhånd, frekvenser, amplituder og faser. Interferens, målestøy, dette er også tilfeldige signaler Systemer der det er tilfeldige forstyrrelser eller parametrene til objektet kan endres tilfeldig, kalles stokastiske (sannsynlighets) Teorien om stokastiske systemer lar deg få kun sannsynlighetsresultater. kan ikke garanteres at skipets avvik fra kursen alltid ikke vil være mer, men du kan prøve å sikre et slikt avvik med en viss sannsynlighet (en sannsynlighet på 99% betyr at kravet vil bli oppfylt i 99 tilfeller av) Det må huskes at uttrykket "optimalt system" ikke betyr at det virkelig er ideelt. Alt bestemmes av det aksepterte kriteriet; hvis det velges vellykket, vil systemet vise seg å være bra, hvis ikke, så omvendt 8

9 Kyu Polyakov, 8 37 Spesielle klasser av systemer Hvis parametrene til et objekt eller forstyrrelser er unøyaktig kjent eller kan endre seg over tid (i ikke-stasjonære systemer), brukes adaptive eller selvjusterende kontrollere, der kontrollloven endres når forholdene endres I det enkleste tilfellet (når det er flere tidligere kjente driftsmoduser) er det en enkel veksling mellom flere kontrolllover Ofte i adaptive systemer evaluerer kontrolleren objektets parametere i sanntid og endrer følgelig kontrollloven iht. til en gitt regel kalles ekstrem (fra ordet ekstremum, som betyr maksimum eller minimum) Mange moderne husholdningsapparater (for eksempel vaskemaskiner) bruker fuzzy-kontrollere bygget på prinsippene for fuzzy logic. løsninger: "hvis skipet har gått for langt til høyre, må roret flyttes for langt til venstre"

10 Kyu Polyakov, 8 Matematiske modeller Hva trenger du å vite for ledelse? Målet med enhver kontroll er å endre tilstanden til objektet på riktig måte (i samsvar med oppgaven) Teorien om automatisk kontroll skal svare på spørsmålet: «hvordan bygge en kontroller som kan kontrollere dette objektet på en slik måte som for å nå målet?" For å gjøre dette, må utvikleren vite hvordan kontrollsystemet vil reagere på ulike påvirkninger, det vil si at det trengs en modell av systemet: et objekt, stasjon, sensorer, kommunikasjonskanaler, forstyrrelser, støy Modell er et objekt som vi bruker å studere et annet objekt (original) Modell og original bør være noe lik slik at konklusjonene som er gjort ved studiet av modellen kan (med en viss sannsynlighet) overføres til originalen Vi vil først og fremst være interessert i matematiske modeller uttrykt i form av formler. I tillegg, beskrivende (verbal) ), grafiske, tabellformede og andre modeller Kobling av inngang og utgang Ethvert objekt samhandler med det eksterne miljøet ved hjelp av innganger og utganger Innganger er mulige effekter på objektet, utganger er de signalene som kan måles For eksempel, for en elektrisk motor kan innganger være forsyningsspenning og last, og utgangene er akselhastigheten, temperaturen Inngangene er uavhengige, de "kommer" fra det ytre miljøet ved endring og informasjon ved inngangen, endres den interne tilstanden til objektet (som dets skiftende egenskaper kalles) og, som et resultat, utgangene: input x output y Dette betyr at det er en regel i henhold til at elementet transformerer input x til utgangen y Denne regelen kalles Record-operatoren y U[ x] betyr at utgangen y oppnås ved å bruke operatoren U på inngangen x. For å bygge en modell betyr dette å finne en operator som kobler inn- og utgangene. brukes til å forutsi responsen til et objekt på et hvilket som helst inngangssignal Tenk på en likestrømsmotor Inngangen til dette objektet er forsyningsspenningen (i volt), utgangsrotasjonshastigheten (i omdreininger per sekund) Vi vil anta at ved en spenning på V, rotasjonshastigheten er rev / sek, og ved en spenning på V rev / sek, det vil si at rotasjonshastigheten er lik spenningen Det er lett å se at handlingen til en slik operatør kan skrives som U [ x ] x Anta nå at den samme motoren roterer hjulet og som utgang av objektet har vi valgt antall omdreininger på hjulet ift. om startposisjonen (i øyeblikket t) I dette tilfellet, med jevn rotasjon, gir produktet x t oss antall omdreininger i løpet av tiden t, det vil si y (x t (her betegner notasjonen y (eksplisitt avhengigheten av utgang på tid t) definert operatør U? Åpenbart ikke, fordi den oppnådde avhengigheten er gyldig bare for et konstant inngangssignal. Hvis spenningen på inngangen x (endres (spiller ingen rolle!), vil rotasjonsvinkelen bli skrevet som en integral U Selvfølgelig vil dette bare være sant i et visst spenningsområde

11 Kyu Polyakov, 8 t U[ x] x(dt Operatøren som handler etter denne regelen kalles integreringsoperatøren. Ved hjelp av denne operatøren kan du for eksempel beskrive fylling av en tom tank med vann Hvis tanken krysser hverandre seksjon S (i m) er konstant over hele høyden , da er vannstanden h definert som integralet av vannføringen q (i m 3 /s) delt på S: h(q(dt, S Den inverse operatoren av differensieringsoperatoren beregner den deriverte: dx(U[ x(] x& (dt Som vi vil se at denne operatoren spiller en svært viktig rolle i beskrivelsen av kontrollobjekter. Vanligvis er differensieringsoperatoren betegnet med bokstaven p Record y (p x(utad ser ut som en "multiplikasjon" av operatoren p med signalet x (, men angir faktisk handlingen til denne operatoren, det vil si differensiering: dx (p x(() dt Hvor forekommer slike operatorer? La oss gi eksempler fra elektroteknikk. For eksempel er det kjent at strømmen i (i ampere) som går gjennom en krets med en kondensator er proporsjonal med den deriverte av potensialforskjellen u (i volt) på platene: i du( i (C C p u) (dt u Her C er kapasitansen til kondensatoren (målt i farad) I tillegg er spenningsfallet u over induktoren proporsjonalt med den deriverte av den passerende strømmen i: i di(u (L L p i(dt u hvor L er induktansen (målt) i henry) Differensieringsoperatoren er ideell (fysisk urealiserbar) operator, den kan ikke implementeres i praksis. For å forstå dette, la oss huske at med en øyeblikkelig endring i signalet vil dens deriverte (økningshastighet) være lik uendelig, og ingen ekte enheter kan fungere med uendelige signaler 3 Hvordan bygges modeller? For det første kan matematiske modeller hentes teoretisk fra fysikkens lover (lovene om bevaring av masse, energi, momentum) Disse modellene beskriver de interne koblingene i objektet og er som regel de mest nøyaktige Tenk på en RLC-krets, det vil si en seriekobling av en motstand med motstand R ( i ohm), en induktor med en induktans L og en kondensator med en kapasitans C. Det kan beskrives ved hjelp av to ligninger: u (R i (L C u c (t di(u) (uc(L R i(dt duc(i(C dt betyr at potensialforskjellen ved endene av RLC-kjeden er lik summen av potensialforskjellene ved alle mellomseksjoner

12 Kyu Polyakov, 8 store beregnes i henhold til Ohms lov, og på spolen i henhold til formelen gitt i forrige avsnitt Den andre ligningen beskriver forholdet mellom spenning og strøm for en kondensator Inngangen til dette objektet er spenningen u (kl. endene av kjeden, og utgangspotensialforskjellen u c Den andre måten å bygge en modell på som et resultat av å observere et objekt med ulike inngangssignaler (identifikasjonsteori omhandler dette) Objektet betraktes som en “black box”, dvs. , dens interne struktur er ukjent Vi ser på hvordan den reagerer på inngangssignaler og prøver å justere modellen slik at utgangene til modellen og objektet sammenfaller mest mulig nøyaktig med ulike innganger.I praksis er en blandet metode ofte brukt: strukturen til modellen (typen ligning som forbinder inngang og utgang) bestemmes ut fra teori, og koeffisientene er funnet empirisk. For eksempel er den generelle formen for skipets bevegelsesligninger velkjent, men i disse ligningene er koeffisienter som avhenger av mange fakta grøft (skrogform, overflateruhet osv.), slik at de er ekstremt vanskelige (eller umulige) å finne teoretisk. I dette tilfellet, for å bestemme ukjente koeffisienter, bygges og testes skalamodeller i bassenger ved bruk av spesielle metoder. I flyet industri, vindtunneler brukes til samme formål. for et hvilket som helst kontrollobjekt er det mulig å bygge mange forskjellige modeller som vil ta hensyn til (eller ikke ta hensyn til) visse faktorer. Vanligvis, i det første trinnet, prøver de å beskrive objektet så detaljert som mulig, utarbeide en detaljert modell.Det vil imidlertid være vanskelig å teoretisk beregne kontrollloven som oppfyller de spesifiserte kravene til systemet Selv om vi kan beregne det, kan det vise seg å være for komplisert. å gjennomføre eller svært kostbar hjelp kan ofte oppnå ønsket Men i dette tilfellet er det ingen garanti for at den vil kontrollere hele modellen (og det virkelige objektet) like godt. Et kompromiss brukes vanligvis. Start med enkle modeller, prøv å designe kontrolleren slik at den "passer" for en kompleks modell. Denne egenskapen kalles robusthet. (ruhet) til kontrolleren (eller systemet), det betyr ufølsomhet for modelleringsfeil. Deretter kontrolleres driften av den konstruerte kontrollloven på hele modellen eller på et reelt objekt. et negativt resultat oppnås (en enkel kontroller "fungerer ikke"), kompliserer modellen ved å introdusere ytterligere detaljer i den OG alt begynner på nytt 4 Linearitet og ikke-linearitet Det er kjent fra skolematematikk at det er lettest å løse lineært ligninger Det er mye vanskeligere å jobbe med ikke-lineære ligninger (kvadratiske, kubiske, etc.), mange typer ligninger matematikeren er ennå ikke i stand til å løse analytisk (nøyaktig) Blant operatorer er de enkleste også lineære De har to egenskaper: dvs. til en konstant: U[ α x] α U[ x], der α er en hvilken som helst konstant (det vil si at hvis inngangen øker flere ganger, øker utgangen like mye); superposisjonsprinsipp: hvis summen av to signaler brukes på inngangen, vil utgangen være summen av reaksjonene til samme operatør på separate signaler: U [ x x] U[ x ] U[ x] Modeller som er beskrevet med lineær operatorer kalles lineære. Du kan jobbe med dem med å bruke metodene til teorien om lineære systemer, som er den mest utviklede og lar deg løse de fleste kjente praktiske problemer nøyaktig. I matematikk kalles disse egenskapene homogenitet og additivitet

13 Kyu Polyakov, 8 Alle modeller av virkelige systemer er imidlertid ikke-lineære. Dette er lett å forstå, om ikke annet fordi det alltid er en maksimal tillatt verdi på inngangssignalet; hvis den overskrides, kan objektet rett og slett svikte eller til og med kollapse ( linearitet er krenket) Metoder for å studere ikke-lineære operatører er svært komplekse matematisk , i teorien om ikke-lineære systemer er eksakte løsninger kun kjent for et ganske smalt spekter av problemer. Det er fortsatt flere "blanke flekker" enn de oppnådde resultatene, selv om denne vitenskapelige retning har vært aktivt i utvikling de siste årene. Hva skal jeg gjøre? Oftest utføres først lineariseringen av den ikke-lineære modellen til objektet (drivverket), det vil si at det bygges en omtrentlig lineær modell. Deretter, basert på denne modellen, er kontrollloven utformet ved å bruke de nøyaktige metodene til teorien av lineære systemer. Til slutt kontrolleres den oppnådde kontrolleren ved hjelp av datasimulering på en komplett ikke-lineær modell. Det skal bemerkes at dersom objektet eller aktuatoren har såkalt "signifikant" ikke-linearitet, kan det hende at denne tilnærmingen ikke fungerer. Da har man å bruke metoder for ikke-lineær teori, samt datasimuleringer systemer med ulike tillatte inngangssignaler Derfor bør det legges til en inndeling til klassifiseringen av kontrollsystemer i seksjon 3, kanskje de mest betydningsfulle systemene er lineære og ikke-lineære I lineære systemer er alle lenker beskrevet av lineær opera 5 Linearisering av ligninger Du vet allerede at i kontrollteori er metodene for å studere lineære systemer best utviklet. Det finnes imidlertid ingen strengt lineære systemer i verden rundt oss. Derfor, for at disse metodene skal kunne brukes i praksis, er det nødvendig for å utføre linearisering for å bygge en omtrentlig lineær modell basert på en mer realistisk ikke-lineær modell av objektet relaterer vannstanden i tanken h (i meter) og strømningshastigheten til det utstrømmende vannet q (i m 3 / s) Denne sammenhengen kan finnes ved å bruke Bernoullis lov, som i dette tilfellet har formen ρ v ρ g h Her er ρ tettheten til væsken (i kg / m 3), g 9,8 m/s akselerasjon for fritt fall, v væskeutstrømningshastighet ( i m/s) beregnes som q S v, finner vi q α h, () hvor α S g er en konstant verdi Dette er en statisk modell, fordi den ikke inneholder deriverte som karakteriserer endringen i signaler over tid vannstanden og det utstrømmende vannet strømningen er også konstant h S S q 3

14 Kyu Polyakov, 8 Åpenbart er modellen () ikke-lineær, siden den inneholder h Å linearisere betyr omtrentlig å erstatte ligningen () med en lineær ligning q k h, der k er en koeffisient Hvordan velge den? Det er ikke noe entydig svar på dette spørsmålet Anta at vannstanden endres i området fra til m. Da er et av alternativene å beregne koeffisienten som helningen til segmentet som forbinder punktene på kurven q α h i endene av dette intervallet.For bestemthets skyld tar vi videre α overalt, da får vi k Selvfølgelig er denne modellen veldig grov og gir stor feil, spesielt for nivåer i området fra, til,6 For å redusere feilen kan du prøve å endre k litt (for eksempel øke den til litt bedre enn i det første tilfellet q q k, k.77 k h 5 h tangent ved punktet (,5;), hvis helning er lik den deriverte dq k,77 dh h,5 h h,5 Tangenten er en rett linje med helning k som går gjennom punktet (,5;), dens ligning er q kh b b definer m fra ligningen kh b,5 b b,354, 4 så får vi modellen q h (3) 4 Dette er en lineær ligning, men modellen (3) er ikke-lineær, siden den for eksempel ikke har egenskap for multiplikasjon med en konstant Dette kan enkelt verifiseres ved å sammenligne U [ h] og U[ h] : U [ h] h, U[ h] h U[ h] (h; q), der vi bestemte stigningstallet til tangenten. Det følger av (3) at 4

15 KYu Polyakov, 8 q q (h h) (4) 4 Siden grafen for avhengighet (3) går gjennom punktet (h ; q), kan vi bruke likheten q h. Så fra (4) finner vi 4 q h (5) ligningen som er oppnådd på denne måten er et lineært modellobjekt, skrevet i avvik fra inngangen og utgangen fra det nominelle (arbeids)punktet (h ; q) Den omtrentlige modellen (5) samsvarer best med objektet nær dette punktet, og med store avvik fra det , kan feilen øke betydelig prinsipper for linearisering av ikke-lineære algebraiske ligninger I neste avsnitt brukes de samme ideene for en mer kompleks modell som beskriver dynamikken til systemet (endring i tid) 5 Differensialligninger Virkelige objekter kan ikke endre tilstanden sin umiddelbart , derfor, i stedet for statiske modeller som dynamiske modeller som er beskrevet av differensialligninger som inneholder deriverte (hastigheter for endring av signaler) Som vi har sett i avsnitt 3 kan slike modeller utledes fra fysiske lover. I mange tilfeller er mer eller mindre nøyaktige modeller ikke-lineære differensialligninger, så det kreves linearisering for å anvende teorien om lineære systemer. Dette gjelder nesten samme teknikk som for algebraiske ligninger Ideen om linearisering ligger i det faktum at i kontrollsystemer (vedlikehold av innstilte mengder) avviker signalene lite fra driftspunktet til en viss likevektsposisjon, der alle signaler har "riktige" verdier og deres deriverte er lik null. Derfor, for å løse kontrollproblemer, er det ofte tilstrekkelig å bruke en lineær modell i avvik fra dette driftspunktet. Modellen som nettopp er bygget for en vanntank er ikke helt korrekt fordi den ikke tar hensyn til at nivået i tanken endres og synker etter hvert som vannet renner ut. Anta i tillegg at det brukes en pumpe for å opprettholde nivået, som pumper vann inn i tanken, forbruket er betegnet med kutt Q For et slikt objekt er inngangen strømningshastigheten Q, og utgangen er en endring i nivået h. Anta at over et lite intervall t kan strømningshastighetene Q og q betraktes som konstante. volum vann lagt til tanken av pumpen er Q t, og volumet av "bort" vann q t Tatt i betraktning at tverrsnittsarealet til tanken er S, får vi nivåendringen: (Q q) h t Går til grensen ved t, får vi differensialligningen S dh([ Q(q(] dt S Denne modellen tar hensyn til at vannstanden og strømningen endres over tid Husk at strømningshastigheten til den utstrømmende væsken q (avhenger av vannstanden i tanken h (og er assosiert med den av en ikke-lineær avhengighet q(α h(Derfor kan ligningen skrives som dh(α Q(h((6) dt S S 5

16 Kyu Polyakov, 8 Her gjenstår bare to skiftende mengder: pumpens strømningshastighet Q ((innløpet til objektet) og vannstanden h ((utløpet) Videre, for å forenkle notasjonen, vil vi ikke eksplisitt indikere avhengigheten av disse signalene på tid I ​​den jevne (statiske) modusen, når signalene ikke endres, er alle deriverte lik null. I vårt tilfelle, forutsatt i (6), får vi dh(dt Q Q α h h (7) α ved inngangen for å få verdien av utgangen h Anta nå at et bestemt driftspunkt er gitt, det vil si at verdiene til inngangen Q Q og utgangen h h tilfredsstiller ligning (7), og systemet fungerer hele tiden rundt denne likevektsposisjonen nær dette punktet Q Q Q og h h h, hvor Q og h små avvik av input og output fra operasjonspunktet Videre, for linearisering, brukes utvidelse av funksjoner i en Taylor-serie For noen funksjoner f (x, y) i nærheten av punktet x ,), denne serien har formen: (y f (x, y) f (x, y) f (x, y) f (x, y) x y F(x, y), x y f (x, y) f (x, y) hvor og x y er partielle deriverte av funksjonen f (x, y) i x og y i punktet (x, y), og F (x, y) avhenger av de høyere deriverte i samme punkt (andre, tredje osv.) For små verdier av x og y, kan vi anta at "halen" til denne serien F (x, y) er veldig liten, omtrent lik null, så f (x, y) f (x, y) f (x , y) f (x, y) x y (8) x y formel (8) for linearisering av høyre side av ligning (6), der rollen til x er strømningshastigheten Q, og rollen til y er nivået h Ved å utføre differensiering finner vi α α α Q h, Q h Q S S S h S S S h Deretter ved hjelp av formel (8) får vi α α α Q h Q h Q h S S S S S h Erstatter Q Q Q og h h h i ligning (6) og tar hensyn til at d h α α Q h Q dt S S S h h d(h h) d h Da dt dt α Når vi husker at Q og h tilsvarer den statiske modusen, det vil si Q h, får vi en linearisert ligning i avvik fra driftspunktet: S S d h kh h kq Q, (9) dt 6

17 Kyu Polyakov, 8 α hvor k h og k Q Merk at koeffisienten k h avhenger av h, det vil si av valg av operasjonspunkt. Dette manifesterer ikke-lineariteten til objektet S h S. Vanligvis når man skriver en linearisert ligning, tegnet (som angir avviket) er ikke skrevet. Dermed får vi til slutt den lineariserte modellen dh(kh h(kq Q(() dt) La oss se på et eksempel på hvordan et objekt kan kontrolleres og hva som kommer ut av det La oss endre litt det forrige problemet ved å la strømmen av den utstrømmende væsken q endre seg uavhengig (i kontrollteorien kalles dette belastningen på objektet) For å gi vann til alle landsbyboerne, bygde vi et vanntårn, der vann pumpes fra elven ved en pumpe Hver beboer kan når som helst skru på vannet på tomten sin, for eksempel for vanning. opprettholder automatisk et gitt vannnivå h i tanken Q (i meter) Vi vil anta at det er ganske mange innbyggere, så noen har alltid slått på vann og pumpen jobber hele tiden med å pumpe vann inn i tanken. vannstand h, vi kan endre dens strømning Q ( i m 3 /s) Dermed er nivået h en kontrollert verdi, og strømningen Q er et styresignal c) viser hvor mye vann som renner ut av tanken i s dette er lasten Nivåendringen h avhenger av strømningsforskjellen Q q og tverrsnittsarealet til tanken S Hvis strømningsforskjellen er konstant over et tidsintervall, generelt, må du bruke integralet: t t В S h((Q(q() dt S) nominell (arbeidspunkt) For For å få ligningen i avvik, representerer vi strømmene på formen Q(q Q(, q(q q(, hvor Q( og q(små avvik av strømninger fra den nominelle modusen. Deretter kan vi utelate inkrementtegnet skriv modellen til kontrollobjektet på formen t h( (Q(q() dt S 7

18 Kyu Polyakov, 8 Her h (, Q (og q (angir avvikene til disse mengdene fra de nominelle verdiene). Merk at denne modellen kan skrives som en differensialligning (hvis vi finner de deriverte av begge deler av ligningen) : dh([ Q(q(] dt S For enkelhets skyld vil vi videre ta S m Som tilbakemelding vil vi bruke signalet fra nivåsensoren Reguleringsfeilen beregnes som differansen mellom innstilt og målt vannstand: -regulator ), som styrer strømmen i henhold til loven q(K e(K [ h (h(]) Blokkskjemaet til kontrollsystemet er vist i figuren under. sektoren er malt svart, signalet som kommer inn i den trekkes fra ( tatt i betraktning i summen med et minustegn) I tillegg til de signalene som allerede er omtalt, viser figuren også målestøyen m (, forvrengende sensoravlesninger q kontrollerobjekt h e Q h K m La oss sjekke driften av denne kontrolleren ved forskjellige verdier av koeffisienten K Først vil vi anta at det ikke er noen målestøy, det vil si at nivået er målt nøyaktig Anta at vannet flyt ved utløpet q øker brått (alle begynte å vanne hagene) Blå streken i figuren (se under) viser nivåendringen ved K, og den grønne linjen ved K 5 h K 5 t K Fra disse dataene kan vi trekke noen konklusjoner: når belastningen endres (vannforbruk, strømning q), kan ikke regulator-forsterkeren opprettholde et gitt nivå (grafer kommer ikke til verdien av h); jo større K, jo mindre er kontrollfeilen h i stabil tilstand; det kan forventes at for K skal feilen avta til null; jo mer K, jo raskere slutter overgangen til den nye modusen. Det ser ut til at for å forbedre kontrollen er det nødvendig å øke K, men dette er bare et førsteinntrykk La oss nå se hva som skjer hvis det er målestøy (tilfeldig sensorfeil) 8

19 KYu Polyakov, 8 t Q K 5 t K 5 K K t Grafene viser at ved unøyaktige målinger svinger nivået rundt en viss gjennomsnittsverdi (den som ble oppnådd uten støy), og ved høyere K øker svingningene Denne effekten er spesielt tydelig synlig på grafen endringer i pumpens strømningshastighet q (figur til høyre) Med økende K oppnås økningen i nøyaktighet (reduksjon av steady-state feilen) på grunn av den økte aktiviteten til pumpen, som "trekker" hele tiden. Samtidig slites de mekaniske delene ut, og levetiden reduseres betydelig. Derfor kan koeffisienten K ikke økes mye En fra hovedkonklusjonene i dette eksemplet: kontroll er oftest forbundet med en handels- av Her må du på den ene siden øke K for å forbedre nøyaktigheten, og på den andre siden må du redusere K for å redusere påvirkningen av målestøy (P-regulator) En gjennomtenkt leser bør uunngåelig ha spørsmål om følgende natur : kan ethvert objekt styres av en regulator-forsterker? hvordan velge riktig koeffisient K (hvilken verdi å stoppe ved)? Er det mulig å oppnå bedre kontroll med en mer kompleks kontroller? hvilken regulator bør brukes for å forbedre kontrollen? hvordan sikre en null steady-state feil (konstant nivå ved enhver strømningshastighet q) og er det mulig å gjøre dette i det hele tatt? hvordan undertrykke målelyder slik at de ikke fører til "rykninger" i pumpen? De følgende avsnittene presenterer det grunnleggende om automatisk kontrollteori, som svarer på slike spørsmål og tilbyr pålitelige metoder for å designe kontrollere som løser kontrollproblemet i samsvar med gitte krav 9

20 Kyu Polyakov, 8 3 Modeller av lineære objekter 3 Differensialligninger Når vi komponerer en modell av et objekt basert på fysiske lover, får vi oftest et system med differensialligninger av første og andre orden. For et eksempel skal vi vise hvordan man bygge en modell av en likestrømsmotor ved å bruke lovene til mekanikk og elektroteknikk objekt ankerspenning u ((i ω e u volt), utgående rotasjonsvinkel for akselen θ ((i radianer) i Først, la oss huske litt "verdslig" kunnskap om elektriske motorer Motorakselen begynner å rotere når forsyningsspenningen tilføres Hvis spenningen ikke endres, forblir rotasjonsvinkelhastigheten ω ((i radianer per sekund) konstant, mens vinkelen θ (øker jevnt Jo større spenningen er, jo raskere akselen roterer) Hvis du klemmer akselen for hånd (eller kobler til en last, for eksempel, får motoren til å rotere turbinen), synker rotasjonshastigheten gradvis til en ny verdi hvor motorens dreiemoment vil være lik momentet av motstand (belastning ) Så lenge disse momentene er like, forblir rotasjonshastigheten konstant og dens deriverte er lik null. Nå oversetter vi disse argumentene til matematikkens strenge språk θ (dette er integralet av vinkelhastigheten. I mekanikk er rotasjonsligningen bevegelse skrives vanligvis som dω(J M (M H (, dt hvor M (momentmoment (målt i H m), M H (lastmoment (forstyrrelse, også i H m)) Bokstav J det totale treghetsmomentet til ankeret og lasten er angitt (i kg m) Verdien av treghetsmomentet indikerer hvor lett det er å "akselerere" motoren (jo større treghetsmomentet, desto vanskeligere er det å "akselerere") La oss gå videre til elektroteknikk i vårt tilfelle, øyeblikket M (dette er det elektromagnetiske momentet til motoren , som beregnes ved hjelp av formelen M (CM Φ i(, hvor C M er koeffisienten, Φ er den magnetiske fluksen skapt av eksitasjonsviklingen (målt i webers) ; i (armaturstrøm (i ampere), som kan finnes fra ligningen u(e(R i(, hvor e (elektromotorisk kraft (EMF) til ankeret (i volt) og R-motstanden til ankerkretsen (i ohm) I sin tur beregnes EMF i form av magnetisk fluks og rotasjonshastighet: e(Cω Φ ω(, hvor C ω er koeffisienten Ved å introdusere nye konstanter k C M Φ og k C ω Φ, kan vi skrive motormodellen som et system av ligninger dω(dθ (J k i(M H (, e (k ω, ω (, u(e(R i(() dt dt Modell () beskriver koblingene til virkelige signaler i systemet, dets interne struktur er vi ikke veldig interessert i den interne strukturen, det vil si vi

21 Kyu Polyakov, 8 ser vi på objektet som en "svart boks" Ved å erstatte den andre ligningen fra systemet () med den tredje, finner vi i (og erstatter den i den første ligningen Ved å gå over til variabelen θ (, får vi : d θ (k dθ (J u(k M (H dt R dt eller, flytte alle ledd avhengig av θ (, til venstre side av ligningen d θ (kk dθ (J k u(M (H ())) dt R) dt) Dette er en andreordens differensialligning som relaterer inngangen u (og belastningen M H (med utgang θ (Sammenlignet med systemet (), ble alle interne signaler til den opprinnelige modellen (e (og i ())) ekskludert fra ligningene) . Derfor kalles ligning () "input-output"-ligningen. Rekkefølgen til modellen er rekkefølgen til den tilsvarende differensialligningen. I dette tilfellet fikk vi modellen andreordens. I denne delen bruker vi et enkelt eksempel, vi så på hvordan matematiske modeller av kontrollobjekter er bygget opp på grunnlag av fysiske lover Som regel er de differensialligninger. I fremtiden vil vi bruke ferdige modeller av kontrollobjekter, forutsatt at de var og av noen tidligere oppnådd (for eksempel levert av kunden) 3 State-space-modeller For å gjøre det lettere å studere objektmodellen, er det ønskelig å bringe den til en standardform, som det allerede er ferdiglagde for generelle løsninger et system med differensialligninger av første orden, som kalles Cauchy-normalformen Tenk på igjen den elektriske motormodellen, forutsatt at M H ((ingen belastning) (ω(u(J R J R Dette systemet med førsteordens differensialligninger kan være skrevet i matriseform: & θ ((kk θ k u((J R ((3) & ω ω J R) betyr at å kjenne verdiene deres på et tidspunkt t og inngangssignalet u (for alle t< t) не играют никакой роли Поэтому θ (и ω (называются переменными состояния, а вектор θ (вектором состояния ω(В теории управления принято обозначать вектор состояния через x (, вход объекта (сигнал управления) через u (Тогда модель (3) может быть записана в виде x& (A x(B u((4) θ (где x(, A kk ω(и B k Модель (4) связывает вход u (и вектор состояния x (, поэтому она называется моделью J R J R вход-состояние

22 KYu Polyakov, 8 Den komplette tilstand-rom-objektmodellen inneholder en annen ligning, utgangsligningen, som viser hvordan utgangen til objektet y (: x& (A x(B u((5)) y(C x(D u( Denne modellen kalles input-state-output modell. Utgangskoordinaten for en DC-motor er rotasjonsvinkelen til akselen: , ved å endre matrisene C og D, kan enhver lineær kombinasjon av tilstands- og inngangsvariable tas som utgang. I mange praktiske problemer er utgangen en eller flere tilstandsvariabler som vi kan måle tid, matrisene A, B, C og D i modellen (5) er konstante Slike objekter kalles stasjonære, i motsetning til ikke-stasjonære objekter, parameterne som endres over tid Å skrive modeller i en enkelt form (5) lar deg abstrahere fra betydningen av tilstandsvariabler og utforske systemer. forskjellig natur ved bruk av standardmetoder som er godt utviklet og implementert i moderne dataprogrammer La oss vise hvordan ligninger av formen (5) kan løses og hvorfor denne skriveformen er praktisk La oss anta at vi kjenner startbetingelsene, det vil si tilstanden vektor x () ved t Husk at kunnskap om x () og input u (for alle t > gjør det mulig å entydig bestemme den videre oppførselen til dette objektet. Den første ligningen i (5) lar deg finne den deriverte, dvs. , endringshastigheten til tilstandsvektoren x (til enhver tid) Vi antar at ved t t, hvor t er et lite tidsintervall, endres ikke denne deriverte. Da er verdien av tilstandsvektoren ved t t tilnærmet bestemt av formelen x(x() x& () t x() [ A x() B u() ] t, det vil si at det enkelt kan beregnes Å vite x(og styresignalet u(, finner vi systemutgangen i samme øyeblikk y (C x(D u(Denne teknikken kan brukes videre, på slutten av det andre intervallet får vi x(x(x& (t x([ A x(B u(] t, y(C x(D u(Dermed , kan man (omtrent) beregne utgangen av systemet for alle t > Selvfølgelig vil nøyaktigheten være jo høyere, jo mindre t, men mengden av beregninger vil også øke Denne metoden for tilnærmet løsning av differensialligninger kalles Euler-metoden Siden vi ikke gjorde det gjør noen antakelser om de konstante matrisene A, B, C D, kan den (så vel som andre, mer avanserte metoder) brukes uten endringer for å løse eventuelle ligninger på formen (5) "enkelthopp" ("enkeltstegssignal" ), det vil si en øyeblikkelig endring i inngangssignalet fra til klokken t Formelt er dette signalet definert som følger:, t< (, t


Forelesning 3 Matematisk beskrivelse av kontrollsystemer I kontrollteori, i analyse og syntese av kontrollsystemer, tar de for seg sin matematiske modell Den matematiske modellen til ACS er en ligning

Forelesning 14 Klassifisering av ACS Ikke-tilpassende systemer er de enkleste systemene som ikke endrer struktur og parametere i kontrollprosessen. De brukes til stasjonære kontrollobjekter, for

FGBOU VPO "Omsk State Technical University" SEKSJON II KONTINUERLIG LINEÆRE AUTOMATISKE KONTROLLSYSTEMER Forelesning 5

Oppgave. "Ulineær trio" I denne oppgaven vurderes "ikke-lineære motstander". Spenningen U på en slik motstand er proporsjonal med kvadratet på strømmen som strømmer gjennom motstanden (med hensyn til polariteten):

4 Forelesning 5 ANALYSE AV DYNAMISKE KRETSER Plan Tilstandslikninger for elektriske kretser Algoritme for dannelse av tilstandsligninger 3 Eksempler på kompilering av tilstandsligninger 4 Konklusjoner Tilstandsligninger for elektriske

Forelesning 5 Automatiske regulatorer i styringssystemer og deres innstillinger Automatiske regulatorer med typiske reguleringsalgoritmer relé, proporsjonal (P), proporsjonal-integral (PI),

Tvungede elektriske svingninger. Vekselstrøm Tenk på de elektriske oscillasjonene som oppstår når det er en generator i kretsen, hvis elektromotoriske kraft endres med jevne mellomrom.

Emne: Lover for vekselstrøm Elektrisk strøm kalles den ordnede bevegelsen av ladede partikler eller makroskopiske legemer Variabel strøm kalles, som endrer sin verdi over tid

Zaitsev G. F. Teori om automatisk kontroll og regulering Andre utgave, revidert og supplert Godkjent av departementet for høyere og videregående spesialisert utdanning i USSR som en lærebok

Forelesning 6 Transformasjon av matematiske modeller av systemer. overføringsfunksjoner. Modeller i form av signalgrafer For å studere egenskapene til komplekse fysiske systemer og lære å kontrollere dem, må du ha

Ligninger av dynamikk og statikk. Linearisering På et visst stadium av utvikling og forskning av et automatisk kontrollsystem, oppnås dets matematiske beskrivelse, en beskrivelse av prosessene som skjer i systemet

Kapittel 1. Grunnleggende lover for den elektriske kretsen 1.1 Parametre for den elektriske kretsen En elektrisk krets er et sett med kropper og medier som danner lukkede baner for flyt av elektrisk strøm. Vanligvis fysisk

Robotikk RAR1300 Sergei Pavlov TTÜ Virumaa Kolledž Drivkontroll Kontroll av bevegelsen til en arbeidsmaskin eller maskin betyr kontroll over posisjonen, hastigheten og akselerasjonen til et system som

Grunnleggende begreper og definisjoner Den generelle teorien om kontroll, som dekker både livløs og levende natur, er gjenstand for vitenskapen om kybernetikk. Teorien om automatisk kontroll (TAU) er en del av kybernetikk.

Forelesning 2 Lineære automatiske kontrollsystemer Egenskaper til lineære systemer Basert på studiet av mange modeller av systemer, kan vi konkludere med at systemer beskrevet ved lineære differensialligninger,

Forelesning 1 Grunnleggende begreper og definisjoner av teorien om automatisk kontroll. Ledelse er et sett med handlinger rettet mot å nå målet. Regulering er et spesielt tilfelle av styring av teknisk

4.1 Kontrollspørsmål for egenkontroll 1 AVSNITT "Lineære kontinuerlige modeller og kjennetegn ved kontrollsystemer" 1 Hva studerer kontrollteori? 2 Definer begrepene kontroll og kontrollobjekt.

Test 1 i faget "Styring av tekniske systemer" Alternativ 1 1. Hva er sensorens funksjonelle formål i styringssystemet? 1) regulere parametrene for den teknologiske prosessen; 2) undertrykke støy

Emne 4 .. AC-kretser Emnespørsmål .. AC-krets med induktans .. AC-krets med induktans og aktiv motstand. 3. AC-krets med kapasitans. 4. AC-krets

Vedlegg 4 Tvungede elektriske svingninger Vekselstrøm Følgende teoretiske informasjon kan være nyttig ved forberedelse til laboratoriearbeid 6, 7, 8 i laboratoriet "Elektrisitet og magnetisme"

Sinusformet strøm "i håndflaten" Mesteparten av den elektriske energien genereres i form av EMF, som varierer over tid i henhold til loven om en harmonisk (sinusformet) funksjon. Harmoniske EMF-kilder er

Forelesning 1. Kontrollteori hovedoppgaver, prinsipper, klassifisering B.1. Grunnleggende konsepter og definisjoner Kontrollsystem (CS) sett med kontrollenhet (CU) og kontrollobjekt (OC), handlinger

METODOLOGISK INSTRUKSJON for lekser på TCB-kurset Studie av et ikke-lineært automatisk styringssystem DEFINISJON AV INNLEDENDE DATA Startdata for hjemmelekser er gitt

Overgangsprosesser "i håndflaten". Du kjenner allerede metodene for å beregne en krets som er i stabil tilstand, det vil si i en der strømmene, så vel som spenningsfallet på individuelle elementer, er uendret i tid.

Klassifisering av ulatorer i henhold til den realiserte ulirovanie-loven 1. type. Proporsjonal eller P-bryter med én innstilling. Dens overføringsfunksjon er den samme som overføringsfunksjonen til proporsjonal

Laboratoriearbeid 23 Tvangssvingninger i en oscillerende krets Hensikten med arbeidet: eksperimentelt å undersøke spenningens avhengighet av en kondensator i en elektromagnetisk serie oscillerende krets

Kapittel II Konstruksjon av en kontrollsystemmodell Et reelt kontrollsystem består av et visst antall sammenkoblede instrumenter og enheter, inkludert selvfølgelig kontrollobjektet, som har forskjellige

FGBOU VPO "Omsk State Technical University" SEKSJON II KONTINUERLIG LINEÆRE AUTOMATISKE KONTROLLSYSTEMER Forelesning 4. DYNAMISKE LENKER. GENERELLE KONSEPTER, TIDSKARAKTERISTIKA OG FREKVENS

54 Forelesning 5 FOURIER TRANSFORM OG SPEKTRAL METODE FOR ANALYSE AV ELEKTRISKE KRETS Planspektre av aperiodiske funksjoner og Fouriertransform Noen egenskaper ved Fouriertransformen 3 Spektralmetoden

I. V. Yakovlev Fysikkmaterialer MathUs.ru Elektromagnetiske oscillasjoner Emner for USE-kodifikatoren: frie elektromagnetiske oscillasjoner, oscillerende krets, tvungne elektromagnetiske oscillasjoner, resonans,

SEMINAR Grunnleggende begreper. Kompilering (derivering) av en differensialligning. Konseptet med å løse en differensialligning. Løsning ved hjelp av separerbare variabler. Løse en lineær differensialligning

Helikopterflyhøydekontroll La oss vurdere problemet med syntese av kontrollsystemet for bevegelse av massesenteret til helikopteret i høyden. Et helikopter som gjenstand for automatisk kontroll er et system med flere

Laboratoriearbeid 1 1 DYNAMISKE KARAKTERISTIKKER AV TYPISKE LENKER 1. Formålet med arbeidet

Løsning av systemer av ikke-lineære ligninger i partielle deriverte med tidsderiverte av første orden med koeffisienter avhengig av tid EG Yakubovsky e-i [e-postbeskyttet] Merknad I artikkelen [ ble vedtaket mottatt

Elektromagnetiske oscillasjoner Grunnleggende teoretisk informasjon Harmoniske oscillasjoner i en oscillerende krets Et eksempel på en elektrisk krets der frie elektriske oscillasjoner kan oppstå er

Laboratoriearbeid 8 Tvangssvingninger i en serieoscillerende krets Formålet med arbeidet: å studere amplitude-frekvens- og fase-frekvensavhengighetene til spenningen over kondensatoren i serie

Moskva statsuniversitet M.V.Lomonosov Moscow State University Fakultet for fysikk Institutt for generell fysikk Laboratoriepraksis i generell fysikk (elektrisitet og magnetisme) .M.Bukhanov,

1 INNLEDNING Grunnleggende begreper og definisjoner av elektroteknikk Å beregne modusen i en gitt elektrisk krets betyr å beregne strøm, spenning, kraft i dens individuelle seksjoner som er av interesse for oss

1 Laboratoriearbeid 3 b Tvangssvingninger i svingningskretsen

Laboratoriearbeid 1 1 TYPISKE ENHETER AV ACS 1. Formålet med arbeidet

Høstsemesteret i studieåret Tema 3 HARMONISK ANALYSE AV IKKE-PERIODISKE SIGNALER Direkte og inverse Fourier-transformasjoner Spektral karakteristikk av signalet Amplitude-frekvens og fase-frekvensspektra

4. MEMBRANOVERGANGSRESPONS 4.1 Tidskarakteristikker til et dynamisk system

Emne 3 HARMONISK ANALYSE AV IKKE-PERIODISKE SIGNALER Direkte og inverse Fourier-transformasjoner Spektralrespons av signalet Amplitude-frekvens- og fase-frekvensspektra Spektralkarakteristikk

Federal Agency for Education TVER STATE TECHNICAL UNIVERSITY Institutt for teknologisk prosessautomatisering

Oppfylt av: Akseptert av: Umarov D. 1-14 IKSUTP Abdurakhmanova M.I. Stabilitetsanalyse av ACS Den praktiske egnetheten til kontrollsystemer bestemmes av deres stabilitet og akseptable kontrollkvalitet. Under

Kapittel 2. ELEKTROMEKANISKE OG JUSTERE EGENSKAPER TIL DC DRIVES 2.1. Mekaniske egenskaper ved elektriske motorer og driftsmekanismer Mekaniske egenskaper ved elektriske motorer

Forelesning 8 33 EN-DIMENSJONELE STASJONÆRE SYSTEMER ANVENDELSE AV FOURIER-TRANSFORMASJONEN 33 Beskrivelse av signaler og systemer Beskrivelse av signaler For å beskrive deterministiske signaler brukes Fourier-transformasjonen: den

Klyuev O.V., Sadovoy A.V. Sokhina Yu.V. Dneprodzerzhinsk State Technical University Ukraina Dneprodzerzhinsk IDENTIFIKASJON AV KOORDINATER OG PARAMETRE FOR ASYNKRONISK MASKIN UNDER VEKTORKONTROLLPROGRAMVAREN

ELEKTRISK ENGINEERING OG POWER ENGINEERING 79 UDC 004.0:6.3.078 UTVIKLING AV ET PROGRAMVAREPRODUKT FOR IDENTIFIKASJON AV PARAMETRE PÅ ERSTATNINGSKRETSKEN TIL NØKKELELEMENTET OG SYNTESEN AV KORREKTIVET,K.KOREN.KORREKTIVET,K.KORRECTIVE,K.KO.

Arbeid 13 Studie av avhengigheter T(l) og A(t) til en matematisk pendel Utstyr: stativ, pendel, linjal, elektronisk motstoppeklokke Beskrivelse av metoden Den grafiske metoden er den enkleste

Federal State Autonomous Educational Institution of Higher Professional Education "National Research Technological University "MISiS" opptaksprøveprogram

TAU Praktiske øvelser Oppgaver for kontrollarbeid og retningslinjer for gjennomføringen Praktisk leksjon AFCH, LAH, transient- og vektkarakteristikker ved typiske dynamiske lenker Mest

Påvirkningsnøyaktighet. Statisk nøyaktighet med harmonisk inngang. Den enkleste metoden for å lære nøyaktighet er å bruke overføringsfunksjonen ved en feiltakelse. () (). U; (

4 Forelesning 1. GRUNNLEGGENDE KONSEPT OG ELEMENTER I ELEKTRISKE KRETS Plan 1. Innledning. 2. Elektriske størrelser og måleenheter. 3. Bipolare elementer i elektriske kretser. 4. Administrert (avhengig)

Oppgave 1 Vasya har to helt identiske dynamometre med veldig lette fjærer og massive kasser. Disse dynamometrene er ikke kalibrert, men begge har skalaer med lineære avlesninger kontra strekning.

Innholdsfortegnelse Forord 9 Introduksjon 11 DEL 1 Lineære automatiske styringssystemer 19 1. Tegne bevegelseslikninger for ACS-elementer og metoder for deres løsning 19 1.1. Matematisk beskrivelse av elementer

Kapittel 2. Metoder for beregning av forbigående prosesser. 2.1. Klassisk beregningsmetode. Teoretisk informasjon. I det første kapittelet ble metoder for å beregne kretsen i steady state vurdert, dvs.

UDC: 62-971 SYSTEM FOR AUTOMATISK STYRING AV TEMPERATUREN PÅ OVNEN FOR MURING student gr.139114 Lappo I.A. Vitenskapelig rådgiver Chigarev V.A. Det hviterussiske nasjonale tekniske universitetet Minsk,

Emne 8 LINEÆRE DISKRETE SYSTEMER Konseptet med et diskret system Metoder for å beskrive lineære diskrete systemer: forskjellsligning, overføringsfunksjon, impulsrespons, frekvensoverføringsfunksjon

Arbeid 11 Å STUDERE TVUNGTE OSCILLASJONER OG RESONANSFENOMEN I OSCILLATORISK KRETS I en krets som inneholder en induktor og en kondensator kan det oppstå elektriske svingninger. Arbeidsstudiene