LabVIEWForum.de - gewünscht Stromamplitude durch Ausgangsspannung einstellen

LabVIEWForum.de

Normale Version: gewünscht Stromamplitude durch Ausgangsspannung einstellen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo Forum,

ich habe folgendes Problem und zwar möchte ich mit einer sinusförmigen Ausgangsspannung eine gewünschte Stromamplitude schnellstmöglich einstellen.
Dazu habe ich folgende Hardware: 4-Kanal Messkarte NI PXIe-6124,
bipolar Stromquelle von Kepco,
eine induktive Last von der ich aber die genauen Werte nicht kenne (paar 100 Milliohm),
einen Stromwandler.

Messaufbau: siehe Bild
[attachment=22896]

Momemtan sieht das Programm so aus, dass ich in kleinen Amplitudesprüngen die Ausgangsspannung erhöhe. Nach jeder Erhöhung wird die Spannung gemessen die dem Strom entspricht. Nun wird die Amplitude des gemessenen Signals bestimmt und mit der gewünschten Amplitude verglichen. Um die gewünschte Amplitude richtig zu erreichen erhöhe ich die Ausgangsspannung in sehr kleinen Sprüngen, dies Dauer dann auch leider siene Zeit.
Ich komme so zwar auf meine gewünschte Amplitude, doch würde ich das Ganze gerne beschleunigen.
Eine Möglichkeit wäre eine Art Regelung. Am Anfang die Sprünge größer wählen und dann kleiner werden. Dabei die Differenz von Eingang zu Ausgang auf Null regeln.
Oder hat jemand vielleicht noch eine ganz andere Idee??
Wäre euch für weitere Ideen sehr dankbar.

mfg
sudie

Programmcode
[attachment=22897]
Wenn du die Differenz zwischen dem Soll- und Istwert kennst und weisst, wie sich dein System verhält, dann könntest du dich annähern, indem du immer ein Schritt um x% (z.B. 75%) deiner Differenz machst. Dadurch hättest du zu Beginn grosse und später kleinere Schritte um dich möglichst genau und schnell anzunähern.

Du erreichst somit zwar theoretisch niemals deinen Endwert, aber dies sollte in der Praxis kein Problem sein. Es kommt aber darauf an, wann du dein Ziel als erfüllt ansiehst (Typ: +/-1mA).

Vielleicht denke ich aber auch zu simpel.... ;-)
Hi Tobias,

hört sich sehr gut an. Ich versuch mal einen Code auf die Beine zu stellen.

Gruß
sudie
Das ist doch alles nur ein Problem, wenn irgendetwas in der Messkette nichtlinear ist. Ist das so? Ansonsten gilt doch: Bei der ersten Messung ist der Strom z.B um 10% zu niedrig, daraufhin wird im zweiten Zyklus die Steuerspannung um 10% erhöht - passt. Man muß doch dann nicht umständlich iterieren.
Aber auch bei Nichtlinearitäten könnte man so vorgehen, nur sind dann z.B drei solche Iterationsschritte erforderlich statt einem. Also allgemein: Iterieren mit intelligenter Vorausberechnung statt stumpfsinniges Probieren in kleinen Schritten. (siehe die Iterationsverfahren zur Nullstellenberechnung von Funktionen, da steckt auch Intelligenz drin!)
Wenn Du Vorschläge über eine Regelung erwartest, dann wäre es ein große Hilfe, wenn Du Das LV-Prog, so wie es jetzt ist, posten würdest.
Hallo

ich habe das VI mal hochgeladen. Die Version in der ich es erstellt habe ist 8.2.
Was ich in dem VI beabsichtigen will ist: Ich starte den analog Ausgangstask einmal. Somit erhöht sich die Ausgangsspannung durchweg bei jedem Schleifendurchlauf. In der nächsten Sequenz messe ich die Spannung des Stromwandlers mit AI-Kanal 0 und kann so den tatsächlichen Strom feststellen.
Mit dem AI-Kanal 1 messe ich die Spannung über meiner Induktivität. (siehe Bild Messaufbau in meiner ersten Nachricht bzw. Themenbeschreibung)
Nun möchte ich die gewünschte Amplitude so gut es geht einstellen. Und da fängt dann das Problem an. Momentan schau ich auf den Max- und Minwert der Amplitude und stoppe beim erreichen der Amplitude meine while-Schleife.
Das Problem ist das Rauschen auf meinem Stromsignal. Bei einem Rippel auf dem Signal kann es sein, dass der Max- oder Minwert der Amplitude erreicht wird, die Schleife dann beendet, obwohl die echte Amplitude noch garnicht erreicht wurde.

Ich hoffe es ist so verständlich wie ich es beschrieben habe.
Gib es eine Lösung die genauer ist?
[attachment=23092]
Referenz-URLs