WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Regelung eines Elektromagneten

 

Hannes1986
Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 03.10.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.10.2012, 14:46     Titel: Regelung eines Elektromagneten
  Antworten mit Zitat      
Hallo miteinander. Zuerst mal ein dickes Lob an alle. Sind wirklich sehr interessante Beiträge hier im Forum.
Leider half mir die Suchfunktion in diesem Fall nicht viel. Darum ein neues Thema.

Ich will einen Magneten über einen Mikrocontroller regeln.
Zum Aufbau des Regelkreises lässt sich folgendes sagen:

Mikontroller regelt über PWM den Strom des Magneten. Im Rückführzweig befinden sich 3 RC-Filter um die über einen Shunt abfallende Spannung zu glätten. Die geglättete Spannung geht an den Analogeingang des uC.

Diesen Aufbau würde ich jetzt gerne mal mit simulink simulieren. Ich bin Elektrotechniker und habe mir mein Wissen über RT selbst angeeignet. Daher sind noch paar Defizite vorhanden.

Könntet ihr mir ein paar Tips geben, wie ich:
- die 3 RC-Glieder im Rückführzweig behandeln soll
- die Abtastzeit mitberechnen soll
- das PWM-Signal simulieren soll

Ich hab schonmal ein bisschen was versucht, aber weiter komme ich nicht. Siehe Anhang

Modelbildung.mdl
 Beschreibung:

Download
 Dateiname:  Modelbildung.mdl
 Dateigröße:  30.5 KB
 Heruntergeladen:  676 mal
Private Nachricht senden Benutzer-Profile anzeigen


DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 03.10.2012, 18:48     Titel:
  Antworten mit Zitat      
Was meinst du hiermit genau?

Zitat:
die 3 RC-Glieder im Rückführzweig behandeln soll


Die RC Glieder als PT1 aufzubauen ist doch schon mal ganz gut. Willst du allerdings mit einer festen Abtastrate simulieren, musst du diese vom s in den z Bereich transformieren. Es wäre das Einfachste, die PT1 in Matlab zu erstellen und mit dem Befehl

Code:


in den z-Bereich zu bringen. Nun kannst du diese in eine discrete Transferfct Block eintragen. Dann müsstest du auch den solver auf discrete stellen und eine fixed step size angeben. Es gibt in Simulink PWM Generatoren sowohl für kontinuierliche als auch discrete Systeme. Hast du dir diese schon mal angesehen?
Private Nachricht senden Benutzer-Profile anzeigen
 
Hannes1986
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 03.10.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.10.2012, 19:31     Titel:
  Antworten mit Zitat      
Danke für die Antwort. Jetzt habe ich allerdings ein Verständnisproblem. Die RC-Glieder im Rückführzweig sind ja nicht diskret. Lediglich mein Regler muss ich diskret aufbauen, oder?
Die PWM-Generatoren hab ich mir noch nicht angeschaut. Werde ich aber gleich machen.
Private Nachricht senden Benutzer-Profile anzeigen
 
DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 04.10.2012, 14:09     Titel:
  Antworten mit Zitat      
Achso...du willst also nur den Bereich AD-Wandler -> Regler -> DA-Wandler als diskretes System darstellen und nicht dein komplettes System.

Da bin ehrlich gesagt was Simulink betrifft überfragt. Schau dir aber mal die Doku zum Zero-Order-Hold Block an, evtl. hilft dir das schon weiter.

Du könntest dich auch mal mit dem Kompensationsverfahren aus der digitalen Regelungstechnik befassen. Sofern du die Übertragungsfunktion deiner Strecke kennst (was ja laut deinem Modell der Fall zu sein scheint), legt man ein gewünschtes Verhalten des Regelkreises fest und berechnet dann relativ einfach daraus den digitalen Regler. Bei deinem einfachen Aufbau sollte das möglich sein.
Private Nachricht senden Benutzer-Profile anzeigen
 
controlnix
Forum-Century

Forum-Century


Beiträge: 106
Anmeldedatum: 10.06.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 05.10.2012, 07:57     Titel:
  Antworten mit Zitat      
Ich würde das Thema nochmals von Grund auf betrachten.
Du sagst "... Ich will einen Magneten über einen Mikrocontroller regeln. ..."
Was ist denn das Ziel? Wie schnell? D.h. in welcher Zeit soll denn der Einregelvorgang auf einen neuen Sollwert abgeschlossen sein bzw. in welcher Zeit sollen Störungen ausgeregelt sein? Davon wird es abhängen, welche Reglerstruktur und Parameter erforderlich sind.

Zum bisherigen: ich würde nicht sagen, dass man unbedingt einen "digitalen" Regler aufbauen muss, das Umwandeln aller Streckenanteile in etwas Digitales ist ebenfalls nicht notwendig/sinnvoll. Regler, deren Integratoren einfach mit Euler-Verfahren integriert werden, tun's auch, wahrscheinlich sogar in 99% aller Fälle. Hat übrigens den Vorteil, dass die Reglerparameter anschaulich bleiben und nicht abtastzeithängig werden.
Private Nachricht senden Benutzer-Profile anzeigen
 
DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 05.10.2012, 13:31     Titel:
  Antworten mit Zitat      
Nun das Ziel hat er doch schon beschrieben...der Mikrocontroller soll den Strom des Magneten regeln. Aber du hast natürlich recht, dass genauere Angaben zum Verhalten des Regelkreises fehlen.

Aber so ganz verstehe ich deinen Vorschlag noch nicht...ich lasse mich aber wirklich gern eines Besseren belehren. Der Versuchsaufbau in Simulink ist doch lediglich eine Simulation des eigentlichen Systems. Wenn er keinen physikalischen Regler vorliegen hat und diesen somit per Software realisieren will, muss ich doch Abtastzeiten mit berücksichtigen. Sicherlich führen auch in der Regelungstechnik viele Wege nach Rom... aber warum soll denn ein Kompensationsregler nicht sinnvoll sein? Die Strecke hat er bereits im s-Bereich...mit dem Befehl c2d aus Matlab erhalte ich dann die diskrete Strecke. Ich überlege mir nun ein gewünschtes Verhalten des Regelkreises, was sich mit dem Verfahren ja sehr genau festlegen lässt. Sagen wir, es wird PT1 Verhalten mit stationärer Genauigkeit gefordert -> F_wz = 1. Ich lege also den Differenzenalgorithmus nach dem PT1 aus und berechne daraus den Regler. Die Formel dafür ist ja simpel.

Er muss in der Simulation sicherlich nicht den kompletten Regelkreis diskretisieren, dass hatte ich falsch verstanden...aber A/D und D/A Wandler müssen schon mitberücksichitgt werden. Das braucht er dann aber nur vor und nach dem Regler zu machen...da gebe ich dir Recht.
Private Nachricht senden Benutzer-Profile anzeigen
 
controlnix
Forum-Century

Forum-Century


Beiträge: 106
Anmeldedatum: 10.06.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.10.2012, 16:19     Titel:
  Antworten mit Zitat      
Der Kommentar von DSP spricht mehrere Themengebiete an:

1) Es ist schon richtig, dass in der ursprünglichen Problemstellung von Hannes1986 ein Teil der Zielsetzung benannt wurde: "Ich will einen Magneten über einen Mikrocontroller regeln. ... Mikrocontroller regelt über PWM den Strom des Magneten. ...". Damit weiss ich, dass das Eingangssignal ein PWM (Spannung) ist, die Regelgröße ist der Strom (als Spannung eingelesen). Ich weiss aber nicht wie schnell Regelvorgänge (Führung/Störung) sein sollen (Bereich z.B.: Mikrosekunden, Millisekunden, Sekunden) und welche Signalformen zu beachten sind. Dies ist entscheidend für die Wahl von Reglerstruktur/Parametrierung im Hinblick auf Regelqualität, und da ist ggf viel Arbeit reinzustecken.

2) Die Abtastzeit lässt sich dadurch berücksichtigen, dass man entweder den Regler im z-Bereich realisiert oder dass man die kontinuierliche Beschreibung nimmt und z.B. das Euler-Integrationsverfahren verwendet. Die Abtastzeit steckt dann im Integrationsverfahren. Der von mir benannt Vorteil liegt damit auf der Hand: Reglerparameter bleiben anschaulich (physikalisch, Erfahrung kann eingebracht werden) und sind nicht abtastzeithängig.

3) Welcher Regler benötigt wird, hängt stark davon ab

a) welche Dynamik-Wünsche (Regelkreisgeschwindigkeit) vorliegen, welche Störungsarten (z.B. Schwingungen, Drift, Sprünge) zu kompensieren sind und den Sollwertprofilen (z.B. Sprung, Rampe, Sweep), die es möglicherweise genau zu folgen gilt.

b) welche Regelstrecken vorliegen. Kompensationsregler sind sowohl im s- wie auch im z-Bereich OK, solange man einfach(st)e Regelstrecken und keine besonderen Profile/Störungen hat. Ausserdem ist die Parameterempfindlichkeit zu beachten. Weiteren Ärger machen insbesondere allpasshaltige, schwingungsbehaftete und/oder Totzeitsysteme. Wenn im vorliegenden Fall das reale System (und damit das Modell) wirklich so einfach ist, nicht im 2. Schritt noch verfeinert werden muss und sonst keine der obigen Anforderungen gestellt werden, dann wird es wohl mit einem Kompensationsregler funktionieren.

Das wird jetzt alles sehr aufwändig anmuten und im Auge des ein oder anderen Lesers als "oversized" im Bezug auf die zur Umsetzung der Regelung eingeplante Zeit erscheinen.
Jedoch...
a) sind diese Problemstellungen (s. 1.,2. und 3.) nicht von der Hand zu weisen, wenn das Regelkreisverhalten bestmöglich sein soll (geringste Soll-/Ist-Abweichungen bei überschwingungsfreiem, zeitlich definiertem Einregeln auf Sollwerte / Ausregeln von Störungen) und
b) es gibt Regler, die bereits vieles davon abdecken und somit einiges an Implemetierungszeit einsparen.

Beste Grüße,
ControlNix
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.