Regelung für 25kV-Netzteil

Snatch

Neues Mitglied
24. Juli 2008
3
0
0
47
Sprachen
  1. BascomAVR
Hallo,

ich bin auch gerade dabei mich an einer PID Regelung zu versuchen.
Allerdings für eine andere Anwendung:

Ich habe ein Schaltnetzteil gebaut welches aus einer 24 VGleichspannung (Gegentackt) über einen Trafo 2500 V macht welche wiederum über eine
Fullwavekaskade auf 25.000 V hochtransformiert wird. Und eben diese
Spannung will ich ausregeln.

Ich habe bisher ein PI Regler programiert der so aussieht:
Könnte das so stimmen?

Code:
Const Kp = 1                                                ' Konstande des P-Wertes (Verhalten) der Regelung
Const Ki = 1                                                ' Konstande des I-Wertes (Verhalten) der Regelung
Const Kd = 1                                                ' Konstande des D-Wertes (Verhalten) der Regelung

Dim P As Single                                             ' Variable zur Verarbeitung des P-Wertes
Dim D as Single
Dim Ii As Single                                            ' Vaariable zur Verarbeitung des I-Werts
Dim Fehler As Single                                        ' Variable zum Speichern des Berechneten Fehlers (Soll / Ist) für die Regelung
Dim Fehleralt As Single                                     ' Variable zum Speichern des vorherigen Fehlers Error für die Regelung
Dim Ergebniss As Word                                       ' Variable Speichert das Ergebniss auf der Berechnung de I Wertes der Regelung


   P = Fehler * Kp
   If P < 0 Then P = 0
   If P > 1024 Then P = 1024


   Ii = Fehleralt * Ki
   If Ii < 0 Then Ii = 0
   If Ii > 64511 Then Ii = 64511

   D = Fehleralt - Fehler
   D = Kd * D

   Fehleralt = Fehler + Fehleralt

   Ergebniss = P + Ii
   If Ergebniss < 0 Then Ergebniss = 0
   If Ergebniss > 65534 Then Ergebniss = 65535


   Ocr1a = Ergebniss

Das funktiniert auch soweit und ich kann die Spannung auf 30 V +- Ausregeln. Sehr genau sogar. Aber ich glaube so ganz sauber ist das nicht
und der D-Anteil fehlt auch noch. (Ist hier für Fragen dazugekommen, in meinem
code fehlt er noch)


Meine Frage wäre. Wie ist das mit der Integralberechnung hier gemeint?
Was für Variablen muss man verwenden? Ich habe momentan meine so definiert:



Und das wichtigste ist, wie kann ich den D-Anteil rein bringen.

Kenne mich leider nicht so dolle damit aus, bin schon froh, dass er so super und genau ausregelt. Möchte es aber noch verfeinern.

[edit]

Habe es gerade noch etwas angepasst. Er Regelt nun echt sauber. Aber stimmt das auch so?

Code:
 ' P-Anteil
   P = Fehler * Kp

   If P < 0 Then P = 0
   If P > 1024 Then P = 1024

   'Alte I-Berechuung Ii = Fehleralt * Ki

   ' I-Anteil
   Tmp = Fehler * Ki
   If Ocr1a < 65534 Then                                    ' Integral wirkt erst im Regelbereich
      Ii = Ii + Tmp
      Else
         Ii = 0
   End If

   If Ii < 0 Then Ii = 0
   If Ii > 1024 Then Ii = 1024

   D = Fehleralt - Fehler
   D = Kd * D

   Fehleralt = Fehler + Fehleralt

   Ergebniss = P + Ii
   Ergebniss = Ergebniss + D
   If Ergebniss < 0 Then Ergebniss = 0
   If Ergebniss > 65534 Then Ergebniss = 65535


   Ocr1a = Ergebniss
Komischer weise regelt er aber auch super schön aus, wenn ich nur den D-Anteil nehme.

Gruß und Danke
Snatch
 
Hi Snatch,

herzlich willkommen im Forum :flowers:

Ich habe ein Schaltnetzteil gebaut welches aus einer 24 VGleichspannung (Gegentackt) über einen Trafo 2500 V macht welche wiederum über eine
Fullwavekaskade auf 25.000 V hochtransformiert wird. Und eben diese
Spannung will ich ausregeln.
hört sich recht nett an ... interessante Sache ;)
Leider kann ich dir bei deiner Frage nicht helfen :eek:
Aber es gibt bestimmt welche hier im Forum die sich mit Reglern auskennen.

Aber was anderes ... was hälst du davon wenn wir davon nen eigenen
Thread machen ? Ein Hochspannungsnetzteil ist schon was anderes als ne
Temperaturregelung. Könnte auch für andere interessant sein und läßt sich
dann leichter finden. ;)

Wenn du einverstanden bist, würde ich den Beitrag hier abtrennen und zu
nem eigenen Thread machen ...

Gruß
Dino
 
Na klar, kannst du machen.

Danke für die nette Begrüßung

Gruß
Snatch
 

Über uns

  • Makerconnect ist ein Forum, welches wir ausschließlich für einen Gedankenaustausch und als Diskussionsplattform für Interessierte bereitstellen, welche sich privat, durch das Studium oder beruflich mit Mikrocontroller- und Kleinstrechnersystemen beschäftigen wollen oder müssen ;-)
  • Dirk
  • Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  •  Registriere dich

User Menu

 Kaffeezeit

  • Wir arbeiten hart daran sicherzustellen, dass unser Forum permanent online und schnell erreichbar ist, unsere Forensoftware auf dem aktuellsten Stand ist und der Server regelmäßig gewartet wird. Auch die Themen Datensicherheit und Datenschutz sind uns wichtig und hier sind wir auch ständig aktiv. Alles in allem, sorgen wir uns darum, dass alles Drumherum stimmt :-)

    Dir gefällt das Forum und unsere Arbeit und du möchtest uns unterstützen? Unterstütze uns durch deine Premium-Mitgliedschaft!
    Wir freuen uns auch über eine Spende für unsere Kaffeekasse :-)
    Vielen Dank! :ciao:


     Spende uns! (Paypal)